|
ForumsSega Master System / Mark III / Game GearSG-1000 / SC-3000 / SF-7000 / OMV |
Home - Forums - Games - Scans - Maps - Cheats - Credits Music - Videos - Development - Hacks - Translations - Homebrew |
Author | Message |
---|---|
|
SG-1000/SC-3000 expanded RAM.
Posted: Tue Oct 17, 2023 10:38 am Last edited by cdoty on Tue Oct 17, 2023 6:03 pm; edited 1 time in total |
After purchasing a SC-3000 Basic III A repro PCB from EBay, I wanted to see if expanded RAM support could be added to a library I'm working on.
Looking through MAME, it's pretty easy to trick MAME into thinking a SG-1000 cartridge contains extra RAM. The Dahjee cartridges are enabled by setting the ROM size to 49152 and filling the space between $2000 and $3FFF with $FF. The Castle is probably the easiest method. At location $1CC3, you include the string "ASCII 1986". And the cartridge has to be 32k. Once I had my cartridge running through MAME and MEKA, I burned it to a 32k EPROM, and it worked. When run on a cartridge with SRAM, it will show a RAM icon in the upper right. Right now, all I do is move the stack to the end of RAM, and set a flag. Edit: Here's the board I used. https://www.pcbway.com/project/shareproject/SC_3000_Sega_Basic_Level_IIIA_e54cd768.html |
|
|
Posted: Tue Oct 17, 2023 12:51 pm |
This makes it sound like MAME has some brittle ROM detection techniques instead of properly configuring the memory map based on the identity of the ROM, which is a bit surprising. Having arbitrary ASCII at a certain address seems like an odd way to manage it. A ROM hash could be used for the set of known dumps, and homebrew presumably would need to offer some metadata to opt in to certain behaviour - although I don’t know of any standard for this. | |
|
Posted: Tue Oct 17, 2023 5:56 pm |
It does. I've had my rom detected as a Codemasters rom and an X-Terminator rom. Both break MAME, since it can't determine a "slot". |
|
|
Posted: Tue Nov 07, 2023 11:13 am |
Hi! The cartridge PCB you linked from pcbway is the same you bought from ebay? |
|