EJK's Tandy Model 100
Here is to be my personal knowledgebase for the venerable, incredible durable, versatile, not edible, yet uniquely enduring Tandy Model 100 Portable Computer. First, an overview of this wonder and some of the history behind it.
The Tandy Model 100 was the first commercially successful portable computer. It weighs about 5 pounds. It occupies the same footprint as an 8.5x11 inch sheet of paper, and is about 1.5 inches tall. It has a 72-key typewriter-style keyboard (with actual push switches soldered to a PCB under every key),a 40x8 character LCD screen, and AC power, rs-232, parallel, and cassette ports. It also has a builtin modem. It runs for 20 hours on 4 AA batteries. And it runs a Microsoft operating system and programming language, both of which are simple, stable, and a pleasure to use (Strange, I know, but true).
Those are a few of it's more interesting features. Yet now, nearly twenty-two years after it was first introduced by Tandy-Radio Shack in 1983, the M100 (as it's loyal, dedicated users call it) remains remarkably useful. Just a few of the things I've personally done with it:
- Numerical integration, volume calculation, related rates
- Basic torque calculation
- Extensive note taking in language classes
- Iterative graphical program (Sounds complicated. Isn't.)
- Remote Linux terminal
These are just the things that were memorable enough to occur to me after a moment's thought. The fascinating thing about the M100 is it's verstaility. Much of this comes from it's builtin Microsoft Basic, which lends itself extremely well to "quick and dirty" programs, that are used once to accomplish a specific task. They are then erased and never heard from again. Occasionally, a program proves itself valuable or powerful enough to be worth saving and polishing. Many of these are found at Club 100, one of the longest-running M100 groups. Club 100 maintains what is (to my knowledge) the largest repository of M100 programs and knowledge on the 'Net.
Another major element of the M100 is it's elegant simplicity and durability. Inside it's black-and-beige case, it's a single-board computer! One board, the size of the writable area of a sheet of paper, contains everything that is the M100. One auxiliary board holds the LCD, and another is the keyboard, but all the processing and storage is on one board. To open the M100 up for surgery, just take a phillips screwdriver and remove four screws from each corner, shake, and *pop* - the computer opens up. You can find the 300 baud internal modem; The 80c85 CPU, running at 2.4 megahertz; The bank of four 8-kilobyte SRAM memories; The Microsoft Basic chip; The battery backup. The M100 is so elegantly simple. When something goes wrong, you can (or rather, must) actually fix it rather than go buy a new one.
M100 problems && Solutions
For the last 3 years I've had my M100, I've used it a lot and found
out many of it's quirks and bugs. Here is a picture of it's inside
that you can refer to when reading below:

Tandy M100 problems and solutions:
0) OMG! My M100 cold booted! Nnnnoooooooooooooooo!!!
1) Backup Battery failure
2) Embarassing or otherwise untimely sounds
3) Printing non-ASCII
characters
Public Enemy #0: Cold Restarts
The M100 uses battery-backed RAM to store information. This ram
requires an absolutely uninterrupted supply of at least 3.6V or it
will lose everything in about 60 nanoseconds. If you follow my battery
back advice below, you shouldn't have to worry about that.
Far more dangerous is the cold reboot. Even though it is damn reliable
(Never thought you'd hear someone say that about Microsoft software,
huh?), it is still imperfect. Particularly if you leave the M100 on
and put it in a backpack, enough buttons will get pressed to most
likely cause a serious screwup. After panicking for a few minutes, you
may think the problem is over when you clear out the command
buffer. This is much like what happens if you are irradiated with 1000
rads of nuclear radiation: You will experience apparent well being for
about 10 hours, then suddenly die.
You may be able to detect early signs of coming death if your M100
does strange things (KILL command generates SN? error, for
example). This means that the system is corrupted, and gauranteed to
fault in the near future. When that happens, it will lock up and all
your files will dissappear when you restart it. If you can still use
it, get all your programs & data off it by any means possible - to
another computer, tape, floppy, anything. If the M100 cold starts,
these will be present but completely unreadable.
The cardinal rule is: DO NOT PANIC! Unless it was a particularly ugly
crash, most likely all your text files are safe! When the M100
restarts, it does NOT clear it's memory, so everything that was there
is probably still there, but the M100's file table has been wiped
clean. However, because of this, the M100 will now blindly overwrite
previous information. WHEN THE M100 COLD STARTS, DO NOT ENTER ANYTHING
BUT BASIC! TEXT AND TELCOM WILL WIPE OUT MEMORY CONTENTS!!!
Thus, your number one priority is to get everything out of your M100
onto another computer before doing anything else. To do this, you need
a null modem cable. Open up a terminal in your computer, configure the
serial port the M100 is attached to 600 baud/8bit word, and have it
concantate the output to either the console or a file. Then, go to
your M100, enter BASIC, and type these commands: 'open "com:48n1d" for
output as 1' [enter]
'forx=32768to65535:lprintchr$(peek(x));:nextx'. When you are finished,
your console or text file will have a complete dump of your M100's
memory. From there, you can find individual text files and send them
back. ML or BASIC programs not previously evacuated are most likely
lost.
But don't get overconfident, either... After recovering all of my
(nearly full) M100's contents (including two school assignments,
needed notes, and a French/English dictionary I'd been working on for
weeks) to console and thinking I'd gotten a 1-up on the cold start,
I'm still completely and utterly at a loss trying to comprehend how in
the name of f*** I managed to lose it.
Problem #1: Battery Backup Failure
The first real problem with the M100 that I came across was the result
of how I use it: I carry it around with me all day in my backpack, and
it gets bounced around quite a bit. The first thing to go was it's
backup battery. This is a small 3.6 volt, 60mAh NiCad battery that
holds the SRAM data when the computer is off. It is the size of 3
large button cells stacked, and is held in place by nothing more than
it's soldered leads. If you pop an M100 open, it's near the top center
of the board by the AA holder. All that bouncing around continually
shook the NiCad loose and continually wiped my memory out. My solution
was as elegantly simple as the M100 itself: Run flexible wires between
the battery and it's solder points and tape the battery in. Vibration
problem solved and M100 reliability returned to 100%.
Problem #2: Embarassing sounds
If you do something the M100 wished to express strong disapproval of
and really doesn't like, it will make a conspicuously loud, high-pitched BEEP. It
is also capable of making 16383 other pitches lasting multiples of a
fraction of a second. However, when you are in a classroom where you
technically aren't even supposed to have a computer (but the teacher allows
it because after the first day no one pays it any attention), BEEP is
not good. The simple solution (assuming to you don't need sound for
any other purpose) is to unwire the speaker. Look at the picture
above - the speaker wire is the one at the bottom of the LCD
panel. Pull it out, problem solved.
Problem #3: Printer
doesn't understand M100 characters
Tandy's model 100 does a far better job at allowing users to input
extended characters [runs off trying to find out how to enter ^ and '
characters to PC keyboard] than most PCs. Getting accented vowels is
just the CODE key away. Why doesn't my PC have a code key to let me
enter accented vowels, huh? However, as easy as they are to enter to
the M100, I've found them much more problematic to export to Dead Tree
Format. Thing is, the M100's extended ASCII character set is now 22
years old and unless you have a matching DMP-10x series printer from
the same era, it's pretty much gauranteed that the M100's extended
chars don't match the printers'. The solution to this problem is
two-fold:
First, you have to find out if the printer does in fact have the
characters, but at different places (ie ASCII 140 rather than 173). To
do this, enter this one-line program in BASIC with the printer
attached and on:
10 forx=32to255:lprint"(";x;":";chr$(x);")";:nextx
This will generate a list of every character and it's ASCII value on
the printer. If the accented vowels are there, then you simply need a
program to remap your extended characters to the printers'. That is an
exercise I'll leave to the reader. If the accented characters are
absent, it's a bigger problem: Your printer's character set needs to
be changed.
I have a Panasonic KX-P2023 printer that I use for printing with the
M100. It's got 5 builtin fonts and numerous character sets, and
connected to a PC is capable of up to 360x180 graphics. Snicker all
you want - unless you do digital photography, 180x180 halftone is
plenty. Anyway, I leared from Bill Marcum on the M100 mailing list
that the following will set the the KX-P2023 and apparently many
compatible printers into international character mode:
10 E$=CHR$(27)
20 LPRINT E$+"t1"+E$+"6";
At that point, get another character list and rewrite your
remapper. Problem solved thanks to Bill Marcum!
----
Contact ejkeever AT nerdshack DOT com.