Driver:Heathkit: Difference between revisions

From MAMEDEV Wiki
(Update status of GP-19.)
(Several updates including adding the new h89_mms system.)
Line 49: Line 49:
Heath Company introduced their first digital computers in 1977. This included the H-8, which used the 8-bit 8080 processor, and the H-11, which was compatible with the DEC PDP-11, at a cheaper price. They released the H-89 in 1979, which utilized two Z-80 processors, one for the computer and one for the terminal portion of the system.  
Heath Company introduced their first digital computers in 1977. This included the H-8, which used the 8-bit 8080 processor, and the H-11, which was compatible with the DEC PDP-11, at a cheaper price. They released the H-89 in 1979, which utilized two Z-80 processors, one for the computer and one for the terminal portion of the system.  


'''Note:''' This page is WIP / Preliminary Information


=== H-8 Computer (driver name ''h8'') ===
=== H-8 Computer (driver name ''h8'') ===
Line 59: Line 58:
There is several different versions in the H-89 family of computers. Originally, 3 models were available: the H-88, H-89, and WH-89. The H-88 had a cassette interface board and no floppy drive (or controller). The H-89 added the hard-sectored controller and a single-sided floppy drive with a capacity of 100 KB. The WH-89 came completely assembled, but did not have the cassette interface board.  
There is several different versions in the H-89 family of computers. Originally, 3 models were available: the H-88, H-89, and WH-89. The H-88 had a cassette interface board and no floppy drive (or controller). The H-89 added the hard-sectored controller and a single-sided floppy drive with a capacity of 100 KB. The WH-89 came completely assembled, but did not have the cassette interface board.  


After being acquired by Zenith, a new brand "Zenith Data Systems (ZDS)" was created. Two additional models were added - Z-89 and Z-90. Z-89 came completely assembled and was basically the same as previous WH-89. The Z-90 came with a soft-sectored floppy controller instead of the hard-sectored controller. With the same drives, the soft-sector controller, could hold 160 KB. And with double-sided, 96-tpi drives it could hold 640 KB.
After being acquired by Zenith, a new brand "Zenith Data Systems (ZDS)" was created. Two additional models were added - Z-89 and Z-90. Z-89 came completely assembled and was basically the same as previous WH-89. The Z-90 came with a Z-89-37 soft-sectored floppy controller instead of the hard-sectored controller. With the same drives, the soft-sector controller, could hold 160 KB. And with double-sided, 96-tpi drives it could hold 640 KB.


The soft-sectored controller was an upgrade option for the base H-89.  
The Z-89-37 soft-sectored controller was also an upgrade option for the base H-89.  


Currently, only the Z-89-37 soft-sectored controller has been implemented for the H-89. It supports up to 4 floppy disk drives. The default option for the BIOS will allow the Z-89-37 to function properly. The ''tlbc'' slot device can be changed without impacting the Z-89-37.  
Currently, only the Z-89-37 soft-sectored controller has been implemented for the H-89. It supports up to 4 floppy disk drives. The default option of MTR-90 for the BIOS will allow the Z-89-37 to function properly. The ''tlbc'' slot device can be changed without impacting the Z-89-37.  


