New to Z-89A, chickens & eggs

61 views
Skip to first unread message

B 9

unread,
Oct 27, 2025, 4:44:30 PM (10 days ago) Oct 27
to se...@googlegroups.com
Hi Everyone!

I recently purchased a Z-89A and am quite excited to learn about it. I couldn't find any FAQ on what newbies should know, so I've been learning by watching Jeff Tranter's excellent YouTube series. (If I was making a FAQ, I'd start with 1. Two beeps; 2. "Off Line" button up. 3 RIGHT-Shift Reset.)

My Z89 was advertised as "boots, disk included", but it turns out "boots" meant boots to the Monitor and the included disk is for a different machine (Z-100). So, I have the chicken-and-egg problem Tranter mentioned in episode 5. He said there is a program called "h89 loader by Dwight Elvi" for creating disk media over the serial port. (It took a while to find, so for anyone Googling from the future, it's spelled "H89LDR".) The docs say it only works with hard-sectored floppies and I don't want to overwrite the few hard-sectored disks I have.

So my first question is, is there a utility similar to H89LDR, but for soft-sectored (double-density) disks?

Second question: The manual for my floppy drive (FDD100-5) says that it can be used as either hard- or soft-sectored. It is currently plugged into an H88-1 (hard-sectored disk I/O controller card), but my machine also has an H37 (soft-sectored card). Can I simply plug the FDD100-5 drive into the H37 card to use it as soft-sectored? If so, would there be any downside to not using hard-sectored floppies, for example are there certain OSes that require it?

Thanks,

—b9

P.S. One of the most fun things I've learned is that my Z89 is related to "H8". This makes me happy since I read of H8 decades ago in a 1960s comic book called MAGNUS: Robot Fighter. (See attached image.) ☺

H8-tiny.jpg

glenn.f...@gmail.com

unread,
Oct 27, 2025, 5:09:56 PM (10 days ago) Oct 27
to se...@googlegroups.com

Wow. Welcome!  Glad you’ve found this list.  If you haven’t already been there, we also have a general web page and a wiki (closest we’ve got so far to an FAQ)

 

https://sebhc.github.io/sebhc/

https://github.com/sebhc/sebhc/wiki

 

we can definitely help you.

 

So you’ve got a monitor prompt (“H:”)?  If so great!  What happened when you enter B for Boot? Does it try to boot from the floppy?

 

You may want to read an article I wrote in a series I call “REMarks” (still planning to write more of those by the way). See issue #3 for a full description of how to use Dwight Elvey’s approach:

https://sebhc.github.io/sebhc/REMarks/index.html

 

this assumes, of course, that you’ve got a hard-sectored floppy disk (the media), however we have now found a practical and reliable way to make these by using a punch to add the missing holes. So it is a possibility. If you like we can help get you some disks to play with.

 

Unfortunately it’s not straightforward to make a “Dwight Elvey” approach that works with the H37.  Dwight’s program works because the H89 ROM contains low level routines for accessing the hard-sectored controller (the same can’t be said for the soft-sectored one).

 

You might want to consider using a GoTek and connecting it to the soft-sectored controller. We have images you could then download and boot from.

The FDD100-5 drive can be used with your H37 (soft-sectored) controller but most of the disk images in our archive are in “H8D” format which is for the hard-sectored drive (i.e. the Elvey approach). The FDD100-5 is also a single-sided drive so that limits you somewhat. You can use any old “PC” style drive that you may have.

 

I had never seen that cartoon you sent about the robot with the H8 emblem. Interesting!

 

The H89 was indeed an evolution from the H8.  The H89 contains a single-board computer that essentially replicates (and upgrades) the H8 capability, for example it uses a Z80 instead of 8080…

 

Looking forward to more discussion…

 

  • 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.
To view this discussion visit https://groups.google.com/d/msgid/sebhc/CAG1tPesgxA7AmcK3WAM0V0N2%2B8sXVdRF6dZzpdi%3D94DYqHw%2B9Q%40mail.gmail.com.

Mark Garlanger

unread,
Oct 28, 2025, 1:09:48 AM (9 days ago) Oct 28
to se...@googlegroups.com
Hey b9,

There are a few options for creating soft-sectored disks. If you have an older PC with floppy (preferably with the same # of tracks as the drive you are planning to use on the H89), you should be able to create the disks with the IMD dos program - http://dunfield.classiccmp.org/img/ 

Another option if you have the applesauce device - https://applesaucefdc.com/, you could use it to create the disks, again, I'd recommend using a drive with the same # of tracks, I'm pretty sure it will properly handle the DD vs HD speed differences if you use a HD drive for writing.

I think, the other flux imaging hardware, such as FluxEngine, GreaseWeazle, etc, but I don't have any experience using them.

Older versions of HDOS and CP/M don't have the drivers for the soft-sectored controller, so you won't be able to run those versions, but you can run the later versions.

If that H8 is from a '60s comic book, it must be referring to something other than the Heath H8 computer, since Heath released the computer in 1977. 

Mark

B 9

unread,
Oct 28, 2025, 1:32:23 AM (9 days ago) Oct 28
to se...@googlegroups.com
Thank you, Glenn!

Issue 3 of REMark ("Starting from Scratch") sounds like exactly what I need to read.

I did find the SEBHC github, but was confused about where to start. Are the mailing list and wiki linked from there? I must have missed them as I had originally thought the "society" consisted of a single person! ☺ I did download a bunch of the documentation but wasn't sure what was relevant. I ended up noodling around at the H: prompt and just seeing what everything did. Boot does whir the drive, but of course I don't have disks yet. Test Memory worked and all 64K passed. From the View command, I noticed "rotational speed" as a string, so I found the jump table and ran G 7372. I couldn't interpret the output until later, but it turns out my disk drive is rotating at the right speed. 

Thanks for letting me know my drive is only single sided!  Is the .H8D extension used for both single and double-sided disks? The FDD100-5 manual said it could do double-density, but it's not clear to me whether the H88-1 controller uses that or not. 

I would greatly appreciate any help getting some disks to play with and/or pointers to where I can procure a ten-hole punch.

Thank you,

—b9 

P.S. Elvey's approach seems to first bootstrap a larger loader, so perhaps it'd be possible to send the soft-sector routines to the Z89's memory? Or is there a size limitation?


Mon, Oct 27, 2025 at 2:09 PM <glenn.f...@gmail.com> wrote:

Wow. Welcome!  Glad you’ve found this list.  If you haven’t already been there, we also have a general web page and a wiki (closest we’ve got so far to an FAQ)

 

glenn.f...@gmail.com

unread,
Oct 28, 2025, 6:53:28 AM (9 days ago) Oct 28
to se...@googlegroups.com

At the very top of the SEBHC web page there are links to the Wiki and Google group.  We also have an active Discord server if that’s of interest to you.

 

Not knowing how much you know about Heathkit computers, it’s hard to give you direction. I’ll assume you are starting largely from scratch. There were two primary operating systems. Heathkit first introduced their own OS Heath Disk Operating System (HDOS) and later (due to popular demand) released Digital Research’s CP/M 2.2. You’ll find documentation for both on the site.

 

As for testing your FDD100-5 drive: I believe you’ll need a 10-hard sectored disk in the drive to test anything (including rotational speed).  I suggest you focus on trying to boot HDOS as it contains a program TEST17.ABS that can be used for further testing. My own experience with these drives points to two things: 1) they almost always need some maintenance after 40 years (e.g. bearings and worm gears need cleaning and lubrication); but 2) they almost always can be put into good operating order.

 

