Page 1 of 6

ROM Emulation

Posted: Thu Dec 11, 2008 10:56 pm
by Graz
I want to share something that I've been toying with for a few days that I finally got working today. I picked up a ROM emulator off eBay for about $80 and have been building my own target cables for Genesis. The emulator I got was a PromICE P2160-35 and contains 4 megabytes of SRAM. It can emulate a 2Mx16 ROM. Here's a few pics of the setup:

Image

Image

Image

The target cable is made from a couple of floppy cables and an sacrificial cartridge. Code is downloaded from the PC via parallel port at about 100K per second. You don't need to remove the cable from the console during download and it is not necessary to turn off the power to the Genesis. Although it will crash during download, hitting the reset button brings everything back to life.

Before this, I was using MoD's download cable with a Sega CD to test on hardware. With this, I am able to download and run real ROMs. This is faster and more convenient than a flash cart in my opinion. So far, every image I have tried has worked, including larger images. This doesn't support banking or backup RAM, but aside from that it seems to be fully functional.
I've seen these ROM emulators floating around on eBay and elsewhere since I got mine. I'd say it's well worth the investment if you want to run code on real hardware and test regularly.

Posted: Fri Dec 12, 2008 1:15 am
by Snake
Nice. How much did it cost you?

I really need some way of running tests on a real Pico...

Posted: Fri Dec 12, 2008 1:30 am
by Graz
Snake wrote:Nice. How much did it cost you?
As I mentioned, I picked up the PromICE for about $80 Canadian a while back. That plus a few cables, connectors and several hours of work got the job done. The ROM emulator is about 10 years old and would have been extremely expensive (100's or 1000's) when new. The company that made this one (Grammar Engine Inc.) looks like it went out of business, so you'd be looking for surplus and other used electronics places. You could probably get the whole lot for $100 to $200. Just make sure you get a unit that can emulate 16-bit ROMs correctly.

Posted: Fri Dec 12, 2008 3:38 am
by HardWareMan
Using COM port based link is not clever. Even at 115k speed uploading 4MBytes is very long. While I using LPT I get 500Kbytes/s minimum. Typical I upload 4Mbytes in device in 4-5 seconds. If I use some logic and implement EPP or even ECP protocol into my device, I guess I get up 1,5Mbytes/s speed in ECP DMA mode (as sayed in IEEE1284 drafts).
Anyway, for development tasks this device is better than FLASH ROM and sure it is better than nothing.

Posted: Fri Dec 12, 2008 1:31 pm
by Graz
HardWareMan wrote:Using COM port based link is not clever. Even at 115k speed uploading 4MBytes is very long.
Graz wrote:Code is downloaded from the PC via parallel port...
The device uses serial and parallel ports together, serial for control and parallel for data transfer. As I said, it seems to download at around 100K bytes per second. It may be faster - I haven't benchmarked it - it just seems pretty quick. Small ROMs (< 100kB home-brew) load almost instantly, larger commercial ROMs take just a few seconds. In any case, it's significantly faster than the SegaCD + parallel download cable I was using before. That coupled with the fact that I don't have to pop the cart into a burner, erase, program, and put it back in the Genesis on each cycle will be very convenient.
HardWareMan wrote:If I use some logic and implement EPP or even ECP protocol into my device...
Do I understand that you've built your own ROM emulation system? Care to post details?

Posted: Sat Dec 13, 2008 9:01 am
by HardWareMan
Graz wrote:Do I understand that you've built your own ROM emulation system? Care to post details?
What you confused? Creating ROM emulator is not really a challenge. You take the RAM, unleashes with buffer address and data buses between the target device and control logic. That's all. The rest is software task.
Actually, it was a device to many tasks, emulation ROMs and dumping including.

Posted: Sat Dec 13, 2008 8:22 pm
by Graz
HardWareMan wrote:Actually, it was a device to many tasks, emulation ROMs and dumping including.
Sounds interesting. Here's a flash programmer/ROM dumper I made.
Image
This uses USB. I'm not a fan of parallel port stuff because if you get something wrong, you can damage the port, which is often part of the motherboard. Plus, many new PCs don't have parallel ports (my main dev PC does not). For this gadget, I used a DLP-2232M USB module from here. You can see it at the top of the board. The large orange thing is a ZIF socket. I don't use it any more because I got a TOP2048 programmer, which also handles PLDs, EPROMS with high programming voltages and so on. The TOP2048 can handle 16-bit flash devices, so I was thinking about building an adapter to allow a Genesis cart to be plugged into the DIP socket on the programmer. Honestly, though, I'm not too interested in dumping any of the carts I have because there's verified good dumps floating around the internet already if I really need an image.

Posted: Tue Dec 16, 2008 10:12 am
by TmEE co.(TM)
nice programmer/dumper :)

Here's mine : http://www.hot.ee/tmeeco/DWNLOADS/MPCPSHIT.RAR
Ultr@ slow but I still use it nearly every day (takes 6 minutes to fully program a 32Mbit flashcart).

Posted: Tue Dec 16, 2008 7:42 pm
by HardWareMan
My FLASH cartrige take 4 minutes to erase, write and verification an 32Mbit file. It can be more optimized and speed up at least 40%-50%. But I to lazy to do it and busy for now.
Image
Image

Posted: Wed Dec 17, 2008 12:49 am
by Graz
That looks very nicely made. You made that yourself? If so, that's pretty impressive. Who manufactured the PCB for you? I see that the flash is on the back. What's the FRAM for? Also, I can see a USB-OTG connector on the top. Is this device programmed over USB, or do you have to plug it into a programmer?

Posted: Wed Dec 17, 2008 11:24 am
by HardWareMan
Graz wrote:That looks very nicely made. You made that yourself? If so, that's pretty impressive. Who manufactured the PCB for you? I see that the flash is on the back. What's the FRAM for? Also, I can see a USB-OTG connector on the top. Is this device programmed over USB, or do you have to plug it into a programmer?
That is was cooperative project. I with my friend build this cart for playing MD games on real hardware. It is contained FLASH ROM 32Mbits (2x16Mbits) and 32Kbits FRAM for saved games. No more need these lithium batteries. ;) PCB is factory maded, but 3 prototypes was builded by hand. That is was nightmare. ;) But device is working. Just attach it to PC and with special programm you can read/write the ROM and/or FRAM.

Posted: Wed Dec 17, 2008 12:42 pm
by TmEE co.(TM)
Your flashcart looks really great. You could make quite nice money with it, as people are dying to get USB flashcarts :)

Posted: Wed Dec 17, 2008 4:38 pm
by HardWareMan
TmEE co.(TM) wrote:Your flashcart looks really great. You could make quite nice money with it, as people are dying to get USB flashcarts :)
I sold it exactly enough to justify the manufacture of printed circuit boards at the plant and part of ICs. I am not interested in material gain.
PS PCB of FLASH cart designed to insert a standard plastic shell of any cartridge. ;)

Posted: Wed Dec 17, 2008 11:49 pm
by Nemesis
You have a working USB flashcart for the Mega Drive? Just tell me where to send the money. I don't care about any "frills". If I can load a single ROM onto the cart, and it's programmable via USB, I'm sold.

Posted: Thu Dec 18, 2008 12:10 am
by Snake
Holy crap.
Nemesis wrote:You have a working USB flashcart for the Mega Drive? Just tell me where to send the money. I don't care about any "frills". If I can load a single ROM onto the cart, and it's programmable via USB, I'm sold.
Ditto :)