Loading Programs Onto A TRS-80 Model 100

We’d guess that you don’t have a TRS-80 Model 100 computer sitting around. But we’ve heard that the decades-old hardware is built like a tank so if you search around you can probably get your hands on a working unit. The Model 100 boasted some nice features, one of which was a 300 baud modem allowing you to transfer data onto the device. [MS3FGX] wanted to give it a try but had to do some work to get the Model 100 to communicate with modern hardware.

This could have been a much more involved process, but since the Model 100’s modem uses common communications standards it’s really just a matter of hooking it up and choosing the right COM port settings on a computer. In this example a Linux box is used with the program Minicom. It is configured to communicate at 300 baud 8N1 (8 data bits, no parity bit, and one stop bit).

With software in place you’ll need to make your own cable. [MS3FGX] does this using a DB-25 connector for the Model 100 side, and a DB-9 connector for the serial port on the Linux box. He’s got a pin-out for the cable on the second page of his guide. It sounds like it should be no problem to use a USB-serial converter if you don’t have a serial port.

Once everything is in place you’ll be able to transfer BASIC programs from your computer to the Model 100.

41 thoughts on “Loading Programs Onto A TRS-80 Model 100

  1. I used to have a couple of DOS scripts that would provide a menu list of what was on the m100 and what was on the host and via the script on the m100 you could transfer files (.BA and .DO only) back and forth. I’ll have to see if I still have the scripts somewhere. I loved my m100 and still have it. On rare occasion I still use it to serial into switches and whatnot. Four 4 AA’s, you got a week of heavy use. /nostalgic..

    1. Hi,
      I’am a lucky owner of a tandy 102 for 2 days, and I want to control solid state relays with it.
      Is it possible to get a wiring diagram from you (printer port to relays) ?
      I’m a newbee in this kind of computers, and therefor I’m asking for the basic programm that controls the outputs of the printer port.

      Best regards,


  2. I believe my dad has one of these laying around in a box in the basement. Its cool to see these old devices still operational, but with smart phones net books and tabs. Becoming cheaper by the day it makes using these devices more of a skill test than any kind of useful application.

    1. Are you suggesting that 30 year old computers should have practical value today? Is that really your complaint about them? Of course they are of limited practical value today. It’s goddamned antique hardware that runs BASIC.

      “You know, it’s cool that this carbide lantern still works, but flashlights kind of make it less than practical.”

      1. The M100 will run for a solid 24 hours on a set of 4AA batteries. With typical use we are talking about a months of battery life on a single set of 4 AA batteries. Some reporters still use them to write news articles in remote areas of the world. They upload them to a computer via serial or modem when able. They do still have a use believe it or not! There are ram expansions, etc. I had a 1200 baud modem taped to the bottom of mine which ran on a 9V battery. I used it to check my email when internet dialups were still common in the 90s. There are still plenty of uses, such as connecting with embedded devices for testing or configurations. There was a battery powered floppy drive and a battery powered printer to go with it!

        I had the disk drive but it was a pain to use… no DOS, so you had to enter a program to load from disk. Still a neat device… formatting a 3.5″ disk with running on AA batteries. It ran for 10 hours on a set of AAs.

  3. Back in the day, those were *very* popular
    w/ people needing remote terminals. Quite
    common around oil companies even as
    recently as 5-6 years ago. People who
    had used them weren’t about to discard
    them and kept them squirreled away in
    their offices even if they weren’t being
    used. Running off AA cells was a big
    factor. Lots of places oil companies
    operate didn’t/don’t have the
    infrastructure for much else.

    One of the things people outside the
    industry don’t grasp is the concept of
    being down costing $50k/minute and a lot more
    if the well blows out :-(

    Everyone said the 100 was built like a tank
    and really liked the AA factor.

  4. This guy… wow! Consoling into a computer, so hard. Not only are we accomplishing nothing but the author doesn’t know admin of club100.org is dead.

    Now its a footnote in end of the pedestrian article with a big Game Over pic of the M.100 in the header.

  5. I still have my Zeos Pocket PC at home. Still a much more comfortable keyboard than my Mytouch 3G. Could even play Gauntlet II on it. Had a modem the size of a pack of cigarettes.

  6. Yes, Rick over at Club100 died a while ago, but the “Model T” scene still lives. I am 23, for context, and I found my Tandy 102 absolutely indispensable in classes for taking notes. It’s hardy, reliable, functional, and inexpensive, and 40 hours of battery life is nothing to sneeze at, even if it is coming from AA batteries.

    Also, for the “why would you do it that way, it’s so stupid” crowd, you’ve probably also never understood why anyone would restore and use old cars or radios.

    1. Actually, you both are correct.

      If you are to believe Wikipedia:
      This naming pattern is not always followed, however. Because personal computers first used DB25 connectors for their serial and parallel ports, when the PC serial port began to use 9-pin connectors, they were often labeled as DB9 instead of DE9 connectors, due to an ignorance of the fact that B represented a shell size. It is now common to see DE9 connectors sold as DB9 connectors. DB9 nearly always refers to a 9-pin connector with an E size shell. The non-standard 23-pin D-sub connectors for external floppy drives and video output on most of the Amiga computers are usually labeled DB23, even though their shell size is two pins smaller than ordinary DB sockets.

  7. The TRS-80 Coco 3 was my first computer every. I still have it, and some more that I salvaged from the trash. I didn’t have the tape backup at first, and would spend a day typing in programs to play… then I would turn it off and lose all of the data. I used to play the hell out of Thexder on the Coco3. Awexome game back in the day: http://en.wikipedia.org/wiki/Thexder

    I was able to find a TRS-80 Model 100 at a yardsale about 10 years ago… It’s really stinking cool, but probably doesn’t make me very cool having one. I would like to put some programs on it someday. Thanks for the post!

  8. I wanted one of these when it was new to run my robot(s) with a computer that didn’t require an external display(rare at the time). I was only 10 years old, so I couldn’t afford it, but I did dream. Last summer at the local electric COOP free drop-off-your-unwanted-electronics weekend, I dropped off two old 25″ CRT console TVs, and noticed a model 102 that someone had just left to throw away. Thank goodness they let me have it for free when I asked. Works perfectly with four fresh AA batteries. Still haven’t done anything with it, though, but maybe I’ll pull it out to try this(dubious) hack.

    Also(re: Galane), there may not be a DB-9 connector in existence now, but as the specification calls for, if someone were to make a DB sized shell with only 9 pins, it would officially be a DB-9 connector. But I know what you are saying… :)

  9. I used my Model 200 (the Model 100 with a flip-up screen) on CompuServe. They ran a dial-up BBS service where you could chat with people in real time, upload/download programs, etc. Remember this was in early 1980’s. The cost for connection was very high, and it was 300,1200,2400 baud. But the chat part was addicting, and a whole online community was created.

    BASIC programs I submitted to CompuServe are still online today, through the database created by Model-T (Club100). The database contains Model 100,102,200 BASIC programs to download and use (it’s free).

    Even though my Model 200 has the Word Processor ROM (TextPower200), the main function was the dial-up terminal. You could plug into any phone line, dial-up a server and transfer information. Having BASIC always available, programs could connect automatically if a dial tone was detected.


    Find manuals, programs, and information for using your 100,102,200

    1. Exactly, and I still use mine :) I have yet to find a better keyboard on a portable device.

      Infact, it has been upgraded to 32k ram and has the built in option ROM2/Cleu installed, giving me an assembler.

      Also if this article has gotten your interest take a look at

      or any of the other pages over at http://www.club100.org I hope that they keep the site going as its loss would be great :( R.I.P. Rick :(

  10. You can transfer a faster than 300 baud. Also, the BASIC in these supports interrupts (!!), so they are great for data collection / logging, or simple automation hacks & experiments before you commit the idea to a microcontroller.

  11. That the TRS-80 Model 100 is still around and functional is not news, hardly. It had basically nothing in common with the normal TRS-80s (no software or compatibility) and was only a TRS-80 in name. In fact it was made by a different company.

    What made the Model 100 special was its full size keyboard and large characters. That made it incredibly useful whenever you needed to take notes in the field or as a terminal.

    Reporters loved them because of their weight (far less than a laptop computer), keyboard, and display. A slow modem is perfectly adequate for a 15 inch story.

    Ham radio operators love them for portable packet radio operation and still use them today.

    Hooking up the Model 100 to a computer is trivial, since it’s got a standard 25 pin RS-232 connector in addition to the modem. You do not need to wire your own cable, a junk box 9 to 25 pin serial cable plus a modem eliminator will do the job.

    There’s decent documentation online (helped when I was given a unit to check out since I had forgotten the various commands to set up the RS-232 port) and even a bunch of Model 100 games at one of the fan websites.

  12. I have a Model 100 sitting around, but sadly it’s more for nostalgia than actual use. I’d love to find an actual application for it, but it’s hard to justify taking it with me to client meetings, especially when I don’t have any other geeks there to show off to. Between this, my Newtons, and some CE devices, I feel like I can open up my own museum of portable computing.

    I’d love to find the acoustic couplers you were able to buy for this thing. I always found the idea of being a journalist and filing stories from the field via a payphone fascinating. Sadly, I don’t think most modern modems even support 300bps (Bell 103?) anymore. And any dialup service available probably expects to see PPP. On the plus side, I bet even cell phones and VOIP would be okay with it.

  13. I still have a Model 102 (an updated 100, that is just slightly thinner and lighter, and slightly more rugged because of some surface mount parts) that I mostly use as a console for routers and switches. Can’t beat the battery life. I am considering possibly modding it slightly to backlight the display for when I am working in dark areas. (I have some locations that are hidden in drop ceilings…)

  14. I have a couple of 100s, a 102, and a 200 around here somewhere. It is very simple to use tese in a shell account on linux. you need ncurses installed, but the newer systems lack the terminfo entries for the old tandy laptops.

    #### Radio Shack/Tandy

    # Radio Shack TRS-80 Color Computer from Howard Walter via BRL
    coco|Radio Shack TRS-80 Color computer w/ COLORCOM/E,
    am, xenl,
    cols#32, lines#16,
    bel=^G, clear=\Ej\EH, cr=^M, cud1=^J, cuf1=\EC,
    cup=\EY%p1%’@’%+%c%p2%’@’%+%c, cuu1=\EA, ed=\EK, el=\EJ,
    home=\EH, ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, kcuf1=^I,
    kcuu1=\^, nel=^M^J,
    dt200|td200|Tandy 200,
    am, xt,
    cols#40, lines#16,
    bel=^G, clear=\EE, cr=^M, cub1=^H, cud1=^_, cuf1=^\,
    cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM,
    ed=^L, el=\EK, il1=\EL, ind=^J, kcub1=^], kcud1=^_, kcuf1=^\,
    kcuu1=^^, rmso=\Eq, smso=\Ep,
    trs80|trs-80|radio shack trs-80 Model I,
    cols#64, lines#16,
    bel=^G, cr=^M, cub1=^H, cud1=^J, ind=^J,
    # Radio Shack TRS-80 Model 100 (and NEC PC-8200) from TRS-80 Microcomputer News
    # Corrected and revised by James D. Wood
    # (Further changes based on contributions from Jim — DAG)
    # “ve” & “vi” exchanged as suggested by Randy Sebra of AMSAA.
    # Does anybody know whether the kr & ku codes can be used for nd and up?
    # Here is a list of Model 100 control codes from an IBM terminfo file:
    # esc A – cursor up
    # esc B – cursor down
    # esc C – cursor right
    # esc D – cursor left
    # esc E – clear screen and home cursor
    # esc H – home cursor
    # esc J – erase to end of screen
    # esc K – erase to end of line
    # esc L – insert line
    # esc M – delete line
    # esc P – turn on cursor
    # esc Q – turn off cursor
    # esc T – sets system line (?)
    # esc U – resets system line (?)
    # esc V – turn off LCD (?)
    # esc W – turn on LCD (?)
    # esc Y row column – cursor motion (:cm=\EY%+ %+ :)
    # esc j – clear screen, don’t move cursor
    # esc l – erase line, don’t move cursor
    # esc p – begin reverse video
    # esc q – end reverse video
    # esc del – change char under cursor to space
    trs100|Radio Shack TRS-80 Model 100,
    am, bw, xt,
    cols#40, it#8, lines#8,
    bel=^G, civis=\EQ, clear=\EE, cnorm=\EP, cr=^M, cub1=^H,
    cud1=^J, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
    cuu1=\EA, dl1=\EM, ed=\EJ, el=\EK, home=\EH,
    hpa=\EY %p1%{32}%+%c, ht=^I, il1=\EL, ind=^J, kbs=^H,
    kcub1=^], kcud1=^_, kcuf1=^\, kcuu1=^^, nel=^M^J, rev=\Ep,
    ri=\EI, rmso=\Eq, sgr0=\Eq, smso=\Ep,
    # From: Suk Lee
    # (civis/cnorm added from SCO description)
    trs100-s|Radio Shack Model 100,
    am, xt,
    cols#40, lines#8,
    bel=^G, civis=\EQ, clear=\EE, cnorm=\EP, cr=^M, cub1=^H,
    cud1=^J, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
    cuu1=\EA, dl1=\EM, ed=\EJ, el=\EK, home=\EH, il1=\EL, ind=^J,
    kbs=^H, kcub1=^], kcud1=^_, kcuf1=^\, kcuu1=^^, rmso=\Eq,
    trs200|Tandy Model 200,
    civis@, cnorm@, cud1=^_, cuf1=^\, ed=^L, home@, kbs@, use=trs100,
    trs600|Tandy Model 600,
    cols#80, lines#15,
    bel=^G, clear=\EH\EE, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
    cup=\EY%p1%{32}%+%c040%p2%{32}%+%c, cuu1=\EA, ht=^I,
    ind=^J, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,

    # TRS-80 Mod I with the Omikron Mapper (for running CP/M)
    # from Brint Cooper via BRL
    # Omikron claims that their circuitry emulates the Soroc terminal,
    # but I needed to shorten the lines and decrease the number of
    # lines per screen to accomodate the TRS.
    omikron|TRS 80 with Omikron mapper,
    cols#63, lines#16,
    bel=^G, clear=\E*, cr=^M, cub1=^H, cud1=^J,
    cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EY, el=\ET,
    ht=^I, ind=^J, kbs=^H, kcub1=^H, kcud1=^J, nel=^M^J,

    copy the lines between the :cut: lines to a text file and save it.
    then run
    tic filename
    where filename is the name of the text file you just created. This will create entries in the ncurses database for the TRS80 CoCo, models 100,200,600, and model 1
    This code was lifted from the ufo.ti file, part of the curses terminfo data files maintain by Eric S Raymond

    you can set up a shell account fo the 100, and add the line
    TERM=trs100;export TERM
    to the .bash_profile file.
    you can there login with the model 100 telcom, us the linux command line with the cat command to upload and download data while controlling the session from the model 100.

  15. I used to push my Model 100 a little bit further.. I had a 6.2Mhz crystal connected via a switch, in parallel with the 4Mhz CPU crystal, which allowed me to overclock the 80C85 a wee bit faster. (drawback, it would make loading/saving programs fail, because the CPU clock speed was far off the specs.) I also used to connect a 567 tone decoder chip, through the Barcode reader slot, and monitor the data-in pin from the socket, to either become a remote control, or using a basic program, decode On/Off signals to convert CW (Morse Code) to written text. Even turned the Option-ROM socket, into a EPROM reader, to duplicate data from 27256 – down EPROMs, as well modified a MBASIC 8080 disassembler program, to even go as far as dump the entire internal ROM (by adding the two 8085 specific op-codes, and adding a little 12-byte machine code program to read-in 3 bytes from the ROM, to the RAM page, then display them to the LCD (I have a whole loose-leaf binder, with the entire 32K of ROM disassembled. OUCH! 2″ thick!)

    Despite it’s lack of support, the TRS-80 Model 100 was one of the innovative tablet/laptop computers. Alas, mine died ages ago (bad keyboard sections, frozen LCD memory sections, etc.).. I wonder if I can find parts out on EBAY?

    1. Hello Mr, Stephan
      How are you? Personally, I had just acquired a model 100. And I would sincerely love to use it as a learning piece
      for the input-output system of a computer. Would you mind sharing some of your experiments of modifying the original ROM / Directly controlling the rs-232 bus? It really intrigued me as to how you managed to create a program to read EPROMS. I’m well aware that this may be a rather late reply, my apologies for the inconvenience.
      Thank you for your time,

  16. 300 Baud? Yeesh, there’s no need to dawdle, you’re not using the modem, you’re using the serial port. The Model 100 serial port is perfectly capable of 9600 or even 19200 bps. The first digit of the COM specification is for the speed. COM:88N1E is for 9600, COM:98N1E is for 19200.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.