Heathkit H89 Projects

----------

Dan Emrick, Springfield, Virginia

----------

dsemrick@protonmail.com

----------

Item

Sub Item

Link

SEBHC Google Map

 

Member Map

Heath 8-bit Archive Project

 

Archive of Heath 8-bit related info

H8/89 USB Adapter

 

Mounting PC image on H8/89

The H17 Disk Format

 

Description of H17 format

Imaging Project

 

H17 Imaging

 

Imaging Capture Software

Programs

 

Imaging Background

Beginnings

 

Imaging Progress Update

A Progress Report

 

Imaging, An Enhancement

Adding Hole Detect

Downloads

 

Files

Screenshots

 

Pretty Pictures

Archive

 

Some HDOS Source

H89 Emulator

 

Another Emulator

Link Utils

 

USB Utilities - developmental


Archive of Heath 8-bit related information

Many hobiests and other users have collected all kinds of information, manuals, devices and software related to Heath/Zenith 8-bit computers and related items. This project attempts to store as much of that information as supporters care to contribute and as the project developers can accomodate.

The development server for this project is a remote device that may or may not be on line at any given time as the project evolves. Click THIS LINK to see if the server responds. If it is available, feel free to try it out, but any updates could be, and probably will be, lost at any given time as the database structure is undergoing frequent revisions and often disruptive or even destructive tests.

Some of this information is repeated on the introduction page, however, At the bottom of that page are three choices. Clicking on 'Visitor' will take you to a page where you can choose to review all of the 'reference' data currently on the site. This date is separated into Hardware Reference, Software Reference, Manuals Reference and Prioidicals Reference. The names are descriptive, except to add that the Manuals section in addition to text documents, includes schematics, pictorials, tables and lists as may be provided by supporting contributors.

Clicking on 'Login' presents a login page for a registered user. More on that later.

Clicking on 'Register' offers a visitor the opportunity to become a registered user. When that applicant clicks on the 'Register' button, a confirmation e-mail is sent to the address provided in the registration information. When the user clicks on the link provided in the text of that e-mail, the registeration is completed and the new registered user if offered a login page.

Upon successful login, the user is taken to a userpage that offers not only the same access to the Reference tables as a Visitor, but also shows his/her current information on file, if any. Also provided are four catagories from which to select an existing entry (one and only one) describing an item to be entered into the user's holdings table. Once an item is selected, the user may enter four items of description which are: Condition, Location, Cost, and Source. Any descriptive work may be used for Condition, such as Good, Fair, Poor, Broken, Unknown, etc. Location is a reference to where the user keeps the item or where it is installed, such as Box #3, top shelf, H88, L-2000, Spares, etc. The final two items are acquisition cost and source or supplier. The number in parenthese shows the character width of each field. Once these fields are populated, click the 'ADD' button to add the entry to the user's holdings table. The entry should immediately show up in the holdings table beneath the Add/Update section of the page.

USB H8D Mount - Mounting PC image on H8/89

This part of the project relates to the continued development of the USB/H8/89 link begun by Chris Elmquist. Chris provided me with his draft circuit schematic and his prototype USB board. He also referred me to, and provided me with, various references for the FTDI USB FIFO card. When Chris' board arrived, I was ready to plug it into my H89 and begin.

The proto-board is constructed so that it plugs into the 40-pin socket on the H89 serial adaptor card normally occupied by an 8250 USART. The board is not pin-compatible with the 8250, this is just a convenient place to get data lines and decoded chip-select and other signals. No existing serial port software or access techniques are used. The serial card simply provides a good place to mount the adapter and get access to the necessary power and signal leads.

Because I am more familiar with HDOS than with CP/M, my initial development approach was to write a device driver to handle the FTDI board. As with my H17 disk imaging project, the PC side is managed using Slackware Linux (Kernel 2.6.27.7-smp) and the Qt development system by Trolltech (Qt 4.5.2).