The H8D format is an exact linear copy of the sectors on an H17 (hard sectored) disk so that’s its primary purpose, though there are tools to convert these images to other formats.

 

The drive density (single or double) is completely a function of the disk controller board, not the drive.  The H17 (H88-1?) board: 1) requires hard-sectored media and 2) can only do FM (single density) recording.  It can, however, be used with double-sided and 96TPI drives with the appropriate software drivers.  The H37 board can do MFM (double density) and requires soft-sectored disks. It also supports double-sided and 96TPI drives.

 

We have experimented, with mixed results, with punches over the years for creating 10-sectored disks. These designs have used a metal punch and metal backplate, but they almost always leave rough edges and “hanging chads” on the disk holes. Recently a much better approach has been developed using a 3-D printed hole guide and hollow punches available on Amazon. This approach has produced excellent results. I am planning to write this up in the near future.  Stay tuned!

dwight

unread,
Oct 28, 2025, 11:49:29 AM (9 days ago) Oct 28
to se...@googlegroups.com
Hi
 When I wrote the loader code, there was only the hard sectored. I actually only wrote the stuff as a side effect of repairing the data on a hard sectored disk that my brother inlaw did by not using the mount and unmount properly. I needed a way to get the raw data off and back onto a disk, after patching things. At the time, I had a H89 w/ hard sectored disk and my first IBM compatible PC. I used Forth to experiment with the H89.
 I thought it might be useful to bootstrap a machine without having a copy of the disk handy as I had the ability to extract information from a disk on the H89 and write data back to a new disk on the H89. So that is why I made the boot loader stuff.
