Jump to content

IBM PCjr: Difference between revisions

From RetroTechCollection
Reduce infobox badge size from 250px to 150px
P4 verification: remove the now-duplicated manual link bullet (superseded by the fuller documentation line)
 
(2 intermediate revisions by the same user not shown)
Line 7: Line 7:
| manufacturer  = IBM
| manufacturer  = IBM
| type          = Home / consumer personal computer
| type          = Home / consumer personal computer
| release date  = March 19, 1984 (announced November 1, 1983)
| release date  = March 1984 (announced 1 November 1983)
| discontinued  = March 19, 1985
| discontinued  = March 1985
| cpu          = Intel 8088 @ 4.77 MHz
| cpu          = Intel 8088 @ 4.77 MHz
| memory        = 64 KB on-board (4860-004) or 128 KB on-board (4860-067); expandable to 512 KB and beyond via sidecar memory modules
| memory        = 64 KB on the system board (4860-004) or 128 KB (4860-067); expandable by sidecar
| storage      = One 5.25" 360 KB half-height floppy drive (4860-067 only); cassette port; two ROM cartridge ports
| storage      = One 5.25" 360 KB half-height diskette drive (4860-067 only); cassette port; two ROM cartridge slots
| display      = Built-in CGA-compatible video with extra 16-colour 320×200 and 4-colour 640×200 modes; RGB DIN, composite video, audio out, RF modulator via IBM PCjr TV Connector
| display      = Built-in colour/graphics subsystem using a Motorola 6845 CRTC and IBM's Video Gate Array; direct-drive RGB, composite video, and RF through the optional TV Connector
| sound        = Texas Instruments '''SN76496''' 3-voice tone generator with one noise channel, plus PC speaker
| sound        = Texas Instruments '''SN76496N''' complex sound generator, plus the PC speaker, selected by an 8255
| dimensions    = ~14" W × 11.4" D × 3.8" H (35.6 × 29 × 9.5 cm)
| os            = IBM PC DOS 2.1; IBM Cassette BASIC in system ROM, with Cartridge BASIC for Advanced BASIC
| weight        = ~11.7 lb (5.3 kg) system unit, without keyboard or monitor
| predecessor  = none — new product line
| os            = IBM PC DOS 2.1 (introduced specifically for the PCjr); IBM Cassette BASIC J1.0 in ROM
| successor    = none — line ended after one year
| predecessor  = None — new product line
| successor    = None — line ended after one year
| model        = 4860
| model        = 4860
}}
}}


The '''IBM PCjr''' (model '''4860''') was IBM's first attempt at a low-cost home personal computer. It was announced on November 1, 1983 and shipped from March 19, 1984. After poor sales and persistent criticism, IBM withdrew the line on March 19, 1985 — exactly one year after launch. Approximately 250,000 PCjrs were produced before the line ended.
The '''IBM PCjr''' (model '''4860''') was IBM's attempt at a low-cost home personal computer. It was announced on 1 November 1983, shipped from March 1984, and withdrawn a year later. It is broadly compatible with the [[IBM PC (5150)]] at the BIOS level, but enough is different — no DMA controller, a different memory map, a gate-array video subsystem with extra graphics modes, a sound chip instead of just a speaker, ROM cartridges instead of expansion slots, an infrared keyboard and a sidecar bus instead of the I/O channel — that it is a separate platform in practice.
 
The PCjr is broadly compatible with the IBM PC at the BIOS level, but several hardware differences (no DMA controller, different memory map, '''SN76496''' sound chip in place of the speaker, ROM cartridges instead of expansion slots, infrared wireless keyboard, sidecar bus instead of ISA) make it a separate platform in practice. Software designed for the PCjr's "Tandy/PCjr" video and sound modes is also fully compatible with the Tandy 1000.


== Models ==
== Models ==


The PCjr was offered as two off-the-shelf configurations.
<templatestyles src="Template:StyledTable/styles.css" />
 
{| class="wikitable styled-table" style="width:70%; text-align:center;"
{| class="wikitable styled-table" style="width:70%; text-align:center;"
|+'''IBM PCjr submodels'''
|+'''IBM PCjr submodels'''
! Submodel !! On-board RAM !! Floppy !! Modem !! Original US list price
! Submodel !! On-board RAM !! Diskette drive !! Modem
|-
|-
| 4860-004 (Entry) || 64 KB || none || none || US $669
| 4860-004 (Entry) || 64 KB || none || none
|-
|-
| 4860-067 (Enhanced) || 128 KB || 360 KB 5.25" || Optional internal 300 baud modem || US $1269
| 4860-067 (Enhanced) || 128 KB || 360 KB 5.25-inch || optional internal
|}
|}


