T-BUG

written by Matthew Reed

Cover of the T-BUG manual

Cover of the T-BUG manual.
Notice the lack of a hyphen in the name.

T-BUG (catalog number 26-2001), also known as TBUG1, was a machine language monitor and debugger for the TRS-80 Model I. It cost $14.95 and came on a cassette with separate versions for Level I and Level II BASIC. (The T-BUG debugger shouldn’t be confused with the Tandy Business Users Group, which was also known as T-BUG.)

Described by some as the “standard” TRS-80 debugger, T-BUG provided an inexpensive way for TRS-80 owners to learn about and experiment with assembly language. Most books about TRS-80 assembly language, such as Earles L. McCaul’s TRS-80 Assembly Language Made Simple and William Barden’s TRS-80 Assembly Language Programming, assumed that the reader owned T-BUG.

Introduced in the January 1978 issue of the Radio Shack Microcomputer Newsletter, T-BUG was described as a companion to the TRS-80 Editor/Assembler (catalog number 26-2002), also known as EDTASM. The idea was that you could write programs and assemble them using the Editor/Assembler and then test and debug them using T-BUG, with the caveat that it was “intended for advanced programmers only.”

The 1978 Radio Shack TRS-80 Software Library guide described T-BUG as a “powerful machine language monitor” which was “an invaluable aid to owners of the TRS-80 Editor Assembler.” However, the Editor/Assembler cost $29.95, which was quite a bit extra on top of the $14.95 cost of T-BUG.

Many people bought only T-BUG and learned to assemble their programs on paper by hand. Unlike the Editor/Assembler, which required a 16K computer (and effectively Level II)2, T-BUG required only 4K and worked fine under Level I. T-BUG used only 1K of memory under Level I (1.5K under Level II), which still left space for a Level I owner to experiment.

T-BUG supported only eight commands, all of which were abbreviated to their first character:

  • MEMORY - examine RAM and ROM and modify RAM
  • JUMP - start executing at an address
  • BREAKPOINT - set a breakpoint at an address
  • FIX - remove a previously set breakpoint
  • GO - start executing at the Z-80 program counter
  • REGISTER - view and change the Z-80 registers
  • PUNCH - dump contents of memory to tape

Of those commands, only PUNCH differed between the Level I and Level II versions. Level II T-BUG allowed the memory saved to tape to have a name and execution address, features not supported by Level I BASIC.

Several companies sold enhancement programs for T-BUG, such as Allen Gelder Software’s $11.95 TSTEP, which added single-stepping and other features. Many articles were written about modifications to T-BUG, and it was more modified than almost any other TRS-80 program. Just a few examples include:

  • “Get T-BUG High” written by Irwin Rappaport in the January 1980 issue of 80 Microcomputing
  • “T-BUG for II” by H. Allen Curtis in the March 1980 issue of 80 Microcomputing
  • “Triple Play for T-BUG” by W. H. Johnson in the October 1980 issue of 80 Microcomputing
  • “Take T-BUG Higher” by W.R. Stanley in the May 1981 issue of 80 Microcomputing
  • “T-EDASM: Link T-BUG and EDTASM” by Ron Anderson in the book The Rest of 80

T-BUG was a remarkable program for only 1K, and many people have fond memories of it today. Although it had many limitations, it was among the best tools available at the time, and many famous TRS-80 programmers used it. As William L. Colsher put it in his review in the June 1979 issue of Personal Computing:

No doubt someone will come up with a much better monitor soon, but for the money T-BUG is the best you can get right now.


  1. About the only place Radio Shack used the name TBUG (without a hyphen) was the user’s manual. ↩︎

  2. The Editor/Assembler would also work with a 16K Level I Model I, but this was an unusual configuration. Most Model I’s that were upgraded to 16K were also upgraded to Level II. ↩︎

Categories: Programming, Software