mm1,mephisto3: reorder parent/clones

New working clones
------------------
Mephisto II (set 3) [Berger]
Mephisto ESB II (ESB II board) [hap, Berger]
This commit is contained in:
hap 2024-07-03 13:44:05 +02:00
parent 7965b9cbb5
commit 65d7c09761
4 changed files with 156 additions and 83 deletions

View File

@ -839,11 +839,11 @@ void apple2gs_state::machine_reset()
m_ramrd = false;
m_ramwrt = false;
m_ioudis = true;
m_video->set_newvideo(0x01); // verified on ROM03 hardware
m_video->set_newvideo(0x01); // verified on ROM03 hardware
m_clock_frame = 0;
m_slot_irq = false;
m_clkdata = 0;
m_clock_control =0;
m_clock_control = 0;
m_shadow = 0x00;
m_speed = 0x80;
@ -1214,20 +1214,20 @@ void apple2gs_state::lc_update(int offset, bool writing)
{
bool old_lcram = m_lcram;
//any even access disables pre-write and writing
// any even access disables pre-write and writing
if ((offset & 1) == 0)
{
m_lcprewrite = false;
m_lcwriteenable = false;
}
//any write disables pre-write
//has no effect on write-enable if writing was enabled already
// any write disables pre-write
// has no effect on write-enable if writing was enabled already
if (writing == true)
{
m_lcprewrite = false;
}
//first odd read enables pre-write, second one enables writing
// first odd read enables pre-write, second one enables writing
else if ((offset & 1) == 1)
{
if (m_lcprewrite == false)
@ -1315,7 +1315,7 @@ void apple2gs_state::do_io(int offset)
case 0x20:
break;
case 0x28: // ROMSWITCH - not used by the IIgs firmware or SSW, but does exist at least on ROM 0/1 (need to test on ROM 3 hw)
case 0x28: // ROMSWITCH - not used by the IIgs firmware or SSW, but does exist at least on ROM 0/1 (need to test on ROM 3 hw)
if (!m_is_rom3)
{
m_romswitch = !m_romswitch;
@ -2226,7 +2226,7 @@ u8 apple2gs_state::c080_r(offs_t offset)
slow_cycle();
offset &= 0x7F;
offset &= 0x7f;
slot = offset / 0x10;
if (slot == 0)
@ -2281,7 +2281,7 @@ void apple2gs_state::c080_w(offs_t offset, u8 data)
slow_cycle();
offset &= 0x7F;
offset &= 0x7f;
slot = offset / 0x10;
if (slot == 0)
@ -3177,8 +3177,8 @@ void apple2gs_state::apple2gs_map(address_map &map)
map(0x000400, 0x0007ff).view(m_b0_0400bank);
m_b0_0400bank[0](0x0400, 0x07ff).rw(FUNC(apple2gs_state::b0ram0400_r), FUNC(apple2gs_state::b0ram0400_w)); // wr 0 rd 0
m_b0_0400bank[1](0x0400, 0x07ff).rw(FUNC(apple2gs_state::b1ram0400_r), FUNC(apple2gs_state::b0ram0400_w)); // wr 0 rd 1
m_b0_0400bank[2](0x0400, 0x07ff).rw(FUNC(apple2gs_state::b0ram0400_r), FUNC(apple2gs_state::b1ram0400_w)); // wr 1 rd 0
m_b0_0400bank[1](0x0400, 0x07ff).rw(FUNC(apple2gs_state::b1ram0400_r), FUNC(apple2gs_state::b0ram0400_w)); // wr 0 rd 1
m_b0_0400bank[2](0x0400, 0x07ff).rw(FUNC(apple2gs_state::b0ram0400_r), FUNC(apple2gs_state::b1ram0400_w)); // wr 1 rd 0
m_b0_0400bank[3](0x0400, 0x07ff).rw(FUNC(apple2gs_state::b1ram0400_r), FUNC(apple2gs_state::b1ram0400_w)); // wr 1 rd 1
map(0x000800, 0x001fff).view(m_b0_0800bank);
@ -4025,11 +4025,11 @@ ROM_END
} // Anonymous namespace
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME */
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME */
COMP( 1989, apple2gs, 0, apple2, apple2gs, apple2gsrom3, apple2gs_state, rom3_init, "Apple Computer", "Apple IIgs (ROM03)", MACHINE_SUPPORTS_SAVE )
COMP( 198?, apple2gsr3p, apple2gs, 0, apple2gs, apple2gsrom3, apple2gs_state, rom3_init, "Apple Computer", "Apple IIgs (ROM03 prototype)", MACHINE_NOT_WORKING )
COMP( 1987, apple2gsr1, apple2gs, 0, apple2gsr1, apple2gs, apple2gs_state, rom1_init, "Apple Computer", "Apple IIgs (ROM01)", MACHINE_SUPPORTS_SAVE )
COMP( 1986, apple2gsr0, apple2gs, 0, apple2gsr1, apple2gs, apple2gs_state, rom1_init, "Apple Computer", "Apple IIgs (ROM00)", MACHINE_SUPPORTS_SAVE )
COMP( 1986, apple2gsr0p, apple2gs, 0, apple2gsr1, apple2gs, apple2gs_state, rom1_init, "Apple Computer", "Apple IIgs (ROM00 prototype 6/19/1986)", MACHINE_SUPPORTS_SAVE )
COMP( 1986, apple2gsr0p2, apple2gs, 0, apple2gsr1, apple2gs, apple2gs_state, rom1_init, "Apple Computer", "Apple IIgs (ROM00 prototype 3/10/1986)", MACHINE_SUPPORTS_SAVE )
COMP( 1987, apple2gsr1, apple2gs, 0, apple2gsr1, apple2gs, apple2gs_state, rom1_init, "Apple Computer", "Apple IIgs (ROM01)", MACHINE_SUPPORTS_SAVE )
COMP( 1986, apple2gsr0, apple2gs, 0, apple2gsr1, apple2gs, apple2gs_state, rom1_init, "Apple Computer", "Apple IIgs (ROM00)", MACHINE_SUPPORTS_SAVE )
COMP( 1986, apple2gsr0p, apple2gs, 0, apple2gsr1, apple2gs, apple2gs_state, rom1_init, "Apple Computer", "Apple IIgs (ROM00 prototype 6/19/1986)", MACHINE_SUPPORTS_SAVE )
COMP( 1986, apple2gsr0p2, apple2gs, 0, apple2gsr1, apple2gs, apple2gs_state, rom1_init, "Apple Computer", "Apple IIgs (ROM00 prototype 3/10/1986)", MACHINE_SUPPORTS_SAVE )
COMP( 1991, apple2gsmt, apple2gs, 0, apple2gsmt, apple2gsrom3, apple2gs_state, rom3_init, "Apple Computer", "Apple IIgs (1991 Mark Twain prototype)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )

View File

@ -60,17 +60,23 @@ Mephisto III program module:
- DM74LS373N (latch)
- HCF4556BE (chip select?)
ESB 6000 chessboard:
- PCB label: DH 5000 00111 12 B
- CD4017, 74373, 74374
ESB II interface (via module slot):
- PCB label: DH 5000 00 111 01
- CD4001, 3*74373, MDP1603-331G (resistor array)
ESB 6000 interface (via external port):
- PCB label: DH 5000 00 111 12
- TC4081, TC4082, TC4017, 74373, 74374
ESB II/6000 chessboard:
- 64 reed switches (magnet sensors)
- 64 leds + power led
ESB 3000 hardware is probably same as ESB 6000.
There are no other known external port peripherals.
The Brikett was also used in the 1983 Mephisto Excalibur, but the hardware
is completely different, based on a 68000.
The Brikett (sans PCB) was also used in the 1983 Mephisto Excalibur, but the
hardware is completely different, based on a 68000.
BTANB:
- bad bug in mephistoj opening library: e4 e6 / d4 d5 / Nd2 c5 / exd5 Qd1xd5,
@ -86,7 +92,6 @@ BTANB:
#include "machine/cdp1852.h"
#include "machine/clock.h"
#include "machine/sensorboard.h"
#include "machine/timer.h"
#include "sound/dac.h"
#include "video/pwm.h"
@ -113,7 +118,6 @@ public:
m_display(*this, "display"),
m_led_pwm(*this, "led_pwm"),
m_dac(*this, "dac"),
m_speaker_off(*this, "speaker_off"),
m_inputs(*this, "IN.%u", 0)
{ }
@ -124,7 +128,8 @@ public:
void mephisto(machine_config &config);
void mephistoj(machine_config &config);
void mephisto2(machine_config &config);
void mephisto2e(machine_config &config);
void mephistoe2(machine_config &config);
void mephistoe2a(machine_config &config);
void mephisto3(machine_config &config);
protected:
@ -140,9 +145,9 @@ private:
required_device<mephisto_display1_device> m_display;
optional_device<pwm_display_device> m_led_pwm;
required_device<dac_1bit_device> m_dac;
required_device<timer_device> m_speaker_off;
optional_ioport_array<4+2> m_inputs;
emu_timer *m_speaker_off;
bool m_reset = false;
u8 m_esb_led = 0;
u8 m_esb_row = 0;
@ -152,7 +157,8 @@ private:
void mephisto_map(address_map &map);
void mephistoj_map(address_map &map);
void mephisto2_map(address_map &map);
void mephisto2e_map(address_map &map);
void mephistoe2_map(address_map &map);
void mephistoe2a_map(address_map &map);
void mephisto3_map(address_map &map);
void mephisto_io(address_map &map);
void mephistoj_io(address_map &map);
@ -162,10 +168,12 @@ private:
u8 input_r(offs_t offset);
u8 sound_r();
void esb_w(u8 data);
int esb_r();
void esb2_w(offs_t offset, u8 data);
u8 esb2_r(offs_t offset);
void esb6_w(u8 data);
int esb6_r();
TIMER_DEVICE_CALLBACK_MEMBER(speaker_off) { m_dac->write(0); }
TIMER_CALLBACK_MEMBER(speaker_off) { m_dac->write(0); }
};
@ -176,6 +184,8 @@ private:
void brikett_state::machine_start()
{
m_speaker_off = timer_alloc(FUNC(brikett_state::speaker_off), this);
// register for savestates
save_item(NAME(m_reset));
save_item(NAME(m_esb_led));
@ -251,9 +261,30 @@ u8 brikett_state::input_r(offs_t offset)
}
// ESB 6000
// ESB II board
void brikett_state::esb_w(u8 data)
void brikett_state::esb2_w(offs_t offset, u8 data)
{
// a0-a7,d0-d7: chessboard leds
m_led_pwm->matrix(~offset, m_inputs[5].read_safe(0) ? data : 0);
}
u8 brikett_state::esb2_r(offs_t offset)
{
u8 data = 0;
// a0-a7,d0-d7: read chessboard
for (int i = 0; i < 8; i++)
if (BIT(~offset, i))
data |= m_board->read_rank(i);
return m_inputs[5].read_safe(0) ? ~data : 0;
}
// ESB 6000 board
void brikett_state::esb6_w(u8 data)
{
// CDP1852 SR + DO0-DO7 goes to external port, to chessboard
if (!m_inputs[5].read_safe(0))
@ -263,7 +294,7 @@ void brikett_state::esb_w(u8 data)
return;
}
// SR clocks CD4017
// SR clocks TC4017
// 4017 Q0: N/C
// 4017 Q1 + d0-d7: 74374 to led data
// 4017 Q2 + d0-d7: 74373 to row select
@ -284,10 +315,10 @@ void brikett_state::esb_w(u8 data)
m_led_pwm->matrix(~m_esb_row, m_esb_led);
}
int brikett_state::esb_r()
int brikett_state::esb6_r()
{
// EF1: read chessboard sensor
if (m_board && m_inputs[5].read_safe(0))
if (m_inputs[5].read_safe(0))
return (m_board->read_file(m_esb_select - 2) & ~m_esb_row) ? 0 : 1;
else
return 0;
@ -320,12 +351,18 @@ void brikett_state::mephisto2_map(address_map &map)
map(0xf000, 0xf3ff).ram();
}
void brikett_state::mephisto2e_map(address_map &map)
void brikett_state::mephistoe2_map(address_map &map)
{
mephisto2_map(map);
map(0x3000, 0x3fff).rom();
}
void brikett_state::mephistoe2a_map(address_map &map)
{
mephistoe2_map(map);
map(0xbf00, 0xbfff).rw(FUNC(brikett_state::esb2_r), FUNC(brikett_state::esb2_w));
}
void brikett_state::mephisto3_map(address_map &map)
{
mephisto_map(map);
@ -398,17 +435,26 @@ static INPUT_PORTS_START( mephistoj )
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNUSED)
INPUT_PORTS_END
static INPUT_PORTS_START( mephisto2e )
static INPUT_PORTS_START( mephistoe2 )
PORT_INCLUDE( mephisto )
PORT_START("IN.5") // optional
PORT_CONFNAME( 0x01, 0x01, "ESB 6000" )
PORT_CONFNAME( 0x01, 0x01, "ESB 6000 Board" )
PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
PORT_CONFSETTING( 0x01, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( mephistoe2a )
PORT_INCLUDE( mephistoe2 )
PORT_MODIFY("IN.5") // optional
PORT_CONFNAME( 0x01, 0x01, "ESB II Board" )
PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
PORT_CONFSETTING( 0x01, DEF_STR( On ) )
INPUT_PORTS_END
static INPUT_PORTS_START( mephisto3 )
PORT_INCLUDE( mephisto2e )
PORT_INCLUDE( mephistoe2 )
PORT_MODIFY("IN.0")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("ENT")
@ -458,8 +504,6 @@ void brikett_state::mephistoj(machine_config &config)
// sound hardware
SPEAKER(config, "speaker").front_center();
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
TIMER(config, m_speaker_off).configure_generic(FUNC(brikett_state::speaker_off));
}
void brikett_state::mephisto(machine_config &config)
@ -491,14 +535,12 @@ void brikett_state::mephisto2(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &brikett_state::mephisto2_map);
}
void brikett_state::mephisto2e(machine_config &config)
void brikett_state::mephistoe2a(machine_config &config)
{
mephisto2(config);
// basic machine hardware
m_maincpu->set_addrmap(AS_PROGRAM, &brikett_state::mephisto2e_map);
m_maincpu->ef1_cb().set(FUNC(brikett_state::esb_r));
m_extport->do_cb().set(FUNC(brikett_state::esb_w));
m_maincpu->set_addrmap(AS_PROGRAM, &brikett_state::mephistoe2a_map);
SENSORBOARD(config, m_board).set_type(sensorboard_device::MAGNETS);
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
@ -508,9 +550,19 @@ void brikett_state::mephisto2e(machine_config &config)
config.set_default_layout(layout_mephisto_esb2);
}
void brikett_state::mephistoe2(machine_config &config)
{
mephistoe2a(config);
// basic machine hardware
m_maincpu->set_addrmap(AS_PROGRAM, &brikett_state::mephistoe2_map);
m_maincpu->ef1_cb().set(FUNC(brikett_state::esb6_r));
m_extport->do_cb().set(FUNC(brikett_state::esb6_w));
}
void brikett_state::mephisto3(machine_config &config)
{
mephisto2e(config);
mephistoe2(config);
// basic machine hardware
m_maincpu->set_clock(6.144_MHz_XTAL);
@ -526,7 +578,7 @@ void brikett_state::mephisto3(machine_config &config)
ROM Definitions
*******************************************************************************/
ROM_START( mephisto ) // ROM serials 911xx have same contents, some modules have both 898xx and 911xx chips
ROM_START( mephisto ) // module s/n 00226xx (898xx Mask ROMs), 01011xx (911xx Mask ROMs)
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("89810", 0x0000, 0x0400, CRC(6816be9e) SHA1(f5f1d5084925fe239f5b2ecf4724751e0dc4fc51) ) // CDP1833CE, also seen with label 91143
ROM_LOAD("89811", 0x0400, 0x0400, CRC(15febc73) SHA1(10353a7f021993f2cf7d509a928425617e1786fb) ) // " or 91144
@ -534,6 +586,7 @@ ROM_START( mephisto ) // ROM serials 911xx have same contents, some modules have
ROM_LOAD("89813", 0x0c00, 0x0400, CRC(62da3d89) SHA1(a7f9ada7037e0bd61420358c147b2f57ee47ebcb) ) // " or 91146
ROM_LOAD("89814", 0x1000, 0x0400, CRC(8e212d9c) SHA1(5df221ce8ca4fbb74f34f31738db4c2efee7fb01) ) // " or 91163
ROM_LOAD("89815", 0x1400, 0x0400, CRC(072e0b01) SHA1(5b1074932b3f21ab01392250061c093de4af3624) ) // " or 91147
// 911xx Mask ROMs have the same contents as 898xx Mask ROMs, some modules have both 898xx and 911xx
ROM_END
ROM_START( mephisto1x )
@ -549,51 +602,67 @@ ROM_START( mephistoj )
ROM_END
ROM_START( mephisto2 ) // cartridge s/n 0302446
ROM_START( mephisto2 ) // module s/n 01142xx (HN462532G EPROMs), 00476xx (TC5334P Mask ROMs)
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("5619_03_351.1", 0x0000, 0x1000, CRC(5b13d7bf) SHA1(e1b7dee278a03f75e8a1554715fca4c7fbbc1cb8) ) // TC5334P
ROM_LOAD("5620_03_352.2", 0x1000, 0x1000, CRC(e93bf521) SHA1(42f9adce0d5e25b1b9d10217f8e3e0994d7b70d5) ) // "
ROM_LOAD("5621_03_353.3", 0x2000, 0x1000, CRC(430dac62) SHA1(a0e23fcb4cfa27778a9398bd4994a7792e4541d0) ) // "
ROM_LOAD("4005_02_351_02.1", 0x0000, 0x1000, CRC(5b13d7bf) SHA1(e1b7dee278a03f75e8a1554715fca4c7fbbc1cb8) ) // HN462532G
ROM_LOAD("4005_02_351_02.2", 0x1000, 0x1000, CRC(e93bf521) SHA1(42f9adce0d5e25b1b9d10217f8e3e0994d7b70d5) ) // "
ROM_LOAD("4005_02_351_02.3", 0x2000, 0x1000, CRC(430dac62) SHA1(a0e23fcb4cfa27778a9398bd4994a7792e4541d0) ) // "
// TC5334P Mask ROM contents is the same (labels 5619 03 351, 5620 03 351, 5621 03 351)
ROM_END
ROM_START( mephisto2a ) // cartridge s/n 0037011
ROM_START( mephisto2a ) // module s/n 01085xx
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("4005_02_351_01.1", 0x0000, 0x1000, CRC(5b13d7bf) SHA1(e1b7dee278a03f75e8a1554715fca4c7fbbc1cb8) ) // HN462532G
ROM_LOAD("4005_02_352_01.2", 0x1000, 0x1000, CRC(da88b62f) SHA1(f5e71521ba8ab0b481e4725ffa706b1c157424b5) ) // "
ROM_LOAD("4005_02_353_01.3", 0x2000, 0x1000, CRC(1f933d33) SHA1(5d5bfd40158354830c434f4c8b4ff1cac8ab4f5c) ) // "
ROM_END
ROM_START( mephisto2e )
ROM_START( mephisto2b ) // module s/n 01070xx
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("251-11.1", 0x0000, 0x1000, CRC(3c8e2631) SHA1(5960e47f0659b1e5f164107069738e730e3ff255) ) // M2532A
ROM_LOAD("4005_02_351_00.1", 0x0000, 0x1000, CRC(5b13d7bf) SHA1(e1b7dee278a03f75e8a1554715fca4c7fbbc1cb8) ) // HN462532G
ROM_LOAD("4005_02_352_00.2", 0x1000, 0x1000, CRC(da88b62f) SHA1(f5e71521ba8ab0b481e4725ffa706b1c157424b5) ) // "
ROM_LOAD("4005_02_353_00.3", 0x2000, 0x1000, CRC(23f9eee4) SHA1(c86d63d3c720ba4ae2a12d3b68356cffacae9592) ) // "
ROM_END
ROM_START( mephistoe2 ) // module s/n (0)0111xx
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("251-11.1", 0x0000, 0x1000, CRC(3c8e2631) SHA1(5960e47f0659b1e5f164107069738e730e3ff255) ) // TMS2532JL-35
ROM_LOAD("252-10.2", 0x1000, 0x1000, CRC(832b053e) SHA1(b0dfe857c38f13a4b04ac67a8a46f37c962a8629) ) // "
ROM_LOAD("253-09.3", 0x2000, 0x1000, CRC(00788b63) SHA1(cf94dc19ef85b359989410e7824280c59433fca9) ) // "
ROM_LOAD("254-09.4", 0x3000, 0x1000, CRC(d6be47a6) SHA1(3d577036111c026292b6c445efcb126cf7a6a472) ) // "
ROM_END
ROM_START( mephisto3 )
ROM_START( mephistoe2a ) // module s/n 00065xx
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("101", 0x0000, 0x4000, CRC(923de04f) SHA1(ca7cb3e29aeb3432a815c9d58bb0ed45e7302581) ) // HN4827128G-45 or D27128-4
ROM_LOAD("201", 0x4000, 0x4000, CRC(0c3cb8fa) SHA1(31449422142c19fc71474a057fc5d6af8a86be7d) ) // "
ROM_LOAD("5000_00_251_01.1", 0x0000, 0x1000, CRC(cebf66be) SHA1(7793ba80159a8ae857a1b35d270bb6972fef0563) ) // HN462532G
ROM_LOAD("5000_00_252_01.2", 0x1000, 0x1000, CRC(66f38992) SHA1(2f9007985ce350a8ee82797a66f37bb9a4de36a4) ) // "
ROM_LOAD("5000_00_253_01.3", 0x2000, 0x1000, CRC(1b685892) SHA1(af197e62e8a47a6244f7c2261929847f483775e5) ) // "
ROM_LOAD("5000_00_254_01.4", 0x3000, 0x1000, CRC(e455845d) SHA1(871e2b2b7e75b6ee09d3e027e1b4e5a24ce4c550) ) // "
ROM_END
ROM_START( mephisto3a )
ROM_START( mephisto3 ) // module s/n 05072xx
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("107", 0x0000, 0x4000, CRC(52c072b8) SHA1(938dfaa18d751f06f42be16dedb7d32d010023b2) ) // HN4827128G-25
ROM_LOAD("207", 0x4000, 0x4000, CRC(9b45c350) SHA1(96a11f740c657a915a9ce3fa417a59f4e064a10b) ) // "
ROM_LOAD("g81", 0x0000, 0x8000, CRC(7b49475d) SHA1(30193153f0c259294b47e95d3e33834e40a94821) ) // HN613256P
ROM_END
ROM_START( mephisto3b )
ROM_START( mephisto3a ) // module s/n 00744xx
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("109", 0x0000, 0x4000, CRC(02f9e37d) SHA1(1911d45c0c8db030d129c4d2b25572678835112a) ) // D27128-4
ROM_LOAD("209", 0x4000, 0x4000, CRC(0f217caf) SHA1(5aa77157af51a73e0654c344636ea2887bc45d42) ) // "
ROM_END
ROM_START( mephisto3c )
ROM_START( mephisto3b ) // module s/n 00737xx
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("g81", 0x0000, 0x8000, CRC(7b49475d) SHA1(30193153f0c259294b47e95d3e33834e40a94821) ) // HN613256P
ROM_LOAD("107", 0x0000, 0x4000, CRC(52c072b8) SHA1(938dfaa18d751f06f42be16dedb7d32d010023b2) ) // HN4827128G-25
ROM_LOAD("207", 0x4000, 0x4000, CRC(9b45c350) SHA1(96a11f740c657a915a9ce3fa417a59f4e064a10b) ) // "
ROM_END
ROM_START( mephisto3c ) // module s/n 00711xx
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("101", 0x0000, 0x4000, CRC(923de04f) SHA1(ca7cb3e29aeb3432a815c9d58bb0ed45e7302581) ) // HN4827128G-45 or D27128-4
ROM_LOAD("201", 0x4000, 0x4000, CRC(0c3cb8fa) SHA1(31449422142c19fc71474a057fc5d6af8a86be7d) ) // "
ROM_END
} // anonymous namespace
@ -604,18 +673,20 @@ ROM_END
Drivers
*******************************************************************************/
// YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
SYST( 1980, mephisto, 0, 0, mephisto, mephisto, brikett_state, empty_init, "Hegener + Glaser", "Mephisto", MACHINE_SUPPORTS_SAVE )
// YEAR NAME PARENT COMPAT MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
SYST( 1980, mephisto, 0, 0, mephisto, mephisto, brikett_state, empty_init, "Hegener + Glaser", "Mephisto", MACHINE_SUPPORTS_SAVE )
SYST( 1981, mephisto1x, 0, 0, mephisto2, mephisto, brikett_state, empty_init, "Hegener + Glaser", "Mephisto 1X", MACHINE_SUPPORTS_SAVE )
SYST( 1982, mephistoj, 0, 0, mephistoj, mephistoj, brikett_state, empty_init, "Hegener + Glaser", "Mephisto Junior (1982 version)", MACHINE_SUPPORTS_SAVE ) // there's also a "Mephisto Junior" from 1990
SYST( 1981, mephisto1x, 0, 0, mephisto2, mephisto, brikett_state, empty_init, "Hegener + Glaser", "Mephisto 1X", MACHINE_SUPPORTS_SAVE )
SYST( 1982, mephistoj, 0, 0, mephistoj, mephistoj, brikett_state, empty_init, "Hegener + Glaser", "Mephisto Junior (1982 version)", MACHINE_SUPPORTS_SAVE ) // there's also a "Mephisto Junior" from 1990
SYST( 1981, mephisto2, 0, 0, mephisto2, mephisto, brikett_state, empty_init, "Hegener + Glaser", "Mephisto II (set 1)", MACHINE_SUPPORTS_SAVE )
SYST( 1981, mephisto2a, mephisto2, 0, mephisto2, mephisto, brikett_state, empty_init, "Hegener + Glaser", "Mephisto II (set 2)", MACHINE_SUPPORTS_SAVE )
SYST( 1981, mephisto2, 0, 0, mephisto2, mephisto, brikett_state, empty_init, "Hegener + Glaser", "Mephisto II (set 1)", MACHINE_SUPPORTS_SAVE )
SYST( 1981, mephisto2a, mephisto2, 0, mephisto2, mephisto, brikett_state, empty_init, "Hegener + Glaser", "Mephisto II (set 2)", MACHINE_SUPPORTS_SAVE )
SYST( 1981, mephisto2b, mephisto2, 0, mephisto2, mephisto, brikett_state, empty_init, "Hegener + Glaser", "Mephisto II (set 3)", MACHINE_SUPPORTS_SAVE )
SYST( 1981, mephisto2e, 0, 0, mephisto2e, mephisto2e, brikett_state, empty_init, "Hegener + Glaser", "Mephisto ESB II", MACHINE_SUPPORTS_SAVE )
SYST( 1981, mephistoe2, 0, 0, mephistoe2, mephistoe2, brikett_state, empty_init, "Hegener + Glaser", "Mephisto ESB II (ESB 6000 board)", MACHINE_SUPPORTS_SAVE )
SYST( 1981, mephistoe2a, mephistoe2, 0, mephistoe2a, mephistoe2a, brikett_state, empty_init, "Hegener + Glaser", "Mephisto ESB II (ESB II board)", MACHINE_SUPPORTS_SAVE )
SYST( 1983, mephisto3, 0, 0, mephisto3, mephisto3, brikett_state, empty_init, "Hegener + Glaser", "Mephisto III (set 1)", MACHINE_SUPPORTS_SAVE )
SYST( 1983, mephisto3a, mephisto3, 0, mephisto3, mephisto3, brikett_state, empty_init, "Hegener + Glaser", "Mephisto III (set 2)", MACHINE_SUPPORTS_SAVE )
SYST( 1983, mephisto3b, mephisto3, 0, mephisto3, mephisto3, brikett_state, empty_init, "Hegener + Glaser", "Mephisto III (set 3)", MACHINE_SUPPORTS_SAVE )
SYST( 1983, mephisto3c, mephisto3, 0, mephisto3, mephisto3, brikett_state, empty_init, "Hegener + Glaser", "Mephisto III (set 4)", MACHINE_SUPPORTS_SAVE )
SYST( 1983, mephisto3, 0, 0, mephisto3, mephisto3, brikett_state, empty_init, "Hegener + Glaser", "Mephisto III (set 1)", MACHINE_SUPPORTS_SAVE )
SYST( 1983, mephisto3a, mephisto3, 0, mephisto3, mephisto3, brikett_state, empty_init, "Hegener + Glaser", "Mephisto III (set 2)", MACHINE_SUPPORTS_SAVE )
SYST( 1983, mephisto3b, mephisto3, 0, mephisto3, mephisto3, brikett_state, empty_init, "Hegener + Glaser", "Mephisto III (set 3)", MACHINE_SUPPORTS_SAVE )
SYST( 1983, mephisto3c, mephisto3, 0, mephisto3, mephisto3, brikett_state, empty_init, "Hegener + Glaser", "Mephisto III (set 4)", MACHINE_SUPPORTS_SAVE )

