Looking for Advice on Debugging H89 Floppy

46 views
Skip to first unread message

Jeff Tranter

unread,
May 18, 2024, 1:41:00 PMMay 18
to se...@googlegroups.com
I have an H89 that I recently purchased and I am trying to get the floppy drives working.

It is an H89 (it looks like it was originally an H88 but was upgraded).
It has the MTR89 ROM, 64K of RAM, an H-24 Serial I/O, and H-77 floppy controller.
It has two Shugart SA-465 floppy drives.

The CPU, terminal, and video boards are all working correctly and it passes the memory test.

One floppy drive has a problem with the motor - it slows down when a floppy is inserted. I have set this drive aside for now.

I assembled and installed a VSG (Virtual Sector Generator) board (so I can use soft-sectored disks). With that installed the other drive shows the correct speed with the ROM speed test.

All 74xx ICs on the floppy controller board were tested with a Tauntek tester.

Only one drive is currently connected and the drive has a terminator block installed on it.
I am able to run the H89LDR image transfer program over the serial port.
I was able to save the loader to a floppy and boot from it.

I am able to write a full CP/M or HDOS H8D image to a disk using H89LDR, but it is unable to boot it.
It fails soon after running the Boot command and only appears to read the first track.
During the write, it is properly stepping to all the tracks.
I am also unable to read a disk image from the H89LDR program. I see an error message and it hangs.

Am I correct that the H89LDR program should be able to directly write an image file like CPM_2_2_02_distribution_1.h8d or HDOS_3.02_1SysBoot.H8D?

Since I was able to save and load the small H89LDR program, the disk must be mostly working.
Any ideas on what to look at next?
I have an oscilloscope and can look at signals on the controller board as needed.

Regards,
Jeff

Joseph Travis

unread,
May 18, 2024, 2:15:50 PMMay 18
to se...@googlegroups.com
The Shugart SA-465 floppy drives are 80 track, double sided drives.  It's very likely the quality of the media may be questionable for use with these drives.  The best media to use in that case would be for the 5.25" 1.2MB floppy drives which are also 80 tracks.  The standard drives used with the H89 were 40 track, single sided.

If the drive is slowing down with a floppy inserted, there may be too much friction between the disk and it's jacket or the floppy may be warped from being stored laying flat for a long period of time.  If it appears to be a problem with the drive, I suggest letting the motor run for an extended period of time (using the drive speed test - Go 7372) to allow the lubrication to reflow.

You are correct, the H8DUtility / H89LDR programs will create a complete image of a disk.  If the original image was bootable, so shall the copy be.  I don't recall if the disk copy is verified during or after it is created.   The H89LDR program only uses one or two sectors on track zero.  For it, I tend to use a floppy that is "no good" so as to not waste any good ones.

I hope you find some of this information useful.  Good luck!

Joe


--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/CAEWtAn950y9odRUL%3D6tBpTj7%2BTj2ATpCabUC-zksAB73F8FY3w%40mail.gmail.com.

glenn.f...@gmail.com

unread,
May 18, 2024, 2:40:01 PMMay 18
to se...@googlegroups.com

I’ve never used H89LDR with 96TPI drives but that’s where my head thinks the issue is.  The little server code that runs on the H89 simply uses the “H17 ROM” routines to access the drive.  These were written in 1978 long before 96TPI drives existed so not sure how they handle track stepping. To properly write a “standard” (40 track) H17 disk image the drive would have to double-step each track.  This may explain why you were able to successfully write track 0 (to create the bootable loader floppy) but not boot an image. I’ve never used a 96TPI drive so I just don’t know.

 

As for the drives. I know on the older Siemens/Wangco drives every one of them I’ve used has needed disassembly and cleaning re-lubrication of the bearings, both on the spindle and the stepper.  The Shugart is totally different I’m sure but may have similar issues.

 

