MyDS is my very own custom Nintendo DS emulator for Windows.
I wanted to challenge myself in C++ and in something very challenging. WELL I AM SERVED.
I wanted to do something like this without looking at the source code of famous opensource DS emulator.
I've actually seen two lines of MelonDS, pretty sure the challenge is ruined...
- Download Visual Studio 2022 Community
- Clone this repo
- Open the folder with VS2022
- Cry / Laugh
This emulator is not in a working state.
If you want a proper DS emulator, use MelonDS, DeSmuMe or no$gba.
- CPU emulation : WIP (10% - very basic instruction set implemented)
- Instruction cycles are running at 22MHz max for ARM9... performance improvement will be necessary at some point
- Display - basic color framebuffer : TBD
- Input - buttons & touchscreen : TBD
Contribution are not expected on this project for the moment.
At some point, issues will be read for people to give advice on implementation, but that's probably all as this project is more of an education for me.
- Rodrigo Copetti's articles on the GBA and NDS architectures
- Martin Korth's Technical references for GBA/NDS/DSI/3DS from (he is the no$gba developer)
- Tobias Langhoff's CHIP-8 emulator guide
- ARMv5 architecture reference for the CPU instructions set
For testing, I am (or will be) using :
- no$gba debug version for developpers : https://www.nogba.com/no$gba-download.htm
- TinyNDS : the smallest NDS file for testing
- Atem2069's fixed version of Armwrestler (original version here) : test rom for ARM instructions set, with a version for NDS
- RockPolish's Rockwrestler : another NDS test rom for ARM instructions set