I believe that the soft sectored disk are relatively easier to create on things like a PC with the right controller. This can likely be done using one of the other disk tools. I do believe the H89 is only the 360K type soft sectored but haven't looked into it.
The only thing that I recall that had issues is that the loader had tobe done in exactly the right order as there was some setup that needed to be done on the H89 that I never fully looked into. If one doesn't follow the instructions exactly one gets out of order and it hangs.
Dwight


From: se...@googlegroups.com <se...@googlegroups.com> on behalf of glenn.f...@gmail.com <glenn.f...@gmail.com>
Sent: Monday, October 27, 2025 2:09 PM
To: se...@googlegroups.com <se...@googlegroups.com>
Subject: RE: [sebhc] New to Z-89A, chickens & eggs
 

B 9

unread,
Oct 29, 2025, 1:43:30 AM (8 days ago) Oct 29
to se...@googlegroups.com
On Tue, Oct 28, 2025 at 3:53 AM <glenn.f...@gmail.com> wrote:

At the very top of the SEBHC web page there are links to the Wiki and Google group.  We also have an active Discord server if that’s of interest to you.


That's hilarious that they are literally the first two links on the page, even before the banner, and I somehow didn't see them. I guess that says something about either the design-language of web sites or how bad I am at reading. While the latter is more likely, might I suggest adding descriptions indicating their importance? "Google Groups" could say "Our primary forum is an active mailing list at Google Groups." (When I hear "Google Groups", I imagine a Usenet archive of comp.sys.heathkit.) 


Not knowing how much you know about Heathkit computers, it’s hard to give you direction.


Oh, I'm as ignorant as they come! Please forgive me as I'm likely to embarrass myself frequently. 

I have experience with other "retro" computers, but they are all newer than the Z89. One of them in particular led me here. I have a Tandy 200 (clamshell version of the Model 100) which was documented as having a "VT52-like" terminal. That turned out to be false, it is more like an H19, a name I recalled from ages ago when I learned Fortran: although the terminals were made by Zenith, we used a screen-oriented editing program that was called simply "H19". (Is there a text editor for HDOS which lets one use the number pad to aim at any row or column on the screen and just start typing?)

It is commonly held lore that the last software Bill Gates personally wrote for Microsoft was for the Tandy 200. The legend I read included the detail that the machine he used for development was something I had never heard of: the Z89. Fast-forward to the present day, where I finally have a Z89 of my own to try out and see what all the excitement is about and/or become a zillionaire. 

I’ll assume you are starting largely from scratch. There were two primary operating systems. Heathkit first introduced their own OS Heath Disk Operating System (HDOS) and later (due to popular demand) released Digital Research’s CP/M 2.2. You’ll find documentation for both on the site.


Yes, this is the level I need.

 As for testing your FDD100-5 drive: I believe you’ll need a 10-hard sectored disk in the drive to test anything (including rotational speed).  I suggest you focus on trying to boot HDOS as it contains a program TEST17.ABS that can be used for further testing.


Perfect. I'll focus on HDOS. I had only been testing the rotational speed since that seemed to be one of the few things I could do from the monitor.

 

My own experience with these drives points to two things: 1) they almost always need some maintenance after 40 years (e.g. bearings and worm gears need cleaning and lubrication); but 2) they almost always can be put into good operating order.


I have some experience with repairing Apple ][ drives, but those are relatively simple beasts. This will be my first chance to clean and lubricate bearings and worm gears.  

  

The drive density (single or double) is completely a function of the disk controller board, not the drive.  The H17 (H88-1?) board: 1) requires hard-sectored media and 2) can only do FM (single density) recording.  It can, however, be used with double-sided and 96TPI drives with the appropriate software drivers.  The H37 board can do MFM (double density) and requires soft-sectored disks. It also supports double-sided and 96TPI drives.


Again, thank you. This is the kind of thing I didn't know. Leaving aside 8" disks, the relevant variables for Heathkit disks are: 
  • Sectoring: Hard or Soft; 
  • Density: Single (FM) or Double (MFM); 
  • Sides:  Single-sided or Double-sided;
  • Tracks-per-Inch: 48 tpi or 96 tpi 
Even ruling out hard-sectored, double-density disks, I'm counting twelve different possible disk formats. Which ones were most common?


 The H8D format is an exact linear copy of the sectors on an H17 (hard sectored) disk so that’s its primary purpose, though there are tools to convert these images to other formats.


Does one ever need to distinguish between a double-sided, single-density H8D file and a single-side, double-density one?

I'll be focussing on hard-sectored for now since I have no experience with it and thus it is most interesting to me. Just so I have a place-holder in my head, is there an H37 file format? Is it possible to convert an H8D file to a format that can be usefully written to a soft-sectored disk? 


 We have experimented, with mixed results, with punches over the years for creating 10-sectored disks. [...] I am planning to write this up in the near future.  Stay tuned!


This sounds delightful to me. I look forward to building a 10-punch.  

—b9

B 9

unread,
Oct 29, 2025, 6:05:45 AM (8 days ago) Oct 29
to se...@googlegroups.com
On Tue, Oct 28, 2025 at 8:49 AM dwight <dke...@hotmail.com> wrote:
[...] I thought it might be useful to bootstrap a machine without having a copy of the disk handy as I had the ability to extract information from a disk on the H89 and write data back to a new disk on the H89. So that is why I made the boot loader stuff.

Hi!

I love that such a useful and long lasting tool was a mere side-effect of you needing to get more important work done. 
 
I believe that the soft sectored disk are relatively easier to create on things like a PC with the right controller. [...]

Oh... So is that why your program was never updated to handle soft-sectored disks? At the time, PC's with 360K disks were everywhere and so there was no need. Seems reasonable.  
 
The only thing that I recall that had issues is that the loader had to be done in exactly the right order as there was some setup that needed to be done on the H89 that I never fully looked into. If one doesn't follow the instructions exactly one gets out of order and it hangs.
 
I read somewhere that ordering is important because the vectors your program calls aren't initialized until the user types 'B' to attempt to boot. I'm guessing those are some sort of standard jump table in the H89 which gets filled in with the addresses of drive access routines depending upon what hardware is installed and which drive was requested. Did I get that right? Do those vectors not get filled in when using an H37 (soft-sectored) controller? Or, did some of H89LDR2's assumptions about how the routines work turn out to not be correct? 

I'm hoping I can use your loader to get my machine working, even if it is not the easiest way. Of course, if I have to, I would use a PC (or catweazle or gotek) to make boot disks, but part of the fun of exploring this machine for me is to see what it is capable of doing on its own. 

—b9

P.S. Do you still have an H89? 

glenn.f...@gmail.com