View File

@ -296,13 +296,13 @@ void mm1_state::mm1(machine_config &config)
ROM_START( mm1 )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("114", 0x0000, 0x4000, CRC(208b4c43) SHA1(48f891d614fa643f47d099f94aff15a44c2efc07) ) // D27128
ROM_LOAD("214", 0x4000, 0x4000, CRC(93734e49) SHA1(9ad6c191074c4122300f059e2ef9cfeff7b81463) ) // "
ROM_LOAD("mm1b.bin", 0x0000, 0x8000, CRC(90bf840e) SHA1(cdec6b02c1352b2a00d66964989a17c2b81ec79e) ) // HN613256P
ROM_END
ROM_START( mm1b )
ROM_START( mm1a )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("mm1b.bin", 0x0000, 0x8000, CRC(90bf840e) SHA1(cdec6b02c1352b2a00d66964989a17c2b81ec79e) ) // HN613256P
ROM_LOAD("114", 0x0000, 0x4000, CRC(208b4c43) SHA1(48f891d614fa643f47d099f94aff15a44c2efc07) ) // D27128
ROM_LOAD("214", 0x4000, 0x4000, CRC(93734e49) SHA1(9ad6c191074c4122300f059e2ef9cfeff7b81463) ) // "
ROM_END
@ -320,7 +320,7 @@ ROM_END
*******************************************************************************/
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
SYST( 1983, mm1, 0, 0, mm1, mm1, mm1_state, empty_init, "Hegener + Glaser", "Mephisto MM I (ver. A)", MACHINE_SUPPORTS_SAVE )
SYST( 1983, mm1b, mm1, 0, mm1, mm1, mm1_state, empty_init, "Hegener + Glaser", "Mephisto MM I (ver. B)", MACHINE_SUPPORTS_SAVE )
SYST( 1983, mm1, 0, 0, mm1, mm1, mm1_state, empty_init, "Hegener + Glaser", "Mephisto MM I (ver. B)", MACHINE_SUPPORTS_SAVE )
SYST( 1983, mm1a, mm1, 0, mm1, mm1, mm1_state, empty_init, "Hegener + Glaser", "Mephisto MM I (ver. A)", MACHINE_SUPPORTS_SAVE )
SYST( 1984, mmirage, 0, 0, mirage, mirage, mm1_state, empty_init, "Hegener + Glaser", "Mephisto Mirage", MACHINE_SUPPORTS_SAVE )

View File

@ -19505,11 +19505,13 @@ mephisto
mephisto1x
mephisto2
mephisto2a
mephisto2e
mephisto2b
mephisto3
mephisto3a
mephisto3b
mephisto3c
mephistoe2
mephistoe2a
mephistoj
@source:hegenerglaser/europa.cpp
@ -19528,7 +19530,7 @@ nshort // 1993 Mephisto Nigel Short
@source:hegenerglaser/mm1.cpp
mm1
mm1b
mm1a
mmirage
@source:hegenerglaser/mm2.cpp