From 13eddc891f6ada36f4538597b93c667ce63ceaec Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Thu, 10 Oct 2024 17:10:16 +1100 Subject: igs/igs_m027.cpp, igs/igs_m027xa.cpp: Miscellaneous improvements: * igs/igs_m027.cpp: Added memory clear switch to clear memory contents when power is removed (hard reset with the switch on to clear NVRAM). * igs/igs_m027xa.cpp: Got rid of hopper from Crazy Bugs (V103JP) since there appears to be no way to use it and exposed hopper switch as a user input so it can still be tested. * igs/igs_m027xa.cpp: Got rid of third bank of DIP switches from Crazy Bugs (V103JP) as comments indicate it isn't physically present (although it is displayed in the input test). * Use mnemonic short names for clones. --- src/devices/cpu/i386/i386priv.h | 2 +- src/devices/cpu/mips/r4000.cpp | 7 +- src/mame/igs/igs_m027.cpp | 404 ++++++++++++++++++---------------------- src/mame/igs/igs_m027xa.cpp | 54 +++--- src/mame/jaleco/jalmah.cpp | 4 +- src/mame/mame.lst | 20 +- 6 files changed, 227 insertions(+), 264 deletions(-) diff --git a/src/devices/cpu/i386/i386priv.h b/src/devices/cpu/i386/i386priv.h index 87f095807f1..63814d2dc6e 100644 --- a/src/devices/cpu/i386/i386priv.h +++ b/src/devices/cpu/i386/i386priv.h @@ -327,7 +327,7 @@ extern int i386_parity_table[256]; #define MMX(n) (*((MMX_REG *)(&m_x87_reg[(n)].low))) #define XMM(n) m_sse_reg[(n)] -#define FLAG_DIRTY 0x100 // VTLB flag +#define FLAG_DIRTY 0x100 // VTLB flag #define CYCLES_NUM(x) (m_cycles -= (x)) #define FAULT(fault,error) {m_ext = 1; i386_trap_with_error(fault,0,0,error); return;} diff --git a/src/devices/cpu/mips/r4000.cpp b/src/devices/cpu/mips/r4000.cpp index 4a271082db1..f606bd49c10 100644 --- a/src/devices/cpu/mips/r4000.cpp +++ b/src/devices/cpu/mips/r4000.cpp @@ -27,10 +27,13 @@ */ #include "emu.h" -#include "divtlb.h" -#include "debug/debugcpu.h" #include "r4000.h" + #include "mips3dsm.h" + +#include "divtlb.h" +#include "debug/debugcpu.h" + #include "unicode.h" #include "softfloat3/source/include/softfloat.h" diff --git a/src/mame/igs/igs_m027.cpp b/src/mame/igs/igs_m027.cpp index 7c7ad3afa74..b664d0fca8c 100644 --- a/src/mame/igs/igs_m027.cpp +++ b/src/mame/igs/igs_m027.cpp @@ -4,9 +4,8 @@ /* IGS ARM7 (IGS027A) based Mahjong / Gambling platform(s) Driver by XingXing - These games use the IGS027A processor. - - This is an ARM7 with Internal ROM. (Also used on later PGM games) + These games use the IGS027A processor. This is an ARM7 with internal + ROM (also used on later PGM games). In some cases the first part of the Internal ROM is execute only, and cannot be read out with a trojan. It hasn't been confirmed if these @@ -15,7 +14,12 @@ To emulate these games the Internal ROM will need dumping There are at least 20 other games on this and similar platforms. - Hold service on boot to access input test and sond test when implemented. + Hold service on boot to access input test and sond test when + implemented. + + Some DIP switch settings stick in non-volatile RAM (e.g. link settings + for Chaoji Dou Dizhu Jiaqiang Ban). The non-volatile RAM content must + be cleared in order for changes to these settings to apply. TODO: * I/O for remaining games @@ -56,6 +60,7 @@ public: igs_m027_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), m_external_rom(*this, "user1"), + m_nvram(*this, "nvram"), m_maincpu(*this, "maincpu"), m_ppi(*this, "ppi%u", 1U), m_igs017_igs031(*this, "igs017_igs031"), @@ -64,6 +69,7 @@ public: m_okibank(*this, "okibank%u", 0U), m_hopper(*this, "hopper"), m_ticket(*this, "ticket"), + m_io_clearmem(*this, "CLEARMEM"), m_io_kbd(*this, "KEY%u", 0U), m_io_dsw(*this, "DSW%u", 1U), m_io_misc(*this, "MISC"), @@ -117,10 +123,12 @@ public: protected: virtual void machine_start() override ATTR_COLD; + virtual void machine_reset() override ATTR_COLD; virtual void video_start() override ATTR_COLD; private: required_region_ptr m_external_rom; + required_shared_ptr m_nvram; required_device m_maincpu; optional_device_array m_ppi; @@ -131,6 +139,7 @@ private: optional_device m_hopper; optional_device m_ticket; + required_ioport m_io_clearmem; optional_ioport_array<5> m_io_kbd; optional_ioport_array<3> m_io_dsw; optional_ioport m_io_misc; @@ -139,6 +148,7 @@ private: u32 m_xor_table[0x100]; u8 m_io_select[2]; + bool m_first_start; template u8 dsw_r(); template u8 kbd_r(); @@ -180,6 +190,7 @@ void igs_m027_state::machine_start() std::fill(std::begin(m_xor_table), std::end(m_xor_table), 0); std::fill(std::begin(m_io_select), std::end(m_io_select), 0xff); + m_first_start = true; auto *const region = memregion("oki"); for (auto &bank : m_okibank) @@ -190,6 +201,17 @@ void igs_m027_state::machine_start() save_item(NAME(m_xor_table)); save_item(NAME(m_io_select)); + save_item(NAME(m_first_start)); +} + +void igs_m027_state::machine_reset() +{ + if (m_first_start) + { + if (!BIT(m_io_clearmem->read(), 0)) + std::fill(std::begin(m_nvram), std::end(m_nvram), 0); + m_first_start = false; + } } void igs_m027_state::video_start() @@ -212,7 +234,7 @@ void igs_m027_state::m027_noppi_map(address_map &map) else map(0x0800'0000, 0x0807'ffff).rom().region("user1", 0); // Game ROM - map(0x1800'0000, 0x1800'7fff).ram().mirror(0x0000f'8000).share("nvram"); + map(0x1800'0000, 0x1800'7fff).ram().mirror(0x0000f'8000).share(m_nvram); map(0x3800'0000, 0x3800'7fff).rw(m_igs017_igs031, FUNC(igs017_igs031_device::read), FUNC(igs017_igs031_device::write)); map(0x3800'8000, 0x3800'8003).umask32(0x0000'00ff).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); @@ -263,7 +285,45 @@ void igs_m027_state::oki_128k_map(address_map &map) ***************************************************************************/ +#define SATELLITE_NO_SETTINGS \ + PORT_DIPSETTING( 0x1f, "1" ) \ + PORT_DIPSETTING( 0x1e, "2" ) \ + PORT_DIPSETTING( 0x1d, "3" ) \ + PORT_DIPSETTING( 0x1c, "4" ) \ + PORT_DIPSETTING( 0x1b, "5" ) \ + PORT_DIPSETTING( 0x1a, "6" ) \ + PORT_DIPSETTING( 0x19, "7" ) \ + PORT_DIPSETTING( 0x18, "8" ) \ + PORT_DIPSETTING( 0x17, "9" ) \ + PORT_DIPSETTING( 0x16, "10" ) \ + PORT_DIPSETTING( 0x15, "11" ) \ + PORT_DIPSETTING( 0x14, "12" ) \ + PORT_DIPSETTING( 0x13, "13" ) \ + PORT_DIPSETTING( 0x12, "14" ) \ + PORT_DIPSETTING( 0x11, "15" ) \ + PORT_DIPSETTING( 0x10, "16" ) \ + PORT_DIPSETTING( 0x0f, "17" ) \ + PORT_DIPSETTING( 0x0e, "18" ) \ + PORT_DIPSETTING( 0x0d, "19" ) \ + PORT_DIPSETTING( 0x0c, "20" ) \ + PORT_DIPSETTING( 0x0b, "20" ) /* 20 is maximum no. - all other settings are the same */ \ + PORT_DIPSETTING( 0x0a, "20" ) \ + PORT_DIPSETTING( 0x09, "20" ) \ + PORT_DIPSETTING( 0x08, "20" ) \ + PORT_DIPSETTING( 0x07, "20" ) \ + PORT_DIPSETTING( 0x06, "20" ) \ + PORT_DIPSETTING( 0x05, "20" ) \ + PORT_DIPSETTING( 0x04, "20" ) \ + PORT_DIPSETTING( 0x03, "20" ) \ + PORT_DIPSETTING( 0x02, "20" ) \ + PORT_DIPSETTING( 0x01, "20" ) \ + PORT_DIPSETTING( 0x00, "20" ) + + INPUT_PORTS_START( base ) + PORT_START("CLEARMEM") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_TOGGLE + PORT_START("DSW1") PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW1:1" ) PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW1:2" ) @@ -350,13 +410,16 @@ INPUT_PORTS_END INPUT_PORTS_START( mahjong_test ) PORT_START("TEST") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) PORT_NAME("Hopper Switch") // 哈巴 - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_NAME("Clear") // 清除 + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Clear") // 清除 PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW ) // 测试 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // 查帐 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) // 投币 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // 退币 TODO: default assignment clashes with mahjong I PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("CLEARMEM") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_TOGGLE INPUT_PORTS_END INPUT_PORTS_START( mahjong_kbd ) @@ -413,6 +476,9 @@ INPUT_PORTS_START( three_reel ) PORT_BIT( 0x01000, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("ticket", ticket_dispenser_device, line_r) // TKSW PORT_BIT( 0x02000, IP_ACTIVE_LOW, IPT_COIN2 ) // COINC PORT_BIT( 0xf0000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("CLEARMEM") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_TOGGLE INPUT_PORTS_END INPUT_PORTS_START( slqz3_dip_switches ) @@ -466,40 +532,52 @@ INPUT_PORTS_START( slqz3_dip_switches ) INPUT_PORTS_END INPUT_PORTS_START( jking02 ) + PORT_START("PORTB") + PORT_BIT( 0x03, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x01) + PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) // shows DIP switch settings + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) // also provides access to game setup (coinage, etc.) + PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x01) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x00) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SLOT_STOP4 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) PORT_NAME("Stop Reel 4 / Double Up") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) // also provides access to game setup (coinage, etc.) + PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) // shows DIP switch settings + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x00) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) PORT_NAME("Stop Reel 3 / Small") + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) PORT_NAME("Stop Reel 2 / Big") + + PORT_START("PORTC") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) + PORT_BIT( 0x3e, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) PORT_NAME("Play") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) + PORT_BIT( 0x78, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) PORT_NAME("Stop Reel 1 / Take Score") + + PORT_START("PLAYER") + PORT_BIT( 0x00001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) + PORT_BIT( 0x00002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) + PORT_BIT( 0x00004, IP_ACTIVE_LOW, IPT_SLOT_STOP4 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_NAME("Stop Reel 4 / Start") + PORT_BIT( 0x00008, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_NAME("Stop All Reels / Big") + PORT_BIT( 0x00010, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_NAME("Stop Reel 2 / Double Up") + PORT_BIT( 0x00020, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_NAME("Stop Reel 3 / Small") + PORT_BIT( 0x00040, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_NAME("Stop Reel 1 / Take Score") + PORT_BIT( 0x00080, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_NAME("Play") + PORT_BIT( 0x000ff, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) + PORT_BIT( 0x0ff00, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) + PORT_BIT( 0x10000, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) + PORT_BIT( 0xe0000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START("CLEARMEM") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_TOGGLE + PORT_START("DSW1") PORT_DIPNAME( 0x1f, 0x1f, "ID Number") PORT_DIPLOCATION("SW1:1,2,3,4,5") - PORT_DIPSETTING( 0x1f, "1" ) - PORT_DIPSETTING( 0x1e, "2" ) - PORT_DIPSETTING( 0x1d, "3" ) - PORT_DIPSETTING( 0x1c, "4" ) - PORT_DIPSETTING( 0x1b, "5" ) - PORT_DIPSETTING( 0x1a, "6" ) - PORT_DIPSETTING( 0x19, "7" ) - PORT_DIPSETTING( 0x18, "8" ) - PORT_DIPSETTING( 0x17, "9" ) - PORT_DIPSETTING( 0x16, "10" ) - PORT_DIPSETTING( 0x15, "11" ) - PORT_DIPSETTING( 0x14, "12" ) - PORT_DIPSETTING( 0x13, "13" ) - PORT_DIPSETTING( 0x12, "14" ) - PORT_DIPSETTING( 0x11, "15" ) - PORT_DIPSETTING( 0x10, "16" ) - PORT_DIPSETTING( 0x0f, "17" ) - PORT_DIPSETTING( 0x0e, "18" ) - PORT_DIPSETTING( 0x0d, "19" ) - PORT_DIPSETTING( 0x0c, "20" ) - PORT_DIPSETTING( 0x0b, "20" ) // 20 is maximum no. - all other settings are the same - PORT_DIPSETTING( 0x0a, "20" ) - PORT_DIPSETTING( 0x09, "20" ) - PORT_DIPSETTING( 0x08, "20" ) - PORT_DIPSETTING( 0x07, "20" ) - PORT_DIPSETTING( 0x06, "20" ) - PORT_DIPSETTING( 0x05, "20" ) - PORT_DIPSETTING( 0x04, "20" ) - PORT_DIPSETTING( 0x03, "20" ) - PORT_DIPSETTING( 0x02, "20" ) - PORT_DIPSETTING( 0x01, "20" ) - PORT_DIPSETTING( 0x00, "20" ) + SATELLITE_NO_SETTINGS PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW1:6" ) PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW1:7" ) PORT_DIPNAME( 0x80, 0x80, "PC Board Mode" ) PORT_DIPLOCATION("SW1:8") @@ -551,46 +629,6 @@ INPUT_PORTS_START( jking02 ) PORT_DIPSETTING( 0x00, "Both" ) // seems to do the same thing as "Fruit" PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW3:7" ) PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW3:8" ) - - PORT_START("PORTB") - PORT_BIT( 0x03, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x01) - PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) // shows DIP switch settings - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) // also provides access to game setup (coinage, etc.) - PORT_BIT( 0xf0, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x01) - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x00) - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SLOT_STOP4 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) PORT_NAME("Stop Reel 4 / Double Up") - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) // also provides access to game setup (coinage, etc.) - PORT_SERVICE_NO_TOGGLE( 0x08, IP_ACTIVE_LOW ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) // shows DIP switch settings - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x00) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) PORT_NAME("Stop Reel 3 / Small") - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) PORT_NAME("Stop Reel 2 / Big") - - PORT_START("PORTC") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) - PORT_BIT( 0x3e, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) PORT_NAME("Play") - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_START1 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) - PORT_BIT( 0x78, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) - PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) PORT_NAME("Stop Reel 1 / Take Score") - - PORT_START("PLAYER") - PORT_BIT( 0x00001, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) - PORT_BIT( 0x00002, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) - PORT_BIT( 0x00004, IP_ACTIVE_LOW, IPT_SLOT_STOP4 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_NAME("Stop Reel 4 / Start") - PORT_BIT( 0x00008, IP_ACTIVE_LOW, IPT_SLOT_STOP_ALL ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_NAME("Stop All Reels / Big") - PORT_BIT( 0x00010, IP_ACTIVE_LOW, IPT_SLOT_STOP2 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_NAME("Stop Reel 2 / Double Up") - PORT_BIT( 0x00020, IP_ACTIVE_LOW, IPT_SLOT_STOP3 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_NAME("Stop Reel 3 / Small") - PORT_BIT( 0x00040, IP_ACTIVE_LOW, IPT_SLOT_STOP1 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_NAME("Stop Reel 1 / Take Score") - PORT_BIT( 0x00080, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_NAME("Play") - PORT_BIT( 0x000ff, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) - PORT_BIT( 0x0ff00, IP_ACTIVE_LOW, IPT_UNKNOWN ) - PORT_BIT( 0x10000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) - PORT_BIT( 0x10000, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) - PORT_BIT( 0xe0000, IP_ACTIVE_LOW, IPT_UNKNOWN ) INPUT_PORTS_END INPUT_PORTS_START( slqz3 ) @@ -622,7 +660,7 @@ INPUT_PORTS_START( qlgs ) PORT_SERVICE_NO_TOGGLE( 0x04, IP_ACTIVE_LOW ) // 測試 PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // 査帳 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_NAME("Clear") // 清除 + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_NAME("Clear") // 清除 PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) // 投幣 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) // 上 @@ -646,44 +684,16 @@ INPUT_PORTS_START( qlgs ) PORT_BIT( 0x00040, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) PORT_BIT( 0x0ff80, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_BIT( 0x10000, IP_ACTIVE_LOW, IPT_UNKNOWN ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) - PORT_BIT( 0x10000, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) PORT_NAME("Clear") // 清除 + PORT_BIT( 0x10000, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x00) PORT_NAME("Clear") // 清除 PORT_BIT( 0x20000, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // 退幣 PORT_BIT( 0xc0000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_START("CLEARMEM") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_TOGGLE + PORT_START("DSW1") PORT_DIPNAME( 0x1f, 0x1f, "Satellite Machine No." ) PORT_DIPLOCATION("SW1:1,2,3,4,5") // 副機编號 - PORT_DIPSETTING( 0x1f, "1" ) - PORT_DIPSETTING( 0x1e, "2" ) - PORT_DIPSETTING( 0x1d, "3" ) - PORT_DIPSETTING( 0x1c, "4" ) - PORT_DIPSETTING( 0x1b, "5" ) - PORT_DIPSETTING( 0x1a, "6" ) - PORT_DIPSETTING( 0x19, "7" ) - PORT_DIPSETTING( 0x18, "8" ) - PORT_DIPSETTING( 0x17, "9" ) - PORT_DIPSETTING( 0x16, "10" ) - PORT_DIPSETTING( 0x15, "11" ) - PORT_DIPSETTING( 0x14, "12" ) - PORT_DIPSETTING( 0x13, "13" ) - PORT_DIPSETTING( 0x12, "14" ) - PORT_DIPSETTING( 0x11, "15" ) - PORT_DIPSETTING( 0x10, "16" ) - PORT_DIPSETTING( 0x0f, "17" ) - PORT_DIPSETTING( 0x0e, "18" ) - PORT_DIPSETTING( 0x0d, "19" ) - PORT_DIPSETTING( 0x0c, "20" ) - PORT_DIPSETTING( 0x0b, "20" ) // 20 is maximum no. - all other settings are the same - PORT_DIPSETTING( 0x0a, "20" ) - PORT_DIPSETTING( 0x09, "20" ) - PORT_DIPSETTING( 0x08, "20" ) - PORT_DIPSETTING( 0x07, "20" ) - PORT_DIPSETTING( 0x06, "20" ) - PORT_DIPSETTING( 0x05, "20" ) - PORT_DIPSETTING( 0x04, "20" ) - PORT_DIPSETTING( 0x03, "20" ) - PORT_DIPSETTING( 0x02, "20" ) - PORT_DIPSETTING( 0x01, "20" ) - PORT_DIPSETTING( 0x00, "20" ) + SATELLITE_NO_SETTINGS PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW1:6" ) PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW1:7" ) PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW1:8" ) @@ -761,6 +771,9 @@ INPUT_PORTS_START( lhzb4 ) PORT_BIT( 0x20000, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // 洗分 PORT_BIT( 0xc0000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_START("CLEARMEM") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_TOGGLE + PORT_START("PPIB") PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x01) PORT_WRITE_LINE_MEMBER(igs_m027_state, counter_w<2>) // hopper PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_CONDITION("DSW1", 0x01, EQUALS, 0x01) PORT_WRITE_LINE_MEMBER(igs_m027_state, counter_w<1>) // key-out @@ -813,38 +826,7 @@ INPUT_PORTS_START( lthy ) PORT_START("DSW1") PORT_DIPNAME( 0x1f, 0x1f, "Satellite Machine No." ) PORT_DIPLOCATION("SW1:1,2,3,4,5") // 副机编号 - PORT_DIPSETTING( 0x1f, "1" ) - PORT_DIPSETTING( 0x1e, "2" ) - PORT_DIPSETTING( 0x1d, "3" ) - PORT_DIPSETTING( 0x1c, "4" ) - PORT_DIPSETTING( 0x1b, "5" ) - PORT_DIPSETTING( 0x1a, "6" ) - PORT_DIPSETTING( 0x19, "7" ) - PORT_DIPSETTING( 0x18, "8" ) - PORT_DIPSETTING( 0x17, "9" ) - PORT_DIPSETTING( 0x16, "10" ) - PORT_DIPSETTING( 0x15, "11" ) - PORT_DIPSETTING( 0x14, "12" ) - PORT_DIPSETTING( 0x13, "13" ) - PORT_DIPSETTING( 0x12, "14" ) - PORT_DIPSETTING( 0x11, "15" ) - PORT_DIPSETTING( 0x10, "16" ) - PORT_DIPSETTING( 0x0f, "17" ) - PORT_DIPSETTING( 0x0e, "18" ) - PORT_DIPSETTING( 0x0d, "19" ) - PORT_DIPSETTING( 0x0c, "20" ) - PORT_DIPSETTING( 0x0b, "20" ) // 20 is maximum no. - all other settings are the same - PORT_DIPSETTING( 0x0a, "20" ) - PORT_DIPSETTING( 0x09, "20" ) - PORT_DIPSETTING( 0x08, "20" ) - PORT_DIPSETTING( 0x07, "20" ) - PORT_DIPSETTING( 0x06, "20" ) - PORT_DIPSETTING( 0x05, "20" ) - PORT_DIPSETTING( 0x04, "20" ) - PORT_DIPSETTING( 0x03, "20" ) - PORT_DIPSETTING( 0x02, "20" ) - PORT_DIPSETTING( 0x01, "20" ) - PORT_DIPSETTING( 0x00, "20" ) + SATELLITE_NO_SETTINGS PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW1:6" ) PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW1:7" ) PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW1:8" ) @@ -924,7 +906,7 @@ INPUT_PORTS_START( zhongguo ) PORT_DIPSETTING( 0x00, DEF_STR(On) ) // 有 INPUT_PORTS_END -INPUT_PORTS_START( mgzz ) +INPUT_PORTS_START( mgzz101cn ) PORT_INCLUDE(mahjong_kbd_joy) // TODO: missing HP input shown in test mode for joystick mode @@ -977,8 +959,8 @@ INPUT_PORTS_START( mgzz ) PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW2:8" ) INPUT_PORTS_END -INPUT_PORTS_START( mgzza ) - PORT_INCLUDE(mgzz) +INPUT_PORTS_START( mgzz100cn ) + PORT_INCLUDE(mgzz101cn) PORT_MODIFY("DSW2") PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW2:3" ) // not shown in test mode @@ -1021,6 +1003,9 @@ INPUT_PORTS_START( mgcs3 ) PORT_BIT( 0x20000, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // 洗分 PORT_BIT( 0xc0000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_START("CLEARMEM") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_TOGGLE + PORT_START("PPIB") PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_WRITE_LINE_MEMBER(igs_m027_state, counter_w<1>) // key-out PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_CONDITION("DSW2", 0x01, EQUALS, 0x01) PORT_WRITE_LINE_MEMBER(igs_m027_state, counter_w<2>) // hopper @@ -1104,6 +1089,9 @@ INPUT_PORTS_START( cjddz ) PORT_BIT( 0x20000, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // 洗分 PORT_BIT( 0xc0000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_START("CLEARMEM") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_TOGGLE + PORT_START("PPIB") PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_CONDITION("DSW1", 0x02, EQUALS, 0x02) PORT_WRITE_LINE_MEMBER(igs_m027_state, counter_w<1>) // key-out PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_CONDITION("DSW1", 0x02, EQUALS, 0x02) PORT_WRITE_LINE_MEMBER(igs_m027_state, counter_w<2>) // hopper @@ -1193,6 +1181,9 @@ INPUT_PORTS_START( cjddzp ) PORT_BIT( 0x20000, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) // 洗分 PORT_BIT( 0xc0000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_START("CLEARMEM") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_TOGGLE + PORT_START("PPIB") PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_CONDITION("DSW2", 0x02, EQUALS, 0x02) PORT_WRITE_LINE_MEMBER(igs_m027_state, counter_w<1>) // key-out PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_CONDITION("DSW2", 0x02, EQUALS, 0x02) PORT_WRITE_LINE_MEMBER(igs_m027_state, counter_w<2>) // hopper @@ -1206,38 +1197,7 @@ INPUT_PORTS_START( cjddzp ) PORT_START("DSW1") PORT_DIPNAME( 0x1f, 0x1f, "Satellite Machine No." ) PORT_DIPLOCATION("SW1:1,2,3,4,5") // 副机台號 - PORT_DIPSETTING( 0x1f, "1" ) - PORT_DIPSETTING( 0x1e, "2" ) - PORT_DIPSETTING( 0x1d, "3" ) - PORT_DIPSETTING( 0x1c, "4" ) - PORT_DIPSETTING( 0x1b, "5" ) - PORT_DIPSETTING( 0x1a, "6" ) - PORT_DIPSETTING( 0x19, "7" ) - PORT_DIPSETTING( 0x18, "8" ) - PORT_DIPSETTING( 0x17, "9" ) - PORT_DIPSETTING( 0x16, "10" ) - PORT_DIPSETTING( 0x15, "11" ) - PORT_DIPSETTING( 0x14, "12" ) - PORT_DIPSETTING( 0x13, "13" ) - PORT_DIPSETTING( 0x12, "14" ) - PORT_DIPSETTING( 0x11, "15" ) - PORT_DIPSETTING( 0x10, "16" ) - PORT_DIPSETTING( 0x0f, "17" ) - PORT_DIPSETTING( 0x0e, "18" ) - PORT_DIPSETTING( 0x0d, "19" ) - PORT_DIPSETTING( 0x0c, "20" ) - PORT_DIPSETTING( 0x0b, "20" ) // 20 is maximum no. - all other settings are the same - PORT_DIPSETTING( 0x0a, "20" ) - PORT_DIPSETTING( 0x09, "20" ) - PORT_DIPSETTING( 0x08, "20" ) - PORT_DIPSETTING( 0x07, "20" ) - PORT_DIPSETTING( 0x06, "20" ) - PORT_DIPSETTING( 0x05, "20" ) - PORT_DIPSETTING( 0x04, "20" ) - PORT_DIPSETTING( 0x03, "20" ) - PORT_DIPSETTING( 0x02, "20" ) - PORT_DIPSETTING( 0x01, "20" ) - PORT_DIPSETTING( 0x00, "20" ) + SATELLITE_NO_SETTINGS PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW1:6" ) PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW1:7" ) PORT_DIPNAME( 0x80, 0x80, "Single Machine/Linked" ) PORT_DIPLOCATION("SW1:8") // 单机连线 @@ -1275,7 +1235,7 @@ INPUT_PORTS_START( cjddzp ) PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW3:8" ) INPUT_PORTS_END -INPUT_PORTS_START( oceanpara ) +INPUT_PORTS_START( oceanpar101us ) PORT_INCLUDE(three_reel) PORT_START("DSW1") @@ -1326,8 +1286,8 @@ INPUT_PORTS_START( oceanpara ) PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW3:8" ) INPUT_PORTS_END -INPUT_PORTS_START( oceanpar ) - PORT_INCLUDE(oceanpara) +INPUT_PORTS_START( oceanpar105us ) + PORT_INCLUDE(oceanpar101us) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x06, 0x06, "Score Box" ) PORT_DIPLOCATION("SW2:2,3") @@ -1340,8 +1300,8 @@ INPUT_PORTS_START( oceanpar ) PORT_DIPSETTING( 0x00, DEF_STR(Yes) ) INPUT_PORTS_END -INPUT_PORTS_START( fruitpara ) - PORT_INCLUDE(oceanpara) +INPUT_PORTS_START( fruitpar206us ) + PORT_INCLUDE(oceanpar101us) PORT_MODIFY("DSW2") PORT_DIPNAME( 0x02, 0x02, "Score Box" ) PORT_DIPLOCATION("SW2:2") @@ -1397,6 +1357,9 @@ INPUT_PORTS_START( tripslot ) PORT_BIT( 0x10000, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_CONDITION("DSW1", 0x02, EQUALS, 0x00) PORT_BIT( 0xe0000, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_START("CLEARMEM") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_TOGGLE + PORT_START("PPIB") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_CONDITION("DSW1", 0x02, EQUALS, 0x02) PORT_WRITE_LINE_MEMBER(igs_m027_state, counter_w<0>) // coin 1 PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_CONDITION("DSW1", 0x02, EQUALS, 0x02) PORT_WRITE_LINE_MEMBER(igs_m027_state, counter_w<2>) // key-in @@ -1472,6 +1435,9 @@ INPUT_PORTS_START( chessc2 ) PORT_BIT( 0x00080, IP_ACTIVE_LOW, IPT_GAMBLE_BET ) PORT_NAME("Play") PORT_BIT( 0xfff00, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_START("CLEARMEM") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_TOGGLE + PORT_START("DSW1") PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW1:1" ) PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW1:2" ) @@ -2082,7 +2048,7 @@ ROM_START( oceanpar ) // IGS PCB-0331-02-FG ROM_LOAD( "igs_w4102.u28", 0x00000, 0x80000, CRC(558cab25) SHA1(0280b37a14589329f0385c048e5742b9e89bd587) ) // same as fruitpar ROM_END -ROM_START( oceanpara ) // IGS PCB-0331-01-FG +ROM_START( oceanpar101us ) // IGS PCB-0331-01-FG ROM_REGION( 0x04000, "maincpu", 0 ) // Internal ROM of IGS027A type G ARM based MCU ROM_LOAD( "b1_027a.bin", 0x00000, 0x4000, CRC(e64a01a0) SHA1(22f2afbe1fc66c3c9e6d5d87c98b0974615b8a20) ) @@ -2118,7 +2084,7 @@ ROM_START( fruitpar ) // IGS PCB-0331-02-FG ROM_LOAD( "igs_w4102.u28", 0x00000, 0x80000, CRC(558cab25) SHA1(0280b37a14589329f0385c048e5742b9e89bd587) ) ROM_END -ROM_START( fruitpara ) +ROM_START( fruitpar206us ) ROM_REGION( 0x04000, "maincpu", 0 ) // Internal ROM of IGS027A type G ARM based MCU ROM_LOAD( "q5_027a.bin", 0x00000, 0x4000, CRC(df756ac3) SHA1(5b5d2a7f6363260166e3411d1571056cc30a5e56) ) @@ -2298,10 +2264,10 @@ ROM_START( olympic5 ) // PCB type not readable, layout almost identical to PCB-0 // u11 not populated ROM_REGION( 0x200000, "oki", 0 ) - ROM_LOAD( "olympic_5_sp.u28", 0x000000, 0x200000, CRC(7a2b5441) SHA1(a100daa3534c06c0fd40d9bab25983efe9dd446d) ) // 27C160, contains 4 times the same data as the one in olympic5a + ROM_LOAD( "olympic_5_sp.u28", 0x000000, 0x200000, CRC(7a2b5441) SHA1(a100daa3534c06c0fd40d9bab25983efe9dd446d) ) // 27C160, contains 4 times the same data as the one in olympic5107us ROM_END -ROM_START( olympic5a ) +ROM_START( olympic5107us ) ROM_REGION( 0x04000, "maincpu", 0 ) // Internal ROM of IGS027A type G ARM based MCU ROM_LOAD( "o2_igs027a", 0x00000, 0x4000, NO_DUMP ) // stickered O2? @@ -2556,7 +2522,7 @@ ROM_END // 满贯至尊 (Mǎnguàn Zhìzūn) -ROM_START( mgzza ) // IGS PCB 0295-00 (IGS027A, M6295, IGS031, 8255, Battery) +ROM_START( mgzz100cn ) // IGS PCB 0295-00 (IGS027A, M6295, IGS031, 8255, Battery) ROM_REGION( 0x04000, "maincpu", 0 ) // Internal ROM of IGS027A type G ARM based MCU ROM_LOAD( "f1_027a.bin", 0x00000, 0x4000, CRC(4b270edb) SHA1(3b4821f7cb785056809c121e6508348df123bfa1) ) @@ -3119,38 +3085,38 @@ void igs_m027_state::init_chessc2() ***************************************************************************/ // Complete dumps -GAME( 1999, slqz3, 0, slqz3, slqz3, igs_m027_state, init_slqz3, ROT0, "IGS", "Shuang Long Qiang Zhu 3 (China, VS107C)", 0 ) -GAME( 1999, qlgs, 0, qlgs, qlgs, igs_m027_state, init_qlgs, ROT0, "IGS", "Que Long Gaoshou", MACHINE_NODEVICE_LAN ) -GAME( 1999, lhdmg, 0, lhdmg, lhdmg, igs_m027_state, init_lhdmg, ROT0, "IGS", "Long Hu Da Manguan", 0 ) -GAME( 1999, lhdmgp, 0, lhdmg, lhdmg, igs_m027_state, init_lhdmg, ROT0, "IGS", "Long Hu Da Manguan Plus", 0 ) -GAME( 1999, lhzb3, 0, lhdmg, lhzb3, igs_m027_state, init_lhdmg, ROT0, "IGS", "Long Hu Zhengba III", 0 ) -GAME( 2004, lhzb4, 0, lhzb4, lhzb4, igs_m027_state, init_lhzb4, ROT0, "IGS", "Long Hu Zhengba 4", 0 ) -GAME( 1999, lthy, 0, lthy, lthy, igs_m027_state, init_lthy, ROT0, "IGS", "Long Teng Hu Yue", MACHINE_NODEVICE_LAN ) -GAME( 2000, zhongguo, 0, zhongguo, zhongguo, igs_m027_state, init_zhongguo, ROT0, "IGS", "Zhongguo Chu Da D", 0 ) -GAMEL( 200?, jking02, 0, jking02, jking02, igs_m027_state, init_jking02, ROT0, "IGS", "Jungle King 2002 (V209US)", MACHINE_NODEVICE_LAN, layout_jking02 ) -GAME( 2003, mgzz, 0, mgzz, mgzz, igs_m027_state, init_mgzz, ROT0, "IGS", "Manguan Zhizun (V101CN)", 0 ) -GAME( 2003, mgzza, mgzz, mgzz, mgzza, igs_m027_state, init_mgzz, ROT0, "IGS", "Manguan Zhizun (V100CN)", 0 ) -GAME( 2007, mgcs3, 0, lhzb4, mgcs3, igs_m027_state, init_mgcs3, ROT0, "IGS", "Manguan Caishen 3 (V101CN)", 0 ) -GAMEL( 1999, oceanpar, 0, oceanpar, oceanpar, igs_m027_state, init_oceanpar, ROT0, "IGS", "Ocean Paradise (V105US)", 0, layout_oceanpar ) // 1999 copyright in ROM -GAMEL( 1999, oceanpara, oceanpar, oceanpar, oceanpara,igs_m027_state, init_oceanpar, ROT0, "IGS", "Ocean Paradise (V101US)", 0, layout_oceanpar ) // 1999 copyright in ROM -GAMEL( 1999, fruitpar, 0, oceanpar, oceanpar, igs_m027_state, init_fruitpar, ROT0, "IGS", "Fruit Paradise (V214)", 0, layout_oceanpar ) -GAMEL( 1999, fruitpara, fruitpar, oceanpar, fruitpara,igs_m027_state, init_fruitpar, ROT0, "IGS", "Fruit Paradise (V206US)", 0, layout_oceanpar ) -GAME( 200?, cjddz, 0, cjddz, cjddz, igs_m027_state, init_cjddz, ROT0, "IGS", "Chaoji Dou Dizhu", 0 ) -GAME( 200?, cjddzp, 0, cjddz, cjddzp, igs_m027_state, init_cjddzp, ROT0, "IGS", "Chaoji Dou Dizhu Jiaqiang Ban (S300CN)", MACHINE_NODEVICE_LAN ) -GAMEL( 2007, tripslot, 0, tripslot, tripslot, igs_m027_state, init_tripslot, ROT0, "IGS", "Triple Slot (V200VE)", 0, layout_tripslot ) // 2007 date in internal ROM at least, could be later, default settings password is all 'start 1' +GAME( 1999, slqz3, 0, slqz3, slqz3, igs_m027_state, init_slqz3, ROT0, "IGS", "Shuang Long Qiang Zhu 3 (China, VS107C)", 0 ) +GAME( 1999, qlgs, 0, qlgs, qlgs, igs_m027_state, init_qlgs, ROT0, "IGS", "Que Long Gaoshou", MACHINE_NODEVICE_LAN ) +GAME( 1999, lhdmg, 0, lhdmg, lhdmg, igs_m027_state, init_lhdmg, ROT0, "IGS", "Long Hu Da Manguan", 0 ) +GAME( 1999, lhdmgp, 0, lhdmg, lhdmg, igs_m027_state, init_lhdmg, ROT0, "IGS", "Long Hu Da Manguan Plus", 0 ) +GAME( 1999, lhzb3, 0, lhdmg, lhzb3, igs_m027_state, init_lhdmg, ROT0, "IGS", "Long Hu Zhengba III", 0 ) +GAME( 2004, lhzb4, 0, lhzb4, lhzb4, igs_m027_state, init_lhzb4, ROT0, "IGS", "Long Hu Zhengba 4", 0 ) +GAME( 1999, lthy, 0, lthy, lthy, igs_m027_state, init_lthy, ROT0, "IGS", "Long Teng Hu Yue", MACHINE_NODEVICE_LAN ) +GAME( 2000, zhongguo, 0, zhongguo, zhongguo, igs_m027_state, init_zhongguo, ROT0, "IGS", "Zhongguo Chu Da D", 0 ) +GAMEL( 200?, jking02, 0, jking02, jking02, igs_m027_state, init_jking02, ROT0, "IGS", "Jungle King 2002 (V209US)", MACHINE_NODEVICE_LAN, layout_jking02 ) +GAME( 2003, mgzz, 0, mgzz, mgzz101cn, igs_m027_state, init_mgzz, ROT0, "IGS", "Manguan Zhizun (V101CN)", 0 ) +GAME( 2003, mgzz100cn, mgzz, mgzz, mgzz100cn, igs_m027_state, init_mgzz, ROT0, "IGS", "Manguan Zhizun (V100CN)", 0 ) +GAME( 2007, mgcs3, 0, lhzb4, mgcs3, igs_m027_state, init_mgcs3, ROT0, "IGS", "Manguan Caishen 3 (V101CN)", 0 ) +GAMEL( 1999, oceanpar, 0, oceanpar, oceanpar105us, igs_m027_state, init_oceanpar, ROT0, "IGS", "Ocean Paradise (V105US)", 0, layout_oceanpar ) // 1999 copyright in ROM +GAMEL( 1999, oceanpar101us, oceanpar, oceanpar, oceanpar101us, igs_m027_state, init_oceanpar, ROT0, "IGS", "Ocean Paradise (V101US)", 0, layout_oceanpar ) // 1999 copyright in ROM +GAMEL( 1999, fruitpar, 0, oceanpar, oceanpar105us, igs_m027_state, init_fruitpar, ROT0, "IGS", "Fruit Paradise (V214)", 0, layout_oceanpar ) +GAMEL( 1999, fruitpar206us, fruitpar, oceanpar, fruitpar206us, igs_m027_state, init_fruitpar, ROT0, "IGS", "Fruit Paradise (V206US)", 0, layout_oceanpar ) +GAME( 200?, cjddz, 0, cjddz, cjddz, igs_m027_state, init_cjddz, ROT0, "IGS", "Chaoji Dou Dizhu", 0 ) +GAME( 200?, cjddzp, 0, cjddz, cjddzp, igs_m027_state, init_cjddzp, ROT0, "IGS", "Chaoji Dou Dizhu Jiaqiang Ban (S300CN)", MACHINE_NODEVICE_LAN ) +GAMEL( 2007, tripslot, 0, tripslot, tripslot, igs_m027_state, init_tripslot, ROT0, "IGS", "Triple Slot (V200VE)", 0, layout_tripslot ) // 2007 date in internal ROM at least, could be later, default settings password is all 'start 1' // this has a 2nd 8255 -GAME( 2001, extradrw, 0, extradrw, base, igs_m027_state, init_extradrw, ROT0, "IGS", "Extra Draw (V100VE)", MACHINE_NOT_WORKING ) +GAME( 2001, extradrw, 0, extradrw, base, igs_m027_state, init_extradrw, ROT0, "IGS", "Extra Draw (V100VE)", MACHINE_NOT_WORKING ) // these have an IGS025 protection device instead of the 8255 -GAME( 2002, chessc2, 0, chessc2, chessc2, igs_m027_state, init_chessc2, ROT0, "IGS", "Chess Challenge II", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION ) +GAME( 2002, chessc2, 0, chessc2, chessc2, igs_m027_state, init_chessc2, ROT0, "IGS", "Chess Challenge II", MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION ) // Incomplete dumps -GAME( 1999, amazonia, 0, m027_1ppi, amazonia, igs_m027_state, init_amazonia, ROT0, "IGS", "Amazonia King (V104BR)", MACHINE_NOT_WORKING ) -GAME( 1999, amazonkp, amazonia, m027_1ppi, amazonia, igs_m027_state, init_amazonia, ROT0, "IGS", "Amazonia King Plus (V204BR)", MACHINE_NOT_WORKING ) -GAME( 2005, olympic5, 0, m027_1ppi, base, igs_m027_state, init_olympic5, ROT0, "IGS", "Olympic 5 (V112US)", MACHINE_NOT_WORKING ) // IGS FOR V112US 2005 02 14 -GAME( 2003, olympic5a, olympic5, m027_1ppi, base, igs_m027_state, init_olympic5, ROT0, "IGS", "Olympic 5 (V107US)", MACHINE_NOT_WORKING ) // IGS FOR V107US 2003 10 2 -GAME( 200?, luckycrs, 0, m027_1ppi, base, igs_m027_state, init_luckycrs, ROT0, "IGS", "Lucky Cross (V106SA)", MACHINE_NOT_WORKING ) -GAME( 2003, amazoni2, 0, m027_1ppi, base, igs_m027_state, init_amazoni2, ROT0, "IGS", "Amazonia King II (V202BR)", MACHINE_NOT_WORKING ) -GAME( 2002, sdwx, 0, m027_1ppi, base, igs_m027_state, init_sdwx, ROT0, "IGS", "Sheng Dan Wu Xian", MACHINE_NOT_WORKING ) // aka Christmas 5 Line? (or Amazonia King II, shares roms at least?) -GAME( 200?, klxyj, 0, m027_1ppi, base, igs_m027_state, init_klxyj, ROT0, "IGS", "Kuai Le Xi You Ji", MACHINE_NOT_WORKING ) +GAME( 1999, amazonia, 0, m027_1ppi, amazonia, igs_m027_state, init_amazonia, ROT0, "IGS", "Amazonia King (V104BR)", MACHINE_NOT_WORKING ) +GAME( 1999, amazonkp, amazonia, m027_1ppi, amazonia, igs_m027_state, init_amazonia, ROT0, "IGS", "Amazonia King Plus (V204BR)", MACHINE_NOT_WORKING ) +GAME( 2005, olympic5, 0, m027_1ppi, base, igs_m027_state, init_olympic5, ROT0, "IGS", "Olympic 5 (V112US)", MACHINE_NOT_WORKING ) // IGS FOR V112US 2005 02 14 +GAME( 2003, olympic5107us, olympic5, m027_1ppi, base, igs_m027_state, init_olympic5, ROT0, "IGS", "Olympic 5 (V107US)", MACHINE_NOT_WORKING ) // IGS FOR V107US 2003 10 2 +GAME( 200?, luckycrs, 0, m027_1ppi, base, igs_m027_state, init_luckycrs, ROT0, "IGS", "Lucky Cross (V106SA)", MACHINE_NOT_WORKING ) +GAME( 2003, amazoni2, 0, m027_1ppi, base, igs_m027_state, init_amazoni2, ROT0, "IGS", "Amazonia King II (V202BR)", MACHINE_NOT_WORKING ) +GAME( 2002, sdwx, 0, m027_1ppi, base, igs_m027_state, init_sdwx, ROT0, "IGS", "Sheng Dan Wu Xian", MACHINE_NOT_WORKING ) // aka Christmas 5 Line? (or Amazonia King II, shares roms at least?) +GAME( 200?, klxyj, 0, m027_1ppi, base, igs_m027_state, init_klxyj, ROT0, "IGS", "Kuai Le Xi You Ji", MACHINE_NOT_WORKING ) // these have an IGS025 protection device instead of the 8255 -GAME( 200?, gonefsh2, 0, m027_noppi,base, igs_m027_state, init_gonefsh2, ROT0, "IGS", "Gone Fishing 2", MACHINE_NOT_WORKING ) +GAME( 200?, gonefsh2, 0, m027_noppi,base, igs_m027_state, init_gonefsh2, ROT0, "IGS", "Gone Fishing 2", MACHINE_NOT_WORKING ) diff --git a/src/mame/igs/igs_m027xa.cpp b/src/mame/igs/igs_m027xa.cpp index 97da91afe44..95747431b9e 100644 --- a/src/mame/igs/igs_m027xa.cpp +++ b/src/mame/igs/igs_m027xa.cpp @@ -10,8 +10,8 @@ Triple Fever (V105US) (tripfevb) hangs after paying out tickets, with the MCU apparently attempting serial communication with something. TODO: -* Does crzybugsj actually support a hopper? It shows in the input test, but - both the Payout and Ticket buttons seem to use the ticket dispenser. +* Does Crazy Bugs (V103JP) actually support a hopper? It shows in the input + test, but both the Payout and Ticket buttons seem to use the ticket dispenser. */ #include "emu.h" @@ -49,7 +49,6 @@ public: m_oki(*this, "oki"), m_screen(*this, "screen"), m_ticket(*this, "ticket"), - m_hopper(*this, "hopper"), m_external_rom(*this, "user1"), m_io_test(*this, "TEST%u", 0U), m_io_dsw(*this, "DSW%u", 1U), @@ -58,7 +57,6 @@ public: void base(machine_config &config); void base_xor(machine_config &config); - void hopper_xor(machine_config &config); void init_crzybugs(); void init_crzybugsj(); @@ -79,7 +77,6 @@ private: required_device m_oki; required_device m_screen; optional_device m_ticket; - optional_device m_hopper; required_region_ptr m_external_rom; optional_ioport_array<3> m_io_test; @@ -291,7 +288,7 @@ INPUT_PORTS_START( crzybugs_jp ) PORT_INCLUDE(crzybugs) PORT_MODIFY("TEST0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER("hopper", hopper_device, line_r) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) PORT_NAME("Hopper Switch") // shown in input test, but game always seems to use ticket dispenser PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_MODIFY("TEST1") @@ -309,6 +306,9 @@ INPUT_PORTS_START( crzybugs_jp ) PORT_DIPNAME( 0x08, 0x08, "Hold Pair" ) PORT_DIPLOCATION("SW1:4") PORT_DIPSETTING( 0x08, DEF_STR(Off) ) PORT_DIPSETTING( 0x00, "Regular" ) + + PORT_MODIFY("DSW3") + PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END INPUT_PORTS_START( tripfev ) @@ -519,12 +519,6 @@ void igs_m027xa_state::base_xor(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &igs_m027xa_state::main_xor_map); } -void igs_m027xa_state::hopper_xor(machine_config &config) -{ - base_xor(config); - - HOPPER(config, m_hopper, attotime::from_msec(50)); -} // prg at u34 // text at u15 @@ -557,7 +551,7 @@ ROM_START( haunthig ) ROM_LOAD( "hu_u39.u39", 0x200, 0x2dd, CRC(75f58b46) SHA1(7cb136a41899ddd50c95a67ca6353ce5d8d92149) ) // AT22V10 ROM_END -ROM_START( haunthiga ) // IGS PCB-0575-04-HU - Has IGS027A, MX10EXAQC, IGS031, Oki M6295, 2x 8-dip banks +ROM_START( haunthig101us ) // IGS PCB-0575-04-HU - Has IGS027A, MX10EXAQC, IGS031, Oki M6295, two banks of 8 DIP switches ROM_REGION( 0x04000, "maincpu", 0 ) // Internal ROM of IGS027A ARM based MCU ROM_LOAD( "h2_igs027a", 0x00000, 0x4000, NO_DUMP ) // sticker marked 'H2' @@ -583,7 +577,7 @@ ROM_START( haunthiga ) // IGS PCB-0575-04-HU - Has IGS027A, MX10EXAQC, IGS031, O ROM_LOAD( "hu_u39.u39", 0x200, 0x2dd, CRC(75f58b46) SHA1(7cb136a41899ddd50c95a67ca6353ce5d8d92149) ) // AT22V10 ROM_END -ROM_START( crzybugs ) // IGS PCB-0447-05-GM - Has IGS027A, MX10EXAQC, IGS031, Oki M6295, 3x 8-DIP banks +ROM_START( crzybugs ) // IGS PCB-0447-05-GM - Has IGS027A, MX10EXAQC, IGS031, Oki M6295, three banks of 8 DIP switches ROM_REGION( 0x04000, "maincpu", 0 ) // Internal ROM of IGS027A ARM based MCU ROM_LOAD( "m7_igs27a.u37", 0x00000, 0x4000, CRC(1b20532c) SHA1(e08d0110a843915a8ba8627ae6d3947cccc22048) ) // sticker marked 'M7' @@ -605,7 +599,7 @@ ROM_START( crzybugs ) // IGS PCB-0447-05-GM - Has IGS027A, MX10EXAQC, IGS031, Ok ROM_LOAD( "crazybugs_sp.u15", 0x000000, 0x200000, CRC(591b315b) SHA1(fda1816d83e202170dba4afc6e7898b706a76087) ) // M27C160 ROM_END -ROM_START( crzybugsa ) +ROM_START( crzybugs202us ) ROM_REGION( 0x04000, "maincpu", 0 ) // Internal ROM of IGS027A ARM based MCU ROM_LOAD( "m7_igs27a.u37", 0x00000, 0x4000, CRC(1b20532c) SHA1(e08d0110a843915a8ba8627ae6d3947cccc22048) ) // sticker marked 'M7' (not verified for this set) @@ -627,7 +621,7 @@ ROM_START( crzybugsa ) ROM_LOAD( "crazy_bugs_sp.u15", 0x000000, 0x200000, CRC(591b315b) SHA1(fda1816d83e202170dba4afc6e7898b706a76087) ) // M27C160 ROM_END -ROM_START( crzybugsb ) +ROM_START( crzybugs200us ) ROM_REGION( 0x04000, "maincpu", 0 ) // Internal ROM of IGS027A ARM based MCU ROM_LOAD( "m7_igs27a.u37", 0x00000, 0x4000, CRC(1b20532c) SHA1(e08d0110a843915a8ba8627ae6d3947cccc22048) ) // sticker marked 'M7' (not verified for this set) @@ -649,7 +643,7 @@ ROM_START( crzybugsb ) ROM_LOAD( "crazy_bugs_sp.u15", 0x000000, 0x200000, BAD_DUMP CRC(591b315b) SHA1(fda1816d83e202170dba4afc6e7898b706a76087) ) // not dumped for this set ROM_END -ROM_START( crzybugsj ) // IGS PCB-0575-04-HU - Has IGS027A, MX10EXAQC, IGS031, Oki M6295, 2x 8-dip banks +ROM_START( crzybugs103jp ) // IGS PCB-0575-04-HU - Has IGS027A, MX10EXAQC, IGS031, Oki M6295, two banks of 8 DIP switches ROM_REGION( 0x04000, "maincpu", 0 ) // Internal ROM of IGS027A ARM based MCU ROM_LOAD( "m6.u42", 0x00000, 0x4000, CRC(ae3a0b2a) SHA1(60265c98278625791cdf6af6b242888e45b6b3bb) ) // sticker marked 'M6' @@ -698,7 +692,7 @@ ROM_START( tripfev ) // IGS PCB-0575-02-HU PCB ROM_LOAD( "triplef_sp.u3", 0x000000, 0x200000, CRC(98b9cafd) SHA1(3bf3971f0d9520c98fc6b1c2e77ab9c178d21c62) ) // M27C160 ROM_END -ROM_START( tripfeva ) // IGS PCB-0447-05-GM - Has IGS027A, MX10EXAQC, IGS031, Oki M6295, 3x 8-DIP banks +ROM_START( tripfev107us ) // IGS PCB-0447-05-GM - Has IGS027A, MX10EXAQC, IGS031, Oki M6295, three banks of 8 DIP switches ROM_REGION( 0x04000, "maincpu", 0 ) // Internal ROM of IGS027A ARM based MCU ROM_LOAD( "w1_igs027a.u37", 0x00000, 0x4000, CRC(a40ec1f8) SHA1(f6f7005d61522934758fd0a98bf383c6076b6afe) ) // sticker marked 'W1' @@ -720,7 +714,7 @@ ROM_START( tripfeva ) // IGS PCB-0447-05-GM - Has IGS027A, MX10EXAQC, IGS031, Ok ROM_LOAD( "triplef_sp_u15.u15", 0x000000, 0x200000, CRC(98b9cafd) SHA1(3bf3971f0d9520c98fc6b1c2e77ab9c178d21c62) ) // M27C160 ROM_END -ROM_START( tripfevb ) // IGS PCB-0447-05-GM - Has IGS027A, MX10EXAQC, IGS031, Oki M6295, 3x 8-DIP banks +ROM_START( tripfev105us ) // IGS PCB-0447-05-GM - Has IGS027A, MX10EXAQC, IGS031, Oki M6295, three banks of 8 DIP switches ROM_REGION( 0x04000, "maincpu", 0 ) // Internal ROM of IGS027A ARM based MCU ROM_LOAD( "w1_igs027a.u37", 0x00000, 0x4000, CRC(a40ec1f8) SHA1(f6f7005d61522934758fd0a98bf383c6076b6afe) ) // sticker marked 'W1' @@ -742,7 +736,7 @@ ROM_START( tripfevb ) // IGS PCB-0447-05-GM - Has IGS027A, MX10EXAQC, IGS031, Ok ROM_LOAD( "triplef_sp_u15.u15", 0x000000, 0x200000, CRC(98b9cafd) SHA1(3bf3971f0d9520c98fc6b1c2e77ab9c178d21c62) ) // M27C160 ROM_END -ROM_START( wldfruit ) // IGS PCB-0447-05-GM - Has IGS027A, MX10EXAQC, IGS031, Oki M6295, 3x 8-DIP banks +ROM_START( wldfruit ) // IGS PCB-0447-05-GM - Has IGS027A, MX10EXAQC, IGS031, Oki M6295, three banks of 8 DIP switches ROM_REGION( 0x04000, "maincpu", 0 ) // Internal ROM of IGS027A ARM based MCU ROM_LOAD( "w1.u37", 0x00000, 0x4000, NO_DUMP ) // sticker marked 'W1?' (same label, but not the same as tripfev? or an error) @@ -828,17 +822,17 @@ void igs_m027xa_state::init_wldfruit() // These use the MX10EXAQC (80c51XA from Philips) // the PCBs are closer to igs_fear.cpp in terms of layout -GAME( 2008, haunthig, 0, base, base, igs_m027xa_state, init_hauntedh, ROT0, "IGS", "Haunted House (IGS, V109US)", MACHINE_NOT_WORKING ) // IGS FOR V109US 2008 10 14 -GAME( 2006, haunthiga, haunthig, base, base, igs_m027xa_state, init_hauntedh, ROT0, "IGS", "Haunted House (IGS, V101US)", MACHINE_NOT_WORKING ) // IGS FOR V101US 2006 08 23 +GAME( 2008, haunthig, 0, base, base, igs_m027xa_state, init_hauntedh, ROT0, "IGS", "Haunted House (IGS, V109US)", MACHINE_NOT_WORKING ) // IGS FOR V109US 2008 10 14 +GAME( 2006, haunthig101us, haunthig, base, base, igs_m027xa_state, init_hauntedh, ROT0, "IGS", "Haunted House (IGS, V101US)", MACHINE_NOT_WORKING ) // IGS FOR V101US 2006 08 23 -GAMEL( 2009, crzybugs, 0, base_xor, crzybugs_us, igs_m027xa_state, init_crzybugs, ROT0, "IGS", "Crazy Bugs (V204US)", 0, layout_crzybugs ) // IGS FOR V204US 2009 5 19 -GAMEL( 2006, crzybugsa, crzybugs, base_xor, crzybugs_us, igs_m027xa_state, init_crzybugs, ROT0, "IGS", "Crazy Bugs (V202US)", 0, layout_crzybugs ) // IGS FOR V100US 2006 3 29 but also V202US string -GAMEL( 2005, crzybugsb, crzybugs, base_xor, crzybugs_us, igs_m027xa_state, init_crzybugs, ROT0, "IGS", "Crazy Bugs (V200US)", 0, layout_crzybugs ) // FOR V100US 2005 7 20 but also V200US string +GAMEL( 2009, crzybugs, 0, base_xor, crzybugs_us, igs_m027xa_state, init_crzybugs, ROT0, "IGS", "Crazy Bugs (V204US)", 0, layout_crzybugs ) // IGS FOR V204US 2009 5 19 +GAMEL( 2006, crzybugs202us, crzybugs, base_xor, crzybugs_us, igs_m027xa_state, init_crzybugs, ROT0, "IGS", "Crazy Bugs (V202US)", 0, layout_crzybugs ) // IGS FOR V100US 2006 3 29 but also V202US string +GAMEL( 2005, crzybugs200us, crzybugs, base_xor, crzybugs_us, igs_m027xa_state, init_crzybugs, ROT0, "IGS", "Crazy Bugs (V200US)", 0, layout_crzybugs ) // FOR V100US 2005 7 20 but also V200US string -GAMEL( 2007, crzybugsj, crzybugs, hopper_xor, crzybugs_jp, igs_m027xa_state, init_crzybugsj, ROT0, "IGS", "Crazy Bugs (V103JP)", 0, layout_crzybugs ) // IGS FOR V101JP 2007 06 08 (test mode calls this V102JP, ROM label was V103JP) +GAMEL( 2007, crzybugs103jp, crzybugs, base_xor, crzybugs_jp, igs_m027xa_state, init_crzybugsj, ROT0, "IGS", "Crazy Bugs (V103JP)", 0, layout_crzybugs ) // IGS FOR V101JP 2007 06 08 (test mode calls this V102JP, ROM label was V103JP) -GAMEL( 2006, tripfev, 0, base_xor, tripfev, igs_m027xa_state, init_tripfev, ROT0, "IGS", "Triple Fever (V108US)", 0, layout_tripfev ) -GAMEL( 2006, tripfeva, tripfev, base_xor, tripfev, igs_m027xa_state, init_tripfev, ROT0, "IGS", "Triple Fever (V107US)", 0, layout_tripfev ) // IGS FOR V107US 2006 09 07 -GAMEL( 2006, tripfevb, tripfev, base_xor, tripfev, igs_m027xa_state, init_tripfev, ROT0, "IGS", "Triple Fever (V105US)", MACHINE_NOT_WORKING, layout_tripfev ) +GAMEL( 2006, tripfev, 0, base_xor, tripfev, igs_m027xa_state, init_tripfev, ROT0, "IGS", "Triple Fever (V108US)", 0, layout_tripfev ) +GAMEL( 2006, tripfev107us, tripfev, base_xor, tripfev, igs_m027xa_state, init_tripfev, ROT0, "IGS", "Triple Fever (V107US)", 0, layout_tripfev ) // IGS FOR V107US 2006 09 07 +GAMEL( 2006, tripfev105us, tripfev, base_xor, tripfev, igs_m027xa_state, init_tripfev, ROT0, "IGS", "Triple Fever (V105US)", MACHINE_NOT_WORKING, layout_tripfev ) -GAME( 200?, wldfruit, 0, base, base, igs_m027xa_state, init_wldfruit, ROT0, "IGS", "Wild Fruit (V208US)", MACHINE_NOT_WORKING ) // IGS-----97----V208US +GAME( 200?, wldfruit, 0, base, base, igs_m027xa_state, init_wldfruit, ROT0, "IGS", "Wild Fruit (V208US)", MACHINE_NOT_WORKING ) // IGS-----97----V208US diff --git a/src/mame/jaleco/jalmah.cpp b/src/mame/jaleco/jalmah.cpp index b6617e1c820..0235d4c022b 100644 --- a/src/mame/jaleco/jalmah.cpp +++ b/src/mame/jaleco/jalmah.cpp @@ -110,12 +110,12 @@ OSC: 12.000MHz #include "emu.h" +#include "ms1_tmap.h" + #include "cpu/m68000/m68000.h" #include "machine/timer.h" #include "sound/okim6295.h" -#include "ms1_tmap.h" - #include "emupal.h" #include "screen.h" #include "speaker.h" diff --git a/src/mame/mame.lst b/src/mame/mame.lst index aa883e27785..abf7080783c 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -20327,7 +20327,7 @@ cjddz // (c) 200? cjddzp // (c) 200? extradrw // (c) 200? fruitpar // (c) 1999 -fruitpara // (c) 1999 +fruitpar206us // (c) 1999 gonefsh2 // (c) 200? jking02 // (c) 200? klxyj // (c) 200? @@ -20339,11 +20339,11 @@ lthy // (c) 1999 luckycrs // (c) 200? mgcs3 // (c) 200? mgzz // (c) 2003 -mgzza // (c) 2003 +mgzz100cn // (c) 2003 oceanpar // -oceanpara // +oceanpar101us // olympic5 // (c) 2005 -olympic5a // (c) 2003 +olympic5107us // (c) 2003 tripslot // (c) 2007 qlgs // (c) 1999 sdwx // (c) 2002 @@ -20358,14 +20358,14 @@ mgcs2l @source:igs/igs_m027xa.cpp crzybugs // (c) 2009 -crzybugsa // (c) 2006 -crzybugsb // (c) 2005 -crzybugsj // (c) 2007 +crzybugs103jp // (c) 2007 +crzybugs200us // (c) 2005 +crzybugs202us // (c) 2006 haunthig // (c) 2008 -haunthiga // (c) 2006 +haunthig101us // (c) 2006 tripfev // (c) 2006 -tripfeva // (c) 2006 -tripfevb // (c) 2006 +tripfev105us // (c) 2006 +tripfev107us // (c) 2006 wldfruit // (c) 200? @source:igs/igs_m036.cpp -- cgit v1.2.3