Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

heathkit & zenith: Merge Heath and Zenith, since same company #12362

Merged
merged 6 commits into from
May 25, 2024

Conversation

mgarlanger
Copy link
Contributor

Heathkit (Heath Company) and Zenith (ZDS - Zenith Data Systems) were the same company. Heath Company originally developed the systems, but the company was bought out by Zenith in 1979. The Zenith Data Systems division was created and many of their computers were dual branded with both Heath and Zenith/ZDS branding.

Added a few of the duplicate models, including Z-19 terminal and Z-89 and Z-90 computers.

Comment on lines 70 to 77
ROM_START( z19 )
ROM_END

} // anonymous namespace

// year name parent compat machine input class init company fullname flags
COMP( 1979, h19, 0, 0, h19, 0, h19_state, empty_init, "Heath Company", "Heathkit H-19", MACHINE_SUPPORTS_SAVE )
// year name parent compat machine input class init company fullname flags
COMP( 1979, h19, 0, 0, h19, 0, h19_state, empty_init, "Heath Company", "H-19 Terminal", MACHINE_SUPPORTS_SAVE )
COMP( 1980, z19, h19, 0, h19, 0, h19_state, empty_init, "Zenith Data Systems", "Z-19 Terminal", MACHINE_SUPPORTS_SAVE )
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don’t think duplicated machines are really useful if there are no differences at all.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rb6502 had mentioned there would be value in documenting the systems like this, but I will remove them for now so this PR can be merged (it would be trivial to add back in a later PR).

As for the copy/paste of the rom definitions, I was thinking doing something like this would be better:

static const auto rom_z89 = rom_h89;

or have a macro in romentry.h
like

#define ROM_DUP(new_sys, existing_system)  static const auto rom##new_sys rom##existing_system;

So if anything changes in the rom code, it obvious that this macro needs updating.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rb6502 what do you think about having things like h19/z19 and h89/z89 declared even if the branding is the only difference between the systems? And a define like I mentioned above could address the copy/pasted ROM definitions Vas mentioned in the other comment.

Comment on lines 1005 to 1089
COMP( 1979, h88, h89, 0, h88, h88, h88_state, empty_init, "Heath Company", "Heathkit H88", MACHINE_SUPPORTS_SAVE)
COMP( 1979, h89, 0, 0, h89, h89, h89_state, empty_init, "Heath Company", "Heathkit H89", MACHINE_SUPPORTS_SAVE)
COMP( 1984, h89_sigmasoft, h89, 0, h89_sigmasoft, h89, h89_sigmasoft_state, empty_init, "Heath Company", "Heathkit H89 with SigmaSoft IGC", MACHINE_SUPPORTS_SAVE)
// year name parent compat machine input class init company fullname flags
COMP( 1979, h88, h89, 0, h88, h88, h88_state, empty_init, "Heath Company", "H-88", MACHINE_SUPPORTS_SAVE)
COMP( 1979, h89, 0, 0, h89, h89, h89_state, empty_init, "Heath Company", "H-89", MACHINE_SUPPORTS_SAVE)
COMP( 1980, z89, h89, 0, h89, h89, h89_state, empty_init, "Zenith Data Systems", "Z-89", MACHINE_SUPPORTS_SAVE)
COMP( 1981, z90, h89, 0, h89, h89, h89_state, empty_init, "Zenith Data Systems", "Z-90", MACHINE_SUPPORTS_SAVE)
COMP( 1984, h89_sigmasoft, h89, 0, h89_sigmasoft, h89, h89_sigmasoft_state, empty_init, "Heath Company", "H-89 with SigmaSoft IGC", MACHINE_SUPPORTS_SAVE)
COMP( 1984, z90_sigmasoft, h89, 0, h89_sigmasoft, h89, h89_sigmasoft_state, empty_init, "Zenith Data Systems", "Z-90 with SigmaSoft IGC", MACHINE_SUPPORTS_SAVE)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same with this – it adds clutter to the supported system list and so on, and requires dual-maintenance of the copy/pasted ROM definitions.

@mgarlanger mgarlanger requested a review from cuavas May 18, 2024 19:54
@@ -0,0 +1,53 @@
# Heath Company / Zenith Data Systems
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know that we've done anything like this before. I'm not totally against it, but my initial feeling is that this is more like something that would either be in source comments or the wiki: https://wiki.mamedev.org/index.php/System-Specific_Setup_and_Information

@cuavas @galibert Do you guys have any feelings about this?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn’t belong here. It’s a combination of trivia that belongs on Wikipedia, usage information that belongs on the MAMEdev wiki, and notes that belong in source files.

ROM_SYSTEM_BIOS(4, "mtrhex_4k", "Ultimeth 4k ROM")
ROMX_LOAD("2732_mtrhex_4k.u518", 0x0000, 0x1000, CRC(e26b29a9) SHA1(ba13d6c9deef682a9a8262bc910d46b577929a13), ROM_BIOS(4))

ROM_SYSTEM_BIOS(5, "mtr90-84", "Heath's MTR-90 (444-84 - Superseded by 444-142)")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this actually called "Heath's MTR-90"? These systems are hard to find info on so I don't actually know, but it seems unlikely even for the 80s :-)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just looked at the manual, it shows "Zenith Data Systems MONITOR MTR-90"
Screenshot 2024-05-24 at 10 10 44 PM

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My objection is to the "Heath's" part, because I assume it wouldn't be named like grape jelly. If the ROM is just the Heath version of what is otherwise badged as a Zenith Data Systems MTR-90, I'd call that BIOS "MTR-90, Heathkit (444-84 - Superseded by 444-142)".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The MTR-90 model numbers were actually the same between ZDS and Heath. I had just added the Heath's part, since the other ROMs had the company's name. Adding the 's wasn't intentional. I could just use Zenith Data Systems for the two MTR-90s, and Heath for the MTR-89 to make it consistent.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since there are questions on whether or not this PR will get merged, I'll make the description changes in a followup PR.

Copy link
Contributor

@rb6502 rb6502 May 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. Given the 's wasn't intentional, I think this is OK if you fix that. Nobody's answering my question about what to do with the documentation, but worst case we can yank it out of the tree and put it on the wiki later.

@rb6502 rb6502 merged commit 7961501 into mamedev:master May 25, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants