How sonic 3 save feature works?
How sonic 3 save feature works?
If I do not go wrong, normally, games take advantage of the 2 higher megabytes for saving feature. This is how does it work in sonic 3?
Is it a serial or parallel memory? (I have read both!)
But then, how does it work when connected to the Knuckles cartridge? Knuckles cart maps sonic 3 to 2-4MB space but, does it change how save feature work too?
(i'm not interested in ramtron technology but how the logic works)
Thanks in advance!
Is it a serial or parallel memory? (I have read both!)
But then, how does it work when connected to the Knuckles cartridge? Knuckles cart maps sonic 3 to 2-4MB space but, does it change how save feature work too?
(i'm not interested in ramtron technology but how the logic works)
Thanks in advance!
Last edited by eteream on Wed Mar 24, 2010 12:13 am, edited 2 times in total.
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
Sonic3 has a bit more going on in the save memory management hardware... The memory is only enabled when the access is in the first 1KB (A9 is tied into the chip enable logic), most games use 8KB, 16KB or maybe even 32KB memories, and they want to see all the memory at once which they won't be able to in Sonic3 cart. The FeRAM is 4KBytes in size in sonic3, but only first KByte is seen.
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
Its at $200000 because most ROMs were never over 2Mbytes and you only needed single quad NAND chip to handle address decoding.
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
Yep! The largest power of two needs the least decoding, and for the 4MB rom space, that would be 2 MB. That's why larger roms use the write 1 to $A130F1 trick - just latch that with a single flip-flop and AND it with that single address line to make the new sram select.TmEE co.(TM) wrote:Its at $200000 because most ROMs were never over 2Mbytes and you only needed single quad NAND chip to handle address decoding.
Where resides the hardware to change the logic of the 2-4MB area, on the machine or in the cart board? For a common model...
I mean, where is located physically register 0xA130F1 in the MD or in the cartridge?
I mean, where is located physically register 0xA130F1 in the MD or in the cartridge?
A patched version of Megaman.Chilly Willy wrote:Which game was it? Some games use their own custom hardware rather than SEGA's "standard".
-
- Very interested
- Posts: 2440
- Joined: Tue Dec 05, 2006 1:37 pm
- Location: Estonia, Rapla City
- Contact:
There is one strobe on cartslot (pin B31) which is pulsed when $A130xx area is accessed, with that pulse, the first bit of the databus is latched into the flipflop. Flipflop output controls a simple address decoder. All saves realted stuff is on the cart, there's nothing in MD.eteream wrote:Where resides the hardware to change the logic of the 2-4MB area, on the machine or in the cart board? For a common model...
I mean, where is located physically register 0xA130F1 in the MD or in the cartridge?
Mida sa loed ? Nagunii aru ei saa
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
http://www.tmeeco.eu
Files of all broken links and images of mine are found here : http://www.tmeeco.eu/FileDen
-
- Very interested
- Posts: 2984
- Joined: Fri Aug 17, 2007 9:33 pm
What he said. While the "official" address is $A130F1, most folks probably don't match the exact address - like with S3, they just look for the strobe since that one "register" is the only one they care about... the only one written inside the game.TmEE co.(TM) wrote:There is one strobe on cartslot (pin B31) which is pulsed when $A130xx area is accessed, with that pulse, the first bit of the databus is latched into the flipflop. Flipflop output controls a simple address decoder. All saves realted stuff is on the cart, there's nothing in MD.eteream wrote:Where resides the hardware to change the logic of the 2-4MB area, on the machine or in the cart board? For a common model...
I mean, where is located physically register 0xA130F1 in the MD or in the cartridge?
-
- Very interested
- Posts: 745
- Joined: Sat Dec 15, 2007 7:49 am
- Location: Kazakhstan, Pavlodar
Yeah. It is all about simplicity of hardware. And in the case of hardware, simpler means cheaper. Genesis (or Megadrive) has own address decoder, and for addresses range of $A13000..$A130FF it generate chip select strobe at B31 pin of cartrige slot. And don't forget development DRAM cartrige (wich mentioned in Segatech document), wich use same B31 strobe (marked as !TIME signal on famous schematics) for block write to ROM area and other functions. I think, exact address $A130F1 was selected for compatibility with that DRAM development cartrige.Chilly Willy wrote:What he said. While the "official" address is $A130F1, most folks probably don't match the exact address - like with S3, they just look for the strobe since that one "register" is the only one they care about... the only one written inside the game.TmEE co.(TM) wrote:There is one strobe on cartslot (pin B31) which is pulsed when $A130xx area is accessed, with that pulse, the first bit of the databus is latched into the flipflop. Flipflop output controls a simple address decoder. All saves realted stuff is on the cart, there's nothing in MD.eteream wrote:Where resides the hardware to change the logic of the 2-4MB area, on the machine or in the cart board? For a common model...
I mean, where is located physically register 0xA130F1 in the MD or in the cartridge?
OK I understand. Thanks!
Some time ago I read a paper of saturn or segaCD (I don't remember) where it said how to do things like this, where there are several solutions for a case between hardware and software. The idea was to be backwards compatible. Doing things only in one way you can save, either on a emulation or/and hardware solution when you make the new generation console or any other future solution (so you can save code/"cpu speed" and/or hardware).
Also, it helps testing (NTSC->PAL, new revision, ...) with automated detections/procedures.
UPDATE:
I put a ROM with the same saving code into a "J League Pro Striker Perfect Edition" board and works perfect.
This board also uses a RAMTRON chip but only has a unique multiplexer (m74ch00b1 like chip), so I guess there is something more on a Sonic 3 board.
Some time ago I read a paper of saturn or segaCD (I don't remember) where it said how to do things like this, where there are several solutions for a case between hardware and software. The idea was to be backwards compatible. Doing things only in one way you can save, either on a emulation or/and hardware solution when you make the new generation console or any other future solution (so you can save code/"cpu speed" and/or hardware).
Also, it helps testing (NTSC->PAL, new revision, ...) with automated detections/procedures.
UPDATE:
I put a ROM with the same saving code into a "J League Pro Striker Perfect Edition" board and works perfect.
This board also uses a RAMTRON chip but only has a unique multiplexer (m74ch00b1 like chip), so I guess there is something more on a Sonic 3 board.