Cartridge Emulator?

Discussion of hardware and software development for Super NES and Super Famicom.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
Post Reply
noyen1973
Posts: 28
Joined: Sat Oct 06, 2018 10:15 am

Cartridge Emulator?

Post by noyen1973 » Sat Nov 03, 2018 12:33 pm

We have console emulators and there are devices that pretend to be cartridges using flash ram but why we don't actually have such a thing as a cartridge emulator? Is this at all possible to have something like an Arduino or Raspberry Pi loaded up with a ROM image via SD card/USB to emulate a full blown cartridge including enhancement chips?

User avatar
Fisher
Posts: 1059
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Cartridge Emulator?

Post by Fisher » Sat Nov 03, 2018 12:47 pm

I think flash cartridges do more or less that, emulate the cartridge and some mapper chips, on the NES' case.
With Raspberry Pi there's something like this that sounds like what you're asking.

tepples
Posts: 21949
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Cartridge Emulator?

Post by tepples » Sat Nov 03, 2018 12:51 pm

You don't see full software emulation of the big five coprocessors (DSP-1, CX4, GSU, SA1, S-DD1) because there's too much latency. The S-CPU expects the memory to respond within 120-200 nanoseconds, a deadline that I'd be surprised if an ARM SOC can guarantee. As far as I'm aware, only an FPGA can respond that fast.

lidnariq
Posts: 9318
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Cartridge Emulator?

Post by lidnariq » Sat Nov 03, 2018 1:08 pm

There is a ROM emulator for the Atari 2600 that just uses an ARM CPU ("Harmony Cart"). However:
1- that ARM CPU runs at 70MHz for a 1.2MHz 6502 CPU
2- that ARM CPU is using its own internal flash, rather than external RAM
3- heavier ARM CPUs (e.g. SoCs) usually have more state, and it takes time to swap state for different processes. (in other words, this can't be running under linux; it needs to be its own bare-metal program)
4- the Raspberry Pi in particular stalls regularly for many microseconds to handle DRAM refresh. This makes it wholly unsuitable to act as a ROM emulator anyway.

Oziphantom
Posts: 825
Joined: Tue Feb 07, 2017 2:03 am

Re: Cartridge Emulator?

Post by Oziphantom » Sun Nov 04, 2018 9:58 pm

It seems a Raspberry Pi 3B(+) is bare metal mode is now fast enough that it can mostly handle a 1541(II) disk drive with "cycle exact", but even then the drive doesn't have to dance on a bus so it has a little leniency. While the SNES doesn't split the Phases like say a C64, it does need 3.5MHz to which 1Mhz loose timing is a stretch, 3.5 forget it. Even then it would be bare metal so no OS which will mostly defeat why you probably want it.

Post Reply