I should have replied to Joe Travis’ email, which I read, and he correctly identifies a common problem with old floppys. The jackets get warped and cause friction. I’ve actually been able to rescue a significant number of old floppy disks by slitting the case, removing the floppy disk, and inserting it into a newer case (e.g. one from the PC era – it seems after a few years of manufacturing experience these got to be more reliable)….  Since It’s the disk itself that’s a rare bird (10 hard sectors) it makes sense to re-house it in a more modern disk case.  You can either seal the edge with tape or just leave it open and be careful when using it…

--

Joseph Travis

unread,
May 18, 2024, 3:09:45 PMMay 18
to se...@googlegroups.com
I just reread the original email where Jeff stated: " It fails soon after running the Boot command and only appears to read the first track."

My question is, can you describe how it fails?  If it appears to just hang, it may be waiting for you to press the <SPACE> bar a few times so it can determine the baud rate before it continues the boot process.  This step is required only when the disk is booted for the first time.

Joe


dwight

unread,
May 18, 2024, 4:03:35 PMMay 18
to se...@googlegroups.com
I agree with Glenn. I wrote the original code and like he says, 80 track drives or double sided were not on my list.
The code's original purpose was to recover data from a disk that was improperly unmounted and had parts over written.
Rewriting the code would always be an option. It is a little complicated but would take some effort and understanding of how the H89 is bootstrapped to down load the first level of code.
If I were to make it able to handle other formats, I would make a second download to handle more options on the H89 side. 
The first load would be to get the needed code fetch the larger load of code.
The bootstrapping is a little complicated because I wanted to have the minimal amount of code entered by hand. The amount of code entered next is a fixed size but is it didn't need to load the disk drive stuff at the same time, it could then be used to load most any level of more complex or enhanced operations.
The code first loaded is down loaded in in byte reversed order, as part of the bootstrap. It works by overwriting part of the code that was hand entered. By doing this, the more complex code knows when to start running. The sent code is padded with a few nops at the last, before overwriting the tail end of the hand entered bootstrap. There is a short piece of relocating code that accounts for the possible addition byte(s) that might have been left in the serial chip, since the hand entered code did the minimal effort to flush the serial port before putting thinking it was actual code. For this reason it is hard to change the amount of code after the first hand code is entered, as it needs to know where to start loading the byte reversed code. So this code would have a maximum length to match the right location to start executing after overwriting the tail end of the hand entered code. Since this loaded code does a lot, there should be more than enough room to put a second serial load of any amount of code( memory limited ).
I hope this makes some sense.
Dwight



Sent: Saturday, May 18, 2024 11:39 AM
Subject: RE: [sebhc] Looking for Advice on Debugging H89 Floppy

dwight

unread,
May 18, 2024, 4:10:13 PMMay 18
to se...@googlegroups.com
Please excuse my typos. My wife was rushing me and I didn't prof read any of it. I am dyslexic and often enter completely wrong words.
Dwight



From: se...@googlegroups.com <se...@googlegroups.com> on behalf of dwight <dke...@hotmail.com>
Sent: Saturday, May 18, 2024 1:03 PM
To: se...@googlegroups.com <se...@googlegroups.com>
Subject: Re: [sebhc] Looking for Advice on Debugging H89 Floppy
 

Jeff Tranter

unread,
May 18, 2024, 4:31:24 PMMay 18
to se...@googlegroups.com
The symptoms of the failure to boot are that after about three seconds after typing the "B'  command it beeps, displays "?" and returns to the boot ROM.
It steps to track 0 but does not step to any tracks after that.


Glenn Roberts

unread,
May 18, 2024, 4:38:33 PMMay 18
to se...@googlegroups.com
I don’t suppose you have any other drives available? Is it possible to install a 40 track drive?


Sent from my iPad

On May 18, 2024, at 4:31 PM, Jeff Tranter <tra...@gmail.com> wrote:



Jeff Tranter