At mid-March, the system used an HDOS device driver called 'PC.DVD' and a PC program called 'h89mount3'. The PC program provides facilities for loading four H8D images. An image of any disk compatible with the HDOS system will function. The images must be loaded and the proper USB device selected before attempting access from the H8/89. Once the PC program is configured, one simply types "Mount PC0:" to mount the first PC based image. It is important to 'dismount' any PC images before unloading PC images or exiting the PC program. Otherwise, the H8/89 will hang on any attempt to acces the images - including dismounts.

In early April, an improved version of the PC program was completed. This version, called HeathLink, combines the capability above, to load images of Heathkit disks to be mounted via the USB adapter, with Dwight Elvey's H89LDR2 utility and the ability to transfer single files between the PC and the H8/89. The PC.DVD HDOS device driver is unchanged and a new utility, called XFERUSB, is used for the single file transfers. This did away with the need to stop the image mounting program in order to send individual files between systems. It also allows the use of Dwight's utility - a modified version that requires keyboard entry of only 19 bytes with the Substitute command on the Heath machine. The new PC utility is available for both Linux and Windows. Please see USB Adapter Photos/Schematics for photos and schematics.


Imaging Project- H17 Disk Image Capture

A previous focus of this project site was the capture and transfer of images of H17 40 track disks. With the help and encouragement of Mark Garlanger and Chris Elmquist, the program now appears to be functional.

While the development machine has many non-standard modifications, the image capture program should run on any machine with two drives, one of which must be a 40 track, 48 TPI drive.

Capture Software

The first successfule version of the custom software for this project is called FULLTRK8. Written in Heath Assembly Language it has a few Z80 op codes inserted. The CPU clock is set to 2 MHz for this process. In addition to being listed in the link above, the source, along with other files, is available in the file called H17image.zip. The program was developed and used on a system with four disk drives. The images are read from SY3:. This was simply a matter of convenience on the development system. The code can be easily modified to read from any other drive, although there currently is no provision for unmounting SY0:.

The Capture Process

The program reads 3200 bytes at a time, sufficient to capture a full track's worth of data, including sync characters, sector header information, sector data infomation and any padding between records. As each track of data is captured, it is saved in a 3200 byte buffer and then transferred via serial port to a PC at 19,200 bps. When the transfer is complete, the next track is captured.

The capture process does not use the HDOS disk device driver nor the H17 ROM routines to read the tracks. This means that the capture process does not have the benefit of the byte-synchronization available through those routines. It also means that our process is not affected by the HDOS or ROM error detection code. This is in accordance with the project goal of capturing ALL data on a track and sorting it out after transfer to a PC.

The process reads all of the bits on a track. The disk controller gathers these bits into 8-bit bytes and places them in a register for the CPU to read. The record gaps contain stray bit patterns, i.e., not whole bytes, that result from sector data (including padding) being repeatedly re-written. The result complicates the framing errors inherrent in un-syncronized, whole-track reads.

Post Capture Process

A special program on the PC filters out the stray bits and corrects for the framing errors. It then reformats the captured data into the H8D format suitable for mounting on emulators or for transfer via existing utilities to an H8/H89 to be written back to a disk. One notable utility for this purpose is Dwight Elvey's impressive H89LDR program. If you are not already involved with SEBHC and you are intereseted in such things as imaging H17 disks, you can benefit greatly from joining the SEBHC group on Google Groups.

Documentation

The pages in the above table contain more detailed discussions of the capture process and lessons learned. It also has descriptions of the framing errors and the process used to correct for them.

Finally, the downloads page has a number of source files that should help explain the issues involved and lessons learned while developing this project.

H89 Emulator

While not the current focus of this site, I have joined the parade of those who are working on an emulator for the H89. My version runs on a desktop machine under Linux. It includes an H19 emulator that currently performs many of the H19 functions. The emulator boots HDOS and mounts images of H17 40 track disks (H8D format). It allows one to catalog mounted disks and to write new files to them. It even runs the PIE full-screen editor, but there is a lot of work to be done to make that one work completely. Screen shots available on the Screenshots page. It is written in C++ using the Qt4 integrated developoment environment.

Next: Imaging Beginnings