==== Slot Options ====
==== Slot Options ====
===== Z37 Floppy Drives =====
===== Z37 Floppy Drives =====
The 4 ''h37:z37_fdc'' slots are for floppy drives connected to the Z-89-37 controller. (Note: Heath's own operating systems only supported 3 floppy drives.)
The 4 ''h37:z37_fdc'' slots are for floppy drives connected to the Z-89-37 controller. (Note: The hardware supported 4 floppy drives, but Heath's own operating systems only supported 3 floppy drives.)


===== Interrupt socket =====
===== Interrupt socket =====
Line 79: Line 78:


==== BIOS Options ====
==== BIOS Options ====
In order for the H89 to work with the Z-89-37, either one of the MTR-90 ROMs must be used, or the MMS's 84B. Neither MTR-88 nor MTR-89 can be used. The 444-142 version of the MTR-90 is the preferred ROM since it improved performance when different types of drives are used with the Z-89-37.  
In order for the H89 to work with the Z-89-37, either version of the MTR-90 ROMs must be used, or the MMS's 84B. MTR-89 can not be used. The 444-142 version of the MTR-90 is the recommended ROM since it improved performance when different types of drives are used with the Z-89-37.  
The dip switch setting shown in the UI for the "[Root:]" can be configured by changing the Machine Configuration option "Switch SWw501 Definitions". The selection which best match the BIOS selected for the system should be picked here.  
The dip switch setting shown in the UI for the "[Root:]" can be configured by changing the Machine Configuration option "Switch SWw501 Definitions". The selection which best match the BIOS selected for the system should be picked here.  


Line 89: Line 88:
=== H-88 Computer (driver name ''h88'') ===
=== H-88 Computer (driver name ''h88'') ===


This is a version of the H-89 family of computers which came with a cassette interface card but supported the hard-sectored controller. Currently, only the cassette tape is implemented in mame.
This is a version of the H-89 family of computers which came with a cassette interface card but supported adding the H-88-1 hard-sectored controller. Currently, only the cassette tape is implemented in MAME.
Software list of cassette software has been defined for the H88.  
Software list of cassette software has been defined for the H88.  
The monitor command for loading a tape is just "L"oad. Type the L and the monitor software will complete the word. Once the load is complete and back at the monitor "H:" prompt, you should press "G"o. The system will wait for the user to press the space bar a few times, in order to determine the baud rate.  
The monitor command for loading a tape is just "L"oad. Type the L and the monitor software will complete the word. Once the load is complete and back at the monitor "H:" prompt, you should press "G"o. The system will wait for the user to press the space bar a few times, in order to determine the baud rate.  
After determining the baud rate, the software will print title and version of the software load. At this point, it allowing the user to configure the system. For example, it will default to only uppercase, unless you press "L" for "LOWER CASE (Y/N)?". At this point press Y and system will allow lower case. There are other options to discover. Once done with configuration, press return to start up the actual software.
After determining the baud rate, the software will print title and version of the software load. At this point, it is allowing the user to configure the system. For example, it will default to only uppercase, unless you press "L" for "LOWER CASE (Y/N)?". At this point press Y and system will allow lower case. There are other options to discover. Once done with configuration, press return to start up the actual software.
 
==== Slot Options ====
 
===== Interrupt socket =====
The ''intr_socket'' slot is currently fixed and set by the software to ''heath''.
 
===== Terminal Logic board =====
The remaining slot device is the ''tlbc'', which is identical to the tlbc slot as defined above in the H19 section.


=== H-89 with SigmaSoft IGC (driver name ''h89_sigmasoft'') ===  
=== H-89 with SigmaSoft IGC (driver name ''h89_sigmasoft'') ===  
This system is similar to the H89 with the only difference being the installation of the SigmaSoft IGC (Interactive Graphics Controller). The IGC provides 640x250 resolution.
 
This system is similar to the H89 with the only difference being the installation of the SigmaSoft IGC (Interactive Graphics Controller). The IGC provides 640x250 resolution, and supported up to 640x500 when interlace mode was used (interlace mode is not supported in MAME).
 
==== Slot Options ====
===== Z37 Floppy Drives =====
 
Same options as for the H89.
 
===== Interrupt socket =====
 
Same fixed ''z37'' as the H89.
 
===== Terminal Logic board =====
 
Since the SigmaSoft IGC provides graphic capability, some of the standard ''tlbc'' are not support, and the supported ones are renamed.
 
* IGC with Heath ROM ''igc''
* IGC with Super-19 ''igc_super19''
* IGC with UltraROM ''igc_ultrarom''
* IGC with Watzman/HUG ROM ''igc_watzman''
 
=== H-89 with Magnolia MicroSystems(MMS) (driver name ''h89_mms'') ===
 
This system is similar to the H-89 with Heath's Z-89-37 replaced by the MMS 77316 DD Soft-sectored controller. MMS's controller supports four 5.25" drives and four 8" drives. Currently MAME does not support wait states on the Z80 CPU during an instruction. This is needed for supporting 8" DD disks since the data rate is faster than interrupts and DRQ can support on a 2 MHz Z80 system. Work is being done on the Z80 to support it, and once that is added to MAME, I'll test and update the 77316 code as needed.
 
==== Slot Options ====
 
===== MMS Floppy Drives =====
The 8 ''mms_fdc:mms_fdc'' slots are for floppy drives connected to the 77316 controller. Drives 0 - 3 are connected to the 8" connector of the controller. And drives 4 - 7 are connected to the 5.25" connector of the controller.
 
===== Interrupt socket =====
The ''intr_socket'' slot is currently fixed and set by the software to ''mms''.
 
===== Terminal Logic board =====
The remaining slot device is the ''tlbc'', which is identical to the tlbc slot as defined above in the H19 section.

Revision as of 06:33, 2 June 2024

Heathkit Terminals

H-19 Terminal (driver name h19) And the terminal portion of the H89 class of systems

This section applies to the h19 driver and the terminal portion of all the H89 class of drivers.

The H-19 Terminal is currently working. As of MAME release 0.258, the prior clones (gp19, super19, ultra19, watz19, ) have been implemented as tlbc slot device for the terminal logic board. The existing methods to select the slot device can be used to select which of these upgrades are active. The "------" option, which means the slot is empty, can not be used and still have a functional h19.

Slot Options

Terminal Logic Board tlbc
  • Heath heath
- This the original terminal logic board, without any upgrades.
  • Northwest Digital Systems GP-19 gp19
- This option adds the Northwest Digital System's GP-19 upgrade board for the H19. It add graphic support and larger screen up to 132 x 50 characters. (note: not currently working).
  • Cleveland Codonics Imaginator I-100 imaginator
- This option adds the Cleveland Codonics I-100 Graphics board. It offered 504 x 247 pixel resolution. Both graphics and text can be displayed at the same time.
  • Super-19 super19
- This option replaces the program ROM with an upgrade ROM.
  • Superset superset
- This option replaces the program ROM, font ROM, and keyboard ROM with upgrade ones.
  • UltraROM ultra19
- This option replaces the program ROM and keyboard ROM with upgraded options.
  • Watzman/HUG ROM watz19
- This option replaces the program ROM and keyboard ROM with upgraded options.
DTE Serial port

The serial port options is currently just what is defined in default_rs232_devices, with the default being loopback. This allows the key presses to be processed by the terminal.

Key Mapping

There are several keys on the H19 (and H89) that are not on current keyboards. These keys are mapped as follows:

  • Break -> Pause
  • Off Line -> F12
  • Repeat -> Right ALT
  • Reset -> F10
  • Line Feed -> Right WIN
  • F1 -> F1
  • F2 -> F2
  • F3 -> F3
  • F4 -> F4
  • F5 -> F5
  • Erase -> F6
  • Blue -> F7
  • Red -> F8
  • White -> F9
  • Scroll -> F11

8-bit Heathkit Computers

Heath Company introduced their first digital computers in 1977. This included the H-8, which used the 8-bit 8080 processor, and the H-11, which was compatible with the DEC PDP-11, at a cheaper price. They released the H-89 in 1979, which utilized two Z-80 processors, one for the computer and one for the terminal portion of the system.


H-8 Computer (driver name h8)

The H-8 is currently implemented and supports cassette tape.

H-89 Computer (driver name h89)

There is several different versions in the H-89 family of computers. Originally, 3 models were available: the H-88, H-89, and WH-89. The H-88 had a cassette interface board and no floppy drive (or controller). The H-89 added the hard-sectored controller and a single-sided floppy drive with a capacity of 100 KB. The WH-89 came completely assembled, but did not have the cassette interface board.

After being acquired by Zenith, a new brand "Zenith Data Systems (ZDS)" was created. Two additional models were added - Z-89 and Z-90. Z-89 came completely assembled and was basically the same as previous WH-89. The Z-90 came with a Z-89-37 soft-sectored floppy controller instead of the hard-sectored controller. With the same drives, the soft-sector controller, could hold 160 KB. And with double-sided, 96-tpi drives it could hold 640 KB.

The Z-89-37 soft-sectored controller was also an upgrade option for the base H-89.

Currently, only the Z-89-37 soft-sectored controller has been implemented for the H-89. It supports up to 4 floppy disk drives. The default option of MTR-90 for the BIOS will allow the Z-89-37 to function properly. The tlbc slot device can be changed without impacting the Z-89-37.

Slot Options

Z37 Floppy Drives

The 4 h37:z37_fdc slots are for floppy drives connected to the Z-89-37 controller. (Note: The hardware supported 4 floppy drives, but Heath's own operating systems only supported 3 floppy drives.)

Interrupt socket

The intr_socket slot is currently fixed and set by the software to h37.

Terminal Logic board

The remaining slot device is the tlbc, which is identical to the tlbc slot as defined above in the H19 section.

Key Mapping

See Key Mapping above for the H19.

BIOS Options

In order for the H89 to work with the Z-89-37, either version of the MTR-90 ROMs must be used, or the MMS's 84B. MTR-89 can not be used. The 444-142 version of the MTR-90 is the recommended ROM since it improved performance when different types of drives are used with the Z-89-37. The dip switch setting shown in the UI for the "[Root:]" can be configured by changing the Machine Configuration option "Switch SWw501 Definitions". The selection which best match the BIOS selected for the system should be picked here.

Floppy Disk Image Options

The File Manager UI can be used to load any of the disk formats supported by MAME for FM/MFM images. IMD and TD0 disk images are available for the H89.

Note: if the disk image is only 40 tracks, and the drive used is 80 tracks, the OS will set the disk to R/O to prevent the attempted writing of a 40 track disk in an 80 track drive.

H-88 Computer (driver name h88)

This is a version of the H-89 family of computers which came with a cassette interface card but supported adding the H-88-1 hard-sectored controller. Currently, only the cassette tape is implemented in MAME. Software list of cassette software has been defined for the H88. The monitor command for loading a tape is just "L"oad. Type the L and the monitor software will complete the word. Once the load is complete and back at the monitor "H:" prompt, you should press "G"o. The system will wait for the user to press the space bar a few times, in order to determine the baud rate. After determining the baud rate, the software will print title and version of the software load. At this point, it is allowing the user to configure the system. For example, it will default to only uppercase, unless you press "L" for "LOWER CASE (Y/N)?". At this point press Y and system will allow lower case. There are other options to discover. Once done with configuration, press return to start up the actual software.

Slot Options

Interrupt socket

The intr_socket slot is currently fixed and set by the software to heath.

Terminal Logic board

The remaining slot device is the tlbc, which is identical to the tlbc slot as defined above in the H19 section.

H-89 with SigmaSoft IGC (driver name h89_sigmasoft)

This system is similar to the H89 with the only difference being the installation of the SigmaSoft IGC (Interactive Graphics Controller). The IGC provides 640x250 resolution, and supported up to 640x500 when interlace mode was used (interlace mode is not supported in MAME).

Slot Options

Z37 Floppy Drives

Same options as for the H89.

Interrupt socket

Same fixed z37 as the H89.

Terminal Logic board

Since the SigmaSoft IGC provides graphic capability, some of the standard tlbc are not support, and the supported ones are renamed.

  • IGC with Heath ROM igc
  • IGC with Super-19 igc_super19
  • IGC with UltraROM igc_ultrarom
  • IGC with Watzman/HUG ROM igc_watzman

H-89 with Magnolia MicroSystems(MMS) (driver name h89_mms)

This system is similar to the H-89 with Heath's Z-89-37 replaced by the MMS 77316 DD Soft-sectored controller. MMS's controller supports four 5.25" drives and four 8" drives. Currently MAME does not support wait states on the Z80 CPU during an instruction. This is needed for supporting 8" DD disks since the data rate is faster than interrupts and DRQ can support on a 2 MHz Z80 system. Work is being done on the Z80 to support it, and once that is added to MAME, I'll test and update the 77316 code as needed.

Slot Options

MMS Floppy Drives

The 8 mms_fdc:mms_fdc slots are for floppy drives connected to the 77316 controller. Drives 0 - 3 are connected to the 8" connector of the controller. And drives 4 - 7 are connected to the 5.25" connector of the controller.

Interrupt socket

The intr_socket slot is currently fixed and set by the software to mms.

Terminal Logic board

The remaining slot device is the tlbc, which is identical to the tlbc slot as defined above in the H19 section.