Sunday, May 18, 2014

Apple //c vs. IBM PCjr. - Clash of the Computer Titans, 1984

Two compact machines, with limited or very limited expansion were released by two titans of the Industry in 1984.  The IBM PCjr. and the Apple //c were both heralded with great fanfare and greeted with great initial enthusiasm.  However, the PCjr. failed within a year and the Apple //c was generally seen as a poor man's Apple IIe.

Input

The Apple //c has a built-in keyboard, but it contained all the keys of the Apple IIe, plus an 80/40 column switch.  The PCjr. supported a wireless keyboard with 21 fewer keys than an IBM PC keyboard.  There were substantial compatibility problems with the PCjr. keyboard interface when programs were intended to run on a PC.  There were some minor compatibility issues with programs expecting the older keyboard.  The PCjr. keyboard uses rubber domes, while the //c uses scissor-keyswitches like a laptop.  While expensive, it is possible to replace the PCjr. keyboard with a nicer keyboard with more keys.

The PCjr. supported two joysticks with two axes and two buttons each.  The Apple //c only had one joystick port, which supported one joystick with two axes and two buttons.  The joystick port was also used for the mouse.  A PCjr. required a serial mouse or a bus mouse.  The PCjr. also supported a light pen.

Advantage : Apple //c (out of the box)

Storage

The PCjr. was only designed for one floppy drive, but that drive was a doubled sided drive supporting 360KB disks.  A second drive required an expensive expansion.  The Apple //c used the standard Apple II single sided disk drive supporting 143KB per side.  However, there was a port in the back of the machine for a second drive, no extras required.  The PCjr. Diskette Controller and BIOS relieved much of the burden from the programmer and CPU of reading and writing to the disk.  The Apple //c's drive controller (for 5.25" drives) is an integrated version of the TTL-logic based Disk II controller, so pretty much all reading and writing is done via software.  Even without factoring in the disk flipping, the PCjr.'s diskette drive was easier to use.

The Apple //c, with a ROM upgrade, could also support a UniDisk 3.5" drive for 800KB 3.5" disks.  The UniDisk was an intelligent drive to compensate for the slow CPU of the Apple IIe/IIc and is a pricey upgrade these days.  The IBM PCjr can use a 720KB drive or most common 1.44MB drives (with 720KB read/write capabilities) if you use DOS 3.2 or better.

The PCjr. supported a cassette interface for saving and loading programs from BASIC.  Even though all previous Apple II models supported the cassette interface for saving and loading in BASIC, the Apple //c dropped the cassette jacks.  The cassette interface was intended for the basic model PCjr., which didn't come with a disk drive and only 64KB of RAM, and most people bought the enhanced model.

Neither system was intended for a hard disk, and both machines required special drives and interfaces, which were extremely pricey.  Today there is jrIDE for the PCjr. and SmartPortVHD for the //c.  Both are hobbyist projects and tend to be available only at certain times and command relatively high prices.  The jrIDE is connected by the PCjr. sidecar bus while the SmartPort has to go through the much slower floppy interface (its like a big UniDisk drive).

The PCjr. also had a pair of cartridge ports for loading games and instant loading of programs.  There were eight games released and about as many application programs.  Lotus 1-2-3 required both cartridge ports.

Advantage : PCjr.

Memory & CPU

The PCjr. was sold in 64KB and 128KB models, and that was it for memory expansion.  Most people bought the 128KB model, since the 64KB didn't come with a hard drive.  Before the end of its life, it could be expanded to 640KB and 736KB with some work.

The original Apple //c had 128KB and was not intended to be expandable.  Apple released the Memory Expansion Apple //c in 1986 with a memory expansion slot.  The maximum RAM supported was 1MB. Nonetheless, even the pre-Memory Expansion Apple //c can be upgraded to 1MB of RAM, thanks to products from Applied Engineering.  That AE upgrade could also support a Z80 CPU for CP/M compatibility.  Few games ever supported more than 128KB on the //c, but there are many games that require 256KB or more to run on the PCjr.

