MOS Technology 8568
Encyclopedia
The 8568 Video Display Controller (VDC) was MOS Technology
's graphics processor responsible for the 80 column or RGBI display on D[CR] models of the Commodore 128
personal computer
. In the Commodore 128 service manual, this part was referred to as the "80 column CRT
controller." The 8568 embodied many of the features of the older 6545E monochrome
CRT controller plus RGBI color.
The original ("flat") C128 used the 8563
video controller to generate the 80 column display. The 8568 was essentially an updated version of the 8563, combining the latter's functionality with glue logic
that previously was implemented by discrete components in physical proximity to the 8563. Unlike the 8563, the 8568 included an unused active low
interrupt request
line (/INTR), which was asserted when the "ready" bit in the 8568's status register changed from 0 to 1. Reading the control register would automatically deassert /INTR. Owing to differences in pin assignments and circuit interfacing, the 8563 and 8568 are not electrically interchangeable.
The Commodore 128 had two video display modes, which were usually used singularly, but could be used simultaneously if the computer was connected to two compatible video monitors. The VIC-II
chip, also found in the Commodore 64
, was mapped directly into main memory—the video memory and CPUs (the 8502 and Z80A processors) shared a common 128 KB
RAM, and the VIC-II control register
s were accessed as memory locations (that is, they were memory mapped).
Unlike the VIC-II, the 8568 had its own local video RAM, 64K in the C-128DCR model (sold in North America) and, depending on the date of manufacture of the particular machine, either 16 or 64K in the C-128D model (marketed in Europe). Addressing the VDC's internal registers and dedicated video memory must be accomplished by indirect means. First the program must tell the VDC which of its 37 internal registers is to be accessed. Next the program must wait until the VDC is ready for the access, after which a read or write on the selected internal register may be performed. The following code is typical of a register read:
The following code is typical of a register write operation:
Owing to this somewhat cumbersome method of controlling the 8568, the maximum possible frame rate
in bit-mapped mode is generally too slow for arcade-style action video games, in which bit-intensive manipulation of the display is required.
The final versions of the 8568 had the revision codes R9a or R9b appended to the part number, apparently indicating undocumented improvements.
MOS Technology
MOS Technology, Inc., also known as CSG , was a semiconductor design and fabrication company based in Norristown, Pennsylvania, in the United States. It is most famous for its 6502 microprocessor, and various designs for Commodore International's range of home computers.-History:MOS Technology, Inc...
's graphics processor responsible for the 80 column or RGBI display on D[CR] models of the Commodore 128
Commodore 128
The Commodore 128 home/personal computer was the last 8-bit machine commercially released by Commodore Business Machines...
personal computer
Personal computer
A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...
. In the Commodore 128 service manual, this part was referred to as the "80 column CRT
Cathode ray tube
The cathode ray tube is a vacuum tube containing an electron gun and a fluorescent screen used to view images. It has a means to accelerate and deflect the electron beam onto the fluorescent screen to create the images. The image may represent electrical waveforms , pictures , radar targets and...
controller." The 8568 embodied many of the features of the older 6545E monochrome
Monochrome
Monochrome describes paintings, drawings, design, or photographs in one color or shades of one color. A monochromatic object or image has colors in shades of limited colors or hues. Images using only shades of grey are called grayscale or black-and-white...
CRT controller plus RGBI color.
The original ("flat") C128 used the 8563
MOS Technology 8563
The 8563 Video Display Controller was an integrated circuit produced by MOS Technology. It was used in the Commodore 128 computer to generate an 80-column RGB video display...
video controller to generate the 80 column display. The 8568 was essentially an updated version of the 8563, combining the latter's functionality with glue logic
Glue logic
In electronics, glue logic is the custom logic circuitry used to interface a number of off-the-shelf integrated circuits.This is often achieved using ordinary 7400- or 4000-series components. In more complex cases, programmable logic devices like a CPLD or FPGA might be used...
that previously was implemented by discrete components in physical proximity to the 8563. Unlike the 8563, the 8568 included an unused active low
Logic level
In digital circuits, a logic level is one of a finite number of states that a signal can have. Logic levels are usually represented by the voltage difference between the signal and ground , although other standards exist...
interrupt request
Interrupt request
The computing phrase "interrupt request" is used to refer to either the act of interrupting the bus lines used to signal an interrupt, or the interrupt input lines on a Programmable Interrupt Controller...
line (/INTR), which was asserted when the "ready" bit in the 8568's status register changed from 0 to 1. Reading the control register would automatically deassert /INTR. Owing to differences in pin assignments and circuit interfacing, the 8563 and 8568 are not electrically interchangeable.
The Commodore 128 had two video display modes, which were usually used singularly, but could be used simultaneously if the computer was connected to two compatible video monitors. The VIC-II
MOS Technology VIC-II
The VIC-II , specifically known as the MOS Technology 6567/8562/8564 , 6569/8565/8566 , is the microchip tasked with generating Y/C/composite video graphics and DRAM refresh signals in the Commodore 64 and C128 home computers.Succeeding MOS's original VIC , the VIC-II was one of the two chips...
chip, also found in the Commodore 64
Commodore 64
The Commodore 64 is an 8-bit home computer introduced by Commodore International in January 1982.Volume production started in the spring of 1982, with machines being released on to the market in August at a price of US$595...
, was mapped directly into main memory—the video memory and CPUs (the 8502 and Z80A processors) shared a common 128 KB
Kilobyte
The kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...
RAM, and the VIC-II control register
Hardware register
In digital electronics, especially computing, a hardware register stores bits of information, in a way that all the bits can be written to or read out simultaneously.The hardware registers inside a central processing unit are called processor registers....
s were accessed as memory locations (that is, they were memory mapped).
Unlike the VIC-II, the 8568 had its own local video RAM, 64K in the C-128DCR model (sold in North America) and, depending on the date of manufacture of the particular machine, either 16 or 64K in the C-128D model (marketed in Europe). Addressing the VDC's internal registers and dedicated video memory must be accomplished by indirect means. First the program must tell the VDC which of its 37 internal registers is to be accessed. Next the program must wait until the VDC is ready for the access, after which a read or write on the selected internal register may be performed. The following code is typical of a register read:
ldx #regnum ;VDC register to access
stx $d600 ;write to control register
loop bit $d600 ;check bit 7 of status register
bpl loop ;VDC not ready
lda $d601 ;read from VDC register
...
The following code is typical of a register write operation:
ldx #regnum ;VDC register to write to
stx $d600 ;write to control register
loop bit $d600 ;check bit 7 of status register
bpl loop ;VDC not ready
sta $d601 ;write to VDC register
...
Owing to this somewhat cumbersome method of controlling the 8568, the maximum possible frame rate
Frame rate
Frame rate is the frequency at which an imaging device produces unique consecutive images called frames. The term applies equally well to computer graphics, video cameras, film cameras, and motion capture systems...
in bit-mapped mode is generally too slow for arcade-style action video games, in which bit-intensive manipulation of the display is required.
The final versions of the 8568 had the revision codes R9a or R9b appended to the part number, apparently indicating undocumented improvements.
Features
- 80 × 25 characters text resolution
- 720 × 700 pixels maximum video resolution
- Interlaced up to 80 × 50 text, 640H × 480V bitmap
- 3 character modes: standard, semigraphic and graphic, double width & HiRes bitmap.
- Output: digital RGBI with 16 colors or 16 gray shades, plus limited monochrome composite.
- Features: Interlace mode, horizontal & vertical scrollingScrollingIn computer graphics, filmmaking, television production, and other kinetic displays, scrolling is sliding text, images or video across a monitor or display. "Scrolling", as such, does not change the layout of the text or pictures, or but incrementally moves the user's view across what is...
, Light penLight penA light pen is a computer input device in the form of a light-sensitive wand used in conjunction with a computer's CRT TV set or monitor. It allows the user to point to displayed objects, or draw on the screen, in a similar way to a touch screen but with greater positional accuracy...
input, hardware cursor, underline, blink, reverse video, 2 character sets of 256 each, update ready interrupt - Can access 64 KByte of memory, programmable to interface either 4164/4464 or 4416 DRAMDynamic random access memoryDynamic random-access memory is a type of random-access memory that stores each bit of data in a separate capacitor within an integrated circuit. The capacitor can be either charged or discharged; these two states are taken to represent the two values of a bit, conventionally called 0 and 1...
- 48 pins, +5 VoltVoltThe volt is the SI derived unit for electric potential, electric potential difference, and electromotive force. The volt is named in honor of the Italian physicist Alessandro Volta , who invented the voltaic pile, possibly the first chemical battery.- Definition :A single volt is defined as the...
DCDirect currentDirect current is the unidirectional flow of electric charge. Direct current is produced by such sources as batteries, thermocouples, solar cells, and commutator-type electric machines of the dynamo type. Direct current may flow in a conductor such as a wire, but can also flow through...
supply.
Register Listing
This information was adapted from the Commodore 128 Programmer's Reference GuideRegister | Hexadecimal | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | Description |
---|---|---|---|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
Horizontal Total |
|
|
|
|
|
|
|
|
|
|
Horizontal Displayed |
|
|
|
|
|
|
|
|
|
|
Horizontal Sync Position |
|
|
|
|
|
|
|
|
|
|
Vertical/Horizontal Sync Width |
|
|
|
|
|
|
|
|
|
|
Vertical Total |
|
|
|
|
|
|
|
|
|
|
Vertical Adjust |
|
|
|
|
|
|
|
|
|
|
Vertical Displayed |
|
|
|
|
|
|
|
|
|
|
Vertical Sync Position |
|
|
|
|
|
|
|
|
|
|
Interlace Mode |
|
|
|
|
|
|
|
|
|
|
Character Total Vertical |
|
|
|
|
|
|
|
|
|
|
Cursor Mode, Start Scan |
|
|
|
|
|
|
|
|
|
|
Cursor End Scan Line |
|
|
|
|
|
|
|
|
|
|
Display Start Address High Byte |
|
|
|
|
|
|
|
|
|
|
Display Start Address Low Byte |
|
|
|
|
|
|
|
|
|
|
Cursor Position High Byte |
|
|
|
|
|
|
|
|
|
|
Cursor Position Low Byte |
|
|
|
|
|
|
|
|
|
|
Light Pen Vertical Position |
|
|
|
|
|
|
|
|
|
|
Light Pen Horizontal Position |
|
|
|
|
|
|
|
|
|
|
Update Address High Byte |
|
|
|
|
|
|
|
|
|
|
Update Address Low Byte |
|
|
|
|
|
|
|
|
|
|
Attribute Start Address High Byte |
|
|
|
|
|
|
|
|
|
|
Attribute Start Address Low Byte |
|
|
|
|
|
|
|
|
|
|
Character Total Horizontal, Character Display Horizontal |
|
|
|
|
|
|
|
|
|
|
Character Display Vertical |
|
|
|
|
|
|
|
|
|
|
Vertical Smooth Scrolling |
|
|
|
|
|
|
|
|
|
|
Horizontal Smooth Scrolling |
|
|
|
|
|
|
|
|
|
|
Foreground/Background color |
|
|
|
|
|
|
|
|
|
|
Address Increment per Row |
|
|
|
|
|
|
|
|
|
|
Character Base Address |
|
|
|
|
|
|
|
|
|
|
Underline Scan Line |
|
|
|
|
|
|
|
|
|
|
Word Count |
|
|
|
|
|
|
|
|
|
|
Data Register |
|
|
|
|
|
|
|
|
|
|
Block Start Address High Byte |
|
|
|
|
|
|
|
|
|
|
Block Start Address Low Byte |
|
|
|
|
|
|
|
|
|
|
Display Enable Begin |
|
|
|
|
|
|
|
|
|
|
Display Enable End |
|
|
|
|
|
|
|
|
|
|
DRAM Refresh Rate |
|
|
|
|
|
|
|
|
|
|
SYNC Polarity (undocumented) |