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/h89.cpp: Add SigmaSoft Interactive Graphics Controller #11801
Conversation
{ | ||
} | ||
|
||
void sigmasoft_parallel_port::video_mem_w(u8 val) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these trampolines necessary?
#define LOGREG(...) LOGMASKED(LOG_REG, __VA_ARGS__) | ||
#define LOGFUNC(...) LOGMASKED(LOG_FUNC, __VA_ARGS__) | ||
|
||
#ifdef _MSC_VER |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems like something the core should provide in some way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I saw this done like this in several other files, I guess it could go in logmacro.h, but that would probably require a large number of files to be changed.
src/mame/heathkit/h89.cpp
Outdated
@@ -598,6 +598,9 @@ static void tlb_options(device_slot_interface &device) | |||
static void sigma_tlb_options(device_slot_interface &device) | |||
{ | |||
device.option_add("igc", HEATH_IGC); | |||
device.option_add("igc_super19", HEATH_IGC_SUPER19); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the only difference here is the ROM, this should just use BIOS options. (Yes, slot devices can have BIOS options - for an extreme example, look at bus/isa/xtide.cpp, which has 24+ ROMs selectable).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are some additional difference that make that hard. The other ROMs all change the definitions of what the dip switch settings mean. The UltraROM has an addition 2k of RAM for off-screen memory. And both the UltraROM and Watzman ROM had different keyboard rom than the original. There are 2 versions of the Watzman ROM, and they are currently using BIOS options.
@cuavas This PR has been updated to use a similar approach as PR 11898 based on the feedback you provided there. |
…dev#11801) * Add slot devices for the IGC with compatible ROMs * Add Ultimeth 2k ROM as an option for Sigmasoft clone
…dev#11801) * Add slot devices for the IGC with compatible ROMs * Add Ultimeth 2k ROM as an option for Sigmasoft clone
Adds the SigmaSoft and Systems Interactive Graphics Controller (IGC) device for the H89 computer.
Unlike the other graphics upgrades for the Heath H19 which had all the changes/connections in the H19 (or the terminal portion of the H89), this board connected to the H89's CPU board and it's the CPU board's Z80 which drives the graphics board. Note: the IGC could also work with Heath H8 and H19, but in that configuration, the H8's CPU would still be controlling the IGC, not the TLB.
I'm not sure this is the best way to structure the code. This IGC can be used with some of the alternate ROMs on the TLB board, such as Super19, UltraROM, and Watzman, in addition to the original Heath ROM. If there is a clean way to allow any of these ROM with the IGC, that would be preferred to this approach.