The PCjr. used an 8088 CPU running at 4.77MHz.  The Apple //c used a 65C02 CPU running at 1.02MHz. The comparison is not quite apples to apples.  The 65C02 can execute many instructions in fewer clock cycles than the comparative 8088 instruction.  The 8088 had many more instructions and registers and could utilize up to 1MB through memory segmentation.  The 8088 uses 16-bit registers or can split them into 8-bit registers, only the external data bus is 8-bit.  The 65C02 only has 8-bit registers, but its access to the first 256 bytes of RAM is almost as fast as access to registers.  The 65C02 could only address 64KB of RAM and Apple //c implemented a complex bankswitching scheme inherited from its predecessors.  A complex game like Microsoft Flight Simulator would show marked improvements on the 8088.

The PCjr. could be upgraded to an NEC V20 for a modest speed boost, and a board could allow the CPU to be run at a 7.3MHz clock rate.  The Apple //c could have its CPU replaced with a 4MHz or 8MHz Zip Chip, turning it into something very much like an Apple //c+

Advantage : PCjr. (stock)

Output

The Apple //c supported all the graphics modes of the 128KB Apple IIe with a revision B motherboard.  This includes 40 column by 24 line text, 80 column by 24 line text, 40x48 low-resolution graphics, 280x192 high resolution graphics and 560x192 double high resolution graphics.  The low and high resolution graphics modes could also support four lines of text.  All Apple IIs, except for the IIgs, produce color by NTSC color composite artifacts.  For text they look best on small monochrome monitors.

There was a DA-15 pin external video connector on the //c, this was used mainly for the LCD attachment.

The IBM PCjr. supported the graphics modes of the IBM CGA card and more.  The PCjr. was only BIOS-level compatible with CGA, unlike the Apple //c, which was hardware compatible with the graphic modes of the earlier machines.  The PCjr. supported 40 column by 25 line text, 80 column by 25 line text, 320x200 4 color graphics, 640x200 2 color graphics, 160x200 16 color graphics, 320x200 4 color graphics and 640x200 4 color graphics.  The PCjr. supported RGBI monitors for sharp images and composite video for color composite artifact color.  It also had a port for an RF modulator.

The Apple //c had a built in speaker, but it was still the same software driven 1-bit device inside all Apple IIs.  There was a volume and headphone jack.  The Apple //c did not have standard expansion slots, so it could not support sound and music boards like the Mockingboard in the ordinary game-compatible way.  The Mockingboard D was made for the //c, but it used the serial port, not the internal bus.

The PCjr. could act like the PC speaker with its timer driven sound, but also had a 3-voice Texas Instruments sound chip.  This chip could produce square waves or noise, but did not use the internal piezo tweeter.  There also was a Speech Attachment available to record and playback digitized sounds and speech.  There was something similar for the Apple //c, the Echo IIC.

Advantage : PCjr.

Communications

The PCjr. had one serial port built in and also could support an internal modem.  The Apple //c had two serial ports.  One was intended for a modem, the other for a serial printer.

The PCjr.'s built-in serial port was capable of 4,800 baud and the official modem was a 300 baud model.  There was a third-party modem built for the slot that supported 1200 baud.  The Apple //c's Super Serial Card-derived serial ports could support a 19,200 baud rate.

The PCjr. had an add-on parallel port that was very a common purchase.  Parallel printers are much faster than serial printers and nowadays are more common.  Moreover, there are PC compatible Parallel Port Ethernet adapters that can enable very fast (comparatively speaking) transfers to the PCjr.

Advantage : PCjr.

Software

The Apple //c was designed to be as compatible with software as possible, as it is essentially a condensed version of the Apple IIe.  Virtually all Apple II disk software is compatible with it.  Very minor incompatibilities exist due to the updated keyboard, the 65C02 not supporting the illegal opcodes of the 6502, DOS 3.2 disks and untransfered cassette programs.  The PCjr. could not make the same boast, as its IBM PC compatibility was hit or miss.  Its issues with PC compatibility are legion and well known.

Advantage and Conclusion : While the PCjr. beat the Apple //c hands-down in almost every comparison, the Apple //c just has a far more expansive library than the PCjr.  That library, which came on 5.25" floppies, is far better preserved and accessible than the software released for the IBM PC and PCjr. of the 1980s.

2 comments:

blakespot said...

Quite relevant to this is Charles Eicher's account of the Christmas '84 sales battle between these two systems.

http://www.bytecellar.com/2005/07/26/from_the_trench/

Greg Soravilla said...

I say obsessed as if it's a good thing. Keep 'em coming! Love the blogs - they remind me I'm not the only one of my kind. :-)