Return to Floodgap Retrobits' Tandy! Pocket! Mania!
[PC-4-san.]

TPM: Tandy Radio Shack Pocket Computer PC-2

The PC-2 stands alone. Partly because there's no room for it with any other unit because it's so corkin' fat, but mostly because it had the most unique, most powerful, most hackable architecture of any Tandy Pocket Computer. This is a Pocket Computer without peer, and we're going to spend a lot of time talking about this ungodly monster.

Remember: in the computer option descriptions, M = memory expansion (with maximum available), T = cassette tape interface, P = printer interface, S = serial interface. Lists of non-Tandy peripherals and options are not guaranteed to be exhaustive. MSRPs best guess from available comtemporary catalogues.


[The PC-2 family (26-3601). Click the picture for an enlarged view.]

Tandy Radio Shack Pocket Computer PC-2

Introduced 1982
Originated as Sharp PC-1500
CPU: LH5801 (CMOS 8-bit) @ 1.3MHz
LCD: 24 character, "gapless" 156x7 dot resolution
OS: S-BASIC (16K ROM)
Base memory (free/total bytes): 1850/3584
Size: 195x86x25.5mm, 375g (0.83lb)
Options: +4K/+8K/(+16K) M, T, P, S

[The PC-2 (26-3601). Click the picture for an enlarged view.]

Tandy Radio Shack Pocket Computer PC-2

Sharp was trying a daring thing in 1982, giving people cutting their teeth on the bumper crop of new home computers something they could really sink those chompers into.

There was something that the otherwise laudable PC-1211 (a/k/a PC-1) lacked, and that something was the ability to bang directly on the hardware. ['I see!'] "Pocket BASIC" (S'-BASIC) was all well and good, but there was no direct way to access the machine's internals as everything was sandboxed within the BASIC interpreter. Part of this might have had something to do with the machine's byzantine and somewhat convoluted internal architecture, but a generation of programmers were learning from books and user's groups how to bust into their home computer's inner sanctum and drive them directly in assembly language, and no doubt no small amount of criticism had been levelled at Sharp for their then-flagship pocket computer not having the same flexibility. There were other things, too -- give us memory expansion! Give us a bigger, better BASIC! Give us dot-addressable graphics! Give us a tone generator! Give us more peripheral options! And someone at Sharp heard. Better still for us in Tandy-land, someone at Tandy thought this thing would sell pretty well at Radio Shack too.

Opening the box, one thing strikes you -- this beast is big. Really big. Like, freaking huge, dude. But nevertheless in that ginormous, grotesquely obese case lurked a utter dream machine: it had a nice, wide screen; it finally had dot-addressable graphics (the only Tandy Pocket Computer that did, eventually); it had a memory expansion slot that could take a whopping 16K; it had a full I/O connector and a full complement of peripherals; it could generate single-voice tones; and it had a BASIC that went the distance with graphics commands, improved string and array handling, and most importantly of all, direct memory access so you could fiddle in PC-2 RAM to your heart's content. Reservable keys, programmable function keys, even lower-case text: it was all there in the palm of two of your hands. Plus, the tremendous convenience of using regular old AA batteries beat the ever-lovin' crumb out of coin cells. (You could even hook it up to a power supply!)

Even more fascinating was the fact that you could write in true machine language and have the PC-2's CPU execute it, natively, at full speed -- the only Tandy Pocket Computer that had this feature (and the dumbed-down Assembler feature of the PC-6 doesn't count). The CPU, unfortunately, was completely new but still very powerful for the size, and because it was thoroughly documented by Sharp we'll spend a little time discussing it and what it does within the PC-2 as it's quite hard to get CPU datasheets on any of the other Pocket Computers.