unread,
Oct 29, 2025, 6:58:21 AM (8 days ago) Oct 29
to se...@googlegroups.com

Interesting that the Tandy200 is “more like an H19”.  The H19 is essentially an extended VT-52. Does the Tandy 200 really form a complete (or almost complete) h19 emulator? E.g. does it do all the graphics characters and escape sequences?

 

There are many pictures of Bill Gates in front of an H19 terminal. They did a lot of cross-development (at least in the early days) off DEC machines using H19 terminals. See his excellent bio (volume 1) “Source Code”. Not so sure about the Z89 though… (?)

 

Most of us use PIE from Software Toolworks for full screen editing on the H19/89. Once you get an ability to download software you can retrieve it from Mark Garlanger’s site The Software Toolworks or the SEBHC archive.

 

Most common disk format was probably the H17 (FM, single sided, hard-sectored – 100K total). This was the standard default disk drive for the H89.  The Heath User Group (HUG) had a library of disks in this format. Later they disseminated some software in “37” format which was soft-sectored, single sided, double density (160K).  I believe they used single-sided format because many users re-purposed their (single-sided) FDD100-5 drives for use with a soft-sectored controller.

 

Most of the H8D images on the SEBHC site are the 100K variety though some are for double-sided drives (200K) and even a few for double-sided 96TPI (400K).  Mark has developed a more comprehensive format for archiving images which saves all of the data plus out-of-band information on a disk Heathkit Floppy Disk Formats, however we don’t have too much archived in those formats (mostly on Mark’s site).

 

H37 images are probably stored in IMD format.  See Mark’s comments to your previous email.

 

Darrell Pelan’s very useful “H8D Utility” can do format conversions and is very useful for loading images onto a Gotek, for example: https://github.com/sebhc/sebhc/wiki#h8dutility

 

 

 

 

From: se...@googlegroups.com <se...@googlegroups.com> On Behalf Of B 9
Sent: Wednesday, October 29, 2025 1:43 AM
To: se...@googlegroups.com
Subject: Re: [sebhc] New to Z-89A, chickens & eggs

 

On Tue, Oct 28, 2025 at 3:53AM <glenn.f...@gmail.com> wrote:

--

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.

glenn.f...@gmail.com

unread,
Oct 29, 2025, 7:03:47 AM (8 days ago) Oct 29
to se...@googlegroups.com

The main reason Dwight’s program is hard-sectored only is because the code to do hard sector access is in ROM.  This means you can manually type in a relatively small program to “bootstrap” things. You could do something similar for the soft sectored drive but the program you’d have to manually enter would be quite long I suspect since it would have to include disk access routines.  And yes, you’re correct: the vectors to those ROM routines typically are loaded into RAM when you attempt a BOOT (this allows for re-vectoring the code to make enhancements) so a “fake” boot loads those vectors, which are then called by the short program you key in.

 

  • Glenn

 

 


Sent: Wednesday, October 29, 2025 6:05 AM
To: se...@googlegroups.com

--

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.

dwight

unread,
Oct 29, 2025, 9:12:38 PM (8 days ago) Oct 29
to se...@googlegroups.com
The loader program assumes a hard sectored machine. Part of the code is to setup the serial and hand shake of data. If you want you can spend some time learning how the soft sector write works. The low level controller code is quite is different. That code is for a hard sectored controller. Although, most of the data on a soft sectored disk is not dependent on the disk type the actual code that writes and read the disk is different.
You can always analyze the code to read and write the soft sectored drive. It might be a good learning curve for you.
Dwight



From: se...@googlegroups.com <se...@googlegroups.com> on behalf of B 9 <hack...@gmail.com>
Sent: Wednesday, October 29, 2025 3:05 AM
To: se...@googlegroups.com <se...@googlegroups.com>
Subject: Re: [sebhc] New to Z-89A, chickens & eggs
 
--
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.

B9

unread,
Oct 30, 2025, 9:50:54 PM (7 days ago) Oct 30
to se...@googlegroups.com


