From bd8310f5e7b33f39a97383128d3d35b5961f6b84 Mon Sep 17 00:00:00 2001 From: Bozo Scum Date: Tue, 21 Oct 2025 13:25:42 +0800 Subject: [PATCH 1/4] fix Display Type does not correctly apply to Video #2 --- src/video/vid_table.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/video/vid_table.c b/src/video/vid_table.c index db8b33e18..cb7e794e8 100644 --- a/src/video/vid_table.c +++ b/src/video/vid_table.c @@ -327,8 +327,10 @@ video_prepare(void) for (int i = 0; i < MONITORS_NUM; i++) { /* Reset the CGA palette. */ +#if 0 if (monitors[i].mon_cga_palette) *monitors[i].mon_cga_palette = 0; +#endif cgapal_rebuild_monitor(i); /* Do an inform on the default values, so that that there's some sane values initialized From 811cdcdb9a2c9e5c8af0aad870bb5b9f5ddf29be Mon Sep 17 00:00:00 2001 From: Bozo Scum Date: Thu, 30 Oct 2025 15:37:30 +0800 Subject: [PATCH 2/4] eliminate Missing ROM file error for 'Tsengs ET4000w32p Rev.B (VideoMagic)' on case-sensitive platforms such as Linux --- src/video/vid_et4000w32.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/video/vid_et4000w32.c b/src/video/vid_et4000w32.c index 4b95ba04e..cd78c555e 100644 --- a/src/video/vid_et4000w32.c +++ b/src/video/vid_et4000w32.c @@ -40,7 +40,7 @@ #define BIOS_ROM_PATH_W32_MACHSPEED_VGA_GUI_2400S "roms/video/et4000w32/ET4000W32VLB_bios_MX27C512.BIN" #define BIOS_ROM_PATH_W32I_REVB_AXIS_MICRODEVICE "roms/video/et4000w32/ET4KW32I.VBI" #define BIOS_ROM_PATH_W32I_REVB_HERCULES_DYNAMITE_VLB_PRO "roms/video/et4000w32/Hercules Dynamite VL Pro v8.00 c 1993 Hercules.bin" -#define BIOS_ROM_PATH_W32P_REVB_VIDEOMAGIC "roms/video/et4000w32/VideoMagic-BioS-HXIRTW32PWSRL.bin" +#define BIOS_ROM_PATH_W32P_REVB_VIDEOMAGIC "roms/video/et4000w32/VideoMagic-BioS-HXIRTW32PWSRL.BIN" #define BIOS_ROM_PATH_W32P_REVC_CARDEX "roms/video/et4000w32/et4000w32pcardex.BIN" #define BIOS_ROM_PATH_W32P_REVD "roms/video/et4000w32/ET4K_W32.BIN" #define BIOS_ROM_PATH_W32P_REVD_CARDEX "roms/video/et4000w32/cardex.vbi" From 2bf3c5a864ad8de223cafeb5132efb70b9e56146 Mon Sep 17 00:00:00 2001 From: Bozo Scum Date: Thu, 30 Oct 2025 15:46:37 +0800 Subject: [PATCH 3/4] complete the onboard RTC Port Address and IRQ selection passing for Multitech PC-500 and PC-500+ --- src/device/isartc.c | 6 ++---- src/machine/m_xt.c | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/device/isartc.c b/src/device/isartc.c index 3ba092eb9..0128dff0a 100644 --- a/src/device/isartc.c +++ b/src/device/isartc.c @@ -680,11 +680,9 @@ isartc_init(const device_t *info) case ISARTC_RTC58167: /* Multitech PC-500/PC-500+ onboard RTC */ dev->flags |= FLAG_YEARBCD; - //dev->base_addr = machine_get_config_int("rtc_port"); - dev->base_addr = 0x2c0; + dev->base_addr = machine_get_config_int("rtc_port"); dev->base_addrsz = 8; - //dev->irq = machine_get_config_int("rtc_irq"); - dev->irq = -1; + dev->irq = machine_get_config_int("rtc_irq"); dev->f_rd = rtc58167_read; dev->f_wr = rtc58167_write; dev->nvr.reset = mm67_reset; diff --git a/src/machine/m_xt.c b/src/machine/m_xt.c index 5969f25c9..97e351c1b 100644 --- a/src/machine/m_xt.c +++ b/src/machine/m_xt.c @@ -1259,7 +1259,7 @@ static const device_config_t pc500_config[] = { { .name = "rtc_port", .description = "RTC Port Address", - .type = CONFIG_HEX16, + .type = CONFIG_SELECTION, .default_string = NULL, .default_int = 0, .file_filter = NULL, @@ -1379,7 +1379,7 @@ static const device_config_t pc500plus_config[] = { { .name = "rtc_port", .description = "Onboard RTC", - .type = CONFIG_HEX16, + .type = CONFIG_SELECTION, .default_string = NULL, .default_int = 0, .file_filter = NULL, From 3689c53018a41f2a0679996b57dbc4b346248825 Mon Sep 17 00:00:00 2001 From: Bozo Scum Date: Thu, 30 Oct 2025 15:52:02 +0800 Subject: [PATCH 4/4] correcting KBC device types for Multitech PC-500/PC-500+/PC-700 to reflect real hardware designs --- src/machine/m_xt.c | 8 +++----- src/machine/machine_table.c | 6 +++--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/machine/m_xt.c b/src/machine/m_xt.c index 97e351c1b..007e8c7c4 100644 --- a/src/machine/m_xt.c +++ b/src/machine/m_xt.c @@ -1310,7 +1310,7 @@ machine_xt_pc500_init(const machine_t *model) if (bios_only || !ret) return ret; - device_add(&kbc_xtclone_device); + device_add(&kbc_pc82_device); machine_xt_common_init(model, 0); @@ -1429,9 +1429,7 @@ machine_xt_pc500plus_init(const machine_t *model) if (bios_only || !ret) return ret; - device_add(&kbc_xtclone_device); - - machine_xt_common_init(model, 0); + machine_xt_clone_init(model, 0); if (rtc_port != 0) device_add(&rtc58167_device); @@ -1507,7 +1505,7 @@ machine_xt_pc700_init(const machine_t *model) if (bios_only || !ret) return ret; - device_add(&kbc_pc_device); + device_add(&kbc_pc82_device); machine_xt_common_init(model, 0); diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index d8bdade84..83076edc6 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -1126,7 +1126,7 @@ const machine_t machines[] = { .nvrmask = 0, .jumpered_ecp_dma = 0, .default_jumpered_ecp_dma = -1, - .kbc_device = &kbc_pc_device, + .kbc_device = &kbc_pc82_device, .kbc_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, @@ -1169,7 +1169,7 @@ const machine_t machines[] = { .nvrmask = 0, .jumpered_ecp_dma = 0, .default_jumpered_ecp_dma = -1, - .kbc_device = &kbc_pc_device, + .kbc_device = &kbc_xtclone_device, .kbc_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff, @@ -1212,7 +1212,7 @@ const machine_t machines[] = { .nvrmask = 0, .jumpered_ecp_dma = 0, .default_jumpered_ecp_dma = -1, - .kbc_device = &kbc_pc_device, + .kbc_device = &kbc_pc82_device, .kbc_params = 0x00000000, .kbc_p1 = 0xff, .gpio = 0xffffffff,