Bob's Model T Software Page

    (always under construction)

Software programs written by R. H. Pigford for the Radio Shack/TRS-80/Tandy M100/T102/T200
portable computers produced in the 1980's (called "Model T's").  Please contact me if you have
questions or suggestions for improvement. [bob at pigford dot org]

       M100 Image
Note: The files below are in the format indicated by their extensions: FILNAM.BA files are tokenized BASIC
programs, FILNAM.DO files are ascii text, and FILNAM.CO files are machine language executable programs.

"Model T" Programs and Info

M100/T102

T200

SETLZP.BA is a simple program to send formatting information to a LazerJet printer so that subsequent printing from a Model-T can look decent. I use this to set the LJ to small print, 80 lines per page, and left margin of 10 for program listings that I want to put in a binder. Will also work on a T200. SETLZP.DO is the ascii program listing for SETLZP.BA.

SETLZP.BA
SETLZP.DO

SETLZP.BA
SETLZP.DO

FF.BA simply sends a Form Feed command to a printer. Use this to eject that finished, but not completely filled page from your printer. FF.DO is the ascii listing.

FF.BA
FF.DO

FF.BA
FF.DO

LFTn.BA is a small program that solves the Line Feed after Carriage Return problem common to Model T computers when printing. This program inserts code in unused memory space behind the "F4" key. When activated, each Carriage Return issued to the printer will have a Line Feed added. TS-DOS (and perhaps other programs) will overwrite this code behind F4, so run LFTn.BA again to test that the extra LF is active or not, then choose to activate or deactivate it.  

LFTn.DO is the ascii program listing.

LFT1.BA
LFT1.DO

LFT2.BA
LFT2.DO

POINTn.BA tests a pixel on the LCD to see if it is on or off. Use line #100 and higher as a subroutine on your programs. Upon entry, X should contain the target horizontal pixel location on the screen (0-239, left to right) and Y should contain the vertical pixel location on the screen (0-63, top to bottom). If the pixel is illuminated, the routine returns a minus one (True). If the pixel is off, the routine returns a zero (False). POINTn.DO is the ascii listing for POINTn1.BA. An even shorter version of this subroutine which will fit on one line of your program is PONTn-.DO.

POINT1.BA
POINT1.DO
PONT1-.DO

POINT2.BA
POINT2.DO
PONT2-.DO

P-DDIR.BA prints the directory of a TPDD-1 disk to an Epson compatible printer. Printed size is small enough to cut out and store along with each disk. P-DDIR.DO is the ascii program listing. Makes use of DSKL.BA code by Randy Hess. 

P-DDIR.BA
P-DDIR.DO

P-DDIR.BA
P-DDIR.DO

PIDSIM is a collection of files which generates a PID control simulation on the Tandy 200. The main program PIDSIM.BA requires the use of two additional machine language programs which must be in RAM, TREND2.CO and LCD2LJ.CO.

PIDDOC.DO is an overview of the PIDSIM suite of programs, what they do, and how they fit together.

PIDSIM.DO is an ascii listing of the PIDSIM.BA program.

PIDSIM.BA is the tokenized BASIC program.

TREND2.DO is the assembly language source code for TREND2.CO.

TREND2.CO is the machine language program.

LCD2LJ.DO is the assembly language source code for LCD2LJ.CO.

LCD2LJ.CO is the machine language program for screen dumps to LazerJet printers.  You could also put this in your Menu and have your own T200 program CLEAR0,60000: LOADM"LCD2LJ" then CALL60000 when you want a screen print.

 




PIDDOC.DO

PIDSIM.DO

PIDSIM.BA

TREND2.DO

TREND2.CO

TREND2.CO

LCD2LJ.DO

LCD2LJ.CO