On October 29, 2025 3:58:17 AM PDT, glenn.f...@gmail.com wrote:
>Interesting that the Tandy200 is “more like an H19”. The H19 is essentially an extended VT-52. Does the Tandy 200 really form a complete (or almost complete) h19 emulator? E.g. does it do all the graphics characters and escape sequences?

Hah! No. It wasn't even VT52 compatible, despite the marketing literature. To act like an H19, at a minimum it is missing:

Scroll reverse
Insert mode
Different ACS characters,
Special graphic characters
Status line

However, as stripped down as it was, it did keep some sequences which I believe existed only in the H19, like Esc p, Esc q for standout mode, Esc L, Esc M for insert/ delete line, etc. Or at least that's what I surmised from the terminfo database. https://github.com/hackerb9/Tandy-Terminfo/blob/master/h19.md

So, yes, it is "more like an H19", but perhaps I should have said, an H19 is a better superset of the Tandy 200 escape sequences.

My guess is they wanted to be able to write software for the Model 100 (Kyocera Kyotronic-85) before the hardware was available. Using an H19 would have worked as long as one didn't use some of the more advanced features. https://github.com/hackerb9/Tandy-Terminfo/blob/master/compare.md

>There are many pictures of Bill Gates in front of an H19 terminal. They did a lot of cross-development (at least in the early days) off DEC machines using H19 terminals. See his excellent bio (volume 1) “Source Code <https://a.co/d/cQo40WC> ”. Not so sure about the Z89 though… (?)

The Z89 story I read was set a little later, when Bill was writing Multiplan for the Tandy 200. I wish I could recall where I saw it.

>Most of us use PIE from Software Toolworks for full screen editing on the H19/89.

Awesome. I look forward to trying out PIE.


> Most common disk format was probably the H17 (FM, single sided, hard-sectored – 100K total). This was the standard default disk drive for the H89. The Heath User Group (HUG) had a library of disks [...] I believe they used single-sided format because many users re-purposed their (single-sided) FDD100-5 drives for use with a soft-sectored controller.

Oh, so I may not be as limited as I feared just having the FDD100-5. Or is it going to be painful only having one drive?

>Darrell Pelan’s very useful “H8D Utility” can do format conversions and is very useful for loading images onto a Gotek, for example: https://github.com/sebhc/sebhc/wiki#h8dutility

Thanks! I will check that out. So, theoretically, I could use my drive with the H37 controller I have and just convert the H8D files before sending them over?

--B9

B9

unread,
Oct 30, 2025, 10:06:47 PM (7 days ago) Oct 30
to se...@googlegroups.com
Oh, fascinating. Where is the code to do soft-sector access if not in ROM? I would have thought it would have to be accessible from the monitor for an H89 to boot? Are there only very primitive soft-sectored routines in ROM but they load more advanced ones from the disk?

What happens with the vectors when one  does a "fake boot" to a soft-sectored disk?

Since Dwight already has a two-stage loader, maybe the small bootstrap program wouldn't have to get any larger. The second stage could include whatever soft-sector routines are needed, perhaps directly copying them from H-DOS?

So much for me to learn! :-)

--B9


B9

unread,
Oct 30, 2025, 10:16:22 PM (7 days ago) Oct 30
to se...@googlegroups.com
Is the low-level controller code something you wrote or copied from H-DOS? If the latter, could the equivalent soft-sectored routines be similarly copied as part of the payload in the second stage? Is the low-level API even the same for the different controllers? Is there a size limit for that stage?

And, yes, this might be a good learning curve for me. Probably well beyond me at the moment, but I'm learning a lot just by asking ignorant questions. :-)

--B9


glenn.f...@gmail.com

unread,
Oct 31, 2025, 11:48:36 AM (6 days ago) Oct 31
to se...@googlegroups.com

So you’ve spotted a few places where I think I tripped up. Good job!  Here’s take two:

 

Soft-sector support was introduced with the MTR-90 ROM (444-142).  If you have that ROM then it does contain routines for accessing soft sectored drives.

 

