From 9812dbc7d3a6ef5da466b27644c2f84c847d312f Mon Sep 17 00:00:00 2001 From: angelosa Date: Sun, 10 Nov 2024 20:43:42 +0100 Subject: nec/pc9801: convert pc9801vm11 as partial pc286u set for pc9801_epson --- src/mame/mame.lst | 2 +- src/mame/nec/pc9801.cpp | 40 ++++++++++------------------------------ src/mame/nec/pc9801_epson.cpp | 37 +++++++++++++++++++++++++++++++++++++ src/mame/nec/pc9801_epson.h | 1 + 4 files changed, 49 insertions(+), 31 deletions(-) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 234cd9c389a..2c223856efc 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -33773,11 +33773,11 @@ pc9801rx // 1988 pc9801us // 1992 pc9801ux // 1987 pc9801vm // 1985 -pc9801vm11 // 1985 pc9801vx // 1986 @source:nec/pc9801_epson.cpp pc286vs // 1989 +pc286u // 1987 pc386m // 1990 pc486se // 1993 pc486mu // 1994 diff --git a/src/mame/nec/pc9801.cpp b/src/mame/nec/pc9801.cpp index 3da0b2406bc..700331cd347 100644 --- a/src/mame/nec/pc9801.cpp +++ b/src/mame/nec/pc9801.cpp @@ -1375,16 +1375,16 @@ static INPUT_PORTS_START( pc9801rs ) PORT_CONFSETTING( 0x04, DEF_STR( No ) ) INPUT_PORTS_END -static INPUT_PORTS_START( pc9801vm11 ) - PORT_INCLUDE( pc9801rs ) - - PORT_MODIFY("DSW3") - // TODO: "CPU Add Waitstate Penalty"? - // specific for PC-98DO, CV21, UV11 and VM11 - PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:!5") - PORT_DIPSETTING( 0x00, DEF_STR( No ) ) - PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) -INPUT_PORTS_END +//static INPUT_PORTS_START( pc9801vm11 ) +// PORT_INCLUDE( pc9801rs ) +// +// PORT_MODIFY("DSW3") +// // TODO: "CPU Add Waitstate Penalty"? +// // specific for PC-98DO, CV21, UV11 and VM11 +// PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:!5") +// PORT_DIPSETTING( 0x00, DEF_STR( No ) ) +// PORT_DIPSETTING( 0x10, DEF_STR( Yes ) ) +//INPUT_PORTS_END static const gfx_layout charset_8x8 = @@ -2700,24 +2700,6 @@ ROM_START( pc9801vm ) // LOAD_IDE_ROM ROM_END -/* -VM11 - V30 8/10 - -TODO: this ISN'T a real VM11 model! -*/ - -ROM_START( pc9801vm11 ) - ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF ) - ROM_LOAD( "itf_ux.rom", 0x10000, 0x08000, BAD_DUMP CRC(c7942563) SHA1(61bb210d64c7264be939b11df1e9cd14ffeee3c9) ) - ROM_LOAD( "bios_vm.rom", 0x18000, 0x18000, CRC(2e2d7cee) SHA1(159549f845dc70bf61955f9469d2281a0131b47f) ) - - ROM_REGION( 0x80000, "chargen", 0 ) - ROM_LOAD( "font_vm.rom", 0x000000, 0x046800, BAD_DUMP CRC(456d9fc7) SHA1(78ba9960f135372825ab7244b5e4e73a810002ff) ) - - LOAD_KANJI_ROMS -// LOAD_IDE_ROM -ROM_END - /* VX - 80286 10 + V30 8 @@ -3076,8 +3058,6 @@ COMP( 1983, pc9801f, pc9801, 0, pc9801, pc9801, pc9801_state, init_pc9 // VM class (V30) COMP( 1985, pc9801vm, 0, 0, pc9801vm, pc9801rs, pc9801vm_state, init_pc9801vm_kanji, "NEC", "PC-9801VM", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // genuine dump -COMP( 1985, pc9801vm11, pc9801ux, 0, pc9801vm, pc9801vm11, pc9801vm_state, init_pc9801_kanji, "NEC", - "PC-9801VM11", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // UX class (i286) COMP( 1987, pc9801ux, 0, 0, pc9801ux, pc9801rs, pc9801vm_state, init_pc9801_kanji, "NEC", "PC-9801UX", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) diff --git a/src/mame/nec/pc9801_epson.cpp b/src/mame/nec/pc9801_epson.cpp index 6691bdcad21..e1377a2ef09 100644 --- a/src/mame/nec/pc9801_epson.cpp +++ b/src/mame/nec/pc9801_epson.cpp @@ -346,6 +346,15 @@ void pc98_epson_state::pc286vs(machine_config &config) // TODO: DMA type & clock } +void pc98_epson_state::pc286u(machine_config &config) +{ + pc9801vm(config); + config_base_epson(config); + + // TODO: DMA type & clock +} + + void pc98_epson_state::pc386m(machine_config &config) { pc9801rs(config); @@ -437,6 +446,32 @@ ROM_START( pc286vs ) LOAD_IDE_ROM ROM_END + +/* +Epson PC-286U +μPD70116 (V30) @ 10/8 MHz +640 KB conventional memory + 8.6 MB +3.5"2DD/2HDx2 +CBus: 2 internal slots + 2 external slots + +NOTE: was mislabeled as pc9801vm11, this is a best guess +(contains Epson strings in place of KBCRT identifier, at ipl address $23270) + +*/ + +ROM_START( pc286u ) + ROM_REGION16_LE( 0x30000, "ipl", ROMREGION_ERASEFF ) + ROM_LOAD( "itf.rom", 0x10000, 0x08000, NO_DUMP ) + ROM_LOAD( "bios_vm.rom", 0x18000, 0x18000, CRC(2e2d7cee) SHA1(159549f845dc70bf61955f9469d2281a0131b47f) ) + + ROM_REGION( 0x80000, "chargen", 0 ) + ROM_LOAD( "font_vm.rom", 0x000000, 0x046800, BAD_DUMP CRC(456d9fc7) SHA1(78ba9960f135372825ab7244b5e4e73a810002ff) ) + + LOAD_KANJI_ROMS +// LOAD_IDE_ROM +ROM_END + + /* Epson PC-386M @@ -525,6 +560,8 @@ ROM_END COMP( 1989, pc286vs, 0, 0, pc286vs, pc386m, pc98_epson_state, init_pc9801_kanji, "Epson", "PC-286VS", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // PC-286U (same as above except running on V30) +COMP( 1987, pc286u, 0, 0, pc286u, pc386m, pc98_epson_state, init_pc9801_kanji, "Epson", "PC-286U", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND ) // Revised BIOS 1988 + // PC-286C "PC Club" (same as PC-286?) // ... diff --git a/src/mame/nec/pc9801_epson.h b/src/mame/nec/pc9801_epson.h index aba062339d3..4fdb9e523bc 100644 --- a/src/mame/nec/pc9801_epson.h +++ b/src/mame/nec/pc9801_epson.h @@ -23,6 +23,7 @@ public: } void pc286vs(machine_config &config); + void pc286u(machine_config &config); void pc386m(machine_config &config); void pc486mu(machine_config &config); void pc486se(machine_config &config); -- cgit v1.2.3