[Coco] GIME text modes and font data
jdaggett at gate.net
jdaggett at gate.net
Mon Sep 3 11:13:59 EDT 2012
John
The GIME chip has the character generator within. Like the 6847, the GIME chip uses IDMA
to access video RAM. Therefore the memory access speed has to be half that of the ECLK.
With a 2MHz ECLK, (500nS cycle time) the memory needs to be faster than 250nS. The
GIME reads memory when the CPU is not during the first half of the Eclk cycle. Each 6809
clock cycle starts with the falling edge of the Eclk. The GIME slaves the E and Q clks off of
the video clock so that the output mux works cleaner for IDMA.
I am not certain of the actual wiring inside the GIME. So most of my opinions are based on
what I think the GIME is doing from data sheets and other inputs. The GIMe chip reads from
videso ram at three different rates. The VDU section of the GIME chip has two modes,
graphics and text. In text mode there needs to be two bytes read to determine the character
displayed and its attributes if used. Otherwise it is one byte per character. In graphics mode
there is 2pixels/byte, 4pixels/byte and 8 pixels/byte modes. Depending on the mode and
screen width, I think the pixel clock is adjusted accordingly.
james
On 3 Sep 2012 at 18:53, John Kent wrote:
> If it's
> using the CoCo ROM as a character generator, it would have to read the RAM
> data and apply that to the CoCo address bus to access the ROM. but as you
> say the character ROM appears to be in rather odd locations so generating
> the address offset would be messy. The ROM output would have to be read
> off the data bus and loaded into the shift register. The pixel clock is 8
> x the CPU clock rate and I'm not sure that the memory would be fast enough
> to perform 2 accesses (the character code and the scan line look up) in
> the time of one CPU cycle. $F39D - $F09D = $300 128 - 32 = 96 = $60 $300 /
> $60 = 8 = number of scan lines ? I don't know if the GIME chip has a
> programmable character generator but if it did, it's possible that the
> 6809 could load the ROM image into the character generator.
>
> If the pixel clock is say 14MHz in 80 column mode and the characters are 8
> pixels wide then the character access rate would have to be 1.75MHZ which
> is too high for the CPU. My understanding is that the CPU clocks at less
> than 1 MHz lets say 0.875MHz. If you required an 80 character display
> you'd have to have a line scan buffer that loaded the characters in two
> scan lines. If you had to look up the ROM in CoCo memory, then you'd have
> to have a double buffer, one for the character codes and one for the
> character pixels.
More information about the Coco
mailing list