== Architecture ==
== Architecture ==


The PCjr is based on an '''Intel 8088''' running at '''4.77 MHz''', the same CPU clock as the 5150 and 5160. It does '''not''' have an Intel 8237 DMA controller; all I/O including floppy operations is done by PIO. As a result, keystrokes can be lost while the floppy drive is being accessed (the keyboard receiver also drops scan codes during disk operation, which is a known PCjr limitation).
An '''Intel 8088 at 4.77 MHz''', the same CPU clock as the 5150 and 5160. The machine has '''no DMA controller''', so all I/O including diskette transfer is done by the CPU in tight programmed-I/O loops.<ref name="brutman">Mike Brutman, [https://www.brutman.com/PCjr/pcjr_hardware.html IBM PCjr Hardware]. Long-running community reference for the machine. Source for the split supply description, the short and long Power Board variants rated at 33 W and 45 W, the roughly 400 mA of +5 V left for sidecars on an internally fully configured machine, the behaviour of overloaded sidecar configurations, the existence of power sidecars using the same external transformer, the absence of a DMA controller and its consequences, and the point that the system has no fan of its own while a diskette-equipped machine has a fan on the drive.</ref>
 
=== Memory ===


Key chips on the motherboard include:
The system board's 64 KB of RAM is built from '''eight 64K-by-1, 150 ns''' devices &mdash; Motorola MCM6665AL15, Texas Instruments TMS4164-15 or equivalent &mdash; and has '''no parity'''.<ref name="trjr">IBM, ''IBM PCjr Technical Reference'' &mdash; hosted on this wiki as [[:File:IBM PCjr Technical Reference.pdf]] and documented as [[IBM PCjr Technical Reference]]. "System Power Supply" and its Operating Characteristics, Over-Voltage/Over-Current Protection and Connector Specifications subsections for the two-stage 33 W supply, the transformer's short-circuit-protected extra-low ac output and its "Pin 1 - 17 Vac, Pin 2 - GND, Pin 3 - 17 Vac" connector specification, the internal Power Board that converts that ac to three dc levels, the +5 V / +12 V / &minus;6 V rails with their load currents and regulation tolerances, the 1.5 A minimum +5 V load required for &minus;6 V to be present, the input requirements, the power available at the I/O connector on a fully configured machine, and the input and output protection tables including the five-second reset time. "Hardware Differences" for cassette BASIC residing in system ROM and cartridge BASIC providing Advanced BASIC capability in ROM.</ref> It is mapped at the bottom of the 1 MB address space, and the same physical storage is aliased into the next 64 KB of address space.
* '''Intel 8088''' &mdash; CPU (no second-source NEC V20 was officially endorsed for the PCjr).
* '''Intel 8259A''' &mdash; programmable interrupt controller.
* '''Intel 8253''' &mdash; programmable interval timer.
* '''Intel 8255A''' &mdash; programmable peripheral interface.
* '''Motorola MC6845''' &mdash; CRT controller, embedded on the motherboard rather than on a video card.
* '''Texas Instruments SN76496''' &mdash; sound chip with three square-wave tone generators plus a noise channel. The same chip used on the Tandy 1000, which is why the chip and its register layout are commonly called "PCjr/Tandy sound."


The PCjr motherboard does not implement memory parity, in order to save chip count and cost. Bit errors in DRAM are not reported.
'''The video buffer is system RAM.''' The same memory serves both as the display buffer and as the 8088's main RAM: the processor can reach it at 00000 upwards, or through a 16 KB window starting at B8000, with a page register deciding which physical page a read or write lands on.<ref name="trjr" /> This is the root of the so-called "PCjr cliff" &mdash; software written to assume the 5150's fixed video addresses does not necessarily work here.


== Memory ==
ROM is built from '''32K-by-8 modules''' (Mostek 38000, TMM23256P or equivalent), also without parity, at 250 ns access and 375 ns cycle time.<ref name="trjr" /> The BIOS, diagnostics and cassette BASIC occupy F0000 to FFFFF; two standard application cartridge areas sit at E0000 and E8000, with D8000 reserved for a further cartridge.<ref name="trjr" />


The 4860-004 has '''64 KB''' of on-board DRAM. The 4860-067 has '''128 KB''' of on-board DRAM. Additional RAM is provided via sidecar memory expansion modules:
=== Video ===
* '''IBM PCjr Memory Expansion Attachment''' &mdash; 128 KB sidecar (and its variants), commonly stacked to reach 384 KB or 512 KB.
* Third-party memory sidecars from Tecmar (Captain Jr.), Microsoft (Booster), Racore (PC Drive) and others extended the PCjr to '''640 KB''' and beyond.


A known software limitation (the "PCjr cliff") is that some PC-compatible software written before late 1984 fails on the PCjr when it tries to use video memory at A0000h, because the PCjr video memory is mapped at the top of system memory and shadows the area expected by some software.
The colour/graphics subsystem is implemented with '''a Motorola 6845 CRT controller and IBM's Video Gate Array (VGA, LSI5220)''', a CMOS gate array that generates the storage timing (RAS, CAS, WE), the direct-drive and composite-colour outputs and the status signals.<ref name="trjr" /> The gate array also holds a '''16-entry palette''' used in all alphanumeric modes, with any input maskable off for modes that do not support the full 16 colours.<ref name="trjr" />


== Video ==
That palette and the shared-RAM buffer are what give the PCjr its two well-known extra modes beyond the standard [[IBM Color Graphics Adapter|CGA]] set &mdash; 320 &times; 200 in 16 colours and 640 &times; 200 in 4 colours. Tandy reused the same arrangement in the Tandy 1000, which is why software calls them "PCjr/Tandy" modes.


Video is built into the motherboard, based on the MC6845 CRTC. The PCjr offers all of the standard CGA modes (40-column text, 80-column text, 320×200×4 colour graphics, 640×200×2 colour graphics) and two additional modes:
The character generator is an MCM68A316E or equivalent, 350 ns static, pin-compatible with 2716 and 2732 EPROMs &mdash; which makes a custom font a realistic modification.<ref name="trjr" />
* '''320 × 200 × 16''' colours.
* '''640 × 200 × 4''' colours.


These two extra modes are commonly referred to as "PCjr/Tandy graphics" because Tandy reused them in the Tandy 1000. Video output is available as TTL RGB (DIN-6), composite video, and via the optional IBM PCjr TV Connector as RF for a domestic TV. The IBM 4863 Display is the matched CRT monitor sold for the PCjr.
Outputs are direct-drive RGB, composite video and the connector for the optional IBM PCjr TV Connector; all are right-angle-mounted connectors through the rear panel.<ref name="trjr" />


== Sound ==
=== Sound ===


Sound is produced by the Texas Instruments '''SN76496'''. The chip provides three square-wave tone channels (with programmable frequency and 16-step amplitude) and one noise channel. Output is mixed with the PC speaker on the motherboard and exposed on a 1/8" mono audio jack on the rear. Sound from the SN76496 is output to either an external amplifier or, via the TV Connector, to the TV speaker.
A Texas Instruments '''SN76496N''' complex sound generator: three channels of programmable frequency that can be mixed to form chords, plus a noise generator, each of the four independently attenuated. An '''8255''' selects which source reaches the audio output.<ref name="trjr" /> Output is available on the rear audio jack and, through the TV Connector, on the television's speaker.


== Keyboard ==
== Keyboard ==


The PCjr keyboard is a 62-key infrared wireless unit. The first revision is the famously criticised "'''chiclet'''" keyboard with small flat blank rubber keycaps. IBM replaced it in mid-1984 with a revised keyboard that has full-travel keycaps with printed legends and a similar key layout (still 62 keys).
The PCjr keyboard is a '''low-profile, 62-key, detached keyboard with full-travel keys''', laid out as a standard typewriter keyboard with a function key and cursor-control keys added. The key tops are unmarked for their alternate functions; overlays carry the functional descriptions.<ref name="trjr" /> The first production keyboard used flat rubber keys and was widely criticised; IBM replaced it in 1984 with the full-travel version the technical reference describes.


[[File:IBM PCjr keyboard.png|center|thumb|480px|The IBM PCjr 62-key infrared wireless keyboard (revised typewriter version).]]
Inside is an '''80C48''' CMOS microcontroller. It normally sits in a standby power-down mode, wakes on a keypress, scans, transmits, and goes back to sleep &mdash; which is why the keyboard runs on '''four batteries''' and has no on/off switch.<ref name="trjr" /> It buffers up to 16 scan codes and performs key debounce.


The keyboard communicates with the system unit via an infrared (IR) link. The IR receiver is at the front of the system unit. Strong sunlight, certain fluorescent lighting and other IR sources can interfere with reception; for reliable typing, IBM also supplied an optional cable that connects the keyboard directly to the system unit.
Two behaviours are specific to this keyboard:


The keyboard can be operated in '''Fn-key''' mode (where a secondary legend printed in green/blue on the front face of each key is accessed via the Fn modifier) or normally. Plastic keytop overlays were supplied for several software products to relabel the keys.
* '''Phantom-key detection.''' Unlike every other keyboard in the IBM PC family, the PCjr's detects invalid combinations of three or more simultaneous keys, sends a hex 55 scan code to its own processor, and discards all keys pressed at that moment. BIOS ignores the resulting code.<ref name="trjr" /> Games that expect three-key combinations will not get them.
* '''The keyboard cord changes the electronics.''' Plugging the optional cord into the modular jack '''disconnects the batteries''' and '''disables the infrared transmitter'''; the &minus;CABLE CONNECTED signal disables the infrared receiver in the system unit as well, so other infrared devices in the room stop interfering.<ref name="trjr" />
 
Data reaches the system unit the same way over either link: serially encoded words with '''odd parity''', biphase-encoded by the 80C48 with a 440 &micro;s bit cell, over a simplex link.<ref name="trjr" /> Scan codes are compatible with the PC and XT at the BIOS level; every key is typematic and produces a make code and a break code, the break code being the make code plus hex 80.<ref name="trjr" />


== Cartridge and Sidecar Expansion ==
== Cartridge and Sidecar Expansion ==


The PCjr exposes two '''ROM cartridge ports''' on the front of the system unit (below the diskette drive). Each cartridge contains up to 64 KB of ROM and is memory-mapped at fixed system locations. Cartridge ROM may also substitute for the system BIOS or BASIC, via chip selects /CS6 and /CS7 routed through the connector.
Two '''ROM cartridge slots''' on the front of the system unit map into the reserved cartridge areas at E0000, E8000 and D8000.<ref name="trjr" /> Cartridge BASIC, which supplies the PCjr's Advanced BASIC capability, is one of these &mdash; and because it is in ROM it takes no user memory, unlike ''BASICA'' on a 5150.<ref name="trjr" />
 
On the right-hand side of the system unit, behind a removable cover, is a proprietary '''sidecar bus'''. Sidecars latch on and extend the machine horizontally, and can be chained. IBM's own sidecars include the Memory Expansion Attachment, the Parallel Printer Attachment, the Power Expansion Attachment, the internal modem and the Cluster Attachment. The sidecar bus is '''not''' the 5150's I/O channel and PC/XT cards do not fit it.
 
The power budget is the practical limit on sidecars rather than the bus: see below.
 
== Power ==
 
'''The external brick is a transformer and nothing else.''' IBM describes the supply as a "33 Watt, three voltage-level, two-stage supply": the first stage is a power transformer providing a single, short-circuit-protected, extra-low '''ac''' output, and the second stage is a printed-circuit board '''inside the system unit''' &mdash; the Power Board &mdash; which converts that ac into the machine's three dc levels.<ref name="trjr" /> IBM's connector specification for the transformer output reads "Pin 1 &ndash; 17 Vac, Pin 2 &ndash; GND, Pin 3 &ndash; 17 Vac".<ref name="trjr" />
 
There is therefore '''no rectifier, no regulator and no high-voltage bulk capacitor inside the brick'''. Rectification, regulation and all of the over-current and over-voltage protection are on the Power Board.
 
{| class="wikitable styled-table" style="width:85%; text-align:center;"
|+'''IBM PCjr &mdash; dc outputs (IBM figures)'''
! Rail !! Minimum load !! Maximum load !! Regulation tolerance
|-
| +5 Vdc || 1.5 A || 3.6 A || &plusmn;5%
|-
| +12 Vdc || 0.04 A || 1.2 A || &plusmn;5%
|-
| &minus;6 Vdc || 0.0 A || 0.025 A || &plusmn;16%
|}


On the right-hand side of the system unit, behind a removable cover, is a proprietary '''sidecar bus'''. Sidecars latch onto the side of the system unit and extend it horizontally. Multiple sidecars can be chained. IBM-sold sidecars include the Memory Expansion Attachment (128 KB), the Parallel Printer Attachment, the PCjr Power Expansion Attachment (a second power supply for sidecars), the IBM PCjr Internal Modem (300 baud), and the PCjr Cluster Attachment.
'''There must be a minimum 1.5 A load on +5 V for the &minus;6 V rail to be present at all.'''<ref name="trjr" /> A lightly loaded machine that measures no &minus;6 V is behaving normally.


[[File:IBM PCjr expanded with sidecars.jpg|center|thumb|480px|An IBM PCjr fitted with several sidecar expansion modules along the right side. (Image: Wikimedia Commons)]]
Protection is split between the two stages:<ref name="trjr" />


The sidecar bus is not the same as the 8-bit ISA bus and is not electrically compatible with PC/XT cards.
{| class="wikitable styled-table" style="width:85%;"
|+'''IBM PCjr &mdash; protection'''
! Where !! Type !! Trip
|-
| Transformer input || Non-resettable fuse, plus thermal / over-current || Not user-resettable
|-
| Power Board, +5 V over-voltage || Fuse || 6.3 &plusmn; 0.7 Vdc
|-
| Power Board, +12 V over-voltage || Fuse || 14.4 &plusmn; 1.4 Vdc
|-
| Power Board, +5 V over-current || Resettable || about 3.9 A
|-
| Power Board, +12 V over-current || Resettable || 2.2 &plusmn; 0.9 A
|}


== Power ==
The over-current protection resets by '''removing the fault condition for at least five seconds and then re-applying power'''.<ref name="trjr" /> Over-voltage protection is by fuse, so a Power Board that has been through an over-voltage event may need more than the fault cleared.


The PCjr uses an external '''AC power brick''' that connects to the rear of the system unit. The brick supplies regulated DC to the motherboard. Sidecars that require additional current can be powered through the optional IBM Power Expansion Attachment.
A fully configured machine &mdash; modem, memory expansion and diskette drive fitted, but no sidecars &mdash; leaves roughly '''400 mA of +5 V''' for sidecars.<ref name="brutman" /> That is not much, and a heavy sidecar load produces flaky operation rather than a clean failure. IBM's Power Expansion Attachment adds capacity using a second transformer of the same type.


== General Maintenance ==
== General Maintenance ==


Battery care (the PCjr does not have a CMOS battery), keyboard IR receiver care, sidecar latching and motherboard inspection are documented in [[IBM PCjr Maintenance Guide]].
Cleaning, keyboard and infrared care, sidecar handling, diskette drive care and what to check on the Power Board are in [[IBM PCjr Maintenance Guide]].


== Troubleshooting ==
== Troubleshooting ==


POST beep codes, the limited PCjr error code set, keystroke loss during floppy access, sidecar power problems and the well-known IR keyboard interference issues are documented in [[IBM PCjr Troubleshooting Guide]].
POST beep codes, the PCjr error code set, keystroke loss during diskette access, sidecar power problems and infrared interference are in [[IBM PCjr Troubleshooting Guide]].


== Capacitor Replacement ==
== Capacitor Replacement ==


Tantalum capacitor failure on the PCjr motherboard and AC adapter is documented in [[IBM PCjr Capacitor Replacement Guide]].
Tantalum failure on the system board and electrolytic ageing on the Power Board are in [[IBM PCjr Capacitor Replacement Guide]].


== Gallery ==
== Gallery ==
<gallery mode="packed" heights="220">
<gallery mode="packed" heights="220">
File:IBM PCjr with display.jpg|IBM PCjr with the IBM 4863 display
File:IBM PCjr with display.jpg|IBM PCjr with the IBM 4863 display
File:IBM PCjr keyboard.png|62-key infrared wireless keyboard
File:IBM PCjr keyboard.png|The 62-key cordless keyboard
File:IBM PCjr motherboard.jpg|IBM PCjr motherboard
File:IBM PCjr motherboard.jpg|IBM PCjr system board
File:IBM PCjr expanded with sidecars.jpg|IBM PCjr with several sidecars attached
File:IBM PCjr expanded with sidecars.jpg|IBM PCjr with several sidecars attached
File:IBM PCjr internal teardown.jpg|IBM PCjr internal teardown
File:IBM PCjr internal teardown.jpg|Inside the system unit; the Power Board is the second stage of the supply
</gallery>
</gallery>


== Related Pages ==
== References ==


* [[IBM PCjr Maintenance Guide]]
<references />
* [[IBM PCjr Troubleshooting Guide]]
* [[IBM PCjr Capacitor Replacement Guide]]
* [[IBM PC (5150)]] &mdash; sibling product (business-oriented PC)


== References ==
== Related Pages ==


* [https://en.wikipedia.org/wiki/IBM_PCjr IBM PCjr &mdash; Wikipedia]. Source for release/withdrawal dates, model prices, sales figures and chronology.
* [[IBM PCjr Maintenance Guide]] &middot; [[IBM PCjr Troubleshooting Guide]] &middot; [[IBM PCjr Capacitor Replacement Guide]]
* [https://www.brutman.com/PCjr/ Mike Brutman's PCjr resource]. Reference for keyboard handling, hardware specifics and software notes.
* [[IBM PC (5150)]] &mdash; the business sibling
* [https://minuszerodegrees.net/4860/doco/4860_documentation.htm IBM 4860 (PCjr) &mdash; Documentation pointers], minuszerodegrees.net.
* [[IBM Cassette BASIC]]
* IBM, ''IBM PCjr Technical Reference''. Source for SN76496 register layout, sidecar bus, cartridge interface chip-select assignments (/CS2&ndash;/CS7), and motherboard chip layout.
* '''IBM documentation hosted here:''' [[IBM PCjr Technical Reference]] &middot; [[IBM PCjr BASIC Reference (June 1983)]]
* [http://nerdlypleasures.blogspot.com/2015/10/the-journey-of-pcjrtandy-sound-chip.html The Journey of the PCjr/Tandy Sound Chip]. Reference for the SN76496 and its reuse on the Tandy 1000.


{{Navbox-IBMComputers|state=expanded}}
{{Navbox-IBMComputers|state=collapsed}}


[[Category:IBM]]
[[Category:IBM]]

Latest revision as of 00:20, 25 September 2026

IBM PCjr
IBM PCjr (4860) with its companion IBM 4863 display
Specifications
DeveloperIBM Entry Systems Division, Boca Raton
ManufacturerIBM
TypeHome / consumer personal computer
ReleasedMarch 1984 (announced 1 November 1983)
DiscontinuedMarch 1985
CPUIntel 8088 @ 4.77 MHz
Memory64 KB on the system board (4860-004) or 128 KB (4860-067); expandable by sidecar
StorageOne 5.25" 360 KB half-height diskette drive (4860-067 only); cassette port; two ROM cartridge slots
DisplayBuilt-in colour/graphics subsystem using a Motorola 6845 CRTC and IBM's Video Gate Array; direct-drive RGB, composite video, and RF through the optional TV Connector
SoundTexas Instruments SN76496N complex sound generator, plus the PC speaker, selected by an 8255
OS / FirmwareIBM PC DOS 2.1; IBM Cassette BASIC in system ROM, with Cartridge BASIC for Advanced BASIC
Predecessornone — new product line
Successornone — line ended after one year
Model no.4860

The IBM PCjr (model 4860) was IBM's attempt at a low-cost home personal computer. It was announced on 1 November 1983, shipped from March 1984, and withdrawn a year later. It is broadly compatible with the IBM PC (5150) at the BIOS level, but enough is different — no DMA controller, a different memory map, a gate-array video subsystem with extra graphics modes, a sound chip instead of just a speaker, ROM cartridges instead of expansion slots, an infrared keyboard and a sidecar bus instead of the I/O channel — that it is a separate platform in practice.

Models

[edit | edit source]
IBM PCjr submodels
Submodel On-board RAM Diskette drive Modem
4860-004 (Entry) 64 KB none none
4860-067 (Enhanced) 128 KB 360 KB 5.25-inch optional internal

Architecture

[edit | edit source]

An Intel 8088 at 4.77 MHz, the same CPU clock as the 5150 and 5160. The machine has no DMA controller, so all I/O including diskette transfer is done by the CPU in tight programmed-I/O loops.[1]

Memory

[edit | edit source]

The system board's 64 KB of RAM is built from eight 64K-by-1, 150 ns devices — Motorola MCM6665AL15, Texas Instruments TMS4164-15 or equivalent — and has no parity.[2] It is mapped at the bottom of the 1 MB address space, and the same physical storage is aliased into the next 64 KB of address space.

The video buffer is system RAM. The same memory serves both as the display buffer and as the 8088's main RAM: the processor can reach it at 00000 upwards, or through a 16 KB window starting at B8000, with a page register deciding which physical page a read or write lands on.[2] This is the root of the so-called "PCjr cliff" — software written to assume the 5150's fixed video addresses does not necessarily work here.

ROM is built from 32K-by-8 modules (Mostek 38000, TMM23256P or equivalent), also without parity, at 250 ns access and 375 ns cycle time.[2] The BIOS, diagnostics and cassette BASIC occupy F0000 to FFFFF; two standard application cartridge areas sit at E0000 and E8000, with D8000 reserved for a further cartridge.[2]

Video

[edit | edit source]

The colour/graphics subsystem is implemented with a Motorola 6845 CRT controller and IBM's Video Gate Array (VGA, LSI5220), a CMOS gate array that generates the storage timing (RAS, CAS, WE), the direct-drive and composite-colour outputs and the status signals.[2] The gate array also holds a 16-entry palette used in all alphanumeric modes, with any input maskable off for modes that do not support the full 16 colours.[2]

That palette and the shared-RAM buffer are what give the PCjr its two well-known extra modes beyond the standard CGA set — 320 × 200 in 16 colours and 640 × 200 in 4 colours. Tandy reused the same arrangement in the Tandy 1000, which is why software calls them "PCjr/Tandy" modes.

The character generator is an MCM68A316E or equivalent, 350 ns static, pin-compatible with 2716 and 2732 EPROMs — which makes a custom font a realistic modification.[2]

Outputs are direct-drive RGB, composite video and the connector for the optional IBM PCjr TV Connector; all are right-angle-mounted connectors through the rear panel.[2]

Sound

[edit | edit source]

A Texas Instruments SN76496N complex sound generator: three channels of programmable frequency that can be mixed to form chords, plus a noise generator, each of the four independently attenuated. An 8255 selects which source reaches the audio output.[2] Output is available on the rear audio jack and, through the TV Connector, on the television's speaker.

Keyboard

[edit | edit source]

The PCjr keyboard is a low-profile, 62-key, detached keyboard with full-travel keys, laid out as a standard typewriter keyboard with a function key and cursor-control keys added. The key tops are unmarked for their alternate functions; overlays carry the functional descriptions.[2] The first production keyboard used flat rubber keys and was widely criticised; IBM replaced it in 1984 with the full-travel version the technical reference describes.

Inside is an 80C48 CMOS microcontroller. It normally sits in a standby power-down mode, wakes on a keypress, scans, transmits, and goes back to sleep — which is why the keyboard runs on four batteries and has no on/off switch.[2] It buffers up to 16 scan codes and performs key debounce.

Two behaviours are specific to this keyboard:

  • Phantom-key detection. Unlike every other keyboard in the IBM PC family, the PCjr's detects invalid combinations of three or more simultaneous keys, sends a hex 55 scan code to its own processor, and discards all keys pressed at that moment. BIOS ignores the resulting code.[2] Games that expect three-key combinations will not get them.
  • The keyboard cord changes the electronics. Plugging the optional cord into the modular jack disconnects the batteries and disables the infrared transmitter; the −CABLE CONNECTED signal disables the infrared receiver in the system unit as well, so other infrared devices in the room stop interfering.[2]

Data reaches the system unit the same way over either link: serially encoded words with odd parity, biphase-encoded by the 80C48 with a 440 µs bit cell, over a simplex link.[2] Scan codes are compatible with the PC and XT at the BIOS level; every key is typematic and produces a make code and a break code, the break code being the make code plus hex 80.[2]

Cartridge and Sidecar Expansion

[edit | edit source]

Two ROM cartridge slots on the front of the system unit map into the reserved cartridge areas at E0000, E8000 and D8000.[2] Cartridge BASIC, which supplies the PCjr's Advanced BASIC capability, is one of these — and because it is in ROM it takes no user memory, unlike BASICA on a 5150.[2]

On the right-hand side of the system unit, behind a removable cover, is a proprietary sidecar bus. Sidecars latch on and extend the machine horizontally, and can be chained. IBM's own sidecars include the Memory Expansion Attachment, the Parallel Printer Attachment, the Power Expansion Attachment, the internal modem and the Cluster Attachment. The sidecar bus is not the 5150's I/O channel and PC/XT cards do not fit it.

The power budget is the practical limit on sidecars rather than the bus: see below.

Power

[edit | edit source]

The external brick is a transformer and nothing else. IBM describes the supply as a "33 Watt, three voltage-level, two-stage supply": the first stage is a power transformer providing a single, short-circuit-protected, extra-low ac output, and the second stage is a printed-circuit board inside the system unit — the Power Board — which converts that ac into the machine's three dc levels.[2] IBM's connector specification for the transformer output reads "Pin 1 – 17 Vac, Pin 2 – GND, Pin 3 – 17 Vac".[2]

There is therefore no rectifier, no regulator and no high-voltage bulk capacitor inside the brick. Rectification, regulation and all of the over-current and over-voltage protection are on the Power Board.

IBM PCjr — dc outputs (IBM figures)
Rail Minimum load Maximum load Regulation tolerance
+5 Vdc 1.5 A 3.6 A ±5%
+12 Vdc 0.04 A 1.2 A ±5%
−6 Vdc 0.0 A 0.025 A ±16%

There must be a minimum 1.5 A load on +5 V for the −6 V rail to be present at all.[2] A lightly loaded machine that measures no −6 V is behaving normally.

Protection is split between the two stages:[2]

IBM PCjr — protection
Where Type Trip
Transformer input Non-resettable fuse, plus thermal / over-current Not user-resettable
Power Board, +5 V over-voltage Fuse 6.3 ± 0.7 Vdc
Power Board, +12 V over-voltage Fuse 14.4 ± 1.4 Vdc
Power Board, +5 V over-current Resettable about 3.9 A
Power Board, +12 V over-current Resettable 2.2 ± 0.9 A

The over-current protection resets by removing the fault condition for at least five seconds and then re-applying power.[2] Over-voltage protection is by fuse, so a Power Board that has been through an over-voltage event may need more than the fault cleared.

A fully configured machine — modem, memory expansion and diskette drive fitted, but no sidecars — leaves roughly 400 mA of +5 V for sidecars.[1] That is not much, and a heavy sidecar load produces flaky operation rather than a clean failure. IBM's Power Expansion Attachment adds capacity using a second transformer of the same type.

General Maintenance

[edit | edit source]

Cleaning, keyboard and infrared care, sidecar handling, diskette drive care and what to check on the Power Board are in IBM PCjr Maintenance Guide.

Troubleshooting

[edit | edit source]

POST beep codes, the PCjr error code set, keystroke loss during diskette access, sidecar power problems and infrared interference are in IBM PCjr Troubleshooting Guide.

Capacitor Replacement

[edit | edit source]

Tantalum failure on the system board and electrolytic ageing on the Power Board are in IBM PCjr Capacitor Replacement Guide.

[edit | edit source]

References

[edit | edit source]
  1. ↑ 1.0 1.1 Mike Brutman, IBM PCjr Hardware. Long-running community reference for the machine. Source for the split supply description, the short and long Power Board variants rated at 33 W and 45 W, the roughly 400 mA of +5 V left for sidecars on an internally fully configured machine, the behaviour of overloaded sidecar configurations, the existence of power sidecars using the same external transformer, the absence of a DMA controller and its consequences, and the point that the system has no fan of its own while a diskette-equipped machine has a fan on the drive.
  2. ↑ 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 2.20 2.21 IBM, IBM PCjr Technical Reference — hosted on this wiki as File:IBM PCjr Technical Reference.pdf and documented as IBM PCjr Technical Reference. "System Power Supply" and its Operating Characteristics, Over-Voltage/Over-Current Protection and Connector Specifications subsections for the two-stage 33 W supply, the transformer's short-circuit-protected extra-low ac output and its "Pin 1 - 17 Vac, Pin 2 - GND, Pin 3 - 17 Vac" connector specification, the internal Power Board that converts that ac to three dc levels, the +5 V / +12 V / −6 V rails with their load currents and regulation tolerances, the 1.5 A minimum +5 V load required for −6 V to be present, the input requirements, the power available at the I/O connector on a fully configured machine, and the input and output protection tables including the five-second reset time. "Hardware Differences" for cassette BASIC residing in system ROM and cartridge BASIC providing Advanced BASIC capability in ROM.
[edit | edit source]