The LH5801 CPU is an 82 instruction, 8-bit CMOS CPU able to directly access 128K of RAM (two 64K banks using internal bank switching, similar to CPUs like the Commodore 64's 6510). It has built-in LCD support, external clock support, a 9-bit timer, three interrupts (NMI, maskable IRQs and timer IRQs), an eight-bit accumulator, three 16-bit (or six 8-bit) pointer and general purpose registers, and a 16-bit program counter. Although addresses are nominally 16-bit, thus 64K, another bank is accessible with the ME0 and ME1 lines effectively making the address bus "17-bit." It runs at 1.3MHz, based on a 2.6MHz clock that is divided down. Within the 64K memory map of the PC-2, its main system ROM lives at $c000 (&HC000) through $ffff, with its reset and IRQ vectors at the very end, similar to CPUs like the MOS 6502.

The LH5801 can drive the LCD itself, but it uses the display chips to do it which contain their own RAM. Interestingly, most of the RAM in the display chips isn't being used for the display, but rather for variable storage; variables E$-O$ are in display chips 1 and 3 ($7600-$76ff) and variables P$-Z$ live in display chips 2 and 4 ($7700-$77ff). Mercifully, all of this is entirely memory-mapped I/O. The rest of the default memory map is rounded out by user RAM (where most programs live) between $4000 and $47ff, with reserve/menu/function key definitions at $4000 and BASIC text starting by default at $40c5, and an additional 1K of system RAM at $7800-$7bff which contains system flags and variables A$-D$ and A-Z. A system ROM option was offered (living at $8000-$bfff), but Tandy never released anything to populate that range. If memory expansion was installed, it occupied one of several Module RAM slots depending on size; BASIC and other pointers were relocated as necessary based on the new bottom of memory. (See this scanned memory map [52K .gif].) Tandy only released the 4K and 8K expansion cartridges, both of which sat at $4800 at the end of base memory, meaning no relocation was needed.

Expansion through the side I/O port is controlled by the LH5810/LH5811, a dedicated circuit controlling two pairs of 8-bit parallel bidirectional ports, one pair of 8-bit parallel output ports, three IRQ lines (two in/one out), a CPU wait line and a serial data line.

BASIC on the PC-2 is a marvel. The first and eventually only example of Sharp's S-BASIC in a Tandy Pocket Computer rather than the PC-1's S'-BASIC, "Extended Pocket BASIC" (as Tandy dubbed it) added sound commands, direct dot addressing (GCURSOR/GPRINT/POINT), ON ERROR/GOTO/GOSUB, INKEY$, WAIT, TIME (for its built-in clock!), a full complement of string functions, and bitwise operators. Although the same pre-reserved 26 variables existed of course, things like A and A$ could co-exist, variable names could be two letters long, strings could now be a full eighty characters (using a new DIM syntax for things such as DIM B$(3)*12, defining a 4-element [0-3] array of 12-character strings), and arrays could be dimensioned up to two dimensions. Some of these features survived to be implemented in the upgraded S'-BASIC of other Sharp models (and in our purview, the PC-3).

[Click the thumbnail for a 2/83 PC-2 advertisement.] Despite its sizeable (and I do mean sizeable) power, the PC-2 had a rough time getting established in 1982. Part of this was clearly its staggering introductory price -- a whopping MSRP of $279.95 -- and because many of its best features needed extra hardware, such as its fabulous four-colour plotter printer and cassette interface, you could easily be out over $500 with the plotter's MSRP of $239.95. Being that Pocket Computers were still in relative infancy and many ignorant first-time buyers still thought of them as oversized calculators, the expense and size of what was apparently a bristling calculator doing a Barry Bonds BALCO impersonation initially made the sell very tough. Matters were not helped by Tandy rushing the unit to market before all pieces were in the puzzle, particularly in the documentation department (the manual has an insert saying that the "TRS-80 PC-2 Programming Guide" will not be available until summer 1982 at extra cost, and actually directing them to a PC-1 (!) title "Problem Solving on the TRS-80 Pocket Computer" in the meantime). The promised programming guide did appear later that year, but confused buyers with the new name "Getting Started on the PC-2" and led many people to wonder where the "real book" actually was.

At least on the price front, Tandy wised up and slashed the unit to a much more attractive $199.95 (the printer/plotter/cassette interface got a price drop also, but a much more modest $20 to $219.95). This new price tag, shown in the February 1983 ad at left, significantly increased sales and today PC-2's are very plentiful on the used market. Tandy also rebadged and sold some of the Sharp memory expanders, released a modified form of the PC-1500's RS-232 interface, and offered a large range of PC-2 specific software which turned out to be the last unique software titles Radio Shack would release for any of their Pocket Computers (although the PC-3 had a "software line" too, its titles were simply retreads of the earlier PC-1 software line).

The printer/plotter deserves special mention for being the only plotter in the Tandy line. Unfortunately, it's another NiCad system, meaning you'll have it under your desk to keep the legs propped up in no time unless you're good with desoldering batteries now and then. However, when it did work, it generated fast and sharp 4-colour graphics using its tiny plotter pens on a virtual 4096x4096 grid (though due to limitations in head motion and paper size, the widest horizonal range is 0-216). A full collection of line drawing commands allowed generation of shapes, and characters could be printed in nine different sizes at up to 11 characters/s and 47 CPL. Unfortunately, the gears had an annoying habit of stripping and breaking even under light load.

One really nice expansion option Tandy did not import is the Sharp CE-161, a 16K memory unit with battery backup. Not only does this mean your software can survive a battery change, but it means you can make "temporary ROM" cartridges out of your software. These are not common devices, but they do appear from time to time (including pre-installed in PC-2s being sold by clueless liquidators). Because the CE-161 is the exact size of the expansion space and door, the door does not go back over the expansion slot (so a simple look at the underside will tell you if it's present without opening anything). In fact, it is so large that it needs a prop piece of plastic installed with it!

The PC-2's unprecedented hackability in its class spawned a generation of adoring fans, especially when Sharp technical documentation surfaced and circulated allowing bare-metal programming and true emulation. Nowhere is this better demonstrated than the outstanding PC1500.COM, where one can find a rich collection of technical documents, games, emulators and manuals. Some of the games are extremely impressive for the screen size, including Vanguard clones, a pseudo-3D maze crawl ("Tempter"), shootemups, and a captivating scrolling Pac-Man clone ("Gloupman"). Unfortunately, the emulators are presently Windows-only. Nevertheless, it should be obvious if you've been reading even the tiniest bit up to this point that you really are dealing with a unit on par with its desktop contemporaries. If it's not so important that you walk around looking like you have a tumour coming out of your groin, and you want the most powerful, most flexible Tandy Pocket Computer out there, this is your machine. The PC-4 is more convenient with its segmented memory and much more portable, and the PC-3 itself has a significant size advantage with similar base memory and peripheral options, but neither of them match the PC-2 for software flexibility or performance. If you're seized with a lust for pocket power, there's just no substitute.

Tandy discontinued the PC-2 in 1984.

Here are the Tandy options/catalogue numbers and their Sharp equivalents for the PC-2:

Other sites on the PC-2:




Back to the main page | PC-1/3/8 | PC-4/5/6/7
... Cameron Kaiser

Andre the Giant would use a PC-2.