Home | Forums | What's new | Resources | |
Adding DRAM to the Genesis |
cgfm2 - Jan 16, 2006 |
Chilly Willy | Jan 21, 2006 | |||
You can get 2Mx16 static RAM chips for less than $10. Don't bother with DRAM. |
Chilly Willy | Jan 21, 2006 | |||
Well, the TC55VEM416AXBN from Toshiba is 1Mx16, fully static, and TTL compatible. A number of companies list it, but say "call for a quote," so it's probably a lot more than PSRAMs. The Toshiba TC51WHM516AXBN is a PSRAM 2Mx16 part. It's also TTL compatible. |
Pinchy | Jan 22, 2006 | |||
Heres some readings of the signals off the expansion port. http://www.crazynation.org/SEGA/Genesis/Files/MyLa... GEN_ALL2.mla is the best example and was taken during streets of rage2. Use the mouse wheel to zoom in and out of the data , right click and drag etc.. Looks like CAS0 is actually RAS and CAS2 is column. I didnt ever see it do a CBR style refresh though. Doesnt VRAM share the same bus as the rest of system memory? Look like theres some instances in the capture where VDP does some DMAesque bus operations. So it looks like you would only need to use CAS0 (ras) and CAS2 and you would be done, except I dont know about if refresh is taken care of. Using SRAM of course would be easy but no fun, HARD way = FUN way. |
cgfm2 | Jan 23, 2006 | |||||||
VRAM is on a separate bus, but I agree that some of the funkier bus activity is probably due to DMA.
There's a DRAM 'control' register, maybe for enabling refresh. Writing $0100 to $A11000 turns it on, IIRC. Would be interesting to see how CAS0/CAS2 react with this bit set. I would imagine it's off by default, since the VDP probably delays /DTACK during refresh which would slow down the 68000. That said, I should do some timing tests on a Genesis and see if any noticable change happens in execution speed when the DRAM control register is off or on. Maybe with it on, you'd see CBR refresh or something similar. |
ExCyber | Jan 24, 2006 | |||
Pinchy, are your AS, CE0, CAS0 and CAS2 waveforms showing logical levels or physical levels? |
ExCyber | Jan 24, 2006 | |||
After looking at Pinchy's LA capture, I'd say it looks like: 1) Timings for /CAS0 and /CAS2 are consistent with /RAS and /CAS respectively (as Pinchy previously mentioned; just concurring and mentioning for completeness). 2) /CAS0 and /CAS2 are not asserted during RAM/VRAM/fill DMA 3) /AS is asserted normally during RAM/VRAM/fill DMA transfers, which should take care of the concerns I mentioned about using it to trigger refresh logic. With appropriate bank organization and /AS triggering some CAS-before-RAS refresh logic, I think you could refresh semi-nicely without the Genny generating refresh cycles. |