DS emulator, sorta
Go to file
StapleButter ebdc9e5442 * fix missing 3D line
* make lighting calculations accurate
* BLDCNT reading
2017-03-16 00:07:36 +01:00
.gitignore remove unneeded files. will stop melonDS.depend from polluting commit diffs. 2017-03-04 20:46:58 +01:00
ARM_InstrTable.h blarg 2017-02-01 00:31:23 +01:00
ARM.cpp fix a bunch of GXFIFO related bugs. 2017-02-17 18:59:11 +01:00
ARM.h emulate DMA timings. 2017-02-17 05:33:37 +01:00
ARMInterpreter_ALU.cpp make NEG update flags correctly (oops). 2017-03-06 18:13:57 +01:00
ARMInterpreter_ALU.h * implement the last missing instructions. QADD is not good according to ARMWrestler, but it doesn't make sense. TODO: investigate. 2017-01-31 18:41:31 +01:00
ARMInterpreter_Branch.cpp start refactoring shit: more accurate timing and way of counting cycles. 2017-01-30 18:36:11 +01:00
ARMInterpreter_Branch.h start refactoring shit: more accurate timing and way of counting cycles. 2017-01-30 18:36:11 +01:00
ARMInterpreter_LoadStore.cpp * fix 'STMxx with base register included in register list' when base register is banked. 2017-02-05 16:50:20 +01:00
ARMInterpreter_LoadStore.h start refactoring shit: more accurate timing and way of counting cycles. 2017-01-30 18:36:11 +01:00
ARMInterpreter.cpp start refactoring shit: more accurate timing and way of counting cycles. 2017-01-30 18:36:11 +01:00
ARMInterpreter.h start refactoring shit: more accurate timing and way of counting cycles. 2017-01-30 18:36:11 +01:00
CP15.cpp better save support. not hardcoded filename, support for non-tiny EEPROM and Flash, attempt at autodetecting the right memory type. 2017-02-03 16:57:31 +01:00
CP15.h move TCM shit to CP15.cpp. closer to the real thing (for example now DMA can't access TCM, etc). 2017-01-30 19:11:29 +01:00
DMA.cpp * fixes to GXFIFO IRQ. refine IRQ support a bit. 2017-03-03 00:48:26 +01:00
DMA.h emulate DMA timings. 2017-02-17 05:33:37 +01:00
FIFO.h GXFIFO finished. hacktastic integration into the ARM9 loop. 2017-02-08 00:52:37 +01:00
GPU2D.cpp * fix missing 3D line 2017-03-16 00:07:36 +01:00
GPU2D.h fix behavior for rotscale BG reference points 2017-03-04 02:22:58 +01:00
GPU3D_Soft.cpp * fix missing 3D line 2017-03-16 00:07:36 +01:00
GPU3D.cpp * fix missing 3D line 2017-03-16 00:07:36 +01:00
GPU3D.h fix alphatest. alphablending. 2017-03-15 15:53:36 +01:00
GPU.cpp * fixes to GXFIFO IRQ. refine IRQ support a bit. 2017-03-03 00:48:26 +01:00
GPU.h textures. 2017-03-02 00:49:44 +01:00
main.cpp temp. hack preventing evil out-of-bounds write 2017-03-04 15:34:07 +01:00
melonDS.cbp base for software renderer 2017-02-10 16:50:26 +01:00
NDS.cpp proper clear-plane support, including bitmap mode 2017-03-07 01:13:00 +01:00
NDS.h * fixes to GXFIFO IRQ. refine IRQ support a bit. 2017-03-03 00:48:26 +01:00
NDSCart.cpp * fixes to GXFIFO IRQ. refine IRQ support a bit. 2017-03-03 00:48:26 +01:00
NDSCart.h well, GX FIFO base. noting that for now, it doesn't do much beyond getting full real quick. 2017-02-07 23:31:21 +01:00
README.md start work on polygon edges and shit 2017-03-13 00:45:26 +01:00
RTC.cpp * lay base for 3D engine 2017-02-07 22:23:46 +01:00
RTC.h * lay base for 3D engine 2017-02-07 22:23:46 +01:00
SPI.cpp * fixes to GXFIFO IRQ. refine IRQ support a bit. 2017-03-03 00:48:26 +01:00
SPI.h * lay base for 3D engine 2017-02-07 22:23:46 +01:00
types.h christ. CodeBlocks is retarded. 2016-12-23 21:22:22 +01:00
Wifi.cpp some more crap emulated. 2016-12-06 17:32:51 +01:00
Wifi.h some more crap emulated. 2016-12-06 17:32:51 +01:00

melonDS

DS emulator, sorta

the goal is to do things right and fast, akin to blargSNES (but hopefully better)

but also to have fun coding this shit

LOVE MELONS

NO ASKING ROMZ!! ILLEGAL

license is GPL. don't steal the code.

how to use:

melonDS requires BIOS/firmware copies from a DS. Files required:

  • bios7.bin, 16KB: ARM7 BIOS
  • bios9.bin, 4KB: ARM9 BIOS
  • firmware.bin, 256KB: firmware

note: the DS-mode firmware in the 3DS isn't bootable, it only contains the bare minimum to run games.

ROM filename is currently hardcoded, check NDS.cpp for the required filename. this will eventually be addressed.

TODO LIST

  • sorta-UI (ie not hardcode ROM name)
  • 3D engine
  • sound
  • wifi
  • other non-core shit (debugger, graphics viewers, cheat crapo, etc)

IMMEDIATE TODO LIST (prior release 1.0)

  • UI
  • some polish to the 3D engine
  • make timers suck less

TODO LIST FOR LATER

  • sound
  • more 3D engine features
  • hardware renderer for 3D
  • wifi
  • maybe emulate flashcarts or other fancy hardware
  • big-endian compatibility (Wii, etc)
  • LCD refresh time (used by some games for blending effects)