Part of the SMS Homebrew project is what I call the Burner. This is the module which will connect to the PC on one end and to a blank SMS Cartridge on the other end. As a first milestone, I wanted to be able to dump a cartridge's contents with my Burner hardware (i.e. dump the ROM). Reading the ROM data is important, even when writing to cartridges because we'll need to verify that the write operation was completed successfully. I have been writing code on and off for about 2 weeks in my spare time (I do have a day job!). Today I was ready to connect an official Master System game to the Burner and attempt to read its contents. After several stupid bugs (as is always the case) I got the code working. The game I worked with was Alien Syndrome, it uses the Sega Mapper. Most games only map through Slot 2 (0x8000) and thus the Burner plays it safe by only using Slot 2 for mapping. I read out the ROM in 4KB chunks because this is the sector size of the Flash chips I will be using on the blank cartridges. In the screenshot to the right, you see a HEX edit with "Alien Syndrome.sms" compared to my debugger window showing my dataout[] buffer containing the first few bytes of that ROM. Success! I managed to read the entirety of Alien Syndrome through Slot 2 and successfully compared my dump to the ROM I had on hand! N.B. Some SMS rom dumps have an additional 512 byte header which is not part of the ROM. |
Home > Lab Updates and Posts >





