Most of the classic pocket computers are primarily programmed in BASIC. Machine-language is possible through the use of PEEK, POKE, and CALL. Newer pocket computers, which are targeted more for the educational market, added C and Assembly, although in at least some cases the C was a bytecode language instead of a true compiler. All of mine are old enough that they are limited to BASIC and machine language.
Sharp BASIC came in two main variants. The PC-1500 family had its own unique variant tailored around that machine's unique architecture and its 8-bit LH5801 CPU. The rest of Sharp's many pocket computers were based on the SC61860 and the later SC62015 CPUs (all are 8-bit), and used the other variant of BASIC (S-BASIC). This variant had at least three major revisions, with each revision adding new commands and significant changes to the tokenization of them.
My current collection consists of:
|Radio Shack TRS-80 PC-2|
Web ResourcesHere are some good resources for information and software for pocket computers on the web. Most of them are European, but have at least some English. In some cases, an automated translator like Google Translate might be useful.
S-BASIC ProgrammingProgramming is done in a special programming mode (PRO), separate from the normal RUN mode used to execute programs and perform calculations. All of these older pocket computers contain a single monolithic programming space, so separate "programs" are really separate parts of one large program. You run a specific program within the space by issuing RUN with the desired starting line number, or through the use of a user-assignable shortcut label. Shift-Key combinations will also directly run programs through their labels.
For example, if the programming space contains
200:"G": INPUT A:B=SQR(A): PRINT "The √ of ";A;" is ";B;"."
- Although programs in S-BASIC contain a colon between the line number and first statement, it is not required to type this.
- Strings within quotes do not need the terminating quotation mark if it is the last item on a line.
- Spaces are not required at all, except within strings. This means that variables cannot contain keywords, though, since they get parsed out. For example,
XSIN=4gets converted into
X SIN=4, which produces a syntax error when run.
- BASIC commands have official abbreviations. For example,
- Parentheses are optional for mathematical functions unless you need to bracket an expression. For example,
SIN 45is identical to
- The square root function (
SQR) can be replaced by the single-character square root symbol "
<SHIFT><O>on the PC-1360).
120"G":IN.A:B=√A:PR."The √ of ";A;" is ";B;".
Variables are limited to eight-character names, but as stated above cannot include a keyword. Only the first two characters are significant, however. So
XOLG refer to the same memory space.
Also in common with other 8-bit BASICs, S-BASIC commands are converted into tokens as a program is entered. This dramatically saves space. The "Old" and "New" variants of S-BASIC use one-byte tokens, while the "Extended" variant of S-BASIC and the BASIC used on the PC-1500 family use two-byte tokens.
Year Introduced 1984 CPU SC61860 @ 768kHz ROM 40kB RAM 10kB internal Display 24 characters x 2 line
(not pixel addressable)
Significant Digits 10 mantissa + 2 exponent Interfaces 11-pin serial interface Expandability CE-125 printer w/ microcassette recorder
various printers and interfaces
Power 2x CR2032 coin cells Size 135mm x 70mm x 9.5mm Weight 115g
This little guy is truly a "pocket computer." Tiny enough to put in a shirt pocket, yet still fully BASIC and machine-language programmable and with most of the capabilities of the larger devices. It even has a decent amount of RAM on-board. It trades off expandability and keyboard ergonomics to achieve this, and with only the serial interface its selection of peripherals is more limited (although still pretty broad).
The tiny keyboard is the Achilles heel of this model. The keys are not so tiny as to be useless, but they are a chore to use for any sustained length of time. As a result, its programmability is great for quickly putting something together, but it would be painful to develop something significant on this.
The two-line screen is a big improvement over earlier one-line models, and makes editing programs much easier. Unfortunately, it is character-based and not pixel-addressable, so graphics aren't possible on this beyond simple character-based bar graphs.
This uses the "New" variant of S-BASIC with one-byte tokens. As a result, it executes code slightly faster than the PC-1360, although both are slower than the PC-1500 series.
Year Introduced 1987 CPU SC61860 @ 768kHz ROM 138kB RAM none internal, 2 slots for RAM cards
expandable to 64kB total
Display 24 characters x 4 lines
150x32 pixels (fully addressable)
Significant Digits 10 mantissa + 2 exponent Interfaces 2x RAM card slots
11-pin serial connector
15-pin Sharp printer connector
Expandability RAM Cards
CE-152 cassette tape recorder
CE-126P tape interface/printer
CE-140P color dot-matrix printer
CE-515P & CE-516P color plotters
Power 2x CR2032 coin cells Size 7-5/32" x 2-27/32" x 5/8"
182mm x 72mm x 16mm
Weight 8 oz
This is my favorite pocket computer, despite being the slowest pocket computer I've got, with a clock speed of only 768kHz! However, it has a very nice 4-line, 150x32 pixel, fully-addressable screen. Its size is an excellent compromise between pocketability and usability, and it has two bays to accept battery-backed RAM cards.
Somewhat unusual for a pocket computer, it has no internal RAM of its own, so one RAM card is always required. When purchased new back in the day, it came with one 8kB RAM card. RAM cards were available in 2kB, 4kB, 8kB, 16kB, and 32kB sizes. Since each RAM card has its own CR-1616 coin cell battery, which is only drained when the card isn't powered by its host computer, programs are retained even if the main unit's batteries run out or if the card is removed.
The large screen makes entering and editing programs very nice. It is actually possible and even pleasant to develop complex software on this without resorting to a desktop text editor or working it out on paper first. This is not true of most single-line pocket computers. This trait is what makes this computer so much fun to take with you while on the go. Its terrific battery life (many months on a pair of CR2032 coin cells) helps it to travel well, too.
The PC-1360 utilizes an extended version of S-BASIC that includes commands for graphics, printing, tape I/O, and even floppy disk I/O. This extended version contains too many commands to convert to one-byte tokens (since many possible byte values are taken up by ASCII characters), so it uses two-byte tokens for all BASIC statements. These tokens consist of the byte
&FE followed by an additional byte.
I have read that its very similar predecessor, the PC-1350, which lacks some of the BASIC commands (in particular for floppy disk I/O), executes the same code slightly faster despite running at the same clock speed, and I suspect the PC-1350 uses the older "New" S-BASIC version that only had one-byte tokens. These single-byte tokens would be faster to interpret. I do not have a PC-1350 of my own to verify this, however.
The PC-1360 lacks any of the specialized calculator keys present on some other models, so although it makes a fine calculator, it can take a bit of patience since each function has to be typed out fully. To calculate the sine of 43, for example, requires typing
SIN43<ENTER>. On a more calculator-focused model such as the PC-1450, there is a dedicated SIN key so you just hit
<SIN>43<ENTER> as you would on a fully-algebraic scientific calculator, such as the EL-5200.
The 11-pin serial interface and 15-pin printer interface were Sharp pocket computer standards that existed on many models. The 11-pin interface, in particular, was on almost all models (except for the PC-1500 series), so peripherals such as the CE-126P tape interface/printer worked across the product line.
Radio Shack TRS-80 PC-2
Year Introduced 1982 CPU LH5801 @ 1.3MHz ROM 16kB RAM 2kB internal (PC-1500/PC-2)
8kB internal (PC-1500A)
one slot for a RAM card (up to 32kB)
Display 26 characters x 1 line
156x7 pixels (fully addressable)
Significant Digits 10 mantissa + 2 exponent Interfaces 1x RAM card slot
60-pin expansion connector
Expandability RAM card
CE-150 color plotter w/ tape interface
various printers and interfaces
Power 4x AA batteries Size 195mm x 86mm x 25mm Weight 375g
The Radio Shack TRS-80 PC-2 is an OEM version of the Sharp PC-1500. The only difference is in the keyboard layout and look of the case. The Sharp PC-1500A is a revised version of the PC-1500 with more internal RAM and a slight color change on the front panel. In all other respects, these are identical units.
Despite being an early unit, it is remarkably powerful, with significantly more speed than any of my other pocket computers. The LH5801 CPU is different than the one used in most other early Sharp pocket computers, and the BASIC dialect is unique to this family as well. Its BASIC shares many syntactical traits and shortcuts as the other models, but several commands are different and the tokenization is totally unique. Like most of Sharp's pocket computers, it can be programmed in machine language through PEEK, POKE, and CALL. Since the CPU and hardware interfaces are unique to this line, machine language programs are not portable to or from other models, and even BASIC programs have to be modified if they use any extended commands.
Its speed is very apparent while editing programs. The editor in PRO mode is super zippy and responsive, and it is very quick at scrolling through many lines of code. Its one-line display is constricting with only 7 vertical pixels but is fully pixel-addressable, and you would be amazed at some of the graphics games that have been written for this thing! It processing speed is fast enough that it makes for better interactive games than the PC-1360, despite the significantly smaller screen.
There does exist a 4-line descendent of this machine, the PC-1600, but that particular model is somewhat rare and in high demand with collectors. Therefore, it fetches a pretty high price in the collector's market.
The 60-pin connector at the unit's left edge allows ROM cartridges to be plugged in, or to dock with one of a variety of printers and interfaces. This interface is unique to the PC-1500 series, though, and it lacks the 11-pin serial interface and 15-pin printer interface that is standard on most of Sharp's other pocket computers. As a result, it cannot use common Sharp peripherals such as the CE-126P and has its own line of add-ons. It uses standard AA batteries, making it very easy to power. It also has a DC input jack.
Probably because of its easy availability through Radio Shack, unlike most other pocket computers this model had quite a following in the United States (and worldwide), and there is quite a bit of information available about its internals. Sharp and Radio Shack even released a technical reference manual, and provided examples of machine language programming, ROM calls, and physical interface details. This is probably the most well-documented pocket computer model available. They sold in great numbers, and are consequently easy to get ahold of inexpensively.
This model also has a real-time clock, unlike most of the other models.
The tradeoff for this power, flexibility, and openness is that the unit is rather bulky. Although it's definitely a pocket computer, it takes a rather massive pocket to carry it. It fits nicely in a bag, and is slightly larger than but similar in shape to an HP 48 calculator.
Despite its bulk, it has a quality feel and a brilliant keyboard that puts Blackberries, the Sharp Zaurus, and even most other pocket computers and calculators (including HP) to shame. Given the choice between this and many of the crappy early 8-bit so-called home computers (hello Mattel Aquarius and Timex/Sinclair 1000!), one would have done well to choose this.