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
IBM PCjr
(section)
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!
===Video=== {{See also|Tandy Graphics Adapter}} [[File:TGA-EGA-CGA graphics comparison.png|thumb|Simulation of PCjr graphics (top) compared to CGA PC graphics of the time (bottom).]] [[File:160x200 16c ar corrected.png|Simulation of PCjr 160βΓβ200 mode with 16 colors|thumb]] [[File:Ega 320x200x16 ratio.png|Simulation of PCjr 320βΓβ200 mode with 16 colors|thumb]] [[File:Plantronics 640x400 corrected.png|Simulation of PCjr 640βΓβ200 mode with 4 colors|thumb]] Unlike the IBM PC, which required a separate video card, the PCjr display hardware was built in to the system board. At the time, the only cards available from IBM for the PC were the monochrome [[IBM Monochrome Display Adapter|MDA]] and color [[Color Graphics Adapter|CGA]] boards. PCjr graphics were similar to CGA, with several new video modes: * 160 Γ 200 at 16 colors * 320 Γ 200 at 16 colors * 640 Γ 200 at {{0}}4 colors The primary improvement over CGA is the greater color depth. CGA could only display 4 colors in its medium-resolution mode, and 2 colors in high-resolution. The PCjr increases these to 16 and 4 colors. Video modes on the PCjr use varying amounts of system memory: 40 x 25 text mode uses 1 KB, for instance, while 320 x 200 x 16 and 640 x 200 x 4 use 32 KB. These latter two modes, as well as 80 x 25 text mode, are referred to in documentation as "high bandwidth modes" and are unsupported on base models with only 64 KB of memory. Multiple text or graphics pages can be used for [[Multiple buffering|page-flipping]] as long as there is enough memory, a feature missing from the CGA. The CGA also did not provide a VBLANK interrupt, making it hard to detect when the screen was beginning to be drawn, but the PCjr provides this on IRQ 5, an important feature for smooth page-flipping. The video system also has a "blink" feature which toggles the palette between the first and second groups of eight palette registers at the same rate used for the PCs blinking text attribute, and a palette bit-masking feature that can be used to switch between palette subsets without reprogramming palette registers. Unlike CGA, PCjr has palette registers which allow the colors in all modes to be chosen from the full 16-color RGBI palette. When the BIOS is used to set a video mode, it sets up the palette table to emulate the CGA color palette for that mode. Programs specifically written to use PCjr graphics can subsequently reprogram the palette table to use any colors desired. Palette changes must be made during horizontal or [[vertical blanking]] periods of a video frame in order to avoid disrupting the display (transiently during the palette change). The monitor included with the PCjr is a 12" TTL RGBI display like those supported by the CGA, but including an internal amplified speaker. Also like CGA, the PCjr supported [[composite video]] out for use with a TV or composite monitor. A [[Motorola 6845]] CRTC like the one used in the MDA and CGA adapters, and a custom IBM chip called the [[Video Gate Array]] (VGA) constitute the bulk of the PCjr video hardware.<ref name="vga">VGA should not be confused with the later [[Video Graphics Array]] standard that IBM released with the [[PS/2]] line in 1987.</ref>{{r|nortonpcjrvideo19840124}} Several discrete standard logic devices complete the video subsystem.<ref>In comparison, the circuitry of the IBM CGA consists of an MC6845 and dozens of standard logic devices; the VGA replaces most of those and a good number more that would have been required to implement the enhanced features, so that the PCjr video subsystem could not have fit on a single-board IBM PC adapter card.</ref> The 6845 is responsible for the basic raster timing and video data address sequencing, and the Video Gate Array contains all the additional timing logic, video data demultiplexing logic, color processing logic, and programmable palette table logic, as well as the logic for multiplexing RAM access between the 8088 CPU and the video generation circuitry. For programming, the CRTC is generally compatible with the CGA at the hardware register level. Some other CGA programming details, in particular the Mode Control Register and the Color Select Register (at I/O addresses 3D8h and 3D9h respectively), are not compatible, as the PCjr provides the equivalent functionality through different registers inside the Video Gate Array which are accessed in a completely different manner through a single I/O address (3DAh). The 6845 CRTC and the VGA together are responsible for refreshing the internal DRAM of the PCjr, which complicates the process of switching video modes on the PCjr. Resetting the VGA, which must be done during certain video mode switches, must be done by code not running from the system RAM controlled by the VGA, and if the CRTC or the VGA is disabled for too long, the contents of the internal RAM can be lost. Additional external DRAM (in sidecar expansion modules) is refreshed independently and never affected by a video mode switch. Of the three new modes, 160 x 200 x 16 mode has the same layout as CGA graphics modes; the odd and even scanlines are stored in the first and second half of the video buffer, each half being 8k in size, and every four bits represents one pixel. The 320 x 200 x 16 and 640 x 200 x 4 modes have four blocks of scanlines; every four or two bits respectively represents a pixel. Since the PCjr uses the main system RAM for the video buffer, less memory is available for software than on a standard PC, which has separate dedicated video memory in the A000h-BFFFh segments, above conventional memory.<ref>In other words, an IBM PC XT system with 128 KB of main RAM and a CGA installed actually has a total of 128 + 16 = 144 KB of RAM overall, while a PCjr with 128 KB RAM actually has exactly 128 KB of RAM overall, some part of which must be used for the video (in normal use, where the video is not turned off). The CGA standard graphics modes and 160x200 16-color graphics mode each need (almost) 16 KB of RAM, while the text modes need only 2000 (for 40x25) or 4000 (for 80x25) bytes of RAM, but the two enhanced graphics modes each use (nearly) 32 KB of RAM. This means that a 128 KB PCjr in an enhanced graphics mode is like a PC XT with 96 KB of main RAM and an enhanced CGA card (such as the Plantronics card, which also has 32 KB of RAM). If the PCjr video is double-buffered for page-flipping (not a possibility on the CGA in normal modes, except text modes), then both 32 KB video buffers are subtracted from the available system RAM, making the 128 KB PCjr like a PC XT with only 64 KB of main RAM.</ref>
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)