62 lines
3.3 KiB
Markdown
62 lines
3.3 KiB
Markdown
# Glossary
|
|
|
|
This glossary defines the key terms used throughout the NekoBoy project. It exists to ensure consistency and to help newcomers (and AI assistants) quickly understand the terminology.
|
|
|
|
## Core Project Terms
|
|
|
|
**NekoBoy**
|
|
The full name of the handheld gaming console. It is a pocketable, open-source, cartridge-based 2D system focused on emotional experiences, beautiful music, and developer accessibility.
|
|
|
|
**NekoTracker**
|
|
The music creation tool for the platform. It exists in two main forms:
|
|
- **Desktop version**: Runs on PC with full features.
|
|
- **Hardware version**: Runs on the NekoBoy console (as a cartridge or loaded software) using the real PPU.
|
|
|
|
## Hardware Components
|
|
|
|
**PPU (Pixel Processing Unit)**
|
|
The graphics engine implemented in the FPGA. Responsible for rendering tiles, sprites, layers, palettes, and visual effects. Inspired by classic systems (Neo Geo / SNES) but enhanced for modern 2D development.
|
|
|
|
**APU (Audio Processing Unit)**
|
|
The sound engine implemented in the FPGA. Handles FM synthesis, PCM playback, mixing, and light post-processing effects (including lo-fi character).
|
|
|
|
**Core Abstraction Layer**
|
|
The shared software interface (written in C) that defines how games and tools communicate with the PPU and APU. This layer is the key to running the same code on both the emulator and real hardware with minimal changes.
|
|
|
|
**HyperRAM**
|
|
High-speed pseudo-static RAM used by both the CPU and FPGA. Provides large amounts of fast memory for game state, assets, framebuffers, and audio buffers.
|
|
|
|
**FMC (Flexible Memory Controller)**
|
|
The high-speed parallel bus on the STM32U575 used to communicate with the FPGA. Used for sending commands, sprites, and tile data from the CPU to the PPU.
|
|
|
|
**neko-asset**
|
|
The asset conversion tool for the project. It converts modern image files (PNG) created in tools like Pixelorama or Aseprite into formats usable by the Neko PPU.
|
|
|
|
## Software & Development Terms
|
|
|
|
**Emulator / Development Environment**
|
|
The PC software that simulates the NekoBoy hardware. It allows developers to create and test games (and run NekoTracker) on their computer before running on real hardware. It uses the Software Reference implementations of the PPU and APU.
|
|
|
|
**Software Reference PPU / APU**
|
|
The desktop implementations of the graphics and audio engines. They match the behavior of the hardware versions as closely as possible so that code written against the Core Abstraction Layer behaves consistently on both PC and hardware.
|
|
|
|
**M8-style Tracking**
|
|
The sequencer model used by NekoTracker: 8 tracks that are monophonic at the pattern level (one note per track at a time), while the instruments themselves can be internally polyphonic.
|
|
|
|
**Cartridge**
|
|
Physical game media for NekoBoy. Contains game code, assets, and save data. Uses QSPI NOR flash for ROM and FRAM for non-volatile saves.
|
|
|
|
## Other Important Terms
|
|
|
|
**STM32U575VIT6**
|
|
The main microcontroller (CPU) used in NekoBoy. Handles game logic, AI, physics, high-level control, and communication with the FPGA.
|
|
|
|
**XC7S50-2CSGA324I**
|
|
The FPGA used in NekoBoy. Implements both the PPU (graphics) and APU (audio).
|
|
|
|
**Lo-fi Features**
|
|
Optional post-processing effects in the APU (random pitch flutter, gentle bit-depth reduction, and vinyl-style crackle) to give music a warm, nostalgic character.
|
|
|
|
---
|
|
|
|
*This glossary should be updated whenever new important terms are introduced.*
|