[Coco] GIME Chip Registers and the ultimate repack
jdaggett at gate.net
jdaggett at gate.net
Tue Aug 3 21:26:02 EDT 2004
hello
After seeing a few repacks of COCO3's I started mulling over an idea of repacking
and modernizing the coco a bit. I have started coding some VHDL code to do the
GIME chip in an FPGA. So far the MMU is coded and syntesized and directly
addresses 2 megs of ram. The datram is a 16x8 and not the 16x6 currently used.
Looks like the MMU can run at 40 MHz with no problem. The plan is to use fast
SRAM for my repack. 512Kx8 20nS SRAM are relatively cheap, under $10 each.
512Kx8 70nS SRAMs are under $5.
After reading the Unraveled Series and studying the service manual I have basically
one area of concern. That is the INIT0 register located at $FF90. From what I gather
on cold restart or power up, after coming out of reset it appears that the GIME chip
is set with the MMU off and in COCO 3 mode. RSBAsic initializes the INIT0 register
and then programs the task registers at $FFA0 to $FFAF with proper vlaues.
What I contend to do is to come out of reset and have the INIT0 register default to
$4E. That is:
bit 7 - "0"
bit 6 - "0"
bit 5 - "1"
bit 4 - "1"
bit 3 - "1"
bit 2 - "1"
bit 1 - "1"
bit 0 - "0"
I think this will still be compatible with the RS Basic rom? Anyone sure of this?
I have to finish up coding the register stack to at least $FF97. I have planned usage
for $FF96 and $FF97 to drive an external clock chip to generate various CPU bus
speeds separate from the video clock. After that it will be on to the video section.
Thinking of putting a RTC at $FF80 to $FF8F also.
Mind boggling as to what one can do with these FPGAs.
james
More information about the Coco
mailing list