On 31 Dec 2010 17:20:39 GMT, ***@vsta.org wrote:
|The GIME chip was a lot of the Coco's magic, and was an idiosyncratic
|hairball. Back when Frank Hogg was looking at the Tomcat post-Coco 6809
|design, he told me it was the fatal flaw of his system concept to tie it to
|the GIME. So, sadly, I'd recommend not trying to shoot for Coco HW
|compatibility. But a clean MMU for a 6809 board would be great!
The MMU in the GIME is rather straight forward. Essentially it is a
dual port 16x6 ram. The COCO3 is a paged memory setup where each page
of virtual memory is 8K bytes each. The RAM provides the upper six
bits of the address for a memory map of 512 Kbytes. The read port is
the upper three bits of the standard 64K address along with a task
bit. This allows 8 8K pages for two different tasks. The write port is
from the lower three bits of the 64K address along with the task bit
and write enable decoded for what ever 16 address block you wish to
map the MMU to.
Rather simple. Expand the ram to 8 bits and you can access 2 Mbytes.
This was a rather simpler implementation than to try using the MC6829
MMU chip that was developed by Motorola. Although more complex, it was
limited to 2Kbyte blocks. Multiple MC6829 chips could be used to have
upwards to 32 tasks and I think 8 Mbytes of RAM.
The GIME also used IDMA(Interleaved DMA) for memory access for both
the video and program/data. It used the E clock to determine whether
the video section or the MPU was accessing RAM based on when the Clock
was low or high. This chip had to have a set of multiplexors for the
ROW and column address as well as a monster mux for the video address
and the program address. Timing had to be a nightmare.
This scheme works nicely as long as you use low resolutions and not
large screens. Also back then 120nS 256Kx1 drams were huge in cost. I
seem to remember I paid something like $199 for 512Kbyte dram board
for the COCO3. CGA standard graphics is about as large as you can go
with the GIME chip. You just can't push enough data through the pipe
to do VGA at even 16 colors. But in 1986, 256 colors and VGA
resolutions were a dream. Considering that the GIME chip probably
started design phase as early as 1984/1985.If my memory serves me
correct, back then the design cycles for ICs were genrealy 18 months
to 24 months and at least three passes of silicon.
There were no VHDL/Verilog or computers to simulate the whole chip
then. Breadboards and hope that the chip reacted the same as the
breadboard.
Oh well the trip down memory lane has to lead to sleep eventually.
james