Heathkit Systems in MAME
Heathkit H19 Terminal
Emulation of the base H19 is basically complete and accurate. If you run into any issues, let me know.
ROM Options
- heath - Original H19 ROM, Heath Company - (Manual)
- super19 - Super19, ATG Systems, Inc. (Manual)
- superset - Superset, TMSI (Manual)
- ultra19 - UltraROM, Software Wizardry (Manual)
- watz19 - Watzman (HUG P/N: 885-1221) ROM (Manual)
Graphic Boards
- gp19 - Northwest Digital System's GP-19 Graphics board (GP-19 Manual) - (not working)
- The ROM is no longer properly initilizing the system. Currently the screen and keyboard does not work. This issue blocks any of the following issues from being observed.
- 49/50 line mode is only showing top half of screen. (Issue found/fixed, but PR was not accepted.)
- Lower case descenders are missing in 49/50 line mode. (Issue found/fixed, but PR was not accepted.)
- When used with the H89, the initial "H:" prompt is not displayed. The terminal board seems to be taking much longer than the H89 to initialize.
- igc - SigmaSoft and Systems Interactive Graphics Controller (IGC) - (IGC Manual)
- Light pen, Joystick, Centronics
- Alternate character set(missing the needed ROM).
- Use of alternate ROMs to enable interlace mode and 640x500 resolution.
- imaginator - Cleveland Codonics Imaginator I-100 (I-100 Manual)
Known Issues
NOTE: Due to the unique nature of the IGC board and the parallel connection to the CPU board, this TLB option is only available with the "H89 with Sigmasoft IGC" clone. It is not an option for the H19, or regular H88 or H89 system. With real equipment, it is supported with an H8 and H19. Adding support for H8+H19+IGC will be done in the future.
Not Implemented
Plans
- Fix issue with gp-19 graphics board.
Heathkit H89 (Zenith Z-90)
As of release 0.256, the H89 is considered a working system with the addition of the Z-89-37 soft-sectored controller addon board is implemented. Up to 4 floppy disks can be connected to the controller although the standard Heath operating systems (HDOS & CP/M) only support 3 drives.
NOTE: With the Z-89-37 controller, Only soft-sectored disk images can be used. These include: IMD, TD0, or MFI. Hard-sectored disk images, such as H8D or H17Disk, can not be used at this time.
Monitor ROMs Options (System BIOS is the term MAME uses)
There are several replacement Monitor ROMs to select from for the H89. A ROM with support for the Z-89-37 Soft-sectored controller is needed to boot and use the system with floppy disks. This includes the MTR-90, MMS-84B (or 84A), KMR-100, and the MtrHex-4K.
Note: We do not have documentation for all of the replacement ROMs, so dip switch setting for those may have erros, but should be close based on similar ROMs that we do have manuals for. By default, the dip switch setting listed in MAME are for the MTR-90, but the user is able to change this to one of the other ROMs by using the "Machine Configuration" option and then selecting the correct ROM.
-
MTR-90 (444-142)
Default/Latest ROM provided by Heath, this version supports all of Heath's mass storage systems, except for the cassette interface board. These are the H-88-1 hard-sectored controller, the Z-89-37 soft-sectored controller, the Z-89-47 interface card for the H/Z-47 8" Floppy drive system, and the Z-89-67 interface card for the Z-67 Winchester Drive and 8" Floppy. Currently only the Z-89-37 controller is supported in MAME. (MTR-90 Manual). -
MTR-90 (444-84)
Heath's first release of the MTR-90 ROM had some reliability issues when the soft-sectored controller used 96 tpi drives. It was replaced with part number 444-142, which addressed the reliability issues. (MTR-90 Manual). -
MTR-89 (444-62) (No emulated storage works with this ROM)
The MTR-89 ROM only supports the H-88-1 hard-sectored controller and the Z-89-47 interface card for the H/Z-47 8" Floppy drive system. Since neither of these cards are currently supported/implemented in MAME, if this ROM is choosen by the user, no storage device will be available. (MTR-89 Manual). -
Ultimeth MtrHex-4K
Developed by Ultimeth Software and Dean Gibson. Since I haven't found the manual for this version, information from the Kres manual along with the 2k Ultimeth version manual has been used to understand this monitor ROM. -
Ultimeth MtrHex (2k)
Developed by Ultimeth Software and Dean Gibson (MtrHex Manual) -
Kres KMR-100
Based on Ultimeth ROM plus additional support for Kres Products (KMR-100 Manual). -
MMS-84B
Magnolia Microsystems ROM supports all of Heath's controller/interface cards except for the cassette interface board. It also supports the MMS add-on cards, currently only the MMS 77316 DD controller is supported in MAME. (MMS-84B Manual). -
MMS-84A
Magnolia Microsystems ROM, don't have documentation for this version, but seems similar to the MMS-84B version.
H89 Bus
As more add-on cards are implemented, a proper slot architecture was needed to allow end users to select which cards are installed in their virtual H89 system. To allow users to select which add-on cards are installed in the emulated h89, a proper slot architecture has been implemented for H89 by RB. This change requires a new ROM set - h89bus, available below. The new ROM set is for the I/O PROMs, which allows selecting the proper devices based on the port address.
- 444-43 Heath's PROM for H88 supporting the Cassette interface card.
- 444-61 Heath's PROM for H89/Z90 supporting disk controllers.
- MMS 444-61c MMS's PROM for supporting MMS hardware.
Plans
- Add additional controller/interface cards including Heath's H-88-1, Z-89-47, and Z-89-67.
- Add Z-89-11 Multi-port I/O board.
- Add support for the NOGDS HA-89-3 Graphics and Sound Card.
- Add other 3rd party add-on cards.
- Add various memory upgrades (MMS 128K, CDR 1M).
- Add replacement CPU boards including DG Super-89.
- Any other monitor ROMs.
Heathkit H89 with SigmaSoft IGC
This clone of the Heathkit H89 is nearly identical to the parent H89 system. It just adds the SigmaSoft parallel port to the CPU board to support the IGC(Interactive Graphics Controller). The IGC adds a pixel graphics mode (640x250). For the IGC, only a subset of the terminal ROMs are supported:
- igc - the IGC with the standard Heath terminal ROM.
- igc_super19 - the IGC with the Super19 terminal replacement ROM.
- igc_ultrarom - the IGC with the UltraROM terminal replacement ROM.
- igc_watzman - the IGC with the Watzman terminal replacement ROM.
All supported BIOS options of the h89 are also supported on this system.
Plans
- Work on interlace mode for CRTC. This would allow double the vertical resolution from 250 to 500 pixels.
Heathkit H89 with MMS add-ons
This clone adds support for the MMS 77316 DD controller. It supports a total of eight soft-sectored floppy drives, four 8" drives and four 5.25" drives.
Since original Heath ROMs only support Heath add-on boards, a third-party ROM is required to when using third-party cards. Only the following BIOS ROM have support for the MMS Double Density controller:
- MMS-84B
- Kres KMR-100
- MMS-84A
- Ultimeth MtrHex-4K
- Ultimeth MtrHex (2k)
Plans
- Add MMS 128k RAM.
Heathkit H88
The H88 is a clone of the H89 with the ROM set to MTR-88 (and no other options), has the H-88-5 Cassette Interface card, and 2 cassette tape players/recorders. The soft-sectored controller is not supported with this ROM.
A software list has been created for the cassette images which work on the H88, to make it easier to select and use the images.
MTR-88 (444-40) - Original ROM supported only the H-88-1 hard-sectored controller and H-88-5 cassette interface card. Currently, only the cassette interface board is supported by MAME. (MTR-88 Manual).
I/O PROM 444-43 - Supports cassette interace board, 3-port serial board, and hard-sectored floppy controller.
Heathkit H8
I haven't worked much on the H8 emulator, but it is listed as functional and supports cassette tapes. The h37 soft-sectored controller that I implemented for the H89 should be relatively easy to get working with the H8, although I haven't looked closely on what would be needed.
Github activity
MAME now has support for hard-sectored floppy drives, so adding support for Heath's hard-sectored disks is no longer blocked, but there is still significant work needed to get it working.
Merged PRs (will be available in next release)
New stuff
- New h89bus slot and card implementation by RB.
- Added 2 SigmaROM options for h89
- Connect interrupts for H-88-3 card.
- Move h17_fdc to new h89bus and make into a card.
Bug fixes/Optimizations
- Implement floppy ram write-enable pullup to allow HDOS to boot with new card slots.
- Fix GPP bit definition for mem1 bit.
Recent improvements in Heath emulation
- MAME 0.268
- Added CPU wait states to support 8" DD disk with MMS 77316 controller.
- Fixed HDOS 2.0 booting, formatting.
- MAME 0.267
- Added Z-89 MMS system with the MMS DD soft-sectored controller(MMS 77316).
- Updated wd_fdc.cpp to lower DRQ when IRQ is triggered. Fixes formatting issue with MMS CP/M.
ROMs Needed for Heath Emulators in MAME
- H8 - h8.zip
- H19 - h19.zip - Updated with Superset and Imaginator I-100 ROMs.
- H89 - h89.zip - Updated with Kres KMR-100, Ultimeth, Superset, and Imaginator I-100 ROMs.
- H89BUS - h89bus.zip - New I/O PROMs needed for for new H89 bus slots added in 0.272.
Other useful files
- Software List for H88 Cassette titles (in H8T format) - h88_cass.zip
- Software List for H88 Cassette titles (in WAV format) - h88_cass_wav.zip