Heathkit H-89 / Zenith Z-89 programs in Microsoft MBASIC
These are programs for the Heathkit H-89 or Zenith Z-89 computer. The two computers were the same except that the H-89 was a kit and the
Z-89 was factory assembled. An earlier model, with cassette tape storage instead of a floppy disk drive, was the H-88, and later
models, with soft-sector, double-sided, double or quad-density floppy disk controllers, were known as the H-90 and Z-90.
All but one of the programs below are written in Microsoft MBASIC, which ran under the CP/M disk operating system. The one
exception, noted below, is written in Extended Benton Harbor BASIC, which was Heath's dialect of BASIC for HDOS, the Heath Disk
Operating System.
A site search will turn up additional references to the H-89 throughout the site in text documents and project notes.
Each link below goes to the project page, which has a more complete description and code listing.
Hobbies, Games, Amusement
| BIKECALC.BAS |
Bicycle gearing calculations. |
| PINGDEMO.BAS |
A rudimentary ball and paddle graphics game for the Heathkit H19 terminal or compatible
(including the H100). |
| PADDLE.BAS |
Bounce a moving dot against top of screen. Demonstrates the cursor
positioning commands of the Heathkit H-19 terminal. |
| MBROT.BAS |
Calculate escape times for a Mandelbrot fractal design at the screen
resolution used by the Heathkit H-100. (The H89 cannot
display the design it calculates because it has no pixel graphics
capabilities.) |
| H89MORSE.BAS |
Translates the contents of a disk file to Morse code strings that are sent to a Hayes Smartmodem 300 modem.
The modem plays the Morse code to you through its local speaker. |
| ENCODE.BAS |
Encodes a given string into several different Morse-related codes. |
Modem program utilities
| HDOSTRF.BAS |
Uses Extended Benton Harbor BASIC to send an HDOS file out through the H-89 serial port. Crude but effective method of
rescuing orphaned HDOS (Heath Disk Operating System) files. |
| MAPDOWN.BAS |
Strips the parity bit from all bytes in a file, so all characters are
true ASCII 0-127. Useful for modem sessions that were captured to a text buffer. |
| FASTEDIT.BAS |
Quickly select the lines you want to save from a disk file created by a modem program's capture buffer routine. |
Hardware Experiments
| ALARM.BAS |
A series of programs that used the H89 as a crude burglar alarm and home monitoring system. |
Math, Bookkeeping, Accounting
| SUM.BAS |
Quickly sum a column of numbers using the numeric keypad. |
| PHONTALY.BAS |
Enter the line items from your phone bill. Tabulates the total charges to each phone number and displays by
client number which of your clients (or roommates, etc.) to bill for those charges. |
| GRAPH.BAS |
Graph the values from one data file against the values from another. |
| FILEMAKE.BAS |
Create a data file containing ordered pairs, or break apart an ordered pair file into separate files, one for each variable. For
managing data files to use with the GRAPH program. |
| CHEKBOOK.BAS |
Enter check and deposit amounts from your checkbook to get your new balance. |
| CKLEDGER.BAS |
A simple mini-ledger. Enter checks and their expense categories to calculate category totals. |
| COMPARE.BAS |
Bookkeeping aid to find discrepancies in two sets of numbers that are supposed to be identical but aren't. |
| MATRIX.BAS |
Sum the rows and columns of a two dimensional matrix of numbers. |
| MOVAVG.BAS |
Calculate the N-item moving average for a series of numbers. |
| NUMDAYS.BAS |
Calculate number of days between two dates. |
Miscellaneous Utilities
| LINE2LON.BAS |
Check an MBASIC file stored in ASCII format for lines longer than 127 characters, which the
Microsoft MBASIC compiler will reject. |
| RENAME.BAS |
Rename any file on your disk from within MBASIC, even if the file has a name that is illegal under CP/M. |
| EPSON.BAS |
Sends codes to change Epson MX-80 printer modes. |
Other Heathkit / Zenith H-89 / Z-89 sites
|