SNES Emulator on the DS

Discussion in 'Nintendo Game Development' started by Piglet, Aug 21, 2009.

  1. Piglet

    Piglet Spirited Member

    Joined:
    May 28, 2008
    Messages:
    175
    Likes Received:
    0
    Unlike the PC emulators which rendered an entire frame and double (or triple) buffered, a DS emulator could actually emulate the hardware in realtime. The SNES had a Sony daughterboard for audio, so you can use the 33MHz ARM7. HDMA can be emulated using HBlank interrupts (again, maybe on ARM7?)
    The tile format can be emulated as can all the modes.
    The only pure software emulation would be CPU 65c816 instruction decode and since that has so few registers, ARM registers can be matched up. I mean, you have:

    A - 8/16 bit accumulator
    X - 8/16 bit index register
    Y - 8/16 bit index register.
    SP - 8/16 bit stack pointer.
    P - processor status (flags).
    D - page register.

    DBR & PBR won't be changed THAT often so they don't need reserved registers.

    The BIG issue is that the SNES has a 256 x 224/239 screen (or, at least, nearly all games use that) and the DS has a 256 x 192 screen. A simple workaround is to change the Y-scroll offsets on each line to squash the image down (although it may look poor).

    All 8 of the video modes can be emulated in hardware by the DS.

    For audio, the SNES has a Sony SPC 700 (very similar to a 6502), a simple 8-bit CPU with 64K shared code, FIR and sample space.

    I am still working all this stuff out, but do you folks thing it will work?
     
  2. TmEE

    TmEE Peppy Member

    Joined:
    Aug 13, 2008
    Messages:
    362
    Likes Received:
    1
    HW does most of the work for you so there should not be any issues emulating things, 66MHz is not too little power, and you have another CPU which can work out all audio stuff too.
     
  3. Piglet

    Piglet Spirited Member

    Joined:
    May 28, 2008
    Messages:
    175
    Likes Received:
    0
    I guess I can start with a 65816 emulator & code 'traps' for all hardware reads & writes.
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page