unread,
May 18, 2024, 4:56:28 PMMay 18
to se...@googlegroups.com
No, I only have these two Shugart drives, and the machine did not come with any floppies so I only have NOS blank floppies.

I may build a Semi Virtual Disk. As far as I can tell the original developer (https://www.thesvd.com/) and the developer of the SVD III (http://www.astrorat.com/semivirtualdiskproject.html) are no longer offering kits, but I could build the original one from the published design files (the updated SVD III did not have any PCB design files published). Is that correct?

Joseph Travis

unread,
May 18, 2024, 5:11:20 PMMay 18
to se...@googlegroups.com
You might consider building the H89-CF board instead.  You can check it out here:  

http://koyado.com/heathkit/New-H8-Website/h89-cf-serial-parallel-rtc.html

I can send you a bare board if you're interested.

Joe


--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.

norberto.collado koyado.com

unread,
May 18, 2024, 5:33:20 PMMay 18
to se...@googlegroups.com

This is becoming the board of choice to bootstrap an old H89 and will help to debug floppy drives issues…

 


Date: Saturday, May 18, 2024 at 2:11 PM
To: se...@googlegroups.com <se...@googlegroups.com>

glenn.f...@gmail.com

unread,
May 18, 2024, 8:25:08 PMMay 18
to se...@googlegroups.com

So maybe sleep on it and give some thought to your end state goals. You can build an SVD and that would give you the equivalent of two 100K (“H17”) style drives so that should enable you to load images and boot.  It’s a bit tedious because you have to keep the SVD connected to a PC and the most recent designs don’t incorporate battery backup capability so you need to reload the images each time, but it’s one way to go.  The most recent work on SVD was done by “Astrorat” Dave Runkle http://www.astrorat.com/semivirtualdiskproject.html

 

I don’t think he has any boards available but his site documents the work.  He’s put in the hardware hooks for battery backup and other capabilities but the software would need updating.

 

As others have stated you could look into installing a solid state drive card.

 

H89-CF-SERIAL-PARALLEL-RTC (koyado.com)

 

This board is a great way to add capability to an H89 – gives you a bootable SSD; two serial ports; one parallel port; and an Epson real time clock, all in a single board.  It’s a pretty straightforward build.

 

I do find it useful to have a working H17 drive.  I think if you had the CF board you could then use your existing drives to load images.  Les Bird has a program called H8DIMGR which can handle all the different disk geometries

https://sebhc.github.io/sebhc/software/Utilities/HDOS_2_H8DImgr_Boot.zip

 

to go the SVD route I think you’d have to get some boards made up.  If your longer term goal is to use the system for a range of things give some thought to the CF approach.

 

  • Glenn

--

You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.

Jeff Tranter

unread,
May 19, 2024, 8:40:03 AMMay 19
to se...@googlegroups.com
Thanks to everyone for all of the useful suggestions.

I am leaning toward building an H89-CF board. I was planning to get some kind of floppy emulator and I have lots of experience assembling boards of similar complexity. I'll read up on the documentation to learn more about what it can do and the parts needed.

I would also like to eventually get the two floppy drives working as it is fun and nostalgic to also use real floppy drives.

Glenn Roberts

unread,
May 19, 2024, 10:30:35 AMMay 19
to se...@googlegroups.com
Sounds good. Joe has included floppy drivers on the images he built for the CF board. Once you get your 89 booting from the CF you can hopefully get the floppy drives operational. I agree with you that there’s value in having working drives. 

Sent from my iPad

On May 19, 2024, at 8:40 AM, Jeff Tranter <tra...@gmail.com> wrote:



Joseph Travis

unread,
May 19, 2024, 12:04:58 PMMay 19
to se...@googlegroups.com
In the HDOS2 partition, drive SY0: (of the H89-CF) has a program, XRSIZR.ABS for testing floppy drives.  I've found it to be very useful.

Joe


Reply all
Reply to author
Forward
0 new messages