Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
MOS Technology 8563
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
[[Image:SpeedScript 128 in action.png|thumb|right|320px|The VDC was designed with [[office suite]] applications in mind. Shown here is ''[[SpeedScript|SpeedScript 128]]'', a [[word processor]].]] The '''8563 Video Display Controller''' ('''VDC''') was an [[integrated circuit]] produced by [[MOS Technology]]. It was used in the [[Commodore 128]] (C128) computer to generate an 80-column (640 × 200 [[pixel]]) [[RGB]] video display, running alongside a [[MOS Technology VIC-II|VIC-II]] which supported [[Commodore 64]]-compatible graphics. The DCR models (as well as a few D-models) of the C128 used the later and more technically advanced [[MOS Technology 8568|8568 [D]VDC]] controller. == History and characteristics == Originally intended for a planned (but unreleased) [[Unix|UNIX]]-based business computer based around the [[Zilog Z8000]], [[Commodore International|Commodore]] designed the VDC into several prototype machines. Of these, only the Commodore 128 ever saw production. Unlike earlier MOS video chips such as the popular VIC-II, the VDC had dedicated video memory, 16 [[kilobyte]]s (16,384 bytes; upgradable to 64 kilobytes, 65,536 bytes) in the original or "flat" C128 and 64 kilobytes in the [[Commodore 128#Commodore 128D|C128DCR]]. This RAM was not directly accessible by the [[microprocessor]]. The 8563 was more difficult to produce than most of the rest of the MOS Technology line, and initial [[Semiconductor fabrication|yields]] were very low. The early units also had significant reliability problems and tended to self-destruct from overheating.<ref>{{cite web |url=http://www.commodore.ca/products/128/Commodore_128.htm |title=Commodore.ca {{!}} Products {{!}} Commodore 128, 128D, 128DCR, History, Manuals, Pictures & Time Line |website=www.commodore.ca |url-status=dead |archive-url=https://web.archive.org/web/20030726185922/http://commodore.ca/products/128/Commodore_128.htm |archive-date=2003-07-26}}</ref> Also, there were timing issues with the VDC that would cause indirect load and store operations on its registers to malfunction. Officially, the VDC was a text-only chip, although a careful reading of the technical literature by MOS Technology that was given to the early C128 developers did indicate that a high-resolution [[raster graphics|bitmap]] mode was possible—it simply wasn't described in any detail. [[Commodore BASIC|BASIC 7.0]], the C128's built-in programming language, only supported high-resolution graphics in 40-column mode via the legacy VIC-II chip. [[Image:Ultra Hi-Res Cube Demo.gif|thumb|right|320px|This ''Ultra Hi-Res'' [[demo (computer programming)|demo]] showcases the VDC's [[blitter]] capabilities with a simple [[3D animation]] of a [[wire frame model]] of a [[cube]].]] Shortly after the release of the C128 the VDC's [[raster graphics|bitmap]] mode was described in considerable detail in the [[Data Becker]] book "Commodore 128 - Das große GRAFIK-Buch" (published in late 1985 in the United States by [[Abacus Software]]), and an assembly language program was provided by the German authors Klaus Löffelmann and Dieter Vüllers, in which it was possible to set or clear any pixel or, using [[BASIC]] to perform the necessary calculations, generate bitmapped geometric shapes on the 80 column screen.<ref>Chapter 3.9.1 "VDC HI-RES-Grafik" Page 213ff</ref> In February 1986, less than a year after the [[Commodore 128]]'s release, [[RUN (magazine)|''RUN'' magazine]] published "''Ultra Hi-Res Graphics''", an article describing the VDC's bitmapped mode and including a [[type-in program]] (written in [[MOS Technology 8502|8502]] [[assembly language]]) that extended BASIC 7.0's capabilities to support 640×200 high-resolution graphics using the 8563.[http://cbmfiles.com/genie/geniefiles/C128Software/ULTRAHIRES.DOCS] Authors Lou Wallace and David Darus later developed the Ultra Hi-Res utility into a commercial package, ''[[BASIC 8.0|BASIC 8]]''. One of the most popular third-party utilities for the C128, this offered more advanced VDC high-resolution capabilities to a wide audience of programmers. Commodore finally offered complete official documentation on the VDC in the ''Commodore 128 Programmer's Reference Guide''. VDC bitmap modes were used extensively in the C128 version of the [[GEOS (8-bit operating system)|GEOS]] [[operating system]]. The VDC lacked [[sprite (computer science)|sprite]] capabilities, which limited its use in [[computer game|gaming]] applications. However, it did contain [[blitter|blitting]] capabilities to autonomously perform small block memory copies within its dedicated video RAM. While the VDC is performing such a copy, the system CPU can continue running code, provided no other VDC accesses are attempted before the copy is finished. These functions were used by the C128's screen editor [[Read-only memory|ROM]] to rapidly scroll or clear screen sections. == Technical specifications == {{CSS image crop <!-- this template is used to remove the extra border in the original image--> |Image = C128mobo.jpg |bSize = 2000 |cWidth = 340 |cHeight = 370 |oTop = 290 |oLeft = 390 |Location = right |Description = The 8563 VDC and related ICs on the C128 motherboard. }} *[[RGB|RGBI]] output (RGB plus Intensity) compatible with IBM's [[Color Graphics Adapter|CGA]] video standard.[[#note|* ]] *16 or 64 [[kilobyte]] address space for display, character shape and display attribute memory (dedicated, separate from system memory). *Up to 720 × 700 pixel video resolution in interlaced mode (maximum with 64 kilobyte video RAM). Other image sizes are possible, depending on programmer's needs, such as 640 × 200 non-interlaced, 640 × 400 interlaced, etc. *80 × 25 characters text resolution (C128 kernal default); other sizes such as 80 × 50 or 40 × 25 are possible. *8 colors at 2 intensities. <div style="font-size:89%">{{Blockquote|text={{anchor|note}}* This applies to US 60 Hz C128s only. 50 Hz C128 machines output a signal with a 50 Hz vertical refresh. Although not conforming to the CGA standard, most CGA monitors were capable of displaying the 50 Hz signal without problems. However, some monitors either failed to resolve the signal or succeeded in resolving it, but sooner or later their deflection circuits would fail due to electrical or thermal stress, requiring repair.}}</div> == Programming == 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 [[assembly code]] is typical of a register read: <syntaxhighlight lang="ca65"> 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 ... </syntaxhighlight> The following code is typical of a register write operation: <syntaxhighlight lang="ca65"> 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 ... </syntaxhighlight> <!-- While the 'official' procedure for reading or writing to a VDC register is as listed above, there are many [http://www.ffd2.com/fridge/vdc/vdc.tips programming shortcuts] that can be taken to increase performance. *** Irrelevant in this article. In any case, the "tips" at the referenced site are mostly BS and unproven. *** ---> The same is feasible in [[Commodore BASIC|BASIC]] language, calling specific [[KERNAL]] routines : This code is typical of a VDC register read, where {{Angbr|''register''}} it's a number between 0 and 36, as show below. <syntaxhighlight lang="cbmbas"> BANK15 ... SYS DEC("CDDA"),, register : RREG VDC REM $ccda aka 52698 in decimal PRINT VDC ... </syntaxhighlight> this code is typical of a VDC register write, where {{Angbr|''register''}} it's a number between 0 and 36, and {{Angbr|''value''}} it's a number between 0 and 255, that you wish to place in that register. <syntaxhighlight lang="cbmbas"> BANK15 ... SYS DEC("CDCC"), value, register REM $ccdc aka 52684 in decimal ... </syntaxhighlight> Owing to this somewhat cumbersome method of controlling the VDC, the maximum possible [[frame rate]] in [[bitmap]]ped mode is generally too slow for arcade-style action video games, in which bit-intensive manipulation of the display is required. In standard text mode, the VDC behaves much like the VIC-II except with 2k of screen memory instead of 1k. The power on default configuration places screen memory in {{code|$0-$7FF}} and the color memory at {{code|$800-$9FF}} and they can be moved anywhere in VDC memory as long as it's on a 2k boundary. Attributes are handled like the VIC-II's high resolution mode with a global background color and each character foreground color set individually per the color RAM. In addition to color data, the latter also contains attribute data for each character. Bit 4 causes the character to blink if enabled, Bit 5 produces underlined characters, and Bit 6 inverts the character's bitmap pattern. Bit 7 enables the alternate character set. The VDC can use as many as 512 characters. When the alternate character flag for a given character is enabled, the character pattern will be drawn from characters 256–511. Thus if character 65 is displayed, enabling the alternate character flag will display character 321 instead. The alternate character flag is normally used when upper/lowercase mode is set—the flag is enabled for all VDC screen positions, causing the upper/lowercase character set and its reverse video versions to be displayed instead of the default uppercase/graphics character set. The VDC does not use a character ROM, instead the VIC-II's character ROM patterns are simply copied into VDC RAM as part of the C128's power on initialization including the patterns for reverse video characters even though the VDC is capable of inverting characters in hardware. Character patterns take 16 bytes instead of 8 to store as the VDC has adjustable character height. Since the screen is 25 lines, in practice character height is limited to 8 lines meaning that half the space for character data is left unused and wasted. The power on default configuration places the character data in {{code|$2000-$3FFF}}. {{code|$2000-$23FF}} contain the patterns for the uppercase/graphics characters, {{code|$2C00-$33FF}} the upper/lowercase characters, while {{code|$2400-$2BFF}} and {{code|$3400-$3FFF}} contain the reverse video patterns for each set. The user may freely define any custom characters and map them into VDC memory. == Register listing == This information was adapted from the ''Commodore 128 Programmer's Reference Guide''<ref>Commodore Capital, Inc., (1986). ''Commodore 128 programmer's reference guide.'' New York, NY: Bantam Books, Inc.</ref> {| class="wikitable" border="1" |- ! Register ! Hexadecimal ! Bit 7 ! Bit 6 ! Bit 5 ! Bit 4 ! Bit 3 ! Bit 2 ! Bit 1 ! Bit 0 ! Description |- | {{center|{{mono|0}}}} | {{center|{{mono|$00}}}} | {{center|{{mono|HT7 }}}} | {{center|{{mono|HT6 }}}} | {{center|{{mono|HT5 }}}} | {{center|{{mono|HT4 }}}} | {{center|{{mono|HT3 }}}} | {{center|{{mono|HT2 }}}} | {{center|{{mono|HT1 }}}} | {{center|{{mono|HT0 }}}} | Horizontal Total |- | {{center|{{mono|1}}}} | {{center|{{mono|$01}}}} | {{center|{{mono|HD7 }}}} | {{center|{{mono|HD6 }}}} | {{center|{{mono|HD5 }}}} | {{center|{{mono|HD4 }}}} | {{center|{{mono|HD3 }}}} | {{center|{{mono|HD2 }}}} | {{center|{{mono|HD1 }}}} | {{center|{{mono|HD0 }}}} | Horizontal Displayed |- | {{center|{{mono|2}}}} | {{center|{{mono|$02}}}} | {{center|{{mono|HP7 }}}} | {{center|{{mono|HP6 }}}} | {{center|{{mono|HP5 }}}} | {{center|{{mono|HP4 }}}} | {{center|{{mono|HP3 }}}} | {{center|{{mono|HP2 }}}} | {{center|{{mono|HP1 }}}} | {{center|{{mono|HP0 }}}} | Horizontal Sync Position |- | {{center|{{mono|3}}}} | {{center|{{mono|$03}}}} | {{center|{{mono|VW3 }}}} | {{center|{{mono|VW2 }}}} | {{center|{{mono|VW1 }}}} | {{center|{{mono|VW0 }}}} | {{center|{{mono|HW3 }}}} | {{center|{{mono|HW2 }}}} | {{center|{{mono|HW1 }}}} | {{center|{{mono|HW0 }}}} | Vertical/Horizontal Sync Width |- | {{center|{{mono|4}}}} | {{center|{{mono|$04}}}} | {{center|{{mono|VT7 }}}} | {{center|{{mono|VT6 }}}} | {{center|{{mono|VT5 }}}} | {{center|{{mono|VT4 }}}} | {{center|{{mono|VT3 }}}} | {{center|{{mono|VT2 }}}} | {{center|{{mono|VT1 }}}} | {{center|{{mono|VT0 }}}} | Vertical Total |- | {{center|{{mono|5}}}} | {{center|{{mono|$05}}}} | {{sdash}} | {{sdash}} | {{sdash}} | {{center|{{mono|VA4 }}}} | {{center|{{mono|VA3 }}}} | {{center|{{mono|VA2 }}}} | {{center|{{mono|VA1 }}}} | {{center|{{mono|VA0 }}}} | Vertical Adjust |- | {{center|{{mono|6}}}} | {{center|{{mono|$06}}}} | {{center|{{mono|VD7 }}}} | {{center|{{mono|VD6 }}}} | {{center|{{mono|VD5 }}}} | {{center|{{mono|VD4 }}}} | {{center|{{mono|VD3 }}}} | {{center|{{mono|VD2 }}}} | {{center|{{mono|VD1 }}}} | {{center|{{mono|VD0 }}}} | Vertical Displayed |- | {{center|{{mono|7}}}} | {{center|{{mono|$07}}}} | {{center|{{mono|VP7 }}}} | {{center|{{mono|VP6 }}}} | {{center|{{mono|VP5 }}}} | {{center|{{mono|VP4 }}}} | {{center|{{mono|VP3 }}}} | {{center|{{mono|VP2 }}}} | {{center|{{mono|VP1 }}}} | {{center|{{mono|VP0 }}}} | Vertical Sync Position |- | {{center|{{mono|8}}}} | {{center|{{mono|$08}}}} | {{sdash}} | {{sdash}} | {{sdash}} | {{sdash}} | {{sdash}} | {{sdash}} | {{center|{{mono|IM1 }}}} | {{center|{{mono|IM0 }}}} | Interlace Mode |- | {{center|{{mono|9}}}} | {{center|{{mono|$09}}}} | {{sdash}} | {{sdash}} | {{sdash}} | {{sdash}} | {{center|{{mono|CTV4}}}} | {{center|{{mono|CTV3}}}} | {{center|{{mono|CTV2}}}} | {{center|{{mono|CTV1}}}} | Character Total Vertical |- | {{center|{{mono|10}}}} | {{center|{{mono|$0A}}}} | {{sdash}} | {{center|{{mono|CM1 }}}} | {{center|{{mono|CM0 }}}} | {{center|{{mono|CS4 }}}} | {{center|{{mono|CS3 }}}} | {{center|{{mono|CS2 }}}} | {{center|{{mono|CS1 }}}} | {{center|{{mono|CS0 }}}} | Cursor Mode, Start Scan |- | {{center|{{mono|11}}}} | {{center|{{mono|$0B}}}} | {{sdash}} | {{sdash}} | {{sdash}} | {{center|{{mono|CE4 }}}} | {{center|{{mono|CE3 }}}} | {{center|{{mono|CE2 }}}} | {{center|{{mono|CE1 }}}} | {{center|{{mono|CE0 }}}} | Cursor End Scan Line |- | {{center|{{mono|12}}}} | {{center|{{mono|$0C}}}} | {{center|{{mono|DS15}}}} | {{center|{{mono|DS14}}}} | {{center|{{mono|DS13}}}} | {{center|{{mono|DS12}}}} | {{center|{{mono|DS11}}}} | {{center|{{mono|DS10}}}} | {{center|{{mono|DS9 }}}} | {{center|{{mono|DS8 }}}} | Display Start Address High Byte |- | {{center|{{mono|13}}}} | {{center|{{mono|$0D}}}} | {{center|{{mono|DS7 }}}} | {{center|{{mono|DS6 }}}} | {{center|{{mono|DS5 }}}} | {{center|{{mono|DS4 }}}} | {{center|{{mono|DS3 }}}} | {{center|{{mono|DS2 }}}} | {{center|{{mono|DS1 }}}} | {{center|{{mono|DS0 }}}} | Display Start Address Low Byte |- | {{center|{{mono|14}}}} | {{center|{{mono|$0E}}}} | {{center|{{mono|CP15}}}} | {{center|{{mono|CP14}}}} | {{center|{{mono|CP13}}}} | {{center|{{mono|CP12}}}} | {{center|{{mono|CP11}}}} | {{center|{{mono|CP10}}}} | {{center|{{mono|CP9 }}}} | {{center|{{mono|CP8 }}}} | Cursor Position High Byte |- | {{center|{{mono|15}}}} | {{center|{{mono|$0F}}}} | {{center|{{mono|CP7 }}}} | {{center|{{mono|CP6 }}}} | {{center|{{mono|CP5 }}}} | {{center|{{mono|CP4 }}}} | {{center|{{mono|CP3 }}}} | {{center|{{mono|CP2 }}}} | {{center|{{mono|CP1 }}}} | {{center|{{mono|CP0 }}}} | Cursor Position Low Byte |- | {{center|{{mono|16}}}} | {{center|{{mono|$10}}}} | {{center|{{mono|LPV7}}}} | {{center|{{mono|LPV6}}}} | {{center|{{mono|LPV5}}}} | {{center|{{mono|LPV4}}}} | {{center|{{mono|LPV3}}}} | {{center|{{mono|LPV2}}}} | {{center|{{mono|LPV1}}}} | {{center|{{mono|LPV0}}}} | Light Pen Vertical Position |- | {{center|{{mono|17}}}} | {{center|{{mono|$11}}}} | {{center|{{mono|LPH7}}}} | {{center|{{mono|LPH6}}}} | {{center|{{mono|LPH5}}}} | {{center|{{mono|LPH4}}}} | {{center|{{mono|LPH3}}}} | {{center|{{mono|LPH2}}}} | {{center|{{mono|LPH1}}}} | {{center|{{mono|LPH0}}}} | Light Pen Horizontal Position |- | {{center|{{mono|18}}}} | {{center|{{mono|$12}}}} | {{center|{{mono|UA15}}}} | {{center|{{mono|UA14}}}} | {{center|{{mono|UA13}}}} | {{center|{{mono|UA12}}}} | {{center|{{mono|UA11}}}} | {{center|{{mono|UA10}}}} | {{center|{{mono|UA9 }}}} | {{center|{{mono|UA8 }}}} | Update Address High Byte |- | {{center|{{mono|19}}}} | {{center|{{mono|$13}}}} | {{center|{{mono|UA7 }}}} | {{center|{{mono|UA6 }}}} | {{center|{{mono|UA5 }}}} | {{center|{{mono|UA4 }}}} | {{center|{{mono|UA3 }}}} | {{center|{{mono|UA2 }}}} | {{center|{{mono|UA1 }}}} | {{center|{{mono|UA0 }}}} | Update Address Low Byte |- | {{center|{{mono|20}}}} | {{center|{{mono|$14}}}} | {{center|{{mono|AA15}}}} | {{center|{{mono|AA14}}}} | {{center|{{mono|AA13}}}} | {{center|{{mono|AA12}}}} | {{center|{{mono|AA11}}}} | {{center|{{mono|AA10}}}} | {{center|{{mono|AA9 }}}} | {{center|{{mono|AA8 }}}} | Attribute Start Address High Byte |- | {{center|{{mono|21}}}} | {{center|{{mono|$15}}}} | {{center|{{mono|AA7 }}}} | {{center|{{mono|AA6 }}}} | {{center|{{mono|AA5 }}}} | {{center|{{mono|AA4 }}}} | {{center|{{mono|AA3 }}}} | {{center|{{mono|AA2 }}}} | {{center|{{mono|AA1 }}}} | {{center|{{mono|AA0 }}}} | Attribute Start Address Low Byte |- | {{center|{{mono|22}}}} | {{center|{{mono|$16}}}} | {{center|{{mono|CTH3}}}} | {{center|{{mono|CTH2}}}} | {{center|{{mono|CTH1}}}} | {{center|{{mono|CTH0}}}} | {{center|{{mono|CDH3}}}} | {{center|{{mono|CDH2}}}} | {{center|{{mono|CDH1}}}} | {{center|{{mono|CDH0}}}} | Character Total Horizontal, Character Display Horizontal |- | {{center|{{mono|23}}}} | {{center|{{mono|$17}}}} | {{sdash}} | {{sdash}} | {{sdash}} | {{center|{{mono|CDV4}}}} | {{center|{{mono|CDV3}}}} | {{center|{{mono|CDV2}}}} | {{center|{{mono|CDV1}}}} | {{center|{{mono|CDV0}}}} | Character Display Vertical |- | {{center|{{mono|24}}}} | {{center|{{mono|$18}}}} | {{center|{{mono|COPY}}}} | {{center|{{mono|RVS }}}} | {{center|{{mono|CBRATE}}}} | {{center|{{mono|VSS4}}}} | {{center|{{mono|VSS3}}}} | {{center|{{mono|VSS2}}}} | {{center|{{mono|VSS1}}}} | {{center|{{mono|VSS0}}}} | Vertical Smooth Scrolling |- | {{center|{{mono|25}}}} | {{center|{{mono|$19}}}} | {{center|{{mono|TEXT}}}} | {{center|{{mono|ATR }}}} | {{center|{{mono|SEMI}}}} | {{center|{{mono|DBL }}}} | {{center|{{mono|HSS3}}}} | {{center|{{mono|HSS2}}}} | {{center|{{mono|HSS1}}}} | {{center|{{mono|HSS0}}}} | Horizontal Smooth Scrolling |- | {{center|{{mono|26}}}} | {{center|{{mono|$1A}}}} | {{center|{{mono|FG3 }}}} | {{center|{{mono|FG2 }}}} | {{center|{{mono|FG1 }}}} | {{center|{{mono|FG0 }}}} | {{center|{{mono|BG3 }}}} | {{center|{{mono|BG2 }}}} | {{center|{{mono|BG1 }}}} | {{center|{{mono|BG0 }}}} | Foreground/Background color |- | {{center|{{mono|27}}}} | {{center|{{mono|$1B}}}} | {{center|{{mono|AI7 }}}} | {{center|{{mono|AI6 }}}} | {{center|{{mono|AI5 }}}} | {{center|{{mono|AI4 }}}} | {{center|{{mono|AI3 }}}} | {{center|{{mono|AI2 }}}} | {{center|{{mono|AI1 }}}} | {{center|{{mono|AI0 }}}} | Address Increment per Row |- | {{center|{{mono|28}}}} | {{center|{{mono|$1C}}}} | {{center|{{mono|CB15}}}} | {{center|{{mono|CB14}}}} | {{center|{{mono|CB13}}}} | {{center|{{mono|RAM }}}} | {{sdash}} | {{sdash}} | {{sdash}} | {{sdash}} | Character Base Address |- | {{center|{{mono|29}}}} | {{center|{{mono|$1D}}}} | {{sdash}} | {{sdash}} | {{sdash}} | {{center|{{mono|UL4 }}}} | {{center|{{mono|UL3 }}}} | {{center|{{mono|UL2 }}}} | {{center|{{mono|UL1 }}}} | {{center|{{mono|UL0 }}}} | Underline Scan Line |- | {{center|{{mono|30}}}} | {{center|{{mono|$1E}}}} | {{center|{{mono|WC7 }}}} | {{center|{{mono|WC6 }}}} | {{center|{{mono|WC5 }}}} | {{center|{{mono|WC4 }}}} | {{center|{{mono|WC3 }}}} | {{center|{{mono|WC2 }}}} | {{center|{{mono|WC1 }}}} | {{center|{{mono|WC0 }}}} | Word Count |- | {{center|{{mono|31}}}} | {{center|{{mono|$1F}}}} | {{center|{{mono|DA7 }}}} | {{center|{{mono|DA6 }}}} | {{center|{{mono|DA5 }}}} | {{center|{{mono|DA4 }}}} | {{center|{{mono|DA3 }}}} | {{center|{{mono|DA2 }}}} | {{center|{{mono|DA1 }}}} | {{center|{{mono|DA0 }}}} | Data Register |- | {{center|{{mono|32}}}} | {{center|{{mono|$20}}}} | {{center|{{mono|BA15}}}} | {{center|{{mono|BA14}}}} | {{center|{{mono|BA13}}}} | {{center|{{mono|BA12}}}} | {{center|{{mono|BA11}}}} | {{center|{{mono|BA10}}}} | {{center|{{mono|BA9 }}}} | {{center|{{mono|BA8 }}}} | Block Start Address High Byte |- | {{center|{{mono|33}}}} | {{center|{{mono|$21}}}} | {{center|{{mono|BA7 }}}} | {{center|{{mono|BA6 }}}} | {{center|{{mono|BA5 }}}} | {{center|{{mono|BA4 }}}} | {{center|{{mono|BA3 }}}} | {{center|{{mono|BA2 }}}} | {{center|{{mono|BA1 }}}} | {{center|{{mono|BA0 }}}} | Block Start Address Low Byte |- | {{center|{{mono|34}}}} | {{center|{{mono|$22}}}} | {{center|{{mono|DEB7}}}} | {{center|{{mono|DEB6}}}} | {{center|{{mono|DEB5}}}} | {{center|{{mono|DEB4}}}} | {{center|{{mono|DEB3}}}} | {{center|{{mono|DEB2}}}} | {{center|{{mono|DEB1}}}} | {{center|{{mono|DEB0}}}} | Display Enable Begin |- | {{center|{{mono|35}}}} | {{center|{{mono|$23}}}} | {{center|{{mono|DEE7}}}} | {{center|{{mono|DEE6}}}} | {{center|{{mono|DEE5}}}} | {{center|{{mono|DEE4}}}} | {{center|{{mono|DEE3}}}} | {{center|{{mono|DEE2}}}} | {{center|{{mono|DEE1}}}} | {{center|{{mono|DEE0}}}} | Display Enable End |- | {{center|{{mono|36}}}} | {{center|{{mono|$24}}}} | {{sdash}} | {{sdash}} | {{sdash}} | {{sdash}} | {{center|{{mono|DRR3}}}} | {{center|{{mono|DRR2}}}} | {{center|{{mono|DRR1}}}} | {{center|{{mono|DRR0}}}} | DRAM Refresh Rate |} == References == {{reflist|1}} == External links == *[http://cbmfiles.com/genie/geniefiles/C128Software/ULTRAHIRES1.SFX ''Ultra Hi-Res'' self-extracting archive - Volume I] *[http://cbmfiles.com/genie/geniefiles/C128Software/ULTRAHIRES2.SFX ''Ultra Hi-Res'' self-extracting archive - Volume II] *[http://www.ffd2.com/fridge/chacking/c=hacking2.txt ''C= Hacking'' volume 2 - Register listing and description] {{MOS Video/Sound}} [[Category:MOS Technology integrated circuits]] [[Category:Graphics chips]] [[Category:Commodore 64]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Anchor
(
edit
)
Template:Angbr
(
edit
)
Template:Blockquote
(
edit
)
Template:CSS image crop
(
edit
)
Template:Center
(
edit
)
Template:Cite web
(
edit
)
Template:Code
(
edit
)
Template:Comma separated entries
(
edit
)
Template:MOS Video/Sound
(
edit
)
Template:Main other
(
edit
)
Template:Mono
(
edit
)
Template:Reflist
(
edit
)
Template:Sdash
(
edit
)