I also believe you’re correct about Dwight’s tiny loader that’s keyed in from the monitor.  Its only real job is to load a program called H89LDR2 (or H89LDR3 – there may have been a later release?).  That’s where the disk drive smarts are.  So yes, I believe it’s just a “small matter of programming” to build something similar for the H37 … 😊

 

Thanks for keeping me honest! 😊

Darrell Pelan

unread,
Oct 31, 2025, 9:43:00 PM (6 days ago) Oct 31
to SEBHC
A better choice for disk image management is my Disk Image Utility available on GitHub DIU

dwight

unread,
Nov 4, 2025, 9:26:06 PM (2 days ago) Nov 4
to se...@googlegroups.com
The first bootstrap part is just to initialize the serial and put the data stream into the RAM. It is designed to load data backewards. There are good and bad parts to that first is that I don't do a complete init of the serial chip so the program has a number of NOP's that are just to make sure things don't need anything special. Loading the data that will over run in that first code, in byte backwards order, it is then loaded above the serial code and over runs the serial, causing itself to begin the main loader file because it overwrites the last instruction of the serial loader ( which is a PCHL as I recall ). The next problem is that the code may have a byte or two extra that makes it have an offset. 8080 instructions are not easily relocatable. I forget exactly how I delt with that but it was an inefficient loop that had enough NOPs to absorb the needed offset by shifting the loaded code a byte at a time intil the code was properly aligned, to run. One would need to look at the loader code to see hexactly ow that is done. When the main loader starts, it has to realign itself to run, with enough padding of NOPs, it doesn't need to know where it was put as it first loader eats NOP until it over writes the PCHL and runs the main load. Once it is aligned to run as a 8080 code, it just does what is needed to run the hard sectored writes and reads.
 I don't now enough about the Heath soft sectored system. Most systems that I've seen use a buffer window in the system memory to read and write data of a single sector. There is usually a single I/O port that the various command go through. This is like how most S100 systems work. I have one that disk system that DMA's into the S100 memory. It even does a track load on reset. It is cool because there is no ROM in system memory.
Anyway there are the cluses.
Dwight


Sent: Friday, October 31, 2025 8:48 AM
To: se...@googlegroups.com <se...@googlegroups.com>

glenn.f...@gmail.com

unread,
Nov 5, 2025, 8:06:59 AM (yesterday) Nov 5
to se...@googlegroups.com

Indeed, the small bootstrap program you key in from the monitor is quite elegant, if fragile.  Its job is to load a larger program, called H89LDR2.BIN, which is sent from the PC client. As Dwight described, it loads from the end backwards in such a way that the last byte loaded overwrites the PCHL command and the full server program then begins execution on the H8/89. What makes it a bit fragile is that the exact size of the .BIN program must be known and coded into the bootstrap or things will fail.  If one ever changes H89LDR2.BIN the bootstrap must be changed accordingly.

 

image001.png

B 9

unread,
Nov 5, 2025, 11:57:53 PM (11 hours ago) Nov 5
to se...@googlegroups.com
Darrell,

So you're saying DIU is a better choice? What are the pros and cons?

    *    *    *    *

I'm glad you pointed it out since the DIU .exe very nearly works on my GNU/Linux box without recompilation. I used "mono DiskImageUtility 1.2c2.exe" and got this error:

 System.IO.DirectoryNotFoundException: Could not find a part of the path "/home/b9/Desktop/retro/Z89\/HOME/B9/DESKTOP/RETRO/Z89/C80_3_1_DISK_2_OF_2_DISTRIBUTION.H8D".

I believe the only reason DIU failed is because it converted the filename to all uppercase and it separates directories with backslash instead of slash.

I tried looking around for the DIU source code but couldn't find it. If you want DIU to run cross-platform, I believe the errors I saw are probably pretty easy to fix. 1. Don't uppercase the filename. 2. Just use a single forward slash ("/") as a directory separator instead of two backslashes ("\\"). Both of those fixes will work fine on Microsoft Windows as well as anywhere else. 

—B9



B 9

