I, Robot video hardware info ---------------------------- Copyright 1997, 1998 John Manfreda (For the time being) you can reach me at lordfrito@comcast.net or john.manfreda@idselectronics.com) Video clock: ------------ A 2.5 MHz 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 the active sacn line and 256 to 319 during horizontal blanking time. When the horizontal counter reaches 320, 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 231 during active vertical scan time and 232 to 255 during vertical blanking time. Video processor: ---------------- No info yet available. Alphanumerics: -------------- Screen resolution: 32 x (at least 29, no more than 32) characters Number of characters: 64 Character size: 8 x 8 pixels Color depth: 1 bit - on/off Although alphanumerics are all 1 solid color, 2 additional bits of color information exits. This allows any character to be displayed in one of 4 possible on-screen colors. Each of the 4 colors is then mapped to a bank-selectable pallete that can generate 256 possible colors (64 hues x 4 intensities). Thus, there are 4 possible alphanumeric palettes, with each palette calling out 4 possible character colors. Alphanumerics RAM (locations 2M and 2N) is stored in addresses $xxxx-$xxxx. RAM format is ccdddddd, where: dddddd = character code 0-63 cc = character color 0-3 ROM at location 2P stores Alphanumerics pixel data. Inputs are: - Alpha character code 0-63 (from ALPHA RAM) - Vertical character scan line 0-7 - bit signifying 1st 4 pixels or last 4 pixels Outputs are: - 4 pixels on/off ROM at location 4M stores an Alphnumerics color lookup table. Inputs are: - character color 0-3 (from ALPHA RAM) - pallete number 0-3 (from uP register on CPU board) Outputs are: - Color gun information in RRGGBBII format Background video buffer: ------------------------ Screen resolution: 256 x 232 pixels Color depth: 6 bit - 64 possible colors The display is capable of rendering 64 possible background colors at any time. These 64 colors are mapped through a pallete that can generate 512 colors (64 hues with 8 intensities). VIDEO RAM Video RAM constists of 14 DRAMs. The 14 DRAMs make up 2 pages of video memory, with 7 DRAMs each. A pixels is represented by 7 bits of data, and the pixel data is spread across all 7 DRAMs in the bank. Thus, it is necessary to read from all 7 DRAMs to access information on a single pixel. Of the 7 bits, 6 store color index information, while the last bit is used for timing purposes. Layout is the following: Page Loc. Info 1 12H Color index bit 0 1 12F Color index bit 1 1 12J Color index bit 2 1 12K Color index bit 3 1 12L Color index bit 4 1 12M Color index bit 5 1 12N Alternating bit used for timing purposes(?) 2 11H Color index bit 0 2 11F Color index bit 1 2 11J Color index bit 2 2 11K Color index bit 3 2 11L Color index bit 4 2 11M Color index bit 5 2 11N Alternating bit used for timing purposes(?) The color index itself is not sent to the RGB guns. Instead, the 64x9 RAM at location 4L stores a dynamic pallete table. This RAM maps each of the 64 color indexes to a target hardware color. The 9 bits of output are mapped as RRGGBBIII, creating a total of 512 colors (64 hues x 8 intensities).