Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - ROM dumps through control port UART

Reply to topic
Author Message
  • Joined: 24 Sep 2013
  • Posts: 141
Reply with quote
ROM dumps through control port UART
Post Posted: Tue Sep 27, 2016 10:02 pm
Implemented a ROM dumper that sends the ROM data to a PC using the control 2 port as an UART serial port. I succesfuly dumped my own SMS BIOS using a Silabs CP2102 USB-to-UART transceiver connected to the Master System and an XMODEM program (Teraterm).

Currently it can dump SEGA mapper ROMS (slot2) but I intend adding support for other mappers/no mapper soon. Scroll down for ROM and instructions.

ROM relocates itself to RAM on boot so you could technically (have not tested) remove the cartridge with the console powered on and dump it.

Connecting the transceiver

         CONTROL 2                   
         o o o o o                   
          o o o o                     
            | | `---PC TX (SMS RX)   
            | `-----Ground           
            `-------PC RX (SMS TX)   


Configure the ROM dump

Use the arrow keys to select either of the settings. Button A increments the value while button B changes which address/bank nibble is being incremented. Once all settings are set, select the START option and press A. Stat should say "Waiting ACK".



Configure the receiver

You will need an XMODEM receiver on the PC, this example uses Teraterm but any XMODEM client should work. Consome implementetion of XMODEM supports the more reliable CRC transmission mode.

The serial port configuration is 4800bps, 8 data bits, 1 start bit, 1 stop bit.

Receiving data with Teraterm
* Get the program.
* Configure the serial port correctly using the "Setup" > "Serial port..." menu.
* Select a file to save the dump on the "File" > "Transfer" > "XMODEM" > "Receive..."
* Select the "CRC" and "Binary" option on the file selection menu bottom.
* Click "Open"

Transfer will commence immediatly. Stat will say "Transfer (CRC)" or "Transfer (SUM)" depending on the client capabilities. CRC mode is slightly slower than Checksum mode but will provide a robust transfer error detection.

Known issues

This issues will be fixed in time, as I find a need for them, meanwhile, better know what can happen.

* A SEGA mapper is required (up to 4MB is supported)
* NMI has no valid handler so, don't press pause.
* Transfer statistics don't work
* Progress bar doesn't work
004.png (1.48 KB)
Settings menu.
004.png
005.png (1.52 KB)
Transfer ready.
005.png
Office Lens 20160927-203626.jpg (214.84 KB)
Tranfering image
Office Lens 20160927-203626.jpg
xmdump.zip (3.84 KB)
XMDump ROM

  View user's profile Send private message Visit poster's website
  • Joined: 14 Aug 2000
  • Posts: 742
  • Location: Adelaide, Australia
Reply with quote
ROM dumps through control port UART
Post Posted: Wed Sep 28, 2016 3:02 pm
Nice.

The 'removing the cartridge with the console powered on' part doesn't really work too well.

If you were to put the program on a card then you could use a SMS 1 to dump cartridges by powering on the console with both the card and cartridge inserted. The card is higher in the boot order than the cartridge.
  View user's profile Send private message
  • Joined: 10 May 2015
  • Posts: 23
Reply with quote
Post Posted: Thu Dec 01, 2016 12:49 pm
Great work!
Do you have plans to make something similar to Mega Drive/Sega Genesis?
  View user's profile Send private message
  • Joined: 24 Sep 2013
  • Posts: 141
Reply with quote
Post Posted: Thu Dec 01, 2016 5:30 pm
I can't load ROMs on the Megadrive ATM since I don't have a flash cart for it. If the Megadrive can have access to the pins on the controller pad I see no reason why it wouldn't work. The added power of the 64K would allow for faster IO as well.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14745
  • Location: London
Reply with quote
Post Posted: Thu Dec 01, 2016 9:12 pm
Such a thing exists in CD form, all the better for people without flashcarts. http://www.retrodev.com/transfer.html
  View user's profile Send private message Visit poster's website
  • Joined: 10 May 2015
  • Posts: 23
Reply with quote
Post Posted: Thu Dec 01, 2016 11:56 pm
I've seen that before, and seems very cool too.
But infortunatelly I don't have a Sega CD, and the price tag around me is just atrocious, as the import taxes :-(
  View user's profile Send private message
  • Joined: 30 Jun 2016
  • Posts: 196
  • Location: Melbourne, Australia
Reply with quote
Post Posted: Fri Dec 02, 2016 1:11 am
Cartridges take boot priority over the SEGA CD, or any other expansion slot accessory. You'll need to somehow turn on the cart slot after the CD has booted up.

Interestingly, you might have luck by building a powerbase converter for the Mega Drive's expansion slot, and booting a flashcart from the cartridge slot, and dumping using that.

Of course, that does still require some financial expenditure.
  View user's profile Send private message Visit poster's website
  • Joined: 10 May 2015
  • Posts: 23
Reply with quote
Post Posted: Fri Dec 02, 2016 9:37 am
So, I can try booting your rom from a memory plugged at the expansion port?
I asked the author of the SegaCD program I'd that would be possible with his binary file and him told me that not, because the 68k needs initialization.
Maybe the init code can be added to his program, since the source is available, but I have no idea how to make it or where to start to learn.
  View user's profile Send private message
Reply to topic



Back to the top of this page

Back to SMS Power!