An Exatron Stringy Floppy Primer

written by Matthew Reed

I recently added emulation of the Exatron Stringy Floppy to my TRS-80 emulator for Windows. This has created some new interest in the Stringy Floppy, a storage device which was a popular add-on for the TRS-80 back in the early 1980’s.

The Stringy Floppy is one of those items that many people remember, but they remain a little fuzzy on the details. Here is more information about the commands used on the Stringy Floppy.


The Exatron Stringy Floppy stores files on small, continuous loop wafers. Files stored on a wafer are identified not by filename, but by file number. The file numbers are consecutive and range from 1 to 99.

“Continuous loop” means that both ends of the tape are spliced together; there is no beginning or end to a wafer. This means that wafers don’t need to be fast-forwarded or rewound like a cassette tape.

My emulator represents Stringy Floppy wafers with virtual wafer files, which use an extension of ESF. Virtual wafers can be created in a variety of lengths. Exatron sold wafers in lengths ranging from 5 to 50 feet. A longer wafer can store more data, but takes longer to wrap around, increasing file access times.

Enabling the Stringy Floppy

Stringy Floppy screen #1

The Stringy Floppy ROM software is mapped to a 1K “hole” in the Model I address space. The ROM (ESF.ROM in the emulator) adds extra Stringy Floppy commands to BASIC, but those extensions need to be enabled before they can be used. The command to enable the Stringy Floppy ROM is easy to remember:


followed by


Certifying a wafer with @NEW

Stringy Floppy screen #2

Like a floppy disk, a Stringy Floppy wafer needs to be initialized before it can be used. The manual describes this process as “certifying” a wafer. @NEW is the command used to certify a wafer.

Writing and verifying a wafer takes some time, depending on the size of the wafer. For example, a 50-foot wafer could take up to three minutes to certify. After the certification is complete, the number of bytes free on the wafer is displayed.

@NEW can also take a parameter, such as @NEW2. That command will erase file #2 and all files following it on the wafer.

@NEW can also be used to display the free space on a wafer. For example, if files #1 and #2 exist on the wafer, then the command @NEW3 will display the number of free bytes.

Writing a BASIC program with @SAVE

Stringy Floppy screen #3

The @SAVE command makes it possible to save BASIC programs to the Stringy Floppy wafer. The most common version of the command uses a file number for a parameter. For example, the command @SAVE1 saves a BASIC program as file #1.

There is also a variation on the @SAVE command that can be used to save machine language programs (all values are in decimal):

@SAVE,start address,length,transfer address

The usual procedure is to load a file from cassette, determine the addresses and length, and then save the memory for the program to a wafer. For example, this command will save the cassette version of Robot Attack to file #1:


Reading a file with @LOAD

Stringy Floppy screen #5

Any Stringy Floppy program file can be read into memory using @LOAD. The command takes a parameter for the file number and works for both BASIC and machine language programs. For example, @LOAD1 loads the first file on the wafer. Unlike BASIC programs, machine language programs automatically execute after using @LOAD.

Determining load addresses using @LOAD

Stringy Floppy screen #4

If the SHIFT key is held down while loading a machine language program using @LOAD, then the program doesn’t automatically execute. Instead, the load address, length, and transfer address are all displayed on screen. (The ?FD ERROR is normal).

This is a very useful feature because it makes it easy to save a machine language file to another wafer just by plugging the displayed values into a @SAVE command.

Categories: General


tim says:

Great job on the ESF refresher. Man that takes me back. Used the ESF with my TRS-80 model 1 every day til I moved to the PC.

Terry Stewart says:

The Exatron Stringy Floppy was my next step after cassette but before disk drives for my System 80/Video Genie/PMC 80 (TRS80 I clone). It was a great step up.

I’ve got the 1980 manual here, which I’m considering scanning and uploading to my site. It’s an interesting document in the folksy, non-commercial way it’s presented. Included on a back is an invitation to user group meetings and free coffee. On the inside front page is a note saying that all content of the manual is public domain and copying is encouraged! It’s a far cry from the strictly commercial staus of computing nowdays. It harks back to the gentler era of enthusiasts sharing knowledge.

Thankfully this is something that still can be found in web communities.

Dusty Miller says:

Thanks for your efforts in upgrading the emulator Matthew. A brilliant job! I’ll have another try and see if I can get the UK’s equivalent to the SF, the Aculab Floppy Tape, which I “won” on ebay, working, and then attempt to extract the ROM image!

I’ve published details of you upgrade on the website

Once again Matthew, WELL DONE.

Ghislain says:

Waw! Vraiment, j’ai retrouvé mon premier ordinateur avec ce fabuleux Exatron.

Waw! With your ESf compliant emulator, I retrived my first faboulous computer. You need to know that it was very difficult to receive all this sort of material here in belgium. And when it was available, it costed twice the price you paid in USA. But I found this Exatron Stringy Floppy, here in only one store in Ghent. and it changed totally this trs80. It gave pleasure never known before with cassette. Great work!