DS emulator, sorta
Go to file
twinaphex 70ec433955 Makes it compile on Linux 2017-02-08 06:54:35 +01:00
.gitignore add more crap 2016-05-16 17:48:40 +02:00
ARM.cpp GXFIFO finished. hacktastic integration into the ARM9 loop. 2017-02-08 00:52:37 +01:00
ARM.h * scheduler revamp, simpler design 2017-01-31 03:54:51 +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
ARMInterpreter_ALU.cpp * 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_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
ARM_InstrTable.h blarg 2017-02-01 00:31:23 +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 * fix 'STMxx with base register included in register list' when base register is banked. 2017-02-05 16:50:20 +01:00
DMA.h DMA support! 2017-01-18 01:33:06 +01:00
FIFO.h GXFIFO finished. hacktastic integration into the ARM9 loop. 2017-02-08 00:52:37 +01:00
GPU.cpp * lay base for 3D engine 2017-02-07 22:23:46 +01:00
GPU.h * lay base for 3D engine 2017-02-07 22:23:46 +01:00
GPU2D.cpp * lay base for 3D engine 2017-02-07 22:23:46 +01:00
GPU2D.h an attempt at shitty extended "tile+rotscale" BGs 2017-02-02 01:18:03 +01:00
GPU3D.cpp GXFIFO finished. hacktastic integration into the ARM9 loop. 2017-02-08 00:52:37 +01:00
GPU3D.h GXFIFO finished. hacktastic integration into the ARM9 loop. 2017-02-08 00:52:37 +01:00
Makefile initial port 2017-02-07 22:07:04 -05:00
NDS.cpp implement game loading 2017-02-07 23:26:15 -05:00
NDS.h * lay base for 3D engine 2017-02-07 22:23:46 +01:00
NDSCart.cpp 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
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 * lay base for 3D engine 2017-02-07 22:23:46 +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 initial port 2017-02-07 22:07:04 -05:00
SPI.h * lay base for 3D engine 2017-02-07 22:23:46 +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
libretro.cpp Makes it compile on Linux 2017-02-08 06:54:35 +01:00
libretro.h initial port 2017-02-07 22:07:04 -05:00
link.T initial port 2017-02-07 22:07:04 -05:00
main.cpp * lay base for 3D engine 2017-02-07 22:23:46 +01:00
melonDS.cbp rework FIFO crap so it can also be used for the GXFIFO crapo. 2017-02-07 22:41:33 +01:00
melonDS.depend GXFIFO finished. hacktastic integration into the ARM9 loop. 2017-02-08 00:52:37 +01:00
melonDS.layout hey look, more crap 2016-11-03 01:38:58 +01:00
types.h christ. CodeBlocks is retarded. 2016-12-23 21:22:22 +01:00

README.md

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)