Fou0ad0bk /
Mini_games
๐ฎ A curated collection of classic mini-games built from scratch using C#. Simple, modular, and fun!
49/100 healthLoading repository dataโฆ
amyanger / repository
๐ฎ A from-scratch Nintendo DS emulator in C++20 โ targeting Pokรฉmon HG/SS, DPPt, BW/BW2 โ with first-class Apple Silicon support
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
A from-scratch Nintendo DS emulator written in C++20
A solo project to build a Nintendo DS emulator from scratch in modern C++. The primary target is Pokรฉmon HeartGold / SoulSilver, with full compatibility goals for the rest of the Gen 4 and Gen 5 Pokรฉmon DS lineup:
The DS isn't "GBA + more" โ it's a fundamentally different machine, so the architecture starts from scratch:
Bus object modeling its view of memory.scheduler.run_until(t) โ no scanline-chunk loop, no per-subsystem clocks.is_main flag โ four BG modes, sprite engine, windowing, blending, master brightness.Frame3D hand-off struct โ software rasterizer, with post-processing passes for edge marking, fog, and toon/highlight. The door is deliberately left open for a hardware backend later.VRAMCNT writes.ds_core (platform-free), ds_frontend (the only SDL-aware code), and ds_emulator (the binary). Unit tests link ds_core only โ no SDL, no window.brew install sdl2 (macOS) / apt install libsdl2-dev (Linux)brew install cmake / apt install cmakeThat's it. SDL2 is the only runtime dependency.
git clone https://github.com/amyanger/ds-emulator.git
cd ds-emulator
mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make
./ds_emulator <rom.nds> # boot a ROM
./ds_emulator <rom.nds> --scale 3 # 3x window scale
ROMs go in roms/. Saves are written to saves/<game_code>.sav automatically. No BIOS or firmware required.
cd build
ctest --output-on-failure
Unit tests link against ds_core only โ no SDL, no window, runs in milliseconds.
First-class build target. Optional optimized build flag enables arm64-specific tuning:
mkdir -p build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DDS_TARGET_APPLE_SILICON=ON
make
When enabled, this turns on:
-mcpu=apple-m1 clang tuningQOS_CLASS_USER_INTERACTIVE thread attribute (keeps the emulator off efficiency cores)The default build stays portable across macOS arm64, macOS x86_64, Linux, and Windows. Apple-specific code is confined to src/frontend/platform/macos.cpp and src/gpu3d/simd_neon.cpp โ nothing else uses #ifdef __APPLE__.
| NDS Button | Default Key |
|---|---|
| A | Z |
| B | X |
| X | S |
| Y | A |
| Start | Enter |
| Select | Right Shift |
| L | Q |
| R | W |
| D-Pad | Arrow Keys |
| ๐ Touch | Left mouse drag |
| ๐ผ Lid open/close | L |
| ๐ค Mic (blow) | M (hold) |
Rebindable via keybinds.cfg. MFi / Xbox / DualSense controllers auto-detected via SDL2.
| Key | Action |
|---|---|
| F1 | Dump both CPUs' state to stderr |
| F2 | Toggle ๐ฉป X-Ray debug overlay |
| F3 | Step one instruction |
| F4 | Step one scanline |
| F5 | Step one frame |
| F6 | Toggle ARM9 instruction trace |
| F7 | Toggle ARM7 instruction trace |
| F8 | Dump main RAM |
| F9 | Dump VRAM (all banks) |
| F10 | Save state |
| F11 | Load state |
| Tab | Cycle X-Ray overlay pages |
| Esc | Quit |
ds-emulator/
โโโ ๐ docs/specs/ โ Design spec (source of truth)
โโโ ๐ ๏ธ cmake/ โ Build helpers
โ โโโ CompilerWarnings.cmake
โ โโโ AppleSilicon.cmake
โ โโโ Sanitizers.cmake
โโโ ๐ฆ include/ds/ โ Cross-cutting types
โ โโโ common.hpp
โ โโโ fixed.hpp โ templated Fixed<I, F>
โ โโโ ring_buffer.hpp โ CircularBuffer<T, N>
โโโ โ๏ธ src/
โ โโโ main.cpp โ Entry point
โ โโโ nds.hpp / nds.cpp โ Top-level system
โ โโโ scheduler/ โ Min-heap event scheduler
โ โโโ cpu/
โ โ โโโ arm9/ โ ARMv5TE core
โ โ โโโ arm7/ โ ARMv4T core
โ โ โโโ bios/ โ HLE SWI handlers
โ โโโ bus/ โ ARM9 + ARM7 bus page tables
โ โโโ memory/vram/ โ 9-bank VRAM controller
โ โโโ ppu/ โ 2D engines (main + sub)
โ โโโ gpu3d/ โ 3D geometry + rasterizer
โ โโโ spu/ โ 16-channel sound processor
โ โโโ dma/ timer/ ipc/ interrupt/ โ Supporting hardware
โ โโโ cartridge/ โ Slot-1 bus + KEY1 + saves
โ โโโ frontend/ โ SDL2 โ only place SDL is allowed
โ โโโ xray/ โ In-emulator debug overlay
โโโ ๐งช tests/ โ Unit tests (link ds_core only)
The full architecture spec lives at docs/specs/2026-04-12-nds-emulator-design.md โ 16 sections covering every subsystem.
The references that made this project possible:
This project does not distribute any Nintendo intellectual property:
Direct boot is implemented from publicly documented hardware behavior. Users supply their own legally obtained ROMs of games they own. Pokรฉmon, Nintendo DS, and all related trademarks belong to Nintendo / The Pokรฉmon Company / Game Freak.
Built standing on the shoulders of giants: the GBATEK authors who reverse-engineered the DS hardware, the melonDS and DeSmuME teams for showing what's possible, and the gbadev / nds-dev homebrew communities for keeping the knowledge alive.
Selected from shared topics, language and repository descriptionโnot editorial ratings.
Fou0ad0bk /
๐ฎ A curated collection of classic mini-games built from scratch using C#. Simple, modular, and fun!
49/100 healthahmadraza2730 /
๐ฎ A C++ remake of the classic Tumble Pop arcade game โ built as a semester Programming Fundamentals project. Features core gameplay mechanics, collision detection, and level logic implemented from scratch.
55/100 healthnumanamjad406 /
๐ฎ Console N-in-a-Row in C++ from scratch! Custom grid size, configurable win count, mouse-click input, smart AI (wins, blocks, falls back). Built with Windows API โ colors, boxes & cursor control. Human vs Computer. No libraries. Pure C++. ๐
mousliiim /
A 3D game created from scratch written in C using an old small graphic library MiniLibX, presented with an old technology RayCasting to make the 3D ๐ฎ๐ง With my mate @alvinouille ๐ฉ๐ป๐ง๐ปโโ๏ธ
27/100 healthrvngr09 /
๐ฎ A Very Interesting Game โ Built in C with SDL2 A fun and interactive 2D game developed in pure C using the SDL2 library. This project demonstrates real-time rendering, event handling, animations, and game logic โ all built from scratch with a clean and modular architecture.
34/100 healthtak-shuja /
๐ A simple CHIP-8 emulator written in C using SDL2. ๐ง Built from scratch as a solo learning project โ no external libraries (except SDL2), minimal references, pure grind. ๐ฎ Loads and runs original CHIP-8 ROMs with accurate display, input handling, and core instructions.
37/100 health