diff options
Diffstat (limited to 'src')
141 files changed, 3709 insertions, 2337 deletions
diff --git a/src/devices/bus/a7800/a78_slot.h b/src/devices/bus/a7800/a78_slot.h index d6a635b1a82..0f4fd9d2e92 100644 --- a/src/devices/bus/a7800/a78_slot.h +++ b/src/devices/bus/a7800/a78_slot.h @@ -3,6 +3,8 @@ #ifndef __A78_SLOT_H #define __A78_SLOT_H +#include "softlist_dev.h" + /*************************************************************************** TYPE DEFINITIONS diff --git a/src/devices/bus/a800/a800_slot.h b/src/devices/bus/a800/a800_slot.h index 0d1bf674bd5..d1cf620bdc4 100644 --- a/src/devices/bus/a800/a800_slot.h +++ b/src/devices/bus/a800/a800_slot.h @@ -3,6 +3,8 @@ #ifndef __A800_SLOT_H #define __A800_SLOT_H +#include "softlist_dev.h" + /*************************************************************************** TYPE DEFINITIONS diff --git a/src/devices/bus/adam/exp.h b/src/devices/bus/adam/exp.h index c7bd5abc12a..f1b004d67a8 100644 --- a/src/devices/bus/adam/exp.h +++ b/src/devices/bus/adam/exp.h @@ -12,7 +12,7 @@ #define __ADAM_EXPANSION_SLOT__ #include "emu.h" - +#include "softlist_dev.h" //************************************************************************** diff --git a/src/devices/bus/apf/slot.h b/src/devices/bus/apf/slot.h index 076759e18b3..c2dba02fc08 100644 --- a/src/devices/bus/apf/slot.h +++ b/src/devices/bus/apf/slot.h @@ -3,6 +3,8 @@ #ifndef __APF_SLOT_H #define __APF_SLOT_H +#include "softlist_dev.h" + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/arcadia/slot.h b/src/devices/bus/arcadia/slot.h index abc95db625f..2f7f2dbc67a 100644 --- a/src/devices/bus/arcadia/slot.h +++ b/src/devices/bus/arcadia/slot.h @@ -3,6 +3,9 @@ #ifndef __ARCADIA_SLOT_H #define __ARCADIA_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/astrocde/slot.h b/src/devices/bus/astrocde/slot.h index 6866f787655..edd94af5ca1 100644 --- a/src/devices/bus/astrocde/slot.h +++ b/src/devices/bus/astrocde/slot.h @@ -3,6 +3,9 @@ #ifndef __ASTROCADE_SLOT_H #define __ASTROCADE_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/c64/exp.h b/src/devices/bus/c64/exp.h index 3522942e823..4e4555173fa 100644 --- a/src/devices/bus/c64/exp.h +++ b/src/devices/bus/c64/exp.h @@ -37,6 +37,7 @@ #define __C64_EXPANSION_SLOT__ #include "emu.h" +#include "softlist_dev.h" #include "formats/cbm_crt.h" diff --git a/src/devices/bus/cbm2/exp.h b/src/devices/bus/cbm2/exp.h index 2a9fa80d051..ad66454a746 100644 --- a/src/devices/bus/cbm2/exp.h +++ b/src/devices/bus/cbm2/exp.h @@ -30,6 +30,7 @@ #define __CBM2_EXPANSION_SLOT__ #include "emu.h" +#include "softlist_dev.h" diff --git a/src/devices/bus/chanf/slot.h b/src/devices/bus/chanf/slot.h index 68599ffad1c..f1d3f0d2c88 100644 --- a/src/devices/bus/chanf/slot.h +++ b/src/devices/bus/chanf/slot.h @@ -3,6 +3,9 @@ #ifndef __CHANF_SLOT_H #define __CHANF_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/coco/cococart.h b/src/devices/bus/coco/cococart.h index 7ba1e301d50..9415b5956c8 100644 --- a/src/devices/bus/coco/cococart.h +++ b/src/devices/bus/coco/cococart.h @@ -11,6 +11,8 @@ #ifndef __COCOCART_H__ #define __COCOCART_H__ +#include "softlist_dev.h" + /*************************************************************************** CONSTANTS diff --git a/src/devices/bus/coleco/exp.h b/src/devices/bus/coleco/exp.h index 25f503b378e..19fa5b5e69c 100644 --- a/src/devices/bus/coleco/exp.h +++ b/src/devices/bus/coleco/exp.h @@ -31,7 +31,7 @@ #define __COLECOVISION_CARTRIDGE_SLOT__ #include "emu.h" - +#include "softlist_dev.h" //************************************************************************** diff --git a/src/devices/bus/crvision/slot.h b/src/devices/bus/crvision/slot.h index 47fed8c1583..7643ca7fb1b 100644 --- a/src/devices/bus/crvision/slot.h +++ b/src/devices/bus/crvision/slot.h @@ -3,6 +3,9 @@ #ifndef __CRVISION_SLOT_H #define __CRVISION_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/gameboy/gb_slot.h b/src/devices/bus/gameboy/gb_slot.h index 67db3cda7f0..75a8b4e7cde 100644 --- a/src/devices/bus/gameboy/gb_slot.h +++ b/src/devices/bus/gameboy/gb_slot.h @@ -3,6 +3,9 @@ #ifndef __GB_SLOT_H #define __GB_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/gba/gba_slot.h b/src/devices/bus/gba/gba_slot.h index 5cbc103e8dc..f9918744d97 100644 --- a/src/devices/bus/gba/gba_slot.h +++ b/src/devices/bus/gba/gba_slot.h @@ -3,6 +3,9 @@ #ifndef __GBA_SLOT_H #define __GBA_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/generic/slot.h b/src/devices/bus/generic/slot.h index 6ba2e1a1fd5..a3e07f68ef4 100644 --- a/src/devices/bus/generic/slot.h +++ b/src/devices/bus/generic/slot.h @@ -3,6 +3,9 @@ #ifndef __GENERIC_SLOT_H #define __GENERIC_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/hp_optroms/hp_optrom.h b/src/devices/bus/hp_optroms/hp_optrom.h index d82f8962f4f..6ca5440cce5 100644 --- a/src/devices/bus/hp_optroms/hp_optrom.h +++ b/src/devices/bus/hp_optroms/hp_optrom.h @@ -14,6 +14,8 @@ #define _HP_OPTROM_H_ #include "emu.h" +#include "softlist_dev.h" + class hp_optrom_cart_device : public device_t, public device_slot_card_interface diff --git a/src/devices/bus/intv/slot.h b/src/devices/bus/intv/slot.h index ced41e71fd0..11d88aed25c 100644 --- a/src/devices/bus/intv/slot.h +++ b/src/devices/bus/intv/slot.h @@ -3,6 +3,9 @@ #ifndef __INTV_SLOT_H #define __INTV_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/iq151/iq151.h b/src/devices/bus/iq151/iq151.h index 1c75ff6c9a0..684aa00b8fd 100644 --- a/src/devices/bus/iq151/iq151.h +++ b/src/devices/bus/iq151/iq151.h @@ -45,6 +45,8 @@ #ifndef __IQ151CART_H__ #define __IQ151CART_H__ +#include "softlist_dev.h" + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/isa/sc499.h b/src/devices/bus/isa/sc499.h index 7bbdaedfb8b..ad536a66df0 100644 --- a/src/devices/bus/isa/sc499.h +++ b/src/devices/bus/isa/sc499.h @@ -15,6 +15,8 @@ #include "emu.h" #include "bus/isa/isa.h" +#include "softlist_dev.h" + //************************************************************************** // TYPE DEFINITIONS diff --git a/src/devices/bus/kc/kc.h b/src/devices/bus/kc/kc.h index 7f9ed65f7d0..6f5e30f4943 100644 --- a/src/devices/bus/kc/kc.h +++ b/src/devices/bus/kc/kc.h @@ -11,6 +11,8 @@ #ifndef __KCEXP_H__ #define __KCEXP_H__ +#include "softlist_dev.h" + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/m5/slot.h b/src/devices/bus/m5/slot.h index cd12d43f3a8..27345e34a99 100644 --- a/src/devices/bus/m5/slot.h +++ b/src/devices/bus/m5/slot.h @@ -3,6 +3,9 @@ #ifndef __M5_SLOT_H #define __M5_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/megadrive/md_slot.h b/src/devices/bus/megadrive/md_slot.h index 4a86749d991..008ae917fb5 100644 --- a/src/devices/bus/megadrive/md_slot.h +++ b/src/devices/bus/megadrive/md_slot.h @@ -3,6 +3,8 @@ #ifndef __MD_SLOT_H #define __MD_SLOT_H +#include "softlist_dev.h" + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/msx_slot/cartridge.h b/src/devices/bus/msx_slot/cartridge.h index b9e1ca5e4f7..63530699b2b 100644 --- a/src/devices/bus/msx_slot/cartridge.h +++ b/src/devices/bus/msx_slot/cartridge.h @@ -5,6 +5,7 @@ #include "slot.h" #include "bus/msx_cart/cartridge.h" +#include "softlist_dev.h" extern const device_type MSX_SLOT_CARTRIDGE; diff --git a/src/devices/bus/neogeo/slot.h b/src/devices/bus/neogeo/slot.h index 158ff77e706..83de22b0a4b 100644 --- a/src/devices/bus/neogeo/slot.h +++ b/src/devices/bus/neogeo/slot.h @@ -4,6 +4,8 @@ #define __NEOGEO_SLOT_H #include "emu.h" +#include "softlist_dev.h" + /* PCB */ enum diff --git a/src/devices/bus/nes/aladdin.h b/src/devices/bus/nes/aladdin.h index 13c11d9ae3f..589fc3d87ec 100644 --- a/src/devices/bus/nes/aladdin.h +++ b/src/devices/bus/nes/aladdin.h @@ -4,6 +4,7 @@ #define __NES_ALADDIN_H #include "nxrom.h" +#include "softlist_dev.h" //---------------------------------- diff --git a/src/devices/bus/nes/datach.h b/src/devices/bus/nes/datach.h index 1b1fa57fde5..47c625badc7 100644 --- a/src/devices/bus/nes/datach.h +++ b/src/devices/bus/nes/datach.h @@ -4,6 +4,7 @@ #define __NES_DATACH_H #include "bandai.h" +#include "softlist_dev.h" #include "machine/i2cmem.h" #include "machine/bcreader.h" diff --git a/src/devices/bus/nes/karastudio.h b/src/devices/bus/nes/karastudio.h index d0924db0ffb..f5d15ce6e46 100644 --- a/src/devices/bus/nes/karastudio.h +++ b/src/devices/bus/nes/karastudio.h @@ -4,6 +4,7 @@ #define __NES_KARASTUDIO_H #include "nxrom.h" +#include "softlist_dev.h" //----------------------------------------- diff --git a/src/devices/bus/nes/nes_slot.h b/src/devices/bus/nes/nes_slot.h index d9b64cfa30a..27790c208e0 100644 --- a/src/devices/bus/nes/nes_slot.h +++ b/src/devices/bus/nes/nes_slot.h @@ -3,6 +3,9 @@ #ifndef __NES_SLOT_H__ #define __NES_SLOT_H__ +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/nes/sunsoft_dcs.h b/src/devices/bus/nes/sunsoft_dcs.h index b50ad5cf940..2428632824a 100644 --- a/src/devices/bus/nes/sunsoft_dcs.h +++ b/src/devices/bus/nes/sunsoft_dcs.h @@ -4,6 +4,7 @@ #define __NES_SUNSOFT_DCS_H #include "sunsoft.h" +#include "softlist_dev.h" //----------------------------------------------- diff --git a/src/devices/bus/newbrain/fdc.cpp b/src/devices/bus/newbrain/fdc.cpp index 92499b19028..d4fadb9df70 100644 --- a/src/devices/bus/newbrain/fdc.cpp +++ b/src/devices/bus/newbrain/fdc.cpp @@ -80,7 +80,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( newbrain_fdc_io, AS_IO, 8, newbrain_fdc_t ) ADDRESS_MAP_UNMAP_HIGH - ADDRESS_MAP_GLOBAL_MASK(0xd1) + ADDRESS_MAP_GLOBAL_MASK(0x71) AM_RANGE(0x00, 0x01) AM_MIRROR(0x10) AM_DEVICE(UPD765_TAG, upd765a_device, map) AM_RANGE(0x20, 0x20) AM_MIRROR(0x11) AM_WRITE(fdc_auxiliary_w) AM_RANGE(0x40, 0x40) AM_MIRROR(0x11) AM_READ(fdc_control_r) diff --git a/src/devices/bus/odyssey2/slot.h b/src/devices/bus/odyssey2/slot.h index 88dde833dca..50f04e74b7e 100644 --- a/src/devices/bus/odyssey2/slot.h +++ b/src/devices/bus/odyssey2/slot.h @@ -3,6 +3,9 @@ #ifndef __O2_SLOT_H #define __O2_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/pce/pce_slot.h b/src/devices/bus/pce/pce_slot.h index c6cb11096e1..579945229bf 100644 --- a/src/devices/bus/pce/pce_slot.h +++ b/src/devices/bus/pce/pce_slot.h @@ -3,6 +3,9 @@ #ifndef __PCE_SLOT_H #define __PCE_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/plus4/exp.h b/src/devices/bus/plus4/exp.h index c63d2b618f1..2d18efaa207 100644 --- a/src/devices/bus/plus4/exp.h +++ b/src/devices/bus/plus4/exp.h @@ -40,7 +40,7 @@ #define __PLUS4_EXPANSION_SLOT__ #include "emu.h" - +#include "softlist_dev.h" //************************************************************************** diff --git a/src/devices/bus/pofo/ccm.cpp b/src/devices/bus/pofo/ccm.cpp new file mode 100644 index 00000000000..a28f29c7637 --- /dev/null +++ b/src/devices/bus/pofo/ccm.cpp @@ -0,0 +1,109 @@ +// license:BSD-3-Clause +// copyright-holders:Curt Coder +/********************************************************************** + + Atari Portfolio Memory Card Port emulation + +**********************************************************************/ + +#include "ccm.h" + + + +//************************************************************************** +// GLOBAL VARIABLES +//************************************************************************** + +const device_type PORTFOLIO_MEMORY_CARD_SLOT = &device_creator<portfolio_memory_card_slot_t>; + + + +//************************************************************************** +// CARD INTERFACE +//************************************************************************** + +//------------------------------------------------- +// device_portfolio_memory_card_slot_interface - constructor +//------------------------------------------------- + +device_portfolio_memory_card_slot_interface::device_portfolio_memory_card_slot_interface(const machine_config &mconfig, device_t &device) : + device_slot_card_interface(mconfig, device), + m_rom(*this, "rom"), + m_nvram(*this, "nvram") +{ + m_slot = dynamic_cast<portfolio_memory_card_slot_t *>(device.owner()); +} + + + +//************************************************************************** +// LIVE DEVICE +//************************************************************************** + +//------------------------------------------------- +// portfolio_memory_card_slot_t - constructor +//------------------------------------------------- + +portfolio_memory_card_slot_t::portfolio_memory_card_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : + device_t(mconfig, PORTFOLIO_MEMORY_CARD_SLOT, "Atari Portfolio memory card port", tag, owner, clock, "portfolio_ccm_slot", __FILE__), + device_slot_interface(mconfig, *this), + device_image_interface(mconfig, *this), + m_card(nullptr) +{ +} + + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- + +void portfolio_memory_card_slot_t::device_start() +{ + m_card = dynamic_cast<device_portfolio_memory_card_slot_interface *>(get_card_device()); +} + + +//------------------------------------------------- +// call_load - +//------------------------------------------------- + +image_init_result portfolio_memory_card_slot_t::call_load() +{ + if (m_card) + { + if (software_entry() == nullptr) + { + fread(m_card->m_rom, length()); + } + else + { + load_software_region("rom", m_card->m_rom); + } + } + + return image_init_result::PASS; +} + + +//------------------------------------------------- +// get_default_card_software - +//------------------------------------------------- + +std::string portfolio_memory_card_slot_t::get_default_card_software() +{ + return software_get_default_slot("rom"); +} + + +//------------------------------------------------- +// SLOT_INTERFACE( portfolio_memory_cards ) +//------------------------------------------------- + +// slot devices +#include "ram.h" +#include "rom.h" + +SLOT_INTERFACE_START( portfolio_memory_cards ) + SLOT_INTERFACE("ram", PORTFOLIO_RAM_CARD) + SLOT_INTERFACE("rom", PORTFOLIO_ROM_CARD) +SLOT_INTERFACE_END diff --git a/src/devices/bus/pofo/ccm.h b/src/devices/bus/pofo/ccm.h new file mode 100644 index 00000000000..4f8f87c873f --- /dev/null +++ b/src/devices/bus/pofo/ccm.h @@ -0,0 +1,156 @@ +// license:BSD-3-Clause +// copyright-holders:Curt Coder +/********************************************************************** + + Atari Portfolio Memory Card port emulation + +********************************************************************** + + Pin COMMON RAM OPTROM Mask ROM + 32k 64k 128k + 1 A16 + 2 A15 + 3 VBB VPP NC VPP NC + 4 A12 + 5 A7 + 6 A6 + 7 A5 + 8 A4 + 9 A3 + 10 A2 + 11 A1 + 12 A0 + 13 D0 + 14 D1 + 15 D2 + 16 GND + 17 D3 + 18 D4 + 19 D5 + 20 D6 + 21 D7 + 22 CE + 23 A10 + 24 OE OE OE/VPP OE OE + 25 A11 + 26 A9 + 27 A8 + 28 A13 + 29 A14 + 30 WE NC NC PGM NC + 31 VCC + 32 CDET + +**********************************************************************/ + +#pragma once + +#ifndef __PORTFOLIO_MEMORY_CARD_SLOT__ +#define __PORTFOLIO_MEMORY_CARD_SLOT__ + +#include "emu.h" +#include "softlist_dev.h" + + + +//************************************************************************** +// CONSTANTS +//************************************************************************** + +#define PORTFOLIO_MEMORY_CARD_SLOT_A_TAG "ccma" +#define PORTFOLIO_MEMORY_CARD_SLOT_B_TAG "ccmb" + + + +//************************************************************************** +// INTERFACE CONFIGURATION MACROS +//************************************************************************** + +#define MCFG_PORTFOLIO_MEMORY_CARD_SLOT_ADD(_tag, _slot_intf, _def_slot) \ + MCFG_DEVICE_ADD(_tag, PORTFOLIO_MEMORY_CARD_SLOT, 0) \ + MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) + + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// ======================> device_portfolio_memory_card_slot_interface + +class portfolio_memory_card_slot_t; + +class device_portfolio_memory_card_slot_interface : public device_slot_card_interface +{ + friend class portfolio_memory_card_slot_t; + +public: + // construction/destruction + device_portfolio_memory_card_slot_interface(const machine_config &mconfig, device_t &device); + virtual ~device_portfolio_memory_card_slot_interface() { } + + virtual bool cdet() { return 1; } + + virtual UINT8 nrdi_r(address_space &space, offs_t offset) { return 0xff; }; + virtual void nwri_w(address_space &space, offs_t offset, UINT8 data) { }; + +protected: + optional_shared_ptr<UINT8> m_rom; + optional_shared_ptr<UINT8> m_nvram; + + portfolio_memory_card_slot_t *m_slot; +}; + + +// ======================> portfolio_memory_card_slot_t + +class portfolio_memory_card_slot_t : public device_t, + public device_slot_interface, + public device_image_interface +{ +public: + // construction/destruction + portfolio_memory_card_slot_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + virtual ~portfolio_memory_card_slot_t() { } + + // computer interface + bool cdet_r() { return (m_card != nullptr) ? m_card->cdet() : 1; } + + DECLARE_READ8_MEMBER( nrdi_r ) { return (m_card != nullptr) ? m_card->nrdi_r(space, offset) : 0xff; } + DECLARE_WRITE8_MEMBER( nwri_w ) { if (m_card != nullptr) m_card->nwri_w(space, offset, data); } + +protected: + // device-level overrides + virtual void device_config_complete() override { update_names(); } + virtual void device_start() override; + + // image-level overrides + virtual image_init_result call_load() override; + virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); } + + virtual iodevice_t image_type() const override { return IO_CARTSLOT; } + + virtual bool is_readable() const override { return 1; } + virtual bool is_writeable() const override { return 1; } + virtual bool is_creatable() const override { return 1; } + virtual bool must_be_loaded() const override { return 0; } + virtual bool is_reset_on_load() const override { return 1; } + virtual const char *image_interface() const override { return "pofo_card"; } + virtual const char *file_extensions() const override { return "rom,bin"; } + + // slot interface overrides + virtual std::string get_default_card_software() override; + + device_portfolio_memory_card_slot_interface *m_card; +}; + + +// device type definition +extern const device_type PORTFOLIO_MEMORY_CARD_SLOT; + + +SLOT_INTERFACE_EXTERN( portfolio_memory_cards ); + + + +#endif diff --git a/src/devices/bus/pofo/exp.cpp b/src/devices/bus/pofo/exp.cpp index 98b411990bf..ce7adb0d1fb 100644 --- a/src/devices/bus/pofo/exp.cpp +++ b/src/devices/bus/pofo/exp.cpp @@ -96,8 +96,11 @@ void portfolio_expansion_slot_t::device_reset() // slot devices #include "hpc101.h" #include "hpc102.h" +#include "hpc104.h" SLOT_INTERFACE_START( portfolio_expansion_cards ) SLOT_INTERFACE("lpt", HPC101) SLOT_INTERFACE("uart", HPC102) + SLOT_INTERFACE("ram", HPC104) + SLOT_INTERFACE("ram2", HPC104_2) SLOT_INTERFACE_END diff --git a/src/devices/bus/pofo/hpc104.cpp b/src/devices/bus/pofo/hpc104.cpp new file mode 100644 index 00000000000..5483fc72c2b --- /dev/null +++ b/src/devices/bus/pofo/hpc104.cpp @@ -0,0 +1,241 @@ +// license:BSD-3-Clause +// copyright-holders:Curt Coder +/********************************************************************** + + Atari Portfolio HPC-104 Memory Expander Plus emulation + +**********************************************************************/ + +#include "hpc104.h" + + + +//************************************************************************** +// MACROS / CONSTANTS +//************************************************************************** + +#define LOG 0 + + + +//************************************************************************** +// DEVICE DEFINITIONS +//************************************************************************** + +const device_type HPC104 = &device_creator<hpc104_t>; +const device_type HPC104_2 = &device_creator<hpc104_2_t>; + + +//------------------------------------------------- +// MACHINE_CONFIG_FRAGMENT( hpc104 ) +//------------------------------------------------- + +static MACHINE_CONFIG_FRAGMENT( hpc104 ) + MCFG_PORTFOLIO_MEMORY_CARD_SLOT_ADD(PORTFOLIO_MEMORY_CARD_SLOT_B_TAG, portfolio_memory_cards, nullptr) + + MCFG_PORTFOLIO_EXPANSION_SLOT_ADD(PORTFOLIO_EXPANSION_SLOT_TAG, XTAL_4_9152MHz, portfolio_expansion_cards, nullptr) + MCFG_PORTFOLIO_EXPANSION_SLOT_IINT_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, portfolio_expansion_slot_t, iint_w)) + MCFG_PORTFOLIO_EXPANSION_SLOT_EINT_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, portfolio_expansion_slot_t, eint_w)) + MCFG_PORTFOLIO_EXPANSION_SLOT_NMIO_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, portfolio_expansion_slot_t, nmio_w)) + MCFG_PORTFOLIO_EXPANSION_SLOT_WAKE_CALLBACK(DEVWRITELINE(DEVICE_SELF_OWNER, portfolio_expansion_slot_t, wake_w)) +MACHINE_CONFIG_END + + +//------------------------------------------------- +// machine_config_additions - device-specific +// machine configurations +//------------------------------------------------- + +machine_config_constructor hpc104_t::device_mconfig_additions() const +{ + return MACHINE_CONFIG_NAME( hpc104 ); +} + + +//------------------------------------------------- +// INPUT_PORTS( hpc104 ) +//------------------------------------------------- + +static INPUT_PORTS_START( hpc104 ) + PORT_START("SW1") + PORT_DIPNAME( 0x01, 0x00, "Unit Number" ) + PORT_DIPSETTING( 0x00, "1 (0x1F000)" ) + PORT_DIPSETTING( 0x01, "2 (0x5F000)" ) +INPUT_PORTS_END + + +//------------------------------------------------- +// input_ports - device-specific input ports +//------------------------------------------------- + +ioport_constructor hpc104_t::device_input_ports() const +{ + return INPUT_PORTS_NAME( hpc104 ); +} + + +//------------------------------------------------- +// INPUT_PORTS( hpc104_2 ) +//------------------------------------------------- + +static INPUT_PORTS_START( hpc104_2 ) + PORT_START("SW1") + PORT_DIPNAME( 0x01, 0x01, "Unit Number" ) + PORT_DIPSETTING( 0x00, "1 (0x1F000)" ) + PORT_DIPSETTING( 0x01, "2 (0x5F000)" ) +INPUT_PORTS_END + + +//------------------------------------------------- +// input_ports - device-specific input ports +//------------------------------------------------- + +ioport_constructor hpc104_2_t::device_input_ports() const +{ + return INPUT_PORTS_NAME( hpc104_2 ); +} + + + +//************************************************************************** +// LIVE DEVICE +//************************************************************************** + +//------------------------------------------------- +// hpc104_t - constructor +//------------------------------------------------- + +hpc104_t::hpc104_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source) : + device_t(mconfig, type, name, tag, owner, clock, shortname, source), + device_portfolio_expansion_slot_interface(mconfig, *this), + device_nvram_interface(mconfig, *this), + m_ccm(*this, PORTFOLIO_MEMORY_CARD_SLOT_B_TAG), + m_exp(*this, PORTFOLIO_EXPANSION_SLOT_TAG), + m_nvram(*this, "nvram"), + m_io_sw1(*this, "SW1") +{ +} + +hpc104_t::hpc104_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : + device_t(mconfig, HPC104, "Atari Portfolio HPC-104", tag, owner, clock, "hpc104", __FILE__), + device_portfolio_expansion_slot_interface(mconfig, *this), + device_nvram_interface(mconfig, *this), + m_ccm(*this, PORTFOLIO_MEMORY_CARD_SLOT_B_TAG), + m_exp(*this, PORTFOLIO_EXPANSION_SLOT_TAG), + m_nvram(*this, "nvram"), + m_io_sw1(*this, "SW1") +{ +} + + +//------------------------------------------------- +// hpc104_2_t - constructor +//------------------------------------------------- + +hpc104_2_t::hpc104_2_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : + hpc104_t(mconfig, HPC104_2, "Atari Portfolio HPC-104 (Unit 2)", tag, owner, clock, "hpc104_2", __FILE__) { } + + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- + +void hpc104_t::device_start() +{ + // allocate memory + m_nvram.allocate(0x40000); +} + + +//------------------------------------------------- +// device_reset - device-specific reset +//------------------------------------------------- + +void hpc104_t::device_reset() +{ + m_sw1 = BIT(m_io_sw1->read(), 0); +} + + +//------------------------------------------------- +// nrdi_r - read +//------------------------------------------------- + +UINT8 hpc104_t::nrdi_r(address_space &space, offs_t offset, UINT8 data, bool iom, bool bcom, bool ncc1) +{ + data = m_exp->nrdi_r(space, offset, data, iom, bcom, m_ncc1_out || ncc1); + + if (!iom) + { + if (!(!m_ncc1_out || ncc1)) + { + if (LOG) logerror("%s %s CCM0 read %05x\n", machine().time().as_string(), machine().describe_context(), offset & 0x1ffff); + + data = m_ccm->nrdi_r(space, offset & 0x1ffff); + } + + if (m_sw1) + { + if (offset >= 0x5f000 && offset < 0x9f000) + { + data = m_nvram[offset - 0x5f000]; + } + } + else + { + if (offset >= 0x1f000 && offset < 0x5f000) + { + data = m_nvram[offset - 0x1f000] = data; + } + } + } + + return data; +} + + +//------------------------------------------------- +// nwri_w - write +//------------------------------------------------- + +void hpc104_t::nwri_w(address_space &space, offs_t offset, UINT8 data, bool iom, bool bcom, bool ncc1) +{ + m_exp->nwri_w(space, offset, data, iom, bcom, m_ncc1_out || ncc1); + + if (!iom) + { + if (!(!m_ncc1_out || ncc1)) + { + if (LOG) logerror("%s %s CCM1 write %05x:%02x\n", machine().time().as_string(), machine().describe_context(), offset & 0x1ffff, data); + + m_ccm->nwri_w(space, offset & 0x1ffff, data); + } + + if (m_sw1) + { + if (offset >= 0x5f000 && offset < 0x9f000) + { + m_nvram[offset - 0x5f000] = data; + } + } + else + { + if (offset >= 0x1f000 && offset < 0x5f000) + { + m_nvram[offset - 0x1f000] = data; + } + } + } + else + { + if (!bcom) + { + if ((offset & 0x0f) == 0x0c) + { + m_ncc1_out = BIT(data, 0); + + if (LOG) logerror("NCC1 out %u\n", machine().time().as_string(), machine().describe_context(), m_ncc1_out); + } + } + } +} diff --git a/src/devices/bus/pofo/hpc104.h b/src/devices/bus/pofo/hpc104.h new file mode 100644 index 00000000000..9d930c21347 --- /dev/null +++ b/src/devices/bus/pofo/hpc104.h @@ -0,0 +1,86 @@ +// license:BSD-3-Clause +// copyright-holders:Curt Coder +/********************************************************************** + + Atari Portfolio HPC-104 Memory Expander Plus emulation + +**********************************************************************/ + +#pragma once + +#ifndef __HPC104__ +#define __HPC104__ + +#include "emu.h" +#include "exp.h" +#include "bus/pofo/ccm.h" +#include "machine/nvram.h" + + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// ======================> hpc104_t + +class hpc104_t : public device_t, + public device_portfolio_expansion_slot_interface, + public device_nvram_interface +{ +public: + // construction/destruction + hpc104_t(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source); + hpc104_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // optional information overrides + virtual machine_config_constructor device_mconfig_additions() const override; + virtual ioport_constructor device_input_ports() const override; + +protected: + // device-level overrides + virtual void device_start() override; + virtual void device_reset() override; + + // device_nvram_interface overrides + virtual void nvram_default() override { } + virtual void nvram_read(emu_file &file) override { if (m_nvram != nullptr) { file.read(m_nvram, m_nvram.bytes()); } } + virtual void nvram_write(emu_file &file) override { if (m_nvram != nullptr) { file.write(m_nvram, m_nvram.bytes()); } } + + // device_portfolio_expansion_slot_interface overrides + virtual bool nmd1() override { return m_ccm->cdet_r(); } + + virtual UINT8 nrdi_r(address_space &space, offs_t offset, UINT8 data, bool iom, bool bcom, bool ncc1) override; + virtual void nwri_w(address_space &space, offs_t offset, UINT8 data, bool iom, bool bcom, bool ncc1) override; + +private: + required_device<portfolio_memory_card_slot_t> m_ccm; + required_device<portfolio_expansion_slot_t> m_exp; + optional_shared_ptr<UINT8> m_nvram; + required_ioport m_io_sw1; + + bool m_sw1; + bool m_ncc1_out; +}; + + +// ======================> hpc104_2_t + +class hpc104_2_t : public hpc104_t +{ +public: + // construction/destruction + hpc104_2_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // optional information overrides + virtual ioport_constructor device_input_ports() const override; +}; + + +// device type definition +extern const device_type HPC104; +extern const device_type HPC104_2; + + + +#endif diff --git a/src/devices/bus/pofo/ram.cpp b/src/devices/bus/pofo/ram.cpp new file mode 100644 index 00000000000..e1fdce1b7ad --- /dev/null +++ b/src/devices/bus/pofo/ram.cpp @@ -0,0 +1,63 @@ +// license:BSD-3-Clause +// copyright-holders:Curt Coder +/********************************************************************** + + Atari Portfolio 128KB RAM card emulation + +**********************************************************************/ + +#include "ram.h" + + + +//************************************************************************** +// DEVICE DEFINITIONS +//************************************************************************** + +const device_type PORTFOLIO_RAM_CARD = &device_creator<portfolio_ram_card_t>; + + +//************************************************************************** +// LIVE DEVICE +//************************************************************************** + +//------------------------------------------------- +// portfolio_ram_card_t - constructor +//------------------------------------------------- + +portfolio_ram_card_t::portfolio_ram_card_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : + device_t(mconfig, PORTFOLIO_RAM_CARD, "Atari Portfolio RAM card", tag, owner, clock, "portfolio_ram_card", __FILE__), + device_portfolio_memory_card_slot_interface(mconfig, *this), + device_nvram_interface(mconfig, *this) +{ +} + + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- + +void portfolio_ram_card_t::device_start() +{ + m_nvram.allocate(0x20000); +} + + +//------------------------------------------------- +// nrdi_r - read +//------------------------------------------------- + +UINT8 portfolio_ram_card_t::nrdi_r(address_space &space, offs_t offset) +{ + return m_nvram[offset]; +} + + +//------------------------------------------------- +// nwri_w - write +//------------------------------------------------- + +void portfolio_ram_card_t::nwri_w(address_space &space, offs_t offset, UINT8 data) +{ + m_nvram[offset] = data; +} diff --git a/src/devices/bus/pofo/ram.h b/src/devices/bus/pofo/ram.h new file mode 100644 index 00000000000..77af70f33be --- /dev/null +++ b/src/devices/bus/pofo/ram.h @@ -0,0 +1,56 @@ +// license:BSD-3-Clause +// copyright-holders:Curt Coder +/********************************************************************** + + Atari Portfolio 128KB RAM card emulation + +**********************************************************************/ + +#pragma once + +#ifndef __PORTFOLIO_RAM_CARD__ +#define __PORTFOLIO_RAM_CARD__ + +#include "emu.h" +#include "ccm.h" +#include "machine/nvram.h" + + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// ======================> portfolio_ram_card_t + +class portfolio_ram_card_t : public device_t, + public device_portfolio_memory_card_slot_interface, + public device_nvram_interface +{ +public: + // construction/destruction + portfolio_ram_card_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + +protected: + // device-level overrides + virtual void device_start() override; + + // device_nvram_interface overrides + virtual void nvram_default() override { } + virtual void nvram_read(emu_file &file) override { if (m_nvram != nullptr) { file.read(m_nvram, m_nvram.bytes()); } } + virtual void nvram_write(emu_file &file) override { if (m_nvram != nullptr) { file.write(m_nvram, m_nvram.bytes()); } } + + // device_portfolio_memory_card_slot_interface overrides + virtual bool cdet() override { return 0; } + + virtual UINT8 nrdi_r(address_space &space, offs_t offset) override; + virtual void nwri_w(address_space &space, offs_t offset, UINT8 data) override; +}; + + +// device type definition +extern const device_type PORTFOLIO_RAM_CARD; + + + +#endif diff --git a/src/devices/bus/pofo/rom.cpp b/src/devices/bus/pofo/rom.cpp new file mode 100644 index 00000000000..fbc4c5961b5 --- /dev/null +++ b/src/devices/bus/pofo/rom.cpp @@ -0,0 +1,51 @@ +// license:BSD-3-Clause +// copyright-holders:Curt Coder +/********************************************************************** + + Atari Portfolio ROM card emulation + +**********************************************************************/ + +#include "rom.h" + + + +//************************************************************************** +// DEVICE DEFINITIONS +//************************************************************************** + +const device_type PORTFOLIO_ROM_CARD = &device_creator<portfolio_rom_card_t>; + + +//************************************************************************** +// LIVE DEVICE +//************************************************************************** + +//------------------------------------------------- +// portfolio_rom_card_t - constructor +//------------------------------------------------- + +portfolio_rom_card_t::portfolio_rom_card_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : + device_t(mconfig, PORTFOLIO_ROM_CARD, "Atari Portfolio ROM card", tag, owner, clock, "portfolio_rom_card", __FILE__), + device_portfolio_memory_card_slot_interface(mconfig, *this) +{ +} + + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- + +void portfolio_rom_card_t::device_start() +{ +} + + +//------------------------------------------------- +// nrdi_r - read +//------------------------------------------------- + +UINT8 portfolio_rom_card_t::nrdi_r(address_space &space, offs_t offset) +{ + return m_rom[offset]; +} diff --git a/src/devices/bus/pofo/rom.h b/src/devices/bus/pofo/rom.h new file mode 100644 index 00000000000..48503fef58b --- /dev/null +++ b/src/devices/bus/pofo/rom.h @@ -0,0 +1,48 @@ +// license:BSD-3-Clause +// copyright-holders:Curt Coder +/********************************************************************** + + Atari Portfolio ROM card emulation + +**********************************************************************/ + +#pragma once + +#ifndef __PORTFOLIO_ROM_CARD__ +#define __PORTFOLIO_ROM_CARD__ + +#include "emu.h" +#include "ccm.h" + + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// ======================> portfolio_rom_card_t + +class portfolio_rom_card_t : public device_t, + public device_portfolio_memory_card_slot_interface +{ +public: + // construction/destruction + portfolio_rom_card_t(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + +protected: + // device-level overrides + virtual void device_start() override; + + // device_portfolio_memory_card_slot_interface overrides + virtual bool cdet() override { return 0; } + + virtual UINT8 nrdi_r(address_space &space, offs_t offset) override; +}; + + +// device type definition +extern const device_type PORTFOLIO_ROM_CARD; + + + +#endif diff --git a/src/devices/bus/ql/rom.h b/src/devices/bus/ql/rom.h index 606ffe4e67b..5649804df66 100644 --- a/src/devices/bus/ql/rom.h +++ b/src/devices/bus/ql/rom.h @@ -31,7 +31,7 @@ #define __QL_ROM_CARTRIDGE_SLOT__ #include "emu.h" - +#include "softlist_dev.h" //************************************************************************** diff --git a/src/devices/bus/saturn/sat_slot.h b/src/devices/bus/saturn/sat_slot.h index af16ecbdeaa..f87ce9bf0d3 100644 --- a/src/devices/bus/saturn/sat_slot.h +++ b/src/devices/bus/saturn/sat_slot.h @@ -3,6 +3,9 @@ #ifndef __SAT_SLOT_H #define __SAT_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/scv/slot.h b/src/devices/bus/scv/slot.h index 1d921f8d607..cbf87dd7d06 100644 --- a/src/devices/bus/scv/slot.h +++ b/src/devices/bus/scv/slot.h @@ -3,6 +3,9 @@ #ifndef __SCV_SLOT_H #define __SCV_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/sega8/sega8_slot.h b/src/devices/bus/sega8/sega8_slot.h index d27e993f0f7..5a0ce0af010 100644 --- a/src/devices/bus/sega8/sega8_slot.h +++ b/src/devices/bus/sega8/sega8_slot.h @@ -3,6 +3,9 @@ #ifndef __SEGA8_SLOT_H #define __SEGA8_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/snes/snes_slot.h b/src/devices/bus/snes/snes_slot.h index 7ebfefaa7f2..f6d4208eb1c 100644 --- a/src/devices/bus/snes/snes_slot.h +++ b/src/devices/bus/snes/snes_slot.h @@ -3,6 +3,9 @@ #ifndef __SNS_SLOT_H #define __SNS_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/ti99x/gromport.h b/src/devices/bus/ti99x/gromport.h index 5ab93e0f673..d21497d9d55 100644 --- a/src/devices/bus/ti99x/gromport.h +++ b/src/devices/bus/ti99x/gromport.h @@ -12,6 +12,8 @@ #include "emu.h" #include "ti99defs.h" #include "machine/tmc0430.h" +#include "softlist_dev.h" + extern const device_type GROMPORT; diff --git a/src/devices/bus/vboy/slot.h b/src/devices/bus/vboy/slot.h index cf031e75f85..71adadd6a2a 100644 --- a/src/devices/bus/vboy/slot.h +++ b/src/devices/bus/vboy/slot.h @@ -3,6 +3,9 @@ #ifndef __VBOY_SLOT_H #define __VBOY_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/vc4000/slot.h b/src/devices/bus/vc4000/slot.h index 069593208bc..ed3425d0ddc 100644 --- a/src/devices/bus/vc4000/slot.h +++ b/src/devices/bus/vc4000/slot.h @@ -3,6 +3,9 @@ #ifndef __VC4000_SLOT_H #define __VC4000_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/vcs/vcs_slot.h b/src/devices/bus/vcs/vcs_slot.h index 142c30f9622..b8532dc216d 100755 --- a/src/devices/bus/vcs/vcs_slot.h +++ b/src/devices/bus/vcs/vcs_slot.h @@ -3,6 +3,8 @@ #ifndef __VCS_SLOT_H #define __VCS_SLOT_H +#include "softlist_dev.h" + /*************************************************************************** TYPE DEFINITIONS diff --git a/src/devices/bus/vectrex/slot.h b/src/devices/bus/vectrex/slot.h index 5c0183327ae..261574556cd 100644 --- a/src/devices/bus/vectrex/slot.h +++ b/src/devices/bus/vectrex/slot.h @@ -3,6 +3,9 @@ #ifndef __VECTREX_SLOT_H #define __VECTREX_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/vic10/exp.h b/src/devices/bus/vic10/exp.h index 4221991e124..a3ff118c891 100644 --- a/src/devices/bus/vic10/exp.h +++ b/src/devices/bus/vic10/exp.h @@ -37,10 +37,10 @@ #define __VIC10_EXPANSION_SLOT__ #include "emu.h" +#include "softlist_dev.h" #include "formats/cbm_crt.h" - //************************************************************************** // CONSTANTS //************************************************************************** diff --git a/src/devices/bus/vic20/exp.h b/src/devices/bus/vic20/exp.h index 1bd6092e400..9f161fb5c28 100644 --- a/src/devices/bus/vic20/exp.h +++ b/src/devices/bus/vic20/exp.h @@ -37,7 +37,7 @@ #define __VIC20_EXPANSION_SLOT__ #include "emu.h" - +#include "softlist_dev.h" //************************************************************************** diff --git a/src/devices/bus/vidbrain/exp.h b/src/devices/bus/vidbrain/exp.h index f662dd7cfa7..c9cd6677b55 100644 --- a/src/devices/bus/vidbrain/exp.h +++ b/src/devices/bus/vidbrain/exp.h @@ -40,7 +40,7 @@ #define __VIDEOBRAIN_EXPANSION_SLOT__ #include "emu.h" - +#include "softlist_dev.h" //************************************************************************** diff --git a/src/devices/bus/wswan/slot.h b/src/devices/bus/wswan/slot.h index 72036eab9ca..bd9d74fbe85 100644 --- a/src/devices/bus/wswan/slot.h +++ b/src/devices/bus/wswan/slot.h @@ -3,6 +3,9 @@ #ifndef __WS_SLOT_H #define __WS_SLOT_H +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/bus/z88/z88.h b/src/devices/bus/z88/z88.h index 60dfa2f924c..73d64575976 100644 --- a/src/devices/bus/z88/z88.h +++ b/src/devices/bus/z88/z88.h @@ -54,6 +54,9 @@ #ifndef __Z88CART_H__ #define __Z88CART_H__ +#include "softlist_dev.h" + + /*************************************************************************** TYPE DEFINITIONS ***************************************************************************/ diff --git a/src/devices/cpu/alto2/a2curt.cpp b/src/devices/cpu/alto2/a2curt.cpp index 3d23ba2ef44..1980408f2b5 100644 --- a/src/devices/cpu/alto2/a2curt.cpp +++ b/src/devices/cpu/alto2/a2curt.cpp @@ -67,10 +67,6 @@ void alto2_cpu_device::activate_curt() /** @brief initialize the cursor task F1 and F2 functions */ void alto2_cpu_device::init_curt(int task) { - set_f1(task, f1_block, &alto2_cpu_device::f1_early_curt_block, nullptr); - set_f2(task, f2_curt_load_xpreg, nullptr, &alto2_cpu_device::f2_late_load_xpreg); - set_f2(task, f2_curt_load_csr, nullptr, &alto2_cpu_device::f2_late_load_csr); - m_active_callback[task] = &alto2_cpu_device::activate_curt; } void alto2_cpu_device::exit_curt() diff --git a/src/devices/cpu/alto2/a2dht.cpp b/src/devices/cpu/alto2/a2dht.cpp index cf32394a83c..27f2103344c 100644 --- a/src/devices/cpu/alto2/a2dht.cpp +++ b/src/devices/cpu/alto2/a2dht.cpp @@ -95,10 +95,6 @@ void alto2_cpu_device::activate_dht() */ void alto2_cpu_device::init_dht(int task) { - set_f1(task, f1_block, &alto2_cpu_device::f1_early_dht_block, nullptr); - set_f2(task, f2_dht_evenfield, nullptr, &alto2_cpu_device::f2_late_evenfield); - set_f2(task, f2_dht_setmode, nullptr, &alto2_cpu_device::f2_late_dht_setmode); - m_active_callback[task] = &alto2_cpu_device::activate_dht; } void alto2_cpu_device::exit_dht() diff --git a/src/devices/cpu/alto2/a2dvt.cpp b/src/devices/cpu/alto2/a2dvt.cpp index 2badc246b57..a3800a211a8 100644 --- a/src/devices/cpu/alto2/a2dvt.cpp +++ b/src/devices/cpu/alto2/a2dvt.cpp @@ -53,9 +53,6 @@ void alto2_cpu_device::activate_dvt() */ void alto2_cpu_device::init_dvt(int task) { - set_f1(task, f1_block, &alto2_cpu_device::f1_early_dvt_block, nullptr); - set_f2(task, f2_dvt_evenfield, nullptr, &alto2_cpu_device::f2_late_evenfield); - m_active_callback[task] = &alto2_cpu_device::activate_dvt; } void alto2_cpu_device::exit_dvt() diff --git a/src/devices/cpu/alto2/a2dwt.cpp b/src/devices/cpu/alto2/a2dwt.cpp index 6791c8cc6ff..40bbe456a0e 100644 --- a/src/devices/cpu/alto2/a2dwt.cpp +++ b/src/devices/cpu/alto2/a2dwt.cpp @@ -75,8 +75,6 @@ void alto2_cpu_device::f2_late_dwt_load_ddr() void alto2_cpu_device::init_dwt(int task) { - set_f1(task, f1_block, &alto2_cpu_device::f1_early_dwt_block, nullptr); - set_f2(task, f2_dwt_load_ddr, nullptr, &alto2_cpu_device::f2_late_dwt_load_ddr); } void alto2_cpu_device::exit_dwt() diff --git a/src/devices/cpu/alto2/a2emu.cpp b/src/devices/cpu/alto2/a2emu.cpp index e01ebe2c342..8cb0296e512 100644 --- a/src/devices/cpu/alto2/a2emu.cpp +++ b/src/devices/cpu/alto2/a2emu.cpp @@ -656,28 +656,6 @@ void alto2_cpu_device::init_emu(int task) save_item(NAME(m_emu.cy)); init_ram(task); - - set_bs(task, bs_emu_read_sreg, &alto2_cpu_device::bs_early_read_sreg, nullptr); - set_bs(task, bs_emu_load_sreg, &alto2_cpu_device::bs_early_load_sreg, &alto2_cpu_device::bs_late_load_sreg); - set_bs(task, bs_disp, &alto2_cpu_device::bs_early_emu_disp, nullptr); - - set_f1(task, f1_block, &alto2_cpu_device::f1_early_emu_block, nullptr); // catch the emulator task trying to block (wrong branch) - set_f1(task, f1_emu_swmode, nullptr, &alto2_cpu_device::f1_late_swmode); - set_f1(task, f1_emu_wrtram, nullptr, &alto2_cpu_device::f1_late_wrtram); - set_f1(task, f1_emu_rdram, nullptr, &alto2_cpu_device::f1_late_rdram); - set_f1(task, f1_emu_load_rmr, nullptr, &alto2_cpu_device::f1_late_emu_load_rmr); - set_f1(task, f1_task_14, nullptr, nullptr); // F1 014 is undefined (?) - set_f1(task, f1_emu_load_esrb, nullptr, &alto2_cpu_device::f1_late_emu_load_esrb); - set_f1(task, f1_emu_rsnf, &alto2_cpu_device::f1_early_rsnf, nullptr); - set_f1(task, f1_emu_startf, &alto2_cpu_device::f1_early_startf, nullptr); - - set_f2(task, f2_emu_busodd, nullptr, &alto2_cpu_device::f2_late_busodd); - set_f2(task, f2_emu_magic, nullptr, &alto2_cpu_device::f2_late_magic); - set_f2(task, f2_emu_load_dns, &alto2_cpu_device::f2_early_load_dns, &alto2_cpu_device::f2_late_load_dns); - set_f2(task, f2_emu_acdest, &alto2_cpu_device::f2_early_acdest, nullptr); - set_f2(task, f2_emu_load_ir, nullptr, &alto2_cpu_device::f2_late_load_ir); - set_f2(task, f2_emu_idisp, nullptr, &alto2_cpu_device::f2_late_idisp); - set_f2(task, f2_emu_acsource, &alto2_cpu_device::f2_early_acsource, &alto2_cpu_device::f2_late_acsource); } void alto2_cpu_device::exit_emu() diff --git a/src/devices/cpu/alto2/a2ether.cpp b/src/devices/cpu/alto2/a2ether.cpp index 39959ce4360..3a360f8854e 100644 --- a/src/devices/cpu/alto2/a2ether.cpp +++ b/src/devices/cpu/alto2/a2ether.cpp @@ -1321,23 +1321,6 @@ void alto2_cpu_device::init_ether(int task) m_ether_a42 = prom_load(machine(), &pl_enet_a42, memregion("ether_a42")->base()); m_ether_a49 = prom_load(machine(), &pl_enet_a49, memregion("ether_a49")->base()); - set_bs(task, bs_ether_eidfct, &alto2_cpu_device::bs_early_eidfct, nullptr); - - set_f1(task, f1_block, &alto2_cpu_device::f1_early_eth_block, nullptr); - set_f1(task, f1_ether_eilfct, &alto2_cpu_device::f1_early_eilfct, nullptr); - set_f1(task, f1_ether_epfct, &alto2_cpu_device::f1_early_epfct, nullptr); - set_f1(task, f1_ether_ewfct, nullptr, &alto2_cpu_device::f1_late_ewfct); - - set_f2(task, f2_ether_eodfct, nullptr, &alto2_cpu_device::f2_late_eodfct); - set_f2(task, f2_ether_eosfct, nullptr, &alto2_cpu_device::f2_late_eosfct); - set_f2(task, f2_ether_erbfct, nullptr, &alto2_cpu_device::f2_late_erbfct); - set_f2(task, f2_ether_eefct, nullptr, &alto2_cpu_device::f2_late_eefct); - set_f2(task, f2_ether_ebfct, nullptr, &alto2_cpu_device::f2_late_ebfct); - set_f2(task, f2_ether_ecbfct, nullptr, &alto2_cpu_device::f2_late_ecbfct); - set_f2(task, f2_ether_eisfct, nullptr, &alto2_cpu_device::f2_late_eisfct); - - m_active_callback[task] = &alto2_cpu_device::activate_eth; - m_eth.rx_packet = std::make_unique<UINT16[]>(sizeof(UINT16)*ALTO2_ETHER_PACKET_SIZE); m_eth.tx_packet = std::make_unique<UINT16[]>(sizeof(UINT16)*ALTO2_ETHER_PACKET_SIZE); diff --git a/src/devices/cpu/alto2/a2ksec.cpp b/src/devices/cpu/alto2/a2ksec.cpp index 9e288aeead9..6ba05395877 100644 --- a/src/devices/cpu/alto2/a2ksec.cpp +++ b/src/devices/cpu/alto2/a2ksec.cpp @@ -17,29 +17,6 @@ void alto2_cpu_device::f1_early_ksec_block() //! disk sector task slot initialization void alto2_cpu_device::init_ksec(int task) { - set_bs(task, bs_ksec_read_kstat, &alto2_cpu_device::bs_early_read_kstat, nullptr); - set_bs(task, bs_ksec_read_kdata, &alto2_cpu_device::bs_early_read_kdata, nullptr); - - set_f1(task, f1_block, &alto2_cpu_device::f1_early_ksec_block, nullptr); - - set_f1(task, f1_task_10, nullptr, nullptr); - set_f1(task, f1_ksec_strobe, nullptr, &alto2_cpu_device::f1_late_strobe); - set_f1(task, f1_ksec_load_kstat, nullptr, &alto2_cpu_device::f1_late_load_kstat); - set_f1(task, f1_ksec_increcno, nullptr, &alto2_cpu_device::f1_late_increcno); - set_f1(task, f1_ksec_clrstat, nullptr, &alto2_cpu_device::f1_late_clrstat); - set_f1(task, f1_ksec_load_kcom, nullptr, &alto2_cpu_device::f1_late_load_kcom); - set_f1(task, f1_ksec_load_kadr, nullptr, &alto2_cpu_device::f1_late_load_kadr); - set_f1(task, f1_ksec_load_kdata, nullptr, &alto2_cpu_device::f1_late_load_kdata); - - set_f2(task, f2_ksec_init, nullptr, &alto2_cpu_device::f2_late_init); - set_f2(task, f2_ksec_rwc, nullptr, &alto2_cpu_device::f2_late_rwc); - set_f2(task, f2_ksec_recno, nullptr, &alto2_cpu_device::f2_late_recno); - set_f2(task, f2_ksec_xfrdat, nullptr, &alto2_cpu_device::f2_late_xfrdat); - set_f2(task, f2_ksec_swrnrdy, nullptr, &alto2_cpu_device::f2_late_swrnrdy); - set_f2(task, f2_ksec_nfer, nullptr, &alto2_cpu_device::f2_late_nfer); - set_f2(task, f2_ksec_strobon, nullptr, &alto2_cpu_device::f2_late_strobon); - set_f2(task, f2_task_17, nullptr, nullptr); - m_task_wakeup |= 1 << task; } diff --git a/src/devices/cpu/alto2/a2kwd.cpp b/src/devices/cpu/alto2/a2kwd.cpp index f93343e908b..e312debecf9 100644 --- a/src/devices/cpu/alto2/a2kwd.cpp +++ b/src/devices/cpu/alto2/a2kwd.cpp @@ -17,28 +17,6 @@ void alto2_cpu_device::f1_early_kwd_block() //! disk word task slot initialization void alto2_cpu_device::init_kwd(int task) { - set_bs(task, bs_kwd_read_kstat, &alto2_cpu_device::bs_early_read_kstat, nullptr); - set_bs(task, bs_kwd_read_kdata, &alto2_cpu_device::bs_early_read_kdata, nullptr); - - set_f1(task, f1_block, &alto2_cpu_device::f1_early_kwd_block, nullptr); - - set_f1(task, f1_task_10, nullptr, nullptr); - set_f1(task, f1_kwd_strobe, nullptr, &alto2_cpu_device::f1_late_strobe); - set_f1(task, f1_kwd_load_kstat, nullptr, &alto2_cpu_device::f1_late_load_kstat); - set_f1(task, f1_kwd_increcno, nullptr, &alto2_cpu_device::f1_late_increcno); - set_f1(task, f1_kwd_clrstat, nullptr, &alto2_cpu_device::f1_late_clrstat); - set_f1(task, f1_kwd_load_kcom, nullptr, &alto2_cpu_device::f1_late_load_kcom); - set_f1(task, f1_kwd_load_kadr, nullptr, &alto2_cpu_device::f1_late_load_kadr); - set_f1(task, f1_kwd_load_kdata, nullptr, &alto2_cpu_device::f1_late_load_kdata); - - set_f2(task, f2_kwd_init, nullptr, &alto2_cpu_device::f2_late_init); - set_f2(task, f2_kwd_rwc, nullptr, &alto2_cpu_device::f2_late_rwc); - set_f2(task, f2_kwd_recno, nullptr, &alto2_cpu_device::f2_late_recno); - set_f2(task, f2_kwd_xfrdat, nullptr, &alto2_cpu_device::f2_late_xfrdat); - set_f2(task, f2_kwd_swrnrdy, nullptr, &alto2_cpu_device::f2_late_swrnrdy); - set_f2(task, f2_kwd_nfer, nullptr, &alto2_cpu_device::f2_late_nfer); - set_f2(task, f2_kwd_strobon, nullptr, &alto2_cpu_device::f2_late_strobon); - set_f2(task, f2_task_17, nullptr, nullptr); } void alto2_cpu_device::exit_kwd() diff --git a/src/devices/cpu/alto2/a2mrt.cpp b/src/devices/cpu/alto2/a2mrt.cpp index 93fedbdbf6a..c072a23129c 100644 --- a/src/devices/cpu/alto2/a2mrt.cpp +++ b/src/devices/cpu/alto2/a2mrt.cpp @@ -29,9 +29,6 @@ void alto2_cpu_device::activate_mrt() //! memory refresh task slots initialization void alto2_cpu_device::init_mrt(int task) { - set_f1(task, f1_block, &alto2_cpu_device::f1_early_mrt_block, nullptr); - /* auto block */ - m_active_callback[task] = &alto2_cpu_device::activate_mrt; } void alto2_cpu_device::exit_mrt() diff --git a/src/devices/cpu/alto2/a2part.cpp b/src/devices/cpu/alto2/a2part.cpp index ecf9da51ea5..7e28c2d1da7 100644 --- a/src/devices/cpu/alto2/a2part.cpp +++ b/src/devices/cpu/alto2/a2part.cpp @@ -16,7 +16,6 @@ void alto2_cpu_device::activate_part() //! parity task slots initialization void alto2_cpu_device::init_part(int task) { - m_active_callback[task] = &alto2_cpu_device::activate_part; } void alto2_cpu_device::exit_part() diff --git a/src/devices/cpu/alto2/a2ram.cpp b/src/devices/cpu/alto2/a2ram.cpp index 9d2f5b37c2d..f482b82f94f 100644 --- a/src/devices/cpu/alto2/a2ram.cpp +++ b/src/devices/cpu/alto2/a2ram.cpp @@ -117,21 +117,14 @@ void alto2_cpu_device::wrtram() { UINT32 bank = GET_CRAM_BANKSEL(m_cram_addr); UINT32 wordaddr = GET_CRAM_WORDADDR(m_cram_addr); - UINT32 value = ((m_m << 16) | m_alu) ^ ALTO2_UCODE_INVERTED; + UINT32 value = ((m_myl << 16) | m_alu) ^ ALTO2_UCODE_INVERTED; UINT32 addr = bank * ALTO2_UCODE_PAGE_SIZE + wordaddr; // write RAM 0,1,2 - LOG((this,LOG_CPU,0," wrtram: RAM%d [%04o] upper:%06o lower:%06o", bank, wordaddr, m_m, m_alu)); + LOG((this,LOG_CPU,0," wrtram: RAM%d [%04o] upper:%06o lower:%06o", bank, wordaddr, m_myl, m_alu)); #if DEBUG_WRTRAM - char buff[128]; - UINT8 oprom[4]; - oprom[0] = m_m / 256; - oprom[1] = m_m % 256; - oprom[2] = m_m / 256; - oprom[3] = m_m % 256; - disasm_disassemble(buff, addr, oprom, oprom, 0); - printf("WR CRAM_BANKSEL=%d RAM%d [%04o] upper:%06o lower:%06o *** %s\n", - GET_CRAM_BANKSEL(m_cram_addr), bank, wordaddr, m_m, m_alu, buff); + printf("WR CRAM_BANKSEL=%d RAM%d [%04o] upper:%06o lower:%06o\n", + GET_CRAM_BANKSEL(m_cram_addr), bank, wordaddr, m_myl, m_alu); #endif m_wrtram_flag = false; @@ -158,7 +151,7 @@ void alto2_cpu_device::bs_early_read_sreg() r = m_s[bank][rsel()]; LOG((this,LOG_RAM,2," <-S%02o; bus &= S[%o][%02o] (%#o)\n", rsel(), bank, rsel(), r)); } else { - r = m_m; + r = m_myl; LOG((this,LOG_RAM,2," <-S%02o; bus &= M (%#o)\n", rsel(), r)); } m_bus &= r; @@ -180,8 +173,8 @@ void alto2_cpu_device::bs_early_load_sreg() void alto2_cpu_device::bs_late_load_sreg() { UINT8 bank = m_s_reg_bank[m_task]; - m_s[bank][rsel()] = m_m; - LOG((this,LOG_RAM,2," S%02o<- S[%o][%02o] := %#o\n", rsel(), bank, rsel(), m_m)); + m_s[bank][rsel()] = m_myl; + LOG((this,LOG_RAM,2," S%02o<- S[%o][%02o] := %#o\n", rsel(), bank, rsel(), m_myl)); } /** @@ -410,18 +403,6 @@ void alto2_cpu_device::f1_late_load_srb() void alto2_cpu_device::init_ram(int task) { m_ram_related[task] = true; - - set_bs(task, bs_ram_read_slocation, &alto2_cpu_device::bs_early_read_sreg, nullptr); - set_bs(task, bs_ram_load_slocation, &alto2_cpu_device::bs_early_load_sreg, &alto2_cpu_device::bs_late_load_sreg); - - set_f1(task, f1_ram_swmode, nullptr, &alto2_cpu_device::f1_late_swmode); - set_f1(task, f1_ram_wrtram, nullptr, &alto2_cpu_device::f1_late_wrtram); - set_f1(task, f1_ram_rdram, nullptr, &alto2_cpu_device::f1_late_rdram); -#if (ALTO2_UCODE_RAM_PAGES == 3) - set_f1(task, f1_ram_load_rmr, 0, &alto2_cpu_device::f1_late_load_rmr); -#else // ALTO2_UCODE_RAM_PAGES != 3 - set_f1(task, f1_ram_load_srb, nullptr, &alto2_cpu_device::f1_late_load_srb); -#endif } void alto2_cpu_device::exit_ram() @@ -433,6 +414,6 @@ void alto2_cpu_device::reset_ram() { m_rdram_flag = false; m_wrtram_flag = false; - m_m = 0; + m_myl = 0; memset(m_s, 0, sizeof(m_s)); } diff --git a/src/devices/cpu/alto2/a2roms.cpp b/src/devices/cpu/alto2/a2roms.cpp index ee46d12c0e5..995d1841da2 100644 --- a/src/devices/cpu/alto2/a2roms.cpp +++ b/src/devices/cpu/alto2/a2roms.cpp @@ -19,12 +19,12 @@ */ static UINT32 ones_u32(UINT32 val) { - val -= ((val >> 1) & 0x55555555); - val = (((val >> 2) & 0x33333333) + (val & 0x33333333)); - val = (((val >> 4) + val) & 0x0f0f0f0f); - val += (val >> 8); - val += (val >> 16); - return (val & 0x0000003f); + val -= ((val >> 1) & 0x55555555); + val = (((val >> 2) & 0x33333333) + (val & 0x33333333)); + val = (((val >> 4) + val) & 0x0f0f0f0f); + val += (val >> 8); + val += (val >> 16); + return val & 0x3f; } /** diff --git a/src/devices/cpu/alto2/alto2cpu.cpp b/src/devices/cpu/alto2/alto2cpu.cpp index 1b9c4e42f40..ff9b98f66ab 100644 --- a/src/devices/cpu/alto2/alto2cpu.cpp +++ b/src/devices/cpu/alto2/alto2cpu.cpp @@ -144,7 +144,7 @@ alto2_cpu_device::alto2_cpu_device(const machine_config& mconfig, const char* ta m_l(0), m_shifter(0), m_laluc0(0), - m_m(0), + m_myl(0), m_cram_addr(0), m_task_wakeup(0), m_reset_mode(0xffff), @@ -188,12 +188,8 @@ alto2_cpu_device::alto2_cpu_device(const machine_config& mconfig, const char* ta memset(m_task_next2, 0x00, sizeof(m_task_next2)); memset(m_r, 0x00, sizeof(m_r)); memset(m_s, 0x00, sizeof(m_s)); - memset(m_active_callback, 0x00, sizeof(m_active_callback)); memset(m_s_reg_bank, 0x00, sizeof(m_s_reg_bank)); memset(m_bank_reg, 0x00, sizeof(m_bank_reg)); - memset(m_bs, 0x00, sizeof(m_bs)); - memset(m_f1, 0x00, sizeof(m_f1)); - memset(m_f2, 0x00, sizeof(m_f2)); memset(m_ram_related, 0x00, sizeof(m_ram_related)); memset(m_drive, 0x00, sizeof(m_drive)); memset(m_sysclka0, 0x00, sizeof(m_sysclka0)); @@ -863,7 +859,7 @@ void alto2_cpu_device::device_start() save_item(NAME(m_l)); save_item(NAME(m_shifter)); save_item(NAME(m_laluc0)); - save_item(NAME(m_m)); + save_item(NAME(m_myl)); save_item(NAME(m_cram_addr)); save_item(NAME(m_task_wakeup)); save_item(NAME(m_reset_mode)); @@ -897,7 +893,7 @@ void alto2_cpu_device::device_start() state_add( A2_L, "L", m_l).formatstr("%06O"); state_add( A2_SHIFTER, "SHIFTER", m_shifter).formatstr("%06O"); state_add( A2_LALUC0, "LALUC0", m_laluc0).mask(1); - state_add( A2_M, "M", m_m).formatstr("%06O"); + state_add( A2_M, "M", m_myl).formatstr("%06O"); state_add_divider(-1); state_add( A2_AC3, "AC(3)", m_r[000]).formatstr("%06O"); state_add( A2_AC2, "AC(2)", m_r[001]).formatstr("%06O"); @@ -1281,42 +1277,42 @@ void alto2_cpu_device::watch_write(UINT32 addr, UINT32 data) #endif /** @brief fatal exit on unitialized dynamic phase BUS source */ -void alto2_cpu_device::fn_bs_bad_0() +void alto2_cpu_device::bs_early_bad() { fatal(9,"fatal: bad early bus source pointer for task %s, mpc:%05o bs:%s\n", task_name(m_task), m_mpc, bs_name(bs())); } /** @brief fatal exit on unitialized latching phase BUS source */ -void alto2_cpu_device::fn_bs_bad_1() +void alto2_cpu_device::bs_late_bad() { fatal(9,"fatal: bad late bus source pointer for task %s, mpc:%05o bs: %s\n", task_name(m_task), m_mpc, bs_name(bs())); } /** @brief fatal exit on unitialized dynamic phase F1 function */ -void alto2_cpu_device::fn_f1_bad_0() +void alto2_cpu_device::f1_early_bad() { fatal(9,"fatal: bad early f1 function pointer for task %s, mpc:%05o f1: %s\n", task_name(m_task), m_mpc, f1_name(f1())); } /** @brief fatal exit on unitialized latching phase F1 function */ -void alto2_cpu_device::fn_f1_bad_1() +void alto2_cpu_device::f1_late_bad() { fatal(9,"fatal: bad late f1 function pointer for task %s, mpc:%05o f1: %s\n", task_name(m_task), m_mpc, f1_name(f1())); } /** @brief fatal exit on unitialized dynamic phase F2 function */ -void alto2_cpu_device::fn_f2_bad_0() +void alto2_cpu_device::f2_early_bad() { fatal(9,"fatal: bad early f2 function pointer for task %s, mpc:%05o f2: %s\n", task_name(m_task), m_mpc, f2_name(f2())); } /** @brief fatal exit on unitialized latching phase F2 function */ -void alto2_cpu_device::fn_f2_bad_1() +void alto2_cpu_device::f2_late_bad() { fatal(9,"fatal: bad late f2 function pointer for task %s, mpc:%05o f2: %s\n", task_name(m_task), m_mpc, f2_name(f2())); @@ -2335,14 +2331,170 @@ void alto2_cpu_device::execute_run() * because the emulator task F2 acsource or acdest may * change the m_rsel */ - ((*this).*m_f2[0][m_task][f2()])(); + switch (f2()) { + case f2_task_12: // f2 12 task specific + switch (m_task) { + case task_emu: // emulator task + f2_early_load_dns(); + break; + } + break; + case f2_task_13: // f2 13 task specific + switch (m_task) { + case task_emu: // emulator task + f2_early_acdest(); + break; + } + break; + case f2_task_16: // f2 16 task specific + switch (m_task) { + case task_emu: // emulator task + f2_early_acsource(); + break; + } + break; + } // early BS function can be done now - if (do_bs) - ((*this).*m_bs[0][m_task][bs()])(); + if (do_bs) { + switch (bs()) { + case bs_read_r: // BUS source is R register + bs_early_read_r(); + break; + case bs_load_r: // load R register from BUS + bs_early_load_r(); + break; + case bs_task_3: // BUS source is task specific + switch (m_task) { + case task_emu: // emulator task + bs_early_read_sreg(); + break; + case task_ksec: // disk sector task + case task_kwd: // disk word task + bs_early_read_kstat(); + break; + case task_ether: // ethernet task + bs_early_eidfct(); + break; + case task_mrt: // memory refresh task + case task_dwt: // display word task + case task_curt: // cursor task + case task_dht: // display horizontal task + case task_dvt: // display vertical task + case task_part: // parity task + break; + default: + bs_early_bad(); + } + break; + case bs_task_4: // BUS source is task specific + switch (m_task) { + case task_emu: // emulator task + bs_early_load_sreg(); + break; + case task_ksec: // disk sector task + case task_kwd: // disk word task + bs_early_read_kdata(); + break; + case task_ether: // ethernet task + case task_mrt: // memory refresh task + case task_dwt: // display word task + case task_curt: // cursor task + case task_dht: // display horizontal task + case task_dvt: // display vertical task + case task_part: // parity task + break; + default: + bs_early_bad(); + } + break; + case bs_read_md: // BUS source is memory data + bs_early_read_md(); + break; + case bs_mouse: // BUS source is mouse data + bs_early_mouse(); + break; + case bs_disp: // BUS source displacement (emulator task) + switch (m_task) { + case task_emu: // emulator task + bs_early_emu_disp(); + break; + default: + bs_early_disp(); + } + break; + } + } // early F1 function - ((*this).*m_f1[0][m_task][f1()])(); + switch (f1()) { + case f1_task: // f1 02 task switch + f1_early_task(); + break; + case f1_block: // f1 03 task block + switch (m_task) { + case task_emu: // emulator task + f1_early_emu_block(); + break; + case task_ksec: // disk sector task + f1_early_ksec_block(); + break; + case task_ether: // ethernet task + f1_early_eth_block(); + break; + case task_mrt: // memory refresh task + f1_early_mrt_block(); + break; + case task_dwt: // display word task + f1_early_dwt_block(); + break; + case task_curt: // cursor task + f1_early_curt_block(); + break; + case task_dht: // display horizontal task + f1_early_dht_block(); + break; + case task_dvt: // display vertical task + f1_early_dvt_block(); + break; + case task_part: // parity task + f1_early_block(); + break; + case task_kwd: // disk word task + f1_early_kwd_block(); + break; + } + break; + + case f1_task_13: // f1 13 task specific + switch (m_task) { + case task_ether: // ethernet task + f1_early_eilfct(); + break; + } + break; + case f1_task_14: // f1 14 task specific + switch (m_task) { + case task_ether: // ethernet task + f1_early_epfct(); + break; + } + break; + case f1_task_16: // f1 16 task specific + switch (m_task) { + case task_emu: // emulator task + f1_early_rsnf(); + break; + } + break; + case f1_task_17: // f1 17 task specific + switch (m_task) { + case task_emu: // emulator task + f1_early_startf(); + break; + } + break; + } /** * The ALU a10 PROM address lines are @@ -2367,14 +2519,255 @@ void alto2_cpu_device::execute_run() m_shifter = m_l; // late F1 function call now - ((*this).*m_f1[1][m_task][f1()])(); + switch (f1()) { + case f1_load_mar: // f1 01 load memory address register + f1_late_load_mar(); + break; + case f1_l_lsh_1: // f1 04 left shift L once + f1_late_l_lsh_1(); + break; + case f1_l_rsh_1: // f1 05 right shift L once + f1_late_l_rsh_1(); + break; + case f1_l_lcy_8: // f1 06 cycle L 8 times + f1_late_l_lcy_8(); + break; + + case f1_task_10: // f1 10 task specific + switch (m_task) { + case task_emu: // emulator task + f1_late_swmode(); + break; + } + break; + case f1_task_11: // f1 11 task specific + switch (m_task) { + case task_emu: // emulator task + f1_late_wrtram(); + break; + case task_ksec: // disk sector task + case task_kwd: // disk word task + f1_late_strobe(); + break; + } + break; + case f1_task_12: // f1 12 task specific + switch (m_task) { + case task_emu: // emulator task + f1_late_rdram(); + break; + case task_ksec: // disk sector task + case task_kwd: // disk word task + f1_late_load_kstat(); + break; + } + break; + case f1_task_13: // f1 13 task specific + switch (m_task) { + case task_emu: // emulator task +#if (ALTO2_UCODE_RAM_PAGES == 3) + f1_late_load_rmr(); +#else + f1_late_load_srb(); +#endif + break; + case task_ksec: // disk sector task + case task_kwd: // disk word task + f1_late_increcno(); + break; + } + break; + case f1_task_14: // f1 14 task specific + switch (m_task) { + case task_ksec: // disk sector task + case task_kwd: // disk word task + f1_late_clrstat(); + break; + } + break; + case f1_task_15: // f1 15 task specific + switch (m_task) { + case task_emu: // emulator task + f1_late_emu_load_esrb(); + break; + case task_ksec: // disk sector task + case task_kwd: // disk word task + f1_late_load_kcom(); + break; + case task_ether: // ethernet task + f1_late_ewfct(); + break; + } + break; + case f1_task_16: // f1 16 task specific + switch (m_task) { + case task_ksec: // disk sector task + case task_kwd: // disk word task + f1_late_load_kadr(); + break; + } + break; + case f1_task_17: // f1 17 task specific + switch (m_task) { + case task_ksec: // disk sector task + case task_kwd: // disk word task + f1_late_load_kdata(); + break; + } + break; + } // late F2 function call now - ((*this).*m_f2[1][m_task][f2()])(); + switch (f2()) { + case f2_bus_eq_zero: // f2 01 branch on bus equals 0 + f2_late_bus_eq_zero(); + break; + case f2_shifter_lt_zero: // f2 02 branch on shifter less than 0 + f2_late_shifter_lt_zero(); + break; + case f2_shifter_eq_zero: // f2 03 branch on shifter equals 0 + f2_late_shifter_eq_zero(); + break; + case f2_bus: // f2 04 branch on BUS[6-15] + f2_late_bus(); + break; + case f2_alucy: // f2 05 branch on (latched) ALU carry + f2_late_alucy(); + break; + case f2_load_md: // f2 06 load memory data + f2_late_load_md(); + break; + + case f2_task_10: // f2 10 task specific + switch (m_task) { + case task_emu: // emulator task + f2_late_busodd(); + break; + case task_ksec: // disk sector task + case task_kwd: // disk word task + f2_late_init(); + break; + case task_ether: // ethernet task + f2_late_eodfct(); + break; + case task_dwt: // display word task + f2_late_dwt_load_ddr(); + break; + case task_curt: // cursor task + f2_late_load_xpreg(); + break; + case task_dht: // display horizontal task + f2_late_evenfield(); + break; + case task_dvt: // display vertical task + f2_late_evenfield(); + break; + } + break; + case f2_task_11: // f2 11 task specific + switch (m_task) { + case task_emu: // emulator task + f2_late_magic(); + break; + case task_ksec: // disk sector task + case task_kwd: // disk word task + f2_late_rwc(); + break; + case task_ether: // ethernet task + f2_late_eosfct(); + break; + case task_curt: // cursor task + f2_late_load_csr(); + break; + case task_dht: // display horizontal task + f2_late_dht_setmode(); + break; + } + break; + case f2_task_12: // f2 12 task specific + switch (m_task) { + case task_emu: // emulator task + f2_late_load_dns(); + break; + case task_ksec: // disk sector task + case task_kwd: // disk word task + f2_late_recno(); + break; + case task_ether: // ethernet task + f2_late_erbfct(); + break; + } + break; + case f2_task_13: // f2 13 task specific + switch (m_task) { + case task_ksec: // disk sector task + case task_kwd: // disk word task + f2_late_xfrdat(); + break; + case task_ether: // ethernet task + f2_late_eefct(); + break; + } + break; + case f2_task_14: // f2 14 task specific + switch (m_task) { + case task_emu: // emulator task + f2_late_load_ir(); + break; + case task_ksec: // disk sector task + case task_kwd: // disk word task + f2_late_swrnrdy(); + break; + case task_ether: // ethernet task + f2_late_ebfct(); + break; + } + break; + case f2_task_15: // f2 15 task specific + switch (m_task) { + case task_emu: // emulator task + f2_late_idisp(); + break; + case task_ksec: // disk sector task + case task_kwd: // disk word task + f2_late_nfer(); + break; + case task_ether: // ethernet task + f2_late_ecbfct(); + break; + } + break; + case f2_task_16: // f2 16 task specific + switch (m_task) { + case task_emu: // emulator task + f2_late_acsource(); + break; + case task_ksec: // disk sector task + case task_kwd: // disk word task + f2_late_strobon(); + break; + case task_ether: // ethernet task + f2_late_eisfct(); + break; + } + break; + } // late BS function call now, if no constant was put on the bus - if (do_bs) - ((*this).*m_bs[1][m_task][bs()])(); + if (do_bs) { + switch (bs()) { + case bs_load_r: // load R register from BUS + bs_late_load_r(); + break; + case bs_task_4: // BUS source is task specific + switch (m_task) { + case task_emu: // emulator task + bs_late_load_sreg(); + break; + } + break; + } + } // update T register, if LOADT is set if (loadt()) { @@ -2400,7 +2793,7 @@ void alto2_cpu_device::execute_run() } // update M (MYL) register, if a RAM related task is active if (m_ram_related[m_task]) { - m_m = m_alu; // load M from ALU, if 'GOODTASK' + m_myl = m_alu; // load M from ALU, if 'GOODTASK' m_s[m_s_reg_bank[m_task]][0] = m_alu; // also writes to S[bank][0], which can't be read LOG((this,LOG_CPU,2, " M<- ALU (%#o)\n", m_alu)); } @@ -2422,7 +2815,34 @@ void alto2_cpu_device::execute_run() m_next2 = m_task_next2[m_task]; // get address modifier after task switch (needed?) // let the task know it becomes active now and (most probably) reset the wakeup - ((*this).*m_active_callback[m_task])(); + switch (m_task) { + case task_emu: // emulator task + break; + case task_ksec: // disk sector task + break; + case task_ether: // ethernet task + activate_eth(); + break; + case task_mrt: // memory refresh task + activate_mrt(); + break; + case task_dwt: // display word task + break; + case task_curt: // cursor task + activate_curt(); + break; + case task_dht: // display horizontal task + activate_dht(); + break; + case task_dvt: // display vertical task + activate_dvt(); + break; + case task_part: // parity task + activate_part(); + break; + case task_kwd: // disk word task + break; + } } } @@ -2449,7 +2869,7 @@ void alto2_cpu_device::execute_run() if (m_unload_time < 0) unload_word(); } - + if (m_bitclk_time >= 0) { /** * Subtract the microcycle time from the bitclk time accu. @@ -2479,52 +2899,8 @@ void alto2_cpu_device::hard_reset() for (int task = 0; task < ALTO2_TASKS; task++) { // every task starts at mpc = task number, in either ROM0 or RAM0 m_task_mpc[task] = (m_ctl2k_u38[task] >> 4) ^ 017; - m_active_callback[task] = &alto2_cpu_device::noop; if (0 == (m_reset_mode & (1 << task))) m_task_mpc[task] |= ALTO2_UCODE_RAM_BASE; - - set_bs(task, bs_read_r, &alto2_cpu_device::bs_early_read_r, nullptr); - set_bs(task, bs_load_r, &alto2_cpu_device::bs_early_load_r, &alto2_cpu_device::bs_late_load_r); - set_bs(task, bs_no_source, nullptr, nullptr); - set_bs(task, bs_task_3, &alto2_cpu_device::fn_bs_bad_0, &alto2_cpu_device::fn_bs_bad_1); // task specific - set_bs(task, bs_task_4, &alto2_cpu_device::fn_bs_bad_0, &alto2_cpu_device::fn_bs_bad_1); // task specific - set_bs(task, bs_read_md, &alto2_cpu_device::bs_early_read_md, nullptr); - set_bs(task, bs_mouse, &alto2_cpu_device::bs_early_mouse, nullptr); - set_bs(task, bs_disp, &alto2_cpu_device::bs_early_disp, nullptr); - - set_f1(task, f1_nop, nullptr, nullptr); - set_f1(task, f1_load_mar, nullptr, &alto2_cpu_device::f1_late_load_mar); - set_f1(task, f1_task, &alto2_cpu_device::f1_early_task, nullptr); - set_f1(task, f1_block, &alto2_cpu_device::fn_f1_bad_0, &alto2_cpu_device::fn_f1_bad_1); // not all tasks have the f1_block - set_f1(task, f1_l_lsh_1, nullptr, &alto2_cpu_device::f1_late_l_lsh_1); - set_f1(task, f1_l_rsh_1, nullptr, &alto2_cpu_device::f1_late_l_rsh_1); - set_f1(task, f1_l_lcy_8, nullptr, &alto2_cpu_device::f1_late_l_lcy_8); - set_f1(task, f1_const, nullptr, nullptr); - set_f1(task, f1_task_10, &alto2_cpu_device::fn_f1_bad_0, &alto2_cpu_device::fn_f1_bad_1); // f1_task_10 to f1_task_17 are task specific - set_f1(task, f1_task_11, &alto2_cpu_device::fn_f1_bad_0, &alto2_cpu_device::fn_f1_bad_1); // f1_task_10 to f1_task_17 are task specific - set_f1(task, f1_task_12, &alto2_cpu_device::fn_f1_bad_0, &alto2_cpu_device::fn_f1_bad_1); // f1_task_10 to f1_task_17 are task specific - set_f1(task, f1_task_13, &alto2_cpu_device::fn_f1_bad_0, &alto2_cpu_device::fn_f1_bad_1); // f1_task_10 to f1_task_17 are task specific - set_f1(task, f1_task_14, &alto2_cpu_device::fn_f1_bad_0, &alto2_cpu_device::fn_f1_bad_1); // f1_task_10 to f1_task_17 are task specific - set_f1(task, f1_task_15, &alto2_cpu_device::fn_f1_bad_0, &alto2_cpu_device::fn_f1_bad_1); // f1_task_10 to f1_task_17 are task specific - set_f1(task, f1_task_16, &alto2_cpu_device::fn_f1_bad_0, &alto2_cpu_device::fn_f1_bad_1); // f1_task_10 to f1_task_17 are task specific - set_f1(task, f1_task_17, &alto2_cpu_device::fn_f1_bad_0, &alto2_cpu_device::fn_f1_bad_1); // f1_task_10 to f1_task_17 are task specific - - set_f2(task, f2_nop, nullptr, nullptr); - set_f2(task, f2_bus_eq_zero, nullptr, &alto2_cpu_device::f2_late_bus_eq_zero); - set_f2(task, f2_shifter_lt_zero,nullptr, &alto2_cpu_device::f2_late_shifter_lt_zero); - set_f2(task, f2_shifter_eq_zero,nullptr, &alto2_cpu_device::f2_late_shifter_eq_zero); - set_f2(task, f2_bus, nullptr, &alto2_cpu_device::f2_late_bus); - set_f2(task, f2_alucy, nullptr, &alto2_cpu_device::f2_late_alucy); - set_f2(task, f2_load_md, nullptr, &alto2_cpu_device::f2_late_load_md); - set_f2(task, f2_const, nullptr, nullptr); - set_f2(task, f2_task_10, &alto2_cpu_device::fn_f2_bad_0, &alto2_cpu_device::fn_f2_bad_1); // f2_task_10 to f2_task_17 are task specific - set_f2(task, f2_task_11, &alto2_cpu_device::fn_f2_bad_0, &alto2_cpu_device::fn_f2_bad_1); // f2_task_10 to f2_task_17 are task specific - set_f2(task, f2_task_12, &alto2_cpu_device::fn_f2_bad_0, &alto2_cpu_device::fn_f2_bad_1); // f2_task_10 to f2_task_17 are task specific - set_f2(task, f2_task_13, &alto2_cpu_device::fn_f2_bad_0, &alto2_cpu_device::fn_f2_bad_1); // f2_task_10 to f2_task_17 are task specific - set_f2(task, f2_task_14, &alto2_cpu_device::fn_f2_bad_0, &alto2_cpu_device::fn_f2_bad_1); // f2_task_10 to f2_task_17 are task specific - set_f2(task, f2_task_15, &alto2_cpu_device::fn_f2_bad_0, &alto2_cpu_device::fn_f2_bad_1); // f2_task_10 to f2_task_17 are task specific - set_f2(task, f2_task_16, &alto2_cpu_device::fn_f2_bad_0, &alto2_cpu_device::fn_f2_bad_1); // f2_task_10 to f2_task_17 are task specific - set_f2(task, f2_task_17, &alto2_cpu_device::fn_f2_bad_0, &alto2_cpu_device::fn_f2_bad_1); // f2_task_10 to f2_task_17 are task specific } init_memory(); @@ -2546,6 +2922,8 @@ void alto2_cpu_device::hard_reset() init_kwd(); m_dsp_time = 0; // reset the display state timing + m_unload_time = 0; // reset the word unload timing accu + m_bitclk_time = 0; // reset the bitclk timing accu m_task = task_emu; // start with task 0 (emulator) m_task_wakeup |= 1 << task_emu; // set wakeup flag } diff --git a/src/devices/cpu/alto2/alto2cpu.h b/src/devices/cpu/alto2/alto2cpu.h index 63d1e634aae..823500a56cd 100644 --- a/src/devices/cpu/alto2/alto2cpu.h +++ b/src/devices/cpu/alto2/alto2cpu.h @@ -42,14 +42,17 @@ enum { }; #ifndef ALTO2_DEBUG -#define ALTO2_DEBUG 1 //!< define to 1 to enable logerror() output +//! Define to 1 to enable logerror() output. +#define ALTO2_DEBUG 1 #endif #ifndef ALTO2_CRAM_CONFIG -#define ALTO2_CRAM_CONFIG 2 //!< use default CROM/CRAM configuration 2 +//! Use default CROM/CRAM configuration 2. +#define ALTO2_CRAM_CONFIG 2 #endif -#define USE_PRIO_F9318 0 //!< define to 1 to use the F9318 priority encoder code (broken) +//!< Define to 1 to use the F9318 priority encoder code (broken). +#define USE_PRIO_F9318 0 #define ALTO2_TASKS 16 //!< 16 task slots #define ALTO2_REGS 32 //!< 32 16-bit words in the R register file @@ -61,7 +64,7 @@ enum { #define ALTO2_CONST_SIZE 256 //!< number words in the constant ROM -//! inverted bits in the micro instruction 32 bit word +//! Inverted bits in the micro instruction 32 bit word. #define ALTO2_UCODE_INVERTED ((1 << 10) | (1 << 15) | (1 << 19)) /******************************************************************************** @@ -278,8 +281,6 @@ private: speaker_sound_device* m_speaker; - typedef void (alto2_cpu_device::*a2func)(); - //! task numbers enum { task_emu, //!< emulator task @@ -575,10 +576,9 @@ private: UINT16 m_l; //!< L register UINT16 m_shifter; //!< shifter output UINT16 m_laluc0; //!< the latched ALU carry output - UINT16 m_m; //!< M register of RAM related tasks (MYL latch in the schematics) + UINT16 m_myl; //!< M register of RAM related tasks (MYL latch in the schematics) UINT16 m_cram_addr; //!< constant RAM address UINT16 m_task_wakeup; //!< task wakeup: bit 1<<n set if task n requesting service - a2func m_active_callback[ALTO2_TASKS]; //!< task activation callbacks UINT16 m_reset_mode; //!< reset mode register: bit 1<<n set if task n starts in ROM bool m_rdram_flag; //!< set by rdram, action happens on next cycle @@ -861,27 +861,6 @@ private: //! no operating function to put in the m_bs, m_f1 and m_f2 slots void noop() {} - //! per task bus source function pointers, early (0) and late (1) - a2func m_bs[2][ALTO2_TASKS][ALTO2_BUSSRC]; - void set_bs(UINT8 task, UINT8 fn, a2func f0, a2func f1) { - m_bs[0][task][fn] = f0 ? f0 : &alto2_cpu_device::noop; - m_bs[1][task][fn] = f1 ? f1 : &alto2_cpu_device::noop; - } - - //! per task f1 function pointers, early (0) and late (1) - a2func m_f1[2][ALTO2_TASKS][ALTO2_F1MAX]; - void set_f1(UINT8 task, UINT8 fn, a2func f0, a2func f1) { - m_f1[0][task][fn] = f0 ? f0 : &alto2_cpu_device::noop; - m_f1[1][task][fn] = f1 ? f1 : &alto2_cpu_device::noop; - } - - //! per task f2 function pointers, early (0) and late (1) - a2func m_f2[2][ALTO2_TASKS][ALTO2_F2MAX]; - void set_f2(UINT8 task, UINT8 fn, a2func f0, a2func f1) { - m_f2[0][task][fn] = f0 ? f0 : &alto2_cpu_device::noop; - m_f2[1][task][fn] = f1 ? f1 : &alto2_cpu_device::noop; - } - bool m_ram_related[ALTO2_TASKS]; //!< set when task is RAM related UINT64 m_cycle; //!< number of cycles executed in the current slice @@ -892,14 +871,14 @@ private: void hard_reset(); //!< reset the various registers void soft_reset(); //!< soft reset - void fn_bs_bad_0(); //! bs dummy early function - void fn_bs_bad_1(); //! bs dummy late function + void bs_early_bad(); //! bs dummy early function + void bs_late_bad(); //! bs dummy late function - void fn_f1_bad_0(); //! f1 dummy early function - void fn_f1_bad_1(); //! f1 dummy late function + void f1_early_bad(); //! f1 dummy early function + void f1_late_bad(); //! f1 dummy late function - void fn_f2_bad_0(); //! f2 dummy early function - void fn_f2_bad_1(); //! f2 dummy late function + void f2_early_bad(); //! f2 dummy early function + void f2_late_bad(); //! f2 dummy late function DECLARE_READ16_MEMBER( noop_r ); //!< read open bus (0177777) DECLARE_WRITE16_MEMBER( noop_w ); //!< write open bus @@ -913,18 +892,21 @@ private: void bs_early_read_md(); //!< bus source: drive BUS from read memory data void bs_early_mouse(); //!< bus source: drive bus by mouse void bs_early_disp(); //!< bus source: drive bus by displacement (which?) + void f1_early_block(); //!< F1 func: block active task void f1_late_load_mar(); //!< F1 func: load memory address register void f1_early_task(); //!< F1 func: task switch void f1_late_l_lsh_1(); //!< F1 func: SHIFTER = left shift L once void f1_late_l_rsh_1(); //!< F1 func: SHIFTER = right shift L once void f1_late_l_lcy_8(); //!< F1 func: SHIFTER = byte swap L + void f2_late_bus_eq_zero(); //!< F2 func: branch on bus equals zero void f2_late_shifter_lt_zero(); //!< F2 func: branch on shifter less than zero void f2_late_shifter_eq_zero(); //!< F2 func: branch on shifter equals zero void f2_late_bus(); //!< F2 func: branch on bus bits BUS[6-15] void f2_late_alucy(); //!< F2 func: branch on latched ALU carry void f2_late_load_md(); //!< F2 func: load memory data + UINT32 alu_74181(UINT32 a, UINT32 b, UINT8 smc); void rdram(); //!< read the microcode ROM/RAM halfword diff --git a/src/devices/imagedev/cassette.h b/src/devices/imagedev/cassette.h index 1e6198ddeed..036fc77c534 100644 --- a/src/devices/imagedev/cassette.h +++ b/src/devices/imagedev/cassette.h @@ -12,6 +12,7 @@ #define CASSETTE_H #include "formats/cassimg.h" +#include "softlist_dev.h" enum cassette_state diff --git a/src/devices/imagedev/chd_cd.h b/src/devices/imagedev/chd_cd.h index 02d39071604..9e2ec9f9a29 100644 --- a/src/devices/imagedev/chd_cd.h +++ b/src/devices/imagedev/chd_cd.h @@ -12,6 +12,7 @@ #define CHD_CD_H #include "cdrom.h" +#include "softlist_dev.h" /*************************************************************************** TYPE DEFINITIONS diff --git a/src/devices/imagedev/diablo.h b/src/devices/imagedev/diablo.h index 806a825a1fe..8ab2ac1addc 100644 --- a/src/devices/imagedev/diablo.h +++ b/src/devices/imagedev/diablo.h @@ -8,6 +8,7 @@ #define _IMAGEDEV_DIABLO_H_ #include "harddisk.h" +#include "softlist_dev.h" #define DIABLO_TAG(_id) "diablo"#_id diff --git a/src/devices/imagedev/flopdrv.h b/src/devices/imagedev/flopdrv.h index 9d571c9f390..34e54100364 100644 --- a/src/devices/imagedev/flopdrv.h +++ b/src/devices/imagedev/flopdrv.h @@ -7,6 +7,7 @@ #define __FLOPDRV_H__ #include "formats/flopimg.h" +#include "softlist_dev.h" #define FLOPPY_TYPE_REGULAR 0 #define FLOPPY_TYPE_APPLE 1 diff --git a/src/devices/imagedev/floppy.h b/src/devices/imagedev/floppy.h index ec5e4b983e2..5e93da56c69 100644 --- a/src/devices/imagedev/floppy.h +++ b/src/devices/imagedev/floppy.h @@ -20,6 +20,7 @@ #include "formats/cqm_dsk.h" #include "formats/dsk_dsk.h" #include "sound/samples.h" +#include "softlist_dev.h" #define MCFG_FLOPPY_DRIVE_ADD(_tag, _slot_intf, _def_slot, _formats) \ MCFG_DEVICE_ADD(_tag, FLOPPY_CONNECTOR, 0) \ diff --git a/src/devices/imagedev/harddriv.h b/src/devices/imagedev/harddriv.h index 583a5f53e9f..d2ce6aeaef9 100644 --- a/src/devices/imagedev/harddriv.h +++ b/src/devices/imagedev/harddriv.h @@ -12,6 +12,7 @@ #define HARDDRIV_H #include "harddisk.h" +#include "softlist_dev.h" /*************************************************************************** TYPE DEFINITIONS diff --git a/src/devices/imagedev/snapquik.h b/src/devices/imagedev/snapquik.h index e14b1d6da6a..1c1a9a3b3df 100644 --- a/src/devices/imagedev/snapquik.h +++ b/src/devices/imagedev/snapquik.h @@ -11,6 +11,8 @@ #ifndef __SNAPQUIK_H__ #define __SNAPQUIK_H__ +#include "softlist_dev.h" + typedef delegate<image_init_result (device_image_interface &,const char *, int)> snapquick_load_delegate; // ======================> snapshot_image_device diff --git a/src/devices/machine/smartmed.h b/src/devices/machine/smartmed.h index 0b69fd05886..f1da965c4e9 100644 --- a/src/devices/machine/smartmed.h +++ b/src/devices/machine/smartmed.h @@ -8,6 +8,7 @@ #define __SMARTMEDIA_H__ #include "formats/imageutl.h" +#include "softlist_dev.h" //#define SMARTMEDIA_IMAGE_SAVE diff --git a/src/emu/addrmap.cpp b/src/emu/addrmap.cpp index 2b3f45b1795..a8fe7281d1d 100644 --- a/src/emu/addrmap.cpp +++ b/src/emu/addrmap.cpp @@ -32,8 +32,8 @@ address_map_entry::address_map_entry(device_t &device, address_map &map, offs_t : m_next(nullptr), m_map(map), m_devbase(device), - m_addrstart((map.m_globalmask == 0) ? start : start & map.m_globalmask), - m_addrend((map.m_globalmask == 0) ? end : end & map.m_globalmask), + m_addrstart(start), + m_addrend(end), m_addrmirror(0), m_addrmask(0), m_addrselect(0), @@ -47,6 +47,17 @@ address_map_entry::address_map_entry(device_t &device, address_map &map, offs_t m_bytemirror(0), m_bytemask(0) { + if (map.m_globalmask != 0 && (start & ~map.m_globalmask) != 0) + { + osd_printf_warning("AS_%d map entry start %08X lies outside global address mask %08X\n", map.m_spacenum, start, map.m_globalmask); + m_addrstart &= map.m_globalmask; + } + + if (map.m_globalmask != 0 && (end & ~map.m_globalmask) != 0) + { + osd_printf_warning("AS_%d map entry end %08X lies outside global address mask %08X\n", map.m_spacenum, end, map.m_globalmask); + m_addrend &= map.m_globalmask; + } } diff --git a/src/emu/diimage.cpp b/src/emu/diimage.cpp index 087fefc20e3..9120191c3ae 100644 --- a/src/emu/diimage.cpp +++ b/src/emu/diimage.cpp @@ -15,6 +15,7 @@ #include "ui/uimain.h" #include "zippath.h" #include "softlist.h" +#include "softlist_dev.h" #include "formats/ioprocs.h" #include <regex> @@ -840,9 +841,9 @@ bool device_image_interface::load_software(software_list_device &swlist, const c UINT32 supported = swinfo->supported(); if (supported == SOFTWARE_SUPPORTED_PARTIAL) - osd_printf_error("WARNING: support for software %s (in list %s) is only partial\n", swname, swlist.list_name()); + osd_printf_error("WARNING: support for software %s (in list %s) is only partial\n", swname, swlist.list_name().c_str()); if (supported == SOFTWARE_SUPPORTED_NO) - osd_printf_error("WARNING: support for software %s (in list %s) is only preliminary\n", swname, swlist.list_name()); + osd_printf_error("WARNING: support for software %s (in list %s) is only preliminary\n", swname, swlist.list_name().c_str()); // attempt reading up the chain through the parents and create a locationtag std::string in the format // " swlist % clonename % parentname " @@ -1036,7 +1037,8 @@ image_init_result device_image_interface::load_software(const std::string &softl m_is_loading = true; // Check if there's a software list defined for this device and use that if we're not creating an image - bool softload = load_software_part(softlist_name.c_str(), m_software_part_ptr); + std::string list_name; + bool softload = load_software_part(softlist_name, m_software_part_ptr, &list_name); if (!softload) { m_is_loading = false; @@ -1045,8 +1047,8 @@ image_init_result device_image_interface::load_software(const std::string &softl // set up softlist stuff m_software_info_ptr = &m_software_part_ptr->info(); - m_software_list_name.assign(m_software_info_ptr->list().list_name()); - m_full_software_name.assign(m_software_part_ptr->info().shortname()); + m_software_list_name = std::move(list_name); + m_full_software_name = m_software_part_ptr->info().shortname(); // specify image name with softlist-derived names m_image_name = m_full_software_name; @@ -1270,7 +1272,7 @@ void device_image_interface::update_names(const device_type device_type, const c // case. //------------------------------------------------- -void device_image_interface::software_name_split(const char *swlist_swname, std::string &swlist_name, std::string &swname, std::string &swpart) +void device_image_interface::software_name_split(const std::string &swlist_swname, std::string &swlist_name, std::string &swname, std::string &swpart) { // reset all output parameters swlist_name.clear(); @@ -1278,30 +1280,34 @@ void device_image_interface::software_name_split(const char *swlist_swname, std: swpart.clear(); // if no colon, this is the swname by itself - const char *split1 = strchr(swlist_swname, ':'); - if (split1 == nullptr) + auto split1 = swlist_swname.find_first_of(':'); + if (split1 == std::string::npos) { - swname.assign(swlist_swname); + swname = swlist_swname; return; } // if one colon, it is the swname and swpart alone - const char *split2 = strchr(split1 + 1, ':'); - if (split2 == nullptr) + auto split2 = swlist_swname.find_first_of(':', split1 + 1); + if (split2 == std::string::npos) { - swname.assign(swlist_swname, split1 - swlist_swname); - swpart.assign(split1 + 1); + swname = swlist_swname.substr(0, split1); + swpart = swlist_swname.substr(split1 + 1); return; } // if two colons present, split into 3 parts - swlist_name.assign(swlist_swname, split1 - swlist_swname); - swname.assign(split1 + 1, split2 - (split1 + 1)); - swpart.assign(split2 + 1); + swlist_name = swlist_swname.substr(0, split1); + swname = swlist_swname.substr(split1 + 1, split2 - (split1 + 1)); + swpart = swlist_swname.substr(split2 + 1); } -const software_part *device_image_interface::find_software_item(const char *path, bool restrict_to_interface) const +//------------------------------------------------- +// find_software_item +//------------------------------------------------- + +const software_part *device_image_interface::find_software_item(const std::string &path, bool restrict_to_interface, software_list_device **dev) const { // split full software name into software list name and short software name std::string swlist_name, swinfo_name, swpart_name; @@ -1322,7 +1328,11 @@ const software_part *device_image_interface::find_software_item(const char *path { const software_part *part = info->find_part(swpart_name.c_str(), interface); if (part != nullptr) + { + if (dev != nullptr) + *dev = &swlistdev; return part; + } } } @@ -1337,17 +1347,33 @@ const software_part *device_image_interface::find_software_item(const char *path { const software_part *part = info->find_part(nullptr, interface); if (part != nullptr) + { + if (dev != nullptr) + *dev = &swlistdev; return part; + } } } } // if explicitly specified and not found, just error here + if (dev != nullptr) + *dev = nullptr; return nullptr; } //------------------------------------------------- +// get_software_list_loader +//------------------------------------------------- + +const software_list_loader &device_image_interface::get_software_list_loader() const +{ + return false_software_list_loader::instance(); +} + + +//------------------------------------------------- // load_software_part // // Load a software part for a device. The part to @@ -1360,10 +1386,11 @@ const software_part *device_image_interface::find_software_item(const char *path // sw_info and sw_part are also set. //------------------------------------------------- -bool device_image_interface::load_software_part(const char *path, const software_part *&swpart) +bool device_image_interface::load_software_part(const std::string &path, const software_part *&swpart, std::string *list_name) { // if no match has been found, we suggest similar shortnames - swpart = find_software_item(path, true); + software_list_device *swlist; + swpart = find_software_item(path, true, &swlist); if (swpart == nullptr) { software_list_device::display_matches(device().machine().config(), image_interface(), path); @@ -1375,11 +1402,10 @@ bool device_image_interface::load_software_part(const char *path, const software set_init_phase(); // Load the software part - software_list_device &swlist = swpart->info().list(); const char *swname = swpart->info().shortname().c_str(); - const rom_entry *start_entry = swpart->romdata(); + const rom_entry *start_entry = swpart->romdata().data(); const software_list_loader &loader = get_software_list_loader(); - bool result = loader.load_software(*this, swlist, swname, start_entry); + bool result = loader.load_software(*this, *swlist, swname, start_entry); #ifdef UNUSED_VARIABLE // Tell the world which part we actually loaded @@ -1387,17 +1413,17 @@ bool device_image_interface::load_software_part(const char *path, const software #endif // check compatibility - switch (swpart->is_compatible(swlist)) + switch (swlist->is_compatible(*swpart)) { case SOFTWARE_IS_COMPATIBLE: break; case SOFTWARE_IS_INCOMPATIBLE: - swlist.popmessage("WARNING! the set %s might not work on this system due to incompatible filter(s) '%s'\n", swpart->info().shortname(), swlist.filter()); + swlist->popmessage("WARNING! the set %s might not work on this system due to incompatible filter(s) '%s'\n", swpart->info().shortname(), swlist->filter()); break; case SOFTWARE_NOT_COMPATIBLE: - swlist.popmessage("WARNING! the set %s might not work on this system due to missing filter(s) '%s'\n", swpart->info().shortname(), swlist.filter()); + swlist->popmessage("WARNING! the set %s might not work on this system due to missing filter(s) '%s'\n", swpart->info().shortname(), swlist->filter()); break; } @@ -1408,7 +1434,7 @@ bool device_image_interface::load_software_part(const char *path, const software const software_part *req_swpart = find_software_item(requirement, false); if (req_swpart != nullptr) { - device_image_interface *req_image = req_swpart->find_mountable_image(device().mconfig()); + device_image_interface *req_image = software_list_device::find_mountable_image(device().mconfig(), *req_swpart); if (req_image != nullptr) { req_image->set_init_phase(); @@ -1416,6 +1442,8 @@ bool device_image_interface::load_software_part(const char *path, const software } } } + if (list_name != nullptr) + *list_name = swlist->list_name(); return result; } diff --git a/src/emu/diimage.h b/src/emu/diimage.h index fa30dc71cad..8156050884b 100644 --- a/src/emu/diimage.h +++ b/src/emu/diimage.h @@ -21,8 +21,6 @@ #include <string> #include <vector> -#include "softlist.h" - //************************************************************************** // TYPE DEFINITIONS @@ -31,6 +29,7 @@ extern struct io_procs image_ioprocs; class software_list; +class software_list_loader; enum iodevice_t { @@ -240,7 +239,7 @@ public: bool load_software(software_list_device &swlist, const char *swname, const rom_entry *entry); int reopen_for_write(const std::string &path); - static void software_name_split(const char *swlist_swname, std::string &swlist_name, std::string &swname, std::string &swpart); + static void software_name_split(const std::string &swlist_swname, std::string &swlist_name, std::string &swname, std::string &swpart); static void static_set_user_loadable(device_t &device, bool user_loadable) { device_image_interface *img; if (!device.interface(img)) @@ -252,7 +251,7 @@ public: bool user_loadable() const { return m_user_loadable; } protected: - virtual const software_list_loader &get_software_list_loader() const { return false_software_list_loader::instance(); } + virtual const software_list_loader &get_software_list_loader() const; image_init_result load_internal(const std::string &path, bool is_create, int create_format, util::option_resolution *create_args, bool just_load); void determine_open_plan(int is_create, UINT32 *open_plan); @@ -273,8 +272,8 @@ protected: void image_checkhash(); void update_names(const device_type device_type = nullptr, const char *inst = nullptr, const char *brief = nullptr); - const software_part *find_software_item(const char *path, bool restrict_to_interface) const; - bool load_software_part(const char *path, const software_part *&swpart); + const software_part *find_software_item(const std::string &path, bool restrict_to_interface, software_list_device **device = nullptr) const; + bool load_software_part(const std::string &path, const software_part *&swpart, std::string *list_name = nullptr); std::string software_get_default_slot(const char *default_card_slot) const; void add_format(std::unique_ptr<image_device_format> &&format); diff --git a/src/emu/drivenum.cpp b/src/emu/drivenum.cpp index 1d2f6d79f06..450790eb55a 100644 --- a/src/emu/drivenum.cpp +++ b/src/emu/drivenum.cpp @@ -2,7 +2,7 @@ // copyright-holders:Aaron Giles /*************************************************************************** - drivenum.c + drivenum.cpp Driver enumeration helpers. @@ -10,7 +10,7 @@ #include "emu.h" #include "drivenum.h" -#include "softlist.h" +#include "softlist_dev.h" #include <ctype.h> diff --git a/src/emu/inpttype.h b/src/emu/inpttype.h index 605abe0b024..d8258c02605 100644 --- a/src/emu/inpttype.h +++ b/src/emu/inpttype.h @@ -555,6 +555,7 @@ inline void construct_core_types_other(simple_list<input_type_entry> &typelist) INPUT_PORT_DIGITAL_TYPE( 0, OTHER, SERVICE, "Service", input_seq(KEYCODE_F2) ) INPUT_PORT_DIGITAL_TYPE( 0, OTHER, TILT, "Tilt", input_seq(KEYCODE_T) ) INPUT_PORT_DIGITAL_TYPE( 0, OTHER, INTERLOCK, "Door Interlock", input_seq() ) + INPUT_PORT_DIGITAL_TYPE( 0, OTHER, MEMORY_RESET, "Memory Reset", input_seq(KEYCODE_F1) ) INPUT_PORT_DIGITAL_TYPE( 0, OTHER, VOLUME_DOWN, "Volume Down", input_seq(KEYCODE_MINUS) ) INPUT_PORT_DIGITAL_TYPE( 0, OTHER, VOLUME_UP, "Volume Up", input_seq(KEYCODE_EQUALS) ) } diff --git a/src/emu/ioport.h b/src/emu/ioport.h index 5aba15c94dc..71368f37507 100644 --- a/src/emu/ioport.h +++ b/src/emu/ioport.h @@ -143,6 +143,7 @@ enum ioport_type IPT_SERVICE, IPT_TILT, IPT_INTERLOCK, + IPT_MEMORY_RESET, IPT_VOLUME_UP, IPT_VOLUME_DOWN, IPT_START, // use the numbered start button(s) for coin-ops diff --git a/src/emu/romload.cpp b/src/emu/romload.cpp index 2bb4d984602..7a983118e8a 100644 --- a/src/emu/romload.cpp +++ b/src/emu/romload.cpp @@ -2,7 +2,7 @@ // copyright-holders:Nicola Salmoria,Paul Priest,Aaron Giles /********************************************************************* - romload.c + romload.cpp ROM loading functions. *********************************************************************/ @@ -10,7 +10,7 @@ #include "emu.h" #include "emuopts.h" #include "drivenum.h" -#include "softlist.h" +#include "softlist_dev.h" #include "ui/uimain.h" diff --git a/src/emu/softlist.cpp b/src/emu/softlist.cpp index 2d6793db3af..67178a1b4bb 100644 --- a/src/emu/softlist.cpp +++ b/src/emu/softlist.cpp @@ -2,137 +2,16 @@ // copyright-holders:Wilbert Pol /*************************************************************************** - softlist.c + softlist.cpp Software list construction helpers. ***************************************************************************/ -#include "emu.h" -#include "emuopts.h" #include "softlist.h" -#include "validity.h" +#include "hash.h" #include "expat.h" -#include <ctype.h> - - -//************************************************************************** -// TYPE DEFINITIONS -//************************************************************************** - -typedef std::unordered_map<std::string,const software_info *> softlist_map; - - -// ======================> softlist_parser - -class softlist_parser -{ -public: - // construction (== execution) - softlist_parser(software_list_device &list, std::ostringstream &errors); - -private: - enum parse_position - { - POS_ROOT, - POS_MAIN, - POS_SOFT, - POS_PART, - POS_DATA - }; - - // internal parsing helpers - const char *filename() const { return m_list.filename(); } - const char *infoname() const { return (m_current_info != nullptr) ? m_current_info->shortname().c_str() : "???"; } - int line() const { return XML_GetCurrentLineNumber(m_parser); } - int column() const { return XML_GetCurrentColumnNumber(m_parser); } - const char *parser_error() const { return XML_ErrorString(XML_GetErrorCode(m_parser)); } - - // internal error helpers - template <typename Format, typename... Params> void parse_error(Format &&fmt, Params &&... args); - void unknown_tag(const char *tagname) { parse_error("Unknown tag: %s", tagname); } - void unknown_attribute(const char *attrname) { parse_error("Unknown attribute: %s", attrname); } - - // internal helpers - template <typename T> std::vector<std::string> parse_attributes(const char **attributes, const T &attrlist); - bool parse_name_and_value(const char **attributes, std::string &name, std::string &value); - void add_rom_entry(std::string &&name, std::string &&hashdata, UINT32 offset, UINT32 length, UINT32 flags); - - // expat callbacks - static void start_handler(void *data, const char *tagname, const char **attributes); - static void data_handler(void *data, const XML_Char *s, int len); - static void end_handler(void *data, const char *name); - - // internal parsing - void parse_root_start(const char *tagname, const char **attributes); - void parse_main_start(const char *tagname, const char **attributes); - void parse_soft_start(const char *tagname, const char **attributes); - void parse_part_start(const char *tagname, const char **attributes); - void parse_data_start(const char *tagname, const char **attributes); - void parse_soft_end(const char *name); - - // internal parsing state - software_list_device & m_list; - std::ostringstream & m_errors; - XML_Parser m_parser; - bool m_done; - bool m_data_accum_expected; - std::string m_data_accum; - software_info * m_current_info; - software_part * m_current_part; - parse_position m_pos; -}; - - - -//************************************************************************** -// GLOBAL VARIABLES -//************************************************************************** - -// device type definition -const device_type SOFTWARE_LIST = &device_creator<software_list_device>; -false_software_list_loader false_software_list_loader::s_instance; -rom_software_list_loader rom_software_list_loader::s_instance; -image_software_list_loader image_software_list_loader::s_instance; - - - -//************************************************************************** -// SOFTWARE LIST LOADER -//************************************************************************** - -//------------------------------------------------- -// false_software_list_loader::load_software -//------------------------------------------------- - -bool false_software_list_loader::load_software(device_image_interface &device, software_list_device &swlist, const char *swname, const rom_entry *start_entry) const -{ - return false; -} - - -//------------------------------------------------- -// rom_software_list_loader::load_software -//------------------------------------------------- - -bool rom_software_list_loader::load_software(device_image_interface &device, software_list_device &swlist, const char *swname, const rom_entry *start_entry) const -{ - swlist.machine().rom_load().load_software_part_region(device, swlist, swname, start_entry); - return true; -} - - -//------------------------------------------------- -// image_software_list_loader::load_software -//------------------------------------------------- - -bool image_software_list_loader::load_software(device_image_interface &device, software_list_device &swlist, const char *swname, const rom_entry *start_entry) const -{ - return device.load_software(swlist, swname, start_entry); -} - - //************************************************************************** // FEATURE LIST ITEM //************************************************************************** @@ -195,56 +74,6 @@ const char *software_part::feature(const std::string &feature_name) const //------------------------------------------------- -// is_compatible - determine if we are compatible -// with the given software_list_device -//------------------------------------------------- - -software_compatibility software_part::is_compatible(const software_list_device &swlistdev) const -{ - // get the softlist filter; if null, assume compatible - const char *filter = swlistdev.filter(); - if (filter == nullptr) - return SOFTWARE_IS_COMPATIBLE; - - // copy the comma-delimited string and ensure it ends with a final comma - std::string filt = std::string(filter).append(","); - - // get the incompatibility filter and test against it first if it exists - const char *incompatibility = feature("incompatibility"); - if (incompatibility != nullptr) - { - // copy the comma-delimited string and ensure it ends with a final comma - std::string incomp = std::string(incompatibility).append(","); - - // iterate over filter items and see if they exist in the list; if so, it's incompatible - for (int start = 0, end = filt.find_first_of(',',start); end != -1; start = end + 1, end = filt.find_first_of(',', start)) - { - std::string token(filt, start, end - start + 1); - if (incomp.find(token) != -1) - return SOFTWARE_IS_INCOMPATIBLE; - } - } - - // get the compatibility feature; if null, assume compatible - const char *compatibility = feature("compatibility"); - if (compatibility == nullptr) - return SOFTWARE_IS_COMPATIBLE; - - // copy the comma-delimited string and ensure it ends with a final comma - std::string comp = std::string(compatibility).append(","); - - // iterate over filter items and see if they exist in the compatibility list; if so, it's compatible - for (int start = 0, end = filt.find_first_of(',',start); end != -1; start = end + 1, end = filt.find_first_of(',', start)) - { - std::string token(filt, start, end - start + 1); - if (comp.find(token) != -1) - return SOFTWARE_IS_COMPATIBLE; - } - return SOFTWARE_NOT_COMPATIBLE; -} - - -//------------------------------------------------- // matches_interface - determine if we match // an interface in the provided list //------------------------------------------------- @@ -264,35 +93,6 @@ bool software_part::matches_interface(const char *interface_list) const } -//------------------------------------------------- -// find_mountable_image - find an image interface -// that can automatically mount this software part -//------------------------------------------------- - -device_image_interface *software_part::find_mountable_image(const machine_config &mconfig) const -{ - // if automount="no", don't bother - const char *mount = feature("automount"); - if (mount != nullptr && strcmp(mount, "no") == 0) - return nullptr; - - for (device_image_interface &image : image_interface_iterator(mconfig.root_device())) - { - const char *interface = image.image_interface(); - if (interface != nullptr && matches_interface(interface)) - { - // mount only if not already mounted - const char *option = mconfig.options().value(image.brief_instance_name()); - if (*option == '\0' && !image.filename()) - - return ℑ - } - } - return nullptr; -} - - - //************************************************************************** // SOFTWARE INFO //************************************************************************** @@ -301,9 +101,8 @@ device_image_interface *software_part::find_mountable_image(const machine_config // software_info - constructor //------------------------------------------------- -software_info::software_info(software_list_device &list, std::string &&name, std::string &&parent, const char *supported) +software_info::software_info(std::string &&name, std::string &&parent, const char *supported) : m_next(nullptr), - m_list(list), m_supported(SOFTWARE_SUPPORTED_YES), m_shortname(std::move(name)), m_parentname(std::move(parent)) @@ -365,383 +164,6 @@ bool software_info::has_multiple_parts(const char *interface) const } - -//************************************************************************** -// SOFTWARE LIST DEVICE -//************************************************************************** - -//------------------------------------------------- -// software_list_device - constructor -//------------------------------------------------- - -software_list_device::software_list_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) - : device_t(mconfig, SOFTWARE_LIST, "Software list", tag, owner, clock, "software_list", __FILE__), - m_list_type(SOFTWARE_LIST_ORIGINAL_SYSTEM), - m_filter(nullptr), - m_parsed(false), - m_file(mconfig.options().hash_path(), OPEN_FLAG_READ), - m_description("") -{ -} - - -//------------------------------------------------- -// static_set_type - configuration helper -// to set the list type -//------------------------------------------------- - -void software_list_device::static_set_type(device_t &device, const char *list, softlist_type list_type) -{ - software_list_device &swlistdev = downcast<software_list_device &>(device); - swlistdev.m_list_name.assign(list); - swlistdev.m_list_type = list_type; -} - - -//------------------------------------------------- -// static_set_custom_handler - configuration -// helper to set a custom callback -//------------------------------------------------- - -void software_list_device::static_set_filter(device_t &device, const char *filter) -{ - downcast<software_list_device &>(device).m_filter = filter; -} - - -//------------------------------------------------- -// device_start - device-specific startup -//------------------------------------------------- - -void software_list_device::device_start() -{ -} - - -//------------------------------------------------- -// find_approx_matches - search ourselves for -// a list of possible matches of the given name -// and optional interface -//------------------------------------------------- - -void software_list_device::find_approx_matches(const char *name, int matches, const software_info **list, const char *interface) -{ - // if no name, return - if (name == nullptr || name[0] == 0) - return; - - // initialize everyone's states - std::vector<int> penalty(matches); - for (int matchnum = 0; matchnum < matches; matchnum++) - { - penalty[matchnum] = 9999; - list[matchnum] = nullptr; - } - - // iterate over our info (will cause a parse if needed) - for (const software_info &swinfo : get_info()) - { - const software_part &part = swinfo.parts().front(); - if ((interface == nullptr || part.matches_interface(interface)) && part.is_compatible(*this) == SOFTWARE_IS_COMPATIBLE) - { - // pick the best match between driver name and description - int longpenalty = driver_list::penalty_compare(name, swinfo.longname().c_str()); - int shortpenalty = driver_list::penalty_compare(name, swinfo.shortname().c_str()); - int curpenalty = std::min(longpenalty, shortpenalty); - - // insert into the sorted table of matches - for (int matchnum = matches - 1; matchnum >= 0; matchnum--) - { - // stop if we're worse than the current entry - if (curpenalty >= penalty[matchnum]) - break; - - // as long as this isn't the last entry, bump this one down - if (matchnum < matches - 1) - { - penalty[matchnum + 1] = penalty[matchnum]; - list[matchnum + 1] = list[matchnum]; - } - list[matchnum] = &swinfo; - penalty[matchnum] = curpenalty; - } - } - } -} - - -//------------------------------------------------- -// release - reset to a pre-parsed state -//------------------------------------------------- - -void software_list_device::release() -{ - osd_printf_verbose("Resetting %s\n", m_file.filename()); - m_parsed = false; - m_description.clear(); - m_errors.clear(); - m_infolist.clear(); -} - - -//------------------------------------------------- -// find_by_name - find a software list by name -// across all software list devices -//------------------------------------------------- - -software_list_device *software_list_device::find_by_name(const machine_config &config, const char *name) -{ - // iterate over each device in the system and find a match - for (software_list_device &swlistdev : software_list_device_iterator(config.root_device())) - if (strcmp(swlistdev.list_name(), name) == 0) - return &swlistdev; - return nullptr; -} - - -//------------------------------------------------- -// software_display_matches - display a list of -// possible matches in the system to the given -// name, across all software list devices -//------------------------------------------------- - -void software_list_device::display_matches(const machine_config &config, const char *interface, const char *name) -{ - // check if there is at least one software list - software_list_device_iterator deviter(config.root_device()); - if (deviter.first() != nullptr) - osd_printf_error("\n\"%s\" approximately matches the following\n" - "supported software items (best match first):\n\n", name); - - // iterate through lists - for (software_list_device &swlistdev : deviter) - { - // get the top 16 approximate matches for the selected device interface (i.e. only carts for cartslot, etc.) - const software_info *matches[16] = { nullptr }; - swlistdev.find_approx_matches(name, ARRAY_LENGTH(matches), matches, interface); - - // if we found some, print them - if (matches[0] != nullptr) - { - // different output depending on original system or compatible - if (swlistdev.list_type() == SOFTWARE_LIST_ORIGINAL_SYSTEM) - osd_printf_error("* Software list \"%s\" (%s) matches: \n", swlistdev.list_name(), swlistdev.description()); - else - osd_printf_error("* Compatible software list \"%s\" (%s) matches: \n", swlistdev.list_name(), swlistdev.description()); - - // print them out - for (auto &match : matches) - { - if (match != nullptr) - osd_printf_error("%-18s%s\n", match->shortname().c_str(), match->longname().c_str()); - } - - osd_printf_error("\n"); - } - } -} - - -//------------------------------------------------- -// find - find an item by name in the software -// list, using wildcards and optionally starting -// from an intermediate point -//------------------------------------------------- - -const software_info *software_list_device::find(const char *look_for) -{ - // nullptr search returns nothing - if (look_for == nullptr) - return nullptr; - - bool iswild = strchr(look_for, '*') != nullptr || strchr(look_for, '?'); - - // find a match (will cause a parse if needed when calling get_info) - const auto &info_list = get_info(); - auto iter = std::find_if( - info_list.begin(), - info_list.end(), - [&](const software_info &info) - { - const char *shortname = info.shortname().c_str(); - return (iswild && core_strwildcmp(look_for, shortname) == 0) - || core_stricmp(look_for, shortname) == 0; - }); - - return iter != info_list.end() - ? &*iter - : nullptr; -} - - -//------------------------------------------------- -// parse - parse our softlist file -//------------------------------------------------- - -void software_list_device::parse() -{ - // skip if done - if (m_parsed) - return; - - // reset the errors - m_errors.clear(); - - // attempt to open the file - osd_file::error filerr = m_file.open(m_list_name.c_str(), ".xml"); - if (filerr == osd_file::error::NONE) - { - // parse if no error - std::ostringstream errs; - softlist_parser parser(*this, errs); - m_file.close(); - m_errors = errs.str(); - } - else - m_errors = string_format("Error opening file: %s\n", filename()); - - // indicate that we've been parsed - m_parsed = true; -} - - -//------------------------------------------------- -// device_validity_check - validate the device -// configuration -//------------------------------------------------- - -void software_list_device::device_validity_check(validity_checker &valid) const -{ - // add to the global map whenever we check a list so we don't re-check - // it in the future - if (valid.already_checked(std::string("softlist/").append(m_list_name).c_str())) - return; - - // do device validation only in case of validate command - if (!valid.validate_all()) - return; - - // actually do the validate - const_cast<software_list_device *>(this)->internal_validity_check(valid); -} - - -//------------------------------------------------- -// internal_validity_check - internal helper to -// check the list -//------------------------------------------------- - -void software_list_device::internal_validity_check(validity_checker &valid) -{ - enum { NAME_LEN_PARENT = 8, NAME_LEN_CLONE = 16 }; - - softlist_map names; - softlist_map descriptions; - for (const software_info &swinfo : get_info()) - { - // first parse and output core errors if any - if (m_errors.length() > 0) - { - osd_printf_error("%s: Errors parsing software list:\n%s", filename(), errors_string()); - break; - } - - // Now check if the xml data is valid: - - // Did we lost any description? - if (swinfo.longname().empty()) - { - osd_printf_error("%s: %s has no description\n", filename(), swinfo.shortname().c_str()); - break; - } - - // Did we lost any year? - if (swinfo.year().empty()) - { - osd_printf_error("%s: %s has no year\n", filename(), swinfo.shortname().c_str()); - break; - } - - // Did we lost any publisher? - if (swinfo.publisher().empty()) - { - osd_printf_error("%s: %s has no publisher\n", filename(), swinfo.shortname().c_str()); - break; - } - - // Did we lost the software parts? - if (swinfo.parts().empty()) - { - osd_printf_error("%s: %s has no part\n", filename(), swinfo.shortname().c_str()); - break; - } - - // Second, since the xml is fine, run additional checks: - - // check for duplicate names - if (!names.insert(std::make_pair(swinfo.shortname(), &swinfo)).second) - { - const software_info *match = names.find(swinfo.shortname())->second; - osd_printf_error("%s: %s is a duplicate name (%s)\n", filename(), swinfo.shortname().c_str(), match->shortname().c_str()); - } - - // check for duplicate descriptions - std::string longname = std::string(swinfo.longname()); - if (!descriptions.insert(std::make_pair(strmakelower(longname), &swinfo)).second) - osd_printf_error("%s: %s is a duplicate description (%s)\n", filename(), swinfo.longname().c_str(), swinfo.shortname().c_str()); - - bool is_clone = false; - if (!swinfo.parentname().empty()) - { - is_clone = true; - if (swinfo.parentname() == swinfo.shortname()) - { - osd_printf_error("%s: %s is set as a clone of itself\n", filename(), swinfo.shortname().c_str()); - break; - } - - // make sure the parent exists - const software_info *swinfo2 = find(swinfo.parentname().c_str()); - - if (swinfo2 == nullptr) - osd_printf_error("%s: parent '%s' software for '%s' not found\n", filename(), swinfo.parentname().c_str(), swinfo.shortname().c_str()); - else if (!swinfo2->parentname().empty()) - osd_printf_error("%s: %s is a clone of a clone\n", filename(), swinfo.shortname().c_str()); - } - - // make sure the driver name is 8 chars or less - if ((is_clone && swinfo.shortname().length() > NAME_LEN_CLONE) || (!is_clone && swinfo.shortname().length() > NAME_LEN_PARENT)) - osd_printf_error("%s: %s %s driver name must be %d characters or less\n", filename(), swinfo.shortname().c_str(), - is_clone ? "clone" : "parent", is_clone ? NAME_LEN_CLONE : NAME_LEN_PARENT); - - // make sure the year is only digits, '?' or '+' - for (const char *s = swinfo.year().c_str(); *s != 0; s++) - if (!isdigit((UINT8)*s) && *s != '?' && *s != '+') - { - osd_printf_error("%s: %s has an invalid year '%s'\n", filename(), swinfo.shortname().c_str(), swinfo.year().c_str()); - break; - } - - softlist_map part_names; - for (const software_part &part : swinfo.parts()) - { - if (part.interface().empty()) - osd_printf_error("%s: %s has a part (%s) without interface\n", filename(), swinfo.shortname().c_str(), part.name().c_str()); - - if (part.romdata() == nullptr) - osd_printf_error("%s: %s has a part (%s) with no data\n", filename(), swinfo.shortname().c_str(), part.name().c_str()); - - if (!part_names.insert(std::make_pair(part.name(), &swinfo)).second) - osd_printf_error("%s: %s has a part (%s) whose name is duplicate\n", filename(), swinfo.shortname().c_str(), part.name().c_str()); - } - } - - // release all the memory - release(); -} - - - //************************************************************************** // SOFTWARE LIST PARSER //************************************************************************** @@ -750,8 +172,10 @@ void software_list_device::internal_validity_check(validity_checker &valid) // softlist_parser - constructor //------------------------------------------------- -softlist_parser::softlist_parser(software_list_device &list, std::ostringstream &errors) - : m_list(list), +softlist_parser::softlist_parser(util::core_file &file, const std::string &filename, std::list<software_info> &infolist, std::ostringstream &errors) + : m_file(file), + m_filename(filename), + m_infolist(infolist), m_errors(errors), m_done(false), m_data_accum_expected(false), @@ -759,8 +183,6 @@ softlist_parser::softlist_parser(software_list_device &list, std::ostringstream m_current_part(nullptr), m_pos(POS_ROOT) { - osd_printf_verbose("Parsing %s\n", m_list.m_file.filename()); - // create the parser m_parser = XML_ParserCreate_MM(nullptr, nullptr, nullptr); if (m_parser == nullptr) @@ -772,12 +194,12 @@ softlist_parser::softlist_parser(software_list_device &list, std::ostringstream XML_SetCharacterDataHandler(m_parser, &softlist_parser::data_handler); // parse the file contents - m_list.m_file.seek(0, SEEK_SET); + m_file.seek(0, SEEK_SET); char buffer[1024]; while (!m_done) { - UINT32 length = m_list.m_file.read(buffer, sizeof(buffer)); - m_done = m_list.m_file.eof(); + UINT32 length = m_file.read(buffer, sizeof(buffer)); + m_done = m_file.eof(); if (XML_Parse(m_parser, buffer, length, m_done) == XML_STATUS_ERROR) { parse_error("%s", parser_error()); @@ -787,9 +209,39 @@ softlist_parser::softlist_parser(software_list_device &list, std::ostringstream // free the parser XML_ParserFree(m_parser); - osd_printf_verbose("Parsing complete\n"); } + +//------------------------------------------------- +// line +//------------------------------------------------- + +int softlist_parser::line() const +{ + return XML_GetCurrentLineNumber(m_parser); +} + + +//------------------------------------------------- +// column +//------------------------------------------------- + +int softlist_parser::column() const +{ + return XML_GetCurrentColumnNumber(m_parser); +} + + +//------------------------------------------------- +// parser_error +//------------------------------------------------- + +const char *softlist_parser::parser_error() const +{ + return XML_ErrorString(XML_GetErrorCode(m_parser)); +} + + //------------------------------------------------- // parse_error - append a parsing error with // filename, line and column information @@ -799,7 +251,7 @@ template <typename Format, typename... Params> inline void softlist_parser::parse_error(Format &&fmt, Params &&... args) { // always start with filename(line.column): - util::stream_format(m_errors, "%s(%d.%d): ", filename(), line(), column()); + util::stream_format(m_errors, "%s(%d.%d): ", m_filename, line(), column()); // append the remainder of the string util::stream_format(m_errors, std::forward<Format>(fmt), std::forward<Params>(args)...); @@ -894,17 +346,13 @@ void softlist_parser::add_rom_entry(std::string &&name, std::string &&hashdata, // make sure we don't add duplicate regions if (!name.empty() && (flags & ROMENTRY_TYPEMASK) == ROMENTRYTYPE_REGION) + { for (auto &elem : m_current_part->m_romdata) - if (!elem.name().empty() && elem.name() == name) + if (elem.name() == name) parse_error("Duplicated dataarea %s in software %s", name, infoname()); + } - // create the new entry and append it - m_current_part->m_romdata.emplace_back( - std::move(name), - std::move(hashdata), - offset, - length, - flags); + m_current_part->m_romdata.emplace_back(std::move(name), std::move(hashdata), offset, length, flags); } @@ -986,7 +434,7 @@ void softlist_parser::end_handler(void *data, const char *name) // data_handler - expat data handler //------------------------------------------------- -void softlist_parser::data_handler(void *data, const XML_Char *s, int len) +void softlist_parser::data_handler(void *data, const char *s, int len) { softlist_parser *state = reinterpret_cast<softlist_parser *>(data); @@ -1018,7 +466,7 @@ void softlist_parser::parse_root_start(const char *tagname, const char **attribu const auto attrvalues = parse_attributes(attributes, attrnames); if (!attrvalues[1].empty()) - m_list.m_description = attrvalues[1]; + m_description = attrvalues[1]; } else unknown_tag(tagname); @@ -1040,8 +488,8 @@ void softlist_parser::parse_main_start(const char *tagname, const char **attribu if (!attrvalues[0].empty()) { - m_list.m_infolist.emplace_back(m_list, std::move(attrvalues[0]), std::move(attrvalues[1]), attrvalues[2].c_str()); - m_current_info = &m_list.m_infolist.back(); + m_infolist.emplace_back(std::move(attrvalues[0]), std::move(attrvalues[1]), attrvalues[2].c_str()); + m_current_info = &m_infolist.back(); } else parse_error("No name defined for item"); @@ -1354,7 +802,7 @@ void softlist_parser::parse_soft_end(const char *tagname) return; // was any dataarea/rom information encountered? if so, add a terminator - if (m_current_part->romdata() != nullptr) + if (!m_current_part->m_romdata.empty()) add_rom_entry("", "", 0, 0, ROMENTRYTYPE_END); // get the info; if present, copy shared data (we assume name/value strings live @@ -1364,3 +812,4 @@ void softlist_parser::parse_soft_end(const char *tagname) m_current_part->m_featurelist.emplace_back(item.name(), item.value()); } } + diff --git a/src/emu/softlist.h b/src/emu/softlist.h index 9b6cfd829bf..19ebc73e973 100644 --- a/src/emu/softlist.h +++ b/src/emu/softlist.h @@ -4,15 +4,16 @@ softlist.h - Software and software list information. + Software list file format. *********************************************************************/ #ifndef __SOFTLIST_H_ #define __SOFTLIST_H_ -#include "cstrpool.h" - +#include <list> +#include "romentry.h" +#include "corefile.h" //************************************************************************** @@ -23,108 +24,13 @@ #define SOFTWARE_SUPPORTED_PARTIAL 1 #define SOFTWARE_SUPPORTED_NO 2 -enum softlist_type -{ - SOFTWARE_LIST_ORIGINAL_SYSTEM, - SOFTWARE_LIST_COMPATIBLE_SYSTEM -}; - -enum software_compatibility -{ - SOFTWARE_IS_COMPATIBLE, - SOFTWARE_IS_INCOMPATIBLE, - SOFTWARE_NOT_COMPATIBLE -}; - - -//************************************************************************** -// MACROS -//************************************************************************** - -#define MCFG_SOFTWARE_LIST_CONFIG(_list,_list_type) \ - software_list_device::static_set_type(*device, _list, _list_type); - -#define MCFG_SOFTWARE_LIST_ADD( _tag, _list ) \ - MCFG_DEVICE_ADD( _tag, SOFTWARE_LIST, 0 ) \ - MCFG_SOFTWARE_LIST_CONFIG(_list, SOFTWARE_LIST_ORIGINAL_SYSTEM) - -#define MCFG_SOFTWARE_LIST_COMPATIBLE_ADD( _tag, _list ) \ - MCFG_DEVICE_ADD( _tag, SOFTWARE_LIST, 0 ) \ - MCFG_SOFTWARE_LIST_CONFIG(_list, SOFTWARE_LIST_COMPATIBLE_SYSTEM) - -#define MCFG_SOFTWARE_LIST_MODIFY( _tag, _list ) \ - MCFG_DEVICE_MODIFY( _tag ) \ - MCFG_SOFTWARE_LIST_CONFIG(_list, SOFTWARE_LIST_ORIGINAL_SYSTEM) - -#define MCFG_SOFTWARE_LIST_COMPATIBLE_MODIFY( _tag, _list ) \ - MCFG_DEVICE_MODIFY( _tag ) \ - MCFG_SOFTWARE_LIST_CONFIG(_list, SOFTWARE_LIST_COMPATIBLE_SYSTEM) - -#define MCFG_SOFTWARE_LIST_FILTER( _tag, _filter ) \ - MCFG_DEVICE_MODIFY( _tag ) \ - software_list_device::static_set_filter(*device, _filter); - -#define MCFG_SOFTWARE_LIST_REMOVE( _tag ) \ - MCFG_DEVICE_REMOVE( _tag ) - - //************************************************************************** // TYPE DEFINITIONS //************************************************************************** -class rom_entry; +struct XML_ParserStruct; class software_info; -class device_image_interface; -class software_list_device; - -// ======================> software_list_loader - -class software_list_loader -{ -public: - virtual bool load_software(device_image_interface &device, software_list_device &swlist, const char *swname, const rom_entry *start_entry) const = 0; -}; - - -// ======================> false_software_list_loader - -class false_software_list_loader : public software_list_loader -{ -public: - virtual bool load_software(device_image_interface &device, software_list_device &swlist, const char *swname, const rom_entry *start_entry) const override; - static const software_list_loader &instance() { return s_instance; } - -private: - static false_software_list_loader s_instance; -}; - - -// ======================> rom_software_list_loader - -class rom_software_list_loader : public software_list_loader -{ -public: - virtual bool load_software(device_image_interface &device, software_list_device &swlist, const char *swname, const rom_entry *start_entry) const override; - static const software_list_loader &instance() { return s_instance; } - -private: - static rom_software_list_loader s_instance; -}; - - -// ======================> image_software_list_loader - -class image_software_list_loader : public software_list_loader -{ -public: - virtual bool load_software(device_image_interface &device, software_list_device &swlist, const char *swname, const rom_entry *start_entry) const override; - static const software_list_loader &instance() { return s_instance; } - -private: - static image_software_list_loader s_instance; -}; - // ======================> feature_list_item @@ -174,13 +80,11 @@ public: const std::string &name() const { return m_name; } const std::string &interface() const { return m_interface; } const std::list<feature_list_item> &featurelist() const { return m_featurelist; } - const rom_entry *romdata(unsigned int index = 0) const { return (index < m_romdata.size()) ? &m_romdata[index] : nullptr; } + const std::vector<rom_entry> &romdata() const { return m_romdata; } // helpers - software_compatibility is_compatible(const software_list_device &swlist) const; bool matches_interface(const char *interface) const; const char *feature(const std::string &feature_name) const; - device_image_interface *find_mountable_image(const machine_config &mconfig) const; private: // internal state @@ -202,7 +106,7 @@ class software_info public: // construction/destruction - software_info(software_list_device &list, std::string &&name, std::string &&parent, const char *supported); + software_info(std::string &&name, std::string &&parent, const char *supported); software_info(software_info const &) = delete; software_info(software_info &&) = delete; software_info& operator=(software_info const &) = delete; @@ -210,7 +114,6 @@ public: // getters software_info *next() const { return m_next; } - software_list_device &list() const { return m_list; } const std::string &shortname() const { return m_shortname; } const std::string &longname() const { return m_longname; } const std::string &parentname() const { return m_parentname; } @@ -228,7 +131,6 @@ public: private: // internal state software_info * m_next; - software_list_device & m_list; UINT32 m_supported; std::string m_shortname; std::string m_longname; @@ -242,74 +144,68 @@ private: }; -// ======================> software_list_device +// ======================> softlist_parser -// device representing a software list -class software_list_device : public device_t +class softlist_parser { - friend class softlist_parser; - public: - // construction/destruction - software_list_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + // construction (== execution) + softlist_parser(util::core_file &file, const std::string &filename, std::list<software_info> &infolist, std::ostringstream &errors); - // inline configuration helpers - static void static_set_type(device_t &device, const char *list, softlist_type list_type); - static void static_set_filter(device_t &device, const char *filter); +private: + enum parse_position + { + POS_ROOT, + POS_MAIN, + POS_SOFT, + POS_PART, + POS_DATA + }; + + // internal parsing helpers + const char *infoname() const { return (m_current_info != nullptr) ? m_current_info->shortname().c_str() : "???"; } + int line() const; + int column() const; + const char *parser_error() const; + + // internal error helpers + template <typename Format, typename... Params> void parse_error(Format &&fmt, Params &&... args); + void unknown_tag(const char *tagname) { parse_error("Unknown tag: %s", tagname); } + void unknown_attribute(const char *attrname) { parse_error("Unknown attribute: %s", attrname); } - // getters - const char *list_name() const { return m_list_name.c_str(); } - softlist_type list_type() const { return m_list_type; } - const char *filter() const { return m_filter; } - const char *filename() { return m_file.filename(); } - - // getters that may trigger a parse - const char *description() { if (!m_parsed) parse(); return m_description.c_str(); } - bool valid() { if (!m_parsed) parse(); return !m_infolist.empty(); } - const char *errors_string() { if (!m_parsed) parse(); return m_errors.c_str(); } - const std::list<software_info> &get_info() { if (!m_parsed) parse(); return m_infolist; } - - // operations - const software_info *find(const char *look_for); - void find_approx_matches(const char *name, int matches, const software_info **list, const char *interface); - void release(); - - // string pool helpers - const char *add_string(const char *string) { return m_stringpool.add(string); } - - // static helpers - static software_list_device *find_by_name(const machine_config &mconfig, const char *name); - static void display_matches(const machine_config &config, const char *interface, const char *name); - -protected: // internal helpers - void parse(); - void internal_validity_check(validity_checker &valid) ATTR_COLD; - - // device-level overrides - virtual void device_start() override; - virtual void device_validity_check(validity_checker &valid) const override ATTR_COLD; - - // configuration state - std::string m_list_name; - softlist_type m_list_type; - const char * m_filter; - - // internal state - bool m_parsed; - emu_file m_file; - std::string m_description; - std::string m_errors; - std::list<software_info> m_infolist; - const_string_pool m_stringpool; + template <typename T> std::vector<std::string> parse_attributes(const char **attributes, const T &attrlist); + bool parse_name_and_value(const char **attributes, std::string &name, std::string &value); + void add_rom_entry(std::string &&name, std::string &&hashdata, UINT32 offset, UINT32 length, UINT32 flags); + + // expat callbacks + static void start_handler(void *data, const char *tagname, const char **attributes); + static void data_handler(void *data, const char *s, int len); + static void end_handler(void *data, const char *name); + + // internal parsing + void parse_root_start(const char *tagname, const char **attributes); + void parse_main_start(const char *tagname, const char **attributes); + void parse_soft_start(const char *tagname, const char **attributes); + void parse_part_start(const char *tagname, const char **attributes); + void parse_data_start(const char *tagname, const char **attributes); + void parse_soft_end(const char *name); + + // internal parsing state + util::core_file & m_file; + const std::string & m_filename; + std::list<software_info> & m_infolist; + std::ostringstream & m_errors; + struct XML_ParserStruct * m_parser; + bool m_done; + std::string m_description; + bool m_data_accum_expected; + std::string m_data_accum; + software_info * m_current_info; + software_part * m_current_part; + parse_position m_pos; }; -// device type definition -extern const device_type SOFTWARE_LIST; - -// device type iterator -typedef device_type_iterator<&device_creator<software_list_device>, software_list_device> software_list_device_iterator; - +#endif // __SOFTLIST_H_ -#endif diff --git a/src/emu/softlist_dev.cpp b/src/emu/softlist_dev.cpp new file mode 100644 index 00000000000..a7ad66fb3a2 --- /dev/null +++ b/src/emu/softlist_dev.cpp @@ -0,0 +1,523 @@ +// license:BSD-3-Clause +// copyright-holders:Wilbert Pol +/*************************************************************************** + + softlist_dev.cpp + + Software list construction helpers. + +***************************************************************************/ + +#include "emu.h" +#include "emuopts.h" +#include "diimage.h" +#include "softlist_dev.h" +#include "validity.h" + +#include <ctype.h> + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +typedef std::unordered_map<std::string, const software_info *> softlist_map; + + +//************************************************************************** +// GLOBAL VARIABLES +//************************************************************************** + +// device type definition +const device_type SOFTWARE_LIST = &device_creator<software_list_device>; +false_software_list_loader false_software_list_loader::s_instance; +rom_software_list_loader rom_software_list_loader::s_instance; +image_software_list_loader image_software_list_loader::s_instance; + + +//************************************************************************** +// SOFTWARE LIST LOADER +//************************************************************************** + +//------------------------------------------------- +// false_software_list_loader::load_software +//------------------------------------------------- + +bool false_software_list_loader::load_software(device_image_interface &device, software_list_device &swlist, const char *swname, const rom_entry *start_entry) const +{ + return false; +} + + +//------------------------------------------------- +// rom_software_list_loader::load_software +//------------------------------------------------- + +bool rom_software_list_loader::load_software(device_image_interface &device, software_list_device &swlist, const char *swname, const rom_entry *start_entry) const +{ + swlist.machine().rom_load().load_software_part_region(device, swlist, swname, start_entry); + return true; +} + + +//------------------------------------------------- +// image_software_list_loader::load_software +//------------------------------------------------- + +bool image_software_list_loader::load_software(device_image_interface &device, software_list_device &swlist, const char *swname, const rom_entry *start_entry) const +{ + return device.load_software(swlist, swname, start_entry); +} + + +//************************************************************************** +// SOFTWARE LIST DEVICE +//************************************************************************** + +//------------------------------------------------- +// software_list_device - constructor +//------------------------------------------------- + +software_list_device::software_list_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : device_t(mconfig, SOFTWARE_LIST, "Software list", tag, owner, clock, "software_list", __FILE__), + m_list_type(SOFTWARE_LIST_ORIGINAL_SYSTEM), + m_filter(nullptr), + m_parsed(false), + m_file(mconfig.options().hash_path(), OPEN_FLAG_READ), + m_description("") +{ +} + + +//------------------------------------------------- +// static_set_type - configuration helper +// to set the list type +//------------------------------------------------- + +void software_list_device::static_set_type(device_t &device, const char *list, softlist_type list_type) +{ + software_list_device &swlistdev = downcast<software_list_device &>(device); + swlistdev.m_list_name.assign(list); + swlistdev.m_list_type = list_type; +} + + +//------------------------------------------------- +// static_set_custom_handler - configuration +// helper to set a custom callback +//------------------------------------------------- + +void software_list_device::static_set_filter(device_t &device, const char *filter) +{ + downcast<software_list_device &>(device).m_filter = filter; +} + + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- + +void software_list_device::device_start() +{ +} + + +//------------------------------------------------- +// find_approx_matches - search ourselves for +// a list of possible matches of the given name +// and optional interface +//------------------------------------------------- + +void software_list_device::find_approx_matches(const std::string &name, int matches, const software_info **list, const char *interface) +{ + // if no name, return + if (name.empty()) + return; + + // initialize everyone's states + std::vector<int> penalty(matches); + for (int matchnum = 0; matchnum < matches; matchnum++) + { + penalty[matchnum] = 9999; + list[matchnum] = nullptr; + } + + // iterate over our info (will cause a parse if needed) + for (const software_info &swinfo : get_info()) + { + const software_part &part = swinfo.parts().front(); + if ((interface == nullptr || part.matches_interface(interface)) && is_compatible(part) == SOFTWARE_IS_COMPATIBLE) + { + // pick the best match between driver name and description + int longpenalty = driver_list::penalty_compare(name.c_str(), swinfo.longname().c_str()); + int shortpenalty = driver_list::penalty_compare(name.c_str(), swinfo.shortname().c_str()); + int curpenalty = std::min(longpenalty, shortpenalty); + + // insert into the sorted table of matches + for (int matchnum = matches - 1; matchnum >= 0; matchnum--) + { + // stop if we're worse than the current entry + if (curpenalty >= penalty[matchnum]) + break; + + // as long as this isn't the last entry, bump this one down + if (matchnum < matches - 1) + { + penalty[matchnum + 1] = penalty[matchnum]; + list[matchnum + 1] = list[matchnum]; + } + list[matchnum] = &swinfo; + penalty[matchnum] = curpenalty; + } + } + } +} + + +//------------------------------------------------- +// release - reset to a pre-parsed state +//------------------------------------------------- + +void software_list_device::release() +{ + osd_printf_verbose("Resetting %s\n", m_file.filename()); + m_parsed = false; + m_description.clear(); + m_errors.clear(); + m_infolist.clear(); +} + + +//------------------------------------------------- +// find_by_name - find a software list by name +// across all software list devices +//------------------------------------------------- + +software_list_device *software_list_device::find_by_name(const machine_config &config, const std::string &name) +{ + // iterate over each device in the system and find a match + for (software_list_device &swlistdev : software_list_device_iterator(config.root_device())) + if (swlistdev.list_name() == name) + return &swlistdev; + return nullptr; +} + + +//------------------------------------------------- +// software_display_matches - display a list of +// possible matches in the system to the given +// name, across all software list devices +//------------------------------------------------- + +void software_list_device::display_matches(const machine_config &config, const char *interface, const std::string &name) +{ + // check if there is at least one software list + software_list_device_iterator deviter(config.root_device()); + if (deviter.first() != nullptr) + osd_printf_error("\n\"%s\" approximately matches the following\n" + "supported software items (best match first):\n\n", name.c_str()); + + // iterate through lists + for (software_list_device &swlistdev : deviter) + { + // get the top 16 approximate matches for the selected device interface (i.e. only carts for cartslot, etc.) + const software_info *matches[16] = { nullptr }; + swlistdev.find_approx_matches(name, ARRAY_LENGTH(matches), matches, interface); + + // if we found some, print them + if (matches[0] != nullptr) + { + // different output depending on original system or compatible + if (swlistdev.list_type() == SOFTWARE_LIST_ORIGINAL_SYSTEM) + osd_printf_error("* Software list \"%s\" (%s) matches: \n", swlistdev.list_name().c_str(), swlistdev.description()); + else + osd_printf_error("* Compatible software list \"%s\" (%s) matches: \n", swlistdev.list_name().c_str(), swlistdev.description()); + + // print them out + for (auto &match : matches) + { + if (match != nullptr) + osd_printf_error("%-18s%s\n", match->shortname().c_str(), match->longname().c_str()); + } + + osd_printf_error("\n"); + } + } +} + + +//------------------------------------------------- +// find - find an item by name in the software +// list, using wildcards and optionally starting +// from an intermediate point +//------------------------------------------------- + +const software_info *software_list_device::find(const char *look_for) +{ + // nullptr search returns nothing + if (look_for == nullptr) + return nullptr; + + bool iswild = strchr(look_for, '*') != nullptr || strchr(look_for, '?'); + + // find a match (will cause a parse if needed when calling get_info) + const auto &info_list = get_info(); + auto iter = std::find_if( + info_list.begin(), + info_list.end(), + [&](const software_info &info) + { + const char *shortname = info.shortname().c_str(); + return (iswild && core_strwildcmp(look_for, shortname) == 0) + || core_stricmp(look_for, shortname) == 0; + }); + + return iter != info_list.end() + ? &*iter + : nullptr; +} + + +//------------------------------------------------- +// parse - parse our softlist file +//------------------------------------------------- + +void software_list_device::parse() +{ + // skip if done + if (m_parsed) + return; + + // reset the errors + m_errors.clear(); + + // attempt to open the file + osd_file::error filerr = m_file.open(m_list_name.c_str(), ".xml"); + if (filerr == osd_file::error::NONE) + { + // parse if no error + std::ostringstream errs; + softlist_parser parser(m_file, m_description, m_infolist, errs); + m_file.close(); + m_errors = errs.str(); + } + else + m_errors = string_format("Error opening file: %s\n", filename()); + + // indicate that we've been parsed + m_parsed = true; +} + + +//------------------------------------------------- +// is_compatible - determine if we are compatible +// with the given software_list_device +//------------------------------------------------- + +software_compatibility software_list_device::is_compatible(const software_part &swpart) const +{ + // get the softlist filter; if null, assume compatible + if (m_filter == nullptr) + return SOFTWARE_IS_COMPATIBLE; + + // copy the comma-delimited string and ensure it ends with a final comma + std::string filt = std::string(m_filter).append(","); + + // get the incompatibility filter and test against it first if it exists + const char *incompatibility = swpart.feature("incompatibility"); + if (incompatibility != nullptr) + { + // copy the comma-delimited string and ensure it ends with a final comma + std::string incomp = std::string(incompatibility).append(","); + + // iterate over filter items and see if they exist in the list; if so, it's incompatible + for (int start = 0, end = filt.find_first_of(',', start); end != -1; start = end + 1, end = filt.find_first_of(',', start)) + { + std::string token(filt, start, end - start + 1); + if (incomp.find(token) != -1) + return SOFTWARE_IS_INCOMPATIBLE; + } + } + + // get the compatibility feature; if null, assume compatible + const char *compatibility = swpart.feature("compatibility"); + if (compatibility == nullptr) + return SOFTWARE_IS_COMPATIBLE; + + // copy the comma-delimited string and ensure it ends with a final comma + std::string comp = std::string(compatibility).append(","); + + // iterate over filter items and see if they exist in the compatibility list; if so, it's compatible + for (int start = 0, end = filt.find_first_of(',', start); end != -1; start = end + 1, end = filt.find_first_of(',', start)) + { + std::string token(filt, start, end - start + 1); + if (comp.find(token) != -1) + return SOFTWARE_IS_COMPATIBLE; + } + return SOFTWARE_NOT_COMPATIBLE; +} + + +//------------------------------------------------- +// find_mountable_image - find an image interface +// that can automatically mount this software part +//------------------------------------------------- + +device_image_interface *software_list_device::find_mountable_image(const machine_config &mconfig, const software_part &part) +{ + // if automount="no", don't bother + const char *mount = part.feature("automount"); + if (mount != nullptr && strcmp(mount, "no") == 0) + return nullptr; + + for (device_image_interface &image : image_interface_iterator(mconfig.root_device())) + { + const char *interface = image.image_interface(); + if (interface != nullptr && part.matches_interface(interface)) + { + // mount only if not already mounted + const char *option = mconfig.options().value(image.brief_instance_name()); + if (*option == '\0' && !image.filename()) + return ℑ + } + } + return nullptr; +} + + +//------------------------------------------------- +// device_validity_check - validate the device +// configuration +//------------------------------------------------- + +void software_list_device::device_validity_check(validity_checker &valid) const +{ + // add to the global map whenever we check a list so we don't re-check + // it in the future + if (valid.already_checked(std::string("softlist/").append(m_list_name).c_str())) + return; + + // do device validation only in case of validate command + if (!valid.validate_all()) + return; + + // actually do the validate + const_cast<software_list_device *>(this)->internal_validity_check(valid); +} + + +//------------------------------------------------- +// internal_validity_check - internal helper to +// check the list +//------------------------------------------------- + +void software_list_device::internal_validity_check(validity_checker &valid) +{ + enum { NAME_LEN_PARENT = 8, NAME_LEN_CLONE = 16 }; + + softlist_map names; + softlist_map descriptions; + for (const software_info &swinfo : get_info()) + { + // first parse and output core errors if any + if (m_errors.length() > 0) + { + osd_printf_error("%s: Errors parsing software list:\n%s", filename(), errors_string()); + break; + } + + // Now check if the xml data is valid: + + // Did we lost any description? + if (swinfo.longname().empty()) + { + osd_printf_error("%s: %s has no description\n", filename(), swinfo.shortname().c_str()); + break; + } + + // Did we lost any year? + if (swinfo.year().empty()) + { + osd_printf_error("%s: %s has no year\n", filename(), swinfo.shortname().c_str()); + break; + } + + // Did we lost any publisher? + if (swinfo.publisher().empty()) + { + osd_printf_error("%s: %s has no publisher\n", filename(), swinfo.shortname().c_str()); + break; + } + + // Did we lost the software parts? + if (swinfo.parts().empty()) + { + osd_printf_error("%s: %s has no part\n", filename(), swinfo.shortname().c_str()); + break; + } + + // Second, since the xml is fine, run additional checks: + + // check for duplicate names + if (!names.insert(std::make_pair(swinfo.shortname(), &swinfo)).second) + { + const software_info *match = names.find(swinfo.shortname())->second; + osd_printf_error("%s: %s is a duplicate name (%s)\n", filename(), swinfo.shortname().c_str(), match->shortname().c_str()); + } + + // check for duplicate descriptions + std::string longname = std::string(swinfo.longname()); + if (!descriptions.insert(std::make_pair(strmakelower(longname), &swinfo)).second) + osd_printf_error("%s: %s is a duplicate description (%s)\n", filename(), swinfo.longname().c_str(), swinfo.shortname().c_str()); + + bool is_clone = false; + if (!swinfo.parentname().empty()) + { + is_clone = true; + if (swinfo.parentname() == swinfo.shortname()) + { + osd_printf_error("%s: %s is set as a clone of itself\n", filename(), swinfo.shortname().c_str()); + break; + } + + // make sure the parent exists + const software_info *swinfo2 = find(swinfo.parentname().c_str()); + + if (swinfo2 == nullptr) + osd_printf_error("%s: parent '%s' software for '%s' not found\n", filename(), swinfo.parentname().c_str(), swinfo.shortname().c_str()); + else if (!swinfo2->parentname().empty()) + osd_printf_error("%s: %s is a clone of a clone\n", filename(), swinfo.shortname().c_str()); + } + + // make sure the driver name is 8 chars or less + if ((is_clone && swinfo.shortname().length() > NAME_LEN_CLONE) || (!is_clone && swinfo.shortname().length() > NAME_LEN_PARENT)) + osd_printf_error("%s: %s %s driver name must be %d characters or less\n", filename(), swinfo.shortname().c_str(), + is_clone ? "clone" : "parent", is_clone ? NAME_LEN_CLONE : NAME_LEN_PARENT); + + // make sure the year is only digits, '?' or '+' + for (const char *s = swinfo.year().c_str(); *s != 0; s++) + if (!isdigit((UINT8)*s) && *s != '?' && *s != '+') + { + osd_printf_error("%s: %s has an invalid year '%s'\n", filename(), swinfo.shortname().c_str(), swinfo.year().c_str()); + break; + } + + softlist_map part_names; + for (const software_part &part : swinfo.parts()) + { + if (part.interface().empty()) + osd_printf_error("%s: %s has a part (%s) without interface\n", filename(), swinfo.shortname().c_str(), part.name().c_str()); + + if (part.romdata().empty()) + osd_printf_error("%s: %s has a part (%s) with no data\n", filename(), swinfo.shortname().c_str(), part.name().c_str()); + + if (!part_names.insert(std::make_pair(part.name(), &swinfo)).second) + osd_printf_error("%s: %s has a part (%s) whose name is duplicate\n", filename(), swinfo.shortname().c_str(), part.name().c_str()); + } + } + + // release all the memory + release(); +} + + diff --git a/src/emu/softlist_dev.h b/src/emu/softlist_dev.h new file mode 100644 index 00000000000..dd3b92940ae --- /dev/null +++ b/src/emu/softlist_dev.h @@ -0,0 +1,195 @@ +// license:BSD-3-Clause +// copyright-holders:Wilbert Pol +/********************************************************************* + + softlist_dev.h + + Software and software list information. + +*********************************************************************/ + +#ifndef __SOFTLIST_DEV_H_ +#define __SOFTLIST_DEV_H_ + +#include "softlist.h" + + +//************************************************************************** +// CONSTANTS +//************************************************************************** + +#define SOFTWARE_SUPPORTED_YES 0 +#define SOFTWARE_SUPPORTED_PARTIAL 1 +#define SOFTWARE_SUPPORTED_NO 2 + +enum softlist_type +{ + SOFTWARE_LIST_ORIGINAL_SYSTEM, + SOFTWARE_LIST_COMPATIBLE_SYSTEM +}; + +enum software_compatibility +{ + SOFTWARE_IS_COMPATIBLE, + SOFTWARE_IS_INCOMPATIBLE, + SOFTWARE_NOT_COMPATIBLE +}; + + +//************************************************************************** +// MACROS +//************************************************************************** + +#define MCFG_SOFTWARE_LIST_CONFIG(_list,_list_type) \ + software_list_device::static_set_type(*device, _list, _list_type); + +#define MCFG_SOFTWARE_LIST_ADD( _tag, _list ) \ + MCFG_DEVICE_ADD( _tag, SOFTWARE_LIST, 0 ) \ + MCFG_SOFTWARE_LIST_CONFIG(_list, SOFTWARE_LIST_ORIGINAL_SYSTEM) + +#define MCFG_SOFTWARE_LIST_COMPATIBLE_ADD( _tag, _list ) \ + MCFG_DEVICE_ADD( _tag, SOFTWARE_LIST, 0 ) \ + MCFG_SOFTWARE_LIST_CONFIG(_list, SOFTWARE_LIST_COMPATIBLE_SYSTEM) + +#define MCFG_SOFTWARE_LIST_MODIFY( _tag, _list ) \ + MCFG_DEVICE_MODIFY( _tag ) \ + MCFG_SOFTWARE_LIST_CONFIG(_list, SOFTWARE_LIST_ORIGINAL_SYSTEM) + +#define MCFG_SOFTWARE_LIST_COMPATIBLE_MODIFY( _tag, _list ) \ + MCFG_DEVICE_MODIFY( _tag ) \ + MCFG_SOFTWARE_LIST_CONFIG(_list, SOFTWARE_LIST_COMPATIBLE_SYSTEM) + +#define MCFG_SOFTWARE_LIST_FILTER( _tag, _filter ) \ + MCFG_DEVICE_MODIFY( _tag ) \ + software_list_device::static_set_filter(*device, _filter); + +#define MCFG_SOFTWARE_LIST_REMOVE( _tag ) \ + MCFG_DEVICE_REMOVE( _tag ) + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +class device_image_interface; +class software_list_device; + + +// ======================> software_list_loader + +class software_list_loader +{ +public: + virtual bool load_software(device_image_interface &device, software_list_device &swlist, const char *swname, const rom_entry *start_entry) const = 0; +}; + + +// ======================> false_software_list_loader + +class false_software_list_loader : public software_list_loader +{ +public: + virtual bool load_software(device_image_interface &device, software_list_device &swlist, const char *swname, const rom_entry *start_entry) const override; + static const software_list_loader &instance() { return s_instance; } + +private: + static false_software_list_loader s_instance; +}; + + +// ======================> rom_software_list_loader + +class rom_software_list_loader : public software_list_loader +{ +public: + virtual bool load_software(device_image_interface &device, software_list_device &swlist, const char *swname, const rom_entry *start_entry) const override; + static const software_list_loader &instance() { return s_instance; } + +private: + static rom_software_list_loader s_instance; +}; + + +// ======================> image_software_list_loader + +class image_software_list_loader : public software_list_loader +{ +public: + virtual bool load_software(device_image_interface &device, software_list_device &swlist, const char *swname, const rom_entry *start_entry) const override; + static const software_list_loader &instance() { return s_instance; } + +private: + static image_software_list_loader s_instance; +}; + + +// ======================> software_list_device + +// device representing a software list +class software_list_device : public device_t +{ + friend class softlist_parser; + +public: + // construction/destruction + software_list_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // inline configuration helpers + static void static_set_type(device_t &device, const char *list, softlist_type list_type); + static void static_set_filter(device_t &device, const char *filter); + + // getters + const std::string &list_name() const { return m_list_name; } + softlist_type list_type() const { return m_list_type; } + const char *filter() const { return m_filter; } + const char *filename() { return m_file.filename(); } + + // getters that may trigger a parse + const char *description() { if (!m_parsed) parse(); return m_description.c_str(); } + bool valid() { if (!m_parsed) parse(); return !m_infolist.empty(); } + const char *errors_string() { if (!m_parsed) parse(); return m_errors.c_str(); } + const std::list<software_info> &get_info() { if (!m_parsed) parse(); return m_infolist; } + + // operations + const software_info *find(const char *look_for); + void find_approx_matches(const std::string &name, int matches, const software_info **list, const char *interface); + void release(); + software_compatibility is_compatible(const software_part &part) const; + + // static helpers + static software_list_device *find_by_name(const machine_config &mconfig, const std::string &name); + static void display_matches(const machine_config &config, const char *interface, const std::string &name); + static device_image_interface *find_mountable_image(const machine_config &mconfig, const software_part &part); + +protected: + // device-level overrides + virtual void device_start() override; + virtual void device_validity_check(validity_checker &valid) const override ATTR_COLD; + +private: + // internal helpers + void parse(); + void internal_validity_check(validity_checker &valid) ATTR_COLD; + + // configuration state + std::string m_list_name; + softlist_type m_list_type; + const char * m_filter; + + // internal state + bool m_parsed; + emu_file m_file; + std::string m_description; + std::string m_errors; + std::list<software_info> m_infolist; +}; + + +// device type definition +extern const device_type SOFTWARE_LIST; + +// device type iterator +typedef device_type_iterator<&device_creator<software_list_device>, software_list_device> software_list_device_iterator; + + +#endif // __SOFTLIST_DEV_H_ diff --git a/src/frontend/mame/audit.cpp b/src/frontend/mame/audit.cpp index 9dfc99940f2..6adb5539747 100644 --- a/src/frontend/mame/audit.cpp +++ b/src/frontend/mame/audit.cpp @@ -2,7 +2,7 @@ // copyright-holders:Aaron Giles /*************************************************************************** - audit.c + audit.cpp ROM set auditing functions. @@ -14,7 +14,8 @@ #include "chd.h" #include "drivenum.h" #include "sound/samples.h" -#include "softlist.h" +#include "softlist_dev.h" + //************************************************************************** // CORE FUNCTIONS @@ -149,7 +150,7 @@ media_auditor::summary media_auditor::audit_device(device_t &device, const char //------------------------------------------------- // audit_software //------------------------------------------------- -media_auditor::summary media_auditor::audit_software(const char *list_name, const software_info *swinfo, const char *validation) +media_auditor::summary media_auditor::audit_software(const std::string &list_name, const software_info *swinfo, const char *validation) { // start fresh m_record_list.clear(); @@ -171,7 +172,7 @@ media_auditor::summary media_auditor::audit_software(const char *list_name, cons // now iterate over software parts for (const software_part &part : swinfo->parts()) - audit_regions(part.romdata(), locationtag.c_str(), found, required); + audit_regions(part.romdata().data(), locationtag.c_str(), found, required); if ((found == 0) && (required > 0)) { @@ -180,7 +181,7 @@ media_auditor::summary media_auditor::audit_software(const char *list_name, cons } // return a summary - return summarize(list_name); + return summarize(list_name.c_str()); } diff --git a/src/frontend/mame/audit.h b/src/frontend/mame/audit.h index 1999fb229fa..9e0e131e2ca 100644 --- a/src/frontend/mame/audit.h +++ b/src/frontend/mame/audit.h @@ -158,7 +158,7 @@ public: // audit operations summary audit_media(const char *validation = AUDIT_VALIDATE_FULL); summary audit_device(device_t &device, const char *validation = AUDIT_VALIDATE_FULL); - summary audit_software(const char *list_name, const software_info *swinfo, const char *validation = AUDIT_VALIDATE_FULL); + summary audit_software(const std::string &list_name, const software_info *swinfo, const char *validation = AUDIT_VALIDATE_FULL); summary audit_samples(); summary summarize(const char *name, std::ostream *output = nullptr) const; diff --git a/src/frontend/mame/clifront.cpp b/src/frontend/mame/clifront.cpp index 2ce5a6a5581..bc98768242a 100644 --- a/src/frontend/mame/clifront.cpp +++ b/src/frontend/mame/clifront.cpp @@ -25,7 +25,7 @@ #include "drivenum.h" #include "osdepend.h" -#include "softlist.h" +#include "softlist_dev.h" #include "ui/moptions.h" #include "language.h" @@ -374,7 +374,7 @@ int media_identifier::find_by_hash(const util::hash_collection &hashes, int leng { for (const software_info &swinfo : swlistdev.get_info()) for (const software_part &part : swinfo.parts()) - for (const rom_entry *region = part.romdata(); region != nullptr; region = rom_next_region(region)) + for (const rom_entry *region = part.romdata().data(); region != nullptr; region = rom_next_region(region)) for (const rom_entry *rom = rom_first_file(region); rom != nullptr; rom = rom_next_file(rom)) { util::hash_collection romhashes(ROM_GETHASHDATA(rom)); @@ -385,7 +385,7 @@ int media_identifier::find_by_hash(const util::hash_collection &hashes, int leng // output information about the match if (found) osd_printf_info(" "); - osd_printf_info("= %s%-20s %s:%s %s\n", baddump ? "(BAD) " : "", ROM_GETNAME(rom), swlistdev.list_name(), swinfo.shortname().c_str(), swinfo.longname().c_str()); + osd_printf_info("= %s%-20s %s:%s %s\n", baddump ? "(BAD) " : "", ROM_GETNAME(rom), swlistdev.list_name().c_str(), swinfo.shortname().c_str(), swinfo.longname().c_str()); found++; } } @@ -527,9 +527,9 @@ int cli_frontend::execute(int argc, char **argv) for (const software_part &swpart : swinfo->parts()) { // only load compatible software this way - if (swpart.is_compatible(swlistdev) == SOFTWARE_IS_COMPATIBLE) + if (swlistdev.is_compatible(swpart) == SOFTWARE_IS_COMPATIBLE) { - device_image_interface *image = swpart.find_mountable_image(config); + device_image_interface *image = software_list_device::find_mountable_image(config, swpart); if (image != nullptr) { std::string val = string_format("%s:%s:%s", swlistdev.list_name(), m_options.software_name(), swpart.name()); @@ -1387,7 +1387,7 @@ void cli_frontend::verifysamples(const char *gamename) void cli_frontend::output_single_softlist(FILE *out, software_list_device &swlistdev) { - fprintf(out, "\t<softwarelist name=\"%s\" description=\"%s\">\n", swlistdev.list_name(), xml_normalize_string(swlistdev.description())); + fprintf(out, "\t<softwarelist name=\"%s\" description=\"%s\">\n", swlistdev.list_name().c_str(), xml_normalize_string(swlistdev.description())); for (const software_info &swinfo : swlistdev.get_info()) { fprintf(out, "\t\t<software name=\"%s\"", swinfo.shortname().c_str()); @@ -1417,7 +1417,7 @@ void cli_frontend::output_single_softlist(FILE *out, software_list_device &swlis fprintf(out, "\t\t\t\t<feature name=\"%s\" value=\"%s\" />\n", flist.name().c_str(), xml_normalize_string(flist.value().c_str())); /* TODO: display rom region information */ - for (const rom_entry *region = part.romdata(); region; region = rom_next_region(region)) + for (const rom_entry *region = part.romdata().data(); region; region = rom_next_region(region)) { int is_disk = ROMREGION_ISDISKDATA(region); @@ -1626,7 +1626,7 @@ void cli_frontend::getsoftlist(const char *gamename) while (drivlist.next()) { for (software_list_device &swlistdev : software_list_device_iterator(drivlist.config().root_device())) - if (core_strwildcmp(gamename, swlistdev.list_name()) == 0 && list_map.insert(swlistdev.list_name()).second) + if (core_strwildcmp(gamename, swlistdev.list_name().c_str()) == 0 && list_map.insert(swlistdev.list_name()).second) if (!swlistdev.get_info().empty()) { if (isfirst) { fprintf( out, SOFTLIST_XML_BEGIN); isfirst = false; } @@ -1660,7 +1660,7 @@ void cli_frontend::verifysoftlist(const char *gamename) { for (software_list_device &swlistdev : software_list_device_iterator(drivlist.config().root_device())) { - if (core_strwildcmp(gamename, swlistdev.list_name()) == 0 && list_map.insert(swlistdev.list_name()).second) + if (core_strwildcmp(gamename, swlistdev.list_name().c_str()) == 0 && list_map.insert(swlistdev.list_name()).second) { if (!swlistdev.get_info().empty()) { diff --git a/src/frontend/mame/info.cpp b/src/frontend/mame/info.cpp index 5cfe32a2270..1d1468643c6 100644 --- a/src/frontend/mame/info.cpp +++ b/src/frontend/mame/info.cpp @@ -16,7 +16,7 @@ #include "xmlfile.h" #include "config.h" #include "drivenum.h" -#include "softlist.h" +#include "softlist_dev.h" #include <ctype.h> @@ -1563,7 +1563,7 @@ void info_xml_creator::output_software_list() { for (const software_list_device &swlist : software_list_device_iterator(m_drivlist.config().root_device())) { - fprintf(m_output, "\t\t<softwarelist name=\"%s\" ", swlist.list_name()); + fprintf(m_output, "\t\t<softwarelist name=\"%s\" ", swlist.list_name().c_str()); fprintf(m_output, "status=\"%s\" ", (swlist.list_type() == SOFTWARE_LIST_ORIGINAL_SYSTEM) ? "original" : "compatible"); if (swlist.filter()) fprintf(m_output, "filter=\"%s\" ", swlist.filter()); diff --git a/src/frontend/mame/mameopts.cpp b/src/frontend/mame/mameopts.cpp index c64b8fd7ebc..9b1150a9590 100644 --- a/src/frontend/mame/mameopts.cpp +++ b/src/frontend/mame/mameopts.cpp @@ -11,7 +11,7 @@ #include "emu.h" #include "mameopts.h" #include "drivenum.h" -#include "softlist.h" +#include "softlist_dev.h" #include <ctype.h> diff --git a/src/frontend/mame/ui/imgcntrl.cpp b/src/frontend/mame/ui/imgcntrl.cpp index 0fabfc57d5d..59e20eb1cee 100644 --- a/src/frontend/mame/ui/imgcntrl.cpp +++ b/src/frontend/mame/ui/imgcntrl.cpp @@ -20,7 +20,7 @@ #include "audit.h" #include "drivenum.h" #include "emuopts.h" -#include "softlist.h" +#include "softlist_dev.h" #include "zippath.h" diff --git a/src/frontend/mame/ui/inifile.cpp b/src/frontend/mame/ui/inifile.cpp index c9b99153522..e1bf2604733 100644 --- a/src/frontend/mame/ui/inifile.cpp +++ b/src/frontend/mame/ui/inifile.cpp @@ -11,7 +11,7 @@ #include "emu.h" #include "ui/moptions.h" #include "ui/inifile.h" -#include "softlist.h" +#include "softlist_dev.h" #include "drivenum.h" //------------------------------------------------- diff --git a/src/frontend/mame/ui/selgame.cpp b/src/frontend/mame/ui/selgame.cpp index bbfb0937f18..7357d3f66c2 100644 --- a/src/frontend/mame/ui/selgame.cpp +++ b/src/frontend/mame/ui/selgame.cpp @@ -31,7 +31,7 @@ #include "mame.h" #include "rendfont.h" #include "rendutil.h" -#include "softlist.h" +#include "softlist_dev.h" #include "uiinput.h" extern const char UI_VERSION_TAG[]; diff --git a/src/frontend/mame/ui/selsoft.cpp b/src/frontend/mame/ui/selsoft.cpp index baf1e17ba24..858a29e36fe 100644 --- a/src/frontend/mame/ui/selsoft.cpp +++ b/src/frontend/mame/ui/selsoft.cpp @@ -24,7 +24,7 @@ #include "mame.h" #include "rendfont.h" #include "rendutil.h" -#include "softlist.h" +#include "softlist_dev.h" #include "uiinput.h" @@ -530,7 +530,7 @@ void menu_select_software::build_software_list() for (const software_info &swinfo : swlist.get_info()) { const software_part &part = swinfo.parts().front(); - if (part.is_compatible(swlist) == SOFTWARE_IS_COMPATIBLE) + if (swlist.is_compatible(part) == SOFTWARE_IS_COMPATIBLE) { const char *instance_name = nullptr; const char *type_name = nullptr; @@ -562,7 +562,7 @@ void menu_select_software::build_software_list() tmpmatches.supported = swinfo.supported(); tmpmatches.part = part.name(); tmpmatches.driver = m_driver; - tmpmatches.listname = strensure(swlist.list_name()); + tmpmatches.listname = swlist.list_name(); tmpmatches.interface = part.interface(); tmpmatches.startempty = 0; tmpmatches.parentlongname.clear(); diff --git a/src/frontend/mame/ui/swlist.cpp b/src/frontend/mame/ui/swlist.cpp index babe5690f75..6126f433e39 100644 --- a/src/frontend/mame/ui/swlist.cpp +++ b/src/frontend/mame/ui/swlist.cpp @@ -14,7 +14,7 @@ #include "ui/swlist.h" #include "ui/utils.h" -#include "softlist.h" +#include "softlist_dev.h" namespace ui { @@ -186,7 +186,7 @@ void menu_software_list::append_software_entry(const software_info &swinfo) // check if at least one of the parts has the correct interface and add a menu entry only in this case for (const software_part &swpart : swinfo.parts()) { - if (swpart.matches_interface(m_interface) && swpart.is_compatible(*m_swlist) == SOFTWARE_IS_COMPATIBLE) + if (swpart.matches_interface(m_interface) && m_swlist->is_compatible(swpart) == SOFTWARE_IS_COMPATIBLE) { entry_updated = true; entry.short_name.assign(swinfo.shortname()); diff --git a/src/lib/util/cstrpool.cpp b/src/lib/util/cstrpool.cpp deleted file mode 100644 index 5a9e571366b..00000000000 --- a/src/lib/util/cstrpool.cpp +++ /dev/null @@ -1,114 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Aaron Giles -/*************************************************************************** - - cstrpool.c - - Constant string pool helper class. - -***************************************************************************/ - -#include <assert.h> - -#include "cstrpool.h" - - -//************************************************************************** -// CONST STRING POOL -//************************************************************************** - -//------------------------------------------------- -// const_string_pool - constructor -//------------------------------------------------- - -const_string_pool::const_string_pool() -{ -} - - -//------------------------------------------------- -// add - add a string to the string pool -//------------------------------------------------- - -const char *const_string_pool::add(const char *string) -{ - // if nullptr or a small number (for some hash strings), just return as-is - if (FPTR(string) < 0x100) - return string; - - // scan to find space - for (pool_chunk *chunk = m_chunklist.first(); chunk != nullptr; chunk = chunk->next()) - { - const char *result = chunk->add(string); - if (result != nullptr) - return result; - } - - // no space anywhere, create a new pool and prepend it (so it gets used first) - const char *result = m_chunklist.prepend(*global_alloc(pool_chunk)).add(string); - assert(result != nullptr); - return result; -} - - -//------------------------------------------------- -// contains - determine if the given string -// pointer lives in the pool -//------------------------------------------------- - -bool const_string_pool::contains(const char *string) -{ - // if nullptr or a small number (for some hash strings), then yes, effectively - if (FPTR(string) < 0x100) - return true; - - // scan to find it - for (pool_chunk *chunk = m_chunklist.first(); chunk != nullptr; chunk = chunk->next()) - if (chunk->contains(string)) - return true; - - return false; -} - -/** - * @fn const_string_pool::pool_chunk::pool_chunk() - * - * @brief ------------------------------------------------- - * pool_chunk - constructor - * -------------------------------------------------. - */ - -const_string_pool::pool_chunk::pool_chunk() - : m_next(nullptr), - m_used(0) -{ -} - -/** - * @fn const char *const_string_pool::pool_chunk::add(const char *string) - * - * @brief ------------------------------------------------- - * add - add a string to this pool - * -------------------------------------------------. - * - * @param string The string to add. - * - * @return null if it fails, else a char*. - */ - -const char *const_string_pool::pool_chunk::add(const char *string) -{ - // get the length of the string (no string can be longer than a full pool) - int bytes = strlen(string) + 1; - assert(bytes < POOL_SIZE); - - // if too big, return nullptr - if (m_used + bytes > POOL_SIZE) - return nullptr; - - // allocate, copy, and return the memory - char *dest = &m_buffer[m_used]; - m_used += bytes; - memcpy(dest, string, bytes); - return dest; -} diff --git a/src/lib/util/cstrpool.h b/src/lib/util/cstrpool.h deleted file mode 100644 index ff6b4c4c0ee..00000000000 --- a/src/lib/util/cstrpool.h +++ /dev/null @@ -1,65 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Aaron Giles -/********************************************************************* - - cstrpool.h - - Constant string pool helper class. - -*********************************************************************/ - -#pragma once - -#ifndef __CSTRPOOL_H_ -#define __CSTRPOOL_H_ - -#include "coretmpl.h" - - -//************************************************************************** -// TYPE DEFINITIONS -//************************************************************************** - -// ======================> const_string_pool - -// a pool to hold constant strings efficiently -class const_string_pool -{ -public: - // construction - const_string_pool(); - - // operations - void reset() { m_chunklist.reset(); } - const char *add(const char *string); - bool contains(const char *string); - -private: - // shared string pool - class pool_chunk - { - static const int POOL_SIZE = 4096; - friend class simple_list<pool_chunk>; - - public: - // construction - pool_chunk(); - - // getters - pool_chunk *next() const { return m_next; } - - // operations - const char *add(const char *string); - bool contains(const char *string) const { return (string >= m_buffer && string < &m_buffer[POOL_SIZE]); } - - private: - // internal state - pool_chunk * m_next; - UINT32 m_used; - char m_buffer[POOL_SIZE]; - }; - simple_list<pool_chunk> m_chunklist; -}; - - -#endif diff --git a/src/mame/drivers/apple2gs.cpp b/src/mame/drivers/apple2gs.cpp index ca65f5fdfd1..11c62e0b299 100644 --- a/src/mame/drivers/apple2gs.cpp +++ b/src/mame/drivers/apple2gs.cpp @@ -451,7 +451,8 @@ ROM_START(apple2gs) // 341-0728 is the MASK rom version while 341-0737 is the EPROM version - SAME data. ROM_LOAD("341-0728", 0x00000, 0x20000, CRC(8d410067) SHA1(c0f4704233ead14cb8e1e8a68fbd7063c56afd27) ) /* 341-0728: IIgs ROM03 FC-FD */ // 341-0748 is the MASK rom version while 341-0749 is the EPROM version - SAME data. - ROM_LOAD("341-0748", 0x20000, 0x20000, CRC(18190283) SHA1(c70576869deec92ca82c78438b1d5c686eac7480) ) /* 341-0748: IIgs ROM03 FE-FF */ + ROM_LOAD("341-0748", 0x30000, 0x10000, CRC(18190283) SHA1(c70576869deec92ca82c78438b1d5c686eac7480) ) /* 341-0748: IIgs ROM03 FE-FF */ + ROM_CONTINUE ( 0x20000, 0x10000) /* high address line is inverted on PCB? */ ROM_REGION(0x20000, "es5503", ROMREGION_ERASE00) diff --git a/src/mame/drivers/aristmk4.cpp b/src/mame/drivers/aristmk4.cpp index b752c6b8f9d..203680b20cd 100644 --- a/src/mame/drivers/aristmk4.cpp +++ b/src/mame/drivers/aristmk4.cpp @@ -1198,7 +1198,7 @@ static INPUT_PORTS_START(aristmk4) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_NAME("2-2 UNUSED") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_NAME("2-3 UNUSED") PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON12 ) PORT_NAME("AUX1") PORT_CODE(KEYCODE_X) // PB5 - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON13 ) PORT_NAME("Memory Reset") PORT_CODE(KEYCODE_C) // PB4 + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_CODE(KEYCODE_C) // PB4 PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON14 ) PORT_NAME("Hopper Test") PORT_CODE(KEYCODE_V) // PB3 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_BUTTON15 ) PORT_NAME("Print Data") PORT_CODE(KEYCODE_B) // PB2 PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON16 ) PORT_NAME("Clock Init") PORT_CODE(KEYCODE_N) // PB1 diff --git a/src/mame/drivers/arkanoid.cpp b/src/mame/drivers/arkanoid.cpp index 6daff2641bf..7e025e7c311 100644 --- a/src/mame/drivers/arkanoid.cpp +++ b/src/mame/drivers/arkanoid.cpp @@ -878,7 +878,7 @@ READ8_MEMBER(arkanoid_state::hexaa_sub_90_r) } static ADDRESS_MAP_START( hexaa_sub_iomap, AS_IO, 8, arkanoid_state ) - ADDRESS_MAP_GLOBAL_MASK(0x0f) + ADDRESS_MAP_GLOBAL_MASK(0x9f) AM_RANGE(0x00, 0x0f) AM_RAM // ?? could be communication with the other chip (protection?) AM_RANGE(0x80, 0x80) AM_WRITE(hexaa_sub_80_w) AM_RANGE(0x90, 0x90) AM_READ(hexaa_sub_90_r) diff --git a/src/mame/drivers/c65.cpp b/src/mame/drivers/c65.cpp index fb9f882ead7..1f007bd15f0 100644 --- a/src/mame/drivers/c65.cpp +++ b/src/mame/drivers/c65.cpp @@ -21,7 +21,7 @@ Note: #include "emu.h" #include "cpu/m6502/m4510.h" #include "machine/mos6526.h" -#include "softlist.h" +#include "softlist_dev.h" #define MAIN_CLOCK XTAL_3_5MHz diff --git a/src/mame/drivers/calomega.cpp b/src/mame/drivers/calomega.cpp index 9226a748b92..a247dc12de0 100644 --- a/src/mame/drivers/calomega.cpp +++ b/src/mame/drivers/calomega.cpp @@ -843,7 +843,7 @@ static ADDRESS_MAP_START( s903mod_map, AS_PROGRAM, 8, calomega_state ) AM_RANGE(0x08c8, 0x08cb) AM_DEVREADWRITE("pia1", pia6821_device, read, write) AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(calomega_videoram_w) AM_SHARE("videoram") AM_RANGE(0x1400, 0x17ff) AM_RAM_WRITE(calomega_colorram_w) AM_SHARE("colorram") - AM_RANGE(0x1800, 0xffff) AM_ROM + AM_RANGE(0x1800, 0x3fff) AM_ROM ADDRESS_MAP_END static ADDRESS_MAP_START( sys905_map, AS_PROGRAM, 8, calomega_state ) @@ -856,7 +856,7 @@ static ADDRESS_MAP_START( sys905_map, AS_PROGRAM, 8, calomega_state ) AM_RANGE(0x10c8, 0x10cb) AM_DEVREADWRITE("pia1", pia6821_device, read, write) AM_RANGE(0x2000, 0x23ff) AM_RAM_WRITE(calomega_videoram_w) AM_SHARE("videoram") AM_RANGE(0x2400, 0x27ff) AM_RAM_WRITE(calomega_colorram_w) AM_SHARE("colorram") - AM_RANGE(0x2800, 0xffff) AM_ROM + AM_RANGE(0x2800, 0x7fff) AM_ROM ADDRESS_MAP_END static ADDRESS_MAP_START( sys906_map, AS_PROGRAM, 8, calomega_state ) diff --git a/src/mame/drivers/dblcrown.cpp b/src/mame/drivers/dblcrown.cpp index d766e0c425d..a251a42dcaa 100644 --- a/src/mame/drivers/dblcrown.cpp +++ b/src/mame/drivers/dblcrown.cpp @@ -387,7 +387,7 @@ ADDRESS_MAP_END static INPUT_PORTS_START( dblcrown ) PORT_START("IN0") - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Memory Reset") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Credit Reset") PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_GAMBLE_KEYIN ) PORT_NAME("Note") diff --git a/src/mame/drivers/dvk_ksm.cpp b/src/mame/drivers/dvk_ksm.cpp index 60cfee34578..855be480138 100644 --- a/src/mame/drivers/dvk_ksm.cpp +++ b/src/mame/drivers/dvk_ksm.cpp @@ -11,7 +11,13 @@ Hardware revisions (XXX verify everything): - 7.102.076 -- has DIP switches, SRAM at 0x2000, model name "KSM" - - 7.102.228 -- no DIP switches, SRAM at 0x2100, model name "KSM-01" + - 7.102.228 -- no DIP switches, ?? SRAM at 0x2100, model name "KSM-01" + + Two sets of dumps exist: + - one puts SRAM at 0x2000, which is where technical manual puts it, + but chargen has 1 missing pixel in 'G' character. + - another puts SRAM at 0x2100, but has no missing pixel. + Merge them for now into one (SRAM at 0x2000 and no missing pixel). Emulates a VT52 without copier (ESC Z response is ESC / M), with Hold Screen mode and Graphics character set (but it is unique and @@ -49,7 +55,7 @@ ksm|DVK KSM, To do: - verify if pixel stretching is done by hw - verify details of hw revisions (memory map, DIP presence...) - - baud rate selection (missing feature in bitbanger) + - baud rate selection ****************************************************************************/ @@ -222,8 +228,7 @@ WRITE8_MEMBER(ksm_state::ksm_ppi_portc_w) WRITE_LINE_MEMBER(ksm_state::write_keyboard_clock) { -// KSM never sends data to keyboard -// m_i8251kbd->write_txc(state); + m_i8251kbd->write_txc(state); m_i8251kbd->write_rxc(state); } @@ -335,8 +340,7 @@ static MACHINE_CONFIG_START( ksm, ksm_state ) MCFG_CPU_IO_MAP(ksm_io) MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb) - MCFG_TIMER_DRIVER_ADD_PERIODIC("scantimer", ksm_state, scanline_callback, attotime::from_hz(50*28*11)) - MCFG_TIMER_START_DELAY(attotime::from_hz(XTAL_15_4MHz/KSM_HORZ_START)) + MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", ksm_state, scanline_callback, "screen", 0, 1) MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::green) MCFG_SCREEN_UPDATE_DRIVER(ksm_state, screen_update) @@ -383,30 +387,12 @@ static MACHINE_CONFIG_START( ksm, ksm_state ) MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(ksm_state, write_keyboard_clock)) MACHINE_CONFIG_END - -/* - Assumes that SRAM is at 0x2000, which is where technical manual puts it. - Chargen has 1 missing pixel in 'G' character. -*/ ROM_START( dvk_ksm ) ROM_REGION(0x1000, "maincpu", ROMREGION_ERASE00) ROM_LOAD( "ksm_04_rom0_d32.bin", 0x0000, 0x0800, CRC(6ad62715) SHA1(20f8f95119bc7fc6e0f16c67864e339a86edb44d)) ROM_LOAD( "ksm_05_rom1_d33.bin", 0x0800, 0x0800, CRC(5b29bcd2) SHA1(1f4f82c2f88f1e8615ec02076559dc606497e654)) ROM_REGION(0x0800, "chargen", ROMREGION_ERASE00) - ROM_LOAD("ksm_03_cg_d31.bin", 0x0000, 0x0800, CRC(98853aa7) SHA1(09b8e1b5b10a00c0b0ae7e36ad1328113d31230a)) -ROM_END - -/* - Assumes that SRAM is at 0x2100, otherwise identical. - Chargen has no missing pixels in 'G' character. -*/ -ROM_START( dvk_ksm01 ) - ROM_REGION(0x1000, "maincpu", ROMREGION_ERASE00) - ROM_LOAD( "ksm_04_rom0_d32.bin", 0x0000, 0x0800, CRC(5276dc9a) SHA1(dd41dfb4cb3f1cf22d96d95f1ff6a27fe4eb9a38)) - ROM_LOAD( "ksm_05_rom1_d33.bin", 0x0800, 0x0800, CRC(5b29bcd2) SHA1(1f4f82c2f88f1e8615ec02076559dc606497e654)) - - ROM_REGION(0x0800, "chargen", ROMREGION_ERASE00) ROM_LOAD("ksm_03_cg_d31.bin", 0x0000, 0x0800, CRC(6a8477e2) SHA1(c7871a96f135db05c3c8d718fbdf1728e22e72b7)) ROM_END @@ -414,4 +400,3 @@ ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ COMP( 1986, dvk_ksm, 0, 0, ksm, ksm, driver_device, 0, "USSR", "DVK KSM", 0) -COMP( 198?, dvk_ksm01,dvk_ksm,0, ksm, ksm, driver_device, 0, "USSR", "DVK KSM-01", 0) diff --git a/src/mame/drivers/eacc.cpp b/src/mame/drivers/eacc.cpp index cc91872dddf..3aef6f02258 100644 --- a/src/mame/drivers/eacc.cpp +++ b/src/mame/drivers/eacc.cpp @@ -96,7 +96,7 @@ static ADDRESS_MAP_START(eacc_mem, AS_PROGRAM, 8, eacc_state) ADDRESS_MAP_GLOBAL_MASK(0xc7ff) // A11,A12,A13 not connected AM_RANGE(0x0000, 0x001f) AM_RAM AM_SHARE("nvram") // inside cpu, battery-backed AM_RANGE(0x0020, 0x007f) AM_RAM // inside cpu - AM_RANGE(0x6000, 0x67ff) AM_ROM AM_MIRROR(0x8000) + AM_RANGE(0x4000, 0x47ff) AM_ROM AM_MIRROR(0x8000) AM_RANGE(0x8000, 0x8003) AM_MIRROR(0x7fc) AM_DEVREADWRITE("pia", pia6821_device, read, write) ADDRESS_MAP_END diff --git a/src/mame/drivers/feversoc.cpp b/src/mame/drivers/feversoc.cpp index 9b4f1132140..e326faf7869 100644 --- a/src/mame/drivers/feversoc.cpp +++ b/src/mame/drivers/feversoc.cpp @@ -255,7 +255,7 @@ static INPUT_PORTS_START( feversoc ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Unknown (BTN5)") PORT_CODE(KEYCODE_J) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_GAMBLE_KEYOUT ) PORT_NAME("Key Out (BTN6)") PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_NAME("Coin Out (BTN7)") - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Reset") + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END diff --git a/src/mame/drivers/galaxy.cpp b/src/mame/drivers/galaxy.cpp index 8a6a884ea8d..79f3b47ee61 100644 --- a/src/mame/drivers/galaxy.cpp +++ b/src/mame/drivers/galaxy.cpp @@ -37,8 +37,8 @@ Galaksija driver by Krzysztof Strzecha and Miodrag Milanovic static ADDRESS_MAP_START (galaxyp_io, AS_IO, 8, galaxy_state ) ADDRESS_MAP_GLOBAL_MASK(0x01) ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0xbe, 0xbe) AM_DEVWRITE("ay8910", ay8910_device, address_w) - AM_RANGE(0xbf, 0xbf) AM_DEVWRITE("ay8910", ay8910_device, data_w) + AM_RANGE(0x00, 0x00) AM_DEVWRITE("ay8910", ay8910_device, address_w) + AM_RANGE(0x01, 0x01) AM_DEVWRITE("ay8910", ay8910_device, data_w) ADDRESS_MAP_END diff --git a/src/mame/drivers/goldnpkr.cpp b/src/mame/drivers/goldnpkr.cpp index 591d3e8a589..c70d153a41d 100644 --- a/src/mame/drivers/goldnpkr.cpp +++ b/src/mame/drivers/goldnpkr.cpp @@ -1690,7 +1690,7 @@ static ADDRESS_MAP_START( wildcrdb_map, AS_PROGRAM, 8, goldnpkr_state ) AM_RANGE(0x2100, 0x2100) AM_DEVWRITE("crtc", mc6845_device, address_w) AM_RANGE(0x2101, 0x2101) AM_DEVREADWRITE("crtc", mc6845_device, register_r, register_w) AM_RANGE(0x2800, 0x2fff) AM_RAM - AM_RANGE(0x3000, 0xffff) AM_ROM + AM_RANGE(0x3000, 0x7fff) AM_ROM ADDRESS_MAP_END static ADDRESS_MAP_START( wildcrdb_mcu_map, AS_PROGRAM, 8, goldnpkr_state ) diff --git a/src/mame/drivers/hnayayoi.cpp b/src/mame/drivers/hnayayoi.cpp index 3afc8c0def9..39c2081a0bf 100644 --- a/src/mame/drivers/hnayayoi.cpp +++ b/src/mame/drivers/hnayayoi.cpp @@ -21,7 +21,7 @@ Year + Game Board --------------------------------------- Notes: -- In service mode, press "analyzer" (0) and "test" (F1) to see a gfx test +- In service mode, press "analyzer" (0) and "test" (F2) to see a gfx test - hnfubuki doesn't have a service mode dip, press "analyzer" instead @@ -269,7 +269,9 @@ static INPUT_PORTS_START( hnayayoi ) PORT_START("DSW3") /* DSW3 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) // blitter busy flag - PORT_SERVICE( 0x02, IP_ACTIVE_LOW ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Service_Mode ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -292,7 +294,7 @@ static INPUT_PORTS_START( hnayayoi ) PORT_START("COIN") /* COIN */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) // there is also a dip switch + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) // there is also a dip switch PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Analizer") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) // "Non Use" in service mode PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) /* "Note" ("Paper Money") = 10 Credits */ @@ -382,9 +384,9 @@ static INPUT_PORTS_START( hnfubuki ) PORT_START("COIN") /* COIN */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Analizer") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE3 ) PORT_NAME("Memory Reset") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) /* "Note" ("Paper Money") = 10 Credits */ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) @@ -446,9 +448,9 @@ static INPUT_PORTS_START( untoucha ) PORT_START("COIN") /* COIN */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_CODE(KEYCODE_F1) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME(DEF_STR( Test )) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Analizer") - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE3 ) PORT_NAME("Memory Reset") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) /* "Note" ("Paper Money") = 5 or 8 Credits */ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE(2) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1 ) diff --git a/src/mame/drivers/hyhoo.cpp b/src/mame/drivers/hyhoo.cpp index 9def22372b7..64fcee9eda1 100644 --- a/src/mame/drivers/hyhoo.cpp +++ b/src/mame/drivers/hyhoo.cpp @@ -109,7 +109,7 @@ static INPUT_PORTS_START( hyhoo ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, hyhoo_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // NOT USED PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) // SERVICE - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Memory Reset") // MEMORY RESET + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // NOT USED @@ -184,7 +184,7 @@ static INPUT_PORTS_START( hyhoo2 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, hyhoo_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // NOT USED PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) // SERVICE - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Memory Reset") // MEMORY RESET + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // NOT USED diff --git a/src/mame/drivers/jangou.cpp b/src/mame/drivers/jangou.cpp index 64c34ac3cf2..250db8e3d38 100644 --- a/src/mame/drivers/jangou.cpp +++ b/src/mame/drivers/jangou.cpp @@ -763,7 +763,7 @@ static INPUT_PORTS_START( roylcrdn ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) /* Spare 2 */ PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME("Note In") /* Note In */ - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_TOGGLE PORT_CODE(KEYCODE_9) PORT_NAME("Memory Reset") /* Memory Reset */ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_TOGGLE PORT_CODE(KEYCODE_9) /* Memory Reset */ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_TOGGLE PORT_CODE(KEYCODE_0) PORT_NAME("Analyzer") /* Analyzer */ PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_TOGGLE PORT_CODE(KEYCODE_F2) PORT_NAME("Test Mode") /* Test Mode */ PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Coin In") /* Coin In */ diff --git a/src/mame/drivers/kurukuru.cpp b/src/mame/drivers/kurukuru.cpp index 2e003469c0c..bc9b968bf7e 100644 --- a/src/mame/drivers/kurukuru.cpp +++ b/src/mame/drivers/kurukuru.cpp @@ -124,12 +124,17 @@ 3) Pyon Pyon Jump (a contents where the same characters try to cross the river jumping on pads). 4) Sui Sui Pyon Pyon (a swimming competition where the same characters swim with different styles, even walking). - Coin 1 (key 5) could be set either as Coin 1 or as Payout button, through - a DIP switch. + The 100 Yen coin input (key 7) can be set as "Exchange" through a DIP switch, in + which case its value is not accepted as credits but immediately paid out in + "medals." If you get a 'medal jam' error, and the game is not responding anymore, press - RESET (key 9), and the game will reset to default values (even all counters - will be cleared). + RESET (key F1), and the game will reset to default values (even all counters + will be cleared; the program does this by zeroing the magic byte preceding the + game ID string copied with it into NVRAM and then jumping to the boot routine). + + The tables for the I/O routines have room for 7 coin inputs (address + mask) and + 3 output latches, but only 3 coin inputs and 1 output latch are defined and used. ************************************************************************************ @@ -145,9 +150,9 @@ How to play... Insert tokens (medals). - You can bet to any (or all) of the following 5 characters: Bote, Oume, Pyoko, - Kunio, and Pyon Pyon. Press start, and the reels start to roll. You'll win if - you can get 3 of the chosen character(s) in a row, column or diagonal. + You can bet to any (or all) of the following 5 characters: Botechin, Oume, + Pyokorin, Kunio, and Pyon-Pyon. Press start, and the reels start to roll. You'll + win if you can get 3 of the chosen character(s) in a row, column or diagonal. The black tadpoles behave just like jokers... If you have 2 chosen characters in a row and the remaining one is a black tadpole, it will transform into another @@ -254,6 +259,9 @@ #include "machine/nvram.h" #include "machine/gen_latch.h" +#define UNICODE_10YEN "\xC2\xA5" "10" +#define UNICODE_100YEN "\xC2\xA5" "100" + class kurukuru_state : public driver_device { public: @@ -361,7 +369,7 @@ WRITE8_MEMBER(kurukuru_state::kurukuru_out_latch_w) machine().bookkeeping().coin_counter_w(0, data & 0x01); /* Coin Counter 1 */ machine().bookkeeping().coin_counter_w(1, data & 0x20); /* Coin Counter 2 */ machine().bookkeeping().coin_lockout_global_w(data & 0x40); /* Coin Lock */ - m_hopper->write(space, 0, (data & 0x40)); /* Hopper Motor */ + m_hopper->write(space, 0, (data & 0x40) ? 0x80 : 0); /* Hopper Motor */ if (data & 0x9e) logerror("kurukuru_out_latch_w %02X @ %04X\n", data, space.device().safe_pc()); @@ -540,13 +548,13 @@ static INPUT_PORTS_START( kurukuru ) /* bits d0-d3 are JAMMA top side pins 20,21,22,23, bits d4-d7 are JAMMA bottom side pins 20,21,22,23 so that's player 1 left/right/button1/button2 then player 2 left/right/button1/button2 */ - PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("1st (Bote/Botechin)") // edge connector pin 20 top + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_POKER_HOLD1 ) PORT_NAME("1st (Botechin)") // edge connector pin 20 top PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_POKER_HOLD2 ) PORT_NAME("2nd (Oume)") // edge connector pin 21 top - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("3rd (Pyoko/Pyokorin)") // edge connector pin 22 top + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("3rd (Pyokorin)") // edge connector pin 22 top PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("4th (Kunio)") // edge connector pin 23 top PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("5th (Pyon-Pyon)") // edge connector pin 20 bottom - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_N) PORT_NAME("Unknown A0h - bit5") // edge connector pin 21 bottom - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_M) PORT_NAME("Unknown A0h - bit6") // edge connector pin 22 bottom + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) // edge connector pin 21 bottom + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // edge connector pin 22 bottom PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) // edge connector pin 23 bottom PORT_START("IN1") @@ -554,16 +562,16 @@ static INPUT_PORTS_START( kurukuru ) so that's test, tilt/slam, coin 1, coin 2, p1 start, p2 start, p1 button 3, p2 button 3 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // edge connector pin 15 top - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("Medal In") // edge connector pin 15 bottom - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Reset Button") // edge connector pin 16 top - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) // edge connector pin 16 bottom - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) PORT_NAME("Unknown B0h - bit4") // edge connector pin 17 top (active) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE (2) // edge connector pin 17 bottom + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Medal In") // edge connector pin 15 bottom + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // edge connector pin 16 top + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME(UNICODE_10YEN " In") // edge connector pin 16 bottom + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) // edge connector pin 17 top (active) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME(UNICODE_100YEN " In") PORT_IMPULSE(2) // edge connector pin 17 bottom PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) // hopper feedback, edge connector pin 24 top PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // edge connector pin 24 bottom PORT_START("DSW1") // found in the PCB: 11111111 - PORT_DIPNAME( 0x07, 0x00, "Coinage A (100 Y)" ) PORT_DIPLOCATION("DSW1:1,2,3") + PORT_DIPNAME( 0x07, 0x00, "Coinage A (" UNICODE_100YEN ")" ) PORT_DIPLOCATION("DSW1:1,2,3") PORT_DIPSETTING( 0x02, "1 Coin / 3 Medal" ) PORT_DIPSETTING( 0x06, "1 Coin / 4 Medal" ) PORT_DIPSETTING( 0x01, "1 Coin / 5 Medal" ) @@ -572,17 +580,17 @@ static INPUT_PORTS_START( kurukuru ) PORT_DIPSETTING( 0x07, "1 Coin / 11 Medal" ) PORT_DIPSETTING( 0x04, "1 Coin / 20 Medal" ) PORT_DIPSETTING( 0x00, "1 Coin / 50 Medal" ) - PORT_DIPNAME( 0x18, 0x00, "Coinage B (10 Y)" ) PORT_DIPLOCATION("DSW1:4,5") + PORT_DIPNAME( 0x18, 0x00, "Coinage B (" UNICODE_10YEN ")" ) PORT_DIPLOCATION("DSW1:4,5") PORT_DIPSETTING( 0x00, "3 Coin / 1 Medal" ) PORT_DIPSETTING( 0x10, "2 Coin / 1 Medal" ) PORT_DIPSETTING( 0x18, "1 Coin / 1 Medal" ) PORT_DIPSETTING( 0x08, "1 Coin / 2 Medal" ) PORT_DIPNAME( 0x20, 0x00, "Coinage Config" ) PORT_DIPLOCATION("DSW1:6") - PORT_DIPSETTING( 0x00, "Coin 1 = Normal; Medal In = 2 Credits by Medal" ) - PORT_DIPSETTING( 0x20, "Coin 1 = Payout; Medal In = 1 Credit by Medal" ) + PORT_DIPSETTING( 0x00, UNICODE_100YEN " = Credits; Medal In = 2 Credits by Medal" ) + PORT_DIPSETTING( 0x20, UNICODE_100YEN " = Exchange; Medal In = 1 Credit by Medal" ) PORT_DIPNAME( 0x40, 0x00, "Payout Mode" ) PORT_DIPLOCATION("DSW1:7") - PORT_DIPSETTING( 0x40, "Manual" ) - PORT_DIPSETTING( 0x00, "Automatic" ) + PORT_DIPSETTING( 0x40, "Automatic" ) + PORT_DIPSETTING( 0x00, "Manual" ) PORT_DIPNAME( 0x80, 0x00, "Repeat Last Bet") PORT_DIPLOCATION("DSW1:8") PORT_DIPSETTING( 0x80, DEF_STR( No ) ) PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) @@ -625,8 +633,8 @@ static INPUT_PORTS_START( ppj ) PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_POKER_HOLD3 ) PORT_NAME("3rd (Pyon-Pyon)") // edge connector pin 22 top PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_POKER_HOLD4 ) PORT_NAME("4th (Pyokorin)") // edge connector pin 23 top PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_POKER_HOLD5 ) PORT_NAME("5th (Botechin)") // edge connector pin 20 bottom - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_S) PORT_NAME("Unknown 70h - bit5") // edge connector pin 21 bottom (active) - PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_NAME("Unknown 70h - bit6") // edge connector pin 22 bottom (active) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) // edge connector pin 21 bottom (active) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // edge connector pin 22 bottom (active) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START1 ) // edge connector pin 23 bottom PORT_START("IN1") @@ -634,16 +642,16 @@ static INPUT_PORTS_START( ppj ) so that's test, tilt/slam, coin 1, coin 2, p1 start, p2 start, p1 button 3, p2 button 3 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_GAMBLE_BOOK ) // edge connector pin 15 top - PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME("Medal In") // edge connector pin 15 bottom - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_CODE(KEYCODE_9) PORT_NAME("Reset Button") // edge connector pin 16 top - PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) // edge connector pin 16 bottom - PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_A) PORT_NAME("Unknown 60h - bit4") // edge connector pin 17 top (active) - PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_IMPULSE (2) // edge connector pin 17 bottom + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN1 ) PORT_NAME("Medal In") // edge connector pin 15 bottom + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // edge connector pin 16 top + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN2 ) PORT_NAME(UNICODE_10YEN " In") // edge connector pin 16 bottom + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) // edge connector pin 17 top (active) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN3 ) PORT_NAME(UNICODE_100YEN " In") PORT_IMPULSE(2) // edge connector pin 17 bottom PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("hopper", ticket_dispenser_device, line_r) // hopper feedback, edge connector pin 24 top PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) // edge connector pin 24 bottom PORT_START("DSW1") // found in the PCB: 00000000 (arranged for sale since they are uncommon settings) - PORT_DIPNAME( 0x07, 0x03, "Coinage A (100 Y)" ) PORT_DIPLOCATION("DSW1:1,2,3") + PORT_DIPNAME( 0x07, 0x03, "Coinage A (" UNICODE_100YEN ")" ) PORT_DIPLOCATION("DSW1:1,2,3") PORT_DIPSETTING( 0x00, "1 Coin / 1 Medal" ) PORT_DIPSETTING( 0x04, "1 Coin / 2 Medal" ) PORT_DIPSETTING( 0x02, "1 Coin / 3 Medal" ) @@ -652,21 +660,22 @@ static INPUT_PORTS_START( ppj ) PORT_DIPSETTING( 0x05, "1 Coin / 6 Medal" ) PORT_DIPSETTING( 0x03, "1 Coin / 10 Medal" ) PORT_DIPSETTING( 0x07, "1 Coin / 11 Medal" ) - PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:4") - PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + // Coinage B is always 1 Coin / 1 Medal + PORT_DIPNAME( 0x08, 0x00, "Coinage Config" ) PORT_DIPLOCATION("DSW1:4") + PORT_DIPSETTING( 0x00, UNICODE_100YEN " = Credits" ) + PORT_DIPSETTING( 0x08, UNICODE_100YEN " = Exchange" ) + PORT_DIPNAME( 0x10, 0x00, "Payout Mode" ) PORT_DIPLOCATION("DSW1:5") + PORT_DIPSETTING( 0x10, "Automatic" ) + PORT_DIPSETTING( 0x00, "Manual" ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:6") + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x10, 0x00, "Unknown (related to coin1/payout)") PORT_DIPLOCATION("DSW1:5") - PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:7") + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW1:8") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_DIPNAME( 0x20, 0x00, "Coinage Config" ) PORT_DIPLOCATION("DSW1:6") - PORT_DIPSETTING( 0x00, "Coin 1 = Normal" ) - PORT_DIPSETTING( 0x20, "Coin 1 = Payout" ) - PORT_DIPNAME( 0x40, 0x00, "Payout Mode" ) PORT_DIPLOCATION("DSW1:7") - PORT_DIPSETTING( 0x40, "Manual" ) - PORT_DIPSETTING( 0x00, "Automatic" ) - PORT_DIPNAME( 0x80, 0x00, "Repeat Last Bet") PORT_DIPLOCATION("DSW1:8") - PORT_DIPSETTING( 0x80, DEF_STR( No ) ) - PORT_DIPSETTING( 0x00, DEF_STR( Yes ) ) PORT_START("DSW2") // found in the PCB: 00000000 (arranged for sale since they are uncommon settings) PORT_DIPNAME( 0x07, 0x01, "Percentage" ) PORT_DIPLOCATION("DSW2:1,2,3") @@ -732,7 +741,7 @@ static MACHINE_CONFIG_START( kurukuru, kurukuru_state ) MCFG_V99X8_INTERRUPT_CALLBACK(INPUTLINE("maincpu", 0)) MCFG_V99X8_SCREEN_ADD_NTSC("screen", "v9938", MAIN_CLOCK) - MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(HOPPER_PULSE), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_LOW ) + MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(HOPPER_PULSE), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH ) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -770,7 +779,7 @@ static MACHINE_CONFIG_START( ppj, kurukuru_state ) MCFG_V99X8_INTERRUPT_CALLBACK(INPUTLINE("maincpu", 0)) MCFG_V99X8_SCREEN_ADD_NTSC("screen", "v9938", MAIN_CLOCK) - MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(HOPPER_PULSE), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_LOW ) + MCFG_TICKET_DISPENSER_ADD("hopper", attotime::from_msec(HOPPER_PULSE), TICKET_MOTOR_ACTIVE_HIGH, TICKET_STATUS_ACTIVE_HIGH ) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -800,6 +809,7 @@ MACHINE_CONFIG_END ROM_START( kurukuru ) ROM_REGION( 0x08000, "maincpu", 0 ) ROM_LOAD( "kp_17l.ic17", 0x00000, 0x08000, CRC(9b552ebc) SHA1(07d0e62b7fdad381963a345376b72ad31eb7b96d) ) // program code + // Game ID string: "carp carp carp hiroshima ---" ROM_REGION( 0x40000, "user1", 0 ) // maincpu banked roms ROM_FILL( 0x00000, 0x10000, 0xff ) // ic23: unpopulated @@ -824,6 +834,7 @@ ROM_END ROM_START( ppj ) ROM_REGION( 0x08000, "maincpu", 0 ) ROM_LOAD( "ppj17.ic17", 0x00000, 0x08000, CRC(5d9c9ceb) SHA1(0f52c8a0aaaf978afeb07e56493399133b4ce781) ) // program code + // Game ID string: "PYON PYON JUMP V1.40" ROM_REGION( 0x40000, "user1", 0 ) // maincpu banked roms ROM_FILL( 0x00000, 0x10000, 0xff ) // ic23: unpopulated diff --git a/src/mame/drivers/lc80.cpp b/src/mame/drivers/lc80.cpp index b29f5836f35..9deed1fc2fe 100644 --- a/src/mame/drivers/lc80.cpp +++ b/src/mame/drivers/lc80.cpp @@ -64,9 +64,9 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( lc80_io, AS_IO, 8, lc80_state ) ADDRESS_MAP_GLOBAL_MASK(0x1f) - AM_RANGE(0xf4, 0xf7) AM_DEVREADWRITE(Z80PIO1_TAG, z80pio_device, read, write) - AM_RANGE(0xf8, 0xfb) AM_DEVREADWRITE(Z80PIO2_TAG, z80pio_device, read, write) - AM_RANGE(0xec, 0xef) AM_DEVREADWRITE(Z80CTC_TAG, z80ctc_device, read, write) + AM_RANGE(0x14, 0x17) AM_DEVREADWRITE(Z80PIO1_TAG, z80pio_device, read, write) + AM_RANGE(0x18, 0x1b) AM_DEVREADWRITE(Z80PIO2_TAG, z80pio_device, read, write) + AM_RANGE(0x0c, 0x0f) AM_DEVREADWRITE(Z80CTC_TAG, z80ctc_device, read, write) ADDRESS_MAP_END /* Input Ports */ diff --git a/src/mame/drivers/lisa.cpp b/src/mame/drivers/lisa.cpp index 34e9b8bbe1f..1e5dad25b03 100644 --- a/src/mame/drivers/lisa.cpp +++ b/src/mame/drivers/lisa.cpp @@ -31,7 +31,6 @@ static ADDRESS_MAP_START(lisa_fdc_map, AS_PROGRAM, 8, lisa_state ) AM_RANGE(0x0400, 0x07ff) AM_READWRITE(lisa_fdc_io_r, lisa_fdc_io_w) /* disk controller (IWM and TTL logic) */ AM_RANGE(0x0800, 0x0fff) AM_NOP AM_RANGE(0x1000, 0x1fff) AM_ROM AM_REGION("fdccpu", 0x1000) AM_SHARE("fdc_rom") /* ROM */ - AM_RANGE(0x2000, 0xffff) AM_READWRITE(lisa_fdc_r, lisa_fdc_w) /* handler for wrap-around */ ADDRESS_MAP_END static ADDRESS_MAP_START(lisa210_fdc_map, AS_PROGRAM, 8, lisa_state ) @@ -41,7 +40,6 @@ static ADDRESS_MAP_START(lisa210_fdc_map, AS_PROGRAM, 8, lisa_state ) AM_RANGE(0x0800, 0x0bff) AM_READWRITE(lisa_fdc_io_r, lisa_fdc_io_w) /* disk controller (IWM and TTL logic) */ AM_RANGE(0x0c00, 0x0fff) AM_NOP /* nothing, or IO port wrap-around ??? */ AM_RANGE(0x1000, 0x1fff) AM_ROM AM_REGION("fdccpu", 0x1000) AM_SHARE("fdc_rom") /* ROM */ - AM_RANGE(0x2000, 0xffff) AM_READWRITE(lisa_fdc_r, lisa_fdc_w) /* handler for wrap-around */ ADDRESS_MAP_END diff --git a/src/mame/drivers/lvcards.cpp b/src/mame/drivers/lvcards.cpp index 48225a4cc78..2d855815cdd 100644 --- a/src/mame/drivers/lvcards.cpp +++ b/src/mame/drivers/lvcards.cpp @@ -272,7 +272,7 @@ static INPUT_PORTS_START( lvpoker ) PORT_START("IN0") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_SERVICE ) PORT_NAME("Analyzer") PORT_TOGGLE PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_MINUS) PORT_NAME("Memory Reset") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_CODE(KEYCODE_MINUS) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Clear Stats") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_EQUALS) PORT_NAME("Hopper Reset") diff --git a/src/mame/drivers/mpu4sw.hxx b/src/mame/drivers/mpu4sw.hxx index c8d9c00f8ab..74f4b6b802b 100644 --- a/src/mame/drivers/mpu4sw.hxx +++ b/src/mame/drivers/mpu4sw.hxx @@ -2376,18 +2376,20 @@ GAME_CUSTOM( 199?, m4tutfrt__ag, m4tutfrt, "tf4y.p1", 0x0000, 0 // "I.G.T SUCKS" and "F2U 0.1" GAME_CUSTOM( 199?, m4tutfrt__at, m4tutfrt, "tut25.bin", 0x0000, 0x010000, CRC(c98fb5bb) SHA1(1a3bc343a38b5978a919b454e9a2e806dce7a78a), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1, hack, set 1)" ) GAME_CUSTOM( 199?, m4tutfrt__au, m4tutfrt, "tut25patched.bin", 0x0000, 0x010000, CRC(b4443cf5) SHA1(e79ec52730146f1591140555b814cbd20b5dfe78), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (F2U 0.1, hack, set 2)" ) -// Bwb sets? don't have valid headers, don't show startup text.. could be something else? -GAME_CUSTOM( 199?, m4tutfrt__av, m4tutfrt, "tu_05___.1a3", 0x0000, 0x010000, CRC(97acc82d) SHA1(be53e60cb8a33b91a7f5556715ab4befe7170dd2), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (set 59)" ) -GAME_CUSTOM( 199?, m4tutfrt__aw, m4tutfrt, "tu_05_d_.1a3", 0x0000, 0x010000, CRC(33bb3018) SHA1(2c2f49c31919682ac03e61a665ce15d835e22467), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (set 60)" ) -GAME_CUSTOM( 199?, m4tutfrt__ax, m4tutfrt, "tu_10___.1a3", 0x0000, 0x010000, CRC(7878827f) SHA1(ac692ae50e63e632d45e7240c2520df83d2baaf5), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (set 61)" ) -GAME_CUSTOM( 199?, m4tutfrt__ay, m4tutfrt, "tu_20___.1a3", 0x0000, 0x010000, CRC(cada1c42) SHA1(6a4048da89a0bffeebfd21549c2d9812cc275bd5), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (set 62)" ) -GAME_CUSTOM( 199?, m4tutfrt__az, m4tutfrt, "tu_20_b_.1a3", 0x0000, 0x010000, CRC(a8f1bc11) SHA1(03596171540e6490133f374cca69f4fd0359952e), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (set 63)" ) -GAME_CUSTOM( 199?, m4tutfrt__a0, m4tutfrt, "tu_20_d_.1a3", 0x0000, 0x010000, CRC(6ecde477) SHA1(694296eb226c59069800d6936c9dee2623105db0), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (set 64)" ) -GAME_CUSTOM( 199?, m4tutfrt__a1, m4tutfrt, "tu_20_k_.1a3", 0x0000, 0x010000, CRC(0ce64424) SHA1(7415c9de9982aa7f15f71ef791cbd8ad5a9331d3), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (set 65)" ) -GAME_CUSTOM( 199?, m4tutfrt__a2, m4tutfrt, "tu_20bg_.1a3", 0x0000, 0x010000, CRC(31a6196d) SHA1(1113737dd3b209afda14ec273d923e2057ea7d99), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (set 66)" ) -GAME_CUSTOM( 199?, m4tutfrt__a3, m4tutfrt, "tuf20__1.0", 0x0000, 0x010000, CRC(ddadbcb6) SHA1(2d2934ec73d979de45d0998f8975361d33358dd3), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (set 67)" ) -GAME_CUSTOM( 199?, m4tutfrt__a4, m4tutfrt, "tuf20ad1.0", 0x0000, 0x010000, CRC(5a74ead3) SHA1(3216c8d0c67aaeb18f791a6e1f3f6e30145d6beb), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (set 68)" ) -GAME_CUSTOM( 199?, m4tutfrt__a5, m4tutfrt, "tui05___.1a3", 0x0000, 0x010000, CRC(42e3d400) SHA1(4cf914141dfc1f88704403b467176da77369da06), "Barcrest","Tutti Fruity (Barcrest) (MPU4) (set 69)" ) + + +// I think these might be for a different game with the same name, maybe MPU4 Video. +GAME_CUSTOM( 199?, m4tutfrt__av, m4tutfrt, "tu_05___.1a3", 0x0000, 0x010000, CRC(97acc82d) SHA1(be53e60cb8a33b91a7f5556715ab4befe7170dd2), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4tutfrt__aw, m4tutfrt, "tu_05_d_.1a3", 0x0000, 0x010000, CRC(33bb3018) SHA1(2c2f49c31919682ac03e61a665ce15d835e22467), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4tutfrt__ax, m4tutfrt, "tu_10___.1a3", 0x0000, 0x010000, CRC(7878827f) SHA1(ac692ae50e63e632d45e7240c2520df83d2baaf5), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4tutfrt__ay, m4tutfrt, "tu_20___.1a3", 0x0000, 0x010000, CRC(cada1c42) SHA1(6a4048da89a0bffeebfd21549c2d9812cc275bd5), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4tutfrt__az, m4tutfrt, "tu_20_b_.1a3", 0x0000, 0x010000, CRC(a8f1bc11) SHA1(03596171540e6490133f374cca69f4fd0359952e), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4tutfrt__a0, m4tutfrt, "tu_20_d_.1a3", 0x0000, 0x010000, CRC(6ecde477) SHA1(694296eb226c59069800d6936c9dee2623105db0), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 6)" ) +GAME_CUSTOM( 199?, m4tutfrt__a1, m4tutfrt, "tu_20_k_.1a3", 0x0000, 0x010000, CRC(0ce64424) SHA1(7415c9de9982aa7f15f71ef791cbd8ad5a9331d3), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4tutfrt__a2, m4tutfrt, "tu_20bg_.1a3", 0x0000, 0x010000, CRC(31a6196d) SHA1(1113737dd3b209afda14ec273d923e2057ea7d99), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 8)" ) +GAME_CUSTOM( 199?, m4tutfrt__a3, m4tutfrt, "tuf20__1.0", 0x0000, 0x010000, CRC(ddadbcb6) SHA1(2d2934ec73d979de45d0998f8975361d33358dd3), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 9)" ) +GAME_CUSTOM( 199?, m4tutfrt__a4, m4tutfrt, "tuf20ad1.0", 0x0000, 0x010000, CRC(5a74ead3) SHA1(3216c8d0c67aaeb18f791a6e1f3f6e30145d6beb), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 10)" ) +GAME_CUSTOM( 199?, m4tutfrt__a5, m4tutfrt, "tui05___.1a3", 0x0000, 0x010000, CRC(42e3d400) SHA1(4cf914141dfc1f88704403b467176da77369da06), "Bwb","Tutti Fruity (Bwb) (MPU4) (set 11)" ) #define M4CASHAT_EXTRA_ROMS \ @@ -2405,36 +2407,22 @@ GAME_CUSTOM( 199?, m4tutfrt__a5, m4tutfrt, "tui05___.1a3", 0x0000, 0 ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4cashat, 0, "csa12y.p1", 0x0000, 0x020000, CRC(0374584a) SHA1(446e1d122d5b38e4ee11d98a4235d7198d98b541), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4cashat__a, m4cashat, "caa22ad.p1", 0x0000, 0x020000, CRC(b6274874) SHA1(7c2dc0f3e8e7bb76f3b90300141b320fa0ca39ac), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4cashat__b, m4cashat, "caa22b.p1", 0x0000, 0x020000, CRC(e7f6f5e5) SHA1(fc16b50ae00525a3c84c0cbf7b418898cc5db1bc), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4cashat__c, m4cashat, "caa22bd.p1", 0x0000, 0x020000, CRC(581b2b6f) SHA1(55f910c7646d5e7d3be6ffd5b4ec0f04fb98b82e), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4cashat__d, m4cashat, "caa22d.p1", 0x0000, 0x020000, CRC(cc494044) SHA1(13ff215f41833aa133fe9d120792c834d1e0752b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4cashat__e, m4cashat, "caa22dh.p1", 0x0000, 0x020000, CRC(18ae14fa) SHA1(20a8f197075ec153ac116b9a85e3591d9d4d045d), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4cashat__f, m4cashat, "caa22dk.p1", 0x0000, 0x020000, CRC(71fa4ee7) SHA1(ddf2cee47f93cc5794d64922658d5892993c8d2f), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4cashat__g, m4cashat, "caa22dr.p1", 0x0000, 0x020000, CRC(c2f5f5d6) SHA1(aebedb84ae388a1f0c558d36893d1341c1959594), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4cashat__h, m4cashat, "caa22dy.p1", 0x0000, 0x020000, CRC(3b3de6b1) SHA1(d72ce7851969466063c6d7952787691a7c44c9dd), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4cashat__i, m4cashat, "caa22h.p1", 0x0000, 0x020000, CRC(a743ca70) SHA1(e4b5ee02524873c2ccb66b4bfca39464c23eb43e), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4cashat__j, m4cashat, "caa22k.p1", 0x0000, 0x020000, CRC(ce17906d) SHA1(18a302132e683b00509982c09c6e3b00ae1201a0), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4cashat__k, m4cashat, "caa22r.p1", 0x0000, 0x020000, CRC(7d182b5c) SHA1(801d1b032e94cc45302a9f84ba7f9ce2b74f6449), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4cashat__l, m4cashat, "caa22s.p1", 0x0000, 0x020000, CRC(e7edf653) SHA1(f2bdf45cc18ad4b45b47d2b2b4641460fcdfa963), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4cashat__m, m4cashat, "caa22y.p1", 0x0000, 0x020000, CRC(84d0383b) SHA1(791666ce17fd65067df446a3320efd22bce23925), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4cashat__n, m4cashat, "caa23ad.p1", 0x0000, 0x020000, CRC(a8641c35) SHA1(18dad4634e27e4f0b791c331b9efcf5e1d56d3bb), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4cashat__o, m4cashat, "caa23b.p1", 0x0000, 0x020000, CRC(a867c129) SHA1(9b0b577938ae0500a8b80211710ed5c0b2a597fa), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4cashat__p, m4cashat, "caa23bd.p1", 0x0000, 0x020000, CRC(46587f2e) SHA1(b14ed6b810ba3039824a0d13c5b75fedd40803b3), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4cashat__q, m4cashat, "caa23d.p1", 0x0000, 0x020000, CRC(83d87488) SHA1(1e13a47de4837e42650c6a4a13a838eb68d0beae), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4cashat__r, m4cashat, "caa23dh.p1", 0x0000, 0x020000, CRC(06ed40bb) SHA1(68f2923c4ecd91231cc66a4be7c797d7b2a46ae0), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4cashat__s, m4cashat, "caa23dk.p1", 0x0000, 0x020000, CRC(6fb91aa6) SHA1(5966be8aa9d5348bbdcb85b21acceaabc3c02602), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4cashat__t, m4cashat, "caa23dr.p1", 0x0000, 0x020000, CRC(dcb6a197) SHA1(a18af78ba604b53a2af1e9b8dfdc6858964f631d), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4cashat__u, m4cashat, "caa23dy.p1", 0x0000, 0x020000, CRC(257eb2f0) SHA1(0a5f9743afb5dd7392425951580532ea5f8f17f1), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4cashat__v, m4cashat, "caa23h.p1", 0x0000, 0x020000, CRC(e8d2febc) SHA1(14fe5e1699fef74145f2f6fff61e75fe3e3a0b3b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4cashat__w, m4cashat, "caa23k.p1", 0x0000, 0x020000, CRC(8186a4a1) SHA1(0d8f59df0fb5a1044f6fb7d81f50f9c9b94add9b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4cashat__x, m4cashat, "caa23r.p1", 0x0000, 0x020000, CRC(32891f90) SHA1(c832c2610606bc5a3beeff8f85c31af496b14427), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4cashat__y, m4cashat, "caa23s.p1", 0x0000, 0x020000, CRC(26a49cdd) SHA1(ee28a22eeb8c4e8ddf041122505f9846d6b6d7d6), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4cashat__z, m4cashat, "caa23y.p1", 0x0000, 0x020000, CRC(cb410cf7) SHA1(31d34a766939a9b2a23be00c2ffd658d854b3ab4), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4cashat__0, m4cashat, "casattack8.bin", 0x0000, 0x020000, CRC(e29ea247) SHA1(ad00ea3bfd2eab51b20fd786cb1ce84de0d98173), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4cashat__1, m4cashat, "catt15g", 0x0000, 0x020000, CRC(3f7a8863) SHA1(df8ed393aeb3a5ec3fd5bdc01c9dbbb630e6d254), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4cashat__2, m4cashat, "catt15t", 0x0000, 0x020000, CRC(c6760c3a) SHA1(b7f4a3af52faf7e430e5b4ec75e2dc97e3f07dc0), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 30)" ) +// "(C)1993 BARCREST" and "CSA 1.2" +GAME_CUSTOM( 199?, m4cashat, 0, "csa12s.p1", 0x0000, 0x020000, CRC(61c8af36) SHA1(d81a4056b573194a8627a3618f805d379140ff6a), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.2)" ) +GAME_CUSTOM( 199?, m4cashat__ar, m4cashat, "csa12y.p1", 0x0000, 0x020000, CRC(0374584a) SHA1(446e1d122d5b38e4ee11d98a4235d7198d98b541), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4cashat__ag, m4cashat, "csa12ad.p1", 0x0000, 0x020000, CRC(b15c5c64) SHA1(7a8c7b929ecaf0e14d9a5d6cdea303f5e3fc1dec), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 44)" ) +GAME_CUSTOM( 199?, m4cashat__ah, m4cashat, "csa12b.p1", 0x0000, 0x020000, CRC(60529594) SHA1(a5e70b55b8df6a94c963b970c3a4398b64b0286b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 45)" ) +GAME_CUSTOM( 199?, m4cashat__ai, m4cashat, "csa12bd.p1", 0x0000, 0x020000, CRC(98bd39ec) SHA1(ebc5a2690f1453adae0f8faee0159a01df91dd6e), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 46)" ) +GAME_CUSTOM( 199?, m4cashat__aj, m4cashat, "csa12d.p1", 0x0000, 0x020000, CRC(4bed2035) SHA1(d5438d372222c4258ffb6487ba64eed9ce190133), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 47)" ) +GAME_CUSTOM( 199?, m4cashat__ak, m4cashat, "csa12dh.p1", 0x0000, 0x020000, CRC(76815af7) SHA1(6edd4a866a1b038a51cfcc9ed8cef48886b393fb), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 48)" ) +GAME_CUSTOM( 199?, m4cashat__al, m4cashat, "csa12dk.p1", 0x0000, 0x020000, CRC(d8080679) SHA1(92babec65fbcee37ff8136a5c4b1e5f4ecd2f5a6), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 49)" ) +GAME_CUSTOM( 199?, m4cashat__am, m4cashat, "csa12dr.p1", 0x0000, 0x020000, CRC(0253e755) SHA1(742174137549147ff23fbc9ba1b835cbeaffa602), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 50)" ) +GAME_CUSTOM( 199?, m4cashat__an, m4cashat, "csa12dy.p1", 0x0000, 0x020000, CRC(fb9bf432) SHA1(5f519871cc50cf9f49ec652d620267cd11ab155b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 51)" ) +GAME_CUSTOM( 199?, m4cashat__ao, m4cashat, "csa12h.p1", 0x0000, 0x020000, CRC(8e6ef68f) SHA1(b6ac0993938bb065f02498a71628cf532085b347), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 52)" ) +GAME_CUSTOM( 199?, m4cashat__ap, m4cashat, "csa12k.p1", 0x0000, 0x020000, CRC(20e7aa01) SHA1(093786b0992c1d9ce5e2d2cfad1eaf1d8e6dc733), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 53)" ) +GAME_CUSTOM( 199?, m4cashat__aq, m4cashat, "csa12r.p1", 0x0000, 0x020000, CRC(fabc4b2d) SHA1(3710b7b4bf56e46c60a60fcae82342bf201e38dc), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 54)" ) +// "(C)1993 BARCREST" and "CSA 1.1" +GAME_CUSTOM( 199?, m4cashat__ae, m4cashat, "csa11s.p1", 0x0000, 0x020000, CRC(bef7a119) SHA1(88fc2003a7adda928e2e0fb78db32c7ffcbda924), "Barcrest","Cash Attack (Barcrest) (MPU4) (CSA 1.1)" ) GAME_CUSTOM( 199?, m4cashat__3, m4cashat, "csa11ad.p1", 0x0000, 0x020000, CRC(7c1daa59) SHA1(9c0479094ba2f985803e58360b738b0baa2e410a), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 31)" ) GAME_CUSTOM( 199?, m4cashat__4, m4cashat, "csa11b.p1", 0x0000, 0x020000, CRC(c740daba) SHA1(afa5bdf9f6aacb3a5126aa828e4d0d2518efe663), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 32)" ) GAME_CUSTOM( 199?, m4cashat__5, m4cashat, "csa11bd.p1", 0x0000, 0x020000, CRC(55fccfd1) SHA1(b7c748573e5fb32a6be5e069e7f165a11c62b7d5), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 33)" ) @@ -2446,20 +2434,40 @@ GAME_CUSTOM( 199?, m4cashat__aa, m4cashat, "csa11dy.p1", 0x0000, 0x020 GAME_CUSTOM( 199?, m4cashat__ab, m4cashat, "csa11h.p1", 0x0000, 0x020000, CRC(297cb9a1) SHA1(63460eed75242fc7c27ee1fc9da28221e7bb21b1), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 39)" ) GAME_CUSTOM( 199?, m4cashat__ac, m4cashat, "csa11k.p1", 0x0000, 0x020000, CRC(87f5e52f) SHA1(30b7f8c17198045bba30aaabbe74b3c1dc7d0320), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 40)" ) GAME_CUSTOM( 199?, m4cashat__ad, m4cashat, "csa11r.p1", 0x0000, 0x020000, CRC(5dae0403) SHA1(6f2238f0fe0797bf0926044bb251fed6f97dbed6), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 41)" ) -GAME_CUSTOM( 199?, m4cashat__ae, m4cashat, "csa11s.p1", 0x0000, 0x020000, CRC(bef7a119) SHA1(88fc2003a7adda928e2e0fb78db32c7ffcbda924), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 42)" ) GAME_CUSTOM( 199?, m4cashat__af, m4cashat, "csa11y.p1", 0x0000, 0x020000, CRC(a4661764) SHA1(740be82275358b8e3dcec5982b18a083d043d99d), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 43)" ) -GAME_CUSTOM( 199?, m4cashat__ag, m4cashat, "csa12ad.p1", 0x0000, 0x020000, CRC(b15c5c64) SHA1(7a8c7b929ecaf0e14d9a5d6cdea303f5e3fc1dec), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 44)" ) -GAME_CUSTOM( 199?, m4cashat__ah, m4cashat, "csa12b.p1", 0x0000, 0x020000, CRC(60529594) SHA1(a5e70b55b8df6a94c963b970c3a4398b64b0286b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 45)" ) -GAME_CUSTOM( 199?, m4cashat__ai, m4cashat, "csa12bd.p1", 0x0000, 0x020000, CRC(98bd39ec) SHA1(ebc5a2690f1453adae0f8faee0159a01df91dd6e), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 46)" ) -GAME_CUSTOM( 199?, m4cashat__aj, m4cashat, "csa12d.p1", 0x0000, 0x020000, CRC(4bed2035) SHA1(d5438d372222c4258ffb6487ba64eed9ce190133), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 47)" ) -GAME_CUSTOM( 199?, m4cashat__ak, m4cashat, "csa12dh.p1", 0x0000, 0x020000, CRC(76815af7) SHA1(6edd4a866a1b038a51cfcc9ed8cef48886b393fb), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 48)" ) -GAME_CUSTOM( 199?, m4cashat__al, m4cashat, "csa12dk.p1", 0x0000, 0x020000, CRC(d8080679) SHA1(92babec65fbcee37ff8136a5c4b1e5f4ecd2f5a6), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 49)" ) -GAME_CUSTOM( 199?, m4cashat__am, m4cashat, "csa12dr.p1", 0x0000, 0x020000, CRC(0253e755) SHA1(742174137549147ff23fbc9ba1b835cbeaffa602), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 50)" ) -GAME_CUSTOM( 199?, m4cashat__an, m4cashat, "csa12dy.p1", 0x0000, 0x020000, CRC(fb9bf432) SHA1(5f519871cc50cf9f49ec652d620267cd11ab155b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 51)" ) -GAME_CUSTOM( 199?, m4cashat__ao, m4cashat, "csa12h.p1", 0x0000, 0x020000, CRC(8e6ef68f) SHA1(b6ac0993938bb065f02498a71628cf532085b347), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 52)" ) -GAME_CUSTOM( 199?, m4cashat__ap, m4cashat, "csa12k.p1", 0x0000, 0x020000, CRC(20e7aa01) SHA1(093786b0992c1d9ce5e2d2cfad1eaf1d8e6dc733), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 53)" ) -GAME_CUSTOM( 199?, m4cashat__aq, m4cashat, "csa12r.p1", 0x0000, 0x020000, CRC(fabc4b2d) SHA1(3710b7b4bf56e46c60a60fcae82342bf201e38dc), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 54)" ) -GAME_CUSTOM( 199?, m4cashat__ar, m4cashat, "csa12s.p1", 0x0000, 0x020000, CRC(61c8af36) SHA1(d81a4056b573194a8627a3618f805d379140ff6a), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 55)" ) +// "(C)1993 BARCREST" and "CAA 2.3" +GAME_CUSTOM( 199?, m4cashat__y, m4cashat, "caa23s.p1", 0x0000, 0x020000, CRC(26a49cdd) SHA1(ee28a22eeb8c4e8ddf041122505f9846d6b6d7d6), "Barcrest","Cash Attack (Barcrest) (MPU4) (CAA 2.3)" ) +GAME_CUSTOM( 199?, m4cashat__n, m4cashat, "caa23ad.p1", 0x0000, 0x020000, CRC(a8641c35) SHA1(18dad4634e27e4f0b791c331b9efcf5e1d56d3bb), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 15)" ) +GAME_CUSTOM( 199?, m4cashat__o, m4cashat, "caa23b.p1", 0x0000, 0x020000, CRC(a867c129) SHA1(9b0b577938ae0500a8b80211710ed5c0b2a597fa), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 16)" ) +GAME_CUSTOM( 199?, m4cashat__p, m4cashat, "caa23bd.p1", 0x0000, 0x020000, CRC(46587f2e) SHA1(b14ed6b810ba3039824a0d13c5b75fedd40803b3), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 17)" ) +GAME_CUSTOM( 199?, m4cashat__q, m4cashat, "caa23d.p1", 0x0000, 0x020000, CRC(83d87488) SHA1(1e13a47de4837e42650c6a4a13a838eb68d0beae), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 18)" ) +GAME_CUSTOM( 199?, m4cashat__r, m4cashat, "caa23dh.p1", 0x0000, 0x020000, CRC(06ed40bb) SHA1(68f2923c4ecd91231cc66a4be7c797d7b2a46ae0), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 19)" ) +GAME_CUSTOM( 199?, m4cashat__s, m4cashat, "caa23dk.p1", 0x0000, 0x020000, CRC(6fb91aa6) SHA1(5966be8aa9d5348bbdcb85b21acceaabc3c02602), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 20)" ) +GAME_CUSTOM( 199?, m4cashat__t, m4cashat, "caa23dr.p1", 0x0000, 0x020000, CRC(dcb6a197) SHA1(a18af78ba604b53a2af1e9b8dfdc6858964f631d), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 21)" ) +GAME_CUSTOM( 199?, m4cashat__u, m4cashat, "caa23dy.p1", 0x0000, 0x020000, CRC(257eb2f0) SHA1(0a5f9743afb5dd7392425951580532ea5f8f17f1), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 22)" ) +GAME_CUSTOM( 199?, m4cashat__v, m4cashat, "caa23h.p1", 0x0000, 0x020000, CRC(e8d2febc) SHA1(14fe5e1699fef74145f2f6fff61e75fe3e3a0b3b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 23)" ) +GAME_CUSTOM( 199?, m4cashat__w, m4cashat, "caa23k.p1", 0x0000, 0x020000, CRC(8186a4a1) SHA1(0d8f59df0fb5a1044f6fb7d81f50f9c9b94add9b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 24)" ) +GAME_CUSTOM( 199?, m4cashat__x, m4cashat, "caa23r.p1", 0x0000, 0x020000, CRC(32891f90) SHA1(c832c2610606bc5a3beeff8f85c31af496b14427), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 25)" ) +GAME_CUSTOM( 199?, m4cashat__z, m4cashat, "caa23y.p1", 0x0000, 0x020000, CRC(cb410cf7) SHA1(31d34a766939a9b2a23be00c2ffd658d854b3ab4), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 27)" ) +// "(C)1993 BARCREST" and "CAA 2.2" +GAME_CUSTOM( 199?, m4cashat__l, m4cashat, "caa22s.p1", 0x0000, 0x020000, CRC(e7edf653) SHA1(f2bdf45cc18ad4b45b47d2b2b4641460fcdfa963), "Barcrest","Cash Attack (Barcrest) (MPU4) (CAA 2.2)" ) +GAME_CUSTOM( 199?, m4cashat__a, m4cashat, "caa22ad.p1", 0x0000, 0x020000, CRC(b6274874) SHA1(7c2dc0f3e8e7bb76f3b90300141b320fa0ca39ac), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4cashat__b, m4cashat, "caa22b.p1", 0x0000, 0x020000, CRC(e7f6f5e5) SHA1(fc16b50ae00525a3c84c0cbf7b418898cc5db1bc), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4cashat__c, m4cashat, "caa22bd.p1", 0x0000, 0x020000, CRC(581b2b6f) SHA1(55f910c7646d5e7d3be6ffd5b4ec0f04fb98b82e), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4cashat__d, m4cashat, "caa22d.p1", 0x0000, 0x020000, CRC(cc494044) SHA1(13ff215f41833aa133fe9d120792c834d1e0752b), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4cashat__e, m4cashat, "caa22dh.p1", 0x0000, 0x020000, CRC(18ae14fa) SHA1(20a8f197075ec153ac116b9a85e3591d9d4d045d), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 6)" ) +GAME_CUSTOM( 199?, m4cashat__f, m4cashat, "caa22dk.p1", 0x0000, 0x020000, CRC(71fa4ee7) SHA1(ddf2cee47f93cc5794d64922658d5892993c8d2f), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4cashat__g, m4cashat, "caa22dr.p1", 0x0000, 0x020000, CRC(c2f5f5d6) SHA1(aebedb84ae388a1f0c558d36893d1341c1959594), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 8)" ) +GAME_CUSTOM( 199?, m4cashat__h, m4cashat, "caa22dy.p1", 0x0000, 0x020000, CRC(3b3de6b1) SHA1(d72ce7851969466063c6d7952787691a7c44c9dd), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 9)" ) +GAME_CUSTOM( 199?, m4cashat__i, m4cashat, "caa22h.p1", 0x0000, 0x020000, CRC(a743ca70) SHA1(e4b5ee02524873c2ccb66b4bfca39464c23eb43e), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 10)" ) +GAME_CUSTOM( 199?, m4cashat__j, m4cashat, "caa22k.p1", 0x0000, 0x020000, CRC(ce17906d) SHA1(18a302132e683b00509982c09c6e3b00ae1201a0), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 11)" ) +GAME_CUSTOM( 199?, m4cashat__k, m4cashat, "caa22r.p1", 0x0000, 0x020000, CRC(7d182b5c) SHA1(801d1b032e94cc45302a9f84ba7f9ce2b74f6449), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4cashat__m, m4cashat, "caa22y.p1", 0x0000, 0x020000, CRC(84d0383b) SHA1(791666ce17fd65067df446a3320efd22bce23925), "Barcrest","Cash Attack (Barcrest) (MPU4) (set 14)" ) +// no copyright string and "CAA 2.3" +GAME_CUSTOM( 199?, m4cashat__0, m4cashat, "casattack8.bin", 0x0000, 0x020000, CRC(e29ea247) SHA1(ad00ea3bfd2eab51b20fd786cb1ce84de0d98173), "hack","Cash Attack (Barcrest) (MPU4) (CAA 2.3, hack, set 1)" ) +GAME_CUSTOM( 199?, m4cashat__1, m4cashat, "catt15g", 0x0000, 0x020000, CRC(3f7a8863) SHA1(df8ed393aeb3a5ec3fd5bdc01c9dbbb630e6d254), "hack","Cash Attack (Barcrest) (MPU4) (CAA 2.3, hack, set 2)" ) +// no copyright string and "CSA 1.2" +GAME_CUSTOM( 199?, m4cashat__2, m4cashat, "catt15t", 0x0000, 0x020000, CRC(c6760c3a) SHA1(b7f4a3af52faf7e430e5b4ec75e2dc97e3f07dc0), "hack","Cash Attack (Barcrest) (MPU4) (CSA 1.2, hack)" ) #define M4RHR_EXTRA_ROMS \ @@ -2478,7 +2486,7 @@ GAME_CUSTOM( 199?, m4cashat__ar, m4cashat, "csa12s.p1", 0x0000, 0x020 ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -// "(C)1991 BARCREST" and "CR4 0.2" (HHN on startup) +// "(C)1991 BARCREST" and "CR4 0.9" GAME_CUSTOM( 199?, m4rhr, 0, "cr4s.p1", 0x0000, 0x010000, CRC(836c3e49) SHA1(34dde2fd4fe82ab4a9e16dcf7915705f7b8a007f), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (CR4 0.9)" ) GAME_CUSTOM( 199?, m4rhr__a, m4rhr, "cr4ad.p1", 0x0000, 0x010000, CRC(b99b3d14) SHA1(2ff68b33881e9b3c2db48c335ccbad783013084a), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4rhr__b, m4rhr, "cr4b.p1", 0x0000, 0x010000, CRC(ae2691b8) SHA1(360c5c3d94bf85cf5ead114dd570ea6c61082aa9), "Barcrest","Red Hot Roll (Barcrest) (MPU4) (set 3)" ) @@ -3448,8 +3456,14 @@ GAME_CUSTOM( 199?, m4tenten__a2, m4tenten, "tst01y.p1", 0x0000, 0x010000, GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4andyfh, 0, "afhs.p1", 0x0000, 0x010000, CRC(722660ef) SHA1(e1700f4dc6d14da8e8d8402466057cfd126e067b), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 1)" ) +// "(C)1991 BARCREST" and "AFH 0.1" +GAME_CUSTOM( 199?, m4andyfh, 0, "afhs.p1", 0x0000, 0x010000, CRC(722660ef) SHA1(e1700f4dc6d14da8e8d8402466057cfd126e067b), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFH 0.1)" ) +GAME_CUSTOM( 199?, m4andyfh__o, m4andyfh, "afhb.p1", 0x0000, 0x010000, CRC(899945a4) SHA1(ed4a8c9b35e3aa08ea762740a713352560490443), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 16)" ) +GAME_CUSTOM( 199?, m4andyfh__p, m4andyfh, "afhc.p1", 0x0000, 0x010000, CRC(eff4016e) SHA1(4497ae5033aa4c3b3af8e2f6821dadb3f0683c82), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 17)" ) +GAME_CUSTOM( 199?, m4andyfh__q, m4andyfh, "afhd.p1", 0x0000, 0x010000, CRC(9f673d80) SHA1(ae2658d817d4d07f2d9f7948f0660f51626d07ac), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 18)" ) +GAME_CUSTOM( 199?, m4andyfh__r, m4andyfh, "afhr.p1", 0x0000, 0x010000, CRC(232bc900) SHA1(831368184be51b13db30468d519e395a9af7570e), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 19)" ) +// "(C)1991 BARCREST" and "AF3 0.1" +GAME_CUSTOM( 199?, m4andyfh__h, m4andyfh, "af3s.p1", 0x0000, 0x010000, CRC(e9860d9a) SHA1(f1d1323e2329613748602559b6458a19963c091a), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AF3 0.1)" ) GAME_CUSTOM( 199?, m4andyfh__a, m4andyfh, "af3ad.p1", 0x0000, 0x010000, CRC(ef141eca) SHA1(1ba03db9c05f5d60c5e1e0729eb124f6c5c3acf5), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4andyfh__b, m4andyfh, "af3b.p1", 0x0000, 0x010000, CRC(78889d06) SHA1(5ea4c8010b7fd3e2e41d378b69a7cfda27aba99f), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4andyfh__c, m4andyfh, "af3bd.p1", 0x0000, 0x010000, CRC(d9087380) SHA1(1a7f203b722583927eb6f99a493e564100321fe6), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 4)" ) @@ -3457,17 +3471,15 @@ GAME_CUSTOM( 199?, m4andyfh__d, m4andyfh, "af3d.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4andyfh__e, m4andyfh, "af3dk.p1", 0x0000, 0x010000, CRC(4fc4a031) SHA1(c5c68027231988a88610931f395ae08d8e60f962), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 6)" ) GAME_CUSTOM( 199?, m4andyfh__f, m4andyfh, "af3dy.p1", 0x0000, 0x010000, CRC(f59c1a50) SHA1(55054a49b7bbf4a27ec808727cfbf3ce9bdfce40), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4andyfh__g, m4andyfh, "af3k.p1", 0x0000, 0x010000, CRC(ddf5edfb) SHA1(ce69c70b1cdcebfa29e1613cb619617a961a649b), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4andyfh__h, m4andyfh, "af3s.p1", 0x0000, 0x010000, CRC(e9860d9a) SHA1(f1d1323e2329613748602559b6458a19963c091a), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4andyfh__i, m4andyfh, "af3y.p1", 0x0000, 0x010000, CRC(1895bbe1) SHA1(c084f77004c9086bd75add665b25b0b3e114a91f), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 10)" ) +// "(C)1991 BARCREST" and "AF8 0.1" +GAME_CUSTOM( 199?, m4andyfh__n, m4andyfh, "af8s.p1", 0x0000, 0x010000, CRC(1b06be8e) SHA1(c1b67b23c6e2abca68fb242e24b61333bde688fa), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AF8 0.1)" ) GAME_CUSTOM( 199?, m4andyfh__j, m4andyfh, "af8b.p1", 0x0000, 0x010000, CRC(fa8d002e) SHA1(cad754268706a1c942ce3751aa5a51720a104899), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4andyfh__k, m4andyfh, "af8bd.p1", 0x0000, 0x010000, CRC(f64ce609) SHA1(d36a868647a954fd7974613510aabc6fc18035ee), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 12)" ) GAME_CUSTOM( 199?, m4andyfh__l, m4andyfh, "af8c.p1", 0x0000, 0x010000, CRC(6dff4569) SHA1(10809f81924a72b21129158043c023ad6809cced), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 13)" ) GAME_CUSTOM( 199?, m4andyfh__m, m4andyfh, "af8k.p1", 0x0000, 0x010000, CRC(0f6cb2a4) SHA1(320954e216e48ef2882f6d4feb7e29c106d49b79), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4andyfh__n, m4andyfh, "af8s.p1", 0x0000, 0x010000, CRC(1b06be8e) SHA1(c1b67b23c6e2abca68fb242e24b61333bde688fa), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4andyfh__o, m4andyfh, "afhb.p1", 0x0000, 0x010000, CRC(899945a4) SHA1(ed4a8c9b35e3aa08ea762740a713352560490443), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4andyfh__p, m4andyfh, "afhc.p1", 0x0000, 0x010000, CRC(eff4016e) SHA1(4497ae5033aa4c3b3af8e2f6821dadb3f0683c82), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4andyfh__q, m4andyfh, "afhd.p1", 0x0000, 0x010000, CRC(9f673d80) SHA1(ae2658d817d4d07f2d9f7948f0660f51626d07ac), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4andyfh__r, m4andyfh, "afhr.p1", 0x0000, 0x010000, CRC(232bc900) SHA1(831368184be51b13db30468d519e395a9af7570e), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 19)" ) +// "(C)1991 BARCREST" and "AFT 0.3" +GAME_CUSTOM( 199?, m4andyfh__1, m4andyfh, "afts.p1", 0x0000, 0x010000, CRC(7f059eec) SHA1(06de497bbae7391bbb09241204dfdd59ecc36569), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFT 0.3)" ) GAME_CUSTOM( 199?, m4andyfh__s, m4andyfh, "aftad.p1", 0x0000, 0x010000, CRC(72b75e4a) SHA1(fb25a4a455589c51ec7bf1e77faee7f9809eea2c), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 20)" ) GAME_CUSTOM( 199?, m4andyfh__t, m4andyfh, "aftb.p1", 0x0000, 0x010000, CRC(be3cd9ec) SHA1(135f5b575ff1921d08985251b6cd326db4de4f3e), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 21)" ) GAME_CUSTOM( 199?, m4andyfh__u, m4andyfh, "aftbd.p1", 0x0000, 0x010000, CRC(d7fd4c6d) SHA1(3eea5f025f25194fd1d4b4cf0643445b11694c7b), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 22)" ) @@ -3477,8 +3489,9 @@ GAME_CUSTOM( 199?, m4andyfh__x, m4andyfh, "aftdr.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4andyfh__y, m4andyfh, "aftdy.p1", 0x0000, 0x010000, CRC(3e9fc7a6) SHA1(65d181398b3e574b26b060001e9477d5ee40bcc0), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 26)" ) GAME_CUSTOM( 199?, m4andyfh__z, m4andyfh, "aftk.p1", 0x0000, 0x010000, CRC(8d87a910) SHA1(a315210a5c9d880621937412ff6d8d42ac658db2), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 27)" ) GAME_CUSTOM( 199?, m4andyfh__0, m4andyfh, "aftr.p1", 0x0000, 0x010000, CRC(1be08c33) SHA1(21cd201cae159a1a3ee17f9661bc6db5e5a0ad48), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4andyfh__1, m4andyfh, "afts.p1", 0x0000, 0x010000, CRC(7f059eec) SHA1(06de497bbae7391bbb09241204dfdd59ecc36569), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 29)" ) GAME_CUSTOM( 199?, m4andyfh__2, m4andyfh, "afty.p1", 0x0000, 0x010000, CRC(d14f2670) SHA1(a6d21e855fbb90e80c8b8c4af02280343edcb3e8), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 30)" ) +// "(C)1991 BARCREST" and "AFU 0.2" +GAME_CUSTOM( 199?, m4andyfh__ac, m4andyfh, "afus.p1", 0x0000, 0x010000, CRC(efbde76c) SHA1(abad98f2affb46e449a50f5a43729160b275294b), "Barcrest","Andy's Full House (Barcrest) (MPU4) (AFU 0.2)" ) GAME_CUSTOM( 199?, m4andyfh__3, m4andyfh, "afuad.p1", 0x0000, 0x010000, CRC(0f14e261) SHA1(080a5667127e14b6959ff1508f028fd849c27c24), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 31)" ) GAME_CUSTOM( 199?, m4andyfh__4, m4andyfh, "afub.p1", 0x0000, 0x010000, CRC(99c6a4cc) SHA1(36fe83a32aeab413c19bc253edeadf4bc0f73615), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 32)" ) GAME_CUSTOM( 199?, m4andyfh__5, m4andyfh, "afubd.p1", 0x0000, 0x010000, CRC(c38d376a) SHA1(843d0dcc0909ea7cd93f6ba707e784b160cb4984), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 33)" ) @@ -3488,8 +3501,9 @@ GAME_CUSTOM( 199?, m4andyfh__8, m4andyfh, "afudr.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4andyfh__9, m4andyfh, "afudy.p1", 0x0000, 0x010000, CRC(c2754f00) SHA1(4012231cb4a2eb0e0010f90d173295aa3c1fd6a5), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 37)" ) GAME_CUSTOM( 199?, m4andyfh__aa, m4andyfh, "afuk.p1", 0x0000, 0x010000, CRC(f58fcf3c) SHA1(3731eab62e447a833b7decde842eda6a36cfadef), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 38)" ) GAME_CUSTOM( 199?, m4andyfh__ab, m4andyfh, "afur.p1", 0x0000, 0x010000, CRC(0369ab49) SHA1(53acb382fada789c976b1dd124014778cfe518bc), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 39)" ) -GAME_CUSTOM( 199?, m4andyfh__ac, m4andyfh, "afus.p1", 0x0000, 0x010000, CRC(efbde76c) SHA1(abad98f2affb46e449a50f5a43729160b275294b), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 40)" ) GAME_CUSTOM( 199?, m4andyfh__ad, m4andyfh, "afuy.p1", 0x0000, 0x010000, CRC(9e0283a7) SHA1(63c0e3f26132a6bd6d8d3a8a3d0ab46e52fb2c09), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 41)" ) +// "(C)1991 BARCREST" and "CA4 0.8" +GAME_CUSTOM( 199?, m4andyfh__al, m4andyfh, "ca4s.p1", 0x0000, 0x010000, CRC(ece1bca7) SHA1(84a168e0d36f7c4f56fc3a7579fe335cc1e5a5ba), "Barcrest","Andy's Full House (Barcrest) (MPU4) (CA4 0.8)" ) GAME_CUSTOM( 199?, m4andyfh__ae, m4andyfh, "ca4ad.p1", 0x0000, 0x010000, CRC(bb311861) SHA1(9606b536c2775997935049caddb79170a98211b4), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 42)" ) GAME_CUSTOM( 199?, m4andyfh__af, m4andyfh, "ca4b.p1", 0x0000, 0x010000, CRC(71e8f0f9) SHA1(663f536f4b3de20c2dcae52d22f3be9be19b0a4d), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 43)" ) GAME_CUSTOM( 199?, m4andyfh__ag, m4andyfh, "ca4bd.p1", 0x0000, 0x010000, CRC(808b93e6) SHA1(08667db3f43f8550d7b96b53b92a53029a8d5d29), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 44)" ) @@ -3497,8 +3511,9 @@ GAME_CUSTOM( 199?, m4andyfh__ah, m4andyfh, "ca4d.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4andyfh__ai, m4andyfh, "ca4dk.p1", 0x0000, 0x010000, CRC(23cabc1a) SHA1(a72e14d7616da0b7cc394e466fe6df4c85eea986), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 46)" ) GAME_CUSTOM( 199?, m4andyfh__aj, m4andyfh, "ca4dy.p1", 0x0000, 0x010000, CRC(caa2e461) SHA1(5dd3c609d1cc4bc43a6d00e98a71e927287c41fd), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 47)" ) GAME_CUSTOM( 199?, m4andyfh__ak, m4andyfh, "ca4k.p1", 0x0000, 0x010000, CRC(78b0a533) SHA1(fa0fc59562be59d0aadba923281086a9de8e8934), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 48)" ) -GAME_CUSTOM( 199?, m4andyfh__al, m4andyfh, "ca4s.p1", 0x0000, 0x010000, CRC(ece1bca7) SHA1(84a168e0d36f7c4f56fc3a7579fe335cc1e5a5ba), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 49)" ) GAME_CUSTOM( 199?, m4andyfh__am, m4andyfh, "ca4y.p1", 0x0000, 0x010000, CRC(5c1886f2) SHA1(4d6131989a04db993b7ade74d1950077d52cbc23), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 50)" ) +// "(C)1991 BARCREST" and "CAT 0.2" +GAME_CUSTOM( 199?, m4andyfh__au, m4andyfh, "cats.p1", 0x0000, 0x010000, CRC(e4cb7300) SHA1(fe9daaa587f1796227ad9ccb49869f2288b6d708), "Barcrest","Andy's Full House (Barcrest) (MPU4) (CAT 0.2)" ) GAME_CUSTOM( 199?, m4andyfh__an, m4andyfh, "catad.p1", 0x0000, 0x010000, CRC(b2c5a227) SHA1(0c4253dddef07476778adf10b7afc8415ac2b170), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 51)" ) GAME_CUSTOM( 199?, m4andyfh__ao, m4andyfh, "catb.p1", 0x0000, 0x010000, CRC(34007275) SHA1(102a30e4a83eec9ed144158cc4896c91f4eadd1b), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 52)" ) GAME_CUSTOM( 199?, m4andyfh__ap, m4andyfh, "catbd.p1", 0x0000, 0x010000, CRC(9c38229a) SHA1(1c24eff59e22d354e07f9a0655b35029a89a60ef), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 53)" ) @@ -3506,8 +3521,9 @@ GAME_CUSTOM( 199?, m4andyfh__aq, m4andyfh, "catd.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4andyfh__ar, m4andyfh, "catdk.p1", 0x0000, 0x010000, CRC(c85a53ea) SHA1(1b7245b08bc0ad7ddd7ed4498ba4ac910f1df1d1), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 55)" ) GAME_CUSTOM( 199?, m4andyfh__as, m4andyfh, "catdy.p1", 0x0000, 0x010000, CRC(08aa7a9c) SHA1(b8552ad4d9f1ea3c536ba7313ded56f9d47930d3), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 56)" ) GAME_CUSTOM( 199?, m4andyfh__at, m4andyfh, "catk.p1", 0x0000, 0x010000, CRC(843a09b2) SHA1(56e845bcf940d80277b53df8fe847e5e862a05c9), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 57)" ) -GAME_CUSTOM( 199?, m4andyfh__au, m4andyfh, "cats.p1", 0x0000, 0x010000, CRC(e4cb7300) SHA1(fe9daaa587f1796227ad9ccb49869f2288b6d708), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 58)" ) GAME_CUSTOM( 199?, m4andyfh__av, m4andyfh, "caty.p1", 0x0000, 0x010000, CRC(1a5c2413) SHA1(096695d99cc5dcf9d677b7821af5018751e21a89), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 59)" ) +// "(C)1991 BARCREST" and "CA4 0.1" (CAU 0.1 on startup) +GAME_CUSTOM( 199?, m4andyfh__a3, m4andyfh, "caus.p1", 0x0000, 0x010000, CRC(88e263a4) SHA1(2b8bc3d9aab344ca756b4829c4593db74200779e), "Barcrest","Andy's Full House (Barcrest) (MPU4) (CAU 0.1 / CA4 0.1)" ) GAME_CUSTOM( 199?, m4andyfh__aw, m4andyfh, "cauad.p1", 0x0000, 0x010000, CRC(a530d8ce) SHA1(9c919dfe85d947545e35c52b070dcb19ad3660ea), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 60)" ) GAME_CUSTOM( 199?, m4andyfh__ax, m4andyfh, "caub.p1", 0x0000, 0x010000, CRC(4c6f35b7) SHA1(3300d3a8cdeda7183d066ff8fec2bdfbcd816f9b), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 61)" ) GAME_CUSTOM( 199?, m4andyfh__ay, m4andyfh, "caubd.p1", 0x0000, 0x010000, CRC(932cb584) SHA1(28dc617a242f01030d3bfdd855b2237b99dfb080), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 62)" ) @@ -3515,7 +3531,6 @@ GAME_CUSTOM( 199?, m4andyfh__az, m4andyfh, "caud.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4andyfh__a0, m4andyfh, "caudk.p1", 0x0000, 0x010000, CRC(9d2ca094) SHA1(343304a09ae0aa36039b4b90f90ac7206f6b020b), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 64)" ) GAME_CUSTOM( 199?, m4andyfh__a1, m4andyfh, "caudy.p1", 0x0000, 0x010000, CRC(b8e09c8e) SHA1(b9fc39f754dadfaf359f7df6e51a18e948eda574), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 65)" ) GAME_CUSTOM( 199?, m4andyfh__a2, m4andyfh, "cauk.p1", 0x0000, 0x010000, CRC(38c7b3b0) SHA1(d5ee172e37e65911a4010abe7baae3e32131208d), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 66)" ) -GAME_CUSTOM( 199?, m4andyfh__a3, m4andyfh, "caus.p1", 0x0000, 0x010000, CRC(88e263a4) SHA1(2b8bc3d9aab344ca756b4829c4593db74200779e), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 67)" ) GAME_CUSTOM( 199?, m4andyfh__a4, m4andyfh, "cauy.p1", 0x0000, 0x010000, CRC(b04ab546) SHA1(5f9d3a24fb0091406e45cdad7f22fad4bda27bff), "Barcrest","Andy's Full House (Barcrest) (MPU4) (set 68)" ) @@ -3534,10 +3549,25 @@ GAME_CUSTOM( 199?, m4andyfh__a4, m4andyfh, "cauy.p1", 0x0000, 0x010000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4bdash, 0, "bls01s.p1", 0x0000, 0x020000, CRC(4e4f403b) SHA1(f040568af530cf0ff060199f98b00e476191da22), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4bdash__a, m4bdash, "bdvarg.bin", 0x0000, 0x020000, CRC(99d579e7) SHA1(afc47144e0a8d464d8547b1ad14b0a3a1c15c027), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4bdash__b, m4bdash, "bld06s", 0x0000, 0x020000, CRC(0bc580b8) SHA1(432ac5aec08bd9d36cc4a0b257c17d6e22015bae), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 3)" ) +// "(C)1993 BARCREST" and "BLS 0.1" +GAME_CUSTOM( 199?, m4bdash, 0, "bls01s.p1", 0x0000, 0x020000, CRC(4e4f403b) SHA1(f040568af530cf0ff060199f98b00e476191da22), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.1)" ) +GAME_CUSTOM( 199?, m4bdash__4, m4bdash, "bls01ad.p1", 0x0000, 0x020000, CRC(2425cab4) SHA1(9df08f9dffc0ac5fe5994ad086e6b8eb8d03baa9), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 32)" ) +GAME_CUSTOM( 199?, m4bdash__5, m4bdash, "bls01b.p1", 0x0000, 0x020000, CRC(64d1e31d) SHA1(e30d199bd1d60ceabef27cfa81605eb3b307f68e), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 33)" ) +GAME_CUSTOM( 199?, m4bdash__6, m4bdash, "bls01bd.p1", 0x0000, 0x020000, CRC(a93f6471) SHA1(d895c7825c713626be57dd9eef2dbfc5f591825b), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 34)" ) +GAME_CUSTOM( 199?, m4bdash__7, m4bdash, "bls01c.p1", 0x0000, 0x020000, CRC(539b5e0f) SHA1(46abc7e8dd286fbb313233b6d2fabb73b1c4c519), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 35)" ) +GAME_CUSTOM( 199?, m4bdash__8, m4bdash, "bls01d.p1", 0x0000, 0x020000, CRC(19cae86b) SHA1(de811aed861bf4d834051d6048fb0028f6c68a7c), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 36)" ) +GAME_CUSTOM( 199?, m4bdash__9, m4bdash, "bls01dh.p1", 0x0000, 0x020000, CRC(c0fff9bd) SHA1(5b10547157a96f6221a41118ee29639ffc1bcdab), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 37)" ) +GAME_CUSTOM( 199?, m4bdash__aa, m4bdash, "bls01dk.p1", 0x0000, 0x020000, CRC(e3f8cc27) SHA1(4ffb6ebb792b7edbf88463ed0fb80743aab5c517), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 38)" ) +GAME_CUSTOM( 199?, m4bdash__ab, m4bdash, "bls01dr.p1", 0x0000, 0x020000, CRC(50f77716) SHA1(a20b709f65e2722e4fb622e851b4fb9c7d5820ca), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 39)" ) +GAME_CUSTOM( 199?, m4bdash__ac, m4bdash, "bls01dy.p1", 0x0000, 0x020000, CRC(641becd9) SHA1(419486ed63bd8d657796f786e73d44bd213b2916), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 40)" ) +GAME_CUSTOM( 199?, m4bdash__ad, m4bdash, "bls01h.p1", 0x0000, 0x020000, CRC(0d117ed1) SHA1(8b0a4f24b067907377072e5b5645ac8b44bf1d2e), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 41)" ) +GAME_CUSTOM( 199?, m4bdash__ae, m4bdash, "bls01k.p1", 0x0000, 0x020000, CRC(2e164b4b) SHA1(37d1c45db0002c7e8f16ede87cfe62cfbdbf39e8), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 42)" ) +GAME_CUSTOM( 199?, m4bdash__af, m4bdash, "bls01r.p1", 0x0000, 0x020000, CRC(9d19f07a) SHA1(bb1e2d8f6e1fd75d6c9a15448fc29b21d8f14bf7), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 43)" ) +GAME_CUSTOM( 199?, m4bdash__ag, m4bdash, "bls01y.p1", 0x0000, 0x020000, CRC(a9f56bb5) SHA1(771ea854bdc71af0ce09952be53671629babfa9b), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 44)" ) +// "(C)1993 BARCREST" and "BLD 0.6" +GAME_CUSTOM( 199?, m4bdash__b, m4bdash, "bld06s", 0x0000, 0x020000, CRC(0bc580b8) SHA1(432ac5aec08bd9d36cc4a0b257c17d6e22015bae), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 0.6)" ) +// "(C)1993 BARCREST" and "BLD 0.7" +GAME_CUSTOM( 199?, m4bdash__o, m4bdash, "bld07s.p1", 0x0000, 0x020000, CRC(b9c61540) SHA1(d6752d90a431cde17c7915746f645ef3157eeffe), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 0.7)" ) GAME_CUSTOM( 199?, m4bdash__c, m4bdash, "bld07ad.p1", 0x0000, 0x020000, CRC(56438185) SHA1(f78789042a1ac61b7dd333120b9fef76a2805cc7), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 4)" ) GAME_CUSTOM( 199?, m4bdash__d, m4bdash, "bld07b.p1", 0x0000, 0x020000, CRC(4b24ec01) SHA1(80763e2832d9ef9c49f8729fbc93843865422d47), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 5)" ) GAME_CUSTOM( 199?, m4bdash__e, m4bdash, "bld07bd.p1", 0x0000, 0x020000, CRC(db592f40) SHA1(bca6b78ea13ccab1f49d6b6078071739cb418778), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 6)" ) @@ -3550,8 +3580,9 @@ GAME_CUSTOM( 199?, m4bdash__k, m4bdash, "bld07dy.p1", 0x0000, 0x020000, CR GAME_CUSTOM( 199?, m4bdash__l, m4bdash, "bld07h.p1", 0x0000, 0x020000, CRC(22e471cd) SHA1(3e6e0a052761e1ed108475687dead185eef10119), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 13)" ) GAME_CUSTOM( 199?, m4bdash__m, m4bdash, "bld07k.p1", 0x0000, 0x020000, CRC(01e34457) SHA1(5e9d8cb558222340df42904365ad90288ca5cdf2), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 14)" ) GAME_CUSTOM( 199?, m4bdash__n, m4bdash, "bld07r.p1", 0x0000, 0x020000, CRC(b2ecff66) SHA1(9d8bca3e137a654d786b9257ce1206c7118ac6e0), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4bdash__o, m4bdash, "bld07s.p1", 0x0000, 0x020000, CRC(b9c61540) SHA1(d6752d90a431cde17c7915746f645ef3157eeffe), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 16)" ) GAME_CUSTOM( 199?, m4bdash__p, m4bdash, "bld07y.p1", 0x0000, 0x020000, CRC(860064a9) SHA1(8e13df769bde73bc5af3fa8010b39502e269f63f), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 17)" ) +// "(C)1993 BARCREST" and "BLD 1.0" +GAME_CUSTOM( 199?, m4bdash__2, m4bdash, "bld10s.p1", 0x0000, 0x020000, CRC(c59c186b) SHA1(83f16e15a215fe1cf3c07fac7268b00c55e0ff5b), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLD 1.0)" ) GAME_CUSTOM( 199?, m4bdash__q, m4bdash, "bld10ad.p1", 0x0000, 0x020000, CRC(04b2781e) SHA1(828426d6191974050e3ccbfbc826d5474dc18312), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 18)" ) GAME_CUSTOM( 199?, m4bdash__r, m4bdash, "bld10b.p1", 0x0000, 0x020000, CRC(160a6c83) SHA1(e2421fbc166b9e64a2b10afbfd12ebc724077248), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 19)" ) GAME_CUSTOM( 199?, m4bdash__s, m4bdash, "bld10bd.p1", 0x0000, 0x020000, CRC(89a8d6db) SHA1(c93b8d7c57a970649204078f3428fc766ada32f7), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 20)" ) @@ -3564,21 +3595,9 @@ GAME_CUSTOM( 199?, m4bdash__y, m4bdash, "bld10dy.p1", 0x0000, 0x020000, CR GAME_CUSTOM( 199?, m4bdash__z, m4bdash, "bld10h.p1", 0x0000, 0x020000, CRC(7fcaf14f) SHA1(e093bbaea83f7b2683b968b70d821ec42addab92), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 27)" ) GAME_CUSTOM( 199?, m4bdash__0, m4bdash, "bld10k.p1", 0x0000, 0x020000, CRC(5ccdc4d5) SHA1(b7be6f027092106ef5e33ff988a153050f48943b), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 28)" ) GAME_CUSTOM( 199?, m4bdash__1, m4bdash, "bld10r.p1", 0x0000, 0x020000, CRC(efc27fe4) SHA1(1ed3c5c92505b7fdf4993a9c8b119eff5e9a6f94), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4bdash__2, m4bdash, "bld10s.p1", 0x0000, 0x020000, CRC(c59c186b) SHA1(83f16e15a215fe1cf3c07fac7268b00c55e0ff5b), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 30)" ) GAME_CUSTOM( 199?, m4bdash__3, m4bdash, "bld10y.p1", 0x0000, 0x020000, CRC(db2ee42b) SHA1(b6a4bb4f78c14428a7bd2286b8fda51acb0c9e10), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 31)" ) -GAME_CUSTOM( 199?, m4bdash__4, m4bdash, "bls01ad.p1", 0x0000, 0x020000, CRC(2425cab4) SHA1(9df08f9dffc0ac5fe5994ad086e6b8eb8d03baa9), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 32)" ) -GAME_CUSTOM( 199?, m4bdash__5, m4bdash, "bls01b.p1", 0x0000, 0x020000, CRC(64d1e31d) SHA1(e30d199bd1d60ceabef27cfa81605eb3b307f68e), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 33)" ) -GAME_CUSTOM( 199?, m4bdash__6, m4bdash, "bls01bd.p1", 0x0000, 0x020000, CRC(a93f6471) SHA1(d895c7825c713626be57dd9eef2dbfc5f591825b), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 34)" ) -GAME_CUSTOM( 199?, m4bdash__7, m4bdash, "bls01c.p1", 0x0000, 0x020000, CRC(539b5e0f) SHA1(46abc7e8dd286fbb313233b6d2fabb73b1c4c519), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 35)" ) -GAME_CUSTOM( 199?, m4bdash__8, m4bdash, "bls01d.p1", 0x0000, 0x020000, CRC(19cae86b) SHA1(de811aed861bf4d834051d6048fb0028f6c68a7c), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 36)" ) -GAME_CUSTOM( 199?, m4bdash__9, m4bdash, "bls01dh.p1", 0x0000, 0x020000, CRC(c0fff9bd) SHA1(5b10547157a96f6221a41118ee29639ffc1bcdab), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 37)" ) -GAME_CUSTOM( 199?, m4bdash__aa, m4bdash, "bls01dk.p1", 0x0000, 0x020000, CRC(e3f8cc27) SHA1(4ffb6ebb792b7edbf88463ed0fb80743aab5c517), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 38)" ) -GAME_CUSTOM( 199?, m4bdash__ab, m4bdash, "bls01dr.p1", 0x0000, 0x020000, CRC(50f77716) SHA1(a20b709f65e2722e4fb622e851b4fb9c7d5820ca), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 39)" ) -GAME_CUSTOM( 199?, m4bdash__ac, m4bdash, "bls01dy.p1", 0x0000, 0x020000, CRC(641becd9) SHA1(419486ed63bd8d657796f786e73d44bd213b2916), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 40)" ) -GAME_CUSTOM( 199?, m4bdash__ad, m4bdash, "bls01h.p1", 0x0000, 0x020000, CRC(0d117ed1) SHA1(8b0a4f24b067907377072e5b5645ac8b44bf1d2e), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 41)" ) -GAME_CUSTOM( 199?, m4bdash__ae, m4bdash, "bls01k.p1", 0x0000, 0x020000, CRC(2e164b4b) SHA1(37d1c45db0002c7e8f16ede87cfe62cfbdbf39e8), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 42)" ) -GAME_CUSTOM( 199?, m4bdash__af, m4bdash, "bls01r.p1", 0x0000, 0x020000, CRC(9d19f07a) SHA1(bb1e2d8f6e1fd75d6c9a15448fc29b21d8f14bf7), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 43)" ) -GAME_CUSTOM( 199?, m4bdash__ag, m4bdash, "bls01y.p1", 0x0000, 0x020000, CRC(a9f56bb5) SHA1(771ea854bdc71af0ce09952be53671629babfa9b), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 44)" ) +// "(C)1993 BARCREST" and "BLS 0.2" +GAME_CUSTOM( 199?, m4bdash__at, m4bdash, "bls02s.p1", 0x0000, 0x020000, CRC(b8e435d5) SHA1(500c30d687d3e029f22de2bf132c12349c1575b4), "Barcrest","Boulder Dash (Barcrest) (MPU4) (BLS 0.2)" ) GAME_CUSTOM( 199?, m4bdash__ah, m4bdash, "bls02ad.p1", 0x0000, 0x020000, CRC(f4b6828b) SHA1(8ca39a9dc29b40a097489e34ababaf70eb58c326), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 45)" ) GAME_CUSTOM( 199?, m4bdash__ai, m4bdash, "bls02b.p1", 0x0000, 0x020000, CRC(d75f9bdb) SHA1(2018e1ebe4f00782be649544bc8d56d923d6c198), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 46)" ) GAME_CUSTOM( 199?, m4bdash__aj, m4bdash, "bls02bd.p1", 0x0000, 0x020000, CRC(79ac2c4e) SHA1(83d6828272438ae0d687b40368701cbccac32d9f), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 47)" ) @@ -3591,19 +3610,23 @@ GAME_CUSTOM( 199?, m4bdash__ap, m4bdash, "bls02dy.p1", 0x0000, 0x020000, CR GAME_CUSTOM( 199?, m4bdash__aq, m4bdash, "bls02h.p1", 0x0000, 0x020000, CRC(be9f0617) SHA1(fcc491ae5cb5312f47726c4b9ffda99317171bab), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 54)" ) GAME_CUSTOM( 199?, m4bdash__ar, m4bdash, "bls02k.p1", 0x0000, 0x020000, CRC(9d98338d) SHA1(0e43896ae8361894c9060ec7a74dd23c6e2bed56), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 55)" ) GAME_CUSTOM( 199?, m4bdash__as, m4bdash, "bls02r.p1", 0x0000, 0x020000, CRC(2e9788bc) SHA1(586a30b3485e0ceb8b9b389e103fdbab78115446), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 56)" ) -GAME_CUSTOM( 199?, m4bdash__at, m4bdash, "bls02s.p1", 0x0000, 0x020000, CRC(b8e435d5) SHA1(500c30d687d3e029f22de2bf132c12349c1575b4), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 57)" ) GAME_CUSTOM( 199?, m4bdash__au, m4bdash, "bls02y.p1", 0x0000, 0x020000, CRC(1a7b1373) SHA1(dde4754d92f0fde495ab826294a650ac81fd586e), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 58)" ) -GAME_CUSTOM( 199?, m4bdash__av, m4bdash, "bold15g", 0x0000, 0x020000, CRC(fa400d34) SHA1(2faeb9b880fb4980aa0d96b4b962c879498445f2), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 59)" ) -GAME_CUSTOM( 199?, m4bdash__aw, m4bdash, "bold15t", 0x0000, 0x020000, CRC(f3f331ae) SHA1(d999c8571549d8d26b7b861299d77c7282aef700), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 60)" ) -GAME_CUSTOM( 199?, m4bdash__ax, m4bdash, "bo__x__x.2_0", 0x0000, 0x020000, CRC(7e54982f) SHA1(c5187d2f6a5b202af5fd6326d52451d3b3f48f33), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 61)" ) -GAME_CUSTOM( 199?, m4bdash__ay, m4bdash, "bo__x__x.2_1", 0x0000, 0x020000, CRC(3e48d8ad) SHA1(73d69712993819d012c2ab2a8a36b7ebad419144), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 62)" ) -GAME_CUSTOM( 199?, m4bdash__az, m4bdash, "bo__x_dx.2_0", 0x0000, 0x020000, CRC(d0d9e7b1) SHA1(31e858991fc1dfe9c1a8bd7955096617ebe0a4ce), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 63)" ) -GAME_CUSTOM( 199?, m4bdash__a0, m4bdash, "bo__x_dx.2_1", 0x0000, 0x020000, CRC(b6e146c4) SHA1(8bda363f16bd258d5c6ba1b20cecc0a76e0965f7), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 64)" ) -GAME_CUSTOM( 199?, m4bdash__a1, m4bdash, "bo__xa_x.2_0", 0x0000, 0x020000, CRC(e7054491) SHA1(7d102b1071d90ff29ea4a9418478b17b93c08059), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 65)" ) -GAME_CUSTOM( 199?, m4bdash__a2, m4bdash, "bo__xa_x.2_1", 0x0000, 0x020000, CRC(813de5e4) SHA1(498923261e49b20666a930593fcf25ccfc9a9d79), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 66)" ) -GAME_CUSTOM( 199?, m4bdash__a3, m4bdash, "bo__xb_x.2_0", 0x0000, 0x020000, CRC(adc2ecc7) SHA1(75e4216ff022c1ae0642913c9aaa7e241b806fcd), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 67)" ) -GAME_CUSTOM( 199?, m4bdash__a4, m4bdash, "bo__xb_x.2_1", 0x0000, 0x020000, CRC(cbfa4db2) SHA1(d1ed60f876b4f056f478cfc23b08a7789379e143), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 68)" ) - +// "(C)1999 BWB" and "BO_ 2.0" +GAME_CUSTOM( 199?, m4bdash__ax, m4bdash, "bo__x__x.2_0", 0x0000, 0x020000, CRC(7e54982f) SHA1(c5187d2f6a5b202af5fd6326d52451d3b3f48f33), "Bwb","Boulder Dash (Barcrest) (MPU4) (BO_ 2.0, set 1)" ) +GAME_CUSTOM( 199?, m4bdash__az, m4bdash, "bo__x_dx.2_0", 0x0000, 0x020000, CRC(d0d9e7b1) SHA1(31e858991fc1dfe9c1a8bd7955096617ebe0a4ce), "Bwb","Boulder Dash (Barcrest) (MPU4) (BO_ 2.0, set 2)" ) +GAME_CUSTOM( 199?, m4bdash__a1, m4bdash, "bo__xa_x.2_0", 0x0000, 0x020000, CRC(e7054491) SHA1(7d102b1071d90ff29ea4a9418478b17b93c08059), "Bwb","Boulder Dash (Barcrest) (MPU4) (BO_ 2.0, set 3)" ) +GAME_CUSTOM( 199?, m4bdash__a3, m4bdash, "bo__xb_x.2_0", 0x0000, 0x020000, CRC(adc2ecc7) SHA1(75e4216ff022c1ae0642913c9aaa7e241b806fcd), "Bwb","Boulder Dash (Barcrest) (MPU4) (BO_ 2.0, set 4)" ) +// "(C)1999 BWB" and "BO_ 2.1" +GAME_CUSTOM( 199?, m4bdash__ay, m4bdash, "bo__x__x.2_1", 0x0000, 0x020000, CRC(3e48d8ad) SHA1(73d69712993819d012c2ab2a8a36b7ebad419144), "Bwb","Boulder Dash (Barcrest) (MPU4) (BO_ 2.1, set 1)" ) +GAME_CUSTOM( 199?, m4bdash__a0, m4bdash, "bo__x_dx.2_1", 0x0000, 0x020000, CRC(b6e146c4) SHA1(8bda363f16bd258d5c6ba1b20cecc0a76e0965f7), "Bwb","Boulder Dash (Barcrest) (MPU4) (BO_ 2.1, set 2)" ) +GAME_CUSTOM( 199?, m4bdash__a2, m4bdash, "bo__xa_x.2_1", 0x0000, 0x020000, CRC(813de5e4) SHA1(498923261e49b20666a930593fcf25ccfc9a9d79), "Bwb","Boulder Dash (Barcrest) (MPU4) (BO_ 2.1, set 3)" ) +GAME_CUSTOM( 199?, m4bdash__a4, m4bdash, "bo__xb_x.2_1", 0x0000, 0x020000, CRC(cbfa4db2) SHA1(d1ed60f876b4f056f478cfc23b08a7789379e143), "Bwb","Boulder Dash (Barcrest) (MPU4) (BO_ 2.1, set 4)" ) +// no copyright string and "BLD 1.0" +GAME_CUSTOM( 199?, m4bdash__a, m4bdash, "bdvarg.bin", 0x0000, 0x020000, CRC(99d579e7) SHA1(afc47144e0a8d464d8547b1ad14b0a3a1c15c027), "hack","Boulder Dash (Barcrest) (MPU4) (BLD 1.0, hack)" ) +// no copyright string and "BLD 0.7" +GAME_CUSTOM( 199?, m4bdash__av, m4bdash, "bold15g", 0x0000, 0x020000, CRC(fa400d34) SHA1(2faeb9b880fb4980aa0d96b4b962c879498445f2), "hack","Boulder Dash (Barcrest) (MPU4) (BLD 0.7, hack)" ) +// no copyright string and "BLS 0.1" +GAME_CUSTOM( 199?, m4bdash__aw, m4bdash, "bold15t", 0x0000, 0x020000, CRC(f3f331ae) SHA1(d999c8571549d8d26b7b861299d77c7282aef700), "hack","Boulder Dash (Barcrest) (MPU4) (BLS 0.1, hack)" ) #define M4PRZDTY_EXTRA_ROMS \ @@ -3619,7 +3642,15 @@ GAME_CUSTOM( 199?, m4bdash__a4, m4bdash, "bo__xb_x.2_1", 0x0000, 0x020000, CR ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4przdty, 0, "pdus.p1", 0x0000, 0x010000, CRC(eaa2ae08) SHA1(a4cef3ee8c005fb717625699260d24ef6a368824), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "PDU 0.2" +GAME_CUSTOM( 199?, m4przdty, 0, "pdus.p1", 0x0000, 0x010000, CRC(eaa2ae08) SHA1(a4cef3ee8c005fb717625699260d24ef6a368824), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PDU 0.2)" ) +GAME_CUSTOM( 199?, m4przdty__l, m4przdty, "pdub.p1", 0x0000, 0x010000, CRC(e50a571b) SHA1(b8412ae7211bfbf8098ae3ae70dfc2a99cd8558d), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4przdty__m, m4przdty, "pdud.p1", 0x0000, 0x010000, CRC(24cddc59) SHA1(c4fa0530387c5cd172d51b766315d3874cc61618), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4przdty__n, m4przdty, "pdudy.p1", 0x0000, 0x010000, CRC(b852ea1f) SHA1(375f0baaf64b1ea1e118f6d93417877174e094bb), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 15)" ) +GAME_CUSTOM( 199?, m4przdty__o, m4przdty, "pduk.p1", 0x0000, 0x010000, CRC(7d1c1897) SHA1(aa7753bef9b580f0a134960d74115cb43b91494f), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 16)" ) +GAME_CUSTOM( 199?, m4przdty__p, m4przdty, "pduy.p1", 0x0000, 0x010000, CRC(460d967b) SHA1(ea55c87674d62ee6f525ae1ff08267e8b4b126aa), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 17)" ) +// "(C)1993 BARCREST" and "PD8 0.2" +GAME_CUSTOM( 199?, m4przdty__j, m4przdty, "pd8s.p1", 0x0000, 0x010000, CRC(65816bdb) SHA1(52717f789676ad66e4b8c5c023e23262408ef0b3), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (PD8 0.2)" ) GAME_CUSTOM( 199?, m4przdty__a, m4przdty, "pd8ad.p1", 0x0000, 0x010000, CRC(ff2bde9d) SHA1(6f75d1c4f8b136ad9dbfd6c0182dbe0f54f856a9), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4przdty__b, m4przdty, "pd8b.p1", 0x0000, 0x010000, CRC(123f8081) SHA1(1619e23f563f9c70e64dccf36743c60ee597cad4), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4przdty__c, m4przdty, "pd8bd.p1", 0x0000, 0x010000, CRC(6136acca) SHA1(616cfc419beef50b642714df9b257ef0322bdfd4), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 4)" ) @@ -3629,13 +3660,7 @@ GAME_CUSTOM( 199?, m4przdty__f, m4przdty, "pd8dk.p1", 0x0000, 0x010000, CRC GAME_CUSTOM( 199?, m4przdty__g, m4przdty, "pd8dy.p1", 0x0000, 0x010000, CRC(8446848a) SHA1(23840190a3543c7fee0334bd1e9c0000eb2b7908), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 8)" ) GAME_CUSTOM( 199?, m4przdty__h, m4przdty, "pd8j.p1", 0x0000, 0x010000, CRC(8d74c338) SHA1(482fc028a04bd257a36b46ba3e6949f95cacd271), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4przdty__i, m4przdty, "pd8k.p1", 0x0000, 0x010000, CRC(f4753cad) SHA1(4d41a2c40f56267ea31375046058ab2b22700414), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4przdty__j, m4przdty, "pd8s.p1", 0x0000, 0x010000, CRC(65816bdb) SHA1(52717f789676ad66e4b8c5c023e23262408ef0b3), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4przdty__k, m4przdty, "pd8y.p1", 0x0000, 0x010000, CRC(c958ed40) SHA1(35c1905656d12c788e8766424dd400669189e2c7), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4przdty__l, m4przdty, "pdub.p1", 0x0000, 0x010000, CRC(e50a571b) SHA1(b8412ae7211bfbf8098ae3ae70dfc2a99cd8558d), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4przdty__m, m4przdty, "pdud.p1", 0x0000, 0x010000, CRC(24cddc59) SHA1(c4fa0530387c5cd172d51b766315d3874cc61618), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4przdty__n, m4przdty, "pdudy.p1", 0x0000, 0x010000, CRC(b852ea1f) SHA1(375f0baaf64b1ea1e118f6d93417877174e094bb), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4przdty__o, m4przdty, "pduk.p1", 0x0000, 0x010000, CRC(7d1c1897) SHA1(aa7753bef9b580f0a134960d74115cb43b91494f), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4przdty__p, m4przdty, "pduy.p1", 0x0000, 0x010000, CRC(460d967b) SHA1(ea55c87674d62ee6f525ae1ff08267e8b4b126aa), "Barcrest","Prize Duty Free (Barcrest) (MPU4) (set 17)" ) #define M4PRZMON_EXTRA_ROMS \ @@ -3650,8 +3675,9 @@ GAME_CUSTOM( 199?, m4przdty__p, m4przdty, "pduy.p1", 0x0000, 0x010000, CRC ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4przmon, 0, "fp8ad.p1", 0x0000, 0x010000, CRC(9c1c443a) SHA1(58e45501c33d0fd8ecca7e7bc40fef60ebb519e9), "Barcrest","Prize Money (Barcrest) (MPU4) (set 1)" ) +// "(C)1991 BARCREST" and "FP8 0.1" +GAME_CUSTOM( 199?, m4przmon, 0, "fp8s.p1", 0x0000, 0x010000, CRC(b43eef89) SHA1(15991ad9223ddce77277f5451b5557ff59e2647c), "Barcrest","Prize Money (Barcrest) (MPU4) (FP8 0.1)" ) +GAME_CUSTOM( 199?, m4przmon__i, m4przmon, "fp8ad.p1", 0x0000, 0x010000, CRC(9c1c443a) SHA1(58e45501c33d0fd8ecca7e7bc40fef60ebb519e9), "Barcrest","Prize Money (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4przmon__a, m4przmon, "fp8b.p1", 0x0000, 0x010000, CRC(2a8cd9da) SHA1(2364853f3c78ca4f47aac8609649f06bf3a98ba1), "Barcrest","Prize Money (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4przmon__b, m4przmon, "fp8bd.p1", 0x0000, 0x010000, CRC(bbb342fd) SHA1(5117304284a25ce43798a0a1c8c1c45d25f707ab), "Barcrest","Prize Money (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4przmon__c, m4przmon, "fp8d.p1", 0x0000, 0x010000, CRC(2e6dea1e) SHA1(8b0877277c414693b0d6c9d22ef86cbb487b4d2e), "Barcrest","Prize Money (Barcrest) (MPU4) (set 4)" ) @@ -3660,26 +3686,30 @@ GAME_CUSTOM( 199?, m4przmon__e, m4przmon, "fp8dk.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4przmon__f, m4przmon, "fp8dy.p1", 0x0000, 0x010000, CRC(2c8d3a96) SHA1(413e619c76209f948885ea0ff2388a2fcb0134d6), "Barcrest","Prize Money (Barcrest) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4przmon__g, m4przmon, "fp8j.p1", 0x0000, 0x010000, CRC(2a834685) SHA1(184a5e157dc2994823f4a1077b3bc0e3b69fda34), "Barcrest","Prize Money (Barcrest) (MPU4) (set 8)" ) GAME_CUSTOM( 199?, m4przmon__h, m4przmon, "fp8k.p1", 0x0000, 0x010000, CRC(48cf748a) SHA1(2116f6cc00822ac9d4d3b090443d0f84fe3b5194), "Barcrest","Prize Money (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4przmon__i, m4przmon, "fp8s.p1", 0x0000, 0x010000, CRC(b43eef89) SHA1(15991ad9223ddce77277f5451b5557ff59e2647c), "Barcrest","Prize Money (Barcrest) (MPU4) (set 10)" ) GAME_CUSTOM( 199?, m4przmon__j, m4przmon, "fp8y.p1", 0x0000, 0x010000, CRC(c3ee5211) SHA1(02c51f28bdeb7b7fdc7bb95cdc79117eb733789c), "Barcrest","Prize Money (Barcrest) (MPU4) (set 11)" ) +// "(C)1991 BARCREST" and "FPM 0.3" +GAME_CUSTOM( 199?, m4przmon__o, m4przmon, "fpms.p1", 0x0000, 0x010000, CRC(2d71e7f5) SHA1(16040a042cb0824b44869e618f38edcabd9d47d6), "Barcrest","Prize Money (Barcrest) (MPU4) (FPM 0.3)" ) GAME_CUSTOM( 199?, m4przmon__k, m4przmon, "fpmb.p1", 0x0000, 0x010000, CRC(e3265d54) SHA1(e283d1675e529c600454f12f87fce370d517e11c), "Barcrest","Prize Money (Barcrest) (MPU4) (set 12)" ) GAME_CUSTOM( 199?, m4przmon__l, m4przmon, "fpmd.p1", 0x0000, 0x010000, CRC(60b2051c) SHA1(9543997fe8fa168bcc66edc3aef6f7e69b4fb326), "Barcrest","Prize Money (Barcrest) (MPU4) (set 13)" ) GAME_CUSTOM( 199?, m4przmon__m, m4przmon, "fpmdy.p1", 0x0000, 0x010000, CRC(422b8f68) SHA1(d18926c7228dbd8f5228b6bd03d265318b5296fe), "Barcrest","Prize Money (Barcrest) (MPU4) (set 14)" ) GAME_CUSTOM( 199?, m4przmon__n, m4przmon, "fpmk.p1", 0x0000, 0x010000, CRC(84f58f68) SHA1(e2297d53c8a7ee3c5058fc734b1f4ec533e93734), "Barcrest","Prize Money (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4przmon__o, m4przmon, "fpms.p1", 0x0000, 0x010000, CRC(2d71e7f5) SHA1(16040a042cb0824b44869e618f38edcabd9d47d6), "Barcrest","Prize Money (Barcrest) (MPU4) (set 16)" ) GAME_CUSTOM( 199?, m4przmon__p, m4przmon, "fpmy.p1", 0x0000, 0x010000, CRC(2728c725) SHA1(d36f8129731f9479ed526f9abfab8647cf43fdce), "Barcrest","Prize Money (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4przmon__q, m4przmon, "mt_05a__.3o3", 0x0000, 0x010000, CRC(4175f4a9) SHA1(b0e172e4862aa3b7be7accefc90e98d07d449b65), "Barcrest","Prize Money (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4przmon__r, m4przmon, "mt_05a__.4o1", 0x0000, 0x010000, CRC(637fecee) SHA1(8c970bdf703177c71dde5c774c75929ac42b6eb0), "Barcrest","Prize Money (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4przmon__s, m4przmon, "mt_05s__.3o3", 0x0000, 0x010000, CRC(92d674b7) SHA1(a828a9b0d870122bc09d865de90b8efa428f3fd0), "Barcrest","Prize Money (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4przmon__t, m4przmon, "mt_05sb_.3o3", 0x0000, 0x010000, CRC(1158e506) SHA1(8c91bfe29545bbbc0d136a8c9abef785cadc3c64), "Barcrest","Prize Money (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4przmon__u, m4przmon, "mt_05sd_.3o3", 0x0000, 0x010000, CRC(5ed3d947) SHA1(4b9bc9be6e79014ad6ca95293eb464af39e40dc1), "Barcrest","Prize Money (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4przmon__v, m4przmon, "mt_10a__.3o3", 0x0000, 0x010000, CRC(6a8172a4) SHA1(92c081535258677e90d9f9748a168926c7a0cbed), "Barcrest","Prize Money (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4przmon__w, m4przmon, "mt_10a__.4o1", 0x0000, 0x010000, CRC(36eeac30) SHA1(daa662392874806d18d4a161d39caed7e0abca73), "Barcrest","Prize Money (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4przmon__x, m4przmon, "mt_10s__.3o3", 0x0000, 0x010000, CRC(1b66f0f8) SHA1(308227b0144f0568df8190810e0de627b413a742), "Barcrest","Prize Money (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4przmon__y, m4przmon, "mt_10sb_.3o3", 0x0000, 0x010000, CRC(06a33d34) SHA1(5fa1269a7cf42ef14e2a19143a07bf28b38ad920), "Barcrest","Prize Money (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4przmon__z, m4przmon, "mt_10sd_.3o3", 0x0000, 0x010000, CRC(42629cb1) SHA1(12f695e1f70bf93100c1af8052dcee9131711510), "Barcrest","Prize Money (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4przmon__0, m4przmon, "mti05___.4o1", 0x0000, 0x010000, CRC(0e82c258) SHA1(c4aa7d32bcd9418e2919be8be8a2f9e60d46f316), "Barcrest","Prize Money (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4przmon__1, m4przmon, "mti10___.4o1", 0x0000, 0x010000, CRC(a35e0571) SHA1(9a22946047e76392f0c4534f892ee9ae9e700503), "Barcrest","Prize Money (Barcrest) (MPU4) (set 29)" ) +// "(C)1995 B.W.B." and "MC 53.0" +GAME_CUSTOM( 199?, m4przmon__q, m4przmon, "mt_05a__.3o3", 0x0000, 0x010000, CRC(4175f4a9) SHA1(b0e172e4862aa3b7be7accefc90e98d07d449b65), "Bwb","Prize Money (Barcrest) (MPU4) (MC 53.0 K)" ) +GAME_CUSTOM( 199?, m4przmon__s, m4przmon, "mt_05s__.3o3", 0x0000, 0x010000, CRC(92d674b7) SHA1(a828a9b0d870122bc09d865de90b8efa428f3fd0), "Bwb","Prize Money (Barcrest) (MPU4) (MC 53.0 )" ) +GAME_CUSTOM( 199?, m4przmon__t, m4przmon, "mt_05sb_.3o3", 0x0000, 0x010000, CRC(1158e506) SHA1(8c91bfe29545bbbc0d136a8c9abef785cadc3c64), "Bwb","Prize Money (Barcrest) (MPU4) (MC 53.0 YD)" ) +GAME_CUSTOM( 199?, m4przmon__u, m4przmon, "mt_05sd_.3o3", 0x0000, 0x010000, CRC(5ed3d947) SHA1(4b9bc9be6e79014ad6ca95293eb464af39e40dc1), "Bwb","Prize Money (Barcrest) (MPU4) (MC 53.0 D)" ) +// "(C)1995 B.W.B." and "MT054.0" +GAME_CUSTOM( 199?, m4przmon__r, m4przmon, "mt_05a__.4o1", 0x0000, 0x010000, CRC(637fecee) SHA1(8c970bdf703177c71dde5c774c75929ac42b6eb0), "Bwb","Prize Money (Barcrest) (MPU4) (MT054.0 K)" ) +GAME_CUSTOM( 199?, m4przmon__0, m4przmon, "mti05___.4o1", 0x0000, 0x010000, CRC(0e82c258) SHA1(c4aa7d32bcd9418e2919be8be8a2f9e60d46f316), "Bwb","Prize Money (Barcrest) (MPU4) (MT054.0 C)" ) +// "(C)1995 B.W.B." and "MC103.0" +GAME_CUSTOM( 199?, m4przmon__v, m4przmon, "mt_10a__.3o3", 0x0000, 0x010000, CRC(6a8172a4) SHA1(92c081535258677e90d9f9748a168926c7a0cbed), "Bwb","Prize Money (Barcrest) (MPU4) (MC103.0 K)" ) +GAME_CUSTOM( 199?, m4przmon__x, m4przmon, "mt_10s__.3o3", 0x0000, 0x010000, CRC(1b66f0f8) SHA1(308227b0144f0568df8190810e0de627b413a742), "Bwb","Prize Money (Barcrest) (MPU4) (MC103.0)" ) +GAME_CUSTOM( 199?, m4przmon__y, m4przmon, "mt_10sb_.3o3", 0x0000, 0x010000, CRC(06a33d34) SHA1(5fa1269a7cf42ef14e2a19143a07bf28b38ad920), "Bwb","Prize Money (Barcrest) (MPU4) (MC103.0 YD)" ) +GAME_CUSTOM( 199?, m4przmon__z, m4przmon, "mt_10sd_.3o3", 0x0000, 0x010000, CRC(42629cb1) SHA1(12f695e1f70bf93100c1af8052dcee9131711510), "Bwb","Prize Money (Barcrest) (MPU4) (MC103.0D)" ) +// "(C)1995 B.W.B." and "MT104.0" +GAME_CUSTOM( 199?, m4przmon__w, m4przmon, "mt_10a__.4o1", 0x0000, 0x010000, CRC(36eeac30) SHA1(daa662392874806d18d4a161d39caed7e0abca73), "Bwb","Prize Money (Barcrest) (MPU4) (MT104.0 K)" ) +GAME_CUSTOM( 199?, m4przmon__1, m4przmon, "mti10___.4o1", 0x0000, 0x010000, CRC(a35e0571) SHA1(9a22946047e76392f0c4534f892ee9ae9e700503), "Bwb","Prize Money (Barcrest) (MPU4) (MT104.0 C)" ) #define M4PRZHR_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ @@ -3694,7 +3724,17 @@ GAME_CUSTOM( 199?, m4przmon__1, m4przmon, "mti10___.4o1", 0x0000, 0x010000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4przhr, 0, "prly.p1", 0x0000, 0x010000, CRC(feeac121) SHA1(e01f32fb4cdfbe61fdcd89749a33185ac0410720), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 1)" ) +// "(C)1991 BARCREST" and "PRL 0.3" +GAME_CUSTOM( 199?, m4przhr, 0, "prls.p1", 0x0000, 0x010000, CRC(8cc08272) SHA1(8b25b99291a288f198573272d705c3592c7c60e6), "Barcrest","Prize High Roller (Barcrest) (MPU4) (PRL 0.3)" ) +GAME_CUSTOM( 199?, m4przhr__p, m4przhr, "prly.p1", 0x0000, 0x010000, CRC(feeac121) SHA1(e01f32fb4cdfbe61fdcd89749a33185ac0410720), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4przhr__j, m4przhr, "prlb.p1", 0x0000, 0x010000, CRC(b76f96cb) SHA1(2b0196542a99e60215ced488c7f5b2ae47b66ada), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 11)" ) +GAME_CUSTOM( 199?, m4przhr__k, m4przhr, "prlbd.p1", 0x0000, 0x010000, CRC(efad3703) SHA1(2a2dd6e913936a3232aa51972bfd1d2f6f4e9857), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4przhr__l, m4przhr, "prld.p1", 0x0000, 0x010000, CRC(aeff3794) SHA1(84bdd743ec49ff8f1d4f34a2c9e14f427bc38b83), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4przhr__m, m4przhr, "prldk.p1", 0x0000, 0x010000, CRC(c003cabf) SHA1(1f031d362591d675d2cffec041a0762e431e64f5), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4przhr__n, m4przhr, "prldy.p1", 0x0000, 0x010000, CRC(15b4e8f3) SHA1(92c3be901f038a18906db674129e153ea61d70f4), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 15)" ) +GAME_CUSTOM( 199?, m4przhr__o, m4przhr, "prlk.p1", 0x0000, 0x010000, CRC(f2be8c36) SHA1(411a5e1614a4f7963ebbb87e1a3a63209801f6da), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 16)" ) +// "(C)1991 BARCREST" and "PR3 0.1" +GAME_CUSTOM( 199?, m4przhr__h, m4przhr, "pr3s.p1", 0x0000, 0x010000, CRC(e4968894) SHA1(92b4b930f3bf370b213a72ad8328f19d5ebbd471), "Barcrest","Prize High Roller (Barcrest) (MPU4) (PR3 0.1)" ) GAME_CUSTOM( 199?, m4przhr__a, m4przhr, "pr3ad.p1", 0x0000, 0x010000, CRC(8b047599) SHA1(fd2f21c2ed3e5cb4e4ace7ffa620131a1897cf92), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4przhr__b, m4przhr, "pr3b.p1", 0x0000, 0x010000, CRC(11d42c71) SHA1(ede99d2bbe597e4057a28c843b4b1b089e3427d2), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4przhr__c, m4przhr, "pr3bd.p1", 0x0000, 0x010000, CRC(b682a11f) SHA1(a5cb9d016e0ff877f506c890aa6733551aef5507), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 4)" ) @@ -3702,15 +3742,7 @@ GAME_CUSTOM( 199?, m4przhr__d, m4przhr, "pr3d.p1", 0x0000, 0x010000, CRC(7d GAME_CUSTOM( 199?, m4przhr__e, m4przhr, "pr3dk.p1", 0x0000, 0x010000, CRC(6f6b1df4) SHA1(c4db1a793e79a47d614154fb0091be2253012489), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 6)" ) GAME_CUSTOM( 199?, m4przhr__f, m4przhr, "pr3dy.p1", 0x0000, 0x010000, CRC(1ecf832e) SHA1(6b72bc6b25e8019b1867f17cfd74913e2850eacb), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4przhr__g, m4przhr, "pr3k.p1", 0x0000, 0x010000, CRC(41423db6) SHA1(928b7c91fe12b4cef2c6b9828f0dd0f51e223d75), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4przhr__h, m4przhr, "pr3s.p1", 0x0000, 0x010000, CRC(e4968894) SHA1(92b4b930f3bf370b213a72ad8328f19d5ebbd471), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4przhr__i, m4przhr, "pr3y.p1", 0x0000, 0x010000, CRC(81b214c0) SHA1(792db44df880ac58e0da8ed47fe25881a24891b0), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4przhr__j, m4przhr, "prlb.p1", 0x0000, 0x010000, CRC(b76f96cb) SHA1(2b0196542a99e60215ced488c7f5b2ae47b66ada), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4przhr__k, m4przhr, "prlbd.p1", 0x0000, 0x010000, CRC(efad3703) SHA1(2a2dd6e913936a3232aa51972bfd1d2f6f4e9857), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4przhr__l, m4przhr, "prld.p1", 0x0000, 0x010000, CRC(aeff3794) SHA1(84bdd743ec49ff8f1d4f34a2c9e14f427bc38b83), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4przhr__m, m4przhr, "prldk.p1", 0x0000, 0x010000, CRC(c003cabf) SHA1(1f031d362591d675d2cffec041a0762e431e64f5), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4przhr__n, m4przhr, "prldy.p1", 0x0000, 0x010000, CRC(15b4e8f3) SHA1(92c3be901f038a18906db674129e153ea61d70f4), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4przhr__o, m4przhr, "prlk.p1", 0x0000, 0x010000, CRC(f2be8c36) SHA1(411a5e1614a4f7963ebbb87e1a3a63209801f6da), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4przhr__p, m4przhr, "prls.p1", 0x0000, 0x010000, CRC(8cc08272) SHA1(8b25b99291a288f198573272d705c3592c7c60e6), "Barcrest","Prize High Roller (Barcrest) (MPU4) (set 17)" ) #define M4GCLUE_EXTRA_ROMS \ @@ -3728,7 +3760,9 @@ GAME_CUSTOM( 199?, m4przhr__p, m4przhr, "prls.p1", 0x0000, 0x010000, CRC(8c ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4gclue, 0, "c2002ad.p1", 0x0000, 0x010000, CRC(39507216) SHA1(dc49d9cea63cd5e88e4076bfca3aae88521056be), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 1)" ) +// "(C)1991 BARCREST" and "C20 0.2" +GAME_CUSTOM( 199?, m4gclue, 0, "c2002s.p1", 0x0000, 0x010000, CRC(fe640d18) SHA1(598e5a92bd26457cbd0cbd1f73cddb56054ff826), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (C20 0.2)" ) +GAME_CUSTOM( 199?, m4gclue__j, m4gclue, "c2002ad.p1", 0x0000, 0x010000, CRC(39507216) SHA1(dc49d9cea63cd5e88e4076bfca3aae88521056be), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4gclue__a, m4gclue, "c2002b.p1", 0x0000, 0x010000, CRC(1a552423) SHA1(3025c7a8f98817a8b0233c7682452d5d6df081c5), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4gclue__b, m4gclue, "c2002bd.p1", 0x0000, 0x010000, CRC(1eff74d1) SHA1(7cfba92237b3de1ea54c0d8b8619dd09a68c3b51), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4gclue__c, m4gclue, "c2002c.p1", 0x0000, 0x010000, CRC(3c73d6c8) SHA1(63bb5df7063bf33e2b9f88db53ad64666967ecca), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 4)" ) @@ -3738,8 +3772,9 @@ GAME_CUSTOM( 199?, m4gclue__f, m4gclue, "c2002dr.p1", 0x0000, 0x010000, CR GAME_CUSTOM( 199?, m4gclue__g, m4gclue, "c2002dy.p1", 0x0000, 0x010000, CRC(1bf36c0c) SHA1(584fa498821129cfe9fb5c64cbf29c10abef0c57), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 8)" ) GAME_CUSTOM( 199?, m4gclue__h, m4gclue, "c2002k.p1", 0x0000, 0x010000, CRC(05e65abe) SHA1(560c2a7ac5af90ce5d0f1b34ec097bf5f733ec90), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4gclue__i, m4gclue, "c2002r.p1", 0x0000, 0x010000, CRC(49ce30ab) SHA1(501f509aae61059349107657516b559106d06f49), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4gclue__j, m4gclue, "c2002s.p1", 0x0000, 0x010000, CRC(fe640d18) SHA1(598e5a92bd26457cbd0cbd1f73cddb56054ff826), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4gclue__k, m4gclue, "c2002y.p1", 0x0000, 0x010000, CRC(d4a51845) SHA1(7808ff2d62eeadbb894379857266770fe9954384), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 12)" ) +// "(C)1991 BARCREST" and "C25 0.4" +GAME_CUSTOM( 199?, m4gclue__v, m4gclue, "c2504s.p1", 0x0000, 0x010000, CRC(47d6791f) SHA1(e232586605b096849480002ddb7b77a8b113a388), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (C25 0.4)" ) GAME_CUSTOM( 199?, m4gclue__l, m4gclue, "c2504ad.p1", 0x0000, 0x010000, CRC(f721de72) SHA1(8e64360f5b0de9d9b2afda6361e2b6d4ec3b1baf), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 13)" ) GAME_CUSTOM( 199?, m4gclue__m, m4gclue, "c2504b.p1", 0x0000, 0x010000, CRC(4cd01058) SHA1(705b3979c8728e98810cb3cd4d4b4e926e52d78b), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 14)" ) GAME_CUSTOM( 199?, m4gclue__n, m4gclue, "c2504bd.p1", 0x0000, 0x010000, CRC(34d6d202) SHA1(1c596abdbcce801f5363871f9959d07ba9568083), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 15)" ) @@ -3750,7 +3785,6 @@ GAME_CUSTOM( 199?, m4gclue__r, m4gclue, "c2504dr.p1", 0x0000, 0x010000, CR GAME_CUSTOM( 199?, m4gclue__s, m4gclue, "c2504dy.p1", 0x0000, 0x010000, CRC(a71ccade) SHA1(65cd823aa4136fcf8d93058e4ef708e4b01caa3a), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 20)" ) GAME_CUSTOM( 199?, m4gclue__t, m4gclue, "c2504k.p1", 0x0000, 0x010000, CRC(aa4af6e9) SHA1(18654cf751e157d11010e991e74127aa15cb3cfc), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 21)" ) GAME_CUSTOM( 199?, m4gclue__u, m4gclue, "c2504r.p1", 0x0000, 0x010000, CRC(62bbd71d) SHA1(0b7f97a213a8f5b457aa54f760e19ebd00b1d334), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4gclue__v, m4gclue, "c2504s.p1", 0x0000, 0x010000, CRC(47d6791f) SHA1(e232586605b096849480002ddb7b77a8b113a388), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 23)" ) GAME_CUSTOM( 199?, m4gclue__w, m4gclue, "c2504y.p1", 0x0000, 0x010000, CRC(ffd0fff3) SHA1(5f30353e73331315be99281c7ed435d05a9bfc5b), "Barcrest","Give Us A Clue (Barcrest) (MPU4) (set 24)" ) #define M4VEGAST_EXTRA_ROMS \ @@ -3768,7 +3802,9 @@ GAME_CUSTOM( 199?, m4gclue__w, m4gclue, "c2504y.p1", 0x0000, 0x010000, CR ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4vegast, 0, "uvsad.p1", 0x0000, 0x020000, CRC(f26d7fa8) SHA1(bb37be4a189bd38bd71afd836e94a55f9ef84ad4), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "UVS 0.3" +GAME_CUSTOM( 199?, m4vegast, 0, "uvss.p1", 0x0000, 0x020000, CRC(8b5b120f) SHA1(90749c4f986a248252661b8e4157871330673ecd), "Barcrest","Vegas Strip (Barcrest) (MPU4) (UVS 0.3)" ) +GAME_CUSTOM( 199?, m4vegast__h, m4vegast, "uvsad.p1", 0x0000, 0x020000, CRC(f26d7fa8) SHA1(bb37be4a189bd38bd71afd836e94a55f9ef84ad4), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4vegast__a, m4vegast, "uvsb.p1", 0x0000, 0x020000, CRC(32e017ff) SHA1(3e8aa863b85164ee9d535244bafb82b14ee19528), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4vegast__b, m4vegast, "uvsbd.p1", 0x0000, 0x020000, CRC(7f77d16d) SHA1(7f34a687877ca1d9257ee1c39ca5b3c44a42782e), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4vegast__c, m4vegast, "uvsc.p1", 0x0000, 0x020000, CRC(05aaaaed) SHA1(7eee93204467b9ecdff4b742a6e16306b83778ba), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 4)" ) @@ -3776,8 +3812,9 @@ GAME_CUSTOM( 199?, m4vegast__d, m4vegast, "uvsd.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4vegast__e, m4vegast, "uvsdk.p1", 0x0000, 0x020000, CRC(35b0793b) SHA1(90ef897fcd9cfb48007e5788a4df02053e38430c), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 6)" ) GAME_CUSTOM( 199?, m4vegast__f, m4vegast, "uvsdy.p1", 0x0000, 0x020000, CRC(b25359c5) SHA1(da4aa9b5069db222e22f24cd78f641c70a015166), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4vegast__g, m4vegast, "uvsk.p1", 0x0000, 0x020000, CRC(7827bfa9) SHA1(720d9793e97f2e11c1c9b18e3b4fa6ec7e29250a), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4vegast__h, m4vegast, "uvss.p1", 0x0000, 0x020000, CRC(8b5b120f) SHA1(90749c4f986a248252661b8e4157871330673ecd), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4vegast__i, m4vegast, "uvsy.p1", 0x0000, 0x020000, CRC(ffc49f57) SHA1(fb64afa2fefb3ff1c0f9b71aa3d00e1a17903e84), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 10)" ) +// "(C)1993 BARCREST" and "VSG 0.4" +GAME_CUSTOM( 199?, m4vegast__t, m4vegast, "vsg04s.p1", 0x0000, 0x020000, CRC(aff47295) SHA1(d249f280b721c96b7c36329e2c2bb955fa91aa59), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.4)" ) GAME_CUSTOM( 199?, m4vegast__j, m4vegast, "vsg04ad.p1", 0x0000, 0x020000, CRC(d63f8f24) SHA1(f3dcd908bceb5a508927a83d23e82577e8684240), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4vegast__k, m4vegast, "vsg04b.p1", 0x0000, 0x020000, CRC(4211e2bf) SHA1(5f634d074d0f95673f734c5600ac990fb7510bdc), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 12)" ) GAME_CUSTOM( 199?, m4vegast__l, m4vegast, "vsg04bd.p1", 0x0000, 0x020000, CRC(5b2521e1) SHA1(67d2496e7a52f9aa984d57a5b76f995506051a8c), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 13)" ) @@ -3788,10 +3825,11 @@ GAME_CUSTOM( 199?, m4vegast__p, m4vegast, "vsg04dr.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4vegast__q, m4vegast, "vsg04dy.p1", 0x0000, 0x020000, CRC(9601a949) SHA1(39a06f671b8f817039b9861887dd9521e7f3acdd), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 18)" ) GAME_CUSTOM( 199?, m4vegast__r, m4vegast, "vsg04k.p1", 0x0000, 0x020000, CRC(08d64ae9) SHA1(5cfe1b2fe0933d06618a2c88e1a63224686e972f), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 19)" ) GAME_CUSTOM( 199?, m4vegast__s, m4vegast, "vsg04r.p1", 0x0000, 0x020000, CRC(bbd9f1d8) SHA1(22312ff72d5b2fbe6416a7e84435e1df456a3547), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4vegast__t, m4vegast, "vsg04s.p1", 0x0000, 0x020000, CRC(aff47295) SHA1(d249f280b721c96b7c36329e2c2bb955fa91aa59), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 21)" ) GAME_CUSTOM( 199?, m4vegast__u, m4vegast, "vsg04y.p1", 0x0000, 0x020000, CRC(8f356a17) SHA1(33ac5e8a455175471466f7c7f35c66f795067bf2), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4vegast__v, m4vegast, "lvs", 0x0000, 0x020000, CRC(dcb0dc80) SHA1(6045b332eb4af09f6e0a669ea0b78ef4ac389ac2), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4vegast__x, m4vegast, "vstr2010", 0x0000, 0x020000, CRC(126365e3) SHA1(1e648b7a8cb1ff49e43e2fdc30f482b2b73ed6d7), "Barcrest","Vegas Strip (Barcrest) (MPU4) (set 25)" ) +// "(C)1993 BARCREST" and "VSG 0.3" (most of the sets with 2010 in the filenames are hacks tho) +GAME_CUSTOM( 199?, m4vegast__x, m4vegast, "vstr2010", 0x0000, 0x020000, CRC(126365e3) SHA1(1e648b7a8cb1ff49e43e2fdc30f482b2b73ed6d7), "Barcrest","Vegas Strip (Barcrest) (MPU4) (VSG 0.3)" ) +// "(C)1993 BARCREST" and "VSG 0.3" (but doesn't boot?) +GAME_CUSTOM( 199?, m4vegast__v, m4vegast, "lvs", 0x0000, 0x020000, CRC(dcb0dc80) SHA1(6045b332eb4af09f6e0a669ea0b78ef4ac389ac2), "hack?","Vegas Strip (Barcrest) (MPU4) (VSG 0.3, hack?)" ) #define M4HOTROD_EXTRA_ROMS \ @@ -3854,10 +3892,8 @@ GAME_CUSTOM( 199?, m4hotrod__t, m4hotrod, "hrod_10_.8", 0x000 ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4buc, 0, "buccaneer5-15sw.bin", 0x000000, 0x020000, CRC(9b92d1f6) SHA1(d374fe966a1b039c971f278ab1113640e7629233), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4buc__a, m4buc, "bucc15g", 0x000000, 0x020000, CRC(63dd1180) SHA1(a557af6927744b4ce2773c70db5ce1a7708ceb2c), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4buc__b, m4buc, "bucc15t", 0x000000, 0x020000, CRC(66104749) SHA1(4b5a9a3f1409e207cad42ea29a205a18facf57ab), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 3)" ) +// "(C)1993 BARCREST" and "BUG 0.4" +GAME_CUSTOM( 199?, m4buc, 0, "bug04s.p1", 0x000000, 0x020000, CRC(0f76cf1d) SHA1(e0081f88e23958564a87346082629c4fdc0cc147), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.4)" ) GAME_CUSTOM( 199?, m4buc__c, m4buc, "bug04ad.p1", 0x000000, 0x020000, CRC(c6171b29) SHA1(a66aa4b05f974aa9cea9e05e95d14a0e746374be), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 4)" ) GAME_CUSTOM( 199?, m4buc__d, m4buc, "bug04b.p1", 0x000000, 0x020000, CRC(4358fe51) SHA1(6e61397f71018d3f9d369a0ac8fefacafbada2d5), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 5)" ) GAME_CUSTOM( 199?, m4buc__e, m4buc, "bug04bd.p1", 0x000000, 0x020000, CRC(282b7832) SHA1(1ae3e45606bb875dd178beab231bdaa472687d46), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 6)" ) @@ -3869,8 +3905,9 @@ GAME_CUSTOM( 199?, m4buc__j, m4buc, "bug04dy.p1", 0x000000, 0x020000 GAME_CUSTOM( 199?, m4buc__k, m4buc, "bug04h.p1", 0x000000, 0x020000, CRC(03edc1c4) SHA1(52a3040ec602008dc9143900d149251235282dca), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 12)" ) GAME_CUSTOM( 199?, m4buc__l, m4buc, "bug04k.p1", 0x000000, 0x020000, CRC(6ab99bd9) SHA1(d199e88dd22f6c2d31c23413c4c3f262834f5751), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 13)" ) GAME_CUSTOM( 199?, m4buc__m, m4buc, "bug04r.p1", 0x000000, 0x020000, CRC(d9b620e8) SHA1(01e7232f62dc33d3a9a26ee5456c2bb47dd4fce4), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4buc__n, m4buc, "bug04s.p1", 0x000000, 0x020000, CRC(0f76cf1d) SHA1(e0081f88e23958564a87346082629c4fdc0cc147), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 15)" ) GAME_CUSTOM( 199?, m4buc__o, m4buc, "bug04y.p1", 0x000000, 0x020000, CRC(207e338f) SHA1(3a95d0029e3e3a8f839f335ed1a981e8d6124dcc), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 16)" ) +// "(C)1993 BARCREST" and "BUG 0.5" +GAME_CUSTOM( 199?, m4buc__0, m4buc, "bug05s.p1", 0x000000, 0x020000, CRC(99ce7ada) SHA1(6cdb17d8dfd759ceb2d7acd5f6b15952106f3178), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUG 0.5)" ) GAME_CUSTOM( 199?, m4buc__p, m4buc, "bug05ad.p1", 0x000000, 0x020000, CRC(515539dd) SHA1(6f8eb199f4738edb6f405f3d5df1ba0256dfa0bf), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 17)" ) GAME_CUSTOM( 199?, m4buc__q, m4buc, "bug05b.p1", 0x000000, 0x020000, CRC(a4e57b87) SHA1(64a76762b028349da9fb14141d27423785bdb9c8), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 18)" ) GAME_CUSTOM( 199?, m4buc__r, m4buc, "bug05bd.p1", 0x000000, 0x020000, CRC(bf695ac6) SHA1(24f5c4f46ed5d269426357ef578774ac456be1d0), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 19)" ) @@ -3882,8 +3919,9 @@ GAME_CUSTOM( 199?, m4buc__w, m4buc, "bug05dy.p1", 0x000000, 0x020000 GAME_CUSTOM( 199?, m4buc__x, m4buc, "bug05h.p1", 0x000000, 0x020000, CRC(e4504412) SHA1(84596d14c1474f7965956ed707261dbe272d9c14), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 25)" ) GAME_CUSTOM( 199?, m4buc__y, m4buc, "bug05k.p1", 0x000000, 0x020000, CRC(8d041e0f) SHA1(94c4fa84f6c978c725593c6086c61521cd791c74), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 26)" ) GAME_CUSTOM( 199?, m4buc__z, m4buc, "bug05r.p1", 0x000000, 0x020000, CRC(3e0ba53e) SHA1(041dbf7f086dce0182f855249d832b68942e2c33), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4buc__0, m4buc, "bug05s.p1", 0x000000, 0x020000, CRC(99ce7ada) SHA1(6cdb17d8dfd759ceb2d7acd5f6b15952106f3178), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 28)" ) GAME_CUSTOM( 199?, m4buc__1, m4buc, "bug05y.p1", 0x000000, 0x020000, CRC(c7c3b659) SHA1(66aa9481b69ee282ecfa8f7614b7d476919e35b3), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 29)" ) +// "(C)1993 BARCREST" and "BUS 0.1" +GAME_CUSTOM( 199?, m4buc__ad, m4buc, "bus01s.p1", 0x000000, 0x020000, CRC(d5a35734) SHA1(7b905ac16eb50d462e9edc5bb50fe660b6f7c81b), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.1)" ) GAME_CUSTOM( 199?, m4buc__2, m4buc, "bus01ad.p1", 0x000000, 0x020000, CRC(0f5920ee) SHA1(5152c24fd3e3642a5324e68465403a6ce199db5a), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 30)" ) GAME_CUSTOM( 199?, m4buc__3, m4buc, "bus01b.p1", 0x000000, 0x020000, CRC(656d2609) SHA1(525fc8e2dc1d6bfe17c24e28ccde0f0a580e4330), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 31)" ) GAME_CUSTOM( 199?, m4buc__4, m4buc, "bus01bd.p1", 0x000000, 0x020000, CRC(e16543f5) SHA1(98dc6a098ad13c1f7c3e0e1079eed92931ce279c), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 32)" ) @@ -3895,8 +3933,9 @@ GAME_CUSTOM( 199?, m4buc__9, m4buc, "bus01dy.p1", 0x000000, 0x020000 GAME_CUSTOM( 199?, m4buc__aa, m4buc, "bus01h.p1", 0x000000, 0x020000, CRC(25d8199c) SHA1(84be66148fe14d85bd69fb4c9b5263b7c208e690), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 38)" ) GAME_CUSTOM( 199?, m4buc__ab, m4buc, "bus01k.p1", 0x000000, 0x020000, CRC(4c8c4381) SHA1(0e6204e6f937ca8b9dc31927d31ec11db18068c0), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 39)" ) GAME_CUSTOM( 199?, m4buc__ac, m4buc, "bus01r.p1", 0x000000, 0x020000, CRC(ff83f8b0) SHA1(bbd56730eccb4df1815b98921522beec5c74a9bd), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 40)" ) -GAME_CUSTOM( 199?, m4buc__ad, m4buc, "bus01s.p1", 0x000000, 0x020000, CRC(d5a35734) SHA1(7b905ac16eb50d462e9edc5bb50fe660b6f7c81b), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 41)" ) GAME_CUSTOM( 199?, m4buc__ae, m4buc, "bus01y.p1", 0x000000, 0x020000, CRC(064bebd7) SHA1(8b19edae49c919ddf20d2ebff43ffec79809d90c), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 42)" ) +// "(C)1993 BARCREST" and "BUS 0.2" +GAME_CUSTOM( 199?, m4buc__aq, m4buc, "bus02s.p1", 0x000000, 0x020000, CRC(c43f9f09) SHA1(83501473bf8fc17748fa42ab446d4bc54eeb2a80), "Barcrest","Buccaneer (Barcrest) (MPU4) (BUS 0.2)" ) GAME_CUSTOM( 199?, m4buc__af, m4buc, "bus02ad.p1", 0x000000, 0x020000, CRC(a1ad9f3d) SHA1(bfb61b1f2a449293d23d6c385a0aab67ccdcc8fe), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 43)" ) GAME_CUSTOM( 199?, m4buc__ag, m4buc, "bus02b.p1", 0x000000, 0x020000, CRC(f6d1181b) SHA1(f4606b4f9522293ad73936f9dd80e54b9ee58f33), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 44)" ) GAME_CUSTOM( 199?, m4buc__ah, m4buc, "bus02bd.p1", 0x000000, 0x020000, CRC(4f91fc26) SHA1(66e2aec28ec474a8d9c11dd7375de0c2050db963), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 45)" ) @@ -3908,17 +3947,25 @@ GAME_CUSTOM( 199?, m4buc__am, m4buc, "bus02dy.p1", 0x000000, 0x020000 GAME_CUSTOM( 199?, m4buc__an, m4buc, "bus02h.p1", 0x000000, 0x020000, CRC(b664278e) SHA1(ab009d09f1e3a8aa3c425db689553c3ac63f17ce), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 51)" ) GAME_CUSTOM( 199?, m4buc__ao, m4buc, "bus02k.p1", 0x000000, 0x020000, CRC(df307d93) SHA1(1dda940868273f81c501dcee27c9d6bc91f411e1), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 52)" ) GAME_CUSTOM( 199?, m4buc__ap, m4buc, "bus02r.p1", 0x000000, 0x020000, CRC(6c3fc6a2) SHA1(f65cab3fcc5a7176dded8ebf3de8ff90479686c6), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 53)" ) -GAME_CUSTOM( 199?, m4buc__aq, m4buc, "bus02s.p1", 0x000000, 0x020000, CRC(c43f9f09) SHA1(83501473bf8fc17748fa42ab446d4bc54eeb2a80), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 54)" ) GAME_CUSTOM( 199?, m4buc__ar, m4buc, "bus02y.p1", 0x000000, 0x020000, CRC(95f7d5c5) SHA1(301949ad27963041a3cef000ed9ffd16c119b18d), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 55)" ) -GAME_CUSTOM( 199?, m4buc__as, m4buc, "br_sj___.1_1", 0x000000, 0x020000, CRC(02c30d48) SHA1(8e5d09d721bf6e1876d672b6c84f46666cf42b90), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 56)" ) -GAME_CUSTOM( 199?, m4buc__at, m4buc, "br_sj_b_.1_1", 0x000000, 0x020000, CRC(490ec8a7) SHA1(faf9f450d48382aeb7b8e01750fc226c30e761d3), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 57)" ) -GAME_CUSTOM( 199?, m4buc__au, m4buc, "br_sj_d_.1_1", 0x000000, 0x020000, CRC(ac4e72d6) SHA1(303f77e536b8da79a926dc5b30441ae9071f683b), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 58)" ) -GAME_CUSTOM( 199?, m4buc__av, m4buc, "br_sj_k_.1_1", 0x000000, 0x020000, CRC(1c71f108) SHA1(10f4e99b0af4a102ed23098123d82da2a8f1c5be), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 59)" ) -GAME_CUSTOM( 199?, m4buc__aw, m4buc, "br_sjb__.1_1", 0x000000, 0x020000, CRC(d15579a0) SHA1(577c7cd11da15083327dba385a6769b346be2b71), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 60)" ) -GAME_CUSTOM( 199?, m4buc__ax, m4buc, "br_sjbg_.1_1", 0x000000, 0x020000, CRC(5f8ec0ae) SHA1(8eacfd43e3f875af862b77f044b7a9f1487af4a1), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 61)" ) -GAME_CUSTOM( 199?, m4buc__ay, m4buc, "br_sjbt_.1_1", 0x000000, 0x020000, CRC(00f9581e) SHA1(1461539f501250a08bf66e4a94e4b84113dc0dc5), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 62)" ) -GAME_CUSTOM( 199?, m4buc__az, m4buc, "br_sjwb_.1_1", 0x000000, 0x020000, CRC(d15cb680) SHA1(4ab485eb2d1d57c690926e430e0c8b2af045381d), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 63)" ) +// "(C)1999 BWB" and "BR_ 1.0" +GAME_CUSTOM( 199?, m4buc__as, m4buc, "br_sj___.1_1", 0x000000, 0x020000, CRC(02c30d48) SHA1(8e5d09d721bf6e1876d672b6c84f46666cf42b90), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0, set 1)" ) +GAME_CUSTOM( 199?, m4buc__at, m4buc, "br_sj_b_.1_1", 0x000000, 0x020000, CRC(490ec8a7) SHA1(faf9f450d48382aeb7b8e01750fc226c30e761d3), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0, set 2)" ) +GAME_CUSTOM( 199?, m4buc__au, m4buc, "br_sj_d_.1_1", 0x000000, 0x020000, CRC(ac4e72d6) SHA1(303f77e536b8da79a926dc5b30441ae9071f683b), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0, set 3)" ) +GAME_CUSTOM( 199?, m4buc__av, m4buc, "br_sj_k_.1_1", 0x000000, 0x020000, CRC(1c71f108) SHA1(10f4e99b0af4a102ed23098123d82da2a8f1c5be), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0, set 4)" ) +GAME_CUSTOM( 199?, m4buc__aw, m4buc, "br_sjb__.1_1", 0x000000, 0x020000, CRC(d15579a0) SHA1(577c7cd11da15083327dba385a6769b346be2b71), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0, set 5)" ) +GAME_CUSTOM( 199?, m4buc__ax, m4buc, "br_sjbg_.1_1", 0x000000, 0x020000, CRC(5f8ec0ae) SHA1(8eacfd43e3f875af862b77f044b7a9f1487af4a1), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0, set 6)" ) +GAME_CUSTOM( 199?, m4buc__ay, m4buc, "br_sjbt_.1_1", 0x000000, 0x020000, CRC(00f9581e) SHA1(1461539f501250a08bf66e4a94e4b84113dc0dc5), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0, set 7)" ) +GAME_CUSTOM( 199?, m4buc__az, m4buc, "br_sjwb_.1_1", 0x000000, 0x020000, CRC(d15cb680) SHA1(4ab485eb2d1d57c690926e430e0c8b2af045381d), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0, set 8)" ) +GAME_CUSTOM( 199?, m4buc__n, m4buc, "buccaneer5-15sw.bin", 0x000000, 0x020000, CRC(9b92d1f6) SHA1(d374fe966a1b039c971f278ab1113640e7629233), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0, set 9)" ) +// no copyright string and "BUG 0.4" +GAME_CUSTOM( 199?, m4buc__a, m4buc, "bucc15g", 0x000000, 0x020000, CRC(63dd1180) SHA1(a557af6927744b4ce2773c70db5ce1a7708ceb2c), "hack","Buccaneer (Barcrest) (MPU4) (BUG 0.4, hack)" ) +// no copyright string and "BUS 0.1" +GAME_CUSTOM( 199?, m4buc__b, m4buc, "bucc15t", 0x000000, 0x020000, CRC(66104749) SHA1(4b5a9a3f1409e207cad42ea29a205a18facf57ab), "hack","Buccaneer (Barcrest) (MPU4) (BUS 0.1, hack)" ) + + +// These were mixed in Hyper Viper and Super Hyper Viper sets, not sure if the software is actually different, maybe the Bwb rebuilds were 'Super' ? #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ @@ -3928,29 +3975,58 @@ GAME_CUSTOM( 199?, m4buc__az, m4buc, "br_sjwb_.1_1", 0x000000, 0x020000 ROM_END \ GAME(year, setname, parent ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4hypvip, 0, "5p4hypervyper.bin", 0x0000, 0x010000, CRC(51ac9288) SHA1(1580079b6e710506ab03e1d8a89af65cd06cedd2), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4hypvip__a, m4hypvip, "h.viper10p610m.bin", 0x0000, 0x010000, CRC(104b0c48) SHA1(ab4cdb596a0cfb877ed1b6bf801e4a759b53971f), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4hypvip__b, m4hypvip, "h6yc.p1", 0x0000, 0x010000, CRC(8faca3bc) SHA1(9d666371f1118ccb1a94bfc4e6c79b540a84842b), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 3)" ) +// "(C)1991 BARCREST" and "H6Y 0.3" +GAME_CUSTOM( 199?, m4hypvip, 0, "h6ys.p1", 0x0000, 0x010000, CRC(4af914ff) SHA1(3d9b7c65ec1129ee64e3f4e14e43e4c39c76166b), "Barcrest","Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, set 1)" ) +GAME_CUSTOM( 199?, m4hypvip__e, m4hypvip, "h6yc.p1", 0x0000, 0x010000, CRC(8faca3bc) SHA1(9d666371f1118ccb1a94bfc4e6c79b540a84842b), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4hypvip__c, m4hypvip, "h6yd.p1", 0x0000, 0x010000, CRC(862e7f5b) SHA1(2f5bbc31978fb9fd0ba17f0de220152da87cf06f), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 4)" ) GAME_CUSTOM( 199?, m4hypvip__d, m4hypvip, "h6yk.p1", 0x0000, 0x010000, CRC(51f43c88) SHA1(d6ee4f537d09b33e9b13c972e1bda01a28f54f8e), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4hypvip__e, m4hypvip, "h6ys.p1", 0x0000, 0x010000, CRC(4af914ff) SHA1(3d9b7c65ec1129ee64e3f4e14e43e4c39c76166b), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 6)" ) GAME_CUSTOM( 199?, m4hypvip__f, m4hypvip, "h6yy.p1", 0x0000, 0x010000, CRC(bed4b3bb) SHA1(7c592fbc6541c03777ff0498db90c575b3193222), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4hypvip__g, m4hypvip, "hv056c", 0x0000, 0x010000, CRC(91dcef99) SHA1(8fb6245fa8731b58799c0d2edc0e6c6942984a6f), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4hypvip__h, m4hypvip, "hv05_101", 0x0000, 0x010000, CRC(e1fa633d) SHA1(3f446c3396142631141cf85db507f3ae288847e3), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4hypvip__i, m4hypvip, "hv108c", 0x0000, 0x010000, CRC(4d40ebfe) SHA1(0e355fe5b185ba595c5040335956037b8ed21599), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4hypvip__j, m4hypvip, "hv10_101", 0x0000, 0x010000, CRC(57714454) SHA1(de99f5a66081191a7280c54e875fd17cc94e111b), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4hypvip__k, m4hypvip, "hv20_101", 0x0000, 0x010000, CRC(b2ab79c9) SHA1(fd097b5b062d725fa0607117d6b52be6cbf7e597), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4hypvip__l, m4hypvip, "hvyp10p", 0x0000, 0x010000, CRC(b4af635a) SHA1(420cdf3a6899e432d74e3b10a57414cbedc0913e), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4hypvip__m, m4hypvip, "hvyp56c", 0x0000, 0x010000, CRC(297d3cf8) SHA1(78f4de2ed69fb38b944a54d4d5927ff791e7876c), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4hypvip__n, m4hypvip, "hvypr206", 0x0000, 0x010000, CRC(e1d96b8c) SHA1(e21b1bdbca1bae41f0e7274e3521f99eb984759e), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4hypvip__o, m4hypvip, "hyp55", 0x0000, 0x010000, CRC(07bd7455) SHA1(0d0a017c90e8d28500594f55c9a60dfc08aff5c3), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4hypvip__p, m4hypvip, "hypr58c", 0x0000, 0x010000, CRC(d6028f8f) SHA1(54a3188ddb5196808a1161a0e1e6a8c1fe8bfde3), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4hypvip__q, m4hypvip, "hvip_05_.8", 0x0000, 0x010000, CRC(625f1b9d) SHA1(f8dc0cde774f3fc4fb3d66d014ad47e9576c0f44), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4hypvip__r, m4hypvip, "hvip_10_.8", 0x0000, 0x010000, CRC(f91d7fec) SHA1(4c8130f9ce0ee3b14744e2b3cab79d4a65767e78), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4hypvip__s, m4hypvip, "hvip_20_.8", 0x0000, 0x010000, CRC(61a608c7) SHA1(1ed98c8bd90a3a789ba00b6b39f49e3aa0fcb1ca), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4hypvip__t, m4hypvip, "hypv_05_.4", 0x0000, 0x010000, CRC(246f171c) SHA1(7bbefb0cae57cf8097aa6d033df1a428e8bfe744), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4hypvip__u, m4hypvip, "hypv_10_.4", 0x0000, 0x010000, CRC(f85d21a1) SHA1(55ed92147335a1471b7b443f68dd700f579d21f3), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4hypvip__v, m4hypvip, "hypv_20_.4", 0x0000, 0x010000, CRC(27a0162b) SHA1(2d1342edbfa29c4f2ee1f1a825f3eeb0489fbaf5), "Barcrest","Hyper Viper (Barcrest) (MPU4) (set 23)" ) +GAME_CUSTOM( 199?, m4suphv, m4hypvip, "hyperviper.bin", 0x0000, 0x010000, CRC(8373f6a3) SHA1(79bff20ab80ffe11447595c6fe8e5ab90d432e17), "Barcrest","Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, set 2)" ) // hack? +// "(C)1991 BARCREST" and "H6Y 0.3" (but hack, doesn't want usual characterizer) +GAME_CUSTOM( 199?, m4hypvip__k, m4hypvip, "hv20_101", 0x0000, 0x010000, CRC(b2ab79c9) SHA1(fd097b5b062d725fa0607117d6b52be6cbf7e597), "hack","Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, hack, set 1)" ) +GAME_CUSTOM( 199?, m4hypvip__s, m4hypvip, "hvip_20_.8", 0x0000, 0x010000, CRC(61a608c7) SHA1(1ed98c8bd90a3a789ba00b6b39f49e3aa0fcb1ca), "hack","Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, hack, set 2)" ) +GAME_CUSTOM( 199?, m4hypvip__v, m4hypvip, "hypv_20_.4", 0x0000, 0x010000, CRC(27a0162b) SHA1(2d1342edbfa29c4f2ee1f1a825f3eeb0489fbaf5), "hack","Hyper Viper (Barcrest) (MPU4) (H6Y 0.3, hack, set 3)" ) +// "(C)1991 BARCREST" and "H6Y 0.2" +GAME_CUSTOM( 199?, m4hypvip__n, m4hypvip, "hvypr206", 0x0000, 0x010000, CRC(e1d96b8c) SHA1(e21b1bdbca1bae41f0e7274e3521f99eb984759e), "Barcrest","Hyper Viper (Barcrest) (MPU4) (H6Y 0.2 Y)" ) +// "(C)1993 B.W.B." and "HVP 3.0" +GAME_CUSTOM( 199?, m4hypvip__l, m4hypvip, "hvyp10p", 0x0000, 0x010000, CRC(b4af635a) SHA1(420cdf3a6899e432d74e3b10a57414cbedc0913e), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 1)" ) +GAME_CUSTOM( 199?, m4suphv__a, m4hypvip, "hv_05___.3h3", 0x0000, 0x010000, CRC(13bfa891) SHA1(ffddd14a019d52029bf8d4f680d8d05413a9f0b7), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 2)" ) +GAME_CUSTOM( 199?, m4suphv__d, m4hypvip, "hv_05_d_.3h3", 0x0000, 0x010000, CRC(50c66ce8) SHA1(ef12525fc3ac82caf80326edaac81bb9fbc3245c), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 3)" ) +GAME_CUSTOM( 199?, m4suphv__g, m4hypvip, "hv_10___.3h3", 0x0000, 0x010000, CRC(627caac7) SHA1(4851ce2441850743ea68ecbf89bde3f4cd6c2b4c), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 4)" ) +GAME_CUSTOM( 199?, m4suphv__i, m4hypvip, "hv_10_d_.3h3", 0x0000, 0x010000, CRC(15cfa26e) SHA1(6bc3feaba65d1797b9945f23a89e983f56b13f79), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 5)" ) +GAME_CUSTOM( 199?, m4suphv__j, m4hypvip, "hv_10_d_.3n3", 0x0000, 0x010000, CRC(b81f1d0a) SHA1(5fd293be2b75393069c9f5e099b4700ff930f081), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 6)" ) +GAME_CUSTOM( 199?, m4suphv__l, m4hypvip, "hvi05___.3h3", 0x0000, 0x010000, CRC(6959332e) SHA1(edaa5f86ad4389b0a3bc2e6679fe8f62520be3ae), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 7)" ) +GAME_CUSTOM( 199?, m4suphv__o, m4hypvip, "hvi10___.3h3", 0x0000, 0x010000, CRC(6c1b4b89) SHA1(e8eb4e689d43c5b9e8354aa7375ca3ba12ed1160), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 8)" ) +GAME_CUSTOM( 199?, m4suphv__p, m4hypvip, "hvi10___.3n3", 0x0000, 0x010000, CRC(9d95cf8c) SHA1(26daf3975e1e3a605bc4392700c5470b52450d6e), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, set 9)" ) +// "(C)1993 B.W.B." and "HVP 4.0" +GAME_CUSTOM( 199?, m4suphv__c, m4hypvip, "hv_05___.4n3", 0x0000, 0x010000, CRC(f607f351) SHA1(d7b779b80fa964a27b106bd9d5ca3be16a11d5e9), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 4.0, set 1)" ) +GAME_CUSTOM( 199?, m4suphv__f, m4hypvip, "hv_05_d_.4n3", 0x0000, 0x010000, CRC(f4d702d7) SHA1(268c7f6443c7ae587caf5b227fcd438530a06bcc), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 4.0, set 2)" ) +GAME_CUSTOM( 199?, m4suphv__n, m4hypvip, "hvi05___.4n3", 0x0000, 0x010000, CRC(38a33c2b) SHA1(21004092b81e08146291fd3a025652f0edbe47dc), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 4.0, set 3)" ) +// "(C)1994 B.W.B." and "HVP 3.0" +GAME_CUSTOM( 199?, m4hypvip__a, m4hypvip, "h.viper10p610m.bin", 0x0000, 0x010000, CRC(104b0c48) SHA1(ab4cdb596a0cfb877ed1b6bf801e4a759b53971f), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, C)" ) +GAME_CUSTOM( 199?, m4hypvip__m, m4hypvip, "hvyp56c", 0x0000, 0x010000, CRC(297d3cf8) SHA1(78f4de2ed69fb38b944a54d4d5927ff791e7876c), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, C, bad?)" ) // bad rom? checksum alarm +GAME_CUSTOM( 199?, m4suphv__b, m4hypvip, "hv_05___.3o3", 0x0000, 0x010000, CRC(9ae86366) SHA1(614ae0ab184645c9f568796783f29a177eda3208), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 1)" ) +GAME_CUSTOM( 199?, m4suphv__e, m4hypvip, "hv_05_d_.3o3", 0x0000, 0x010000, CRC(87dfca0e) SHA1(3ab4105680acc46d3633a722f40ff1af0a520a7f), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 2)" ) +GAME_CUSTOM( 199?, m4suphv__h, m4hypvip, "hv_10___.3o3", 0x0000, 0x010000, CRC(02e4d86a) SHA1(47aa83e8bcd85e8ba7fb972cdd1ead7fe21e0418), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 3)" ) +GAME_CUSTOM( 199?, m4suphv__k, m4hypvip, "hv_10_d_.3o3", 0x0000, 0x010000, CRC(85f176b9) SHA1(30380d58bf2834829764cbdbdc7d950632e61e6d), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 4)" ) +GAME_CUSTOM( 199?, m4suphv__m, m4hypvip, "hvi05___.3o3", 0x0000, 0x010000, CRC(cdba80a5) SHA1(6c9fac7e5ee324b18922cc7a053495f1977bcb6d), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, 1994, set 5)" ) + // "(C)1995 B.W.B." and "HVC 1.0" +GAME_CUSTOM( 199?, m4hypvip__b, m4hypvip, "5p4hypervyper.bin", 0x0000, 0x010000, CRC(51ac9288) SHA1(1580079b6e710506ab03e1d8a89af65cd06cedd2), "Bwb","Hyper Viper (Barcrest) (MPU4) (HVC 1.0 C)" ) +// no copyright string and "HVP 3.0" +GAME_CUSTOM( 199?, m4hypvip__g, m4hypvip, "hv056c", 0x0000, 0x010000, CRC(91dcef99) SHA1(8fb6245fa8731b58799c0d2edc0e6c6942984a6f), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 1)" ) +GAME_CUSTOM( 199?, m4hypvip__h, m4hypvip, "hv05_101", 0x0000, 0x010000, CRC(e1fa633d) SHA1(3f446c3396142631141cf85db507f3ae288847e3), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 2)" ) +GAME_CUSTOM( 199?, m4hypvip__o, m4hypvip, "hyp55", 0x0000, 0x010000, CRC(07bd7455) SHA1(0d0a017c90e8d28500594f55c9a60dfc08aff5c3), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 3)" ) +GAME_CUSTOM( 199?, m4hypvip__p, m4hypvip, "hypr58c", 0x0000, 0x010000, CRC(d6028f8f) SHA1(54a3188ddb5196808a1161a0e1e6a8c1fe8bfde3), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 4)" ) +GAME_CUSTOM( 199?, m4hypvip__t, m4hypvip, "hypv_05_.4", 0x0000, 0x010000, CRC(246f171c) SHA1(7bbefb0cae57cf8097aa6d033df1a428e8bfe744), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 5)" ) +GAME_CUSTOM( 199?, m4hypvip__q, m4hypvip, "hvip_05_.8", 0x0000, 0x010000, CRC(625f1b9d) SHA1(f8dc0cde774f3fc4fb3d66d014ad47e9576c0f44), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, hack, set 1)" ) +// "DICK WAS ERE" and "HVP 3.0" +GAME_CUSTOM( 199?, m4hypvip__i, m4hypvip, "hv108c", 0x0000, 0x010000, CRC(4d40ebfe) SHA1(0e355fe5b185ba595c5040335956037b8ed21599), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 6)" ) +GAME_CUSTOM( 199?, m4hypvip__j, m4hypvip, "hv10_101", 0x0000, 0x010000, CRC(57714454) SHA1(de99f5a66081191a7280c54e875fd17cc94e111b), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 7)" ) +GAME_CUSTOM( 199?, m4hypvip__u, m4hypvip, "hypv_10_.4", 0x0000, 0x010000, CRC(f85d21a1) SHA1(55ed92147335a1471b7b443f68dd700f579d21f3), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0 C, hack, set 8)" ) +GAME_CUSTOM( 199?, m4hypvip__r, m4hypvip, "hvip_10_.8", 0x0000, 0x010000, CRC(f91d7fec) SHA1(4c8130f9ce0ee3b14744e2b3cab79d4a65767e78), "hack","Hyper Viper (Barcrest) (MPU4) (HVP 3.0, hack, set 2)" ) + + + #define M4JWLCWN_EXTRA_ROMS \ @@ -3970,7 +4046,8 @@ GAME_CUSTOM( 199?, m4hypvip__v, m4hypvip, "hypv_20_.4", 0x0000, 0 GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4jwlcwn, 0, "cje0.8", 0x0000, 0x020000, CRC(2074bf61) SHA1(d84201fb7d2590b16816e0369e89789d02088a6d), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "CJE 1.0" +GAME_CUSTOM( 199?, m4jwlcwn, 0, "cje10s.p1", 0x0000, 0x020000, CRC(5f3b72b7) SHA1(8faf0de0282a67c88170c13856b8816c38396e19), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (CJE 1.0)" ) GAME_CUSTOM( 199?, m4jwlcwn__a, m4jwlcwn, "cje10ad.p1", 0x0000, 0x020000, CRC(b245d706) SHA1(704cc3bcae099c71dcc2bd96095cb4b48857a23a), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4jwlcwn__b, m4jwlcwn, "cje10b.p1", 0x0000, 0x020000, CRC(0ef3387b) SHA1(852bdac93fb448089633133a546bdb8da4d6887b), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4jwlcwn__c, m4jwlcwn, "cje10bd.p1", 0x0000, 0x020000, CRC(3f5f79c3) SHA1(a89502dae9843fddd471fd5eb1d39e84d7124c7e), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 4)" ) @@ -3981,8 +4058,11 @@ GAME_CUSTOM( 199?, m4jwlcwn__g, m4jwlcwn, "cje10dr.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4jwlcwn__h, m4jwlcwn, "cje10dy.p1", 0x0000, 0x020000, CRC(f27bf16b) SHA1(f6c6986ed96c9fca90f94921fb984e58425179b9), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4jwlcwn__i, m4jwlcwn, "cje10k.p1", 0x0000, 0x020000, CRC(4434902d) SHA1(31c7be1235cdfd00099d1e09644a0f76fc7a26f7), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 10)" ) GAME_CUSTOM( 199?, m4jwlcwn__j, m4jwlcwn, "cje10r.p1", 0x0000, 0x020000, CRC(f73b2b1c) SHA1(bd9ee8047b4b0cc30b92d5460d34fa2628a72dde), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4jwlcwn__k, m4jwlcwn, "cje10s.p1", 0x0000, 0x020000, CRC(5f3b72b7) SHA1(8faf0de0282a67c88170c13856b8816c38396e19), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 12)" ) GAME_CUSTOM( 199?, m4jwlcwn__l, m4jwlcwn, "cje10y.p1", 0x0000, 0x020000, CRC(c3d7b0d3) SHA1(5c314fcaab08e7a551e6ad7a2e0fa08a03d4c80d), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 13)" ) +// "(C)1993 BARCREST" and "CJE 0.8" +GAME_CUSTOM( 199?, m4jwlcwn__k, m4jwlcwn, "cje0.8", 0x0000, 0x020000, CRC(2074bf61) SHA1(d84201fb7d2590b16816e0369e89789d02088a6d), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (CJE 0.8 Y)" ) +// "(C)1993 BARCREST" and "CJH 1.0" +GAME_CUSTOM( 199?, m4jwlcwn__w, m4jwlcwn, "cjh10s.p1", 0x0000, 0x020000, CRC(eb22d1bb) SHA1(4a8c19a8c71ef018f1fae146ba60632a94d895fc), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (CJH 1.0)" ) GAME_CUSTOM( 199?, m4jwlcwn__m, m4jwlcwn, "cjh10ad.p1", 0x0000, 0x020000, CRC(db6a3f77) SHA1(9986150dd84839ea726405dec1b731b0477d1d29), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 14)" ) GAME_CUSTOM( 199?, m4jwlcwn__n, m4jwlcwn, "cjh10b.p1", 0x0000, 0x020000, CRC(67009ea4) SHA1(84e97bcb23ba876e33976a6081f24561e0b3faac), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 15)" ) GAME_CUSTOM( 199?, m4jwlcwn__o, m4jwlcwn, "cjh10bd.p1", 0x0000, 0x020000, CRC(567091b2) SHA1(8b7f33802e03d7e4ede06d345afedf8631f69412), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 16)" ) @@ -3993,17 +4073,25 @@ GAME_CUSTOM( 199?, m4jwlcwn__s, m4jwlcwn, "cjh10dr.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4jwlcwn__t, m4jwlcwn, "cjh10dy.p1", 0x0000, 0x020000, CRC(9b54191a) SHA1(ae01b3842ab83572abc4966e94956623103b2bda), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 21)" ) GAME_CUSTOM( 199?, m4jwlcwn__u, m4jwlcwn, "cjh10k.p1", 0x0000, 0x020000, CRC(2dc736f2) SHA1(eae27aad3faca98c3dc0873cd00f3babe4d67302), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 22)" ) GAME_CUSTOM( 199?, m4jwlcwn__v, m4jwlcwn, "cjh10r.p1", 0x0000, 0x020000, CRC(9ec88dc3) SHA1(01016ca0785a11e800fbddb7a7cc7e4be6ffdb09), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4jwlcwn__w, m4jwlcwn, "cjh10s.p1", 0x0000, 0x020000, CRC(eb22d1bb) SHA1(4a8c19a8c71ef018f1fae146ba60632a94d895fc), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 24)" ) GAME_CUSTOM( 199?, m4jwlcwn__x, m4jwlcwn, "cjh10y.p1", 0x0000, 0x020000, CRC(aa24160c) SHA1(2014420ce92297dbe1ef286d801c25aa67976b2e), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4jwlcwn__y, m4jwlcwn, "jewel15g", 0x0000, 0x020000, CRC(bf3b8b63) SHA1(1ee91745438b9458ffbd43380bf9c6fd784fd054), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4jwlcwn__z, m4jwlcwn, "jewel15t", 0x0000, 0x020000, CRC(5828fd3b) SHA1(be95d5c3c9729547dcb0815c868e8d654826e34e), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4jwlcwn__0, m4jwlcwn, "jitc2010", 0x0000, 0x020000, CRC(1c946895) SHA1(43215c4099197a67bf0a6100e3dc3b81759cfc76), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4jwlcwn__1, m4jwlcwn, "jc__x___.4_1", 0x0000, 0x020000, CRC(5bf060ca) SHA1(a13795b145ff230437764f5414ec443e8fe4d783), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4jwlcwn__2, m4jwlcwn, "jc__x__c.3_1", 0x0000, 0x020000, CRC(b5e11e92) SHA1(87d7febf350ff7e4175bb6b8544181de66415e12), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 30)" ) -GAME_CUSTOM( 199?, m4jwlcwn__3, m4jwlcwn, "jc__xa_4.3_1", 0x0000, 0x020000, CRC(e6abb23e) SHA1(05b9286c4c1ec6364fd57d412336192ca61325a9), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 31)" ) -GAME_CUSTOM( 199?, m4jwlcwn__4, m4jwlcwn, "jc__xa_5.1_1", 0x0000, 0x020000, CRC(09f897c7) SHA1(5f6ad23f92b9fa4fdde57dd80317e1e998de9d54), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 32)" ) -GAME_CUSTOM( 199?, m4jwlcwn__5, m4jwlcwn, "jc__xa_8.4_1", 0x0000, 0x020000, CRC(27346ae8) SHA1(0fa13205e45e8dab0e1a25e6492ff2987633eb0f), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 33)" ) -GAME_CUSTOM( 199?, m4jwlcwn__6, m4jwlcwn, "jc_xx__c.3_1", 0x0000, 0x020000, CRC(0787fd51) SHA1(90fc71e0ea9b79d3296611c1e6f720150e17d51b), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (set 34)" ) +// "(C)1993 BARCREST" and "CJH 0.8" +GAME_CUSTOM( 199?, m4jwlcwn__0, m4jwlcwn, "jitc2010", 0x0000, 0x020000, CRC(1c946895) SHA1(43215c4099197a67bf0a6100e3dc3b81759cfc76), "Barcrest","Jewel In the Crown (Barcrest) (MPU4) (CJH 0.8)" ) +// "(C)1997 B.W.B." and "JC8 4.4" +GAME_CUSTOM( 199?, m4jwlcwn__1, m4jwlcwn, "jc__x___.4_1", 0x0000, 0x020000, CRC(5bf060ca) SHA1(a13795b145ff230437764f5414ec443e8fe4d783), "Bwb","Jewel In the Crown (Barcrest) (MPU4) (JC8 4.4)" ) +// "(C)1997 B.W.B." and "JCC 3.3" +GAME_CUSTOM( 199?, m4jwlcwn__2, m4jwlcwn, "jc__x__c.3_1", 0x0000, 0x020000, CRC(b5e11e92) SHA1(87d7febf350ff7e4175bb6b8544181de66415e12), "Bwb","Jewel In the Crown (Barcrest) (MPU4) (JCC 3.3)" ) +// "(C)1997 B.W.B." and "JC4 3.1" +GAME_CUSTOM( 199?, m4jwlcwn__3, m4jwlcwn, "jc__xa_4.3_1", 0x0000, 0x020000, CRC(e6abb23e) SHA1(05b9286c4c1ec6364fd57d412336192ca61325a9), "Bwb","Jewel In the Crown (Barcrest) (MPU4) (JC4 3.1)" ) +// "(C)1997 B.W.B." and "JC5 1.9" +GAME_CUSTOM( 199?, m4jwlcwn__4, m4jwlcwn, "jc__xa_5.1_1", 0x0000, 0x020000, CRC(09f897c7) SHA1(5f6ad23f92b9fa4fdde57dd80317e1e998de9d54), "Bwb","Jewel In the Crown (Barcrest) (MPU4) (JC5 1.9)" ) +// "(C)1997 B.W.B." and "JC8 4.2" +GAME_CUSTOM( 199?, m4jwlcwn__5, m4jwlcwn, "jc__xa_8.4_1", 0x0000, 0x020000, CRC(27346ae8) SHA1(0fa13205e45e8dab0e1a25e6492ff2987633eb0f), "Bwb","Jewel In the Crown (Barcrest) (MPU4) (JC8 4.2)" ) +// "(C)1997 B.W.B." and "JCC 3.7" +GAME_CUSTOM( 199?, m4jwlcwn__6, m4jwlcwn, "jc_xx__c.3_1", 0x0000, 0x020000, CRC(0787fd51) SHA1(90fc71e0ea9b79d3296611c1e6f720150e17d51b), "Bwb","Jewel In the Crown (Barcrest) (MPU4) (JCC 3.7)" ) +// no copyright string and "CJH 1.0" +GAME_CUSTOM( 199?, m4jwlcwn__y, m4jwlcwn, "jewel15g", 0x0000, 0x020000, CRC(bf3b8b63) SHA1(1ee91745438b9458ffbd43380bf9c6fd784fd054), "hack","Jewel In the Crown (Barcrest) (MPU4) (CJH 1.0, hack)" ) +// no copyright string and "CJE 1.0" +GAME_CUSTOM( 199?, m4jwlcwn__z, m4jwlcwn, "jewel15t", 0x0000, 0x020000, CRC(5828fd3b) SHA1(be95d5c3c9729547dcb0815c868e8d654826e34e), "hack","Jewel In the Crown (Barcrest) (MPU4) (CJE 1.0, hack)" ) #define M4BAGTEL_EXTRA_ROMS \ @@ -4019,14 +4107,18 @@ GAME_CUSTOM( 199?, m4jwlcwn__6, m4jwlcwn, "jc_xx__c.3_1", 0x0000, 0x020000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4bagtel, 0, "bgt05s.p1", 0x0000, 0x010000, CRC(ddf1c7dc) SHA1(a786e5e04538ce498493795fc4054bb5de57ffd2), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4bagtel__a, m4bagtel, "bg201c.p1", 0x0000, 0x010000, CRC(ee9bf501) SHA1(5c6ee55cfac5bb92695b412fe56f4c843dcae424), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4bagtel__b, m4bagtel, "bg201dy.p1", 0x0000, 0x010000, CRC(c4916bc0) SHA1(7600a5be6ff235d19f7c99b44b86054555b43638), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4bagtel__c, m4bagtel, "bg201s.p1", 0x0000, 0x010000, CRC(639b078b) SHA1(0c5d270457b2ae88c3885838f96ce29824996e77), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 4)" ) +// "(C)1991 BARCREST" and "BGT 0.5" +GAME_CUSTOM( 199?, m4bagtel, 0, "bgt05s.p1", 0x0000, 0x010000, CRC(ddf1c7dc) SHA1(a786e5e04538ce498493795fc4054bb5de57ffd2), "Barcrest","Bagatelle (Barcrest) (MPU4) (BGT 0.5)" ) GAME_CUSTOM( 199?, m4bagtel__d, m4bagtel, "bgt05dk.p1", 0x0000, 0x010000, CRC(4acaf68d) SHA1(fb7e04c8201829c252add05599218fb2b32c8533), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 5)" ) GAME_CUSTOM( 199?, m4bagtel__e, m4bagtel, "bgt05k.p1", 0x0000, 0x010000, CRC(72eb14ad) SHA1(18f9dbc5fd85e14d507b4c69d03d01f24aabb325), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 6)" ) GAME_CUSTOM( 199?, m4bagtel__f, m4bagtel, "bgt05r.p1", 0x0000, 0x010000, CRC(e92ad743) SHA1(649496429572a339dea50e262b7eb2ef22273bea), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4bagtel__g, m4bagtel, "bgt05y.p1", 0x0000, 0x010000, CRC(f2508bfa) SHA1(936fb79d5d953d1e2138a55754cbd364d3c307ed), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 8)" ) +// "(C)1991 BARCREST" and "BG2 0.1" +GAME_CUSTOM( 199?, m4bagtel__c, m4bagtel, "bg201s.p1", 0x0000, 0x010000, CRC(639b078b) SHA1(0c5d270457b2ae88c3885838f96ce29824996e77), "Barcrest","Bagatelle (Barcrest) (MPU4) (BG2 0.1)" ) +GAME_CUSTOM( 199?, m4bagtel__a, m4bagtel, "bg201c.p1", 0x0000, 0x010000, CRC(ee9bf501) SHA1(5c6ee55cfac5bb92695b412fe56f4c843dcae424), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4bagtel__b, m4bagtel, "bg201dy.p1", 0x0000, 0x010000, CRC(c4916bc0) SHA1(7600a5be6ff235d19f7c99b44b86054555b43638), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 3)" ) +// "(C)1991 BARCREST" and "EL1 0.1" +GAME_CUSTOM( 199?, m4bagtel__r, m4bagtel, "el101s.p1", 0x0000, 0x010000, CRC(2035faf2) SHA1(1b640fee2f0ace25dfaa702ab2602cdec5ab6018), "Barcrest","Bagatelle (Barcrest) (MPU4) (EL1 0.1)" ) GAME_CUSTOM( 199?, m4bagtel__h, m4bagtel, "el101ad.p1", 0x0000, 0x010000, CRC(fcb39192) SHA1(a604122e40c313ed240f722a48f56d1478754ed3), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4bagtel__i, m4bagtel, "el101b.p1", 0x0000, 0x010000, CRC(947548b4) SHA1(dc74fa15843ec4c34f5bd7269b041ed4406832c2), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 10)" ) GAME_CUSTOM( 199?, m4bagtel__j, m4bagtel, "el101bd.p1", 0x0000, 0x010000, CRC(338664f4) SHA1(074261acbf0611d7d54f2718eed04ef6eda81b50), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 11)" ) @@ -4037,8 +4129,9 @@ GAME_CUSTOM( 199?, m4bagtel__n, m4bagtel, "el101dr.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4bagtel__o, m4bagtel, "el101dy.p1", 0x0000, 0x010000, CRC(81e29484) SHA1(3ac48cef176df5d4ab3b00dc9366f7c9192c8c77), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 16)" ) GAME_CUSTOM( 199?, m4bagtel__p, m4bagtel, "el101k.p1", 0x0000, 0x010000, CRC(0dd7427e) SHA1(83373dca6ec50a03506bda2c220949b2d2f0a7db), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 17)" ) GAME_CUSTOM( 199?, m4bagtel__q, m4bagtel, "el101r.p1", 0x0000, 0x010000, CRC(6299ff71) SHA1(137842a886fb4790571b94d94199b362cd86bc3c), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4bagtel__r, m4bagtel, "el101s.p1", 0x0000, 0x010000, CRC(2035faf2) SHA1(1b640fee2f0ace25dfaa702ab2602cdec5ab6018), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 19)" ) GAME_CUSTOM( 199?, m4bagtel__s, m4bagtel, "el101y.p1", 0x0000, 0x010000, CRC(fff2d79f) SHA1(5d1142d8d96803c8b4ddba43283e21bab3a0b598), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 20)" ) +// "(C)1991 BARCREST" and "EL2 0.1" +GAME_CUSTOM( 199?, m4bagtel__3, m4bagtel, "el201s.p1", 0x0000, 0x010000, CRC(87280546) SHA1(f7af53fc1c5e98897c36eaec013f13b1da283c53), "Barcrest","Bagatelle (Barcrest) (MPU4) (EL2 0.1)" ) GAME_CUSTOM( 199?, m4bagtel__t, m4bagtel, "el201ad.p1", 0x0000, 0x010000, CRC(7ebf37ba) SHA1(d6d09d707458aa8a17507e3a1a396569b1eaef4d), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 21)" ) GAME_CUSTOM( 199?, m4bagtel__u, m4bagtel, "el201b.p1", 0x0000, 0x010000, CRC(ed9c0546) SHA1(8884420caa7bd9347d882f79f05288c2581026b1), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 22)" ) GAME_CUSTOM( 199?, m4bagtel__v, m4bagtel, "el201bd.p1", 0x0000, 0x010000, CRC(48a35af0) SHA1(17a8f4c178a744dd4b7ab16388a9622f335e3a79), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 23)" ) @@ -4049,8 +4142,9 @@ GAME_CUSTOM( 199?, m4bagtel__z, m4bagtel, "el201dr.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4bagtel__0, m4bagtel, "el201dy.p1", 0x0000, 0x010000, CRC(16a93996) SHA1(b151e4f16d0d78cd6651976d7108d3e8e8a17696), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 28)" ) GAME_CUSTOM( 199?, m4bagtel__1, m4bagtel, "el201k.p1", 0x0000, 0x010000, CRC(4fb93561) SHA1(ec4575ff6243a6402db7286826197262821d52e4), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 29)" ) GAME_CUSTOM( 199?, m4bagtel__2, m4bagtel, "el201r.p1", 0x0000, 0x010000, CRC(118e1494) SHA1(dc5d4a06d99c2855fd737178e0df19a5b6eb422b), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 30)" ) -GAME_CUSTOM( 199?, m4bagtel__3, m4bagtel, "el201s.p1", 0x0000, 0x010000, CRC(87280546) SHA1(f7af53fc1c5e98897c36eaec013f13b1da283c53), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 31)" ) GAME_CUSTOM( 199?, m4bagtel__4, m4bagtel, "el201y.p1", 0x0000, 0x010000, CRC(8ce53c7a) SHA1(cf6f863be222eec894da34a414c0a6dd0c8601d7), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 32)" ) +// "(C)1991 BARCREST" and "EL3 1.0" +GAME_CUSTOM( 199?, m4bagtel__af, m4bagtel, "el310s.p1", 0x0000, 0x010000, CRC(5e1cace4) SHA1(b78d8021ef91127f8a60cdcb458723de8925fba5), "Barcrest","Bagatelle (Barcrest) (MPU4) (EL3 1.0)" ) GAME_CUSTOM( 199?, m4bagtel__5, m4bagtel, "el310ad.p1", 0x0000, 0x010000, CRC(7029e664) SHA1(a4e0996710dc6c5cd2b6a79f83e08406a153a01d), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 33)" ) GAME_CUSTOM( 199?, m4bagtel__6, m4bagtel, "el310b.p1", 0x0000, 0x010000, CRC(aa10ed40) SHA1(0722be3c2c582b1179f3dafd4ed6c38f503ee17a), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 34)" ) GAME_CUSTOM( 199?, m4bagtel__7, m4bagtel, "el310bd.p1", 0x0000, 0x010000, CRC(b9204c03) SHA1(ecd3fcc301f5a7ce63b06dc4153b18602c405289), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 35)" ) @@ -4061,7 +4155,6 @@ GAME_CUSTOM( 199?, m4bagtel__ab, m4bagtel, "el310dr.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4bagtel__ac, m4bagtel, "el310dy.p1", 0x0000, 0x010000, CRC(41f1ac45) SHA1(b3fe09704de422ecc0f7632ec8b8bad646498cd3), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 40)" ) GAME_CUSTOM( 199?, m4bagtel__ad, m4bagtel, "el310k.p1", 0x0000, 0x010000, CRC(8bb4d65c) SHA1(f05b448e7ba9808fb3a1c1f25f4e50fc27549031), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 41)" ) GAME_CUSTOM( 199?, m4bagtel__ae, m4bagtel, "el310r.p1", 0x0000, 0x010000, CRC(0ea8a744) SHA1(2839dd86b54ed073765d97a82b056e20eb05f32f), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 42)" ) -GAME_CUSTOM( 199?, m4bagtel__af, m4bagtel, "el310s.p1", 0x0000, 0x010000, CRC(5e1cace4) SHA1(b78d8021ef91127f8a60cdcb458723de8925fba5), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 43)" ) GAME_CUSTOM( 199?, m4bagtel__ag, m4bagtel, "el310y.p1", 0x0000, 0x010000, CRC(9653f0c6) SHA1(188056b8b704f9b06f93144ce358ec47cc026902), "Barcrest","Bagatelle (Barcrest) (MPU4) (set 45)" ) @@ -4080,7 +4173,15 @@ GAME_CUSTOM( 199?, m4bagtel__ag, m4bagtel, "el310y.p1", 0x0000, 0x010000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4przwta, 0, "pwnr.p1", 0x0000, 0x020000, CRC(cf619ad2) SHA1(3eeccccb304afd5faf2563e0e65f8123e463d363), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "PWN 0.4" +GAME_CUSTOM( 199?, m4przwta, 0, "pwns.p1", 0x0000, 0x020000, CRC(b3b87954) SHA1(f998ebf8047930f006213040ed5e6a9f90844143), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PWN 0.4)" ) +GAME_CUSTOM( 199?, m4przwta__p, m4przwta, "pwnr.p1", 0x0000, 0x020000, CRC(cf619ad2) SHA1(3eeccccb304afd5faf2563e0e65f8123e463d363), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4przwta__l, m4przwta, "pwna.p1", 0x0000, 0x020000, CRC(bbb32770) SHA1(36815dca6550a1a417b3e809b041a7b4670f5b75), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4przwta__m, m4przwta, "pwnb.p1", 0x0000, 0x020000, CRC(36a989b5) SHA1(631399c65b697417ed9a95961463b8349a97b142), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4przwta__n, m4przwta, "pwndy.p1", 0x0000, 0x020000, CRC(6b739a41) SHA1(64f4b380c725f6159c6201147ab4062d6375d98b), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 15)" ) +GAME_CUSTOM( 199?, m4przwta__o, m4przwta, "pwnk.p1", 0x0000, 0x020000, CRC(7c6e21e3) SHA1(d6aeb5948e0800050193575a3b5c06c11f46eed8), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 16)" ) +// "(C)1993 BARCREST" and "PW8 0.2" +GAME_CUSTOM( 199?, m4przwta__j, m4przwta, "pw8s.p1", 0x0000, 0x020000, CRC(3d77c91d) SHA1(3ab79073f5d9c13f751892aa33c2668521887bf8), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (PW8 0.2)" ) GAME_CUSTOM( 199?, m4przwta__a, m4przwta, "pw8ad.p1", 0x0000, 0x020000, CRC(71257e43) SHA1(1db17aa1fc684873511a46e5e7421b459040d0cc), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4przwta__b, m4przwta, "pw8b.p1", 0x0000, 0x020000, CRC(52b2af18) SHA1(1ce00b94a2d16b5140a110e604b97af6860fd577), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4przwta__c, m4przwta, "pw8bd.p1", 0x0000, 0x020000, CRC(fc3fd086) SHA1(8fa8b75faf2196e87acbafc3a48a2ba628f6cc66), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 4)" ) @@ -4090,13 +4191,7 @@ GAME_CUSTOM( 199?, m4przwta__f, m4przwta, "pw8dk.p1", 0x0000, 0x020000, CRC GAME_CUSTOM( 199?, m4przwta__g, m4przwta, "pw8dy.p1", 0x0000, 0x020000, CRC(311b582e) SHA1(f53254b8c6f65087f67d60f0d0441228e1024cc8), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 8)" ) GAME_CUSTOM( 199?, m4przwta__h, m4przwta, "pw8j.p1", 0x0000, 0x020000, CRC(766739cb) SHA1(8b7cd7f02fb25f5e50febdb90c8f39f3a6840a35), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4przwta__i, m4przwta, "pw8k.p1", 0x0000, 0x020000, CRC(1875074e) SHA1(fb25c4ed4ba9d6aa5fb45a8ba9c73b18062173f0), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4przwta__j, m4przwta, "pw8s.p1", 0x0000, 0x020000, CRC(3d77c91d) SHA1(3ab79073f5d9c13f751892aa33c2668521887bf8), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4przwta__k, m4przwta, "pw8y.p1", 0x0000, 0x020000, CRC(9f9627b0) SHA1(19c9dc7033b1e85676222a8b3a866392a4afdd1e), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4przwta__l, m4przwta, "pwna.p1", 0x0000, 0x020000, CRC(bbb32770) SHA1(36815dca6550a1a417b3e809b041a7b4670f5b75), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4przwta__m, m4przwta, "pwnb.p1", 0x0000, 0x020000, CRC(36a989b5) SHA1(631399c65b697417ed9a95961463b8349a97b142), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4przwta__n, m4przwta, "pwndy.p1", 0x0000, 0x020000, CRC(6b739a41) SHA1(64f4b380c725f6159c6201147ab4062d6375d98b), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4przwta__o, m4przwta, "pwnk.p1", 0x0000, 0x020000, CRC(7c6e21e3) SHA1(d6aeb5948e0800050193575a3b5c06c11f46eed8), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4przwta__p, m4przwta, "pwns.p1", 0x0000, 0x020000, CRC(b3b87954) SHA1(f998ebf8047930f006213040ed5e6a9f90844143), "Barcrest","Prize Winner Takes All (Barcrest) (MPU4) (set 17)" ) #define M4BERSER_EXTRA_ROMS \ @@ -4111,8 +4206,17 @@ GAME_CUSTOM( 199?, m4przwta__p, m4przwta, "pwns.p1", 0x0000, 0x020000, CRC ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4berser, 0, "bess.p1", 0x0000, 0x010000, CRC(b95bafbe) SHA1(034c80ef5fd0a12fad918c9b01bafb9a99c2e991), "Barcrest","Berserk (Barcrest) (MPU4) (set 1)" ) +// "(C)1991 BARCREST" and "BES 0.6" +GAME_CUSTOM( 199?, m4berser, 0, "bess.p1", 0x0000, 0x010000, CRC(b95bafbe) SHA1(034c80ef5fd0a12fad918c9b01bafb9a99c2e991), "Barcrest","Berserk (Barcrest) (MPU4) (BES 0.6)" ) +GAME_CUSTOM( 199?, m4berser__u, m4berser, "besb.p1", 0x0000, 0x010000, CRC(a0aa05f9) SHA1(3831c07e9e33c83b2f7148a34037023433b49cd0), "Barcrest","Berserk (Barcrest) (MPU4) (set 22)" ) +GAME_CUSTOM( 199?, m4berser__v, m4berser, "besc.p1", 0x0000, 0x010000, CRC(3a7ea673) SHA1(469e104ca1008c274f2a58c3ec6e96b40e1b4fb6), "Barcrest","Berserk (Barcrest) (MPU4) (set 23)" ) +GAME_CUSTOM( 199?, m4berser__w, m4berser, "besd.p1", 0x0000, 0x010000, CRC(ac7daf9c) SHA1(9951cf3194bc5acc17044dfb4b854edb0cc2c090), "Barcrest","Berserk (Barcrest) (MPU4) (set 24)" ) +GAME_CUSTOM( 199?, m4berser__x, m4berser, "besdk.p1", 0x0000, 0x010000, CRC(f9d20012) SHA1(d3942406af0573a58e49a24f98b4e3c0a9ff508e), "Barcrest","Berserk (Barcrest) (MPU4) (set 25)" ) +GAME_CUSTOM( 199?, m4berser__y, m4berser, "besdy.p1", 0x0000, 0x010000, CRC(461ac51f) SHA1(217f169bd2bc4108145231e9b974d2f890a4f25e), "Barcrest","Berserk (Barcrest) (MPU4) (set 26)" ) +GAME_CUSTOM( 199?, m4berser__z, m4berser, "besk.p1", 0x0000, 0x010000, CRC(03eb2a05) SHA1(375f47bd1d0f21fde5ea0fcf7b79c02db9f8c9c6), "Barcrest","Berserk (Barcrest) (MPU4) (set 27)" ) +GAME_CUSTOM( 199?, m4berser__0, m4berser, "besy.p1", 0x0000, 0x010000, CRC(64a49f88) SHA1(6bd1275e9172e311ead36566432729530c1b6c21), "Barcrest","Berserk (Barcrest) (MPU4) (set 28)" ) +// "(C)1991 BARCREST" and "BE3 0.1" +GAME_CUSTOM( 199?, m4berser__h, m4berser, "be3s.p1", 0x0000, 0x010000, CRC(1a66772e) SHA1(e604315cea3db5f3859f1756e84b37b805f1f995), "Barcrest","Berserk (Barcrest) (MPU4) (BE3 0.1)" ) GAME_CUSTOM( 199?, m4berser__a, m4berser, "be3ad.p1", 0x0000, 0x010000, CRC(db4d77e9) SHA1(80e9ecf0a5d213e23fe8d328fbe8af52d49e2897), "Barcrest","Berserk (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4berser__b, m4berser, "be3b.p1", 0x0000, 0x010000, CRC(b25e9adb) SHA1(cc72c7a02868d56371f6d1bbaf78a017147b1a5a), "Barcrest","Berserk (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4berser__c, m4berser, "be3bd.p1", 0x0000, 0x010000, CRC(ed511aa3) SHA1(e6efe14490fa62ec9e5565e92216e371ab98b78a), "Barcrest","Berserk (Barcrest) (MPU4) (set 4)" ) @@ -4120,8 +4224,9 @@ GAME_CUSTOM( 199?, m4berser__d, m4berser, "be3d.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4berser__e, m4berser, "be3dk.p1", 0x0000, 0x010000, CRC(82b4513e) SHA1(a36eebef35dbc2fbc25d39fde811e180a3682b67), "Barcrest","Berserk (Barcrest) (MPU4) (set 6)" ) GAME_CUSTOM( 199?, m4berser__f, m4berser, "be3dy.p1", 0x0000, 0x010000, CRC(6f2869f2) SHA1(b006f467463038b5987764f9eedec1d7357ade65), "Barcrest","Berserk (Barcrest) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4berser__g, m4berser, "be3k.p1", 0x0000, 0x010000, CRC(12b3954a) SHA1(cce68a720a0bb1ce64cbf6ab2902a712403516cd), "Barcrest","Berserk (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4berser__h, m4berser, "be3s.p1", 0x0000, 0x010000, CRC(1a66772e) SHA1(e604315cea3db5f3859f1756e84b37b805f1f995), "Barcrest","Berserk (Barcrest) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4berser__i, m4berser, "be3y.p1", 0x0000, 0x010000, CRC(5c6451ca) SHA1(b63b9289fdef3be6add1e1ee22f9e316f296cc97), "Barcrest","Berserk (Barcrest) (MPU4) (set 10)" ) +// "(C)1991 BARCREST" and "BE8 0.1" +GAME_CUSTOM( 199?, m4berser__s, m4berser, "be8s.p1", 0x0000, 0x010000, CRC(12d0fb4f) SHA1(103a468a0712dfc44b140cad01cd49b6f159b621), "Barcrest","Berserk (Barcrest) (MPU4) (BE8 0.1)" ) GAME_CUSTOM( 199?, m4berser__j, m4berser, "be8ad.p1", 0x0000, 0x010000, CRC(0c196fd2) SHA1(830917f4c9bb7df35ac7d1e4fdcbb3eaac65ec5f), "Barcrest","Berserk (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4berser__k, m4berser, "be8b.p1", 0x0000, 0x010000, CRC(8f25875d) SHA1(e53ca0322838891274e0c5c61882a6690df3f1a0), "Barcrest","Berserk (Barcrest) (MPU4) (set 12)" ) GAME_CUSTOM( 199?, m4berser__l, m4berser, "be8bcd.p1", 0x0000, 0x010000, CRC(40d40ecd) SHA1(a728a2ea63dc7d520e2f189e18b4884fb5f292bc), "Barcrest","Berserk (Barcrest) (MPU4) (set 13)" ) @@ -4131,16 +4236,9 @@ GAME_CUSTOM( 199?, m4berser__o, m4berser, "be8d.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4berser__p, m4berser, "be8dk.p1", 0x0000, 0x010000, CRC(39a3f145) SHA1(00242636e7519e37ed4f5e65ecf41c315c2607ad), "Barcrest","Berserk (Barcrest) (MPU4) (set 17)" ) GAME_CUSTOM( 199?, m4berser__q, m4berser, "be8dy.p1", 0x0000, 0x010000, CRC(5f885b13) SHA1(c398bb40fbac39530ba7b96bf4a4fde575c9fa87), "Barcrest","Berserk (Barcrest) (MPU4) (set 18)" ) GAME_CUSTOM( 199?, m4berser__r, m4berser, "be8k.p1", 0x0000, 0x010000, CRC(b66051b6) SHA1(910bd0a4112a81df0160efd86bed1a8a59b2acb8), "Barcrest","Berserk (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4berser__s, m4berser, "be8s.p1", 0x0000, 0x010000, CRC(12d0fb4f) SHA1(103a468a0712dfc44b140cad01cd49b6f159b621), "Barcrest","Berserk (Barcrest) (MPU4) (set 20)" ) GAME_CUSTOM( 199?, m4berser__t, m4berser, "be8y.p1", 0x0000, 0x010000, CRC(80d73997) SHA1(99e76616e9a73f111bdd560f2691b99905e4e454), "Barcrest","Berserk (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4berser__u, m4berser, "besb.p1", 0x0000, 0x010000, CRC(a0aa05f9) SHA1(3831c07e9e33c83b2f7148a34037023433b49cd0), "Barcrest","Berserk (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4berser__v, m4berser, "besc.p1", 0x0000, 0x010000, CRC(3a7ea673) SHA1(469e104ca1008c274f2a58c3ec6e96b40e1b4fb6), "Barcrest","Berserk (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4berser__w, m4berser, "besd.p1", 0x0000, 0x010000, CRC(ac7daf9c) SHA1(9951cf3194bc5acc17044dfb4b854edb0cc2c090), "Barcrest","Berserk (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4berser__x, m4berser, "besdk.p1", 0x0000, 0x010000, CRC(f9d20012) SHA1(d3942406af0573a58e49a24f98b4e3c0a9ff508e), "Barcrest","Berserk (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4berser__y, m4berser, "besdy.p1", 0x0000, 0x010000, CRC(461ac51f) SHA1(217f169bd2bc4108145231e9b974d2f890a4f25e), "Barcrest","Berserk (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4berser__z, m4berser, "besk.p1", 0x0000, 0x010000, CRC(03eb2a05) SHA1(375f47bd1d0f21fde5ea0fcf7b79c02db9f8c9c6), "Barcrest","Berserk (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4berser__0, m4berser, "besy.p1", 0x0000, 0x010000, CRC(64a49f88) SHA1(6bd1275e9172e311ead36566432729530c1b6c21), "Barcrest","Berserk (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4berser__1, m4berser, "be_05a_4.1_1", 0x0000, 0x010000, CRC(e4ec1624) SHA1(e6241edb729796dd248abca6bf67281379c39af2), "Barcrest","Berserk (Barcrest) (MPU4) (set 29)" ) +// "(C)1996 B.W.B." and "BE4 1.1" +GAME_CUSTOM( 199?, m4berser__1, m4berser, "be_05a_4.1_1", 0x0000, 0x010000, CRC(e4ec1624) SHA1(e6241edb729796dd248abca6bf67281379c39af2), "Bwb","Berserk (Barcrest) (MPU4) (BE4 1.1 KS)" ) @@ -4156,7 +4254,8 @@ GAME_CUSTOM( 199?, m4berser__1, m4berser, "be_05a_4.1_1", 0x0000, 0x010000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4vivess, 0, "se8s.p1", 0x0000, 0x010000, CRC(d5c261de) SHA1(5f70944ffe03109ad16f162370fd3653d131034d), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "SE8 0.1" +GAME_CUSTOM( 199?, m4vivess, 0, "se8s.p1", 0x0000, 0x010000, CRC(d5c261de) SHA1(5f70944ffe03109ad16f162370fd3653d131034d), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SE8 0.1)" ) GAME_CUSTOM( 199?, m4vivess__a, m4vivess, "se8ad.p1", 0x0000, 0x010000, CRC(4f799dfe) SHA1(e85108ab0aad92a64eabf5c7562068caf22f8d5b), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4vivess__b, m4vivess, "se8b.p1", 0x0000, 0x010000, CRC(876efabb) SHA1(6ca1d37416b5401ba10977dad6a5881bdc7246ed), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4vivess__c, m4vivess, "se8bd.p1", 0x0000, 0x010000, CRC(39fe1c08) SHA1(99a04561555c819fc2954897e7831cf2c38db702), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (set 4)" ) @@ -4165,11 +4264,12 @@ GAME_CUSTOM( 199?, m4vivess__f, m4vivess, "se8dk.p1", 0x0000, 0x010000, CRC GAME_CUSTOM( 199?, m4vivess__g, m4vivess, "se8dy.p1", 0x0000, 0x010000, CRC(36dcf85f) SHA1(e635501e6ba7dc4e56f1e00b472b32c030aa6592), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4vivess__i, m4vivess, "se8k.p1", 0x0000, 0x010000, CRC(befb76cd) SHA1(f60e17538acd6f5b20e786f8a51a0471ee3246c8), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (set 8)" ) GAME_CUSTOM( 199?, m4vivess__j, m4vivess, "se8y.p1", 0x0000, 0x010000, CRC(8be03e81) SHA1(f51024036f56b2009905e9c08bb292f2a280c0f6), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (set 9)" ) +// "(C)1993 BARCREST" and "SES 0.2" +GAME_CUSTOM( 199?, m4vivess__o, m4vivess, "sess.p1", 0x0000, 0x010000, CRC(0e8d5c05) SHA1(bf05e4e83d6d4fb7c471e8ca22df21b357d8ed9b), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (SES 0.2)" ) GAME_CUSTOM( 199?, m4vivess__k, m4vivess, "sesb.p1", 0x0000, 0x010000, CRC(0e3dc285) SHA1(53cf28228192b6e83d0ff95c8de2fb978720d363), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (set 10)" ) GAME_CUSTOM( 199?, m4vivess__l, m4vivess, "sesd.p1", 0x0000, 0x010000, CRC(549aaf0b) SHA1(084aca4429e27ce2642991aae8738d85c0157e54), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4vivess__m, m4vivess, "sesdy.p1", 0x0000, 0x010000, CRC(1869edd8) SHA1(b76dfa439eef641817a9bdf9c737cb06ac54efea), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (set 12)" ) GAME_CUSTOM( 199?, m4vivess__n, m4vivess, "sesk.p1", 0x0000, 0x010000, CRC(ebdb5ec4) SHA1(f7ec6e8c0142a0885fda066f379e7bd22f5844e5), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4vivess__o, m4vivess, "sess.p1", 0x0000, 0x010000, CRC(0e8d5c05) SHA1(bf05e4e83d6d4fb7c471e8ca22df21b357d8ed9b), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (set 14)" ) GAME_CUSTOM( 199?, m4vivess__p, m4vivess, "sesy.p1", 0x0000, 0x010000, CRC(126472e9) SHA1(3bebd273debbc9b71fce83cdc1031927698f7775), "Barcrest","Viva Espana Showcase (Barcrest) (MPU4) (set 15)" ) @@ -4186,8 +4286,8 @@ GAME_CUSTOM( 199?, m4vivess__p, m4vivess, "sesy.p1", 0x0000, 0x010000, CRC ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4ttdia, 0, "tda04s.p1", 0x0000, 0x020000, CRC(1240642e) SHA1(7eaf02d5c00707a0a6d98d247c293cad1ca87108), "Barcrest","Ten Ten Do It Again (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "TDA 0.4" +GAME_CUSTOM( 199?, m4ttdia, 0, "tda04s.p1", 0x0000, 0x020000, CRC(1240642e) SHA1(7eaf02d5c00707a0a6d98d247c293cad1ca87108), "Barcrest","Ten Ten Do It Again (Barcrest) (MPU4) (TDA 0.4)" ) GAME_CUSTOM( 199?, m4ttdia__a, m4ttdia, "tda04ad.p1", 0x0000, 0x020000, CRC(79d804ba) SHA1(0616a2718aea85692ce5c5086f18e54a531efb19), "Barcrest","Ten Ten Do It Again (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4ttdia__b, m4ttdia, "tda04b.p1", 0x0000, 0x020000, CRC(dc755e6a) SHA1(386a1baf7d86d73dff1d6034f60094a55255d6bc), "Barcrest","Ten Ten Do It Again (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4ttdia__c, m4ttdia, "tda04bd.p1", 0x0000, 0x020000, CRC(f4c2aa7f) SHA1(aae114e9ab813809a8f8e2e12773a9f6379f535d), "Barcrest","Ten Ten Do It Again (Barcrest) (MPU4) (set 4)" ) @@ -4217,7 +4317,15 @@ GAME_CUSTOM( 199?, m4ttdia__m, m4ttdia, "tda04y.p1", 0x0000, 0x020000, CR ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4przve, 0, "pess.p1", 0x0000, 0x010000, CRC(d8e79833) SHA1(f68fd1bd057a353832c7de3e2818906ab2b844b7), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "PES 0.4" +GAME_CUSTOM( 199?, m4przve, 0, "pess.p1", 0x0000, 0x010000, CRC(d8e79833) SHA1(f68fd1bd057a353832c7de3e2818906ab2b844b7), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (PES 0.4)" ) +GAME_CUSTOM( 199?, m4przve__l, m4przve, "pesb.p1", 0x0000, 0x010000, CRC(bf0ffed9) SHA1(ab8cd98ae7dfb3582aad7ae8c669a6d97f144f88), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4przve__m, m4przve, "pesd.p1", 0x0000, 0x010000, CRC(6f7b1e16) SHA1(412a22ebb61b77541da067ba74621c8e54364471), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4przve__n, m4przve, "pesdy.p1", 0x0000, 0x010000, CRC(94db27b4) SHA1(fe745a991a5e78fc9054480d3ce5bf6b7f5f9fe4), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 15)" ) +GAME_CUSTOM( 199?, m4przve__o, m4przve, "pesk.p1", 0x0000, 0x010000, CRC(9e7b9f58) SHA1(86c2a83964f925448dda189546d9909b10e52673), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 16)" ) +GAME_CUSTOM( 199?, m4przve__p, m4przve, "pesy.p1", 0x0000, 0x010000, CRC(fbfc1563) SHA1(870239cab39eff33303fe06dfd1dd3db708f0f2d), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 17)" ) +// "(C)1993 BARCREST" and "PE8 0.1" +GAME_CUSTOM( 199?, m4przve__j, m4przve, "pe8s.p1", 0x0000, 0x010000, CRC(e8463e69) SHA1(923d6c79470a65cf66b089ef09898acea928aa9b), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (PE8 0.1)" ) GAME_CUSTOM( 199?, m4przve__a, m4przve, "pe8ad.p1", 0x0000, 0x010000, CRC(3a81422e) SHA1(bb77365ed7bc7c2cd9e1cfe6e266c6edfd3562a3), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4przve__b, m4przve, "pe8b.p1", 0x0000, 0x010000, CRC(9f36b112) SHA1(265451557afcfdc1aa8e77616f4b871698b20c5f), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4przve__c, m4przve, "pe8bd.p1", 0x0000, 0x010000, CRC(af0689b5) SHA1(0e3cf464c855b0dcfeac403bda80818287707abe), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 4)" ) @@ -4227,13 +4335,7 @@ GAME_CUSTOM( 199?, m4przve__f, m4przve, "pe8dk.p1", 0x0000, 0x010000, CRC(fc GAME_CUSTOM( 199?, m4przve__g, m4przve, "pe8dy.p1", 0x0000, 0x010000, CRC(6abc5682) SHA1(ae8754f0e214738adae4bc856cd72b0920aaa67a), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 8)" ) GAME_CUSTOM( 199?, m4przve__h, m4przve, "pe8j.p1", 0x0000, 0x010000, CRC(d3bf07f1) SHA1(3e539f24ef25c8d6fbfbdcd469fa8a2908dd2ec2), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4przve__i, m4przve, "pe8k.p1", 0x0000, 0x010000, CRC(efba0d3f) SHA1(2205b94f5a6ed23e834cfeb0d3ebe5ed66d942a1), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4przve__j, m4przve, "pe8s.p1", 0x0000, 0x010000, CRC(e8463e69) SHA1(923d6c79470a65cf66b089ef09898acea928aa9b), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4przve__k, m4przve, "pe8y.p1", 0x0000, 0x010000, CRC(c324b75f) SHA1(bf3409a193539e1e032c856a5316bec674043d57), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4przve__l, m4przve, "pesb.p1", 0x0000, 0x010000, CRC(bf0ffed9) SHA1(ab8cd98ae7dfb3582aad7ae8c669a6d97f144f88), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4przve__m, m4przve, "pesd.p1", 0x0000, 0x010000, CRC(6f7b1e16) SHA1(412a22ebb61b77541da067ba74621c8e54364471), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4przve__n, m4przve, "pesdy.p1", 0x0000, 0x010000, CRC(94db27b4) SHA1(fe745a991a5e78fc9054480d3ce5bf6b7f5f9fe4), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4przve__o, m4przve, "pesk.p1", 0x0000, 0x010000, CRC(9e7b9f58) SHA1(86c2a83964f925448dda189546d9909b10e52673), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4przve__p, m4przve, "pesy.p1", 0x0000, 0x010000, CRC(fbfc1563) SHA1(870239cab39eff33303fe06dfd1dd3db708f0f2d), "Barcrest","Prize Viva Esapana (Barcrest) (MPU4) (set 17)" ) #define M4SHOCM_EXTRA_ROMS \ @@ -4248,7 +4350,8 @@ GAME_CUSTOM( 199?, m4przve__p, m4przve, "pesy.p1", 0x0000, 0x010000, CRC(fb ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4shocm, 0, "scms.p1", 0x0000, 0x020000, CRC(8cb17f49) SHA1(6c67d5d65567ba3677f51f9c636e1f8e253111de), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "SCM 0.1" +GAME_CUSTOM( 199?, m4shocm, 0, "scms.p1", 0x0000, 0x020000, CRC(8cb17f49) SHA1(6c67d5d65567ba3677f51f9c636e1f8e253111de), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (SCM 0.1)" ) GAME_CUSTOM( 199?, m4shocm__a, m4shocm, "scmad.p1", 0x0000, 0x020000, CRC(0960b887) SHA1(02b029760d141664a7c5860a29b158d8c2dec4e7), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4shocm__b, m4shocm, "scmb.p1", 0x0000, 0x020000, CRC(c96e88cd) SHA1(61abff544c979efabf5e53d2c53d7cbe90c1f265), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4shocm__c, m4shocm, "scmbd.p1", 0x0000, 0x020000, CRC(847a1642) SHA1(0bb6d2494888c5e45bf4bfd0f6ba123283346361), "Barcrest","Showcase Crystal Maze (Barcrest) (MPU4) (set 4)" ) @@ -4274,7 +4377,9 @@ GAME_CUSTOM( 199?, m4shocm__j, m4shocm, "scmk.p1", 0x0000, 0x020000, CRC(83 ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4actbnk, 0, "acts.p1", 0x0000, 0x010000, CRC(49a9007c) SHA1(b205270e53264c3d8cb009a5780cacba1ce2e2a8), "Barcrest","Action Bank (Barcrest) (MPU4) (set 1)" ) +// these require a jackpot key to be inserted +// "(C)1993 BARCREST" and "ACT 0.7" +GAME_CUSTOM( 199?, m4actbnk, 0, "acts.p1", 0x0000, 0x010000, CRC(49a9007c) SHA1(b205270e53264c3d8cb009a5780cacba1ce2e2a8), "Barcrest","Action Bank (Barcrest) (MPU4) (ACT 0.7)" ) GAME_CUSTOM( 199?, m4actbnk__a, m4actbnk, "actb.p1", 0x0000, 0x010000, CRC(1429708e) SHA1(8b3ecb443e5920ccec80695a142cb1eb9596b1c1), "Barcrest","Action Bank (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4actbnk__b, m4actbnk, "actbd.p1", 0x0000, 0x010000, CRC(727d7bb6) SHA1(765a9944ee27b175ba1f45bf82dcf7ef0defd076), "Barcrest","Action Bank (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4actbnk__c, m4actbnk, "actc.p1", 0x0000, 0x010000, CRC(0a2498e5) SHA1(97f1e35426156c8eece6f76f3ecffa85714ade5b), "Barcrest","Action Bank (Barcrest) (MPU4) (set 4)" ) @@ -4301,7 +4406,9 @@ GAME_CUSTOM( 199?, m4actbnk__i, m4actbnk, "actad.p1", 0x0000, 0x010000, CRC ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4crdome, 0, "cd212k.p1", 0x0000, 0x020000, CRC(673b10a1) SHA1(996ade8193f448970beea2c5b81d9f27c05f162f), "Barcrest","Crystal Dome (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "CD2 1.2" +GAME_CUSTOM( 199?, m4crdome, 0, "cd212s.p1", 0x0000, 0x020000, CRC(f7d9d5e3) SHA1(1378e28c0a2c59a42a440502f20cc011625f43b5), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.2)" ) +GAME_CUSTOM( 199?, m4crdome__j, m4crdome, "cd212k.p1", 0x0000, 0x020000, CRC(673b10a1) SHA1(996ade8193f448970beea2c5b81d9f27c05f162f), "Barcrest","Crystal Dome (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4crdome__a, m4crdome, "cd212c.p1", 0x0000, 0x020000, CRC(1ab605e5) SHA1(03327b2fac9d3d2891dc5950aa89ac4947c7b444), "Barcrest","Crystal Dome (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4crdome__b, m4crdome, "cd212ad.p1", 0x0000, 0x020000, CRC(c76cab39) SHA1(abbe5d629929ff89b499cd4d0e15e9fa13fc33de), "Barcrest","Crystal Dome (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4crdome__c, m4crdome, "cd212b.p1", 0x0000, 0x020000, CRC(2dfcb8f7) SHA1(ba711fb20556c447f4bb3a11fc1cc6a3599bfd6d), "Barcrest","Crystal Dome (Barcrest) (MPU4) (set 4)" ) @@ -4311,11 +4418,13 @@ GAME_CUSTOM( 199?, m4crdome__f, m4crdome, "cd212dk.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4crdome__g, m4crdome, "cd212dr.p1", 0x0000, 0x020000, CRC(b3be169b) SHA1(eb4699fdce371d94feec410c640bd49bfdccba98), "Barcrest","Crystal Dome (Barcrest) (MPU4) (set 8)" ) GAME_CUSTOM( 199?, m4crdome__h, m4crdome, "cd212dy.p1", 0x0000, 0x020000, CRC(87528d54) SHA1(974fa2c29af43c903add28dca0ea3b04f612d2f7), "Barcrest","Crystal Dome (Barcrest) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4crdome__i, m4crdome, "cd212r.p1", 0x0000, 0x020000, CRC(d434ab90) SHA1(d42258bd965e8a028a418681a1307234c9b1c450), "Barcrest","Crystal Dome (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4crdome__j, m4crdome, "cd212s.p1", 0x0000, 0x020000, CRC(f7d9d5e3) SHA1(1378e28c0a2c59a42a440502f20cc011625f43b5), "Barcrest","Crystal Dome (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4crdome__k, m4crdome, "cd212y.p1", 0x0000, 0x020000, CRC(e0d8305f) SHA1(ddf1125eba0e470f6ae811fe050d4000300cfd0c), "Barcrest","Crystal Dome (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4crdome__l, m4crdome, "cdom15r", 0x0000, 0x020000, CRC(28f9ee8e) SHA1(e3484933dd0b8ddc2eeefc4dc95ce5379565e750), "Barcrest","Crystal Dome (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4crdome__m, m4crdome, "cdome10", 0x0000, 0x020000, CRC(945c9277) SHA1(6afee54b332152f6767781a040799d865999b292), "Barcrest","Crystal Dome (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4crdome__n, m4crdome, "cdome8ac", 0x0000, 0x020000, CRC(0553bfe6) SHA1(77abfa556f04dca1be52fbed357807e6ada10458), "Barcrest","Crystal Dome (Barcrest) (MPU4) (set 15)" ) +// "(C)1993 BARCREST" and "CD2 1.0" +GAME_CUSTOM( 199?, m4crdome__m, m4crdome, "cdome10", 0x0000, 0x020000, CRC(945c9277) SHA1(6afee54b332152f6767781a040799d865999b292), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 1.0 C)" ) +// "(C)1993 BARCREST" and "CD2 0.2" +GAME_CUSTOM( 199?, m4crdome__n, m4crdome, "cdome8ac", 0x0000, 0x020000, CRC(0553bfe6) SHA1(77abfa556f04dca1be52fbed357807e6ada10458), "Barcrest","Crystal Dome (Barcrest) (MPU4) (CD2 0.2 C)" ) +// no copyright string and "CD2 1.2" +GAME_CUSTOM( 199?, m4crdome__l, m4crdome, "cdom15r", 0x0000, 0x020000, CRC(28f9ee8e) SHA1(e3484933dd0b8ddc2eeefc4dc95ce5379565e750), "hack","Crystal Dome (Barcrest) (MPU4) (CD2 1.2, hack)" ) #define M4ROCKMN_EXTRA_ROMS \ @@ -4335,8 +4444,9 @@ GAME_CUSTOM( 199?, m4crdome__n, m4crdome, "cdome8ac", 0x0000, 0x020000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4rockmn, 0, "rok06c.p1", 0x0000, 0x020000, CRC(8e3a628f) SHA1(3bedb095af710f0b6376a5d99c072f7b3d3de0af), "Barcrest","Rocket Money (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "ROK 0.6" +GAME_CUSTOM( 199?, m4rockmn, 0, "rok06s.p1", 0x0000, 0x020000, CRC(e8b89551) SHA1(753828fd8631588c7725ee4f013f3c78d23f7038), "Barcrest","Rocket Money (Barcrest) (MPU4) (ROK 0.6)" ) +GAME_CUSTOM( 199?, m4rockmn__j, m4rockmn, "rok06c.p1", 0x0000, 0x020000, CRC(8e3a628f) SHA1(3bedb095af710f0b6376a5d99c072f7b3d3de0af), "Barcrest","Rocket Money (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4rockmn__a, m4rockmn, "rok06ad.p1", 0x0000, 0x020000, CRC(9daa1e35) SHA1(11e7a503c289813cc2ea4507bf5255957e92bc12), "Barcrest","Rocket Money (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4rockmn__b, m4rockmn, "rok06b.p1", 0x0000, 0x020000, CRC(b970df9d) SHA1(4230c3130a52502fb0a8aabf60fd33e90a7fa266), "Barcrest","Rocket Money (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4rockmn__c, m4rockmn, "rok06bd.p1", 0x0000, 0x020000, CRC(10b0b0f0) SHA1(a2f485e7578648aadb8ddb04ea885f4315b9ab82), "Barcrest","Rocket Money (Barcrest) (MPU4) (set 4)" ) @@ -4346,7 +4456,6 @@ GAME_CUSTOM( 199?, m4rockmn__f, m4rockmn, "rok06dr.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4rockmn__g, m4rockmn, "rok06dy.p1", 0x0000, 0x020000, CRC(dd943858) SHA1(ac8e53f72f98b217f190a9d3a9822a41b3028adb), "Barcrest","Rocket Money (Barcrest) (MPU4) (set 8)" ) GAME_CUSTOM( 199?, m4rockmn__h, m4rockmn, "rok06k.p1", 0x0000, 0x020000, CRC(f3b777cb) SHA1(2d5b67c69458712c370801702a813f81640ce184), "Barcrest","Rocket Money (Barcrest) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4rockmn__i, m4rockmn, "rok06r.p1", 0x0000, 0x020000, CRC(40b8ccfa) SHA1(8868a0ca622e5331204b2431bf64e723a1a79222), "Barcrest","Rocket Money (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4rockmn__j, m4rockmn, "rok06s.p1", 0x0000, 0x020000, CRC(e8b89551) SHA1(753828fd8631588c7725ee4f013f3c78d23f7038), "Barcrest","Rocket Money (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4rockmn__k, m4rockmn, "rok06y.p1", 0x0000, 0x020000, CRC(74545735) SHA1(79ee259656fb71c24382c6670150e49a5b8bc62f), "Barcrest","Rocket Money (Barcrest) (MPU4) (set 12)" ) @@ -4365,17 +4474,9 @@ GAME_CUSTOM( 199?, m4rockmn__k, m4rockmn, "rok06y.p1", 0x0000, 0x020000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4madhse, 0, "mh502y.p1", 0x0000, 0x010000, CRC(3ec1955a) SHA1(6939e6f5d749249825c41df8e05957450eaf1007), "Barcrest","Mad House (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4madhse__a, m4madhse, "madc.p1", 0x0000, 0x010000, CRC(96da2d58) SHA1(23686a4dc5adaac81ba173f8fa0ea5ff8ac26260), "Barcrest","Mad House (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4madhse__b, m4madhse, "mhty.p1", 0x0000, 0x010000, CRC(e86e4542) SHA1(fb1b1d319c443daa1184eac4f6b0668ff3c6a1c5), "Barcrest","Mad House (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4madhse__c, m4madhse, "mads.p1", 0x0000, 0x010000, CRC(d4ea7f14) SHA1(808c64b65542c6bfd8336feec025e947c8c904ee), "Barcrest","Mad House (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4madhse__d, m4madhse, "md8c.p1", 0x0000, 0x010000, CRC(3d9c9cf7) SHA1(3f663fe9bd61d163d58bb4c51bea59121678aa76), "Barcrest","Mad House (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4madhse__e, m4madhse, "md8d.p1", 0x0000, 0x010000, CRC(6d150df3) SHA1(e93fda497696b06ad854b3b06e2b61737cef3fc1), "Barcrest","Mad House (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4madhse__f, m4madhse, "md8dy.p1", 0x0000, 0x010000, CRC(af01407f) SHA1(46359220e34dede4cc5e8c11699d01460dd9a469), "Barcrest","Mad House (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4madhse__g, m4madhse, "md8k.p1", 0x0000, 0x010000, CRC(c713f706) SHA1(65480171d3d69a670b9ce2c566425998134ad502), "Barcrest","Mad House (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4madhse__h, m4madhse, "md8s.p1", 0x0000, 0x010000, CRC(0d8a1a3e) SHA1(4df8b1c1834bbffb4798d9ed5135b6cb29b08e73), "Barcrest","Mad House (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4madhse__i, m4madhse, "md8y.p1", 0x0000, 0x010000, CRC(15fc9590) SHA1(a01bd5cea5873c8175262f668e330b2975a03eb1), "Barcrest","Mad House (Barcrest) (MPU4) (set 10)" ) +// "(C)1993 BARCREST" and "MH5 0.2" +GAME_CUSTOM( 199?, m4madhse, 0, "mh502s.p1", 0x0000, 0x010000, CRC(063cc07b) SHA1(0b43a5cf6094bd8c99e4395f31ff073389dd56ce), "Barcrest","Mad House (Barcrest) (MPU4) (MH5 0.2)" ) +GAME_CUSTOM( 199?, m4madhse__s, m4madhse, "mh502y.p1", 0x0000, 0x010000, CRC(3ec1955a) SHA1(6939e6f5d749249825c41df8e05957450eaf1007), "Barcrest","Mad House (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4madhse__j, m4madhse, "mh502ad.p1", 0x0000, 0x010000, CRC(55714741) SHA1(287ed4c0b070537e3cf9bf3a47bdf205e34b7ea8), "Barcrest","Mad House (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4madhse__k, m4madhse, "mh502b.p1", 0x0000, 0x010000, CRC(7d6a3e3a) SHA1(5ac43616bde8079d430c7a8f78884770396cc9e9), "Barcrest","Mad House (Barcrest) (MPU4) (set 12)" ) GAME_CUSTOM( 199?, m4madhse__l, m4madhse, "mh502bd.p1", 0x0000, 0x010000, CRC(63bd7096) SHA1(ded53d603f7d1ed65914d9483923c74424964b59), "Barcrest","Mad House (Barcrest) (MPU4) (set 13)" ) @@ -4385,7 +4486,18 @@ GAME_CUSTOM( 199?, m4madhse__o, m4madhse, "mh502dr.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4madhse__p, m4madhse, "mh502dy.p1", 0x0000, 0x010000, CRC(de670300) SHA1(32e17baed9c971e879974489ee9da375a0dbf735), "Barcrest","Mad House (Barcrest) (MPU4) (set 17)" ) GAME_CUSTOM( 199?, m4madhse__q, m4madhse, "mh502k.p1", 0x0000, 0x010000, CRC(3aa341ec) SHA1(8012ee1d3f67fbdd5682ee07ac77dbb482b027ca), "Barcrest","Mad House (Barcrest) (MPU4) (set 18)" ) GAME_CUSTOM( 199?, m4madhse__r, m4madhse, "mh502r.p1", 0x0000, 0x010000, CRC(a3aabdb4) SHA1(74e53a315b10264c23b8b00d6a4d5f99d3f204a3), "Barcrest","Mad House (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4madhse__s, m4madhse, "mh502s.p1", 0x0000, 0x010000, CRC(063cc07b) SHA1(0b43a5cf6094bd8c99e4395f31ff073389dd56ce), "Barcrest","Mad House (Barcrest) (MPU4) (set 20)" ) +// "(C)1993 BARCREST" and "MD8 0.1" +GAME_CUSTOM( 199?, m4madhse__h, m4madhse, "md8s.p1", 0x0000, 0x010000, CRC(0d8a1a3e) SHA1(4df8b1c1834bbffb4798d9ed5135b6cb29b08e73), "Barcrest","Mad House (Barcrest) (MPU4) (MD8 0.1)" ) +GAME_CUSTOM( 199?, m4madhse__d, m4madhse, "md8c.p1", 0x0000, 0x010000, CRC(3d9c9cf7) SHA1(3f663fe9bd61d163d58bb4c51bea59121678aa76), "Barcrest","Mad House (Barcrest) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4madhse__e, m4madhse, "md8d.p1", 0x0000, 0x010000, CRC(6d150df3) SHA1(e93fda497696b06ad854b3b06e2b61737cef3fc1), "Barcrest","Mad House (Barcrest) (MPU4) (set 6)" ) +GAME_CUSTOM( 199?, m4madhse__f, m4madhse, "md8dy.p1", 0x0000, 0x010000, CRC(af01407f) SHA1(46359220e34dede4cc5e8c11699d01460dd9a469), "Barcrest","Mad House (Barcrest) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4madhse__g, m4madhse, "md8k.p1", 0x0000, 0x010000, CRC(c713f706) SHA1(65480171d3d69a670b9ce2c566425998134ad502), "Barcrest","Mad House (Barcrest) (MPU4) (set 8)" ) +GAME_CUSTOM( 199?, m4madhse__i, m4madhse, "md8y.p1", 0x0000, 0x010000, CRC(15fc9590) SHA1(a01bd5cea5873c8175262f668e330b2975a03eb1), "Barcrest","Mad House (Barcrest) (MPU4) (set 10)" ) +// "(C)1993 BARCREST" and "MAD 0.5" +GAME_CUSTOM( 199?, m4madhse__c, m4madhse, "mads.p1", 0x0000, 0x010000, CRC(d4ea7f14) SHA1(808c64b65542c6bfd8336feec025e947c8c904ee), "Barcrest","Mad House (Barcrest) (MPU4) (MAD 0.5)" ) +GAME_CUSTOM( 199?, m4madhse__a, m4madhse, "madc.p1", 0x0000, 0x010000, CRC(96da2d58) SHA1(23686a4dc5adaac81ba173f8fa0ea5ff8ac26260), "Barcrest","Mad House (Barcrest) (MPU4) (set 2)" ) +// "(C)1993 BARCREST" and "MHT 0.2" +GAME_CUSTOM( 199?, m4madhse__0, m4madhse, "mhts.p1", 0x0000, 0x010000, CRC(751b4574) SHA1(a04820f48e0df936813ca984c77da08d703e6474), "Barcrest","Mad House (Barcrest) (MPU4) (MHT 0.2)" ) GAME_CUSTOM( 199?, m4madhse__t, m4madhse, "mhtad.p1", 0x0000, 0x010000, CRC(edfe01be) SHA1(5d738acc0a39906f085c1bc55caf683d6b6a4f6c), "Barcrest","Mad House (Barcrest) (MPU4) (set 21)" ) GAME_CUSTOM( 199?, m4madhse__u, m4madhse, "mhtb.p1", 0x0000, 0x010000, CRC(272a3c62) SHA1(c6d71295d11350a0b778382a276b8bdf88faede9), "Barcrest","Mad House (Barcrest) (MPU4) (set 22)" ) GAME_CUSTOM( 199?, m4madhse__v, m4madhse, "mhtbd.p1", 0x0000, 0x010000, CRC(f73a3808) SHA1(5f74eb64a9b12b9c2c1141b30e64325b8a5beece), "Barcrest","Mad House (Barcrest) (MPU4) (set 23)" ) @@ -4393,7 +4505,7 @@ GAME_CUSTOM( 199?, m4madhse__w, m4madhse, "mhtd.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4madhse__x, m4madhse, "mhtdk.p1", 0x0000, 0x010000, CRC(ceafb47e) SHA1(32b7e23229524cc79ca24ee00368a9b4c76a35c7), "Barcrest","Mad House (Barcrest) (MPU4) (set 25)" ) GAME_CUSTOM( 199?, m4madhse__y, m4madhse, "mhtdy.p1", 0x0000, 0x010000, CRC(36748788) SHA1(04a541f1a6b94dca2bff16d50674f968e896bea7), "Barcrest","Mad House (Barcrest) (MPU4) (set 26)" ) GAME_CUSTOM( 199?, m4madhse__z, m4madhse, "mhtk.p1", 0x0000, 0x010000, CRC(1ebfb014) SHA1(493bf3ca37f2e49c5f00d7b8f6122e42f7b71f73), "Barcrest","Mad House (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4madhse__0, m4madhse, "mhts.p1", 0x0000, 0x010000, CRC(751b4574) SHA1(a04820f48e0df936813ca984c77da08d703e6474), "Barcrest","Mad House (Barcrest) (MPU4) (set 28)" ) +GAME_CUSTOM( 199?, m4madhse__b, m4madhse, "mhty.p1", 0x0000, 0x010000, CRC(e86e4542) SHA1(fb1b1d319c443daa1184eac4f6b0668ff3c6a1c5), "Barcrest","Mad House (Barcrest) (MPU4) (set 3)" ) #define M4NHTT_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ @@ -4407,7 +4519,9 @@ GAME_CUSTOM( 199?, m4madhse__0, m4madhse, "mhts.p1", 0x0000, 0x010000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4nhtt, 0, "nht01b.p1", 0x0000, 0x010000, CRC(8201a051) SHA1(a87550c0cdc0b14a30e8814bfef939eb5cf414f8), "Barcrest","New Hit the Top (Barcrest) (MPU4) (set 1)" ) +// "(C)1991 BARCREST" and "NHT 0.1" +GAME_CUSTOM( 199?, m4nhtt, 0, "nht01s.p1", 0x0000, 0x010000, CRC(a4a44ddf) SHA1(e64953f3cd2559a8ebdacb2b0c12c84fd5c4b836), "Barcrest","New Hit the Top (Barcrest) (MPU4) (NHT 0.1)" ) +GAME_CUSTOM( 199?, m4nhtt__i, m4nhtt, "nht01b.p1", 0x0000, 0x010000, CRC(8201a051) SHA1(a87550c0cdc0b14a30e8814bfef939eb5cf414f8), "Barcrest","New Hit the Top (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4nhtt__a, m4nhtt, "nht01ad.p1", 0x0000, 0x010000, CRC(a5c6ce9a) SHA1(f21dcc1a70fa45637f236aede9c6fa2e962af8f5), "Barcrest","New Hit the Top (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4nhtt__b, m4nhtt, "nht01bd.p1", 0x0000, 0x010000, CRC(21c50c56) SHA1(66c7dfa15447a2519cad58daebe0832c4c2f6f5e), "Barcrest","New Hit the Top (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4nhtt__c, m4nhtt, "nht01d.p1", 0x0000, 0x010000, CRC(4d0868a0) SHA1(1f70273928582b87693f046e10e22c19d6bcf87e), "Barcrest","New Hit the Top (Barcrest) (MPU4) (set 4)" ) @@ -4416,7 +4530,6 @@ GAME_CUSTOM( 199?, m4nhtt__e, m4nhtt, "nht01dr.p1", 0x0000, 0x010000, CRC(7 GAME_CUSTOM( 199?, m4nhtt__f, m4nhtt, "nht01dy.p1", 0x0000, 0x010000, CRC(954df9ba) SHA1(61cfb2c68921576549d40ba6776877322e4dd338), "Barcrest","New Hit the Top (Barcrest) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4nhtt__g, m4nhtt, "nht01k.p1", 0x0000, 0x010000, CRC(c9ab03b3) SHA1(acc26a54bfe6e26fc2c8ac58268ee9347bc4ddb9), "Barcrest","New Hit the Top (Barcrest) (MPU4) (set 8)" ) GAME_CUSTOM( 199?, m4nhtt__h, m4nhtt, "nht01r.p1", 0x0000, 0x010000, CRC(f5ec653e) SHA1(aed9320ab164dd0f2b3dfaee3aacde5ba62e31ef), "Barcrest","New Hit the Top (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4nhtt__i, m4nhtt, "nht01s.p1", 0x0000, 0x010000, CRC(a4a44ddf) SHA1(e64953f3cd2559a8ebdacb2b0c12c84fd5c4b836), "Barcrest","New Hit the Top (Barcrest) (MPU4) (set 10)" ) GAME_CUSTOM( 199?, m4nhtt__j, m4nhtt, "nht01y.p1", 0x0000, 0x010000, CRC(54c02b5d) SHA1(75b3056d714ee232325f8a1058bef46d902d0b64), "Barcrest","New Hit the Top (Barcrest) (MPU4) (set 11)" ) @@ -4433,8 +4546,8 @@ GAME_CUSTOM( 199?, m4nhtt__j, m4nhtt, "nht01y.p1", 0x0000, 0x010000, CRC(5 GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4przfrt, 0, "pfr03s.p1", 0x0000, 0x010000, CRC(0ea80adb) SHA1(948a23fe8ccf6f423957a478a57bb875cc7b2cc2), "Barcrest","Prize Fruit & Loot (Barcrest) (MPU4) (set 1)" ) +// "(C)1991 BARCREST" and "PFR 0.3" +GAME_CUSTOM( 199?, m4przfrt, 0, "pfr03s.p1", 0x0000, 0x010000, CRC(0ea80adb) SHA1(948a23fe8ccf6f423957a478a57bb875cc7b2cc2), "Barcrest","Prize Fruit & Loot (Barcrest) (MPU4) (PFR 0.3)" ) GAME_CUSTOM( 199?, m4przfrt__a, m4przfrt, "pfr03ad.p1", 0x0000, 0x010000, CRC(860cbd1b) SHA1(a3a3c0c3c5aff9b469ae82cf514937973b752421), "Barcrest","Prize Fruit & Loot (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4przfrt__b, m4przfrt, "pfr03b.p1", 0x0000, 0x010000, CRC(2a7ba02c) SHA1(178fbf0301d263b32f9a8ac00e79731d074576d9), "Barcrest","Prize Fruit & Loot (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4przfrt__c, m4przfrt, "pfr03bd.p1", 0x0000, 0x010000, CRC(dfff487c) SHA1(bf4bbb17241595ceb2c373c2bbd72fcecddedfd2), "Barcrest","Prize Fruit & Loot (Barcrest) (MPU4) (set 4)" ) @@ -4461,7 +4574,9 @@ GAME_CUSTOM( 199?, m4przfrt__l, m4przfrt, "pfr03o.p1", 0x0000, 0x010000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4tutcl, 0, "f2u01ad.p1", 0x0000, 0x010000, CRC(65537552) SHA1(b0a761dcc6e0a9f01cfb934b570356ca67fdd099), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (set 1)" ) +// "(C)1991 BARCREST" and "F2U 0.1" +GAME_CUSTOM( 199?, m4tutcl, 0, "f2u01s.p1", 0x0000, 0x010000, CRC(25b68f22) SHA1(7f484dbc841e1e87d9f5e322cf497b6b68e4a096), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (F2U 0.1)" ) +GAME_CUSTOM( 199?, m4tutcl__j, m4tutcl, "f2u01ad.p1", 0x0000, 0x010000, CRC(65537552) SHA1(b0a761dcc6e0a9f01cfb934b570356ca67fdd099), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4tutcl__a, m4tutcl, "f2u01b.p1", 0x0000, 0x010000, CRC(2cae37df) SHA1(5aed985476b7b747a99a4046b846ee4a359776af), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4tutcl__b, m4tutcl, "f2u01bd.p1", 0x0000, 0x010000, CRC(0dd91ccf) SHA1(bcdfc39025d02e7a51f69757238dfa44fe9d3655), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4tutcl__c, m4tutcl, "f2u01c.p1", 0x0000, 0x010000, CRC(6b6d9bb9) SHA1(140e9cbb8b484116e5fb9a7670d41fb0bcb37ec0), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (set 4)" ) @@ -4471,7 +4586,6 @@ GAME_CUSTOM( 199?, m4tutcl__f, m4tutcl, "f2u01dr.p1", 0x0000, 0x010000, CR GAME_CUSTOM( 199?, m4tutcl__g, m4tutcl, "f2u01dy.p1", 0x0000, 0x010000, CRC(24dd0a73) SHA1(a75129e414dd8cbe5f6f44e39b1d3dc3d7dfafb2), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (set 8)" ) GAME_CUSTOM( 199?, m4tutcl__h, m4tutcl, "f2u01k.p1", 0x0000, 0x010000, CRC(b9cec403) SHA1(90a1f49202ea9b79e2ab097cf95cf94088c52926), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4tutcl__i, m4tutcl, "f2u01r.p1", 0x0000, 0x010000, CRC(471e39d7) SHA1(874db6f2d04ed0b2c6756efba5fa1140d2fbfc58), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4tutcl__j, m4tutcl, "f2u01s.p1", 0x0000, 0x010000, CRC(25b68f22) SHA1(7f484dbc841e1e87d9f5e322cf497b6b68e4a096), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4tutcl__k, m4tutcl, "f2u01y.p1", 0x0000, 0x010000, CRC(5a583a6f) SHA1(0421d079de12a7379c13832108e8608c9a01f41d), "Barcrest","Tutti Fruity Classic (Barcrest) (MPU4) (set 12)" ) @@ -4488,8 +4602,15 @@ GAME_CUSTOM( 199?, m4tutcl__k, m4tutcl, "f2u01y.p1", 0x0000, 0x010000, CR ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4przmns, 0, "spmy.p1", 0x0000, 0x010000, CRC(2b27b2a0) SHA1(07950616da39e39d19452859390d3eaad89ea377), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 1)" ) +// "(C)1991 BARCREST" and "SPM 0.2" +GAME_CUSTOM( 199?, m4przmns, 0, "spms.p1", 0x0000, 0x010000, CRC(7d684358) SHA1(b07b13d6827e5ea4127eb763f4233a3d35ea99e6), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SPM 0.2)" ) +GAME_CUSTOM( 199?, m4przmns__n, m4przmns, "spmy.p1", 0x0000, 0x010000, CRC(2b27b2a0) SHA1(07950616da39e39d19452859390d3eaad89ea377), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4przmns__j, m4przmns, "spmb.p1", 0x0000, 0x010000, CRC(752dd1c6) SHA1(e180c959bc3fb8bce9da22ed6e74fa03e4562a74), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 11)" ) +GAME_CUSTOM( 199?, m4przmns__k, m4przmns, "spmd.p1", 0x0000, 0x010000, CRC(34172b4f) SHA1(8594d3863e3de3e6300cd5f4588545bf82c89e00), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4przmns__l, m4przmns, "spmdy.p1", 0x0000, 0x010000, CRC(1abed85e) SHA1(0b2d7e0127c30f6704a7f64a2955ecf3e8010206), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4przmns__m, m4przmns, "spmk.p1", 0x0000, 0x010000, CRC(ba2f467a) SHA1(327ebad946b028f387e04e9db9f882320995d175), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 14)" ) +// "(C)1991 BARCREST" and "SM8 0.1" +GAME_CUSTOM( 199?, m4przmns__h, m4przmns, "sm8s.p1", 0x0000, 0x010000, CRC(be159855) SHA1(277884b5417857fa661b09d3e41bef2b22b89f6c), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (SM8 0.1)" ) GAME_CUSTOM( 199?, m4przmns__a, m4przmns, "sm8ad.p1", 0x0000, 0x010000, CRC(6272ae09) SHA1(96130f62646424dd9f2f34f2858a2635ec615f03), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4przmns__b, m4przmns, "sm8b.p1", 0x0000, 0x010000, CRC(25d95c1b) SHA1(7aa448d1fb383d1b89e71bbc63a554eaa5e06141), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4przmns__c, m4przmns, "sm8bd.p1", 0x0000, 0x010000, CRC(bf58108f) SHA1(a0dfc2447a014f4a9b1abad3f954ee9c58251289), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 4)" ) @@ -4497,13 +4618,7 @@ GAME_CUSTOM( 199?, m4przmns__d, m4przmns, "sm8d.p1", 0x0000, 0x010000, CRC GAME_CUSTOM( 199?, m4przmns__e, m4przmns, "sm8dk.p1", 0x0000, 0x010000, CRC(f077ac65) SHA1(9baa5d2fd9833838d48c202a57aaa98783130dbc), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 6)" ) GAME_CUSTOM( 199?, m4przmns__f, m4przmns, "sm8dy.p1", 0x0000, 0x010000, CRC(2df61788) SHA1(003d6e172cee41cf9704dc285c2a0b39ee247ea8), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4przmns__g, m4przmns, "sm8k.p1", 0x0000, 0x010000, CRC(8d02ca2b) SHA1(b5defdc50fee9e9f1379571b638702c0779fd450), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4przmns__h, m4przmns, "sm8s.p1", 0x0000, 0x010000, CRC(be159855) SHA1(277884b5417857fa661b09d3e41bef2b22b89f6c), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 9)" ) GAME_CUSTOM( 199?, m4przmns__i, m4przmns, "sm8y.p1", 0x0000, 0x010000, CRC(51e76e1d) SHA1(3045ab447871c7369c5ed53da75326e64d6e57d9), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4przmns__j, m4przmns, "spmb.p1", 0x0000, 0x010000, CRC(752dd1c6) SHA1(e180c959bc3fb8bce9da22ed6e74fa03e4562a74), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4przmns__k, m4przmns, "spmd.p1", 0x0000, 0x010000, CRC(34172b4f) SHA1(8594d3863e3de3e6300cd5f4588545bf82c89e00), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4przmns__l, m4przmns, "spmdy.p1", 0x0000, 0x010000, CRC(1abed85e) SHA1(0b2d7e0127c30f6704a7f64a2955ecf3e8010206), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4przmns__m, m4przmns, "spmk.p1", 0x0000, 0x010000, CRC(ba2f467a) SHA1(327ebad946b028f387e04e9db9f882320995d175), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4przmns__n, m4przmns, "spms.p1", 0x0000, 0x010000, CRC(7d684358) SHA1(b07b13d6827e5ea4127eb763f4233a3d35ea99e6), "Barcrest","Prize Money Showcase (Barcrest) (MPU4) (set 15)" ) #define M4PRZRF_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ @@ -4517,7 +4632,9 @@ GAME_CUSTOM( 199?, m4przmns__n, m4przmns, "spms.p1", 0x0000, 0x010000, CRC ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4przrf, 0, "pr8ad.p1", 0x0000, 0x020000, CRC(ebada7c9) SHA1(4a1e2f746116c23f87b53d25bd8b11322962306f), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "PR8 0.1" +GAME_CUSTOM( 199?, m4przrf, 0, "pr8s.p1", 0x0000, 0x020000, CRC(bbbdd4f4) SHA1(72c2a8b3404384b524f49fc2d6507e2d8dab85cb), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (PR8 0.1)" ) +GAME_CUSTOM( 199?, m4przrf__i, m4przrf, "pr8ad.p1", 0x0000, 0x020000, CRC(ebada7c9) SHA1(4a1e2f746116c23f87b53d25bd8b11322962306f), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4przrf__a, m4przrf, "pr8b.p1", 0x0000, 0x020000, CRC(4a6448b6) SHA1(061dbc1603fff0cb60e02acdf21881047b2b7d43), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4przrf__b, m4przrf, "pr8bd.p1", 0x0000, 0x020000, CRC(66b7090c) SHA1(774f5b1403109ccc7ac1bc188f30e8b3a5025aad), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4przrf__c, m4przrf, "pr8d.p1", 0x0000, 0x020000, CRC(377f43c0) SHA1(14e29f1832afc47f06752d7da11cc2cb40fcb368), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (set 4)" ) @@ -4526,7 +4643,6 @@ GAME_CUSTOM( 199?, m4przrf__e, m4przrf, "pr8dk.p1", 0x0000, 0x020000, CRC(2c GAME_CUSTOM( 199?, m4przrf__f, m4przrf, "pr8dy.p1", 0x0000, 0x020000, CRC(ab9381a4) SHA1(90c3a048ad5c1e19007b6e089750a9e4b299d2a3), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4przrf__g, m4przrf, "pr8j.p1", 0x0000, 0x020000, CRC(6eb1de65) SHA1(b9e13173191e9a45fab29936b303a914e372918f), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (set 8)" ) GAME_CUSTOM( 199?, m4przrf__h, m4przrf, "pr8k.p1", 0x0000, 0x020000, CRC(00a3e0e0) SHA1(c0671052de5cdd7f169ca50590b9c4f0f10cb678), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4przrf__i, m4przrf, "pr8s.p1", 0x0000, 0x020000, CRC(bbbdd4f4) SHA1(72c2a8b3404384b524f49fc2d6507e2d8dab85cb), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (set 10)" ) GAME_CUSTOM( 199?, m4przrf__j, m4przrf, "pr8y.p1", 0x0000, 0x020000, CRC(8740c01e) SHA1(c75f4ad724e735a2ffabc9f7cce96dcb341eaf4a), "Barcrest","Prize Rich And Famous (Barcrest) (MPU4) (set 11)" ) #define M4PRZRFM_EXTRA_ROMS \ @@ -4541,13 +4657,15 @@ GAME_CUSTOM( 199?, m4przrf__j, m4przrf, "pr8y.p1", 0x0000, 0x020000, CRC(87 ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4przrfm, 0, "prub.p1", 0x0000, 0x010000, CRC(748f220f) SHA1(5d729057d521fa656375610e424cfd4088f6ea02), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "PRU 0.2" +GAME_CUSTOM( 199?, m4przrfm, 0, "prus.p1", 0x0000, 0x010000, CRC(d6c22253) SHA1(f9a25dd1c6f16849a6eb1febdc2da16080cc6838), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (PRU 0.2)" ) +GAME_CUSTOM( 199?, m4przrfm__d, m4przrfm, "prub.p1", 0x0000, 0x010000, CRC(748f220f) SHA1(5d729057d521fa656375610e424cfd4088f6ea02), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4przrfm__a, m4przrfm, "prud.p1", 0x0000, 0x010000, CRC(426bf7c1) SHA1(998b7968d4ed2fb0d1fcaf13929c76670100d9df), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4przrfm__b, m4przrfm, "prudy.p1", 0x0000, 0x010000, CRC(e9f76ebd) SHA1(8f1151e123e73ac40fdb6f071960d1ed3e72692a), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4przrfm__c, m4przrfm, "pruk.p1", 0x0000, 0x010000, CRC(b995d098) SHA1(22107fbbc8c4e026fc34159114cdbfcd130f814e), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4przrfm__d, m4przrfm, "prus.p1", 0x0000, 0x010000, CRC(d6c22253) SHA1(f9a25dd1c6f16849a6eb1febdc2da16080cc6838), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 5)" ) GAME_CUSTOM( 199?, m4przrfm__e, m4przrfm, "pruy.p1", 0x0000, 0x010000, CRC(fcd8add4) SHA1(14e922daf24d981a3a65463bf64213722d8ba758), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 6)" ) +// "(C)1993 BARCREST" and "RM8 0.1" +GAME_CUSTOM( 199?, m4przrfm__n, m4przrfm, "rm8s.p1", 0x0000, 0x010000, CRC(9ab83f24) SHA1(bdc72a9d6f22244a2be86b035fac84433705ce78), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (RM8 0.1)" ) GAME_CUSTOM( 199?, m4przrfm__f, m4przrfm, "rm8b.p1", 0x0000, 0x010000, CRC(181da11e) SHA1(c06a9626a541a56d707f9b80806714020cefa7b2), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4przrfm__g, m4przrfm, "rm8bd.p1", 0x0000, 0x010000, CRC(b3d983b5) SHA1(7881c31617855983981f93190afddb0aa880ce0a), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 8)" ) GAME_CUSTOM( 199?, m4przrfm__h, m4przrfm, "rm8d.p1", 0x0000, 0x010000, CRC(94377ab0) SHA1(2c43dfd11eeca53faae661d7af4a986fdbb6d7e9), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 9)" ) @@ -4556,7 +4674,6 @@ GAME_CUSTOM( 199?, m4przrfm__j, m4przrfm, "rm8dk.p1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4przrfm__k, m4przrfm, "rm8dy.p1", 0x0000, 0x010000, CRC(bac738e3) SHA1(21bd359cfeaf1e33268cecef08d8c7d23d89360c), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 12)" ) GAME_CUSTOM( 199?, m4przrfm__l, m4przrfm, "rm8j.p1", 0x0000, 0x010000, CRC(b825b8fd) SHA1(6fa58784018fd7be6528e60d8642803cca55c15d), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 13)" ) GAME_CUSTOM( 199?, m4przrfm__m, m4przrfm, "rm8k.p1", 0x0000, 0x010000, CRC(3f559f9e) SHA1(f70c127490859a3b4c405fd0efd18168dd3b0728), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4przrfm__n, m4przrfm, "rm8s.p1", 0x0000, 0x010000, CRC(9ab83f24) SHA1(bdc72a9d6f22244a2be86b035fac84433705ce78), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 15)" ) GAME_CUSTOM( 199?, m4przrfm__o, m4przrfm, "rm8y.p1", 0x0000, 0x010000, CRC(47a3873e) SHA1(51baf82a7a4dee10b1a2f7862030f960912d8d7c), "Barcrest","Prize Run For Your Money (Barcrest) (MPU4) (set 16)" ) @@ -4576,12 +4693,13 @@ GAME_CUSTOM( 199?, m4przrfm__o, m4przrfm, "rm8y.p1", 0x0000, 0x010000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4przwo, 0, "pwo206ac", 0x0000, 0x010000, CRC(b9dd88e7) SHA1(4c60e7a28b538ff2483839fc66600037ccd99440), "Barcrest","Prize What's On (Barcrest) (MPU4) (set 1)" ) +// "(C)1991 BARCREST" and "PWO 0.5" +GAME_CUSTOM( 199?, m4przwo, 0, "pwos.p1", 0x0000, 0x010000, CRC(6a87aa68) SHA1(3dc8c006de3adcada43c3581be0ff921081ecff0), "Barcrest","Prize What's On (Barcrest) (MPU4) (PWO 0.5)" ) +GAME_CUSTOM( 199?, m4przwo__e, m4przwo, "pwo206ac", 0x0000, 0x010000, CRC(b9dd88e7) SHA1(4c60e7a28b538ff2483839fc66600037ccd99440), "Barcrest","Prize What's On (Barcrest) (MPU4) (PWO 0.5 C)" ) GAME_CUSTOM( 199?, m4przwo__a, m4przwo, "pwob.p1", 0x0000, 0x010000, CRC(9e9f65d7) SHA1(69d28a1e08d2bde1a9c4d55555478808546ad4f0), "Barcrest","Prize What's On (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4przwo__b, m4przwo, "pwod.p1", 0x0000, 0x010000, CRC(ae97b585) SHA1(d6b90d8b696a21f9fa6b06c63a329b1370edd224), "Barcrest","Prize What's On (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4przwo__c, m4przwo, "pwody.p1", 0x0000, 0x010000, CRC(3abfd1c9) SHA1(131811807396103641d73cd7cef1797a6cecb35b), "Barcrest","Prize What's On (Barcrest) (MPU4) (set 4)" ) GAME_CUSTOM( 199?, m4przwo__d, m4przwo, "pwok.p1", 0x0000, 0x010000, CRC(b8631e11) SHA1(c01aff60dad14945c2b45992f0112c6fc0ae7c5a), "Barcrest","Prize What's On (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4przwo__e, m4przwo, "pwos.p1", 0x0000, 0x010000, CRC(6a87aa68) SHA1(3dc8c006de3adcada43c3581be0ff921081ecff0), "Barcrest","Prize What's On (Barcrest) (MPU4) (set 6)" ) GAME_CUSTOM( 199?, m4przwo__f, m4przwo, "pwoy.p1", 0x0000, 0x010000, CRC(1ada4987) SHA1(05a0480f5a92faaedc8183d948c7e2d657bda2a4), "Barcrest","Prize What's On (Barcrest) (MPU4) (set 7)" ) @@ -4601,8 +4719,9 @@ GAME_CUSTOM( 199?, m4przwo__f, m4przwo, "pwoy.p1", 0x0000, 0x010000, CR ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4rhog2, 0, "2rh06c.p1", 0x0000, 0x020000, CRC(62c312bc) SHA1(6b02345c97b130deabad58a238ba9045161b5a80), "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "2RH 0.6" +GAME_CUSTOM( 199?, m4rhog2, 0, "2rh06s.p1", 0x0000, 0x020000, CRC(2ea10eed) SHA1(825bd6a53100b389f7d67ec49e4535c1de0ece74), "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4) (2RH 0.6)" ) +GAME_CUSTOM( 199?, m4rhog2__l, m4rhog2, "2rh06c.p1", 0x0000, 0x020000, CRC(62c312bc) SHA1(6b02345c97b130deabad58a238ba9045161b5a80), "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4rhog2__a, m4rhog2, "2rh06ad.p1", 0x0000, 0x020000, CRC(f44040d1) SHA1(685bbfe5f975c7e5b3efee17e1833f6f51b223af), "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4rhog2__b, m4rhog2, "2rh06b.p1", 0x0000, 0x020000, CRC(5589afae) SHA1(15c9c65089cc2754d644dabfd6f5a32a2a788219), "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4rhog2__c, m4rhog2, "2rh06bd.p1", 0x0000, 0x020000, CRC(795aee14) SHA1(7703c8456aaa2e27f71a7edbfa74fb2d7434a762), "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4) (set 4)" ) @@ -4614,39 +4733,9 @@ GAME_CUSTOM( 199?, m4rhog2__h, m4rhog2, "2rh06dy.p1", 0x0000, 0x020000, CR GAME_CUSTOM( 199?, m4rhog2__i, m4rhog2, "2rh06h.p1", 0x0000, 0x020000, CRC(9b65ffed) SHA1(65ab62fe772bd54793c45cc1105a189f21bb5d25), "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4) (set 10)" ) GAME_CUSTOM( 199?, m4rhog2__j, m4rhog2, "2rh06k.p1", 0x0000, 0x020000, CRC(1f4e07f8) SHA1(35459640bc215c465b84df073505e8fd6077a332), "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4rhog2__k, m4rhog2, "2rh06r.p1", 0x0000, 0x020000, CRC(ac41bcc9) SHA1(0de0c0976ef5c58084f02310495b246dc7c23e60), "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4rhog2__l, m4rhog2, "2rh06s.p1", 0x0000, 0x020000, CRC(2ea10eed) SHA1(825bd6a53100b389f7d67ec49e4535c1de0ece74), "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4) (set 13)" ) GAME_CUSTOM( 199?, m4rhog2__m, m4rhog2, "2rh06y.p1", 0x0000, 0x020000, CRC(98ad2706) SHA1(862a725bad97d28580dad102a71750465c7b0f5d), "Barcrest","Road Hog 2 - I'm Back (Barcrest) (MPU4) (set 14)" ) -#undef GAME_CUSTOM -#define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ - ROM_START( setname ) \ - ROM_REGION( length, "maincpu", 0 ) \ - ROM_LOAD( name, offset, length, hash ) \ - ROM_END \ - GAME(year, setname, parent ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) - - - - -GAME_CUSTOM( 199?, m4suphv, 0, "hyperviper.bin", 0x0000, 0x010000, CRC(8373f6a3) SHA1(79bff20ab80ffe11447595c6fe8e5ab90d432e17), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4suphv__a, m4suphv, "hv_05___.3h3", 0x0000, 0x010000, CRC(13bfa891) SHA1(ffddd14a019d52029bf8d4f680d8d05413a9f0b7), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4suphv__b, m4suphv, "hv_05___.3o3", 0x0000, 0x010000, CRC(9ae86366) SHA1(614ae0ab184645c9f568796783f29a177eda3208), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4suphv__c, m4suphv, "hv_05___.4n3", 0x0000, 0x010000, CRC(f607f351) SHA1(d7b779b80fa964a27b106bd9d5ca3be16a11d5e9), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4suphv__d, m4suphv, "hv_05_d_.3h3", 0x0000, 0x010000, CRC(50c66ce8) SHA1(ef12525fc3ac82caf80326edaac81bb9fbc3245c), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4suphv__e, m4suphv, "hv_05_d_.3o3", 0x0000, 0x010000, CRC(87dfca0e) SHA1(3ab4105680acc46d3633a722f40ff1af0a520a7f), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4suphv__f, m4suphv, "hv_05_d_.4n3", 0x0000, 0x010000, CRC(f4d702d7) SHA1(268c7f6443c7ae587caf5b227fcd438530a06bcc), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4suphv__g, m4suphv, "hv_10___.3h3", 0x0000, 0x010000, CRC(627caac7) SHA1(4851ce2441850743ea68ecbf89bde3f4cd6c2b4c), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4suphv__h, m4suphv, "hv_10___.3o3", 0x0000, 0x010000, CRC(02e4d86a) SHA1(47aa83e8bcd85e8ba7fb972cdd1ead7fe21e0418), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4suphv__i, m4suphv, "hv_10_d_.3h3", 0x0000, 0x010000, CRC(15cfa26e) SHA1(6bc3feaba65d1797b9945f23a89e983f56b13f79), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4suphv__j, m4suphv, "hv_10_d_.3n3", 0x0000, 0x010000, CRC(b81f1d0a) SHA1(5fd293be2b75393069c9f5e099b4700ff930f081), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4suphv__k, m4suphv, "hv_10_d_.3o3", 0x0000, 0x010000, CRC(85f176b9) SHA1(30380d58bf2834829764cbdbdc7d950632e61e6d), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4suphv__l, m4suphv, "hvi05___.3h3", 0x0000, 0x010000, CRC(6959332e) SHA1(edaa5f86ad4389b0a3bc2e6679fe8f62520be3ae), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4suphv__m, m4suphv, "hvi05___.3o3", 0x0000, 0x010000, CRC(cdba80a5) SHA1(6c9fac7e5ee324b18922cc7a053495f1977bcb6d), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4suphv__n, m4suphv, "hvi05___.4n3", 0x0000, 0x010000, CRC(38a33c2b) SHA1(21004092b81e08146291fd3a025652f0edbe47dc), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4suphv__o, m4suphv, "hvi10___.3h3", 0x0000, 0x010000, CRC(6c1b4b89) SHA1(e8eb4e689d43c5b9e8354aa7375ca3ba12ed1160), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4suphv__p, m4suphv, "hvi10___.3n3", 0x0000, 0x010000, CRC(9d95cf8c) SHA1(26daf3975e1e3a605bc4392700c5470b52450d6e), "Barcrest","Super Hyper Viper (Barcrest) (MPU4) (set 17)" ) - #define M4SHODF_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", 0 ) \ @@ -4663,20 +4752,21 @@ GAME_CUSTOM( 199?, m4suphv__p, m4suphv, "hvi10___.3n3", 0x0000, 0x010000 GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4shodf, 0, "sdfs.p1", 0x0000, 0x010000, CRC(5df9abdb) SHA1(0dce3a7ff4d2f11c370a3a2578c592910a9e7371), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "SDF 0.2" +GAME_CUSTOM( 199?, m4shodf, 0, "sdfs.p1", 0x0000, 0x010000, CRC(5df9abdb) SHA1(0dce3a7ff4d2f11c370a3a2578c592910a9e7371), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SDF 0.2)" ) +GAME_CUSTOM( 199?, m4shodf__h, m4shodf, "sdfb.p1", 0x0000, 0x010000, CRC(a15204bb) SHA1(c862822615e82e5f2f9f2f3cb7e31f804fd859be), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 9)" ) +GAME_CUSTOM( 199?, m4shodf__i, m4shodf, "sdfd.p1", 0x0000, 0x010000, CRC(19913c83) SHA1(894da549e790b9062f36fdce90b8e8d284d513e6), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 10)" ) +GAME_CUSTOM( 199?, m4shodf__j, m4shodf, "sdfdy.p1", 0x0000, 0x010000, CRC(df1325b1) SHA1(002780fcecf895d20a2a3c0c57fbe4dd675a1e42), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 11)" ) +GAME_CUSTOM( 199?, m4shodf__k, m4shodf, "sdfk.p1", 0x0000, 0x010000, CRC(32def2fb) SHA1(45064f319cb5268745e8d5210ceed3a84a8e7f20), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4shodf__l, m4shodf, "sdfy.p1", 0x0000, 0x010000, CRC(dbb6aa80) SHA1(976f5811a0a578c7f2497ac654f7c416b6018a34), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 13)" ) +// "(C)1993 BARCREST" and "SD8 0.1" +GAME_CUSTOM( 199?, m4shodf__f, m4shodf, "sd8s.p1", 0x0000, 0x010000, CRC(59d696e4) SHA1(e51a9a0bc1348b44e77f85343463154ad680ef89), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (SD8 0.1)" ) GAME_CUSTOM( 199?, m4shodf__a, m4shodf, "sd8b.p1", 0x0000, 0x010000, CRC(79f7fea2) SHA1(5bfa695aef54c9621a91beac2e6c8a09d3b2974b), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4shodf__b, m4shodf, "sd8d.p1", 0x0000, 0x010000, CRC(060a1b37) SHA1(fb4fbc1164f97f13eb10edbd4e8a37502d716340), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4shodf__c, m4shodf, "sd8dk.p1", 0x0000, 0x010000, CRC(20982264) SHA1(178ce24ce21e865608133fe2ae281ba2adbdf1d4), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 4)" ) GAME_CUSTOM( 199?, m4shodf__d, m4shodf, "sd8dy.p1", 0x0000, 0x010000, CRC(3fb73b48) SHA1(328f827a92e6fb8ccfb3a82c52401b2d31e974bf), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 5)" ) GAME_CUSTOM( 199?, m4shodf__e, m4shodf, "sd8k.p1", 0x0000, 0x010000, CRC(0d8f2238) SHA1(55643a1f9fe136fb724b05efc0362b6295c9caf9), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4shodf__f, m4shodf, "sd8s.p1", 0x0000, 0x010000, CRC(59d696e4) SHA1(e51a9a0bc1348b44e77f85343463154ad680ef89), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4shodf__g, m4shodf, "sd8y.p1", 0x0000, 0x010000, CRC(f79c2e78) SHA1(f6c298b77a9c32378e3f219063daab17e551d083), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4shodf__h, m4shodf, "sdfb.p1", 0x0000, 0x010000, CRC(a15204bb) SHA1(c862822615e82e5f2f9f2f3cb7e31f804fd859be), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4shodf__i, m4shodf, "sdfd.p1", 0x0000, 0x010000, CRC(19913c83) SHA1(894da549e790b9062f36fdce90b8e8d284d513e6), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4shodf__j, m4shodf, "sdfdy.p1", 0x0000, 0x010000, CRC(df1325b1) SHA1(002780fcecf895d20a2a3c0c57fbe4dd675a1e42), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4shodf__k, m4shodf, "sdfk.p1", 0x0000, 0x010000, CRC(32def2fb) SHA1(45064f319cb5268745e8d5210ceed3a84a8e7f20), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4shodf__l, m4shodf, "sdfy.p1", 0x0000, 0x010000, CRC(dbb6aa80) SHA1(976f5811a0a578c7f2497ac654f7c416b6018a34), "Barcrest","Showcase Duty Free (Barcrest) (MPU4) (set 13)" ) #define M4LUCKSC_EXTRA_ROMS \ @@ -4695,19 +4785,24 @@ GAME_CUSTOM( 199?, m4shodf__l, m4shodf, "sdfy.p1", 0x0000, 0x010000, CRC(db ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4lucksc, 0, "clu14d.p1", 0x0000, 0x020000, CRC(7a64199f) SHA1(62c7c8a4475a8005a1f969550d0717c9cc44bada), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (set 1)" ) +// "(C)1996 BARCREST" and "CLU 1.4" +GAME_CUSTOM( 199?, m4lucksc, 0, "clu14s.p1", 0x0000, 0x020000, CRC(5f66d7cc) SHA1(bd8a832739d7aef4d04b89a94dd2886e89a6e0c2), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (CLU 1.4)" ) +GAME_CUSTOM( 199?, m4lucksc__b, m4lucksc, "clu14d.p1", 0x0000, 0x020000, CRC(7a64199f) SHA1(62c7c8a4475a8005a1f969550d0717c9cc44bada), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4lucksc__a, m4lucksc, "clu14f.p1", 0x0000, 0x020000, CRC(07e90cdb) SHA1(5d4bf7f6f84f2890a0119de898f01e3e99bfbb7f), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4lucksc__b, m4lucksc, "clu14s.p1", 0x0000, 0x020000, CRC(5f66d7cc) SHA1(bd8a832739d7aef4d04b89a94dd2886e89a6e0c2), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (set 3)" ) +// "(C)1996 BARCREST" and "GLS 0.6" +GAME_CUSTOM( 199?, m4lucksc__e, m4lucksc, "gls06s.p1", 0x0000, 0x020000, CRC(975adb8d) SHA1(b92d1ad93e51f55111921060939359471c2e5384), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (GLS 0.6)" ) GAME_CUSTOM( 199?, m4lucksc__c, m4lucksc, "gls06d.p1", 0x0000, 0x020000, CRC(2f7f8a9a) SHA1(04243f190597e3d3bdd258b8146b71e9c7cd90c7), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (set 4)" ) GAME_CUSTOM( 199?, m4lucksc__d, m4lucksc, "gls06f.p1", 0x0000, 0x020000, CRC(52f29fde) SHA1(97df15c89540d8bbb15abb86f6a2e9d0e022c9df), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4lucksc__e, m4lucksc, "gls06s.p1", 0x0000, 0x020000, CRC(975adb8d) SHA1(b92d1ad93e51f55111921060939359471c2e5384), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (set 6)" ) +// "(C)1996 BARCREST" and "GS3 0.1" +GAME_CUSTOM( 199?, m4lucksc__h, m4lucksc, "gs301s.p1", 0x0000, 0x020000, CRC(53314dc6) SHA1(28b5d2a03b8f6221b80f10c46985fa906cc9be32), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (GS3 0.1)" ) GAME_CUSTOM( 199?, m4lucksc__f, m4lucksc, "gs301d.p1", 0x0000, 0x020000, CRC(e0807af7) SHA1(1740d4d56ad71407a4d2bb13b43c9d5f31caf638), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (set 7)" ) GAME_CUSTOM( 199?, m4lucksc__g, m4lucksc, "gs301f.p1", 0x0000, 0x020000, CRC(9d0d6fb3) SHA1(9206299604190deace09136ca2eebb9ad2792815), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4lucksc__h, m4lucksc, "gs301s.p1", 0x0000, 0x020000, CRC(53314dc6) SHA1(28b5d2a03b8f6221b80f10c46985fa906cc9be32), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (set 9)" ) +// "(C)1996 BARCREST" and "LS3 0.1" +GAME_CUSTOM( 199?, m4lucksc__k, m4lucksc, "ls301s.p1", 0x0000, 0x020000, CRC(7e9e97f1) SHA1(43760792b529db8acb497d38ad3951abdebcf76b), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (LS3 0.1)" ) GAME_CUSTOM( 199?, m4lucksc__i, m4lucksc, "ls301d.p1", 0x0000, 0x020000, CRC(39fb0ddf) SHA1(3a6934892585bde6a99f1d2e2fd95677cf37fcfe), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (set 10)" ) GAME_CUSTOM( 199?, m4lucksc__j, m4lucksc, "ls301f.p1", 0x0000, 0x020000, CRC(4476189b) SHA1(b94c6abbbf37ae28869b1f9c882de8fa56b2c676), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4lucksc__k, m4lucksc, "ls301s.p1", 0x0000, 0x020000, CRC(7e9e97f1) SHA1(43760792b529db8acb497d38ad3951abdebcf76b), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4lucksc__l, m4lucksc, "lsc_.1_1", 0x0000, 0x020000, CRC(79ce3db0) SHA1(409e9d3b08284dee3af696fb7c839c0ca35eddee), "Barcrest","Lucky Strike Club (Barcrest) (MPU4) (set 13)" ) +// "(C)1998 BWB" and "LSC 1.0" +GAME_CUSTOM( 199?, m4lucksc__l, m4lucksc, "lsc_.1_1", 0x0000, 0x020000, CRC(79ce3db0) SHA1(409e9d3b08284dee3af696fb7c839c0ca35eddee), "Bwb","Lucky Strike Club (Barcrest) (MPU4) (LSC 1.0)" ) #define M4PRZLUX_EXTRA_ROMS \ @@ -4724,7 +4819,8 @@ GAME_CUSTOM( 199?, m4lucksc__l, m4lucksc, "lsc_.1_1", 0x0000, 0x020000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4przlux, 0, "plxs.p1", 0x0000, 0x010000, CRC(0aea0339) SHA1(28da52924fe2bf00799ef466143103e08399f5f5), "Barcrest","Prize Luxor (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "PLX 0.2" +GAME_CUSTOM( 199?, m4przlux, 0, "plxs.p1", 0x0000, 0x010000, CRC(0aea0339) SHA1(28da52924fe2bf00799ef466143103e08399f5f5), "Barcrest","Prize Luxor (Barcrest) (MPU4) (PLX 0.2)" ) GAME_CUSTOM( 199?, m4przlux__a, m4przlux, "plxad.p1", 0x0000, 0x010000, CRC(e52ddf4f) SHA1(ec3f198fb6658cadd45046ef7586f9178f95d814), "Barcrest","Prize Luxor (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4przlux__b, m4przlux, "plxb.p1", 0x0000, 0x010000, CRC(03b0f7bd) SHA1(0ce1cec1afa0a2efee3bc55a2b9cdf8fec7d3ebc), "Barcrest","Prize Luxor (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4przlux__c, m4przlux, "plxd.p1", 0x0000, 0x010000, CRC(46ae371e) SHA1(a164d0336ed6bf7d25f406e28a01bbec86f4b723), "Barcrest","Prize Luxor (Barcrest) (MPU4) (set 4)" ) @@ -4746,33 +4842,33 @@ GAME_CUSTOM( 199?, m4przlux__f, m4przlux, "plxy.p1", 0x0000, 0x010000, CRC ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4topdog, 0, "td_20_b4.7_1", 0x0000, 0x010000, CRC(fe864f25) SHA1(b9f97aaf0425b4987b5bfa0b793e9226fdffe58f), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4topdog__a, m4topdog, "td_20_bc.7_1", 0x0000, 0x010000, CRC(3af18a9f) SHA1(0db7427d934363d021265fcac811505867f20d47), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4topdog__b, m4topdog, "td_20_d4.7_1", 0x0000, 0x010000, CRC(35da9e2d) SHA1(a2d1efd7c9cbe4bb5ce7574c6bea2edf55f3e08f), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4topdog__c, m4topdog, "td_20_dc.7_1", 0x0000, 0x010000, CRC(b90dfbce) SHA1(b9eb9393fbd33725d372b3b6648c261cf0ae486f), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4topdog__d, m4topdog, "td_20_k4.7_1", 0x0000, 0x010000, CRC(44618034) SHA1(0fce08e279a16d94422155c695b9b5f124b657ea), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4topdog__e, m4topdog, "td_20_kc.7_1", 0x0000, 0x010000, CRC(8ec10cf7) SHA1(cdc479f7f41f2205285a9db6539dce83feef6af4), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4topdog__f, m4topdog, "td_20a_4.7_1", 0x0000, 0x010000, CRC(e7bcc879) SHA1(6c963d059867bdd506af1826fe038daa560a3623), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4topdog__g, m4topdog, "td_20a_c.7_1", 0x0000, 0x010000, CRC(ea229917) SHA1(3e42c1eca1a89b2d536498156beddddcba9899b2), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4topdog__h, m4topdog, "td_20b_4.7_1", 0x0000, 0x010000, CRC(79468269) SHA1(709f34a0ebea816cb268b5dc36c3d02939cd6224), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4topdog__i, m4topdog, "td_20b_c.7_1", 0x0000, 0x010000, CRC(1301d28b) SHA1(b0fc0c73dedd89bbdb5845ec9f91530959fabeb6), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4topdog__j, m4topdog, "td_20bg4.7_1", 0x0000, 0x010000, CRC(4cb61b04) SHA1(6bb56cd06240c1bbb73406fe132e302822dec0df), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4topdog__k, m4topdog, "td_20bgc.7_1", 0x0000, 0x010000, CRC(8ce831d0) SHA1(e58ca3b38e8dc7196c27cf00123a6e7122bd7f58), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4topdog__l, m4topdog, "td_20bt4.7_1", 0x0000, 0x010000, CRC(2cdd5be2) SHA1(bc1afe70268eb7e3cb8fe1a43d262201faec0613), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4topdog__m, m4topdog, "td_20btc.7_1", 0x0000, 0x010000, CRC(67e96c75) SHA1(da9dd06f5d4773fa8e3945cf89cfdde4c465acb9), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4topdog__n, m4topdog, "td_25_bc.8_1", 0x0000, 0x010000, CRC(ac324184) SHA1(d6743c8cbbe719b12f47792a07ec2e898630591b), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4topdog__o, m4topdog, "td_25_dc.8_1", 0x0000, 0x010000, CRC(6ea8077c) SHA1(672976af1fad0257be7a15b839ec261653704be8), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4topdog__p, m4topdog, "td_25_kc.8_1", 0x0000, 0x010000, CRC(e006de48) SHA1(2c09e04d2dc3ec369c4c01eb1ff1af57156d05c1), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4topdog__q, m4topdog, "td_25a_c.8_1", 0x0000, 0x010000, CRC(84e54ba8) SHA1(dd09094854463f4b7033773be77d4a2d7f06b650), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4topdog__r, m4topdog, "td_25b_c.8_1", 0x0000, 0x010000, CRC(314f4f03) SHA1(a7c399ddf453305d0dbe2a63e57427b261c48c2c), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4topdog__s, m4topdog, "td_25bgc.8_1", 0x0000, 0x010000, CRC(efc0899c) SHA1(0d0e5a006d260a1bfcde7966c06360386c949f29), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4topdog__t, m4topdog, "td_25bgp.2_1", 0x0000, 0x010000, CRC(f0894f48) SHA1(63056dd434d18bb9a052db25cc6ce29d0c3f9f82), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4topdog__u, m4topdog, "td_25btc.8_1", 0x0000, 0x010000, CRC(f5dec7d9) SHA1(ffb361745aebb3c7d6bf4925d95904e8ced13a35), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4topdog__v, m4topdog, "td_30a_c.1_1", 0x0000, 0x010000, CRC(f0986895) SHA1(65c24de42a3009959c9bb7f5b42536aa6fd70c2b), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4topdog__w, m4topdog, "td_30b_c.1_1", 0x0000, 0x010000, CRC(7683cf72) SHA1(4319954b833ef6b0d88b8d22c5e700a9df96dc65), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4topdog__x, m4topdog, "td_30bdc.1_1", 0x0000, 0x010000, CRC(f5a4481b) SHA1(75b32b0996315b8ce833fd695377716dbeb0b7e4), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4topdog__y, m4topdog, "td_30bgc.1_1", 0x0000, 0x010000, CRC(1ffe440f) SHA1(adc1909fbbfe7e63bb89b29878bda5a6df776a6a), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4topdog__z, m4topdog, "td_30btc.1_1", 0x0000, 0x010000, CRC(5109516c) SHA1(a4919465286be9e1f0e7970a91a89738f8fcad4e), "Barcrest / Bwb","Top Dog (Barcrest) (MPU4) (set 27)" ) +GAME_CUSTOM( 199?, m4topdog, 0, "td_20_b4.7_1", 0x0000, 0x010000, CRC(fe864f25) SHA1(b9f97aaf0425b4987b5bfa0b793e9226fdffe58f), "Bwb","Top Dog (Barcrest) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4topdog__a, m4topdog, "td_20_bc.7_1", 0x0000, 0x010000, CRC(3af18a9f) SHA1(0db7427d934363d021265fcac811505867f20d47), "Bwb","Top Dog (Barcrest) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4topdog__b, m4topdog, "td_20_d4.7_1", 0x0000, 0x010000, CRC(35da9e2d) SHA1(a2d1efd7c9cbe4bb5ce7574c6bea2edf55f3e08f), "Bwb","Top Dog (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4topdog__c, m4topdog, "td_20_dc.7_1", 0x0000, 0x010000, CRC(b90dfbce) SHA1(b9eb9393fbd33725d372b3b6648c261cf0ae486f), "Bwb","Top Dog (Barcrest) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4topdog__d, m4topdog, "td_20_k4.7_1", 0x0000, 0x010000, CRC(44618034) SHA1(0fce08e279a16d94422155c695b9b5f124b657ea), "Bwb","Top Dog (Barcrest) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4topdog__e, m4topdog, "td_20_kc.7_1", 0x0000, 0x010000, CRC(8ec10cf7) SHA1(cdc479f7f41f2205285a9db6539dce83feef6af4), "Bwb","Top Dog (Barcrest) (MPU4) (set 6)" ) +GAME_CUSTOM( 199?, m4topdog__f, m4topdog, "td_20a_4.7_1", 0x0000, 0x010000, CRC(e7bcc879) SHA1(6c963d059867bdd506af1826fe038daa560a3623), "Bwb","Top Dog (Barcrest) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4topdog__g, m4topdog, "td_20a_c.7_1", 0x0000, 0x010000, CRC(ea229917) SHA1(3e42c1eca1a89b2d536498156beddddcba9899b2), "Bwb","Top Dog (Barcrest) (MPU4) (set 8)" ) +GAME_CUSTOM( 199?, m4topdog__h, m4topdog, "td_20b_4.7_1", 0x0000, 0x010000, CRC(79468269) SHA1(709f34a0ebea816cb268b5dc36c3d02939cd6224), "Bwb","Top Dog (Barcrest) (MPU4) (set 9)" ) +GAME_CUSTOM( 199?, m4topdog__i, m4topdog, "td_20b_c.7_1", 0x0000, 0x010000, CRC(1301d28b) SHA1(b0fc0c73dedd89bbdb5845ec9f91530959fabeb6), "Bwb","Top Dog (Barcrest) (MPU4) (set 10)" ) +GAME_CUSTOM( 199?, m4topdog__j, m4topdog, "td_20bg4.7_1", 0x0000, 0x010000, CRC(4cb61b04) SHA1(6bb56cd06240c1bbb73406fe132e302822dec0df), "Bwb","Top Dog (Barcrest) (MPU4) (set 11)" ) +GAME_CUSTOM( 199?, m4topdog__k, m4topdog, "td_20bgc.7_1", 0x0000, 0x010000, CRC(8ce831d0) SHA1(e58ca3b38e8dc7196c27cf00123a6e7122bd7f58), "Bwb","Top Dog (Barcrest) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4topdog__l, m4topdog, "td_20bt4.7_1", 0x0000, 0x010000, CRC(2cdd5be2) SHA1(bc1afe70268eb7e3cb8fe1a43d262201faec0613), "Bwb","Top Dog (Barcrest) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4topdog__m, m4topdog, "td_20btc.7_1", 0x0000, 0x010000, CRC(67e96c75) SHA1(da9dd06f5d4773fa8e3945cf89cfdde4c465acb9), "Bwb","Top Dog (Barcrest) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4topdog__n, m4topdog, "td_25_bc.8_1", 0x0000, 0x010000, CRC(ac324184) SHA1(d6743c8cbbe719b12f47792a07ec2e898630591b), "Bwb","Top Dog (Barcrest) (MPU4) (set 15)" ) +GAME_CUSTOM( 199?, m4topdog__o, m4topdog, "td_25_dc.8_1", 0x0000, 0x010000, CRC(6ea8077c) SHA1(672976af1fad0257be7a15b839ec261653704be8), "Bwb","Top Dog (Barcrest) (MPU4) (set 16)" ) +GAME_CUSTOM( 199?, m4topdog__p, m4topdog, "td_25_kc.8_1", 0x0000, 0x010000, CRC(e006de48) SHA1(2c09e04d2dc3ec369c4c01eb1ff1af57156d05c1), "Bwb","Top Dog (Barcrest) (MPU4) (set 17)" ) +GAME_CUSTOM( 199?, m4topdog__q, m4topdog, "td_25a_c.8_1", 0x0000, 0x010000, CRC(84e54ba8) SHA1(dd09094854463f4b7033773be77d4a2d7f06b650), "Bwb","Top Dog (Barcrest) (MPU4) (set 18)" ) +GAME_CUSTOM( 199?, m4topdog__r, m4topdog, "td_25b_c.8_1", 0x0000, 0x010000, CRC(314f4f03) SHA1(a7c399ddf453305d0dbe2a63e57427b261c48c2c), "Bwb","Top Dog (Barcrest) (MPU4) (set 19)" ) +GAME_CUSTOM( 199?, m4topdog__s, m4topdog, "td_25bgc.8_1", 0x0000, 0x010000, CRC(efc0899c) SHA1(0d0e5a006d260a1bfcde7966c06360386c949f29), "Bwb","Top Dog (Barcrest) (MPU4) (set 20)" ) +GAME_CUSTOM( 199?, m4topdog__t, m4topdog, "td_25bgp.2_1", 0x0000, 0x010000, CRC(f0894f48) SHA1(63056dd434d18bb9a052db25cc6ce29d0c3f9f82), "Bwb","Top Dog (Barcrest) (MPU4) (set 21)" ) +GAME_CUSTOM( 199?, m4topdog__u, m4topdog, "td_25btc.8_1", 0x0000, 0x010000, CRC(f5dec7d9) SHA1(ffb361745aebb3c7d6bf4925d95904e8ced13a35), "Bwb","Top Dog (Barcrest) (MPU4) (set 22)" ) +GAME_CUSTOM( 199?, m4topdog__v, m4topdog, "td_30a_c.1_1", 0x0000, 0x010000, CRC(f0986895) SHA1(65c24de42a3009959c9bb7f5b42536aa6fd70c2b), "Bwb","Top Dog (Barcrest) (MPU4) (set 23)" ) +GAME_CUSTOM( 199?, m4topdog__w, m4topdog, "td_30b_c.1_1", 0x0000, 0x010000, CRC(7683cf72) SHA1(4319954b833ef6b0d88b8d22c5e700a9df96dc65), "Bwb","Top Dog (Barcrest) (MPU4) (set 24)" ) +GAME_CUSTOM( 199?, m4topdog__x, m4topdog, "td_30bdc.1_1", 0x0000, 0x010000, CRC(f5a4481b) SHA1(75b32b0996315b8ce833fd695377716dbeb0b7e4), "Bwb","Top Dog (Barcrest) (MPU4) (set 25)" ) +GAME_CUSTOM( 199?, m4topdog__y, m4topdog, "td_30bgc.1_1", 0x0000, 0x010000, CRC(1ffe440f) SHA1(adc1909fbbfe7e63bb89b29878bda5a6df776a6a), "Bwb","Top Dog (Barcrest) (MPU4) (set 26)" ) +GAME_CUSTOM( 199?, m4topdog__z, m4topdog, "td_30btc.1_1", 0x0000, 0x010000, CRC(5109516c) SHA1(a4919465286be9e1f0e7970a91a89738f8fcad4e), "Bwb","Top Dog (Barcrest) (MPU4) (set 27)" ) #define M4KINGQ_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ @@ -4788,26 +4884,26 @@ GAME_CUSTOM( 199?, m4topdog__z, m4topdog, "td_30btc.1_1", 0x0000, 0x010000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4kingq, 0, "ee_05a_4.2_1", 0x0000, 0x010000, CRC(8dd842b6) SHA1(1c1bcaae355ceee4d7b1572b0fa1a8b23a8afdbf), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4kingq__a, m4kingq, "ee_05a__.2_1", 0x0000, 0x010000, CRC(36aa5fb9) SHA1(b4aaf647713e33e79be7927e5eeef240d3beedf7), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4kingq__b, m4kingq, "ee_20a__.2_1", 0x0000, 0x010000, CRC(2c61341f) SHA1(76d68ae2a44087414be8be12b3824c62311721dd), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4kingq__c, m4kingq, "ee_20a_c.1_1", 0x0000, 0x010000, CRC(948140ac) SHA1(d43f1f2903ecd809dee191087fa075c638728a5b), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4kingq__d, m4kingq, "ee_20b__.2_1", 0x0000, 0x010000, CRC(2fc7c7c2) SHA1(3b8736a582009d7b1455769374342ff72026d2fa), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4kingq__e, m4kingq, "ee_20b_c.1_1", 0x0000, 0x010000, CRC(70d399ab) SHA1(ca2c593151f4f852c7cb66859a12e832e53cd31f), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4kingq__f, m4kingq, "ee_20bd_.2_1", 0x0000, 0x010000, CRC(239de2dd) SHA1(c8021ba5bfdc10f59fec27c364035225093328d8), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4kingq__g, m4kingq, "ee_20bdc.1_1", 0x0000, 0x010000, CRC(cbb8c57b) SHA1(ea165199213f95128aec95ae40799faa8c457dd3), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4kingq__h, m4kingq, "ee_20bg_.2_1", 0x0000, 0x010000, CRC(ddc4d832) SHA1(031f987e9fced1df4acc57eb4b60911d52e1dbf6), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4kingq__i, m4kingq, "ee_20bt_.2_1", 0x0000, 0x010000, CRC(6f278771) SHA1(4459c9490be14bcbc139eebe6542325c80937ff3), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4kingq__j, m4kingq, "ee_20s_c.1_1", 0x0000, 0x010000, CRC(a0c1e313) SHA1(8a088a33e51a31ff0abdb554aa4d8ce61eaf4b7d), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4kingq__k, m4kingq, "ee_20sb_.2_1", 0x0000, 0x010000, CRC(307ad157) SHA1(32b6187e907bfbdb87a9ad2d9ca5870b09de5e4a), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4kingq__l, m4kingq, "ee_25a_c.3_1", 0x0000, 0x010000, CRC(4dc25083) SHA1(b754b4003f73bd74d1670a36a70985ce5e48794d), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4kingq__m, m4kingq, "ee_25b_c.3_1", 0x0000, 0x010000, CRC(a6fe50ff) SHA1(011602d9624f232ba8484e57f5f33ff06091809f), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4kingq__n, m4kingq, "ee_25bdc.3_1", 0x0000, 0x010000, CRC(d0088a97) SHA1(aacc1a86bd4b321d0ee21d14147e1d135b3a5bae), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4kingq__o, m4kingq, "ee_25bgc.3_1", 0x0000, 0x010000, CRC(e4dcd86b) SHA1(b8f8ec317bf9f18e3d0ae9a9fd59349fee24530d), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4kingq__p, m4kingq, "ee_25btc.3_1", 0x0000, 0x010000, CRC(8f44347a) SHA1(09815a6e1d3a91cd2e69578bbcfef3203ddb33d6), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4kingq__r, m4kingq, "ee_25sbc.3_1", 0x0000, 0x010000, CRC(0f4bdd7c) SHA1(5c5cb3a9d6a96afc6e29149d2a8adf19aae0bc41), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4kingq__s, m4kingq, "eei20___.2_1", 0x0000, 0x010000, CRC(15f4b869) SHA1(5be6f660321cb47900dda986ef44eb5c1c324013), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4kingq__t, m4kingq, "knq2pprg.bin", 0x0000, 0x010000, CRC(23b22f79) SHA1(3d8b9cbffb9b427897548981ddacf724215336a4), "Barcrest / Bwb","Kings & Queens (Barcrest) (MPU4) (set 20)" ) +GAME_CUSTOM( 199?, m4kingq, 0, "ee_05a_4.2_1", 0x0000, 0x010000, CRC(8dd842b6) SHA1(1c1bcaae355ceee4d7b1572b0fa1a8b23a8afdbf), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4kingq__a, m4kingq, "ee_05a__.2_1", 0x0000, 0x010000, CRC(36aa5fb9) SHA1(b4aaf647713e33e79be7927e5eeef240d3beedf7), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4kingq__b, m4kingq, "ee_20a__.2_1", 0x0000, 0x010000, CRC(2c61341f) SHA1(76d68ae2a44087414be8be12b3824c62311721dd), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4kingq__c, m4kingq, "ee_20a_c.1_1", 0x0000, 0x010000, CRC(948140ac) SHA1(d43f1f2903ecd809dee191087fa075c638728a5b), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4kingq__d, m4kingq, "ee_20b__.2_1", 0x0000, 0x010000, CRC(2fc7c7c2) SHA1(3b8736a582009d7b1455769374342ff72026d2fa), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4kingq__e, m4kingq, "ee_20b_c.1_1", 0x0000, 0x010000, CRC(70d399ab) SHA1(ca2c593151f4f852c7cb66859a12e832e53cd31f), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 6)" ) +GAME_CUSTOM( 199?, m4kingq__f, m4kingq, "ee_20bd_.2_1", 0x0000, 0x010000, CRC(239de2dd) SHA1(c8021ba5bfdc10f59fec27c364035225093328d8), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4kingq__g, m4kingq, "ee_20bdc.1_1", 0x0000, 0x010000, CRC(cbb8c57b) SHA1(ea165199213f95128aec95ae40799faa8c457dd3), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 8)" ) +GAME_CUSTOM( 199?, m4kingq__h, m4kingq, "ee_20bg_.2_1", 0x0000, 0x010000, CRC(ddc4d832) SHA1(031f987e9fced1df4acc57eb4b60911d52e1dbf6), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 9)" ) +GAME_CUSTOM( 199?, m4kingq__i, m4kingq, "ee_20bt_.2_1", 0x0000, 0x010000, CRC(6f278771) SHA1(4459c9490be14bcbc139eebe6542325c80937ff3), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 10)" ) +GAME_CUSTOM( 199?, m4kingq__j, m4kingq, "ee_20s_c.1_1", 0x0000, 0x010000, CRC(a0c1e313) SHA1(8a088a33e51a31ff0abdb554aa4d8ce61eaf4b7d), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 11)" ) +GAME_CUSTOM( 199?, m4kingq__k, m4kingq, "ee_20sb_.2_1", 0x0000, 0x010000, CRC(307ad157) SHA1(32b6187e907bfbdb87a9ad2d9ca5870b09de5e4a), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4kingq__l, m4kingq, "ee_25a_c.3_1", 0x0000, 0x010000, CRC(4dc25083) SHA1(b754b4003f73bd74d1670a36a70985ce5e48794d), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4kingq__m, m4kingq, "ee_25b_c.3_1", 0x0000, 0x010000, CRC(a6fe50ff) SHA1(011602d9624f232ba8484e57f5f33ff06091809f), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4kingq__n, m4kingq, "ee_25bdc.3_1", 0x0000, 0x010000, CRC(d0088a97) SHA1(aacc1a86bd4b321d0ee21d14147e1d135b3a5bae), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 15)" ) +GAME_CUSTOM( 199?, m4kingq__o, m4kingq, "ee_25bgc.3_1", 0x0000, 0x010000, CRC(e4dcd86b) SHA1(b8f8ec317bf9f18e3d0ae9a9fd59349fee24530d), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 16)" ) +GAME_CUSTOM( 199?, m4kingq__p, m4kingq, "ee_25btc.3_1", 0x0000, 0x010000, CRC(8f44347a) SHA1(09815a6e1d3a91cd2e69578bbcfef3203ddb33d6), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 17)" ) +GAME_CUSTOM( 199?, m4kingq__r, m4kingq, "ee_25sbc.3_1", 0x0000, 0x010000, CRC(0f4bdd7c) SHA1(5c5cb3a9d6a96afc6e29149d2a8adf19aae0bc41), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 18)" ) +GAME_CUSTOM( 199?, m4kingq__s, m4kingq, "eei20___.2_1", 0x0000, 0x010000, CRC(15f4b869) SHA1(5be6f660321cb47900dda986ef44eb5c1c324013), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 19)" ) +GAME_CUSTOM( 199?, m4kingq__t, m4kingq, "knq2pprg.bin", 0x0000, 0x010000, CRC(23b22f79) SHA1(3d8b9cbffb9b427897548981ddacf724215336a4), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 20)" ) #define M4KINGQC_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ @@ -4823,37 +4919,37 @@ GAME_CUSTOM( 199?, m4kingq__t, m4kingq, "knq2pprg.bin", 0x0000, 0x010000, CR ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4kingqc, 0, "cn_20_b4.6_1", 0x0000, 0x010000, CRC(22d0b20c) SHA1(a7a4f60017cf62247339c9b23420d29845657895), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4kingqc__a, m4kingqc, "cn_20_bc.3_1", 0x0000, 0x010000, CRC(dfb0eb80) SHA1(ad973125681db0aae8ef1cf57b1c280e7f0e5803), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4kingqc__b, m4kingqc, "cn_20_dc.3_1", 0x0000, 0x010000, CRC(56e919ad) SHA1(c3c6f522574b287f7ed4dc4d1d8a32f68369dd5c), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4kingqc__c, m4kingqc, "cn_20a_c.2_1", 0x0000, 0x010000, CRC(0df15fd9) SHA1(e7c5e2277aac1c71d27710ea71d09d1005c5b8f9), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4kingqc__d, m4kingqc, "cn_20a_c.3_1", 0x0000, 0x010000, CRC(68e1dcef) SHA1(a0b15344b900226052633703e935c0ec0f718936), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4kingqc__e, m4kingqc, "cn_20a_c.5_1", 0x0000, 0x010000, CRC(4975d39e) SHA1(243b8af1a12c3538e826bfd5f6feb6927c1467b0), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4kingqc__f, m4kingqc, "cn_20b_c.2_1", 0x0000, 0x010000, CRC(66e074f3) SHA1(1f5381a41dd1402ee344e228635b35521e9377c8), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4kingqc__g, m4kingqc, "cn_20b_c.3_1", 0x0000, 0x010000, CRC(bcae86c9) SHA1(f03b136d82fe7b93350f0ca5dc36e78e98aecfa9), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4kingqc__h, m4kingqc, "cn_20b_c.5_1", 0x0000, 0x010000, CRC(6a19d734) SHA1(e0d5f5020e7997d3927b42336ab18757bd9f1ed0), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4kingqc__i, m4kingqc, "cn_20bg4.6_1", 0x0000, 0x010000, CRC(6d4158fe) SHA1(9c12264a415601d6f28f23c1e1f6a3d97fadddba), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4kingqc__j, m4kingqc, "cn_20bgc.3_1", 0x0000, 0x010000, CRC(3ecc1bf3) SHA1(fb191749f920aa4ac0d9809c6c59b695afdf6594), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4kingqc__k, m4kingqc, "cn_20bgc.5_1", 0x0000, 0x010000, CRC(24743f7e) SHA1(c90d95df2357bc00aba2bb21c0c77082b8c32463), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4kingqc__l, m4kingqc, "cn_20btc.2_1", 0x0000, 0x010000, CRC(b8f0ade0) SHA1(5b5344f799b27833f6456ae852eb5085afb3dbe5), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4kingqc__m, m4kingqc, "cn_20btc.3_1", 0x0000, 0x010000, CRC(b92f3787) SHA1(7efd815cf1a9a738ffae2c3ce19149f47d465c72), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4kingqc__n, m4kingqc, "cn_20btc.5_1", 0x0000, 0x010000, CRC(e2b8baf0) SHA1(23e966a6cc94c26903bfe943160a327529d7e21b), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4kingqc__q, m4kingqc, "cn_20sbc.5_1", 0x0000, 0x010000, CRC(8b49bf8c) SHA1(2c6835e343e7cdcc197c0105e13cc4f6ddd3f0d3), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4kingqc__r, m4kingqc, "cn_25_bc.2_1", 0x0000, 0x010000, CRC(3e2b2d7b) SHA1(9a68cf4902ca210e8fb52a35b4c507708c7f6d2a), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4kingqc__s, m4kingqc, "cn_25_dc.2_1", 0x0000, 0x010000, CRC(eb384ef6) SHA1(489c59d8e1e6296ec2b05fb0aa307c48f3486aa2), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4kingqc__t, m4kingqc, "cn_25_kc.2_1", 0x0000, 0x010000, CRC(bd11e742) SHA1(0c3b290e3010bc3f904f9087ee89efe63072b8c3), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4kingqc__u, m4kingqc, "cn_25a_c.2_1", 0x0000, 0x010000, CRC(1994efd5) SHA1(d7c3d692737138b30244d2d51eb535b88c87e401), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4kingqc__v, m4kingqc, "cn_25b_c.2_1", 0x0000, 0x010000, CRC(24255989) SHA1(017d0dc811b5c82d5b8785022169929c94f3f18a), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4kingqc__w, m4kingqc, "cn_25bdc.2_1", 0x0000, 0x010000, CRC(503ccd3c) SHA1(936b77b33373624e6bd80d168bcd48dc2ebcb2fe), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4kingqc__x, m4kingqc, "cn_25bgc.2a1", 0x0000, 0x010000, CRC(89e2130d) SHA1(22f97030e6f4cb94f62215a0c653d170ba3e0efd), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4kingqc__y, m4kingqc, "cn_25btc.2_1", 0x0000, 0x010000, CRC(876bc126) SHA1(debe36a082493cdeba26a0808f205a19e9e897d5), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4kingqc__z, m4kingqc, "cn_25s_c.1_1", 0x0000, 0x010000, CRC(84d1a32b) SHA1(f6e76a2bf1bd7b31eb360dea8b453d235c365e64), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4kingqc__0, m4kingqc, "cn_25sbc.1_1", 0x0000, 0x010000, CRC(e53b672c) SHA1(2aea2a243817857df31b6f7b767e380bd003fafa), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4kingqc__1, m4kingqc, "cn_30_dc.1_1", 0x0000, 0x010000, CRC(aeb21904) SHA1(32bd505e738b8826c6ab138f30831b7a53b700cf), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4kingqc__2, m4kingqc, "cn_30a_c.1_1", 0x0000, 0x010000, CRC(be7aed91) SHA1(7dac1281bbc9da8924657b13ec4aa86aa6ff9de4), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4kingqc__3, m4kingqc, "cn_30b_c.1_1", 0x0000, 0x010000, CRC(232c87ec) SHA1(2c2bf1c273ab88c0ab27a672d53cd6184a24a8d1), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4kingqc__4, m4kingqc, "cn_30bgc.1_1", 0x0000, 0x010000, CRC(40afaa86) SHA1(edb8f55abf66e3e1cc7e353c520a93fc42073585), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 30)" ) -GAME_CUSTOM( 199?, m4kingqc__5, m4kingqc, "cn_30btc.1_1", 0x0000, 0x010000, CRC(1920cc67) SHA1(55a3ad78d68d635faff98390e2feeea29dd10664), "Barcrest / Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 31)" ) +GAME_CUSTOM( 199?, m4kingqc, 0, "cn_20_b4.6_1", 0x0000, 0x010000, CRC(22d0b20c) SHA1(a7a4f60017cf62247339c9b23420d29845657895), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4kingqc__a, m4kingqc, "cn_20_bc.3_1", 0x0000, 0x010000, CRC(dfb0eb80) SHA1(ad973125681db0aae8ef1cf57b1c280e7f0e5803), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4kingqc__b, m4kingqc, "cn_20_dc.3_1", 0x0000, 0x010000, CRC(56e919ad) SHA1(c3c6f522574b287f7ed4dc4d1d8a32f68369dd5c), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4kingqc__c, m4kingqc, "cn_20a_c.2_1", 0x0000, 0x010000, CRC(0df15fd9) SHA1(e7c5e2277aac1c71d27710ea71d09d1005c5b8f9), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4kingqc__d, m4kingqc, "cn_20a_c.3_1", 0x0000, 0x010000, CRC(68e1dcef) SHA1(a0b15344b900226052633703e935c0ec0f718936), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4kingqc__e, m4kingqc, "cn_20a_c.5_1", 0x0000, 0x010000, CRC(4975d39e) SHA1(243b8af1a12c3538e826bfd5f6feb6927c1467b0), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 6)" ) +GAME_CUSTOM( 199?, m4kingqc__f, m4kingqc, "cn_20b_c.2_1", 0x0000, 0x010000, CRC(66e074f3) SHA1(1f5381a41dd1402ee344e228635b35521e9377c8), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4kingqc__g, m4kingqc, "cn_20b_c.3_1", 0x0000, 0x010000, CRC(bcae86c9) SHA1(f03b136d82fe7b93350f0ca5dc36e78e98aecfa9), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 8)" ) +GAME_CUSTOM( 199?, m4kingqc__h, m4kingqc, "cn_20b_c.5_1", 0x0000, 0x010000, CRC(6a19d734) SHA1(e0d5f5020e7997d3927b42336ab18757bd9f1ed0), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 9)" ) +GAME_CUSTOM( 199?, m4kingqc__i, m4kingqc, "cn_20bg4.6_1", 0x0000, 0x010000, CRC(6d4158fe) SHA1(9c12264a415601d6f28f23c1e1f6a3d97fadddba), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 10)" ) +GAME_CUSTOM( 199?, m4kingqc__j, m4kingqc, "cn_20bgc.3_1", 0x0000, 0x010000, CRC(3ecc1bf3) SHA1(fb191749f920aa4ac0d9809c6c59b695afdf6594), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 11)" ) +GAME_CUSTOM( 199?, m4kingqc__k, m4kingqc, "cn_20bgc.5_1", 0x0000, 0x010000, CRC(24743f7e) SHA1(c90d95df2357bc00aba2bb21c0c77082b8c32463), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4kingqc__l, m4kingqc, "cn_20btc.2_1", 0x0000, 0x010000, CRC(b8f0ade0) SHA1(5b5344f799b27833f6456ae852eb5085afb3dbe5), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4kingqc__m, m4kingqc, "cn_20btc.3_1", 0x0000, 0x010000, CRC(b92f3787) SHA1(7efd815cf1a9a738ffae2c3ce19149f47d465c72), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4kingqc__n, m4kingqc, "cn_20btc.5_1", 0x0000, 0x010000, CRC(e2b8baf0) SHA1(23e966a6cc94c26903bfe943160a327529d7e21b), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 15)" ) +GAME_CUSTOM( 199?, m4kingqc__q, m4kingqc, "cn_20sbc.5_1", 0x0000, 0x010000, CRC(8b49bf8c) SHA1(2c6835e343e7cdcc197c0105e13cc4f6ddd3f0d3), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 16)" ) +GAME_CUSTOM( 199?, m4kingqc__r, m4kingqc, "cn_25_bc.2_1", 0x0000, 0x010000, CRC(3e2b2d7b) SHA1(9a68cf4902ca210e8fb52a35b4c507708c7f6d2a), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 17)" ) +GAME_CUSTOM( 199?, m4kingqc__s, m4kingqc, "cn_25_dc.2_1", 0x0000, 0x010000, CRC(eb384ef6) SHA1(489c59d8e1e6296ec2b05fb0aa307c48f3486aa2), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 18)" ) +GAME_CUSTOM( 199?, m4kingqc__t, m4kingqc, "cn_25_kc.2_1", 0x0000, 0x010000, CRC(bd11e742) SHA1(0c3b290e3010bc3f904f9087ee89efe63072b8c3), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 19)" ) +GAME_CUSTOM( 199?, m4kingqc__u, m4kingqc, "cn_25a_c.2_1", 0x0000, 0x010000, CRC(1994efd5) SHA1(d7c3d692737138b30244d2d51eb535b88c87e401), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 20)" ) +GAME_CUSTOM( 199?, m4kingqc__v, m4kingqc, "cn_25b_c.2_1", 0x0000, 0x010000, CRC(24255989) SHA1(017d0dc811b5c82d5b8785022169929c94f3f18a), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 21)" ) +GAME_CUSTOM( 199?, m4kingqc__w, m4kingqc, "cn_25bdc.2_1", 0x0000, 0x010000, CRC(503ccd3c) SHA1(936b77b33373624e6bd80d168bcd48dc2ebcb2fe), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 22)" ) +GAME_CUSTOM( 199?, m4kingqc__x, m4kingqc, "cn_25bgc.2a1", 0x0000, 0x010000, CRC(89e2130d) SHA1(22f97030e6f4cb94f62215a0c653d170ba3e0efd), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 23)" ) +GAME_CUSTOM( 199?, m4kingqc__y, m4kingqc, "cn_25btc.2_1", 0x0000, 0x010000, CRC(876bc126) SHA1(debe36a082493cdeba26a0808f205a19e9e897d5), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 24)" ) +GAME_CUSTOM( 199?, m4kingqc__z, m4kingqc, "cn_25s_c.1_1", 0x0000, 0x010000, CRC(84d1a32b) SHA1(f6e76a2bf1bd7b31eb360dea8b453d235c365e64), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 25)" ) +GAME_CUSTOM( 199?, m4kingqc__0, m4kingqc, "cn_25sbc.1_1", 0x0000, 0x010000, CRC(e53b672c) SHA1(2aea2a243817857df31b6f7b767e380bd003fafa), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 26)" ) +GAME_CUSTOM( 199?, m4kingqc__1, m4kingqc, "cn_30_dc.1_1", 0x0000, 0x010000, CRC(aeb21904) SHA1(32bd505e738b8826c6ab138f30831b7a53b700cf), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 27)" ) +GAME_CUSTOM( 199?, m4kingqc__2, m4kingqc, "cn_30a_c.1_1", 0x0000, 0x010000, CRC(be7aed91) SHA1(7dac1281bbc9da8924657b13ec4aa86aa6ff9de4), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 28)" ) +GAME_CUSTOM( 199?, m4kingqc__3, m4kingqc, "cn_30b_c.1_1", 0x0000, 0x010000, CRC(232c87ec) SHA1(2c2bf1c273ab88c0ab27a672d53cd6184a24a8d1), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 29)" ) +GAME_CUSTOM( 199?, m4kingqc__4, m4kingqc, "cn_30bgc.1_1", 0x0000, 0x010000, CRC(40afaa86) SHA1(edb8f55abf66e3e1cc7e353c520a93fc42073585), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 30)" ) +GAME_CUSTOM( 199?, m4kingqc__5, m4kingqc, "cn_30btc.1_1", 0x0000, 0x010000, CRC(1920cc67) SHA1(55a3ad78d68d635faff98390e2feeea29dd10664), "Bwb","Kings & Queens Classic (Barcrest) (MPU4) (set 31)" ) #define M4TYPCL_EXTRA_ROMS \ ROM_REGION( 0x48, "fakechr", 0 ) \ @@ -4871,11 +4967,13 @@ GAME_CUSTOM( 199?, m4kingqc__5, m4kingqc, "cn_30btc.1_1", 0x0000, 0x010000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4typcl, 0, "ctp12s.p1", 0x0000, 0x020000, CRC(5f0bbd2a) SHA1(ba1fa09ea7b4713a99b2033bdbbf6b15f973dcca), "Barcrest","Take Your Pick Club (Barcrest) (MPU4) (set 1)" ) +// "(C)1996 BARCREST" and "CTP 1.2" +GAME_CUSTOM( 199?, m4typcl, 0, "ctp12s.p1", 0x0000, 0x020000, CRC(5f0bbd2a) SHA1(ba1fa09ea7b4713a99b2033bdbbf6b15f973dcca), "Barcrest","Take Your Pick Club (Barcrest) (MPU4) (CTP 1.2)" ) GAME_CUSTOM( 199?, m4typcl__a, m4typcl, "ctp13d.p1", 0x0000, 0x020000, CRC(a0f081b9) SHA1(794bba6ed86c3f332165c4b3224315256c939926), "Barcrest","Take Your Pick Club (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4typcl__b, m4typcl, "ctp13f.p1", 0x0000, 0x020000, CRC(dd7d94fd) SHA1(127ef8159facf647dff37109bcbb94311a8343f1), "Barcrest","Take Your Pick Club (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4typcl__c, m4typcl, "ctp13s.p1", 0x0000, 0x020000, CRC(f0a69f92) SHA1(cd34fb26ecbe6a6e8602a8549c5f331a525567df), "Barcrest","Take Your Pick Club (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4typcl__d, m4typcl, "ntp02.p1", 0x0000, 0x020000, CRC(6063e27d) SHA1(c99599fbc7146d8fcf62432994098dd51250b17b), "Barcrest","Take Your Pick Club (Barcrest) (MPU4) (set 5)" ) +// "(C)1996 BARCREST" and "NTP 0.2" +GAME_CUSTOM( 199?, m4typcl__d, m4typcl, "ntp02.p1", 0x0000, 0x020000, CRC(6063e27d) SHA1(c99599fbc7146d8fcf62432994098dd51250b17b), "Barcrest","Take Your Pick Club (Barcrest) (MPU4) (NTP 0.2)" ) #define M4ANDYBT_EXTRA_ROMS \ @@ -4893,10 +4991,12 @@ GAME_CUSTOM( 199?, m4typcl__d, m4typcl, "ntp02.p1", 0x0000, 0x020000, CR ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4andybt, 0, "abt18d.p1", 0x0000, 0x020000, CRC(77874578) SHA1(455964614b67af14f5baa5883e1076e986de9e9c), "Barcrest","Andy's Big Time Club (Barcrest) (MPU4) (set 1)" ) +// "(C)1991 BARCREST" and "ABT 1.8" +GAME_CUSTOM( 199?, m4andybt, 0, "abt18s.p1", 0x0000, 0x020000, CRC(625263e4) SHA1(23fa0547164cc1f9b7c6cd26e06b0d779bf0329d), "Barcrest","Andy's Big Time Club (Barcrest) (MPU4) (ABT 1.8)" ) +GAME_CUSTOM( 199?, m4andybt__b, m4andybt, "abt18d.p1", 0x0000, 0x020000, CRC(77874578) SHA1(455964614b67af14f5baa5883e1076e986de9e9c), "Barcrest","Andy's Big Time Club (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4andybt__a, m4andybt, "abt18f.p1", 0x0000, 0x020000, CRC(cdd756af) SHA1(b1bb851ad2a2ba631e13509a476fe60cb8a24e69), "Barcrest","Andy's Big Time Club (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4andybt__b, m4andybt, "abt18s.p1", 0x0000, 0x020000, CRC(625263e4) SHA1(23fa0547164cc1f9b7c6cd26e06b0d779bf0329d), "Barcrest","Andy's Big Time Club (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4andybt__c, m4andybt, "abt1.5", 0x0000, 0x020000, CRC(05303209) SHA1(6a9eba19e7138ede122ec04c062556763b80f6c0), "Barcrest","Andy's Big Time Club (Barcrest) (MPU4) (set 4)" ) +// "(C)1991 BARCREST" and "ABT 1.5" +GAME_CUSTOM( 199?, m4andybt__c, m4andybt, "abt1.5", 0x0000, 0x020000, CRC(05303209) SHA1(6a9eba19e7138ede122ec04c062556763b80f6c0), "Barcrest","Andy's Big Time Club (Barcrest) (MPU4) (ABT 1.5)" ) #define M4THESTR_EXTRA_ROMS \ @@ -4912,32 +5012,32 @@ GAME_CUSTOM( 199?, m4andybt__c, m4andybt, "abt1.5", 0x0000, 0x020000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4thestr, 0, "thestreakbin", 0x0000, 0x010000, CRC(cb79f9e5) SHA1(6cbdc5327e81b51f1060fd91efa3d061b9748b49), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4thestr__a, m4thestr, "ts_20_b4.3_1", 0x0000, 0x010000, CRC(17726c7c) SHA1(193b572b9f859f1018f1be398b35a5103622faf8), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4thestr__b, m4thestr, "ts_20_bc.3_1", 0x0000, 0x010000, CRC(b03b3f11) SHA1(9116ac608ab5574d5912550b988fc319d0a38444), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4thestr__c, m4thestr, "ts_20_d4.3_1", 0x0000, 0x010000, CRC(7bfae07a) SHA1(9414ad510ca9a183181a30d98858278c375c185d), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4thestr__d, m4thestr, "ts_20_dc.3_1", 0x0000, 0x010000, CRC(7196b317) SHA1(c124ed3d030b77870b7851b3da104f8fc5393a31), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4thestr__e, m4thestr, "ts_20a_4.3_1", 0x0000, 0x010000, CRC(921b8cc3) SHA1(74143888de21aba4374d016cb4c08ae59dfa59ef), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4thestr__f, m4thestr, "ts_20a_c.3_1", 0x0000, 0x010000, CRC(c8eb1dd9) SHA1(7b7520467cd32295e6324d350d1f2bed829555e0), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4thestr__g, m4thestr, "ts_20b_4.3_1", 0x0000, 0x010000, CRC(2221f704) SHA1(8459b658d3ad84bb86250518d0403970f881323d), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4thestr__h, m4thestr, "ts_20b_c.3_1", 0x0000, 0x010000, CRC(ecdf59a9) SHA1(7c2141e336ba3f1865bbf422aaa0b78cb1a27a4c), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4thestr__i, m4thestr, "ts_20bg4.3_1", 0x0000, 0x010000, CRC(b2a419ea) SHA1(bbc565ce8e79d39e1b1a7cd1685fa8c7ce00d7b9), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4thestr__j, m4thestr, "ts_20bgc.3_1", 0x0000, 0x010000, CRC(3b2d7b50) SHA1(a8560b0894783a398aaf0510493583b8cb826947), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4thestr__k, m4thestr, "ts_20bt4.3_1", 0x0000, 0x010000, CRC(d10a6c5a) SHA1(07fdf3797c87e35468ef859bb67753f11c5fbded), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4thestr__l, m4thestr, "ts_20btc.3_1", 0x0000, 0x010000, CRC(58830ee0) SHA1(b2798e0f8e03870c77892a32654263575e9aaafa), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4thestr__m, m4thestr, "ts_25_bc.3_1", 0x0000, 0x010000, CRC(43877de6) SHA1(b006ae97139c9bd66a32884b92fdbdf4f10db58a), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4thestr__n, m4thestr, "ts_25_dc.3_1", 0x0000, 0x010000, CRC(60ab675c) SHA1(763b66d7731489abdec84d2f8e3c186ad95c7349), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4thestr__o, m4thestr, "ts_25_kc.3_1", 0x0000, 0x010000, CRC(418cbb32) SHA1(e19a0c7fd88a82983ec33b99f3819a2a238c68a5), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4thestr__p, m4thestr, "ts_25a_c.3_1", 0x0000, 0x010000, CRC(448a705f) SHA1(35a7cc480c376eaef7439d5c96cec490aec9fc4b), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4thestr__q, m4thestr, "ts_25b_c.3_1", 0x0000, 0x010000, CRC(5b390ec2) SHA1(db7719ab8021e0b75e9419d2a05f3139fbab8e61), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4thestr__r, m4thestr, "ts_25bgc.3_1", 0x0000, 0x010000, CRC(612463fc) SHA1(085d8faf91c8ef6520ca971d249322f336464856), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4thestr__s, m4thestr, "ts_25btc.3_1", 0x0000, 0x010000, CRC(6d658e61) SHA1(619dbacad424e5db82c6ee19d1e3358c18cfe783), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4thestr__t, m4thestr, "ts_30a_c.1_1", 0x0000, 0x010000, CRC(8636e700) SHA1(f11c20da6c3bfe1842ea8f9eac8c831d49f42c32), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4thestr__u, m4thestr, "ts_30b_c.1_1", 0x0000, 0x010000, CRC(2577c8fc) SHA1(6d22bd1a93f423862f5466f99690eeced9090420), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4thestr__v, m4thestr, "ts_30bgc.1_1", 0x0000, 0x010000, CRC(2c582ba6) SHA1(dbcae0ef90105a7f6c720156711f73bb3c237b8a), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4thestr__w, m4thestr, "ts_39_dc.1_1", 0x0000, 0x010000, CRC(84d338b8) SHA1(847e6b7808b6d5d361414a4aaa5d5cf6a5863a70), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4thestr__x, m4thestr, "ts_39a_c.1_1", 0x0000, 0x010000, CRC(9ee56a3a) SHA1(365ec4c90abbe4b352bdd2d6aed5eec4cdaf35ff), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4thestr__y, m4thestr, "ts_39b_c.1_1", 0x0000, 0x010000, CRC(470cd6d1) SHA1(c9c3c9c23c596e79f1b6495d4706b1da6cbd1b2e), "Barcrest / Bwb","The Streak (Barcrest) (MPU4) (set 26)" ) +GAME_CUSTOM( 199?, m4thestr, 0, "thestreakbin", 0x0000, 0x010000, CRC(cb79f9e5) SHA1(6cbdc5327e81b51f1060fd91efa3d061b9748b49), "Bwb","The Streak (Barcrest) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4thestr__a, m4thestr, "ts_20_b4.3_1", 0x0000, 0x010000, CRC(17726c7c) SHA1(193b572b9f859f1018f1be398b35a5103622faf8), "Bwb","The Streak (Barcrest) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4thestr__b, m4thestr, "ts_20_bc.3_1", 0x0000, 0x010000, CRC(b03b3f11) SHA1(9116ac608ab5574d5912550b988fc319d0a38444), "Bwb","The Streak (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4thestr__c, m4thestr, "ts_20_d4.3_1", 0x0000, 0x010000, CRC(7bfae07a) SHA1(9414ad510ca9a183181a30d98858278c375c185d), "Bwb","The Streak (Barcrest) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4thestr__d, m4thestr, "ts_20_dc.3_1", 0x0000, 0x010000, CRC(7196b317) SHA1(c124ed3d030b77870b7851b3da104f8fc5393a31), "Bwb","The Streak (Barcrest) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4thestr__e, m4thestr, "ts_20a_4.3_1", 0x0000, 0x010000, CRC(921b8cc3) SHA1(74143888de21aba4374d016cb4c08ae59dfa59ef), "Bwb","The Streak (Barcrest) (MPU4) (set 6)" ) +GAME_CUSTOM( 199?, m4thestr__f, m4thestr, "ts_20a_c.3_1", 0x0000, 0x010000, CRC(c8eb1dd9) SHA1(7b7520467cd32295e6324d350d1f2bed829555e0), "Bwb","The Streak (Barcrest) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4thestr__g, m4thestr, "ts_20b_4.3_1", 0x0000, 0x010000, CRC(2221f704) SHA1(8459b658d3ad84bb86250518d0403970f881323d), "Bwb","The Streak (Barcrest) (MPU4) (set 8)" ) +GAME_CUSTOM( 199?, m4thestr__h, m4thestr, "ts_20b_c.3_1", 0x0000, 0x010000, CRC(ecdf59a9) SHA1(7c2141e336ba3f1865bbf422aaa0b78cb1a27a4c), "Bwb","The Streak (Barcrest) (MPU4) (set 9)" ) +GAME_CUSTOM( 199?, m4thestr__i, m4thestr, "ts_20bg4.3_1", 0x0000, 0x010000, CRC(b2a419ea) SHA1(bbc565ce8e79d39e1b1a7cd1685fa8c7ce00d7b9), "Bwb","The Streak (Barcrest) (MPU4) (set 10)" ) +GAME_CUSTOM( 199?, m4thestr__j, m4thestr, "ts_20bgc.3_1", 0x0000, 0x010000, CRC(3b2d7b50) SHA1(a8560b0894783a398aaf0510493583b8cb826947), "Bwb","The Streak (Barcrest) (MPU4) (set 11)" ) +GAME_CUSTOM( 199?, m4thestr__k, m4thestr, "ts_20bt4.3_1", 0x0000, 0x010000, CRC(d10a6c5a) SHA1(07fdf3797c87e35468ef859bb67753f11c5fbded), "Bwb","The Streak (Barcrest) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4thestr__l, m4thestr, "ts_20btc.3_1", 0x0000, 0x010000, CRC(58830ee0) SHA1(b2798e0f8e03870c77892a32654263575e9aaafa), "Bwb","The Streak (Barcrest) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4thestr__m, m4thestr, "ts_25_bc.3_1", 0x0000, 0x010000, CRC(43877de6) SHA1(b006ae97139c9bd66a32884b92fdbdf4f10db58a), "Bwb","The Streak (Barcrest) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4thestr__n, m4thestr, "ts_25_dc.3_1", 0x0000, 0x010000, CRC(60ab675c) SHA1(763b66d7731489abdec84d2f8e3c186ad95c7349), "Bwb","The Streak (Barcrest) (MPU4) (set 15)" ) +GAME_CUSTOM( 199?, m4thestr__o, m4thestr, "ts_25_kc.3_1", 0x0000, 0x010000, CRC(418cbb32) SHA1(e19a0c7fd88a82983ec33b99f3819a2a238c68a5), "Bwb","The Streak (Barcrest) (MPU4) (set 16)" ) +GAME_CUSTOM( 199?, m4thestr__p, m4thestr, "ts_25a_c.3_1", 0x0000, 0x010000, CRC(448a705f) SHA1(35a7cc480c376eaef7439d5c96cec490aec9fc4b), "Bwb","The Streak (Barcrest) (MPU4) (set 17)" ) +GAME_CUSTOM( 199?, m4thestr__q, m4thestr, "ts_25b_c.3_1", 0x0000, 0x010000, CRC(5b390ec2) SHA1(db7719ab8021e0b75e9419d2a05f3139fbab8e61), "Bwb","The Streak (Barcrest) (MPU4) (set 18)" ) +GAME_CUSTOM( 199?, m4thestr__r, m4thestr, "ts_25bgc.3_1", 0x0000, 0x010000, CRC(612463fc) SHA1(085d8faf91c8ef6520ca971d249322f336464856), "Bwb","The Streak (Barcrest) (MPU4) (set 19)" ) +GAME_CUSTOM( 199?, m4thestr__s, m4thestr, "ts_25btc.3_1", 0x0000, 0x010000, CRC(6d658e61) SHA1(619dbacad424e5db82c6ee19d1e3358c18cfe783), "Bwb","The Streak (Barcrest) (MPU4) (set 20)" ) +GAME_CUSTOM( 199?, m4thestr__t, m4thestr, "ts_30a_c.1_1", 0x0000, 0x010000, CRC(8636e700) SHA1(f11c20da6c3bfe1842ea8f9eac8c831d49f42c32), "Bwb","The Streak (Barcrest) (MPU4) (set 21)" ) +GAME_CUSTOM( 199?, m4thestr__u, m4thestr, "ts_30b_c.1_1", 0x0000, 0x010000, CRC(2577c8fc) SHA1(6d22bd1a93f423862f5466f99690eeced9090420), "Bwb","The Streak (Barcrest) (MPU4) (set 22)" ) +GAME_CUSTOM( 199?, m4thestr__v, m4thestr, "ts_30bgc.1_1", 0x0000, 0x010000, CRC(2c582ba6) SHA1(dbcae0ef90105a7f6c720156711f73bb3c237b8a), "Bwb","The Streak (Barcrest) (MPU4) (set 23)" ) +GAME_CUSTOM( 199?, m4thestr__w, m4thestr, "ts_39_dc.1_1", 0x0000, 0x010000, CRC(84d338b8) SHA1(847e6b7808b6d5d361414a4aaa5d5cf6a5863a70), "Bwb","The Streak (Barcrest) (MPU4) (set 24)" ) +GAME_CUSTOM( 199?, m4thestr__x, m4thestr, "ts_39a_c.1_1", 0x0000, 0x010000, CRC(9ee56a3a) SHA1(365ec4c90abbe4b352bdd2d6aed5eec4cdaf35ff), "Bwb","The Streak (Barcrest) (MPU4) (set 25)" ) +GAME_CUSTOM( 199?, m4thestr__y, m4thestr, "ts_39b_c.1_1", 0x0000, 0x010000, CRC(470cd6d1) SHA1(c9c3c9c23c596e79f1b6495d4706b1da6cbd1b2e), "Bwb","The Streak (Barcrest) (MPU4) (set 26)" ) #define M4CPYCAT_EXTRA_ROMS \ @@ -4953,42 +5053,42 @@ GAME_CUSTOM( 199?, m4thestr__y, m4thestr, "ts_39b_c.1_1", 0x0000, 0x010000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4cpycat, 0, "co_20_bc.1_1", 0x0000, 0x010000, CRC(c9d3cdc1) SHA1(28265b0f95a8829efc4e346269a7af17a6abe345), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4cpycat__a, m4cpycat, "co_20_dc.1_1", 0x0000, 0x010000, CRC(c6552f9a) SHA1(ae7ad183d2cd89bc9748dcbb3ea26832bed30009), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4cpycat__b, m4cpycat, "co_20_kc.1_1", 0x0000, 0x010000, CRC(b5260e35) SHA1(6cbf4ca426fd47b0db49e188a7a7fe72f6c99aef), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4cpycat__c, m4cpycat, "co_20a_c.1_1", 0x0000, 0x010000, CRC(486d42af) SHA1(327fca9604845ec37c2212413105f48a7b0e2836), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4cpycat__d, m4cpycat, "co_20b_c.1_1", 0x0000, 0x010000, CRC(90e0e19f) SHA1(c7e73faa4c3e853dbaa6b14303ab454a09eb36d7), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4cpycat__e, m4cpycat, "co_20bgc.1_1", 0x0000, 0x010000, CRC(f99d6ae2) SHA1(2106412caa7d3dfc262dc2b1d3e258bb33605912), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4cpycat__f, m4cpycat, "co_20bgp.4_1", 0x0000, 0x010000, CRC(fdc6753a) SHA1(4dd39fa995ee9fa7d153d64dd163d5482aa490d2), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4cpycat__g, m4cpycat, "co_20btc.1_1", 0x0000, 0x010000, CRC(3780d767) SHA1(4fb4354b02eed754ca1caef2b56eccc76524ae1e), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4cpycat__h, m4cpycat, "co_25_bc.1_1", 0x0000, 0x010000, CRC(13c82730) SHA1(992a6d04ed357548bb6cea6505316013048a2e57), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4cpycat__i, m4cpycat, "co_25_bp.2_1", 0x0000, 0x010000, CRC(a5983412) SHA1(7daa3028355fb0e85dce1629477a8efae625f86d), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4cpycat__j, m4cpycat, "co_25_bp.3_1", 0x0000, 0x010000, CRC(4060da30) SHA1(34a93e0550992e7510d1eaf2d5109da3c3fa2f75), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4cpycat__k, m4cpycat, "co_25_dc.1_1", 0x0000, 0x010000, CRC(a3f34f3f) SHA1(4c4842cc668b4c3abd9d2896cc50bbc3d9643b75), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4cpycat__l, m4cpycat, "co_25_dp.2_1", 0x0000, 0x010000, CRC(1f192638) SHA1(16a86242281281ca7b994dee06910d7f107c4743), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4cpycat__m, m4cpycat, "co_25_kc.1_1", 0x0000, 0x010000, CRC(6b2a7f2b) SHA1(5d558431a6b83214cc0dc33d999eeb72f3c53e85), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4cpycat__n, m4cpycat, "co_25_kp.2_1", 0x0000, 0x010000, CRC(73d3aaba) SHA1(5ef9118462bfdf93182ec539d3b80a72c09fa032), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4cpycat__o, m4cpycat, "co_25_kp.3_1", 0x0000, 0x010000, CRC(2e8fa3ee) SHA1(18f4e4eae7d7ac14486ed731bb67cab22d0b287d), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4cpycat__p, m4cpycat, "co_25a_c.1_1", 0x0000, 0x010000, CRC(e753196a) SHA1(79fc9b567dc946f81d40c3b215035cf2adcf94af), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4cpycat__q, m4cpycat, "co_25a_p.2_1", 0x0000, 0x010000, CRC(a058d7f7) SHA1(6e9116ce757503ef5b1822473a310513dd2973e3), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4cpycat__r, m4cpycat, "co_25a_p.3_1", 0x0000, 0x010000, CRC(ba172858) SHA1(d0a025c339f886802b7491448b6b2a4e1f5a3451), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4cpycat__s, m4cpycat, "co_25b_c.1_1", 0x0000, 0x010000, CRC(d82a9080) SHA1(9b9091f867f0b5d75f2bd5f9d62a4419073da357), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4cpycat__t, m4cpycat, "co_25b_p.2_1", 0x0000, 0x010000, CRC(48c8f7e6) SHA1(ff651e4c88b81bb816ab92e7f1d1fbd2c2920db1), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4cpycat__u, m4cpycat, "co_25bgc.1_1", 0x0000, 0x010000, CRC(947a5465) SHA1(c99c0e8ca515fbad8801e07e5936256cca8e7af1), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4cpycat__v, m4cpycat, "co_25bgp.2_1", 0x0000, 0x010000, CRC(84ab9c9d) SHA1(4c1043fb7ff6cd4e681f18e2dd0ddd29d5ce6d09), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4cpycat__w, m4cpycat, "co_25bgp.3_1", 0x0000, 0x010000, CRC(7fa4089e) SHA1(f73aff58c7a627f993e65527bb551c23640b22ed), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4cpycat__x, m4cpycat, "co_25btc.1_1", 0x0000, 0x010000, CRC(dbbae1b6) SHA1(2ee1d53872774d4b80f8c1a4e8a6ceb9e79ed6f5), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4cpycat__y, m4cpycat, "co_25btp.2_1", 0x0000, 0x010000, CRC(cea10ed8) SHA1(2b10193824afb50d561b2307a3189d14e2f5d47a), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4cpycat__z, m4cpycat, "co_30_bc.2_1", 0x0000, 0x010000, CRC(2d39f5fa) SHA1(20075621085765150a57233eccd61f16dbbae9b1), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4cpycat__0, m4cpycat, "co_30_bp.4_1", 0x0000, 0x010000, CRC(0826ffa7) SHA1(05a12d68acf69d8a582fc7fee91a282280380420), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4cpycat__1, m4cpycat, "co_30_dc.2_1", 0x0000, 0x010000, CRC(b028d639) SHA1(9393b82d41e7f8a7e2dba33545477ae13a8d6804), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4cpycat__2, m4cpycat, "co_30_dp.4_1", 0x0000, 0x010000, CRC(f40f09ca) SHA1(11f7af5bf78768759c3eba50ab1a906e81ce1100), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 30)" ) -GAME_CUSTOM( 199?, m4cpycat__3, m4cpycat, "co_30_kp.4_1", 0x0000, 0x010000, CRC(97ab5c33) SHA1(dc6b9705de4731a5cbc35557ca26c80b20cc6518), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 31)" ) -GAME_CUSTOM( 199?, m4cpycat__4, m4cpycat, "co_30a_c.2_1", 0x0000, 0x010000, CRC(eea1522d) SHA1(fdfe797b8cf2fa10f24e89c3047290ac63acebc7), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 32)" ) -GAME_CUSTOM( 199?, m4cpycat__5, m4cpycat, "co_30b_c.2_1", 0x0000, 0x010000, CRC(61e873b0) SHA1(00037fde263fe9e9cb227ef2945e8b90feee0d6e), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 33)" ) -GAME_CUSTOM( 199?, m4cpycat__6, m4cpycat, "co_30bdc.2_1", 0x0000, 0x010000, CRC(6f261bdc) SHA1(df7ab51c984b20665fdb327d17ca6ec32109ec2d), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 34)" ) -GAME_CUSTOM( 199?, m4cpycat__7, m4cpycat, "co_30bgc.2_1", 0x0000, 0x010000, CRC(85cd1c27) SHA1(e0c250bf2848b6991cf33c07b43c2704ae906e47), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 35)" ) -GAME_CUSTOM( 199?, m4cpycat__8, m4cpycat, "co_30btc.2_1", 0x0000, 0x010000, CRC(3a940326) SHA1(f1a0eca5ceccbf979ac7a2c51bfdc1de6f0aa40e), "Barcrest / Bwb","Copy Cat (Barcrest) (MPU4) (set 36)" ) +GAME_CUSTOM( 199?, m4cpycat, 0, "co_20_bc.1_1", 0x0000, 0x010000, CRC(c9d3cdc1) SHA1(28265b0f95a8829efc4e346269a7af17a6abe345), "Bwb","Copy Cat (Barcrest) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4cpycat__a, m4cpycat, "co_20_dc.1_1", 0x0000, 0x010000, CRC(c6552f9a) SHA1(ae7ad183d2cd89bc9748dcbb3ea26832bed30009), "Bwb","Copy Cat (Barcrest) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4cpycat__b, m4cpycat, "co_20_kc.1_1", 0x0000, 0x010000, CRC(b5260e35) SHA1(6cbf4ca426fd47b0db49e188a7a7fe72f6c99aef), "Bwb","Copy Cat (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4cpycat__c, m4cpycat, "co_20a_c.1_1", 0x0000, 0x010000, CRC(486d42af) SHA1(327fca9604845ec37c2212413105f48a7b0e2836), "Bwb","Copy Cat (Barcrest) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4cpycat__d, m4cpycat, "co_20b_c.1_1", 0x0000, 0x010000, CRC(90e0e19f) SHA1(c7e73faa4c3e853dbaa6b14303ab454a09eb36d7), "Bwb","Copy Cat (Barcrest) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4cpycat__e, m4cpycat, "co_20bgc.1_1", 0x0000, 0x010000, CRC(f99d6ae2) SHA1(2106412caa7d3dfc262dc2b1d3e258bb33605912), "Bwb","Copy Cat (Barcrest) (MPU4) (set 6)" ) +GAME_CUSTOM( 199?, m4cpycat__f, m4cpycat, "co_20bgp.4_1", 0x0000, 0x010000, CRC(fdc6753a) SHA1(4dd39fa995ee9fa7d153d64dd163d5482aa490d2), "Bwb","Copy Cat (Barcrest) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4cpycat__g, m4cpycat, "co_20btc.1_1", 0x0000, 0x010000, CRC(3780d767) SHA1(4fb4354b02eed754ca1caef2b56eccc76524ae1e), "Bwb","Copy Cat (Barcrest) (MPU4) (set 8)" ) +GAME_CUSTOM( 199?, m4cpycat__h, m4cpycat, "co_25_bc.1_1", 0x0000, 0x010000, CRC(13c82730) SHA1(992a6d04ed357548bb6cea6505316013048a2e57), "Bwb","Copy Cat (Barcrest) (MPU4) (set 9)" ) +GAME_CUSTOM( 199?, m4cpycat__i, m4cpycat, "co_25_bp.2_1", 0x0000, 0x010000, CRC(a5983412) SHA1(7daa3028355fb0e85dce1629477a8efae625f86d), "Bwb","Copy Cat (Barcrest) (MPU4) (set 10)" ) +GAME_CUSTOM( 199?, m4cpycat__j, m4cpycat, "co_25_bp.3_1", 0x0000, 0x010000, CRC(4060da30) SHA1(34a93e0550992e7510d1eaf2d5109da3c3fa2f75), "Bwb","Copy Cat (Barcrest) (MPU4) (set 11)" ) +GAME_CUSTOM( 199?, m4cpycat__k, m4cpycat, "co_25_dc.1_1", 0x0000, 0x010000, CRC(a3f34f3f) SHA1(4c4842cc668b4c3abd9d2896cc50bbc3d9643b75), "Bwb","Copy Cat (Barcrest) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4cpycat__l, m4cpycat, "co_25_dp.2_1", 0x0000, 0x010000, CRC(1f192638) SHA1(16a86242281281ca7b994dee06910d7f107c4743), "Bwb","Copy Cat (Barcrest) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4cpycat__m, m4cpycat, "co_25_kc.1_1", 0x0000, 0x010000, CRC(6b2a7f2b) SHA1(5d558431a6b83214cc0dc33d999eeb72f3c53e85), "Bwb","Copy Cat (Barcrest) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4cpycat__n, m4cpycat, "co_25_kp.2_1", 0x0000, 0x010000, CRC(73d3aaba) SHA1(5ef9118462bfdf93182ec539d3b80a72c09fa032), "Bwb","Copy Cat (Barcrest) (MPU4) (set 15)" ) +GAME_CUSTOM( 199?, m4cpycat__o, m4cpycat, "co_25_kp.3_1", 0x0000, 0x010000, CRC(2e8fa3ee) SHA1(18f4e4eae7d7ac14486ed731bb67cab22d0b287d), "Bwb","Copy Cat (Barcrest) (MPU4) (set 16)" ) +GAME_CUSTOM( 199?, m4cpycat__p, m4cpycat, "co_25a_c.1_1", 0x0000, 0x010000, CRC(e753196a) SHA1(79fc9b567dc946f81d40c3b215035cf2adcf94af), "Bwb","Copy Cat (Barcrest) (MPU4) (set 17)" ) +GAME_CUSTOM( 199?, m4cpycat__q, m4cpycat, "co_25a_p.2_1", 0x0000, 0x010000, CRC(a058d7f7) SHA1(6e9116ce757503ef5b1822473a310513dd2973e3), "Bwb","Copy Cat (Barcrest) (MPU4) (set 18)" ) +GAME_CUSTOM( 199?, m4cpycat__r, m4cpycat, "co_25a_p.3_1", 0x0000, 0x010000, CRC(ba172858) SHA1(d0a025c339f886802b7491448b6b2a4e1f5a3451), "Bwb","Copy Cat (Barcrest) (MPU4) (set 19)" ) +GAME_CUSTOM( 199?, m4cpycat__s, m4cpycat, "co_25b_c.1_1", 0x0000, 0x010000, CRC(d82a9080) SHA1(9b9091f867f0b5d75f2bd5f9d62a4419073da357), "Bwb","Copy Cat (Barcrest) (MPU4) (set 20)" ) +GAME_CUSTOM( 199?, m4cpycat__t, m4cpycat, "co_25b_p.2_1", 0x0000, 0x010000, CRC(48c8f7e6) SHA1(ff651e4c88b81bb816ab92e7f1d1fbd2c2920db1), "Bwb","Copy Cat (Barcrest) (MPU4) (set 21)" ) +GAME_CUSTOM( 199?, m4cpycat__u, m4cpycat, "co_25bgc.1_1", 0x0000, 0x010000, CRC(947a5465) SHA1(c99c0e8ca515fbad8801e07e5936256cca8e7af1), "Bwb","Copy Cat (Barcrest) (MPU4) (set 22)" ) +GAME_CUSTOM( 199?, m4cpycat__v, m4cpycat, "co_25bgp.2_1", 0x0000, 0x010000, CRC(84ab9c9d) SHA1(4c1043fb7ff6cd4e681f18e2dd0ddd29d5ce6d09), "Bwb","Copy Cat (Barcrest) (MPU4) (set 23)" ) +GAME_CUSTOM( 199?, m4cpycat__w, m4cpycat, "co_25bgp.3_1", 0x0000, 0x010000, CRC(7fa4089e) SHA1(f73aff58c7a627f993e65527bb551c23640b22ed), "Bwb","Copy Cat (Barcrest) (MPU4) (set 24)" ) +GAME_CUSTOM( 199?, m4cpycat__x, m4cpycat, "co_25btc.1_1", 0x0000, 0x010000, CRC(dbbae1b6) SHA1(2ee1d53872774d4b80f8c1a4e8a6ceb9e79ed6f5), "Bwb","Copy Cat (Barcrest) (MPU4) (set 25)" ) +GAME_CUSTOM( 199?, m4cpycat__y, m4cpycat, "co_25btp.2_1", 0x0000, 0x010000, CRC(cea10ed8) SHA1(2b10193824afb50d561b2307a3189d14e2f5d47a), "Bwb","Copy Cat (Barcrest) (MPU4) (set 26)" ) +GAME_CUSTOM( 199?, m4cpycat__z, m4cpycat, "co_30_bc.2_1", 0x0000, 0x010000, CRC(2d39f5fa) SHA1(20075621085765150a57233eccd61f16dbbae9b1), "Bwb","Copy Cat (Barcrest) (MPU4) (set 27)" ) +GAME_CUSTOM( 199?, m4cpycat__0, m4cpycat, "co_30_bp.4_1", 0x0000, 0x010000, CRC(0826ffa7) SHA1(05a12d68acf69d8a582fc7fee91a282280380420), "Bwb","Copy Cat (Barcrest) (MPU4) (set 28)" ) +GAME_CUSTOM( 199?, m4cpycat__1, m4cpycat, "co_30_dc.2_1", 0x0000, 0x010000, CRC(b028d639) SHA1(9393b82d41e7f8a7e2dba33545477ae13a8d6804), "Bwb","Copy Cat (Barcrest) (MPU4) (set 29)" ) +GAME_CUSTOM( 199?, m4cpycat__2, m4cpycat, "co_30_dp.4_1", 0x0000, 0x010000, CRC(f40f09ca) SHA1(11f7af5bf78768759c3eba50ab1a906e81ce1100), "Bwb","Copy Cat (Barcrest) (MPU4) (set 30)" ) +GAME_CUSTOM( 199?, m4cpycat__3, m4cpycat, "co_30_kp.4_1", 0x0000, 0x010000, CRC(97ab5c33) SHA1(dc6b9705de4731a5cbc35557ca26c80b20cc6518), "Bwb","Copy Cat (Barcrest) (MPU4) (set 31)" ) +GAME_CUSTOM( 199?, m4cpycat__4, m4cpycat, "co_30a_c.2_1", 0x0000, 0x010000, CRC(eea1522d) SHA1(fdfe797b8cf2fa10f24e89c3047290ac63acebc7), "Bwb","Copy Cat (Barcrest) (MPU4) (set 32)" ) +GAME_CUSTOM( 199?, m4cpycat__5, m4cpycat, "co_30b_c.2_1", 0x0000, 0x010000, CRC(61e873b0) SHA1(00037fde263fe9e9cb227ef2945e8b90feee0d6e), "Bwb","Copy Cat (Barcrest) (MPU4) (set 33)" ) +GAME_CUSTOM( 199?, m4cpycat__6, m4cpycat, "co_30bdc.2_1", 0x0000, 0x010000, CRC(6f261bdc) SHA1(df7ab51c984b20665fdb327d17ca6ec32109ec2d), "Bwb","Copy Cat (Barcrest) (MPU4) (set 34)" ) +GAME_CUSTOM( 199?, m4cpycat__7, m4cpycat, "co_30bgc.2_1", 0x0000, 0x010000, CRC(85cd1c27) SHA1(e0c250bf2848b6991cf33c07b43c2704ae906e47), "Bwb","Copy Cat (Barcrest) (MPU4) (set 35)" ) +GAME_CUSTOM( 199?, m4cpycat__8, m4cpycat, "co_30btc.2_1", 0x0000, 0x010000, CRC(3a940326) SHA1(f1a0eca5ceccbf979ac7a2c51bfdc1de6f0aa40e), "Bwb","Copy Cat (Barcrest) (MPU4) (set 36)" ) #undef GAME_CUSTOM #define GAME_CUSTOM(year, setname,parent,name,offset,length,hash,company,title) \ @@ -4998,10 +5098,11 @@ GAME_CUSTOM( 199?, m4cpycat__8, m4cpycat, "co_30btc.2_1", 0x0000, 0x010000, ROM_END \ GAME(year, setname, parent ,mod2 ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4hypclb, 0, "hpcd.p1", 0x0000, 0x010000, CRC(7fac8944) SHA1(32f0f16ef6c4b99fe70464341a1ce226f6221122), "Barcrest","Hyper Viper Club (Barcrest) (MPU4) (set 1)" ) +// "(C)1991 BARCREST" and "HPC 0.5" +GAME_CUSTOM( 199?, m4hypclb, 0, "hpcs.p1", 0x0000, 0x010000, CRC(55601e10) SHA1(78c3f13cd122e86ff8b7750b375c26e56c6b27c6), "Barcrest","Hyper Viper Club (Barcrest) (MPU4) (HPC 0.5)" ) +GAME_CUSTOM( 199?, m4hypclb__c, m4hypclb, "hpcd.p1", 0x0000, 0x010000, CRC(7fac8944) SHA1(32f0f16ef6c4b99fe70464341a1ce226f6221122), "Barcrest","Hyper Viper Club (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4hypclb__a, m4hypclb, "hpcf.p1", 0x0000, 0x010000, CRC(2931a558) SHA1(2f7fe541edc502738dd6603435deaef1cb26a1e2), "Barcrest","Hyper Viper Club (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4hypclb__b, m4hypclb, "hpcfd.p1", 0x0000, 0x010000, CRC(b127e577) SHA1(da034086bb92934f73d1a2be776f91462274479d), "Barcrest","Hyper Viper Club (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4hypclb__c, m4hypclb, "hpcs.p1", 0x0000, 0x010000, CRC(55601e10) SHA1(78c3f13cd122e86ff8b7750b375c26e56c6b27c6), "Barcrest","Hyper Viper Club (Barcrest) (MPU4) (set 4)" ) #define M4BNKROL_EXTRA_ROMS \ @@ -5017,13 +5118,14 @@ GAME_CUSTOM( 199?, m4hypclb__c, m4hypclb, "hpcs.p1", 0x0000, 0x010000, CRC ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4bnkrol, 0, "cbr05s.p1", 0x0000, 0x020000, CRC(a8b53a0d) SHA1(661ab61aa8f427b92fdee02539f19e5dd2243da7), "Barcrest","Bank Roller Club (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4bnkrol__a, m4bnkrol, "br301d.p1", 0x0000, 0x020000, CRC(b9334e2d) SHA1(263808eb5ea3f9987eb7579b43329cb27e109921), "Barcrest","Bank Roller Club (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4bnkrol__b, m4bnkrol, "br301f.p1", 0x0000, 0x020000, CRC(c4be5b69) SHA1(9b08d5c0c5aebeef9f0767f5bd456cc6b05ea317), "Barcrest","Bank Roller Club (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4bnkrol__c, m4bnkrol, "br301s.p1", 0x0000, 0x020000, CRC(1e117651) SHA1(c06d3f14e55be83c89c8132cf219d46acc42991c), "Barcrest","Bank Roller Club (Barcrest) (MPU4) (set 4)" ) +// "(C)1996 BARCREST" and "CBR 0.5" +GAME_CUSTOM( 199?, m4bnkrol, 0, "cbr05s.p1", 0x0000, 0x020000, CRC(a8b53a0d) SHA1(661ab61aa8f427b92fdee02539f19e5dd2243da7), "Barcrest","Bank Roller Club (Barcrest) (MPU4) (CBR 0.5)" ) GAME_CUSTOM( 199?, m4bnkrol__d, m4bnkrol, "cbr05d.p1", 0x0000, 0x020000, CRC(44cefec0) SHA1(7034c5acd44ccd3cd985ba4945c004c070a599a4), "Barcrest","Bank Roller Club (Barcrest) (MPU4) (set 5)" ) GAME_CUSTOM( 199?, m4bnkrol__e, m4bnkrol, "cbr05f.p1", 0x0000, 0x020000, CRC(3943eb84) SHA1(76a00db6a0c6655c3a7942550c788822bacd73e5), "Barcrest","Bank Roller Club (Barcrest) (MPU4) (set 6)" ) +// "(C)1996 BARCREST" and "BR3 0.1" +GAME_CUSTOM( 199?, m4bnkrol__c, m4bnkrol, "br301s.p1", 0x0000, 0x020000, CRC(1e117651) SHA1(c06d3f14e55be83c89c8132cf219d46acc42991c), "Barcrest","Bank Roller Club (Barcrest) (MPU4) (BR3 0.1)" ) +GAME_CUSTOM( 199?, m4bnkrol__a, m4bnkrol, "br301d.p1", 0x0000, 0x020000, CRC(b9334e2d) SHA1(263808eb5ea3f9987eb7579b43329cb27e109921), "Barcrest","Bank Roller Club (Barcrest) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4bnkrol__b, m4bnkrol, "br301f.p1", 0x0000, 0x020000, CRC(c4be5b69) SHA1(9b08d5c0c5aebeef9f0767f5bd456cc6b05ea317), "Barcrest","Bank Roller Club (Barcrest) (MPU4) (set 3)" ) #define M4TIC_EXTRA_ROMS \ @@ -5037,25 +5139,27 @@ GAME_CUSTOM( 199?, m4bnkrol__e, m4bnkrol, "cbr05f.p1", 0x0000, 0x020000, CR M4TIC_EXTRA_ROMS \ ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4tic, 0, "tt_20a__.2_1", 0x0000, 0x010000, CRC(b923ac0d) SHA1(1237962af43c2c3f4ed0ad5bed21f24decfeae02), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4tic__a, m4tic, "tt_20a_c.1_1", 0x0000, 0x010000, CRC(18a68ea0) SHA1(37783121ff5540e264d89069101d991acb66b982), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4tic__b, m4tic, "tt_20b__.2_1", 0x0000, 0x010000, CRC(b5eb86ab) SHA1(99ddb80941c67bd271e22af17405457d32676484), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4tic__c, m4tic, "tt_20b_c.1_1", 0x0000, 0x010000, CRC(d35079ab) SHA1(d109af8ef6f4d26b505f63df10d5850ddc0c0b65), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4tic__d, m4tic, "tt_20bd_.2_1", 0x0000, 0x010000, CRC(0889a699) SHA1(c96d135b9248e9bab78af438b97e6cb854b2c771), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4tic__e, m4tic, "tt_20bdc.1_1", 0x0000, 0x010000, CRC(2a43efd4) SHA1(9f6e568ca95a5f4e1a4e82eda2d15dfa225e65ea), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4tic__f, m4tic, "tt_20bg_.2_1", 0x0000, 0x010000, CRC(128896c1) SHA1(af37645b88116cde57fcc42ed58d69bf9c11ff8a), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4tic__g, m4tic, "tt_20bt_.2_1", 0x0000, 0x010000, CRC(362046f9) SHA1(6cb5a986517158d63e7403891bb749eaccb63acb), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4tic__h, m4tic, "tt_20s__.2_1", 0x0000, 0x010000, CRC(53dfefe9) SHA1(0f9fc1d65ebd7e370de6001f594616b79b2aa57e), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4tic__i, m4tic, "tt_20s_c.1_1", 0x0000, 0x010000, CRC(65a38960) SHA1(48ffdda1c5c98742124418429c510de9f5b90270), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4tic__j, m4tic, "tt_20sb_.2_1", 0x0000, 0x010000, CRC(c9174384) SHA1(f694a6a7f78b8a062fd26371fa6758ec4252352a), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4tic__k, m4tic, "tt_20sk_.2_1", 0x0000, 0x010000, CRC(dca42636) SHA1(c6e9aaf402c2fc7eec6e9b07aa4c33312bc0af0e), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4tic__l, m4tic, "tt_25a_c.3_1", 0x0000, 0x010000, CRC(2e44c6db) SHA1(ffc96dafbcfae719c3971882e066971540fafe78), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4tic__m, m4tic, "tt_25b_c.3_1", 0x0000, 0x010000, CRC(d393edf0) SHA1(66f17a88018fee71f3e0c7996371c9b6832ef23a), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4tic__n, m4tic, "tt_25bdc.3_1", 0x0000, 0x010000, CRC(2ce71772) SHA1(a2f36d0d11826a7be7f8cc04f21a77facb4ce188), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4tic__o, m4tic, "tt_25bgc.3_1", 0x0000, 0x010000, CRC(2dbeb9c3) SHA1(8288a9d17932582c7536563e34e2150a85c7a822), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4tic__p, m4tic, "tt_25btc.3_1", 0x0000, 0x010000, CRC(d5702abf) SHA1(6115f39d70dfdf1a00bcfc5f0fe257dd1e0ff968), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4tic__r, m4tic, "tt_25sbc.3_1", 0x0000, 0x010000, CRC(11c0152f) SHA1(d46b0a6774da35cf9d3a352b9fe7cb574880b210), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4tic__s, m4tic, "tti20___.2_1", 0x0000, 0x010000, CRC(91054bf6) SHA1(68cc6c9b47849149a574e3af97bd0e8255fc5c43), "Barcrest / Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 19)" ) + + +GAME_CUSTOM( 199?, m4tic, 0, "tt_20a__.2_1", 0x0000, 0x010000, CRC(b923ac0d) SHA1(1237962af43c2c3f4ed0ad5bed21f24decfeae02), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 1)" ) +GAME_CUSTOM( 199?, m4tic__a, m4tic, "tt_20a_c.1_1", 0x0000, 0x010000, CRC(18a68ea0) SHA1(37783121ff5540e264d89069101d991acb66b982), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4tic__b, m4tic, "tt_20b__.2_1", 0x0000, 0x010000, CRC(b5eb86ab) SHA1(99ddb80941c67bd271e22af17405457d32676484), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4tic__c, m4tic, "tt_20b_c.1_1", 0x0000, 0x010000, CRC(d35079ab) SHA1(d109af8ef6f4d26b505f63df10d5850ddc0c0b65), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4tic__d, m4tic, "tt_20bd_.2_1", 0x0000, 0x010000, CRC(0889a699) SHA1(c96d135b9248e9bab78af438b97e6cb854b2c771), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4tic__e, m4tic, "tt_20bdc.1_1", 0x0000, 0x010000, CRC(2a43efd4) SHA1(9f6e568ca95a5f4e1a4e82eda2d15dfa225e65ea), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 6)" ) +GAME_CUSTOM( 199?, m4tic__f, m4tic, "tt_20bg_.2_1", 0x0000, 0x010000, CRC(128896c1) SHA1(af37645b88116cde57fcc42ed58d69bf9c11ff8a), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4tic__g, m4tic, "tt_20bt_.2_1", 0x0000, 0x010000, CRC(362046f9) SHA1(6cb5a986517158d63e7403891bb749eaccb63acb), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 8)" ) +GAME_CUSTOM( 199?, m4tic__h, m4tic, "tt_20s__.2_1", 0x0000, 0x010000, CRC(53dfefe9) SHA1(0f9fc1d65ebd7e370de6001f594616b79b2aa57e), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 9)" ) +GAME_CUSTOM( 199?, m4tic__i, m4tic, "tt_20s_c.1_1", 0x0000, 0x010000, CRC(65a38960) SHA1(48ffdda1c5c98742124418429c510de9f5b90270), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 10)" ) +GAME_CUSTOM( 199?, m4tic__j, m4tic, "tt_20sb_.2_1", 0x0000, 0x010000, CRC(c9174384) SHA1(f694a6a7f78b8a062fd26371fa6758ec4252352a), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 11)" ) +GAME_CUSTOM( 199?, m4tic__k, m4tic, "tt_20sk_.2_1", 0x0000, 0x010000, CRC(dca42636) SHA1(c6e9aaf402c2fc7eec6e9b07aa4c33312bc0af0e), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4tic__l, m4tic, "tt_25a_c.3_1", 0x0000, 0x010000, CRC(2e44c6db) SHA1(ffc96dafbcfae719c3971882e066971540fafe78), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4tic__m, m4tic, "tt_25b_c.3_1", 0x0000, 0x010000, CRC(d393edf0) SHA1(66f17a88018fee71f3e0c7996371c9b6832ef23a), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4tic__n, m4tic, "tt_25bdc.3_1", 0x0000, 0x010000, CRC(2ce71772) SHA1(a2f36d0d11826a7be7f8cc04f21a77facb4ce188), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 15)" ) +GAME_CUSTOM( 199?, m4tic__o, m4tic, "tt_25bgc.3_1", 0x0000, 0x010000, CRC(2dbeb9c3) SHA1(8288a9d17932582c7536563e34e2150a85c7a822), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 16)" ) +GAME_CUSTOM( 199?, m4tic__p, m4tic, "tt_25btc.3_1", 0x0000, 0x010000, CRC(d5702abf) SHA1(6115f39d70dfdf1a00bcfc5f0fe257dd1e0ff968), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 17)" ) +GAME_CUSTOM( 199?, m4tic__r, m4tic, "tt_25sbc.3_1", 0x0000, 0x010000, CRC(11c0152f) SHA1(d46b0a6774da35cf9d3a352b9fe7cb574880b210), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 18)" ) +GAME_CUSTOM( 199?, m4tic__s, m4tic, "tti20___.2_1", 0x0000, 0x010000, CRC(91054bf6) SHA1(68cc6c9b47849149a574e3af97bd0e8255fc5c43), "Bwb","Tic Tac Toe (Barcrest) (MPU4) (set 19)" ) #define M4RHRCL_EXTRA_ROMS \ ROM_REGION( 0x48, "fakechr", 0 ) \ @@ -5072,10 +5176,12 @@ GAME_CUSTOM( 199?, m4tic__s, m4tic, "tti20___.2_1", 0x0000, 0x010000, CRC(9105 ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4rhrcl, 0, "rhrc.hex", 0x0000, 0x010000, CRC(e4b89d53) SHA1(fc222d56cdba2891048726d6e6ecd8a4028ba8ba), "Barcrest","Red Hot Roll Club (Barcrest) (MPU4) (set 1)" ) +// "(C)1991 BARCREST" and "RH2 1.1" +GAME_CUSTOM( 199?, m4rhrcl, 0, "rh2s.p1", 0x0000, 0x010000, CRC(aa15e8a8) SHA1(243e7562a4cf938527afebbd99581acea1ab4134), "Barcrest","Red Hot Roll Club (Barcrest) (MPU4) (RH2 1.1)" ) GAME_CUSTOM( 199?, m4rhrcl__a, m4rhrcl, "rh2d.p1", 0x0000, 0x010000, CRC(b55a01c3) SHA1(8c94c2ca509ac7631528df78e82fb39b5f579c45), "Barcrest","Red Hot Roll Club (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4rhrcl__b, m4rhrcl, "rh2f.p1", 0x0000, 0x010000, CRC(83466c89) SHA1(790d626e361bfec1265edc6f6ce51f098eb774ba), "Barcrest","Red Hot Roll Club (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4rhrcl__c, m4rhrcl, "rh2s.p1", 0x0000, 0x010000, CRC(aa15e8a8) SHA1(243e7562a4cf938527afebbd99581acea1ab4134), "Barcrest","Red Hot Roll Club (Barcrest) (MPU4) (set 4)" ) +// "(C)1991 BARCREST" and "RH2 1.0" +GAME_CUSTOM( 199?, m4rhrcl__c, m4rhrcl, "rhrc.hex", 0x0000, 0x010000, CRC(e4b89d53) SHA1(fc222d56cdba2891048726d6e6ecd8a4028ba8ba), "Barcrest","Red Hot Roll Club (Barcrest) (MPU4) (RH2 1.0)" ) #define M4RHOGC_EXTRA_ROMS \ ROM_REGION( 0x48, "fakechr", 0 ) \ @@ -5092,9 +5198,9 @@ GAME_CUSTOM( 199?, m4rhrcl__c, m4rhrcl, "rh2s.p1", 0x0000, 0x010000, CRC(aa ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4rhogc, 0, "rhcf.p1", 0x0000, 0x010000, CRC(0b726e87) SHA1(12c334e7dd712b9e19e8241b1a8e278ff84110d4), "Barcrest","Road Hog Club (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4rhogc__a, m4rhogc, "rhcs.p1", 0x0000, 0x010000, CRC(d1541050) SHA1(ef1ee3b9319e2a357540cf0de902de439267c3e2), "Barcrest","Road Hog Club (Barcrest) (MPU4) (set 2)" ) +// "(C)1991 BARCREST" and "RHC 0.5" +GAME_CUSTOM( 199?, m4rhogc, 0, "rhcs.p1", 0x0000, 0x010000, CRC(d1541050) SHA1(ef1ee3b9319e2a357540cf0de902de439267c3e2), "Barcrest","Road Hog Club (Barcrest) (MPU4) (RHC 0.5)" ) +GAME_CUSTOM( 199?, m4rhogc__a, m4rhogc, "rhcf.p1", 0x0000, 0x010000, CRC(0b726e87) SHA1(12c334e7dd712b9e19e8241b1a8e278ff84110d4), "Barcrest","Road Hog Club (Barcrest) (MPU4) (set 1)" ) GAME_CUSTOM( 199?, m4rhogc__b, m4rhogc, "rhcd.p1", 0x0000, 0x010000, CRC(7a7df536) SHA1(9c53e5c6a5f3a32de05a574e1c8dedc3e5be66eb), "Barcrest","Road Hog Club (Barcrest) (MPU4) (set 3)" ) #define M4GB006_EXTRA_ROMS \ @@ -5132,32 +5238,38 @@ GAME_CUSTOM( 199?, m4gb006__c, m4gb006, "bond20_11", 0x0000, 0x010000, CR ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) - - -GAME_CUSTOM( 199?, m4gbust, 0, "gb_02___.2n3", 0x0000, 0x010000, CRC(973b3538) SHA1(31df04d9f35cbde4d5e395256927f146d1613178), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4gbust__a, m4gbust, "gb_02___.3a3", 0x0000, 0x010000, CRC(2b9d94b6) SHA1(ca433240f9e926cdf5240209589951e6018a496a), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4gbust__b, m4gbust, "gb_02___.3n3", 0x0000, 0x010000, CRC(99514ddd) SHA1(432d484525867c6ad68cd93a4bfded4dba36cf56), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4gbust__c, m4gbust, "gb_02___.3s3", 0x0000, 0x010000, CRC(2634aa5f) SHA1(58ab973940138bdfd2690867e2ac3eb52bffb633), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4gbust__d, m4gbust, "gb_05___.4a3", 0x0000, 0x010000, CRC(8be6949e) SHA1(9731a1cb0d17c3cec2bec263cd6348f05662d917), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4gbust__e, m4gbust, "gb_05___.4n3", 0x0000, 0x010000, CRC(621b25f0) SHA1(bf699068284def8bad9143c5841f667f2cb6f20f), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4gbust__f, m4gbust, "gb_05___.4s3", 0x0000, 0x010000, CRC(e2227701) SHA1(271682c7bf6e0f6f49f6d6b138aa19b6ef6bc626), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4gbust__g, m4gbust, "gb_05_d_.4a3", 0x0000, 0x010000, CRC(a1b2b32f) SHA1(c1504b3768920f90dbd441b9d50db9676528ca97), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4gbust__h, m4gbust, "gb_10___.2a3", 0x0000, 0x010000, CRC(a5c692f3) SHA1(8305c88ab8b80b407f4723df25135c25a4c0794f), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4gbust__i, m4gbust, "gb_10___.2n3", 0x0000, 0x010000, CRC(de18c441) SHA1(5a7055fcd755c1ac58e1b94af243801f169f29f5), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4gbust__j, m4gbust, "gb_10___.3s3", 0x0000, 0x010000, CRC(427e043b) SHA1(2f64c11a04306692ac5eb9919892f7226156dce0), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4gbust__k, m4gbust, "gb_10_b_.3s3", 0x0000, 0x010000, CRC(091afb66) SHA1(ac32d7be1e1f4f1453e37017966990a481506024), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4gbust__l, m4gbust, "gb_10_d_.2a3", 0x0000, 0x010000, CRC(f1446bf5) SHA1(4011d60e13045476741c5a02c64dabbe6a1ae2d6), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4gbust__m, m4gbust, "gb_10_d_.2n3", 0x0000, 0x010000, CRC(cac5057d) SHA1(afcc21dbd07515ed134675b7dbfb53c048a465b0), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4gbust__n, m4gbust, "gb_10_d_.3s3", 0x0000, 0x010000, CRC(776736de) SHA1(4f80d9ffdf4468801cf830e9774b6028f7684864), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4gbust__o, m4gbust, "gb_20___.2n3", 0x0000, 0x010000, CRC(27fc2ee1) SHA1(2e6a042f7117b4594b2601ae166ee0db72c70ed5), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4gbust__p, m4gbust, "gb_20___.3s3", 0x0000, 0x010000, CRC(4a86d879) SHA1(72e92b6482fdeb4dca36d9426a712ac24d60f7f7), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4gbust__q, m4gbust, "gb_20_b_.2a3", 0x0000, 0x010000, CRC(4dd7d38f) SHA1(8a71c27189ec3089c016a8292db68f7cdc91b083), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4gbust__r, m4gbust, "gb_20_b_.2n3", 0x0000, 0x010000, CRC(28cbb217) SHA1(a74978ff5e1511a33f543006b3f8ad30a77ea462), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4gbust__s, m4gbust, "gb_20_b_.3s3", 0x0000, 0x010000, CRC(1a7cc3cf) SHA1(0d5764d35489bde284965c197b217a06f26a3e3b), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4gbust__t, m4gbust, "gb_20_d_.2a3", 0x0000, 0x010000, CRC(70f40688) SHA1(ed14f8f460825ffa087394ef5984ae064e02f7b6), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4gbust__u, m4gbust, "gb_20_d_.2n3", 0x0000, 0x010000, CRC(431c2965) SHA1(eb24e560d5c4bf419465fc760621a4fa853fff95), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4gbust__v, m4gbust, "gb_20_d_.3s3", 0x0000, 0x010000, CRC(4fc69155) SHA1(09a0f2122893d9fd90204a74c8862e01386503a4), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4gbust__w, m4gbust, "ghostbusters 2p.bin", 0x0000, 0x010000, CRC(abb288c4) SHA1(2012e027711996a552ab59674ae3bce1bf14f44b), "Bwb / Barcrest","Ghost Buster (Barcrest) (MPU4) (set 24)" ) +// some of these ROMs (the non-D ones?) contain a 'Barcrest Video' string, and the game seems to do nothing, could require other (undumped?) parts as there really aren't many strings in here + +// "(C)1994 B.W.B." and "GB 5.0" +GAME_CUSTOM( 199?, m4gbust, 0, "gb_05___.4s3", 0x0000, 0x010000, CRC(e2227701) SHA1(271682c7bf6e0f6f49f6d6b138aa19b6ef6bc626), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 5.0)" ) +// "(C)1994 B.W.B." and "GB 4.0" +GAME_CUSTOM( 199?, m4gbust__d, m4gbust, "gb_05___.4a3", 0x0000, 0x010000, CRC(8be6949e) SHA1(9731a1cb0d17c3cec2bec263cd6348f05662d917), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 4.0, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__e, m4gbust, "gb_05___.4n3", 0x0000, 0x010000, CRC(621b25f0) SHA1(bf699068284def8bad9143c5841f667f2cb6f20f), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 4.0, set 2)" ) +GAME_CUSTOM( 199?, m4gbust__g, m4gbust, "gb_05_d_.4a3", 0x0000, 0x010000, CRC(a1b2b32f) SHA1(c1504b3768920f90dbd441b9d50db9676528ca97), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 4.0D)" ) +// "(C)1994 B.W.B." and "GB 3.0" +GAME_CUSTOM( 199?, m4gbust__b, m4gbust, "gb_02___.3n3", 0x0000, 0x010000, CRC(99514ddd) SHA1(432d484525867c6ad68cd93a4bfded4dba36cf56), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0, 1994, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__a, m4gbust, "gb_02___.3a3", 0x0000, 0x010000, CRC(2b9d94b6) SHA1(ca433240f9e926cdf5240209589951e6018a496a), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0, 1994, set 2)" ) +// "(C)1994 B.W.B." and "GB 2.0" +GAME_CUSTOM( 199?, m4gbust__c, m4gbust, "gb_02___.3s3", 0x0000, 0x010000, CRC(2634aa5f) SHA1(58ab973940138bdfd2690867e2ac3eb52bffb633), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, 1994)" ) +// "(C)1993 B.W.B." and "GB 3.0" +GAME_CUSTOM( 199?, m4gbust__j, m4gbust, "gb_10___.3s3", 0x0000, 0x010000, CRC(427e043b) SHA1(2f64c11a04306692ac5eb9919892f7226156dce0), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__p, m4gbust, "gb_20___.3s3", 0x0000, 0x010000, CRC(4a86d879) SHA1(72e92b6482fdeb4dca36d9426a712ac24d60f7f7), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0, set 2)" ) +GAME_CUSTOM( 199?, m4gbust__n, m4gbust, "gb_10_d_.3s3", 0x0000, 0x010000, CRC(776736de) SHA1(4f80d9ffdf4468801cf830e9774b6028f7684864), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0D, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__v, m4gbust, "gb_20_d_.3s3", 0x0000, 0x010000, CRC(4fc69155) SHA1(09a0f2122893d9fd90204a74c8862e01386503a4), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0D, set 2)" ) +GAME_CUSTOM( 199?, m4gbust__k, m4gbust, "gb_10_b_.3s3", 0x0000, 0x010000, CRC(091afb66) SHA1(ac32d7be1e1f4f1453e37017966990a481506024), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0YD, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__s, m4gbust, "gb_20_b_.3s3", 0x0000, 0x010000, CRC(1a7cc3cf) SHA1(0d5764d35489bde284965c197b217a06f26a3e3b), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 3.0YD, set 2)" ) +// "(C)1993 B.W.B." and "GB 2.0" +GAME_CUSTOM( 199?, m4gbust__f, m4gbust, "gb_02___.2n3", 0x0000, 0x010000, CRC(973b3538) SHA1(31df04d9f35cbde4d5e395256927f146d1613178), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__i, m4gbust, "gb_10___.2n3", 0x0000, 0x010000, CRC(de18c441) SHA1(5a7055fcd755c1ac58e1b94af243801f169f29f5), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 2)" ) +GAME_CUSTOM( 199?, m4gbust__o, m4gbust, "gb_20___.2n3", 0x0000, 0x010000, CRC(27fc2ee1) SHA1(2e6a042f7117b4594b2601ae166ee0db72c70ed5), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 3)" ) +GAME_CUSTOM( 199?, m4gbust__h, m4gbust, "gb_10___.2a3", 0x0000, 0x010000, CRC(a5c692f3) SHA1(8305c88ab8b80b407f4723df25135c25a4c0794f), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 4)" ) +GAME_CUSTOM( 199?, m4gbust__w, m4gbust, "ghostbusters 2p.bin", 0x0000, 0x010000, CRC(abb288c4) SHA1(2012e027711996a552ab59674ae3bce1bf14f44b), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0, set 5)" ) +GAME_CUSTOM( 199?, m4gbust__m, m4gbust, "gb_10_d_.2n3", 0x0000, 0x010000, CRC(cac5057d) SHA1(afcc21dbd07515ed134675b7dbfb53c048a465b0), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0D, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__u, m4gbust, "gb_20_d_.2n3", 0x0000, 0x010000, CRC(431c2965) SHA1(eb24e560d5c4bf419465fc760621a4fa853fff95), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0D, set 2)" ) +GAME_CUSTOM( 199?, m4gbust__l, m4gbust, "gb_10_d_.2a3", 0x0000, 0x010000, CRC(f1446bf5) SHA1(4011d60e13045476741c5a02c64dabbe6a1ae2d6), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0D, set 3)" ) +GAME_CUSTOM( 199?, m4gbust__t, m4gbust, "gb_20_d_.2a3", 0x0000, 0x010000, CRC(70f40688) SHA1(ed14f8f460825ffa087394ef5984ae064e02f7b6), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0D, set 4)" ) +GAME_CUSTOM( 199?, m4gbust__r, m4gbust, "gb_20_b_.2n3", 0x0000, 0x010000, CRC(28cbb217) SHA1(a74978ff5e1511a33f543006b3f8ad30a77ea462), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0YD, set 1)" ) +GAME_CUSTOM( 199?, m4gbust__q, m4gbust, "gb_20_b_.2a3", 0x0000, 0x010000, CRC(4dd7d38f) SHA1(8a71c27189ec3089c016a8292db68f7cdc91b083), "Bwb","Ghost Buster (Barcrest) (MPU4) (GB 2.0YD, set 2)" ) @@ -5174,11 +5286,12 @@ GAME_CUSTOM( 199?, m4gbust__w, m4gbust, "ghostbusters 2p.bin", 0x0000, 0x01 ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4cshenc, 0, "ca_sj__c.5_1", 0x0000, 0x020000, CRC(d9131b39) SHA1(4af89a7bc10de1406f401bede41e1bc452dbb159), "Bwb / Barcrest","Cash Encounters (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4cshenc__a, m4cshenc, "ca_sj_bc.5_1", 0x0000, 0x020000, CRC(30d1fb6d) SHA1(f845bef4ad7f2f48077eed74840916e87abb24b2), "Bwb / Barcrest","Cash Encounters (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4cshenc__b, m4cshenc, "ca_sj_dc.5_1", 0x0000, 0x020000, CRC(ac3ec716) SHA1(4ff8c26c46ec6e1321249b4d6d0c5194ed917f33), "Bwb / Barcrest","Cash Encounters (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4cshenc__c, m4cshenc, "ca_sja_c.5_1", 0x0000, 0x020000, CRC(c56a9d0b) SHA1(b0298c2e03097ab8ba5f99892e732ff1ab784c9b), "Bwb / Barcrest","Cash Encounters (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4cshenc__d, m4cshenc, "ca_sjb_c.5_1", 0x0000, 0x020000, CRC(8fad355d) SHA1(2ac16ad85ab8239a3e961abb06f9f71d17e5832a), "Bwb / Barcrest","Cash Encounters (Barcrest) (MPU4) (set 5)" ) +// "(C)1997 BWB" and "CA_ 5.0" +GAME_CUSTOM( 199?, m4cshenc, 0, "ca_sj__c.5_1", 0x0000, 0x020000, CRC(d9131b39) SHA1(4af89a7bc10de1406f401bede41e1bc452dbb159), "Bwb","Cash Encounters (Barcrest) (MPU4) (CA_ 5.0)" ) +GAME_CUSTOM( 199?, m4cshenc__a, m4cshenc, "ca_sj_bc.5_1", 0x0000, 0x020000, CRC(30d1fb6d) SHA1(f845bef4ad7f2f48077eed74840916e87abb24b2), "Bwb","Cash Encounters (Barcrest) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4cshenc__b, m4cshenc, "ca_sj_dc.5_1", 0x0000, 0x020000, CRC(ac3ec716) SHA1(4ff8c26c46ec6e1321249b4d6d0c5194ed917f33), "Bwb","Cash Encounters (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4cshenc__c, m4cshenc, "ca_sja_c.5_1", 0x0000, 0x020000, CRC(c56a9d0b) SHA1(b0298c2e03097ab8ba5f99892e732ff1ab784c9b), "Bwb","Cash Encounters (Barcrest) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4cshenc__d, m4cshenc, "ca_sjb_c.5_1", 0x0000, 0x020000, CRC(8fad355d) SHA1(2ac16ad85ab8239a3e961abb06f9f71d17e5832a), "Bwb","Cash Encounters (Barcrest) (MPU4) (set 5)" ) @@ -5195,14 +5308,15 @@ GAME_CUSTOM( 199?, m4cshenc__d, m4cshenc, "ca_sjb_c.5_1", 0x0000, 0x020000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4lvlcl, 0, "ll__x__x.1_1", 0x0000, 0x010000, CRC(1ef1c5b4) SHA1(455c147f158f8a36a9add9b984abc22af78258cf), "Bwb / Barcrest","Lucky Las Vegas Classic (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4lvlcl__a, m4lvlcl, "ll__x__x.3_1", 0x0000, 0x010000, CRC(42b85ebc) SHA1(a352d8389674fcfd90dc4e8155e6f4a78c9ec70d), "Bwb / Barcrest","Lucky Las Vegas Classic (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4lvlcl__b, m4lvlcl, "ll__x_dx.3_1", 0x0000, 0x010000, CRC(7753c8f0) SHA1(9600fee08529f29716697c4630730f15ef8a457b), "Bwb / Barcrest","Lucky Las Vegas Classic (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4lvlcl__c, m4lvlcl, "ll__xa_x.3_1", 0x0000, 0x010000, CRC(79468e93) SHA1(4beaa6fe2ad095b4674473ab99a7216513923077), "Bwb / Barcrest","Lucky Las Vegas Classic (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4lvlcl__d, m4lvlcl, "ll__xb_x.3_1", 0x0000, 0x010000, CRC(73b2fb34) SHA1(c127bc0954f8d01e9d8365a4506dde6f17da33fd), "Bwb / Barcrest","Lucky Las Vegas Classic (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4lvlcl__e, m4lvlcl, "ll__xgdx.1_1", 0x0000, 0x010000, CRC(65824c4f) SHA1(a514e48ac0f9d4a8d7506bf6932aeee88ca17104), "Bwb / Barcrest","Lucky Las Vegas Classic (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4lvlcl__f, m4lvlcl, "ll__xgdx.3_1", 0x0000, 0x010000, CRC(ba5b951a) SHA1(9ee36d3d42ce68f5797208633be87ddbbe605cf1), "Bwb / Barcrest","Lucky Las Vegas Classic (Barcrest) (MPU4) (set 7)" ) +// "(C)1998 BWB" and "LLU 0.1" +GAME_CUSTOM( 199?, m4lvlcl, 0, "ll__x__x.1_1", 0x0000, 0x010000, CRC(1ef1c5b4) SHA1(455c147f158f8a36a9add9b984abc22af78258cf), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 0.1)" ) +GAME_CUSTOM( 199?, m4lvlcl__e, m4lvlcl, "ll__xgdx.1_1", 0x0000, 0x010000, CRC(65824c4f) SHA1(a514e48ac0f9d4a8d7506bf6932aeee88ca17104), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (set 6)" ) +// "(C)1998 BWB" and "LLU 3.0" +GAME_CUSTOM( 199?, m4lvlcl__a, m4lvlcl, "ll__x__x.3_1", 0x0000, 0x010000, CRC(42b85ebc) SHA1(a352d8389674fcfd90dc4e8155e6f4a78c9ec70d), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (LLU 3.0)" ) +GAME_CUSTOM( 199?, m4lvlcl__b, m4lvlcl, "ll__x_dx.3_1", 0x0000, 0x010000, CRC(7753c8f0) SHA1(9600fee08529f29716697c4630730f15ef8a457b), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4lvlcl__c, m4lvlcl, "ll__xa_x.3_1", 0x0000, 0x010000, CRC(79468e93) SHA1(4beaa6fe2ad095b4674473ab99a7216513923077), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4lvlcl__d, m4lvlcl, "ll__xb_x.3_1", 0x0000, 0x010000, CRC(73b2fb34) SHA1(c127bc0954f8d01e9d8365a4506dde6f17da33fd), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4lvlcl__f, m4lvlcl, "ll__xgdx.3_1", 0x0000, 0x010000, CRC(ba5b951a) SHA1(9ee36d3d42ce68f5797208633be87ddbbe605cf1), "Bwb","Lucky Las Vegas Classic (Barcrest) (MPU4) (set 7)" ) #define M4RHS_EXTRA_ROMS \ @@ -5223,20 +5337,23 @@ GAME_CUSTOM( 199?, m4lvlcl__f, m4lvlcl, "ll__xgdx.3_1", 0x0000, 0x010000, CR ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4rhs, 0, "rh_sj___.4s1", 0x0000, 0x020000, CRC(be6179cd) SHA1(8aefffdffb25bc4dd7d083c7027be746181c2ff9), "Bwb / Barcrest","Rocky Horror Show (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4rhs__a, m4rhs, "rh_sj__c.6_1", 0x0000, 0x020000, CRC(476f3cf2) SHA1(18ce990e28ca8565ade5eec9a62f0b243121af73), "Bwb / Barcrest","Rocky Horror Show (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4rhs__b, m4rhs, "rh_sj_b_.4s1", 0x0000, 0x020000, CRC(58a4480e) SHA1(f4ecfa1debbfa9dba75263bce2c9f66741c3466f), "Bwb / Barcrest","Rocky Horror Show (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4rhs__c, m4rhs, "rh_sj_bc.6_1", 0x0000, 0x020000, CRC(2e37a58c) SHA1(a48c96384aa81f98bfa980c93e93523ecef3d43c), "Bwb / Barcrest","Rocky Horror Show (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4rhs__d, m4rhs, "rh_sj_d_.4s1", 0x0000, 0x020000, CRC(8f1176db) SHA1(283ef0b9515eac342a02489118bd30016ba85399), "Bwb / Barcrest","Rocky Horror Show (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4rhs__e, m4rhs, "rh_sj_k_.4s1", 0x0000, 0x020000, CRC(3f2ef505) SHA1(28c3806bc48af21a2b7ea27d42ea9f6b4346f3b8), "Bwb / Barcrest","Rocky Horror Show (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4rhs__f, m4rhs, "rh_sja__.4s1", 0x0000, 0x020000, CRC(b8cdd5fb) SHA1(4e336dd3d61f4fdba731951c56e440766ea8efeb), "Bwb / Barcrest","Rocky Horror Show (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4rhs__g, m4rhs, "rh_sja_c.6_1", 0x0000, 0x020000, CRC(b7b790e5) SHA1(e2b34dc2f6ede4f4c22b11123dfaed46f2c5c45e), "Bwb / Barcrest","Rocky Horror Show (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4rhs__h, m4rhs, "rh_sjab_.4s1", 0x0000, 0x020000, CRC(c8468d4c) SHA1(6a9f8fe10949712ecacca3bfcd7d5ab4860682e2), "Bwb / Barcrest","Rocky Horror Show (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4rhs__i, m4rhs, "rh_sjad_.4s1", 0x0000, 0x020000, CRC(df4768f0) SHA1(74894b232b27e65058d59acf174172da86def95a), "Bwb / Barcrest","Rocky Horror Show (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4rhs__j, m4rhs, "rh_sjak_.4s1", 0x0000, 0x020000, CRC(6f78eb2e) SHA1(a9fec7a7ad9334c3d8760e1982ac00651858cee8), "Bwb / Barcrest","Rocky Horror Show (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4rhs__k, m4rhs, "rocky15g", 0x0000, 0x020000, CRC(05f4f333) SHA1(a1b917f6c91d751fb2433e46c4c60840b47eed9e), "Bwb / Barcrest","Rocky Horror Show (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4rhs__l, m4rhs, "rocky15t", 0x0000, 0x020000, CRC(3fbad6de) SHA1(e8d76b3878794c769187d92d2834018a84e764ac), "Bwb / Barcrest","Rocky Horror Show (Barcrest) (MPU4) (set 13)" ) +// "(C)1998 B.W.B." and "RH__4.0" +GAME_CUSTOM( 199?, m4rhs, 0, "rh_sj___.4s1", 0x0000, 0x020000, CRC(be6179cd) SHA1(8aefffdffb25bc4dd7d083c7027be746181c2ff9), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0)" ) +GAME_CUSTOM( 199?, m4rhs__b, m4rhs, "rh_sj_b_.4s1", 0x0000, 0x020000, CRC(58a4480e) SHA1(f4ecfa1debbfa9dba75263bce2c9f66741c3466f), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4rhs__d, m4rhs, "rh_sj_d_.4s1", 0x0000, 0x020000, CRC(8f1176db) SHA1(283ef0b9515eac342a02489118bd30016ba85399), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4rhs__e, m4rhs, "rh_sj_k_.4s1", 0x0000, 0x020000, CRC(3f2ef505) SHA1(28c3806bc48af21a2b7ea27d42ea9f6b4346f3b8), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (set 6)" ) +GAME_CUSTOM( 199?, m4rhs__f, m4rhs, "rh_sja__.4s1", 0x0000, 0x020000, CRC(b8cdd5fb) SHA1(4e336dd3d61f4fdba731951c56e440766ea8efeb), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4rhs__h, m4rhs, "rh_sjab_.4s1", 0x0000, 0x020000, CRC(c8468d4c) SHA1(6a9f8fe10949712ecacca3bfcd7d5ab4860682e2), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (set 9)" ) +GAME_CUSTOM( 199?, m4rhs__i, m4rhs, "rh_sjad_.4s1", 0x0000, 0x020000, CRC(df4768f0) SHA1(74894b232b27e65058d59acf174172da86def95a), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (set 10)" ) +GAME_CUSTOM( 199?, m4rhs__j, m4rhs, "rh_sjak_.4s1", 0x0000, 0x020000, CRC(6f78eb2e) SHA1(a9fec7a7ad9334c3d8760e1982ac00651858cee8), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (set 11)" ) +// "(C)1998 B.W.B." and "RH__6.0" +GAME_CUSTOM( 199?, m4rhs__a, m4rhs, "rh_sj__c.6_1", 0x0000, 0x020000, CRC(476f3cf2) SHA1(18ce990e28ca8565ade5eec9a62f0b243121af73), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__6.0)" ) +GAME_CUSTOM( 199?, m4rhs__c, m4rhs, "rh_sj_bc.6_1", 0x0000, 0x020000, CRC(2e37a58c) SHA1(a48c96384aa81f98bfa980c93e93523ecef3d43c), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4rhs__g, m4rhs, "rh_sja_c.6_1", 0x0000, 0x020000, CRC(b7b790e5) SHA1(e2b34dc2f6ede4f4c22b11123dfaed46f2c5c45e), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (set 8)" ) +// no copyright string and "RH__2.0" +GAME_CUSTOM( 199?, m4rhs__k, m4rhs, "rocky15g", 0x0000, 0x020000, CRC(05f4f333) SHA1(a1b917f6c91d751fb2433e46c4c60840b47eed9e), "hack","Rocky Horror Show (Barcrest) (MPU4) (RH__2.0, hack)" ) +// no copyright string and "RH__3.0" +GAME_CUSTOM( 199?, m4rhs__l, m4rhs, "rocky15t", 0x0000, 0x020000, CRC(3fbad6de) SHA1(e8d76b3878794c769187d92d2834018a84e764ac), "hack","Rocky Horror Show (Barcrest) (MPU4) (RH__3.0, hack)" ) #define M4OADRAC_EXTRA_ROMS \ @@ -5254,16 +5371,17 @@ GAME_CUSTOM( 199?, m4rhs__l, m4rhs, "rocky15t", 0x0000, 0x020000, CRC(3fba ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4oadrac, 0, "dr__x__x.2_0", 0x0000, 0x020000, CRC(4ca65bd9) SHA1(deb0a7d3596647210061b69a10fc6cdfc066538e), "Bwb / Barcrest","Ooh Aah Dracula (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4oadrac__a, m4oadrac, "dr__x__x.2_1", 0x0000, 0x020000, CRC(d91773af) SHA1(3d8dda0f409f55bce9c4d4e2a8377e43fe2f1f7d), "Bwb / Barcrest","Ooh Aah Dracula (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4oadrac__b, m4oadrac, "dr__x_dx.2_0", 0x0000, 0x020000, CRC(47f3ac5a) SHA1(e0413c55b897e96e32c3332dac041bc94da6dea3), "Bwb / Barcrest","Ooh Aah Dracula (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4oadrac__c, m4oadrac, "dr__x_dx.2_1", 0x0000, 0x020000, CRC(f8c36b67) SHA1(c765d7a5eb4d7cd74295da26a7c6f5341a1ca257), "Bwb / Barcrest","Ooh Aah Dracula (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4oadrac__d, m4oadrac, "dr__xa_x.2_0", 0x0000, 0x020000, CRC(702f0f7a) SHA1(8529c3eaa33cb972cc38067d176c7c8af0674147), "Bwb / Barcrest","Ooh Aah Dracula (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4oadrac__e, m4oadrac, "dr__xa_x.2_1", 0x0000, 0x020000, CRC(cf1fc847) SHA1(6b09c0de15a380da1783a387569d83328f5b29a0), "Bwb / Barcrest","Ooh Aah Dracula (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4oadrac__f, m4oadrac, "dr__xb_x.2_0", 0x0000, 0x020000, CRC(3ae8a72c) SHA1(a27faba69430b1d16abf62e0ef37182ab302bbbd), "Bwb / Barcrest","Ooh Aah Dracula (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4oadrac__g, m4oadrac, "dr__xb_x.2_1", 0x0000, 0x020000, CRC(85d86011) SHA1(81f8624908299aa37e75fc5d12059b3600212d35), "Bwb / Barcrest","Ooh Aah Dracula (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4oadrac__h, m4oadrac, "dri_xa_x.2_0", 0x0000, 0x020000, CRC(849d2a80) SHA1(c9ff0a5a543b62ca5b885f93a35b5f40e88db8c3), "Bwb / Barcrest","Ooh Aah Dracula (Barcrest) (MPU4) (set 9)" ) +// "(C)1999 BWB" and "DR_ 2.0" +GAME_CUSTOM( 199?, m4oadrac, 0, "dr__x__x.2_0", 0x0000, 0x020000, CRC(4ca65bd9) SHA1(deb0a7d3596647210061b69a10fc6cdfc066538e), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.0)" ) +GAME_CUSTOM( 199?, m4oadrac__b, m4oadrac, "dr__x_dx.2_0", 0x0000, 0x020000, CRC(47f3ac5a) SHA1(e0413c55b897e96e32c3332dac041bc94da6dea3), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4oadrac__d, m4oadrac, "dr__xa_x.2_0", 0x0000, 0x020000, CRC(702f0f7a) SHA1(8529c3eaa33cb972cc38067d176c7c8af0674147), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4oadrac__f, m4oadrac, "dr__xb_x.2_0", 0x0000, 0x020000, CRC(3ae8a72c) SHA1(a27faba69430b1d16abf62e0ef37182ab302bbbd), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4oadrac__h, m4oadrac, "dri_xa_x.2_0", 0x0000, 0x020000, CRC(849d2a80) SHA1(c9ff0a5a543b62ca5b885f93a35b5f40e88db8c3), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (set 9)" ) +// "(C)1999 BWB" and "DR_ 2.1" +GAME_CUSTOM( 199?, m4oadrac__a, m4oadrac, "dr__x__x.2_1", 0x0000, 0x020000, CRC(d91773af) SHA1(3d8dda0f409f55bce9c4d4e2a8377e43fe2f1f7d), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.1)" ) +GAME_CUSTOM( 199?, m4oadrac__c, m4oadrac, "dr__x_dx.2_1", 0x0000, 0x020000, CRC(f8c36b67) SHA1(c765d7a5eb4d7cd74295da26a7c6f5341a1ca257), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4oadrac__e, m4oadrac, "dr__xa_x.2_1", 0x0000, 0x020000, CRC(cf1fc847) SHA1(6b09c0de15a380da1783a387569d83328f5b29a0), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (set 6)" ) +GAME_CUSTOM( 199?, m4oadrac__g, m4oadrac, "dr__xb_x.2_1", 0x0000, 0x020000, CRC(85d86011) SHA1(81f8624908299aa37e75fc5d12059b3600212d35), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (set 8)" ) @@ -5280,35 +5398,42 @@ GAME_CUSTOM( 199?, m4oadrac__h, m4oadrac, "dri_xa_x.2_0", 0x0000, 0x020000, GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4ticcla, 0, "ct_20_b4.7_1", 0x0000, 0x010000, CRC(48b9a162) SHA1(2d19a5d6379dc93a56c920b3cd61a0d1a8c6b303), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4ticcla__a, m4ticcla, "ct_20_bc.4_1", 0x0000, 0x010000, CRC(fb40b5ff) SHA1(723a07a2b6b08483aa75ecdd4fd9720a66201fc3), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4ticcla__b, m4ticcla, "ct_20_d4.7_1", 0x0000, 0x010000, CRC(3c7c862c) SHA1(a3577f29950e845a14ca68750d2ab6c56a395dba), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4ticcla__c, m4ticcla, "ct_20_dc.4_1", 0x0000, 0x010000, CRC(0f20a790) SHA1(02876178f0af64154d490cc048a7bc1c9a6f521b), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4ticcla__d, m4ticcla, "ct_20a_4.7_1", 0x0000, 0x010000, CRC(35318095) SHA1(888105a674c9ea8ccad33e24c05ef42936f5f4cf), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4ticcla__e, m4ticcla, "ct_20a_c.4_1", 0x0000, 0x010000, CRC(e409f49f) SHA1(8774015ec20ed9fe54e812013dfc12d408276c31), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4ticcla__f, m4ticcla, "ct_20b_c.4_1", 0x0000, 0x010000, CRC(864a59cf) SHA1(abd9b7a47c791ce4f91abbd3bf97bdcd9d8296ee), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4ticcla__g, m4ticcla, "ct_20bg4.7_1", 0x0000, 0x010000, CRC(7f200f42) SHA1(0ea6aa0de88982737d818c9dac9f2605cea7bc11), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4ticcla__h, m4ticcla, "ct_20bgc.4_1", 0x0000, 0x010000, CRC(215b8965) SHA1(883735066a1425b502e89d1234575294ac83746c), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4ticcla__i, m4ticcla, "ct_20bt4.7_1", 0x0000, 0x010000, CRC(7c7280a4) SHA1(3dbdc53a3474f4147427ed4fa8a161a3b364d43b), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4ticcla__j, m4ticcla, "ct_25_bc.3_1", 0x0000, 0x010000, CRC(9d6fb3b0) SHA1(a6278579d217b5544d9f0b942a7a344596153950), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4ticcla__k, m4ticcla, "ct_25_dc.2_1", 0x0000, 0x010000, CRC(b49af435) SHA1(e5f92f114931e554eb8eb5fe89f50298783d541c), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4ticcla__l, m4ticcla, "ct_25_dc.3_1", 0x0000, 0x010000, CRC(eb359c82) SHA1(c137768461b859d5277b08c8783b0c8625f9b1be), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4ticcla__m, m4ticcla, "ct_25_kc.2_1", 0x0000, 0x010000, CRC(43309e7b) SHA1(d8f6ecbea618da7f54309f2a6e93210c51b68b81), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4ticcla__n, m4ticcla, "ct_25a_c.2_1", 0x0000, 0x010000, CRC(717396ed) SHA1(6cdb0f99b40096178f6e85a0966182e704d1b99a), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4ticcla__o, m4ticcla, "ct_25a_c.3_1", 0x0000, 0x010000, CRC(28e0a15b) SHA1(b3678ba3d1f392665cc6ec9c24c2c506a41cd4fa), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4ticcla__p, m4ticcla, "ct_25b_c.2_1", 0x0000, 0x010000, CRC(b3d7e79c) SHA1(86c0b419c3ca054f8a2ed785cffeb03e6c5b69f2), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4ticcla__q, m4ticcla, "ct_25b_c.3_1", 0x0000, 0x010000, CRC(e0ba763d) SHA1(453d8a0dbe616c5a8c4313b918fcfe21fed473e0), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4ticcla__r, m4ticcla, "ct_25bgc.2_1", 0x0000, 0x010000, CRC(0869d04c) SHA1(0f0fd3982ac376c66d139655a50639f48bf740b4), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4ticcla__s, m4ticcla, "ct_25bgc.3_1", 0x0000, 0x010000, CRC(1e0ca1d1) SHA1(0b1023cdd5cd3db657cea53c85e31ed83c2e5524), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4ticcla__t, m4ticcla, "ct_25btc.2_1", 0x0000, 0x010000, CRC(032ec96d) SHA1(c5cef956bc0e3eb45cf128c8d0b4e1d6e5b01afe), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4ticcla__u, m4ticcla, "ct_25btc.3_1", 0x0000, 0x010000, CRC(f656897a) SHA1(92ad5c6ce2a696298bbfc8c1750825db4e3bc80b), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4ticcla__v, m4ticcla, "ct_30_dc.2_1", 0x0000, 0x010000, CRC(57fabdfb) SHA1(ad86621e4bc8141508c691e148a66e74fc070a88), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4ticcla__w, m4ticcla, "ct_30a_c.2_1", 0x0000, 0x010000, CRC(800c94c3) SHA1(c78497899ea9cf27e66f6e8526b95d51215053b2), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4ticcla__x, m4ticcla, "ct_30b_c.2_1", 0x0000, 0x010000, CRC(3036ef04) SHA1(de514a85d45d11a880ed147aebe211ffb5bee146), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4ticcla__y, m4ticcla, "ct_30bdc.2_1", 0x0000, 0x010000, CRC(9852c9d4) SHA1(37bb20d63fa70ea99e18a16a8f11c461a377a07a), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4ticcla__z, m4ticcla, "ct_30bgc.2_1", 0x0000, 0x010000, CRC(a1bc89b4) SHA1(4c82ce8fe78768443823e868f7cc49a06e7cc441), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4ticcla__0, m4ticcla, "ct_30btc.2_1", 0x0000, 0x010000, CRC(cde0d12e) SHA1(5427ad700311c30cc86eccc7f1ff36cf0da3b980), "Bwb / Barcrest","Tic Tac Toe Classic (Barcrest) (MPU4) (set 28)" ) +// "(C)1996 B.W.B." and "CT4 7.0" +GAME_CUSTOM( 199?, m4ticcla, 0, "ct_20_b4.7_1", 0x0000, 0x010000, CRC(48b9a162) SHA1(2d19a5d6379dc93a56c920b3cd61a0d1a8c6b303), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 1)" ) + +GAME_CUSTOM( 199?, m4ticcla__b, m4ticcla, "ct_20_d4.7_1", 0x0000, 0x010000, CRC(3c7c862c) SHA1(a3577f29950e845a14ca68750d2ab6c56a395dba), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4ticcla__d, m4ticcla, "ct_20a_4.7_1", 0x0000, 0x010000, CRC(35318095) SHA1(888105a674c9ea8ccad33e24c05ef42936f5f4cf), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4ticcla__g, m4ticcla, "ct_20bg4.7_1", 0x0000, 0x010000, CRC(7f200f42) SHA1(0ea6aa0de88982737d818c9dac9f2605cea7bc11), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 8)" ) +GAME_CUSTOM( 199?, m4ticcla__i, m4ticcla, "ct_20bt4.7_1", 0x0000, 0x010000, CRC(7c7280a4) SHA1(3dbdc53a3474f4147427ed4fa8a161a3b364d43b), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 10)" ) + +// "(C)1996 B.W.B." and "CT 4.0" +GAME_CUSTOM( 199?, m4ticcla__a, m4ticcla, "ct_20_bc.4_1", 0x0000, 0x010000, CRC(fb40b5ff) SHA1(723a07a2b6b08483aa75ecdd4fd9720a66201fc3), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4ticcla__c, m4ticcla, "ct_20_dc.4_1", 0x0000, 0x010000, CRC(0f20a790) SHA1(02876178f0af64154d490cc048a7bc1c9a6f521b), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4ticcla__e, m4ticcla, "ct_20a_c.4_1", 0x0000, 0x010000, CRC(e409f49f) SHA1(8774015ec20ed9fe54e812013dfc12d408276c31), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 6)" ) +GAME_CUSTOM( 199?, m4ticcla__f, m4ticcla, "ct_20b_c.4_1", 0x0000, 0x010000, CRC(864a59cf) SHA1(abd9b7a47c791ce4f91abbd3bf97bdcd9d8296ee), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4ticcla__h, m4ticcla, "ct_20bgc.4_1", 0x0000, 0x010000, CRC(215b8965) SHA1(883735066a1425b502e89d1234575294ac83746c), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 9)" ) + +// "(C)1996 B.W.B." and "CT4 3.0" (CTT on startup) +GAME_CUSTOM( 199?, m4ticcla__j, m4ticcla, "ct_25_bc.3_1", 0x0000, 0x010000, CRC(9d6fb3b0) SHA1(a6278579d217b5544d9f0b942a7a344596153950), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 11)" ) +GAME_CUSTOM( 199?, m4ticcla__l, m4ticcla, "ct_25_dc.3_1", 0x0000, 0x010000, CRC(eb359c82) SHA1(c137768461b859d5277b08c8783b0c8625f9b1be), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4ticcla__o, m4ticcla, "ct_25a_c.3_1", 0x0000, 0x010000, CRC(28e0a15b) SHA1(b3678ba3d1f392665cc6ec9c24c2c506a41cd4fa), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 16)" ) +GAME_CUSTOM( 199?, m4ticcla__q, m4ticcla, "ct_25b_c.3_1", 0x0000, 0x010000, CRC(e0ba763d) SHA1(453d8a0dbe616c5a8c4313b918fcfe21fed473e0), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 18)" ) +GAME_CUSTOM( 199?, m4ticcla__s, m4ticcla, "ct_25bgc.3_1", 0x0000, 0x010000, CRC(1e0ca1d1) SHA1(0b1023cdd5cd3db657cea53c85e31ed83c2e5524), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 20)" ) +GAME_CUSTOM( 199?, m4ticcla__u, m4ticcla, "ct_25btc.3_1", 0x0000, 0x010000, CRC(f656897a) SHA1(92ad5c6ce2a696298bbfc8c1750825db4e3bc80b), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 22)" ) + +// "(C)1998 B.W.B." and "CT 2.3" +GAME_CUSTOM( 199?, m4ticcla__k, m4ticcla, "ct_25_dc.2_1", 0x0000, 0x010000, CRC(b49af435) SHA1(e5f92f114931e554eb8eb5fe89f50298783d541c), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4ticcla__m, m4ticcla, "ct_25_kc.2_1", 0x0000, 0x010000, CRC(43309e7b) SHA1(d8f6ecbea618da7f54309f2a6e93210c51b68b81), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4ticcla__n, m4ticcla, "ct_25a_c.2_1", 0x0000, 0x010000, CRC(717396ed) SHA1(6cdb0f99b40096178f6e85a0966182e704d1b99a), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 15)" ) +GAME_CUSTOM( 199?, m4ticcla__p, m4ticcla, "ct_25b_c.2_1", 0x0000, 0x010000, CRC(b3d7e79c) SHA1(86c0b419c3ca054f8a2ed785cffeb03e6c5b69f2), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 17)" ) +GAME_CUSTOM( 199?, m4ticcla__r, m4ticcla, "ct_25bgc.2_1", 0x0000, 0x010000, CRC(0869d04c) SHA1(0f0fd3982ac376c66d139655a50639f48bf740b4), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 19)" ) +GAME_CUSTOM( 199?, m4ticcla__t, m4ticcla, "ct_25btc.2_1", 0x0000, 0x010000, CRC(032ec96d) SHA1(c5cef956bc0e3eb45cf128c8d0b4e1d6e5b01afe), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 21)" ) +GAME_CUSTOM( 199?, m4ticcla__v, m4ticcla, "ct_30_dc.2_1", 0x0000, 0x010000, CRC(57fabdfb) SHA1(ad86621e4bc8141508c691e148a66e74fc070a88), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 23)" ) +GAME_CUSTOM( 199?, m4ticcla__w, m4ticcla, "ct_30a_c.2_1", 0x0000, 0x010000, CRC(800c94c3) SHA1(c78497899ea9cf27e66f6e8526b95d51215053b2), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 24)" ) +GAME_CUSTOM( 199?, m4ticcla__x, m4ticcla, "ct_30b_c.2_1", 0x0000, 0x010000, CRC(3036ef04) SHA1(de514a85d45d11a880ed147aebe211ffb5bee146), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 25)" ) +GAME_CUSTOM( 199?, m4ticcla__y, m4ticcla, "ct_30bdc.2_1", 0x0000, 0x010000, CRC(9852c9d4) SHA1(37bb20d63fa70ea99e18a16a8f11c461a377a07a), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 26)" ) +GAME_CUSTOM( 199?, m4ticcla__z, m4ticcla, "ct_30bgc.2_1", 0x0000, 0x010000, CRC(a1bc89b4) SHA1(4c82ce8fe78768443823e868f7cc49a06e7cc441), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 27)" ) +GAME_CUSTOM( 199?, m4ticcla__0, m4ticcla, "ct_30btc.2_1", 0x0000, 0x010000, CRC(cde0d12e) SHA1(5427ad700311c30cc86eccc7f1ff36cf0da3b980), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (set 28)" ) #define M4TICGLC_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ @@ -5322,11 +5447,13 @@ GAME_CUSTOM( 199?, m4ticcla__0, m4ticcla, "ct_30btc.2_1", 0x0000, 0x010000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4ticglc, 0, "tg_25a_c.3_1", 0x0000, 0x010000, CRC(44b2b6b0) SHA1(c2caadd68659bd474df534101e3bc13b15a43694), "Bwb / Barcrest","Tic Tac Toe Gold (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4ticglc__a, m4ticglc, "tg_30_dc.4_1", 0x0000, 0x010000, CRC(19c0fb1e) SHA1(955da095df56f28ace6839c9b6df5669f576730c), "Bwb / Barcrest","Tic Tac Toe Gold (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4ticglc__b, m4ticglc, "tg_30a_c.4_1", 0x0000, 0x010000, CRC(3e4dcc70) SHA1(c4ad3a8633e19015d4d2b08a653119e9e4c5dcbb), "Bwb / Barcrest","Tic Tac Toe Gold (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4ticglc__c, m4ticglc, "tg_30b_c.4_1", 0x0000, 0x010000, CRC(83d1517a) SHA1(38a9269dac53ca701e4b621d5e77696142f429cd), "Bwb / Barcrest","Tic Tac Toe Gold (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4ticglc__d, m4ticglc, "tg_30bgc.4_1", 0x0000, 0x010000, CRC(a366c32d) SHA1(8d86778411ef07e06d99c12147a211d7620af9bf), "Bwb / Barcrest","Tic Tac Toe Gold (Barcrest) (MPU4) (set 5)" ) +// "(C)1998 B.W.B." and "TG 3.3" +GAME_CUSTOM( 199?, m4ticglc, 0, "tg_25a_c.3_1", 0x0000, 0x010000, CRC(44b2b6b0) SHA1(c2caadd68659bd474df534101e3bc13b15a43694), "Bwb","Tic Tac Toe Gold (Barcrest) (MPU4) (TG 3.3)" ) +// "(C)1998 B.W.B." and "TG 4.4" +GAME_CUSTOM( 199?, m4ticglc__a, m4ticglc, "tg_30_dc.4_1", 0x0000, 0x010000, CRC(19c0fb1e) SHA1(955da095df56f28ace6839c9b6df5669f576730c), "Bwb","Tic Tac Toe Gold (Barcrest) (MPU4) (TG 4.4)" ) +GAME_CUSTOM( 199?, m4ticglc__b, m4ticglc, "tg_30a_c.4_1", 0x0000, 0x010000, CRC(3e4dcc70) SHA1(c4ad3a8633e19015d4d2b08a653119e9e4c5dcbb), "Bwb","Tic Tac Toe Gold (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4ticglc__c, m4ticglc, "tg_30b_c.4_1", 0x0000, 0x010000, CRC(83d1517a) SHA1(38a9269dac53ca701e4b621d5e77696142f429cd), "Bwb","Tic Tac Toe Gold (Barcrest) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4ticglc__d, m4ticglc, "tg_30bgc.4_1", 0x0000, 0x010000, CRC(a366c32d) SHA1(8d86778411ef07e06d99c12147a211d7620af9bf), "Bwb","Tic Tac Toe Gold (Barcrest) (MPU4) (set 5)" ) #define M4SSCLAS_EXTRA_ROMS \ ROM_REGION( 0x48, "fakechr", 0 ) \ @@ -5342,13 +5469,15 @@ GAME_CUSTOM( 199?, m4ticglc__d, m4ticglc, "tg_30bgc.4_1", 0x0000, 0x010000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4ssclas, 0, "cs__x__x.6_0", 0x0000, 0x010000, CRC(3230284d) SHA1(bca3b4c43859ed424956c4119fa6a91a2e7d6eec), "Bwb / Barcrest","Super Streak Classic (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4ssclas__a, m4ssclas, "cs__x_dx.2_0", 0x0000, 0x010000, CRC(ea004a13) SHA1(db9a187b0672c69a6a149ec6d1025bd6da9beccd), "Bwb / Barcrest","Super Streak Classic (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4ssclas__b, m4ssclas, "cs__x_dx.6_0", 0x0000, 0x010000, CRC(6dd2d11f) SHA1(8c7e60d3e5a0d4fccb024b5c0aa21fd2b9a5ada9), "Bwb / Barcrest","Super Streak Classic (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4ssclas__c, m4ssclas, "cs__xa_x.6_0", 0x0000, 0x010000, CRC(6657e810) SHA1(0860076cf01c732f419483876991fb42a838622a), "Bwb / Barcrest","Super Streak Classic (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4ssclas__d, m4ssclas, "cs__xb_x.5_0", 0x0000, 0x010000, CRC(a5f46ff5) SHA1(a068029f774bc6ed2e76acc2eb509bc6e2490945), "Bwb / Barcrest","Super Streak Classic (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4ssclas__e, m4ssclas, "cs__xb_x.6_0", 0x0000, 0x010000, CRC(801d543c) SHA1(f0905947312fb2a526765d17cde01af5095ef923), "Bwb / Barcrest","Super Streak Classic (Barcrest) (MPU4) (set 6)" ) +// "(C)2000 BWB" and "CSS 6.0" +GAME_CUSTOM( 199?, m4ssclas, 0, "cs__x__x.6_0", 0x0000, 0x010000, CRC(3230284d) SHA1(bca3b4c43859ed424956c4119fa6a91a2e7d6eec), "Bwb","Super Streak Classic (Barcrest) (MPU4) (CSS 6.0)" ) +GAME_CUSTOM( 199?, m4ssclas__b, m4ssclas, "cs__x_dx.6_0", 0x0000, 0x010000, CRC(6dd2d11f) SHA1(8c7e60d3e5a0d4fccb024b5c0aa21fd2b9a5ada9), "Bwb","Super Streak Classic (Barcrest) (MPU4) (set 3)" ) +GAME_CUSTOM( 199?, m4ssclas__c, m4ssclas, "cs__xa_x.6_0", 0x0000, 0x010000, CRC(6657e810) SHA1(0860076cf01c732f419483876991fb42a838622a), "Bwb","Super Streak Classic (Barcrest) (MPU4) (set 4)" ) +GAME_CUSTOM( 199?, m4ssclas__e, m4ssclas, "cs__xb_x.6_0", 0x0000, 0x010000, CRC(801d543c) SHA1(f0905947312fb2a526765d17cde01af5095ef923), "Bwb","Super Streak Classic (Barcrest) (MPU4) (set 6)" ) +// "(C)1998 BWB" and "CSS 5.0" +GAME_CUSTOM( 199?, m4ssclas__d, m4ssclas, "cs__xb_x.5_0", 0x0000, 0x010000, CRC(a5f46ff5) SHA1(a068029f774bc6ed2e76acc2eb509bc6e2490945), "Bwb","Super Streak Classic (Barcrest) (MPU4) (CSS 5.0)" ) +// "(C)1998 BWB" and "CSS 2.0" +GAME_CUSTOM( 199?, m4ssclas__a, m4ssclas, "cs__x_dx.2_0", 0x0000, 0x010000, CRC(ea004a13) SHA1(db9a187b0672c69a6a149ec6d1025bd6da9beccd), "Bwb","Super Streak Classic (Barcrest) (MPU4) (CSS 2.0)" ) // was in SC2 Super Star set, but seems to fit here, ident hacked to "BILL BIXBY" and "V1 0.1" GAME_CUSTOM( 199?, m4ssclas__f, m4ssclas, "supst20.15", 0x0000, 0x010000, CRC(c3446ec4) SHA1(3c1ad27385547a33993a839b53873d8b92214ade), "hack","Super Streak Classic (Barcrest) (MPU4) (hack)" ) @@ -5369,10 +5498,11 @@ GAME_CUSTOM( 199?, m4ssclas__f, m4ssclas, "supst20.15", 0x0000, 0x010000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4squid, 0, "squidsin.bin", 0x0000, 0x020000, CRC(be369b43) SHA1(e5c7b7a858b264db2f8f726396ddeb42004d7cb9), "Bwb / Barcrest","Squids In (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4squid__a, m4squid, "sq__x_dx.2_0", 0x0000, 0x020000, CRC(2eb6c814) SHA1(070ad5cb36220daf98043f175cf67d4d584c3d01), "Bwb / Barcrest","Squids In (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4squid__b, m4squid, "sq__xa_x.2_0", 0x0000, 0x020000, CRC(196a6b34) SHA1(a044ba73b4cf04657ddfcf787dedcb151507ef15), "Bwb / Barcrest","Squids In (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4squid__c, m4squid, "sq__xb_x.2_0", 0x0000, 0x020000, CRC(53adc362) SHA1(3920f08299bf284ee9f102ce1505d9e9cdc1d1f0), "Bwb / Barcrest","Squids In (Barcrest) (MPU4) (set 4)" ) +// "(C)1999 BWB" and "SQ_ 2.0" +GAME_CUSTOM( 199?, m4squid, 0, "squidsin.bin", 0x0000, 0x020000, CRC(be369b43) SHA1(e5c7b7a858b264db2f8f726396ddeb42004d7cb9), "Bwb","Squids In (Barcrest) (MPU4) (SQ_ 2.0, set 1)" ) +GAME_CUSTOM( 199?, m4squid__a, m4squid, "sq__x_dx.2_0", 0x0000, 0x020000, CRC(2eb6c814) SHA1(070ad5cb36220daf98043f175cf67d4d584c3d01), "Bwb","Squids In (Barcrest) (MPU4) (SQ_ 2.0, set 2)" ) +GAME_CUSTOM( 199?, m4squid__b, m4squid, "sq__xa_x.2_0", 0x0000, 0x020000, CRC(196a6b34) SHA1(a044ba73b4cf04657ddfcf787dedcb151507ef15), "Bwb","Squids In (Barcrest) (MPU4) (SQ_ 2.0, set 3)" ) +GAME_CUSTOM( 199?, m4squid__c, m4squid, "sq__xb_x.2_0", 0x0000, 0x020000, CRC(53adc362) SHA1(3920f08299bf284ee9f102ce1505d9e9cdc1d1f0), "Bwb","Squids In (Barcrest) (MPU4) (SQ_ 2.0, set 4)" ) #define M4CALAMA_EXTRA_ROMS \ ROM_REGION( 0x48, "fakechr", 0 ) \ @@ -5389,17 +5519,22 @@ GAME_CUSTOM( 199?, m4squid__c, m4squid, "sq__xb_x.2_0", 0x0000, 0x020000, CR ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4calama, 0, "cac03s.p1", 0x0000, 0x020000, CRC(edc97795) SHA1(58fb91809c7f475fbceacfc1c3bda41b86dff54b), "Bwb / Barcrest","Calamari Club (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4calama__a, m4calama, "ca301d.p1", 0x0000, 0x020000, CRC(9a220126) SHA1(d5b12955bb336f8233ed3f892e23a14ba755a511), "Bwb / Barcrest","Calamari Club (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4calama__b, m4calama, "ca301f.p1", 0x0000, 0x020000, CRC(e7af1462) SHA1(72659ef85c3b7916e10b4dbc09ad62638e7ab7e1), "Bwb / Barcrest","Calamari Club (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4calama__c, m4calama, "ca301s.p1", 0x0000, 0x020000, CRC(95beecf1) SHA1(70f72abc0d4280618033b61f9dbe5b90b455c2b1), "Bwb / Barcrest","Calamari Club (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4calama__d, m4calama, "cac03d.p1", 0x0000, 0x020000, CRC(14436ec7) SHA1(eb654ef5cef94e24296512acb6134440a5f8d17e), "Bwb / Barcrest","Calamari Club (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4calama__e, m4calama, "cac03f.p1", 0x0000, 0x020000, CRC(69ce7b83) SHA1(c1f2dea6fe7983f5cefbf58ad63bce5ae8d7f7a5), "Bwb / Barcrest","Calamari Club (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4calama__f, m4calama, "bc302f.p1", 0x0000, 0x020000, CRC(4b356aca) SHA1(81ce1585f529f1717ec56ace0a4902ae901593ae), "Bwb / Barcrest","Calamari Club (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4calama__g, m4calama, "bc302s.p1", 0x0000, 0x020000, CRC(b349bd2d) SHA1(9b026bece40584c4f53c30f3dacc91942c871a9f), "Bwb / Barcrest","Calamari Club (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4calama__h, m4calama, "calamari.cl", 0x0000, 0x020000, CRC(bb5e81ac) SHA1(b27f71321978712d2950d58715d18fd5523d6b06), "Bwb / Barcrest","Calamari Club (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4calama__i, m4calama, "bc302d.p1", 0x0000, 0x020000, CRC(36b87f8e) SHA1(6e3cbfa52d9ec52fe009d3331dda3781f7f7783a), "Bwb / Barcrest","Calamari Club (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4calama__j, m4calama, "bca04.p1", 0x0000, 0x020000, CRC(3f97fe65) SHA1(6bc2c7e60658f39701974426ab652e8dd96b1913), "Bwb / Barcrest","Calamari Club (Barcrest) (MPU4) (set 11)" ) +// "(C)1996 BARCREST" and "CAC 0.3" +GAME_CUSTOM( 199?, m4calama, 0, "cac03s.p1", 0x0000, 0x020000, CRC(edc97795) SHA1(58fb91809c7f475fbceacfc1c3bda41b86dff54b), "Barcrest","Calamari Club (Barcrest) (MPU4) (CAC 0.3)" ) +GAME_CUSTOM( 199?, m4calama__d, m4calama, "cac03d.p1", 0x0000, 0x020000, CRC(14436ec7) SHA1(eb654ef5cef94e24296512acb6134440a5f8d17e), "Barcrest","Calamari Club (Barcrest) (MPU4) (set 5)" ) +GAME_CUSTOM( 199?, m4calama__e, m4calama, "cac03f.p1", 0x0000, 0x020000, CRC(69ce7b83) SHA1(c1f2dea6fe7983f5cefbf58ad63bce5ae8d7f7a5), "Barcrest","Calamari Club (Barcrest) (MPU4) (set 6)" ) +// "(C)1996 BARCREST" and "CA3 0.1" +GAME_CUSTOM( 199?, m4calama__c, m4calama, "ca301s.p1", 0x0000, 0x020000, CRC(95beecf1) SHA1(70f72abc0d4280618033b61f9dbe5b90b455c2b1), "Barcrest","Calamari Club (Barcrest) (MPU4) (CA3 0.1)" ) +GAME_CUSTOM( 199?, m4calama__a, m4calama, "ca301d.p1", 0x0000, 0x020000, CRC(9a220126) SHA1(d5b12955bb336f8233ed3f892e23a14ba755a511), "Barcrest","Calamari Club (Barcrest) (MPU4) (set 2)" ) +GAME_CUSTOM( 199?, m4calama__b, m4calama, "ca301f.p1", 0x0000, 0x020000, CRC(e7af1462) SHA1(72659ef85c3b7916e10b4dbc09ad62638e7ab7e1), "Barcrest","Calamari Club (Barcrest) (MPU4) (set 3)" ) +// "(C)1996 BARCREST" and "BC3 0.2" +GAME_CUSTOM( 199?, m4calama__g, m4calama, "bc302s.p1", 0x0000, 0x020000, CRC(b349bd2d) SHA1(9b026bece40584c4f53c30f3dacc91942c871a9f), "Barcrest","Calamari Club (Barcrest) (MPU4) (BC3 0.2)" ) +GAME_CUSTOM( 199?, m4calama__f, m4calama, "bc302f.p1", 0x0000, 0x020000, CRC(4b356aca) SHA1(81ce1585f529f1717ec56ace0a4902ae901593ae), "Barcrest","Calamari Club (Barcrest) (MPU4) (set 7)" ) +GAME_CUSTOM( 199?, m4calama__i, m4calama, "bc302d.p1", 0x0000, 0x020000, CRC(36b87f8e) SHA1(6e3cbfa52d9ec52fe009d3331dda3781f7f7783a), "Barcrest","Calamari Club (Barcrest) (MPU4) (set 10)" ) +// "(C)1996 BARCREST" and "BCA 0.4" +GAME_CUSTOM( 199?, m4calama__j, m4calama, "bca04.p1", 0x0000, 0x020000, CRC(3f97fe65) SHA1(6bc2c7e60658f39701974426ab652e8dd96b1913), "Barcrest","Calamari Club (Barcrest) (MPU4) (BCA 0.4)" ) +// "(C)1996 BARCREST" and "BCA 0.2" +GAME_CUSTOM( 199?, m4calama__h, m4calama, "calamari.cl", 0x0000, 0x020000, CRC(bb5e81ac) SHA1(b27f71321978712d2950d58715d18fd5523d6b06), "Barcrest","Calamari Club (Barcrest) (MPU4) (BCA 0.2)" ) #define M4COSCAS_EXTRA_ROMS \ @@ -5415,29 +5550,33 @@ GAME_CUSTOM( 199?, m4calama__j, m4calama, "bca04.p1", 0x0000, 0x020000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4coscas, 0, "cc_sj__c.3r1", 0x0000, 0x020000, CRC(44b940a6) SHA1(7e621873fcf6460f654e35cc74552e86b6253ddb), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4coscas__a, m4coscas, "cosm15g", 0x0000, 0x020000, CRC(edd01d55) SHA1(49246fa1e12ceb3297f35616cdc1cf62472a379f), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4coscas__b, m4coscas, "cosmiccasinos15.bin", 0x0000, 0x020000, CRC(ddba1241) SHA1(7ca2928ae2ab4e323b60bb661b60681f89cc5663), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4coscas__c, m4coscas, "cc30s.p1", 0x0000, 0x020000, CRC(e308100a) SHA1(14cb07895d17237768877dd62ba7c3fc8e5b2630), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4coscas__d, m4coscas, "cc_sj___.3s1", 0x0000, 0x020000, CRC(52c312b0) SHA1(bd5381d58b1acb7adf6857c142eae4a253081fbd), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4coscas__e, m4coscas, "cc_sj__c.7_1", 0x0000, 0x020000, CRC(ee9e6126) SHA1(fab6fd04004acebf291544720ba06cea79d5a054), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4coscas__f, m4coscas, "cc_sj_b_.3s1", 0x0000, 0x020000, CRC(019f0a71) SHA1(7a97f4e89c16e25f8e7502bba37f49c8496fbb47), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4coscas__g, m4coscas, "cc_sj_bc.3r1", 0x0000, 0x020000, CRC(de9bb8e1) SHA1(7974b03974531eb4b5ed865b8eeb9649c1346df4), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4coscas__h, m4coscas, "cc_sj_bc.7_1", 0x0000, 0x020000, CRC(afe1aac6) SHA1(fc9c69e45db6a85c45ef8d32d048e5726d7da655), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4coscas__i, m4coscas, "cc_sj_d_.3s1", 0x0000, 0x020000, CRC(215e12f3) SHA1(68ed9923c6fd51e9305afac9d271c7b3ce38b12f), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4coscas__j, m4coscas, "cc_sj_dc.3r1", 0x0000, 0x020000, CRC(00e357c3) SHA1(02bf7427899d2e536442b87d41c140ebd787a580), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4coscas__k, m4coscas, "cc_sj_dc.7_1", 0x0000, 0x020000, CRC(330d68a2) SHA1(12410af5f37b26f29f5cd23606ab0e128675095a), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4coscas__l, m4coscas, "cc_sj_k_.3s1", 0x0000, 0x020000, CRC(9161912d) SHA1(d11109f4bdc1c60f4cf477e1f26556800a83abdb), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4coscas__m, m4coscas, "cc_sj_kc.3r1", 0x0000, 0x020000, CRC(b0dcd41d) SHA1(6b50a5e401bf854186331673dcc0c3fc5de2991b), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4coscas__n, m4coscas, "cc_sja__.3s1", 0x0000, 0x020000, CRC(1682b1d3) SHA1(24baaf789eca150f0f6fd9c510e245aa7b88cc4c), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4coscas__o, m4coscas, "cc_sja_c.3r1", 0x0000, 0x020000, CRC(373ff4e3) SHA1(55b7ab247863eb3c025e84782c8cab7734343077), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4coscas__p, m4coscas, "cc_sja_c.7_1", 0x0000, 0x020000, CRC(e956898e) SHA1(f51682651520551d481360bf86eba510cd758441), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4coscas__q, m4coscas, "cc_sjb__.3s1", 0x0000, 0x020000, CRC(5c451985) SHA1(517f634d31f7190ca6685c1037fb66a8b87effba), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4coscas__r, m4coscas, "cc_sjb_c.7_1", 0x0000, 0x020000, CRC(109e9ae9) SHA1(00f381beb33cae58fc3429d3501efa4a9d9f0035), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4coscas__s, m4coscas, "cc_sjbgc.3r1", 0x0000, 0x020000, CRC(2de82f88) SHA1(5c8029d43282a014e82b4f975616ed2bbc0e5641), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4coscas__t, m4coscas, "cc_sjbtc.3r1", 0x0000, 0x020000, CRC(976c2858) SHA1(a70a8fe51d1b9d903d099e89a40481ea6af13683), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4coscas__u, m4coscas, "cc_sjwb_.3s1", 0x0000, 0x020000, CRC(e2df8167) SHA1(c312b30402dd93c6d4a32932677430c9c996fd36), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4coscas__v, m4coscas, "cc_sjwbc.3r1", 0x0000, 0x020000, CRC(a33a59a6) SHA1(a74ffd647e8390d89df475cc3f5205462c9d93d7), "Bwb / Barcrest","Cosmic Casino (Barcrest) (MPU4) (set 23)" ) +// "(C)1998 B.W.B." and "CC__3.0" +GAME_CUSTOM( 199?, m4coscas, 0, "cc_sj___.3s1", 0x0000, 0x020000, CRC(52c312b0) SHA1(bd5381d58b1acb7adf6857c142eae4a253081fbd), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0)" ) +GAME_CUSTOM( 199?, m4coscas__d, m4coscas, "cc_sj__c.3r1", 0x0000, 0x020000, CRC(44b940a6) SHA1(7e621873fcf6460f654e35cc74552e86b6253ddb), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 C)" ) +GAME_CUSTOM( 199?, m4coscas__f, m4coscas, "cc_sj_b_.3s1", 0x0000, 0x020000, CRC(019f0a71) SHA1(7a97f4e89c16e25f8e7502bba37f49c8496fbb47), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 YD)" ) +GAME_CUSTOM( 199?, m4coscas__g, m4coscas, "cc_sj_bc.3r1", 0x0000, 0x020000, CRC(de9bb8e1) SHA1(7974b03974531eb4b5ed865b8eeb9649c1346df4), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 YCD)" ) +GAME_CUSTOM( 199?, m4coscas__i, m4coscas, "cc_sj_d_.3s1", 0x0000, 0x020000, CRC(215e12f3) SHA1(68ed9923c6fd51e9305afac9d271c7b3ce38b12f), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 D)" ) +GAME_CUSTOM( 199?, m4coscas__j, m4coscas, "cc_sj_dc.3r1", 0x0000, 0x020000, CRC(00e357c3) SHA1(02bf7427899d2e536442b87d41c140ebd787a580), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 CD)" ) +GAME_CUSTOM( 199?, m4coscas__l, m4coscas, "cc_sj_k_.3s1", 0x0000, 0x020000, CRC(9161912d) SHA1(d11109f4bdc1c60f4cf477e1f26556800a83abdb), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 Y)" ) +GAME_CUSTOM( 199?, m4coscas__m, m4coscas, "cc_sj_kc.3r1", 0x0000, 0x020000, CRC(b0dcd41d) SHA1(6b50a5e401bf854186331673dcc0c3fc5de2991b), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 YC)" ) +GAME_CUSTOM( 199?, m4coscas__n, m4coscas, "cc_sja__.3s1", 0x0000, 0x020000, CRC(1682b1d3) SHA1(24baaf789eca150f0f6fd9c510e245aa7b88cc4c), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 K)" ) +GAME_CUSTOM( 199?, m4coscas__o, m4coscas, "cc_sja_c.3r1", 0x0000, 0x020000, CRC(373ff4e3) SHA1(55b7ab247863eb3c025e84782c8cab7734343077), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 CK)" ) +GAME_CUSTOM( 199?, m4coscas__q, m4coscas, "cc_sjb__.3s1", 0x0000, 0x020000, CRC(5c451985) SHA1(517f634d31f7190ca6685c1037fb66a8b87effba), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 B)" ) +GAME_CUSTOM( 199?, m4coscas__s, m4coscas, "cc_sjbgc.3r1", 0x0000, 0x020000, CRC(2de82f88) SHA1(5c8029d43282a014e82b4f975616ed2bbc0e5641), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 BCAD)" ) +GAME_CUSTOM( 199?, m4coscas__t, m4coscas, "cc_sjbtc.3r1", 0x0000, 0x020000, CRC(976c2858) SHA1(a70a8fe51d1b9d903d099e89a40481ea6af13683), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 BCR)" ) +GAME_CUSTOM( 199?, m4coscas__u, m4coscas, "cc_sjwb_.3s1", 0x0000, 0x020000, CRC(e2df8167) SHA1(c312b30402dd93c6d4a32932677430c9c996fd36), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 YDH)" ) +GAME_CUSTOM( 199?, m4coscas__v, m4coscas, "cc_sjwbc.3r1", 0x0000, 0x020000, CRC(a33a59a6) SHA1(a74ffd647e8390d89df475cc3f5205462c9d93d7), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__3.0 YCDH)" ) +// "(C)1998 B.W.B." and "CC__7.0" +GAME_CUSTOM( 199?, m4coscas__e, m4coscas, "cc_sj__c.7_1", 0x0000, 0x020000, CRC(ee9e6126) SHA1(fab6fd04004acebf291544720ba06cea79d5a054), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__7.0)" ) +GAME_CUSTOM( 199?, m4coscas__h, m4coscas, "cc_sj_bc.7_1", 0x0000, 0x020000, CRC(afe1aac6) SHA1(fc9c69e45db6a85c45ef8d32d048e5726d7da655), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__7.0 YD)" ) +GAME_CUSTOM( 199?, m4coscas__k, m4coscas, "cc_sj_dc.7_1", 0x0000, 0x020000, CRC(330d68a2) SHA1(12410af5f37b26f29f5cd23606ab0e128675095a), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__7.0 D)" ) +GAME_CUSTOM( 199?, m4coscas__p, m4coscas, "cc_sja_c.7_1", 0x0000, 0x020000, CRC(e956898e) SHA1(f51682651520551d481360bf86eba510cd758441), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__7.0 K)" ) +GAME_CUSTOM( 199?, m4coscas__r, m4coscas, "cc_sjb_c.7_1", 0x0000, 0x020000, CRC(109e9ae9) SHA1(00f381beb33cae58fc3429d3501efa4a9d9f0035), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__7.0 B)" ) +GAME_CUSTOM( 199?, m4coscas__b, m4coscas, "cosmiccasinos15.bin", 0x0000, 0x020000, CRC(ddba1241) SHA1(7ca2928ae2ab4e323b60bb661b60681f89cc5663), "Bwb","Cosmic Casino (Barcrest) (MPU4) (CC__7.0 Y)" ) +// no copyright string and "CC__3.0" +GAME_CUSTOM( 199?, m4coscas__c, m4coscas, "cc30s.p1", 0x0000, 0x020000, CRC(e308100a) SHA1(14cb07895d17237768877dd62ba7c3fc8e5b2630), "hack","Cosmic Casino (Barcrest) (MPU4) (CC__3.0, hack)" ) +// no copyright string and "CC__6.0" +GAME_CUSTOM( 199?, m4coscas__a, m4coscas, "cosm15g", 0x0000, 0x020000, CRC(edd01d55) SHA1(49246fa1e12ceb3297f35616cdc1cf62472a379f), "hack","Cosmic Casino (Barcrest) (MPU4) (CC__6.0, hack)" ) #define M4DBLDM_EXTRA_ROMS \ @@ -5453,7 +5592,9 @@ GAME_CUSTOM( 199?, m4coscas__v, m4coscas, "cc_sjwbc.3r1", 0x0000, 0 ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4dbldm, 0, "cdd05s.p1", 0x0000, 0x020000, CRC(fc14771f) SHA1(f418af9fed331560195a694f20ef2fea27ed04b0), "Barcrest","Double Diamond Club (Barcrest) (MPU4) (set 1)" ) +// "(C)1996 BARCREST" and "CDD 0.5" +GAME_CUSTOM( 199?, m4dbldm, 0, "cdd05s.p1", 0x0000, 0x020000, CRC(fc14771f) SHA1(f418af9fed331560195a694f20ef2fea27ed04b0), "Barcrest","Double Diamond Club (Barcrest) (MPU4) (CDD 0.5)" ) GAME_CUSTOM( 199?, m4dbldm__a, m4dbldm, "cdd05d.p1", 0x0000, 0x020000, CRC(fc1c5e90) SHA1(c756d2ac725168af5396c8ef7550db9087a50937), "Barcrest","Double Diamond Club (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4dbldm__b, m4dbldm, "cdd05f.p1", 0x0000, 0x020000, CRC(81914bd4) SHA1(cf286810ad6732ca1d706e70f4c2958d28cc979c), "Barcrest","Double Diamond Club (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4dbldm__c, m4dbldm, "cdd01.p1", 0x0000, 0x020000, CRC(e35dffde) SHA1(0bfc977f25f25785f20b510c44d2d3d79e23af8b), "Barcrest","Double Diamond Club (Barcrest) (MPU4) (set 4)" ) +// "(C)1996 BARCREST" and "CDD 0.1" +GAME_CUSTOM( 199?, m4dbldm__c, m4dbldm, "cdd01.p1", 0x0000, 0x020000, CRC(e35dffde) SHA1(0bfc977f25f25785f20b510c44d2d3d79e23af8b), "Barcrest","Double Diamond Club (Barcrest) (MPU4) (CDD 0.1)" ) diff --git a/src/mame/drivers/nbmj8688.cpp b/src/mame/drivers/nbmj8688.cpp index 314a62da37f..1f8e25d9fc7 100644 --- a/src/mame/drivers/nbmj8688.cpp +++ b/src/mame/drivers/nbmj8688.cpp @@ -435,7 +435,7 @@ static INPUT_PORTS_START( mjsikaku ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -540,7 +540,7 @@ static INPUT_PORTS_START( mmsikaku ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -606,7 +606,7 @@ static INPUT_PORTS_START( otonano ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -672,7 +672,7 @@ static INPUT_PORTS_START( mjcamera ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -736,7 +736,7 @@ static INPUT_PORTS_START( kaguya ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY // PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -803,7 +803,7 @@ static INPUT_PORTS_START( kaguya2 ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY // PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -867,7 +867,7 @@ static INPUT_PORTS_START( kanatuen ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -931,7 +931,7 @@ static INPUT_PORTS_START( kyuhito ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -996,7 +996,7 @@ static INPUT_PORTS_START( idhimitu ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -1061,7 +1061,7 @@ static INPUT_PORTS_START( secolove ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -1126,7 +1126,7 @@ static INPUT_PORTS_START( barline ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -1236,7 +1236,7 @@ static INPUT_PORTS_START( citylove ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -1298,7 +1298,7 @@ static INPUT_PORTS_START( mcitylov ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN2 @@ -1364,7 +1364,7 @@ static INPUT_PORTS_START( seiha ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -1428,7 +1428,7 @@ static INPUT_PORTS_START( seiham ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -1494,7 +1494,7 @@ static INPUT_PORTS_START( iemoto ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -1558,7 +1558,7 @@ static INPUT_PORTS_START( iemotom ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -1623,7 +1623,7 @@ static INPUT_PORTS_START( ryuuha ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -1688,7 +1688,7 @@ static INPUT_PORTS_START( bijokkoy ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -1764,7 +1764,7 @@ static INPUT_PORTS_START( bijokkog ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -1840,7 +1840,7 @@ static INPUT_PORTS_START( housemnq ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -1915,7 +1915,7 @@ static INPUT_PORTS_START( housemn2 ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -1993,7 +1993,7 @@ static INPUT_PORTS_START( orangec ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN2 @@ -2058,7 +2058,7 @@ static INPUT_PORTS_START( orangeci ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN2 @@ -2123,7 +2123,7 @@ static INPUT_PORTS_START( vipclub ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN2 @@ -2186,7 +2186,7 @@ static INPUT_PORTS_START( livegal ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -2235,7 +2235,7 @@ static INPUT_PORTS_START( ojousan ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -2299,7 +2299,7 @@ static INPUT_PORTS_START( ojousanm ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -2365,7 +2365,7 @@ static INPUT_PORTS_START( korinai ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -2429,7 +2429,7 @@ static INPUT_PORTS_START( korinaim ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -2493,7 +2493,7 @@ static INPUT_PORTS_START( crystalg ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -2555,7 +2555,7 @@ static INPUT_PORTS_START( crystal2 ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -2617,7 +2617,7 @@ static INPUT_PORTS_START( apparel ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -2687,7 +2687,7 @@ static INPUT_PORTS_START( nightlov ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8688_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_TOGGLE // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 diff --git a/src/mame/drivers/nbmj8891.cpp b/src/mame/drivers/nbmj8891.cpp index 25c4fdbb1bd..3e9b2b41351 100644 --- a/src/mame/drivers/nbmj8891.cpp +++ b/src/mame/drivers/nbmj8891.cpp @@ -616,7 +616,7 @@ static INPUT_PORTS_START( hanamomo ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR @@ -689,7 +689,7 @@ static INPUT_PORTS_START( mjcamerb ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -755,7 +755,7 @@ static INPUT_PORTS_START( mmcamera ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR @@ -798,7 +798,7 @@ static INPUT_PORTS_START( msjiken ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR @@ -883,7 +883,7 @@ static INPUT_PORTS_START( gionbana ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR @@ -949,7 +949,7 @@ static INPUT_PORTS_START( mgion ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR @@ -1015,7 +1015,7 @@ static INPUT_PORTS_START( omotesnd ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -1080,7 +1080,7 @@ static INPUT_PORTS_START( abunai ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR @@ -1146,7 +1146,7 @@ static INPUT_PORTS_START( mgmen89 ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR @@ -1188,7 +1188,7 @@ static INPUT_PORTS_START( mjfocus ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR @@ -1252,7 +1252,7 @@ static INPUT_PORTS_START( mjfocusm ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -1319,7 +1319,7 @@ static INPUT_PORTS_START( scandal ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -1383,7 +1383,7 @@ static INPUT_PORTS_START( scandalm ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) // COIN2 @@ -1449,7 +1449,7 @@ static INPUT_PORTS_START( mjnanpas ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR @@ -1515,7 +1515,7 @@ static INPUT_PORTS_START( mjnanpaa ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR @@ -1584,7 +1584,7 @@ static INPUT_PORTS_START( bananadr ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -1649,7 +1649,7 @@ static INPUT_PORTS_START( club90s ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR @@ -1728,7 +1728,7 @@ static INPUT_PORTS_START( lovehous ) PORT_START("PORT0-2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_outcoin_flag_r, nullptr) // OUT COIN - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -1768,7 +1768,7 @@ static INPUT_PORTS_START( mladyhtr ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR @@ -1833,7 +1833,7 @@ static INPUT_PORTS_START( chinmoku ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Credit Clear") PORT_CODE(KEYCODE_4) // CREDIT CLEAR @@ -1911,7 +1911,7 @@ static INPUT_PORTS_START( maiko ) PORT_START("PORT0-2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) // PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_outcoin_flag_r, nullptr) // OUT COIN - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) // PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) // @@ -1987,7 +1987,7 @@ static INPUT_PORTS_START( mmaiko ) PORT_START("PORT0-2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_outcoin_flag_r, nullptr) // OUT COIN - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) @@ -2063,7 +2063,7 @@ static INPUT_PORTS_START( hanaoji ) PORT_START("PORT0-2") PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNUSED ) // PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_outcoin_flag_r, nullptr) // OUT COIN - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) // PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) // @@ -2229,7 +2229,7 @@ static INPUT_PORTS_START( taiwanmb ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8891_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // COIN OUT - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 diff --git a/src/mame/drivers/nbmj8991.cpp b/src/mame/drivers/nbmj8991.cpp index 50900d54b80..e84c59224d2 100644 --- a/src/mame/drivers/nbmj8991.cpp +++ b/src/mame/drivers/nbmj8991.cpp @@ -288,7 +288,7 @@ static INPUT_PORTS_START( pstadium ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -330,7 +330,7 @@ static INPUT_PORTS_START( triplew1 ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -395,7 +395,7 @@ static INPUT_PORTS_START( ntopstar ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -460,7 +460,7 @@ static INPUT_PORTS_START( mjlstory ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -525,7 +525,7 @@ static INPUT_PORTS_START( vanilla ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -592,7 +592,7 @@ static INPUT_PORTS_START( finalbny ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -657,7 +657,7 @@ static INPUT_PORTS_START( qmhayaku ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -701,7 +701,7 @@ static INPUT_PORTS_START( galkoku ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -770,7 +770,7 @@ static INPUT_PORTS_START( hyouban ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -839,7 +839,7 @@ static INPUT_PORTS_START( galkaika ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -908,7 +908,7 @@ static INPUT_PORTS_START( tokyogal ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -977,7 +977,7 @@ static INPUT_PORTS_START( tokimbsj ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -1046,7 +1046,7 @@ static INPUT_PORTS_START( mcontest ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -1115,7 +1115,7 @@ static INPUT_PORTS_START( uchuuai ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -1184,7 +1184,7 @@ static INPUT_PORTS_START( mjgottub ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -1248,7 +1248,7 @@ static INPUT_PORTS_START( av2mj1bb ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 @@ -1315,7 +1315,7 @@ static INPUT_PORTS_START( av2mj2rg ) PORT_START("SYSTEM") PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, nbmj8991_state, nb1413m3_busyflag_r, nullptr) // DRAW BUSY PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE3 ) // MEMORY RESET + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) // MEMORY RESET PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SERVICE2 ) // ANALYZER PORT_SERVICE( 0x10, IP_ACTIVE_LOW ) // TEST PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) // COIN1 diff --git a/src/mame/drivers/pofo.cpp b/src/mame/drivers/pofo.cpp index 8e3500e10e1..367af13c7ab 100644 --- a/src/mame/drivers/pofo.cpp +++ b/src/mame/drivers/pofo.cpp @@ -9,18 +9,26 @@ http://www.best-electronics-ca.com/portfoli.htm http://www.atari-portfolio.co.uk/pfnews/pf9.txt + Command line for dual RAM expansion with A: File Manager ROM card and B: RAM card + ./mess64 pofo -exp ram -exp:ram:exp ram2 -cart1 fileman -exp:ram:ccmb ram + */ /* TODO: - - create chargen ROM from tech manual - - memory error interrupt vector + - cursor is missing + - where do CDET and NMD1 connect to ?? - i/o port 8051 - screen contrast - system tick frequency selection (1 or 128 Hz) - - speaker + - soft power off + - LCD board + - HD61830A00 + - 5816 2Kx8 RAM + - 27C256 32Kx8 EPROM + - PCD3311T DTMF generator @Â 3.578640MHz */ @@ -28,14 +36,19 @@ #include "rendlay.h" #include "softlist.h" #include "cpu/i86/i86.h" -#include "bus/generic/slot.h" -#include "bus/generic/carts.h" +#include "bus/pofo/ccm.h" #include "bus/pofo/exp.h" #include "machine/nvram.h" #include "machine/ram.h" #include "sound/speaker.h" #include "video/hd61830.h" + + +//************************************************************************** +// MACROS / CONSTANTS +//************************************************************************** + #define LOG 0 #define M80C88A_TAG "u1" @@ -43,6 +56,14 @@ #define TIMER_TICK_TAG "tick" #define SCREEN_TAG "screen" +static const UINT8 INTERRUPT_VECTOR[] = { 0x08, 0x09, 0x00 }; + + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + class portfolio_state : public driver_device { public: @@ -51,9 +72,11 @@ public: m_maincpu(*this, M80C88A_TAG), m_lcdc(*this, HD61830_TAG), m_speaker(*this, "speaker"), - m_card(*this, "cardslot"), + m_ccm(*this, PORTFOLIO_MEMORY_CARD_SLOT_A_TAG), m_exp(*this, PORTFOLIO_EXPANSION_SLOT_TAG), m_timer_tick(*this, TIMER_TICK_TAG), + m_nvram(*this, "nvram"), + m_ram(*this, "ram"), m_rom(*this, M80C88A_TAG), m_char_rom(*this, HD61830_TAG), m_y0(*this, "Y0"), @@ -65,16 +88,17 @@ public: m_y6(*this, "Y6"), m_y7(*this, "Y7"), m_battery(*this, "BATTERY"), - m_contrast(*this, "contrast"), - m_ram(*this, RAM_TAG) + m_keylatch(0xff) { } required_device<cpu_device> m_maincpu; required_device<hd61830_device> m_lcdc; required_device<speaker_sound_device> m_speaker; - required_device<generic_slot_device> m_card; + required_device<portfolio_memory_card_slot_t> m_ccm; required_device<portfolio_expansion_slot_t> m_exp; required_device<timer_device> m_timer_tick; + required_device<nvram_device> m_nvram; + required_device<ram_device> m_ram; required_region_ptr<UINT8> m_rom; required_region_ptr<UINT8> m_char_rom; required_ioport m_y0; @@ -110,7 +134,11 @@ public: ROM_EXT }; - DECLARE_READ8_MEMBER( rom_b_r ); + DECLARE_READ8_MEMBER( mem_r ); + DECLARE_WRITE8_MEMBER( mem_w ); + + DECLARE_READ8_MEMBER( io_r ); + DECLARE_WRITE8_MEMBER( io_w ); DECLARE_READ8_MEMBER( irq_status_r ); DECLARE_READ8_MEMBER( keyboard_r ); @@ -120,49 +148,30 @@ public: DECLARE_WRITE8_MEMBER( irq_mask_w ); DECLARE_WRITE8_MEMBER( speaker_w ); DECLARE_WRITE8_MEMBER( power_w ); - DECLARE_WRITE8_MEMBER( unknown_w ); + DECLARE_WRITE8_MEMBER( select_w ); DECLARE_WRITE8_MEMBER( counter_w ); + DECLARE_WRITE8_MEMBER( contrast_w ); DECLARE_WRITE_LINE_MEMBER( iint_w ); DECLARE_WRITE_LINE_MEMBER( eint_w ); - /* interrupt state */ - UINT8 m_ip; /* interrupt pending */ - UINT8 m_ie; /* interrupt enable */ - - /* counter state */ + UINT8 m_ip; + UINT8 m_ie; UINT16 m_counter; - - /* keyboard state */ UINT8 m_keylatch; - int m_rom_b; - /* video state */ - required_shared_ptr<UINT8> m_contrast; - - /* peripheral state */ DECLARE_PALETTE_INIT(portfolio); TIMER_DEVICE_CALLBACK_MEMBER(keyboard_tick); TIMER_DEVICE_CALLBACK_MEMBER(system_tick); TIMER_DEVICE_CALLBACK_MEMBER(counter_tick); DECLARE_READ8_MEMBER(hd61830_rd_r); IRQ_CALLBACK_MEMBER(portfolio_int_ack); - DECLARE_DEVICE_IMAGE_LOAD_MEMBER( portfolio_card ); - required_device<ram_device> m_ram; }; //************************************************************************** -// MACROS / CONSTANTS -//************************************************************************** - -static const UINT8 INTERRUPT_VECTOR[] = { 0x08, 0x09, 0x00 }; - - - -//************************************************************************** // INTERRUPTS //************************************************************************** @@ -187,13 +196,34 @@ void portfolio_state::trigger_interrupt(int level) // set interrupt pending bit m_ip |= 1 << level; - //logerror("%s IP set %01x : %u\n", machine().time().as_string(), m_ip, level); - check_interrupt(); } //------------------------------------------------- +// iint_w - internal interrupt +//------------------------------------------------- + +WRITE_LINE_MEMBER( portfolio_state::iint_w ) +{ + // TODO +} + + +//------------------------------------------------- +// eint_w - external interrupt +//------------------------------------------------- + +WRITE_LINE_MEMBER( portfolio_state::eint_w ) +{ + if (state) + { + trigger_interrupt(INT_EXTERNAL); + } +} + + +//------------------------------------------------- // irq_status_r - interrupt status read //------------------------------------------------- @@ -211,7 +241,7 @@ WRITE8_MEMBER( portfolio_state::irq_mask_w ) { m_ie = data; - if (LOG) logerror("IE %02x\n", data); + if (LOG) logerror("%s %s IE %01x\n", machine().time().as_string(), machine().describe_context(), data); check_interrupt(); } @@ -232,6 +262,8 @@ IRQ_CALLBACK_MEMBER(portfolio_state::portfolio_int_ack) // clear interrupt pending bit m_ip &= ~(1 << i); + if (LOG) logerror("%s %s IP %01x\n", machine().time().as_string(), machine().describe_context(), m_ip); + if (i == 3) vector = m_exp->eack_r(); else @@ -241,8 +273,6 @@ IRQ_CALLBACK_MEMBER(portfolio_state::portfolio_int_ack) } } - //logerror("IP ack %01x\n", m_ip); - check_interrupt(); return vector; @@ -350,9 +380,9 @@ WRITE8_MEMBER( portfolio_state::speaker_w ) */ - m_speaker->level_w(!BIT(data, 7)); + if (LOG) logerror("%s %s SPEAKER %02x\n", machine().time().as_string(), machine().describe_context(), data); - if (LOG) logerror("SPEAKER %02x\n", data); + m_speaker->level_w(!BIT(data, 7)); } @@ -382,7 +412,12 @@ WRITE8_MEMBER( portfolio_state::power_w ) */ - if (LOG) logerror("POWER %02x\n", data); + if (LOG) logerror("%s %s POWER %02x\n", machine().time().as_string(), machine().describe_context(), data); + + if (BIT(data, 1)) + { + // TODO power off + } } @@ -396,36 +431,51 @@ READ8_MEMBER( portfolio_state::battery_r ) bit signal description - 0 - 1 - 2 - 3 - 4 + 0 ? 1=boots from B: + 1 ? 1=boots from external ROM + 2 ? 1=boots from B: + 3 ? 1=boots from ??? + 4 ? 5 PDET 1=peripheral connected 6 BATD? 0=battery low - 7 1=cold boot + 7 ? 1=cold boot */ UINT8 data = 0; - /* peripheral detect */ + // peripheral detect data |= m_exp->pdet_r() << 5; - /* battery status */ - data |= BIT(m_battery->read(), 0) << 6; + // battery status + data |= (m_battery->read() & 0x03) << 6; return data; } //------------------------------------------------- -// unknown_w - ? +// select_w - //------------------------------------------------- -WRITE8_MEMBER( portfolio_state::unknown_w ) +WRITE8_MEMBER( portfolio_state::select_w ) { - if (LOG) logerror("UNKNOWN %02x\n", data); + /* + + bit description + + 0 ? + 1 ? + 2 ? + 3 ? + 4 + 5 + 6 ? + 7 ? + + */ + + if (LOG) logerror("%s %s SELECT %02x\n", machine().time().as_string(), machine().describe_context(), data); switch (data & 0x0f) { @@ -463,32 +513,21 @@ TIMER_DEVICE_CALLBACK_MEMBER(portfolio_state::counter_tick) //------------------------------------------------- -// rom_b_r - +// counter_r - counter register read //------------------------------------------------- -READ8_MEMBER( portfolio_state::rom_b_r ) +READ8_MEMBER( portfolio_state::counter_r ) { UINT8 data = 0; - switch (m_rom_b) + switch (offset) { - case ROM_APP: - data = m_rom[offset]; - break; - - case CCM_A: - if (m_card->exists()) - { - data = m_card->read_rom(space, offset); - } - break; - - case CCM_B: - // TODO this is wired thru the expansion slot + case 0: + data = m_counter & 0xff; break; - case ROM_EXT: - // TODO ??? + case 1: + data = m_counter >> 8; break; } @@ -497,44 +536,238 @@ READ8_MEMBER( portfolio_state::rom_b_r ) //------------------------------------------------- -// counter_r - counter register read +// counter_w - counter register write //------------------------------------------------- -READ8_MEMBER( portfolio_state::counter_r ) +WRITE8_MEMBER( portfolio_state::counter_w ) { - UINT8 data = 0; - switch (offset) { case 0: - data = m_counter & 0xff; + m_counter = (m_counter & 0xff00) | data; break; case 1: - data = m_counter >> 8; + m_counter = (data << 8) | (m_counter & 0xff); break; } +} + + + +//************************************************************************** +// MEMORY MAPPING +//************************************************************************** + +//------------------------------------------------- +// mem_r - +//------------------------------------------------- + +READ8_MEMBER( portfolio_state::mem_r ) +{ + UINT8 data = 0; + + int iom = 0; + int bcom = 1; + int ncc1 = 1; + + if (offset < 0x1f000) + { + data = m_ram->read(offset); + } + else if (offset >= 0xb0000 && offset < 0xc0000) + { + data = m_ram->read(0x1f000 + (offset & 0xfff)); + } + else if (offset >= 0xc0000 && offset < 0xe0000) + { + switch (m_rom_b) + { + case ROM_APP: + data = m_rom[offset & 0x3ffff]; + break; + + case CCM_A: + if (LOG) logerror("%s %s CCM0 read %05x\n", machine().time().as_string(), machine().describe_context(), offset & 0x1ffff); + + data = m_ccm->nrdi_r(space, offset & 0x1ffff); + break; + + case CCM_B: + ncc1 = 0; + break; + + case ROM_EXT: + // TODO + break; + } + } + else if (offset >= 0xe0000) + { + data = m_rom[offset & 0x3ffff]; + } + + data = m_exp->nrdi_r(space, offset, data, iom, bcom, ncc1); return data; } //------------------------------------------------- -// counter_w - counter register write +// mem_w - //------------------------------------------------- -WRITE8_MEMBER( portfolio_state::counter_w ) +WRITE8_MEMBER( portfolio_state::mem_w ) { - switch (offset) + int iom = 0; + int bcom = 1; + int ncc1 = 1; + + if (offset < 0x1f000) { - case 0: - m_counter = (m_counter & 0xff00) | data; - break; + m_ram->write(offset, data); + } + else if (offset >= 0xb0000 && offset < 0xc0000) + { + m_ram->write(0x1f000 + (offset & 0xfff), data); + } + else if (offset >= 0xc0000 && offset < 0xe0000) + { + switch (m_rom_b) + { + case CCM_A: + if (LOG) logerror("%s %s CCM0 write %05x:%02x\n", machine().time().as_string(), machine().describe_context(), offset & 0x1ffff, data); - case 1: - m_counter = (data << 8) | (m_counter & 0xff); - break; + m_ccm->nwri_w(space, offset & 0x1ffff, data); + break; + + case CCM_B: + ncc1 = 0; + break; + } } + + m_exp->nwri_w(space, offset, data, iom, bcom, ncc1); +} + + +//------------------------------------------------- +// io_r - +//------------------------------------------------- + +READ8_MEMBER( portfolio_state::io_r ) +{ + UINT8 data = 0; + + int iom = 1; + int bcom = 1; + int ncc1 = 0; + + if ((offset & 0xff00) == 0x8000) + { + switch ((offset >> 4) & 0x0f) + { + case 0: + data = keyboard_r(space, 0); + break; + + case 1: + if (offset & 0x01) + { + data = m_lcdc->status_r(space, 0); + } + else + { + data = m_lcdc->data_r(space, 0); + } + break; + + case 4: + data = counter_r(space, offset & 0x01); + break; + + case 5: + if (offset & 0x01) + { + data = battery_r(space, 0); + } + else + { + data = irq_status_r(space, 0); + } + break; + + case 7: + bcom = 0; + break; + } + } + + data = m_exp->nrdi_r(space, offset, data, iom, bcom, ncc1); + + return data; +} + + +//------------------------------------------------- +// io_w - +//------------------------------------------------- + +WRITE8_MEMBER( portfolio_state::io_w ) +{ + int iom = 1; + int bcom = 1; + int ncc1 = 0; + + if ((offset & 0xff00) == 0x8000) + { + switch ((offset >> 4) & 0x0f) + { + case 1: + if (offset & 0x01) + { + m_lcdc->control_w(space, 0, data); + } + else + { + m_lcdc->data_w(space, 0, data); + } + break; + + case 2: + speaker_w(space, 0, data); + break; + + case 3: + power_w(space, 0, data); + break; + + case 4: + counter_w(space, offset & 0x01, data); + break; + + case 5: + if (offset & 0x01) + { + select_w(space, 0, data); + } + else + { + irq_mask_w(space, 0, data); + } + break; + + case 6: + contrast_w(space, 0, data); + break; + + case 7: + bcom = 0; + break; + } + } + + m_exp->nwri_w(space, offset, data, iom, bcom, ncc1); } @@ -548,11 +781,7 @@ WRITE8_MEMBER( portfolio_state::counter_w ) //------------------------------------------------- static ADDRESS_MAP_START( portfolio_mem, AS_PROGRAM, 8, portfolio_state ) - AM_RANGE(0x00000, 0x1efff) AM_RAM AM_SHARE("nvram1") - AM_RANGE(0x1f000, 0x9efff) AM_RAM // expansion - AM_RANGE(0xb0000, 0xb0fff) AM_MIRROR(0xf000) AM_RAM AM_SHARE("nvram2") // video RAM - AM_RANGE(0xc0000, 0xdffff) AM_READ(rom_b_r) - AM_RANGE(0xe0000, 0xfffff) AM_ROM AM_REGION(M80C88A_TAG, 0x20000) + AM_RANGE(0x00000, 0xfffff) AM_READWRITE(mem_r, mem_w) ADDRESS_MAP_END @@ -561,15 +790,17 @@ ADDRESS_MAP_END //------------------------------------------------- static ADDRESS_MAP_START( portfolio_io, AS_IO, 8, portfolio_state ) - AM_RANGE(0x8000, 0x8000) AM_READ(keyboard_r) - AM_RANGE(0x8010, 0x8010) AM_DEVREADWRITE(HD61830_TAG, hd61830_device, data_r, data_w) - AM_RANGE(0x8011, 0x8011) AM_DEVREADWRITE(HD61830_TAG, hd61830_device, status_r, control_w) - AM_RANGE(0x8020, 0x8020) AM_WRITE(speaker_w) - AM_RANGE(0x8030, 0x8030) AM_WRITE(power_w) - AM_RANGE(0x8040, 0x8041) AM_READWRITE(counter_r, counter_w) - AM_RANGE(0x8050, 0x8050) AM_READWRITE(irq_status_r, irq_mask_w) - AM_RANGE(0x8051, 0x8051) AM_READWRITE(battery_r, unknown_w) - AM_RANGE(0x8060, 0x8060) AM_RAM AM_SHARE("contrast") + AM_RANGE(0x0000, 0xffff) AM_READWRITE(io_r, io_w) +ADDRESS_MAP_END + + +//------------------------------------------------- +// ADDRESS_MAP( portfolio_lcdc ) +//------------------------------------------------- + +static ADDRESS_MAP_START( portfolio_lcdc, AS_0, 8, portfolio_state ) + ADDRESS_MAP_GLOBAL_MASK(0x7ff) + AM_RANGE(0x0000, 0x07ff) AM_RAM ADDRESS_MAP_END @@ -667,6 +898,9 @@ static INPUT_PORTS_START( portfolio ) PORT_CONFNAME( 0x01, 0x01, "Battery Status" ) PORT_CONFSETTING( 0x01, DEF_STR( Normal ) ) PORT_CONFSETTING( 0x00, "Low Battery" ) + PORT_CONFNAME( 0x02, 0x00, "Boot" ) + PORT_CONFSETTING( 0x02, "Cold" ) + PORT_CONFSETTING( 0x00, "Warm" ) INPUT_PORTS_END @@ -675,10 +909,24 @@ INPUT_PORTS_END // VIDEO //************************************************************************** +//------------------------------------------------- +// contrast_w - +//------------------------------------------------- + +WRITE8_MEMBER( portfolio_state::contrast_w ) +{ + if (LOG) logerror("%s %s CONTRAST %02x\n", machine().time().as_string(), machine().describe_context(), data); +} + + +//------------------------------------------------- +// PALETTE_INIT( portfolio ) +//------------------------------------------------- + PALETTE_INIT_MEMBER(portfolio_state, portfolio) { - palette.set_pen_color(0, rgb_t(138, 146, 148)); - palette.set_pen_color(1, rgb_t(92, 83, 88)); + palette.set_pen_color(0, rgb_t(142, 193, 172)); + palette.set_pen_color(1, rgb_t(67, 71, 151)); } @@ -688,6 +936,7 @@ PALETTE_INIT_MEMBER(portfolio_state, portfolio) READ8_MEMBER( portfolio_state::hd61830_rd_r ) { + // TODO with real ROM: offs_t address = ((offset & 0xff) << 4) | ((offset >> 12) & 0x0f); UINT16 address = ((offset & 0xff) << 3) | ((offset >> 12) & 0x07); UINT8 data = m_char_rom[address]; @@ -722,40 +971,6 @@ GFXDECODE_END //************************************************************************** -// DEVICE CONFIGURATION -//************************************************************************** - -WRITE_LINE_MEMBER( portfolio_state::iint_w ) -{ -} - -WRITE_LINE_MEMBER( portfolio_state::eint_w ) -{ - if (state) - trigger_interrupt(INT_EXTERNAL); -} - -//************************************************************************** -// IMAGE LOADING -//************************************************************************** - -//------------------------------------------------- -// DEVICE_IMAGE_LOAD( portfolio_card ) -//------------------------------------------------- - -DEVICE_IMAGE_LOAD_MEMBER( portfolio_state, portfolio_card ) -{ - UINT32 size = m_card->common_get_size("rom"); - - m_card->rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_BIG); - m_card->common_load_rom(m_card->get_rom_base(), size, "rom"); - - return image_init_result::PASS; -} - - - -//************************************************************************** // MACHINE INITIALIZATION //************************************************************************** @@ -765,29 +980,14 @@ DEVICE_IMAGE_LOAD_MEMBER( portfolio_state, portfolio_card ) void portfolio_state::machine_start() { - address_space &program = m_maincpu->space(AS_PROGRAM); - - /* memory expansions */ - switch (m_ram->size()) - { - case 128 * 1024: - program.unmap_readwrite(0x1f000, 0x9efff); - break; - - case 384 * 1024: - program.unmap_readwrite(0x5f000, 0x9efff); - break; - } + m_nvram->set_base(m_ram->pointer(), m_ram->size()); - /* set initial values */ - m_keylatch = 0xff; - - /* register for state saving */ + // state saving save_item(NAME(m_ip)); save_item(NAME(m_ie)); save_item(NAME(m_counter)); save_item(NAME(m_keylatch)); - save_pointer(NAME(m_contrast.target()), m_contrast.bytes()); + save_item(NAME(m_rom_b)); } @@ -797,6 +997,9 @@ void portfolio_state::machine_start() void portfolio_state::machine_reset() { + m_lcdc->reset(); + + m_exp->reset(); } @@ -810,13 +1013,13 @@ void portfolio_state::machine_reset() //------------------------------------------------- static MACHINE_CONFIG_START( portfolio, portfolio_state ) - /* basic machine hardware */ + // basic machine hardware MCFG_CPU_ADD(M80C88A_TAG, I8088, XTAL_4_9152MHz) MCFG_CPU_PROGRAM_MAP(portfolio_mem) MCFG_CPU_IO_MAP(portfolio_io) MCFG_CPU_IRQ_ACKNOWLEDGE_DRIVER(portfolio_state,portfolio_int_ack) - /* video hardware */ + // video hardware MCFG_SCREEN_ADD(SCREEN_TAG, LCD) MCFG_SCREEN_REFRESH_RATE(72) MCFG_SCREEN_UPDATE_DEVICE(HD61830_TAG, hd61830_device, screen_update) @@ -832,15 +1035,18 @@ static MACHINE_CONFIG_START( portfolio, portfolio_state ) MCFG_GFXDECODE_ADD("gfxdecode", "palette", portfolio) MCFG_DEVICE_ADD(HD61830_TAG, HD61830, XTAL_4_9152MHz/2/2) + MCFG_DEVICE_ADDRESS_MAP(AS_0, portfolio_lcdc) MCFG_HD61830_RD_CALLBACK(READ8(portfolio_state, hd61830_rd_r)) MCFG_VIDEO_SET_SCREEN(SCREEN_TAG) - /* sound hardware */ + // sound hardware MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) // devices + MCFG_PORTFOLIO_MEMORY_CARD_SLOT_ADD(PORTFOLIO_MEMORY_CARD_SLOT_A_TAG, portfolio_memory_cards, nullptr) + MCFG_PORTFOLIO_EXPANSION_SLOT_ADD(PORTFOLIO_EXPANSION_SLOT_TAG, XTAL_4_9152MHz, portfolio_expansion_cards, nullptr) MCFG_PORTFOLIO_EXPANSION_SLOT_IINT_CALLBACK(WRITELINE(portfolio_state, iint_w)) MCFG_PORTFOLIO_EXPANSION_SLOT_EINT_CALLBACK(WRITELINE(portfolio_state, eint_w)) @@ -850,24 +1056,17 @@ static MACHINE_CONFIG_START( portfolio, portfolio_state ) MCFG_TIMER_DRIVER_ADD_PERIODIC("counter", portfolio_state, counter_tick, attotime::from_hz(XTAL_32_768kHz/16384)) MCFG_TIMER_DRIVER_ADD_PERIODIC(TIMER_TICK_TAG, portfolio_state, system_tick, attotime::from_hz(XTAL_32_768kHz/32768)) - /* fake keyboard */ + // fake keyboard MCFG_TIMER_DRIVER_ADD_PERIODIC("keyboard", portfolio_state, keyboard_tick, attotime::from_usec(2500)) - /* cartridge */ - MCFG_GENERIC_CARTSLOT_ADD("cardslot", generic_plain_slot, "pofo_card") - MCFG_GENERIC_EXTENSIONS("rom,bin") - MCFG_GENERIC_LOAD(portfolio_state, portfolio_card) - - /* software lists */ + // software list MCFG_SOFTWARE_LIST_ADD("cart_list", "pofo") - /* internal ram */ + // internal ram MCFG_RAM_ADD(RAM_TAG) MCFG_RAM_DEFAULT_SIZE("128K") - MCFG_RAM_EXTRA_OPTIONS("384K,640K") - MCFG_NVRAM_ADD_RANDOM_FILL("nvram1") - MCFG_NVRAM_ADD_RANDOM_FILL("nvram2") + MCFG_NVRAM_ADD_RANDOM_FILL("nvram") MACHINE_CONFIG_END @@ -886,7 +1085,7 @@ ROM_START( pofo ) ROMX_LOAD( "rom b.u4", 0x00000, 0x20000, BAD_DUMP CRC(c9852766) SHA1(c74430281bc717bd36fd9b5baec1cc0f4489fe82), ROM_BIOS(1) ) // dumped with debug.com ROMX_LOAD( "rom a.u3", 0x20000, 0x20000, BAD_DUMP CRC(b8fb730d) SHA1(1b9d82b824cab830256d34912a643a7d048cd401), ROM_BIOS(1) ) // dumped with debug.com - ROM_REGION( 0x800, HD61830_TAG, 0 ) + ROM_REGION( 0x8000, HD61830_TAG, 0 ) ROM_LOAD( "hd61830 external character generator", 0x000, 0x800, BAD_DUMP CRC(747a1db3) SHA1(a4b29678fdb43791a8ce4c1ec778f3231bb422c5) ) // typed in from manual ROM_END @@ -896,5 +1095,5 @@ ROM_END // SYSTEM DRIVERS //************************************************************************** -/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ -COMP( 1989, pofo, 0, 0, portfolio, portfolio, driver_device, 0, "Atari", "Portfolio", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +// YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS +COMP( 1989, pofo, 0, 0, portfolio, portfolio, driver_device, 0, "Atari", "Portfolio", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/s6.cpp b/src/mame/drivers/s6.cpp index cc28d6f3c58..86ababe599e 100644 --- a/src/mame/drivers/s6.cpp +++ b/src/mame/drivers/s6.cpp @@ -120,7 +120,7 @@ static ADDRESS_MAP_START( s6_main_map, AS_PROGRAM, 8, s6_state ) AM_RANGE(0x2200, 0x2203) AM_DEVREADWRITE("pia22", pia6821_device, read, write) // solenoids AM_RANGE(0x2400, 0x2403) AM_DEVREADWRITE("pia24", pia6821_device, read, write) // lamps AM_RANGE(0x2800, 0x2803) AM_DEVREADWRITE("pia28", pia6821_device, read, write) // display - AM_RANGE(0xb000, 0x3003) AM_DEVREADWRITE("pia30", pia6821_device, read, write) // inputs + AM_RANGE(0x3000, 0x3003) AM_DEVREADWRITE("pia30", pia6821_device, read, write) // inputs AM_RANGE(0x6000, 0x7fff) AM_ROM AM_REGION("roms", 0) ADDRESS_MAP_END diff --git a/src/mame/drivers/sega_sawatte.cpp b/src/mame/drivers/sega_sawatte.cpp index 9ef349c81e4..04dd9fa432e 100644 --- a/src/mame/drivers/sega_sawatte.cpp +++ b/src/mame/drivers/sega_sawatte.cpp @@ -25,7 +25,7 @@ http://mamedev.emulab.it/haze/reference/sawatte/cartridge_example.jpg */ #include "emu.h" -#include "softlist.h" +#include "softlist_dev.h" class sawatte_state : public driver_device diff --git a/src/mame/drivers/sengokmj.cpp b/src/mame/drivers/sengokmj.cpp index 007b5fe7786..8f3666fa763 100644 --- a/src/mame/drivers/sengokmj.cpp +++ b/src/mame/drivers/sengokmj.cpp @@ -505,7 +505,7 @@ static INPUT_PORTS_START( sengokmj ) PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_GAMBLE_DOOR ) // Only used in service mode? PORT_SERVICE_NO_TOGGLE( 0x0002, IP_ACTIVE_LOW ) PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE4 ) PORT_NAME("Opt. 1st") // Only used in service mode? - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Reset") + PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_SERVICE3 ) PORT_NAME("Cash") // Only used in service mode? // 0x40 Hopper diff --git a/src/mame/drivers/slc1.cpp b/src/mame/drivers/slc1.cpp index f367e3b1705..a2eec395f04 100644 --- a/src/mame/drivers/slc1.cpp +++ b/src/mame/drivers/slc1.cpp @@ -182,7 +182,7 @@ static ADDRESS_MAP_START( slc1_map, AS_PROGRAM, 8, slc1_state ) ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_GLOBAL_MASK(0x4fff) AM_RANGE(0x0000, 0x0fff) AM_ROM - AM_RANGE(0x5000, 0x53ff) AM_RAM AM_MIRROR(0xc00) + AM_RANGE(0x4000, 0x43ff) AM_RAM AM_MIRROR(0xc00) ADDRESS_MAP_END static ADDRESS_MAP_START( slc1_io, AS_IO, 8, slc1_state ) diff --git a/src/mame/drivers/toaplan2.cpp b/src/mame/drivers/toaplan2.cpp index 084b7236212..afcee286591 100644 --- a/src/mame/drivers/toaplan2.cpp +++ b/src/mame/drivers/toaplan2.cpp @@ -2409,7 +2409,7 @@ static INPUT_PORTS_START( pwrkick ) PORT_SERVICE( 0x02, IP_ACTIVE_HIGH ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Down Button") PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, toaplan2_state, pwrkick_hopper_status_r, nullptr) - PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SERVICE3 ) PORT_NAME("Memory Reset") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_MEMORY_RESET ) PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) diff --git a/src/mame/drivers/toobin.cpp b/src/mame/drivers/toobin.cpp index f07cf0c4110..d35126e0033 100644 --- a/src/mame/drivers/toobin.cpp +++ b/src/mame/drivers/toobin.cpp @@ -86,22 +86,22 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, toobin_state ) AM_RANGE(0xc08000, 0xc097ff) AM_MIRROR(0x046000) AM_RAM_DEVWRITE("alpha", tilemap_device, write) AM_SHARE("alpha") AM_RANGE(0xc09800, 0xc09fff) AM_MIRROR(0x046000) AM_RAM AM_SHARE("mob") AM_RANGE(0xc10000, 0xc107ff) AM_MIRROR(0x047800) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram") - AM_RANGE(0xba6000, 0xba6001) AM_MIRROR(0x4500fe) AM_READNOP /* who knows? read at controls time */ - AM_RANGE(0xba8000, 0xba8001) AM_MIRROR(0x4500fe) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) - AM_RANGE(0xba8100, 0xba8101) AM_MIRROR(0x4500fe) AM_DEVWRITE8("jsa", atari_jsa_i_device, main_command_w, 0x00ff) - AM_RANGE(0xba8300, 0xba8301) AM_MIRROR(0x45003e) AM_WRITE(intensity_w) - AM_RANGE(0xba8340, 0xba8341) AM_MIRROR(0x45003e) AM_WRITE(interrupt_scan_w) AM_SHARE("interrupt_scan") - AM_RANGE(0xba8380, 0xba8381) AM_MIRROR(0x45003e) AM_RAM_WRITE(slip_w) AM_SHARE("mob:slip") - AM_RANGE(0xba83c0, 0xba83c1) AM_MIRROR(0x45003e) AM_WRITE(scanline_int_ack_w) - AM_RANGE(0xba8400, 0xba8401) AM_MIRROR(0x4500fe) AM_DEVWRITE("jsa", atari_jsa_i_device, sound_reset_w) - AM_RANGE(0xba8500, 0xba8501) AM_MIRROR(0x4500fe) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) - AM_RANGE(0xba8600, 0xba8601) AM_MIRROR(0x4500fe) AM_WRITE(xscroll_w) AM_SHARE("xscroll") - AM_RANGE(0xba8700, 0xba8701) AM_MIRROR(0x4500fe) AM_WRITE(yscroll_w) AM_SHARE("yscroll") - AM_RANGE(0xba8800, 0xba8801) AM_MIRROR(0x4507fe) AM_READ_PORT("FF8800") - AM_RANGE(0xba9000, 0xba9001) AM_MIRROR(0x4507fe) AM_READ_PORT("FF9000") - AM_RANGE(0xba9800, 0xba9801) AM_MIRROR(0x4507fe) AM_DEVREAD8("jsa", atari_jsa_i_device, main_response_r, 0x00ff) - AM_RANGE(0xbaa000, 0xbaafff) AM_MIRROR(0x451000) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) - AM_RANGE(0xbac000, 0xbaffff) AM_MIRROR(0x450000) AM_RAM + AM_RANGE(0x826000, 0x826001) AM_MIRROR(0x4500fe) AM_READNOP /* who knows? read at controls time */ + AM_RANGE(0x828000, 0x828001) AM_MIRROR(0x4500fe) AM_DEVWRITE("watchdog", watchdog_timer_device, reset16_w) + AM_RANGE(0x828100, 0x828101) AM_MIRROR(0x4500fe) AM_DEVWRITE8("jsa", atari_jsa_i_device, main_command_w, 0x00ff) + AM_RANGE(0x828300, 0x828301) AM_MIRROR(0x45003e) AM_WRITE(intensity_w) + AM_RANGE(0x828340, 0x828341) AM_MIRROR(0x45003e) AM_WRITE(interrupt_scan_w) AM_SHARE("interrupt_scan") + AM_RANGE(0x828380, 0x828381) AM_MIRROR(0x45003e) AM_RAM_WRITE(slip_w) AM_SHARE("mob:slip") + AM_RANGE(0x8283c0, 0x8283c1) AM_MIRROR(0x45003e) AM_WRITE(scanline_int_ack_w) + AM_RANGE(0x828400, 0x828401) AM_MIRROR(0x4500fe) AM_DEVWRITE("jsa", atari_jsa_i_device, sound_reset_w) + AM_RANGE(0x828500, 0x828501) AM_MIRROR(0x4500fe) AM_DEVWRITE("eeprom", atari_eeprom_device, unlock_write) + AM_RANGE(0x828600, 0x828601) AM_MIRROR(0x4500fe) AM_WRITE(xscroll_w) AM_SHARE("xscroll") + AM_RANGE(0x828700, 0x828701) AM_MIRROR(0x4500fe) AM_WRITE(yscroll_w) AM_SHARE("yscroll") + AM_RANGE(0x828800, 0x828801) AM_MIRROR(0x4507fe) AM_READ_PORT("FF8800") + AM_RANGE(0x829000, 0x829001) AM_MIRROR(0x4507fe) AM_READ_PORT("FF9000") + AM_RANGE(0x829800, 0x829801) AM_MIRROR(0x4507fe) AM_DEVREAD8("jsa", atari_jsa_i_device, main_response_r, 0x00ff) + AM_RANGE(0x82a000, 0x82afff) AM_MIRROR(0x451000) AM_DEVREADWRITE8("eeprom", atari_eeprom_device, read, write, 0x00ff) + AM_RANGE(0x82c000, 0x82ffff) AM_MIRROR(0x450000) AM_RAM ADDRESS_MAP_END diff --git a/src/mame/drivers/vroulet.cpp b/src/mame/drivers/vroulet.cpp index dcbf7a37c29..1d7f9da46c8 100644 --- a/src/mame/drivers/vroulet.cpp +++ b/src/mame/drivers/vroulet.cpp @@ -167,7 +167,7 @@ static INPUT_PORTS_START( vroulet ) PORT_START("IN0") PORT_SERVICE( 0x01, IP_ACTIVE_LOW ) PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_TILT ) - PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_F1) PORT_NAME("Memory Reset") + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_MEMORY_RESET ) PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON9 ) PORT_NAME("Reset Machine") PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN2 ) diff --git a/src/mame/includes/lisa.h b/src/mame/includes/lisa.h index f359191d605..b3a32f84a21 100644 --- a/src/mame/includes/lisa.h +++ b/src/mame/includes/lisa.h @@ -192,10 +192,6 @@ public: int m_videoROM_address; DECLARE_READ8_MEMBER(lisa_fdc_io_r); DECLARE_WRITE8_MEMBER(lisa_fdc_io_w); - DECLARE_READ8_MEMBER(lisa_fdc_r); - DECLARE_READ8_MEMBER(lisa210_fdc_r); - DECLARE_WRITE8_MEMBER(lisa_fdc_w); - DECLARE_WRITE8_MEMBER(lisa210_fdc_w); DECLARE_READ16_MEMBER(lisa_r); DECLARE_WRITE16_MEMBER(lisa_w); DECLARE_READ16_MEMBER(lisa_IO_r); diff --git a/src/mame/machine/at.cpp b/src/mame/machine/at.cpp index 8096b50e289..14508efb797 100644 --- a/src/mame/machine/at.cpp +++ b/src/mame/machine/at.cpp @@ -12,6 +12,7 @@ #include "machine/at_keybc.h" #include "bus/pc_kbd/pc_kbdc.h" #include "sound/dac.h" +#include "softlist_dev.h" #define LOG_PORT80 0 diff --git a/src/mame/machine/lisa.cpp b/src/mame/machine/lisa.cpp index 2e0cf3de51f..94b05e25270 100644 --- a/src/mame/machine/lisa.cpp +++ b/src/mame/machine/lisa.cpp @@ -1221,66 +1221,6 @@ WRITE8_MEMBER(lisa_state::lisa_fdc_io_w) } } -READ8_MEMBER(lisa_state::lisa_fdc_r) -{ - if (! (offset & 0x1000)) - { - if (! (offset & 0x0800)) - if (! (offset & 0x0400)) - return m_fdc_ram[offset & 0x03ff]; - else - return lisa_fdc_io_r(space, offset & 0x03ff); - else - return 0; /* ??? */ - } - else - return m_fdc_rom[offset & 0x0fff]; -} - -READ8_MEMBER(lisa_state::lisa210_fdc_r) -{ - if (! (offset & 0x1000)) - { - if (! (offset & 0x0400)) - if (! (offset & 0x0800)) - return m_fdc_ram[offset & 0x03ff]; - else - return lisa_fdc_io_r(space, offset & 0x03ff); - else - return 0; /* ??? */ - } - else - return m_fdc_rom[offset & 0x0fff]; -} - -WRITE8_MEMBER(lisa_state::lisa_fdc_w) -{ - if (! (offset & 0x1000)) - { - if (! (offset & 0x0800)) - { - if (! (offset & 0x0400)) - m_fdc_ram[offset & 0x03ff] = data; - else - lisa_fdc_io_w(space, offset & 0x03ff, data); - } - } -} - -WRITE8_MEMBER(lisa_state::lisa210_fdc_w) -{ - if (! (offset & 0x1000)) - { - if (! (offset & 0x0400)) - { - if (! (offset & 0x0800)) - m_fdc_ram[offset & 0x03ff] = data; - else - lisa_fdc_io_w(space, offset & 0x03ff, data); - } - } -} - READ16_MEMBER(lisa_state::lisa_r) { int answer=0; diff --git a/src/mame/machine/m1comm.cpp b/src/mame/machine/m1comm.cpp index 38b17b14501..a395c5885cb 100644 --- a/src/mame/machine/m1comm.cpp +++ b/src/mame/machine/m1comm.cpp @@ -77,7 +77,7 @@ static ADDRESS_MAP_START( m1comm_io, AS_IO, 8, m1comm_device ) AM_RANGE(0x20, 0x2F) AM_READWRITE(dma_reg_r, dma_reg_w) AM_RANGE(0x40, 0x40) AM_READWRITE(syn_r, syn_w) AM_RANGE(0x60, 0x60) AM_READWRITE(zfg_r, zfg_w) - AM_RANGE(0xFFFF, 0xFFFF) AM_RAM + AM_RANGE(0xFF, 0xFF) AM_RAM ADDRESS_MAP_END MACHINE_CONFIG_FRAGMENT( m1comm ) diff --git a/src/mame/machine/microdrv.h b/src/mame/machine/microdrv.h index 5e1547b9dc5..e7d98d8e838 100644 --- a/src/mame/machine/microdrv.h +++ b/src/mame/machine/microdrv.h @@ -13,6 +13,7 @@ #ifndef __MICRODRV__ #define __MICRODRV__ +#include "softlist_dev.h" //************************************************************************** diff --git a/src/mame/machine/ms7004.cpp b/src/mame/machine/ms7004.cpp index fb8ca4068cb..1e5cca40e0a 100644 --- a/src/mame/machine/ms7004.cpp +++ b/src/mame/machine/ms7004.cpp @@ -316,8 +316,8 @@ INPUT_PORTS_START( ms7004 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Num 0") PORT_CODE(KEYCODE_0_PAD) PORT_CHAR(UCHAR_MAMEKEY(0_PAD)) PORT_START("KBD0") // vertical row 15 - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F17") //PORT_CODE(KEYCODE_F17) PORT_CHAR(UCHAR_MAMEKEY(F17)) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F18") //PORT_CODE(KEYCODE_F18) PORT_CHAR(UCHAR_MAMEKEY(F18)) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F17") PORT_CODE(KEYCODE_F17) PORT_CHAR(UCHAR_MAMEKEY(F17)) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F18") PORT_CODE(KEYCODE_F18) PORT_CHAR(UCHAR_MAMEKEY(F18)) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("PF2") PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHAR(UCHAR_MAMEKEY(SLASH_PAD)) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("PF3") PORT_CODE(KEYCODE_ASTERISK) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Num 8") PORT_CODE(KEYCODE_8_PAD) PORT_CHAR(UCHAR_MAMEKEY(8_PAD)) @@ -326,8 +326,8 @@ INPUT_PORTS_START( ms7004 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Num 3") PORT_CODE(KEYCODE_3_PAD) PORT_CHAR(UCHAR_MAMEKEY(3_PAD)) PORT_START("KBD4") // vertical row 16 - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F19") //PORT_CODE(KEYCODE_F19) PORT_CHAR(UCHAR_MAMEKEY(F19)) - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F20") //PORT_CODE(KEYCODE_F20) PORT_CHAR(UCHAR_MAMEKEY(F20)) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F19") PORT_CODE(KEYCODE_F19) PORT_CHAR(UCHAR_MAMEKEY(F19)) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("F20") PORT_CODE(KEYCODE_F20) PORT_CHAR(UCHAR_MAMEKEY(F20)) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("PF4") PORT_CODE(KEYCODE_MINUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(MINUS_PAD)) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Num 9") PORT_CODE(KEYCODE_9_PAD) PORT_CHAR(UCHAR_MAMEKEY(9_PAD)) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("Num ,") PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD)) @@ -375,7 +375,8 @@ ms7004_device::ms7004_device(const machine_config &mconfig, const char *tag, dev m_kbd13(*this, "KBD13"), m_kbd14(*this, "KBD14"), m_kbd15(*this, "KBD15"), - m_tx_handler(*this) + m_tx_handler(*this), + m_rts_handler(*this) { } @@ -386,6 +387,7 @@ ms7004_device::ms7004_device(const machine_config &mconfig, const char *tag, dev void ms7004_device::device_start() { m_tx_handler.resolve_safe(); + m_rts_handler.resolve_safe(); } @@ -395,9 +397,15 @@ void ms7004_device::device_start() void ms7004_device::device_reset() { + m_rts_handler(0); } +WRITE_LINE_MEMBER( ms7004_device::write_rxd ) +{ + DBG_LOG(1,0,("write_rxd %d\n", state)); +} + //------------------------------------------------- // p1_w - //------------------------------------------------- @@ -441,7 +449,7 @@ WRITE8_MEMBER( ms7004_device::p2_w ) 6 LED "Caps" 7 LED "Hold" */ - DBG_LOG(2,0,( "%s: p2_w %02x = col %d\n", tag(), data, data&15)); + DBG_LOG(2,0,( "p2_w %02x = col %d\n", data, data&15)); m_p2 = data; m_i8243->i8243_p2_w(space, offset, data); @@ -456,8 +464,8 @@ WRITE8_MEMBER( ms7004_device::i8243_port_w ) { int sense = 0; - DBG_LOG(2,0,( "%s: 8243 port %d data %02xH\n", - tag(), offset + 4, data)); + DBG_LOG(2,0,( "8243 port %d data %02xH\n", + offset + 4, data)); if (data) { switch(offset << 4 | data) { @@ -480,8 +488,8 @@ WRITE8_MEMBER( ms7004_device::i8243_port_w ) } m_keylatch = BIT(sense, (m_p1 & 7)); if (m_keylatch) - DBG_LOG(1,0,( "%s: row %d col %02x t1 %d\n", - tag(), (m_p1 & 7), (offset << 4 | data), m_keylatch)); + DBG_LOG(1,0,( "row %d col %02x t1 %d\n", + (m_p1 & 7), (offset << 4 | data), m_keylatch)); } } diff --git a/src/mame/machine/ms7004.h b/src/mame/machine/ms7004.h index cbf36f3f311..ef9e9608d25 100644 --- a/src/mame/machine/ms7004.h +++ b/src/mame/machine/ms7004.h @@ -22,6 +22,9 @@ #define MCFG_MS7004_TX_HANDLER(_cb) \ devcb = &ms7004_device::set_tx_handler(*device, DEVCB_##_cb); +#define MCFG_MS7004_RTS_HANDLER(_cb) \ + devcb = &ms7004_device::set_rts_handler(*device, DEVCB_##_cb); + //************************************************************************** // TYPE DEFINITIONS @@ -36,12 +39,15 @@ public: ms7004_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); template<class _Object> static devcb_base &set_tx_handler(device_t &device, _Object wr) { return downcast<ms7004_device &>(device).m_tx_handler.set_callback(wr); } + template<class _Object> static devcb_base &set_rts_handler(device_t &device, _Object wr) { return downcast<ms7004_device &>(device).m_rts_handler.set_callback(wr); } DECLARE_WRITE8_MEMBER( p1_w ); DECLARE_WRITE8_MEMBER( p2_w ); DECLARE_READ8_MEMBER( t1_r ); DECLARE_WRITE8_MEMBER( i8243_port_w ); + DECLARE_WRITE_LINE_MEMBER( write_rxd ); + protected: // device-level overrides virtual machine_config_constructor device_mconfig_additions() const override; @@ -77,6 +83,7 @@ private: UINT8 m_p2; devcb_write_line m_tx_handler; + devcb_write_line m_rts_handler; }; // device type definition diff --git a/src/mame/machine/psion_pack.h b/src/mame/machine/psion_pack.h index 1c0cd8189d8..f0358844e93 100644 --- a/src/mame/machine/psion_pack.h +++ b/src/mame/machine/psion_pack.h @@ -9,6 +9,8 @@ #ifndef __PSION_PACK_H__ #define __PSION_PACK_H__ +#include "softlist_dev.h" + /*************************************************************************** TYPE DEFINITIONS diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 834b8023cfb..cd75e4baa0d 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -11178,7 +11178,6 @@ dvk_kcgd // @source:dvk_ksm.cpp dvk_ksm // -dvk_ksm01 // @source:dwarfd.cpp dwarfd // (c) 198? Electro-Sports |