Radio Shack TRS-80 PC-2

Description

Brand: Radio Shack
Model: TRS-80 PC-2
Type: BASIC-programmable Pocket Computer
Picture: Radio Shack TRS-80 PC-2
Batteries: AA x 4
Lifetime: Introduced: 1982
Terminated: 1985
Notes: This is TANDY / Radio Shack’s version of the SHARP PC-1500A model. It’s not an exact copy of the PC-1500A, the look and keyboard layout are different. In my opinion the PC-2 is better looking but functionally they are the same.

This Pocket Computer can be used for direct input calculations, BASIC programming and machine language. The machine language part was excellently documented in articles provided by TANDY’s Bruce Elliot and partly in the Technical Reference Manual. Later there was even a complete and documented disassembly of the Pocket Computer’s ROM.

The Pocket Computer has various modes. PRO mode for entering, listing and editing BASIC programs. RESERVE mode (Shift-MODE) to define function keys and RUN mode for direct calculations and other operations.

Direct input lines can be edited by pressing the back arrow to edit them.

Peripherals

There are a number of peripherals for this Pocket Computer. There is a list of them on this Wikipedia page of the SHARP PC-1500(A) (link validated 2024-01-13). The CE-150 four-colour pen plotter with cassette interface is a must. It has a carrousel with four small ballpens for writing text and freely plotting graphs. Noteworthy is also the CE-158 RS232 and parallel communication dock.

Various memory upgrades are available for the memory slot at the back of this Pocket Computer.

Due to the popularity of this Pocket Computer, its excellent and thorough technical documentation and machine programmability many third party peripherals and extensions were developed.

Personal Experience

Introduction: When I was still in high school there was a TANDY shop in a nearby shopping centre. I was a (very) regular customer there. Buying sachets of assorted LEDs, accessories for my (not so legal) radio hobby, and enjoying the TANDY Catalogue. One day I saw the SHARP PC-1211 there. I was intrigued but when I found out it didn’t support POKE, PEEK and CALL, my interest waned. Then came along the PC-2 which did, and I had to have one. Took some work convincing my father but finally I could buy the PC-2 and CE-150 pen plotter.
SHACC: SHACC (SHARP HAnd Computer Club) was a Dutch user club dedicated to all of SHARP’s Pocket Computers. It had quite a dedicated user base, club meetings with buns and coffee and loads of Pocket Computers and peripherals, and AREAD, the club’s magazine. The club had activities from 1983 but stopped in 1985 due to waning interest. Some more info on SHACC and downloads of the AREAD magazine can be found here: PC-1500.info, SHARP clubs : AREAD/SHACC from the Netherlands (link validated 2024-01-13).
LeoBAS: When used the way it was meant to be used this Pocket Computer is powerful enough but machine programming set it free.

One of the first programs I wrote for that purpose was a BASIC program to browse through the memory per 16 bytes displaying its ASCII content and with the ability to POKE memory locations easily. I dubbed this program ZAP (DEF-Z). Using ZAP I tried to understand the PC-2’s memory mapping and when I found it its BASIC command table. The memory map would be different when a peripheral was attached such as the CE-150. Its memory block started with the ASCII character "U" which indicated to the calculator there was a BASIC command block located. This meant that one could extend this calculator’s BASIC command set!

It took a big amount of time I was actually meant to do school work but in the end I managed to write my own set of BASIC commands. First in memory block &6800 - &6FFF. How I got memory available in that memory area I do not remember. Later I created my own memory extension &8000 - &9FFFF using a modified ATARI CMOS RAM module bought at the Dutch SHACC user club, soldering it in place using a memory select chip and many unlabeled wires. I now do not dare open up my PC-2 anymore in fear of breaking stuff.

In the end I wrote three BASIC command blocks seriously making the Pocket Computer more powerful. This set, called LeoBAS used memory block &8800 - &9FFF in !PV mode so it can not be used unless the PC-2 has been modified to support that memory block.

Something like the TE-1507 (link validated 2024-01-13) might work but I’m not sure their project is still alive. It is not possible to modify a regular RAM module to chip-select in this memory block because the chip-select lines required are not available on the connector.

My hope is that one day a PC-2/PC-1500 emulator might make it possible to use this memory block.

My own LeoBAS BASIC command extension includes a new keyboard routine with auto-repeat and extra function keys. It has an alternative set of lower case characters because I didn't like the original set. It has many extra alphanumeric symbols, and all of these could be plotted using the CE-150 pen plotter as well. There are many handy new BASIC commands for BASE-n operations, plus handy commands for graphical functions. See the downloadable manual below.

The final version of my own set of BASIC command additions uses memory block &8800 - &9FFF bank switched on !PV. For those interested in experimenting, the block can be downloaded here:

Download link (revision 20241010) > LeoBAS.

Free to use, but use at your own risk of course. Needs the newer ROM version on the PC-2/PC-1500A. I have made some changes to the original 1994 revision. One bug fix, and I have changed the shape of the LeoBAS lower case "f" character.

The original manual I wrote (in Dutch, and please note the postal address at the end of the manual is no longer valid) can be found here:

View in new window > LeoBAS Manual 1996.
Download link > LeoBAS Manual 1996.

Please note this early manual only covers my first memory block &9800 - &9FFF.

Late 2022 I created a revised manual, in English, and covering the complete set of my BASIC command set. Last changed on 2024-10-30. Its current fifth revision can be found here:

View in new window > LeoBAS Manual 2024.
Download link > LeoBAS Manual 2024.
Emulator: In the period 1989 - 1994 I wrote a PC-2 emulator for the PC-2 on my Mac Plus, in THINK Pascal. Earlier in my life I had an Apple ][ clone without keyboard and used my PC-2 with a special machine code program as a keyboard for the Apple ][. It was therefore very easy to make a dump of my PC-2’s ROM and my own LeoBAS ROM to a file which I could then transfer to my Mac Plus: I simply had my PC-2 type its own memory dump to a file on my Apple ][!

It took quite some time and fine tuning and I wrote it as a Desk Accessory to make multi-tasking less work. The emulation of the processor was not difficult thanks to all the documentation. I used the 16 bit lower part of pointers to access the emulated memory easily. I still have all my THINK Pascal sources and all the project files, running in SheepShaver, on my modern Mac.

PC-2 Emulator

This is a picture of my emulator running in SheepShaver, a Mac OS 9 emulator, showing the aforementioned ZAP program displaying the memory contents at &9800. Note the non-standard characters part of LeoBAS. It also runs under UTM on Macs with Apple Silicon.

PC-2 Emulator

Here it is displaying my revised set of lower-case characters.

I really wanted to publish my emulator at the time but did not dare to, due to the emulator containing the original SHARP ROM code. I didn’t even dare to use brand names, so mine is called the Radio Shock TRaSh-80.

Compared to PockEmul’s excellent emulator(s) mine was quite rudimentary. No peripherals, no support for bank switching. It does have support for the clock chip and interrupts. I am still quite proud of what I was able to accomplish. After Mac OS 9 died I have not tried to create a modern version of it which is a pity but there are better alternatives now.

I’m still hoping PockEmul (link validated 2024-01-13) will at one time make it possible to have a writable and safable memory block &8800 - &9FFF (or &8000 - &9FFF for easier chip selecting) for the PC-2 and PC-1500A. That way I could finally have my own legacy in my back pocket using PockEmul’s iOS App!