unread,
1:52 AM (9 hours ago) 1:52 AM
to se...@googlegroups.com
That sounds quite clever. Does the HeathKit Assembler use different mnemonics than Zilog? I had to use the opcodes to figure out that `RAR` is just `RRA` and `STAX` is `LD (DE),A`.

Having a universal stage 1 boot sounds like it might be handy so that development of various stage 2s wouldn't be hindered by requiring different stage 1s. Is the only reason it doesn't load the size from the serial port instead of having it hard coded is because it would require stage 1 to be a bit longer?

By the way, what is this H89LDR3 people talk about? It wasn't clear why anyone would want it. 

 —b9

Glenn Roberts

unread,
5:29 AM (5 hours ago) 5:29 AM
to se...@googlegroups.com
Heath used conventions that were common at the time but may seem outdated today. The assembler used Intel mnemonics (Zilog wasn’t even born yet, or maybe was still in infancy) and octal notation, which again was common in the 8080 world. For 16-bit quantities they used “split octal” which represented two octal bytes separated by a period or with a capital A afterward, e.g. 042.200 or 42200A. This meant that values were consistent with the H8 front panel display but made it awkward to do arithmetic (I have routines in my HP 16C calculator to convert back and forth). Most front panels at the time used octal, much like the minicomputers they were patterned after. You can find tables on the Internet that show the translation between Intel and Zilog mnemonics.

It would be interesting to see someone take Dwight’s approach and generalize it for other purposes as you suggest. I can say that the original version does not work with the H8 with Z80 processor. It loses characters in transmission due to the interrupt-driven front panel display refresh. I developed a modified version that solves this by disabling the front panel refresh during transmission (but I don’t think that I changed the loader program name? - it’s been a long time). I had to actually go back and modify the Forth program to do this. I will put it on the “to do” list to make this code available if others are interested. I posted everything to this list at the time…

I’m not sure how to use Darrell’s DIU to do bootstrapping in the sense we’ve been discussing, but it is useful in many ways. I use it to create Gotek images which you can put on a flash drive, pop in the Gotek and immediately read, but this is for soft-sectored drives. I’m not clear on the current status of using Gotek with the H17/H88 hard-sectored controller.

Sent from my iPad

On Nov 6, 2025, at 1:52 AM, B 9 <hack...@gmail.com> wrote:


That sounds quite clever. Does the HeathKit Assembler use different mnemonics than Zilog? I had to use the opcodes to figure out that `RAR` is just `RRA` and `STAX` is `LD (DE),A`.

Having a universal stage 1 boot sounds like it might be handy so that development of various stage 2s wouldn't be hindered by requiring different stage 1s. Is the only reason it doesn't load the size from the serial port instead of having it hard coded is because it would require stage 1 to be a bit longer?

By the way, what is this H89LDR3 people talk about? It wasn't clear why anyone would want it. 

 —b9

On Wed, Nov 5, 2025 at 5:07 AM <glenn.f...@gmail.com> wrote:

Indeed, the small bootstrap program you key in from the monitor is quite elegant, if fragile.  Its job is to load a larger program, called H89LDR2.BIN, which is sent from the PC client. As Dwight described, it loads from the end backwards in such a way that the last byte loaded overwrites the PCHL command and the full server program then begins execution on the H8/89. What makes it a bit fragile is that the exact size of the .BIN program must be known and coded into the bootstrap or things will fail.  If one ever changes H89LDR2.BIN the bootstrap must be changed accordingly.

 

<image001.png>

Darrell Pelan

unread,
6:26 AM (4 hours ago) 6:26 AM
to SEBHC
DIU is focused on disk image management and does not include the H89 emulator in the H8D utility. It adds support for IMG files used in the Gotek Flash Floppy, conversion of H8D to IMG, multiple system formats (Z100, MS-DOS, RC2014, SZ180, CP/M, HDOS). The source code is in the GitHub repository. It is a Windows Forms application written in C# and not intended to run on Linux.

   Darrell
Reply all
Reply to author
Forward
0 new messages