diff options
Diffstat (limited to 'src/mame/drivers/spg2xx_zone_32bit.cpp')
-rw-r--r-- | src/mame/drivers/spg2xx_zone_32bit.cpp | 56 |
1 files changed, 43 insertions, 13 deletions
diff --git a/src/mame/drivers/spg2xx_zone_32bit.cpp b/src/mame/drivers/spg2xx_zone_32bit.cpp index 9130d958bae..596ee09c3a7 100644 --- a/src/mame/drivers/spg2xx_zone_32bit.cpp +++ b/src/mame/drivers/spg2xx_zone_32bit.cpp @@ -85,6 +85,9 @@ public: { } void init_denver(); + void init_m521neo(); + + protected: virtual void machine_reset() override; @@ -788,6 +791,29 @@ ROM_START( m505neo ) ROM_IGNORE(0x4000000) ROM_END +ROM_START( m521neo ) + ROM_REGION( 0x8000000, "maincpu", ROMREGION_ERASE00 ) // was this dumped with some address lines swapped? + ROM_LOAD16_WORD_SWAP( "6gu-1cd-a.u2", 0x0000000, 0x800000, CRC(7cb31b4c) SHA1(8de44756747a292c5d39bd491048d6fac4219953) ) + ROM_CONTINUE(0x01000000, 0x800000) + ROM_CONTINUE(0x00800000, 0x800000) + ROM_CONTINUE(0x01800000, 0x800000) + + ROM_CONTINUE(0x02000000, 0x800000) + ROM_CONTINUE(0x03000000, 0x800000) + ROM_CONTINUE(0x02800000, 0x800000) + ROM_CONTINUE(0x03800000, 0x800000) + + ROM_CONTINUE(0x04000000, 0x800000) + ROM_CONTINUE(0x05000000, 0x800000) + ROM_CONTINUE(0x04800000, 0x800000) + ROM_CONTINUE(0x05800000, 0x800000) + + ROM_CONTINUE(0x06000000, 0x800000) + ROM_CONTINUE(0x07000000, 0x800000) + ROM_CONTINUE(0x06800000, 0x800000) + ROM_CONTINUE(0x07800000, 0x800000) +ROM_END + void oplayer_100in1_state::init_oplayer() { @@ -848,7 +874,7 @@ void oplayer_100in1_state::init_m505neo() // TODO: remove these hacks // port a checks when starting the system - ROM[0x43c30 + (0x2000000 / 2)] = 0xf165; // boot + ROM[0x43c30 + (0x2000000 / 2)] = 0xf165; // boot main bank } @@ -858,20 +884,21 @@ void denver_200in1_state::init_denver() // patch checks when booting each bank, similar to oplayer uint16_t* rom = (uint16_t*)memregion("maincpu")->base(); - rom[0x175f7 + (0x0000000 / 2)] = 0xf165; - rom[0x18f47 + (0x1000000 / 2)] = 0xf165; - rom[0x33488 + (0x2000000 / 2)] = 0xf165; - rom[0x87f81 + (0x3000000 / 2)] = 0xf165; - rom[0x764d9 + (0x4000000 / 2)] = 0xf165; - rom[0xb454e + (0x5000000 / 2)] = 0xf165; - rom[0x43c30 + (0x6000000 / 2)] = 0xf165; // boot - rom[0x1fb00 + (0x7000000 / 2)] = 0xf165; - - // no exit patches required? + //rom[0x175f7 + (0x0000000 / 2)] = 0xf165; + //rom[0x18f47 + (0x1000000 / 2)] = 0xf165; + //rom[0x33488 + (0x2000000 / 2)] = 0xf165; + //rom[0x87f81 + (0x3000000 / 2)] = 0xf165; + //rom[0x764d9 + (0x4000000 / 2)] = 0xf165; + //rom[0xb454e + (0x5000000 / 2)] = 0xf165; + rom[0x43c30 + (0x6000000 / 2)] = 0xf165; // boot main bank + //rom[0x1fb00 + (0x7000000 / 2)] = 0xf165; } - - +void denver_200in1_state::init_m521neo() +{ + uint16_t* rom = (uint16_t*)memregion("maincpu")->base(); + rom[0x43c30 + (0x6000000 / 2)] = 0xf165; // boot main bank +} @@ -887,6 +914,9 @@ CONS( 200?, oplayer, 0, 0, zon32bit, oplayer, oplayer_100in1_state, init_oplay CONS( 2012, m505neo, 0, 0, zon32bit, oplayer, oplayer_100in1_state, init_m505neo, "Millennium 2000 GmbH", "Millennium M505 Arcade Neo Portable Spielkonsole (Family Sport 100-in-1)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) +// a version of this exists with the 'newer' style title screen seen in m505neo +CONS( 2012, m521neo, 0, 0, zon32bit, oplayer, denver_200in1_state, init_m521neo, "Millennium 2000 GmbH", "Millennium M521 Arcade Neo 2.0 (Family Sport 220-in-1) ", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) + /* DENVER(r) |