GG-2 THEORY OF OPERATION
INTRODUCTION
The character based Graphics Generator system 2 (GG-2) has two main subdivisions. The first subdivision is the Central Processor Unit (CPU) which has three partitions:
a. Microprocessors
b. Memory
c Input and Output ports (l/O)
The Intel 8088 microprocessor is used and 32K bytes of memory is reserved for programming space and has 5 input ports and 5 output ports. The second subdivision is the video state machine, which generates and controls the video signal to the monitor. The state machine has three partitions:
a. System Clock (CLK)
b. Foreground generator (FGND)
c Background generator (BGND)
The system clock is driven by a 20MHZ crystal, divided down for a 5MHZ dot clock.
All inputs and outputs including the video control and general purpose I/O are memory-mapped, [i.e. everything within the system can be addressed in a single segment of 64K addresses as memory).
The video control unit is divided into an "object-oriented" foreground driver and "character-oriented" background driver. The screen resolution is 256 pixels horizontally, and 240 lines vertically for both foreground and background. The CPU communicates with the foreground driver and background driver by writing data into the designated memory areas in a certain format The foreground is designed to display moving objects on the screen with a minimum overhead to the processor. The game programs will only have to specify the vertical and horizontal position and the object select number to the foreground driver. The background video supplements the foreground with relatively static figures on the screen. The CPU specifies all the character positions on the screen with desired "character " patterns.
A 5MHZ system clock drives a 9 bit horizontal dot counter and an 8 bit vertical line counter. The horizontal counter counts from 0 to 255 during active scan line and 256 to 317 during horizontal blanking time. When the horizontal counter reaches 317, the horizontal counter resets to 0. At the beginning of the horizontal blanking time (horizontal counter = 256) it increments the vertical counter. The vertical counter counts from 0 to 239 during active vertical scan time and 240 to 255 during vertical blanking time.
[ back ]