SKETCH.BA is an "etch-a-sketch" like program that allows you to create drawings on the LCD screen, pixel by pixel, then save the image as a PICTUR.CO file (1926 bytes each. Saved files can be reloaded for more work, or for printing in one of several sizes on an Epson FX printer.

SK-DOC.DO is a document file explaining the use of SKETCH.BA.

SKETCH.DO is the ascii program listing of SKETCH.BA.

P100.CO and TRS-80.CO are examples of a saved PICTUR.CO files (1926 bytes each). You can load these into SKETCH.BA to see what a PICTUR.CO file is like.

GRAFIX.CO is loaded from RAM by SKETCH.BA to produce LCD saves to files and multi-sized screen dumps to Epson printers.

GRAFIX.DO is the asm source code for GRAFIX.CO.

LDGRFX.BA is a BASIC program that loads GRAFIX.CO at an address you specify, and LDGRFX.DO is the ascii program listing.




SKETCH.BA

SK-DOC.DO

SKETCH.DO

P100.CO

TRS-80.CO

GRAFIX.CO

GRAFIX.DO

LDGRFX.BA

LDGRFX.DO

 

SKT200.BA is a T200 version of SKETCH.BA originally written for the M100/T102. SKT200.BA uses GRF200.CO to do the screen printing to an Epson printer and saving the PICTUR.CO files (3986 bytes each) to RAM. SKT200.DO is the ascii listing of SKT200.BA. This set of programs was first published in "Portable 100 Magazine", April, 1991, (c) R. H. Pigford.

SK2DOC.DO is the document file explaining how this program works.

LDGRF2.BA is the loader for GRF200.CO which must be in RAM when SKT200.BA is run. LDGRF2.DO is the ascii listing of LDGRF2.BA.

GRF200.DO is the source code for GRF200.CO.

GRF200.CO is the binary file itself which must be in RAM when SKT200.BA is run.

 

SKT200.BA

SKT200.DO

SK2DOC.DO

LDGRF2.BA

LDGRF2.DO

GRF200.DO

GRF200.CO

XHOME.BA is a program that uses the Firecracker home automation transmitter to turn X-10 devices on and off per your desired schedule. You set up a .DO file of instructions for each day of the week. XHOME.BA reads the file for the appropriate day and sends the commands according to your instructions. Used for home automation and light timers that will appear to be more random than usual light timers. Makes use of public domain X-10 protocol programming by Ken Petitt (code line 1000 and above). XHOME.DO is the ascii program listing. Note: X-MON.DO is an example of the file of X-10 commands for Mondays. Similar files are needed for each day of the week (ex: X-TUE.DO, X-WED.DO, X-THU.DO, etc). The format of these daily .DO files is set to make screen display more uniform. Pad with spaces to line up the columns.

XONOFF.BA sends ON or OFF commands to specific X-10 devices you select. Requires a Firecracker transmitter mounted on the serial port. Makes use of public domain X-10 protocol programming by Ken Petitt (code line 1000 and above). XONOFF.DO is the ascii program listing.



XHOME.BA

XHOME.DO

X-MON.DO

XONOFF.BA

XONOFF.DO

 

LCD2JA.CO  Screen Graphics Dump to Laserjet Printer 

[PCL4 and above]  Assembly source code included LCD2JA.DO.

This is a machine language program that you load into memory by putting the MENU cursor over it and hitting ENTER.  Remember that you may have to go to BASIC and do a CLEAR0,60000 command to reserve the memory space above HIMEM.  That is the area where LCD2JA.CO will reside awaiting your program to CALL60000 to activate it when you want your program to do a screen dump to a laserjet printer (PCL4 and above).  When activated, the bottom line of the screen will be swept to capture those pixels and a message will appear with selections for you.  If you want a print, you will next have the option of selecting which size printout you want (1X is small, 4X is almost a full page width).  Or you can ESC your way back to your original program with the screen restored.

Give it a try and let me know what you think.  PLEASE REMEMBER TO HAVE YOUR PRINTER HOOKED UP AND ONLINE BEFORE RUNNING THIS THING.

 

LCD2JA.CO


LCD2JA.DO

LCD1J4.CO  Screen Graphics Dump to Laserjet Printer 
[PCL4 and above]   

This is a special version of the above program adapted for the M100/T102.  It is special in that, once activated, it sits in memory awaiting your use of two hot keys.  When you hit the hot keys, whatever is on the screen will be sent to a laserjet printer (PCL4 and above).  It is kind of cool to be able to print your MENU screen!

It is activated by putting the widebar cursor over LCD1J4.CO and hitting ENTER.  You will be returned to the main Menu again.  If you get a beep, you may have to go to BASIC and do a CLEAR0,61750 command to reserve this space above HIMEM for LCD1J4.CO to load and sit there in memory.

The hot keys are GRPH plus the ESC keys.  Hold the GRPH key then hit the ESC key. After each activation/screen print, the hot keys are disabled.  Therefore, if you plan to do another screen print, you will need to activate the program from the MENU again.  To deactivate the hot keys without doing a screen print, just use the hot keys, but ESC back out of the screen print program.

WARNING ***** DO NOT LOAD ANY OTHER .CO PROGRAMS INTO THIS MEMORY SPACE BEFORE ACTIVATING WITH THE HOT KEYS.  The reason for this is that the hot keys redirect program control to specific memory areas, expecting the screen dump code to be there.  If you have put something else in that memory space and the hot keys are used, a BIG CRASH will occur.

Assembly source code included LCD1J4.DO.

LCD1J4.CO


LCD1J4.DO

 

PTCnJA  PRINT TWO COLUMNS to a Laserjet Printer [PCL4 and above]

Both PTCnJA.BA & PTCnJA.CO  need to be on the Menu together.

This program pair work together to find any .DO program in the Menu directory that you select and print it in two vertical columns, each 40 characters wide, on a LASERJET printer.  Word wrapping is not provided.  The date, filename and page numbers are also printed on each page.   Note that this program requires the printer to "speak" the widely used HP printer control language called PCL4 (or later).

PTCnJA.BA is the BASIC program "front end" that you use to load and calls PTCnJA.CO into action, PTCnJA.BA communicates the target text file location in RAM, filename, and print date with PTCnJA.CO which does the work to produce two column text printouts. 
PTCnJA.CO is the .CO executable "back end" that runs in the ALTLCD memory and is loaded and called by PTCnJA.BA.

[PTCnJA.DO src code included]

PTC1JA.BA


PTC1JA.CO


PTC1JA.DO

PTC2JA.BA


PTC2JA.CO


PTC2JA.DO

NECCMD.DO  (for SuperROM with a Laserjet printer (PCL4 and above) 

This is a file that you have in your MENU when you run SuperROM. You must designate it as your Libr file from the WriteROM Function Key menu choices (at print time, I think).  Basically, you embed markers (using the Grph+k keys) in your text that are then referenced at print time. 

I also include NECCMD.txt to help explain this a little, I hope.

NECCMD.DO
NECCMD.txt

NECCMD.DO
NECCMD.txt

Last Update 05-20-2016