From 9f5325a31145baa173c90d2f3b08ac363b4f53a5 Mon Sep 17 00:00:00 2001 From: Nathan Woods Date: Wed, 10 Aug 2016 07:22:46 -0400 Subject: [PATCH 001/116] device_image_interface::software_name_split() ==> softlist.cpp:software_name_parse() Also consolidated with code that performed a quick pass to identify whether a piece of text is a software name --- src/emu/diimage.cpp | 52 ++------------------------------ src/emu/diimage.h | 1 - src/emu/image.cpp | 10 ++---- src/emu/softlist.cpp | 72 ++++++++++++++++++++++++++++++++++++++++++++ src/emu/softlist.h | 5 +++ 5 files changed, 82 insertions(+), 58 deletions(-) diff --git a/src/emu/diimage.cpp b/src/emu/diimage.cpp index 935d1df52b9..c29bf3e891b 100644 --- a/src/emu/diimage.cpp +++ b/src/emu/diimage.cpp @@ -1254,53 +1254,6 @@ void device_image_interface::update_names(const device_type device_type, const c } } -//------------------------------------------------- -// software_name_split - helper that splits a -// software_list:software:part string into -// separate software_list, software, and part -// strings. -// -// str1:str2:str3 => swlist_name - str1, swname - str2, swpart - str3 -// str1:str2 => swlist_name - nullptr, swname - str1, swpart - str2 -// str1 => swlist_name - nullptr, swname - str1, swpart - nullptr -// -// Notice however that we could also have been -// passed a string swlist_name:swname, and thus -// some special check has to be performed in this -// case. -//------------------------------------------------- - -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(); - swname.clear(); - swpart.clear(); - - // if no colon, this is the swname by itself - auto split1 = swlist_swname.find_first_of(':'); - if (split1 == std::string::npos) - { - swname = swlist_swname; - return; - } - - // if one colon, it is the swname and swpart alone - auto split2 = swlist_swname.find_first_of(':', split1 + 1); - if (split2 == std::string::npos) - { - swname = swlist_swname.substr(0, split1); - swpart = swlist_swname.substr(split1 + 1); - return; - } - - // if two colons present, split into 3 parts - swlist_name = swlist_swname.substr(0, split1); - swname = swlist_swname.substr(split1 + 1, split2 - (split1 + 1)); - swpart = swlist_swname.substr(split2 + 1); -} - - //------------------------------------------------- // find_software_item //------------------------------------------------- @@ -1309,7 +1262,8 @@ const software_part *device_image_interface::find_software_item(const std::strin { // split full software name into software list name and short software name std::string swlist_name, swinfo_name, swpart_name; - software_name_split(path, swlist_name, swinfo_name, swpart_name); + if (!software_name_parse(path, &swlist_name, &swinfo_name, &swpart_name)) + return nullptr; // determine interface const char *interface = nullptr; @@ -1343,7 +1297,7 @@ const software_part *device_image_interface::find_software_item(const std::strin const software_info *info = swlistdev.find(swpart_name.c_str()); if (info != nullptr) { - const software_part *part = info->find_part(nullptr, interface); + const software_part *part = info->find_part("", interface); if (part != nullptr) { if (dev != nullptr) diff --git a/src/emu/diimage.h b/src/emu/diimage.h index d2ea51c47e7..aac698230b8 100644 --- a/src/emu/diimage.h +++ b/src/emu/diimage.h @@ -238,7 +238,6 @@ 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 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)) diff --git a/src/emu/image.cpp b/src/emu/image.cpp index 5fbc5844b9d..06998ad37e6 100644 --- a/src/emu/image.cpp +++ b/src/emu/image.cpp @@ -10,19 +10,13 @@ ***************************************************************************/ #include -#include #include "emu.h" #include "emuopts.h" #include "image.h" #include "config.h" #include "xmlfile.h" - -//************************************************************************** -// STATIC VARIABLES -//************************************************************************** - -static std::regex s_potenial_softlist_regex("\\w+(\\:\\w+\\:\\w+)?"); +#include "softlist.h" //************************************************************************** @@ -54,7 +48,7 @@ image_manager::image_manager(running_machine &machine) image.set_init_phase(); // try as a softlist - if (std::regex_match(image_name, s_potenial_softlist_regex)) + if (software_name_parse(image_name)) result = image.load_software(image_name); // failing that, try as an image diff --git a/src/emu/softlist.cpp b/src/emu/softlist.cpp index 67178a1b4bb..277449c5492 100644 --- a/src/emu/softlist.cpp +++ b/src/emu/softlist.cpp @@ -8,10 +8,20 @@ ***************************************************************************/ +#include + #include "softlist.h" #include "hash.h" #include "expat.h" + +//************************************************************************** +// STATIC VARIABLES +//************************************************************************** + +static std::regex s_potenial_softlist_regex("\\w+(\\:\\w+)*"); + + //************************************************************************** // FEATURE LIST ITEM //************************************************************************** @@ -813,3 +823,65 @@ void softlist_parser::parse_soft_end(const char *tagname) } } + +//------------------------------------------------- +// software_name_parse - helper that splits a +// software_list:software:part string into +// separate software_list, software, and part +// strings. +// +// str1:str2:str3 => swlist_name - str1, swname - str2, swpart - str3 +// str1:str2 => swlist_name - nullptr, swname - str1, swpart - str2 +// str1 => swlist_name - nullptr, swname - str1, swpart - nullptr +// +// Notice however that we could also have been +// passed a string swlist_name:swname, and thus +// some special check has to be performed in this +// case. +//------------------------------------------------- + +bool software_name_parse(const std::string &text, std::string *swlist_name, std::string *swname, std::string *swpart) +{ + // first, sanity check the arguments + if (!std::regex_match(text, s_potenial_softlist_regex)) + return false; + + // reset all output parameters (if specified of course) + if (swlist_name != nullptr) + swlist_name->clear(); + if (swname != nullptr) + swname->clear(); + if (swpart != nullptr) + swpart->clear(); + + // if no colon, this is the swname by itself + auto split1 = text.find_first_of(':'); + if (split1 == std::string::npos) + { + if (swname != nullptr) + *swname = text; + return true; + } + + // if one colon, it is the swname and swpart alone + auto split2 = text.find_first_of(':', split1 + 1); + if (split2 == std::string::npos) + { + if (swname != nullptr) + *swname = text.substr(0, split1); + if (swpart != nullptr) + *swpart = text.substr(split1 + 1); + return true; + } + + // if two colons present, split into 3 parts + if (swlist_name != nullptr) + *swlist_name = text.substr(0, split1); + if (swname != nullptr) + *swname = text.substr(split1 + 1, split2 - (split1 + 1)); + if (swpart != nullptr) + *swpart = text.substr(split2 + 1); + return true; +} + + diff --git a/src/emu/softlist.h b/src/emu/softlist.h index 19ebc73e973..b517ab31458 100644 --- a/src/emu/softlist.h +++ b/src/emu/softlist.h @@ -207,5 +207,10 @@ private: }; +// ----- Helpers ----- + +// parses a software name (e.g. - 'apple2e:agentusa:flop1') into its consituent parts (returns false if cannot parse) +bool software_name_parse(const std::string &text, std::string *swlist_name = nullptr, std::string *swname = nullptr, std::string *swpart = nullptr); + #endif // __SOFTLIST_H_ From 1339c06320229d178a169cabc5730351eda6ba74 Mon Sep 17 00:00:00 2001 From: "therealmogminer@gmail.com" Date: Fri, 12 Aug 2016 15:15:47 +0200 Subject: [PATCH 002/116] Skeleton driver for Fairlight CMI IIx [MooglyGuy] --- scripts/target/mame/mess.lua | 6 + src/mame/drivers/cmi.cpp | 222 +++++++++++++++++++++++++++++++++++ src/mame/mame.lst | 3 + 3 files changed, 231 insertions(+) create mode 100644 src/mame/drivers/cmi.cpp diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 3554b86e213..b6a820c93ee 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -768,6 +768,7 @@ function linkProjects_mame_mess(_target, _subtarget) "epson", "exidy", "fairch", + "fairlight", "fidelity", "force", "fujitsu", @@ -1731,6 +1732,11 @@ files { MAME_DIR .. "src/mame/video/channelf.cpp", } +createMESSProjects(_target, _subtarget, "fairlight") +files { + MAME_DIR .. "src/mame/drivers/cmi.cpp", +} + createMESSProjects(_target, _subtarget, "fidelity") files { MAME_DIR .. "src/mame/drivers/fidelz80.cpp", diff --git a/src/mame/drivers/cmi.cpp b/src/mame/drivers/cmi.cpp new file mode 100644 index 00000000000..12d69a4b1eb --- /dev/null +++ b/src/mame/drivers/cmi.cpp @@ -0,0 +1,222 @@ +// license:BSD-3-Clause +// copyright-holders:Ryan Holtz +/*************************************************************************** + + Fairlight CMI IIx skeleton + ----------------------------------- + + All currently known information comes from: + + CMI SYSTEM SERVICE MANUAL + FAIRLIGHT INSTRUMENTS, FEBRUARY 1985 + Revision 2.1 + + This document is available on archive.org at the following URL: + + https://archive.org/details/fairlight_CMI-IIx_SERVICE_MANUAL + + Summary: + + The Fairlight CMI system conists typically of: + - One velocity-sensitive unweighted keyboard, with a numeric + keypad and several control surfaces + - (Optionally) one additional keyboard, not velocity-sensitive + - One alphanumeric keyboard for manual control + - A 15-inch green-screen monitor and light pen for more direct + control + - A box consisting of: + * An audio board including balanced line drivers for eight + channels and mixed output + * A 500-watt power supply + * A 21-slot backplane + * Two 8-inch double-density floppy disk drives. The format + used is soft-sectored, 128 bytes per sector (single density), + or 256 bytes per sector (double density), using FM + recording. + * And the following cards: + Slot 1: Master Card CMI-02 + Slot 2: General Interface Card CMI-08/28 (Optional) + Slots 3-11: 8 Channel Controller Cards & 1 Voice Master Module Card, order unknown + Slot 12: 64K System RAM Q-096 + Slot 13: 256K System RAM Q-256 + Slot 14: 256K System RAM Q-256 + Slot 15: 4-Port ACIA Module Q-014 (Optional) + Slot 16: Processor Control Module Q-133 + Slot 17: Central Processor Module Q-209 + Slot 18: Lightpen/Graphics Interface Q-219 + Slot 19: Floppy Disk Controller QFC-9 + Slot 20: Hard Disk Controller Q-077 (Optional) + + The Master Keyboard + ------------------- + + The master keyboard has the following features: + - A serial connector for communicating with the CMI mainframe + - A connector for a slave keyboard + - A connector for the alphanumeric keyboard + - Connectors for pedal controls + - Three slider-type analog controls + - Two switch controls (one momentary, one toggle on/off) + - Two lamp indicators for the switches with software-defined + control + - A 12-character LED alphanumeric display + - A 16-switch keypad + + All communications with all peripherals and controls on the master + keyboard is handled via the master keyboard's controller, and as + such there is one single serial link to the "CMI mainframe" box + itself. + + Q209 Dual 6809 Central Processor Card + ------------------------------------- + + The CPU card has two 6809 processors, with robust inter-CPU + communications capabilities including: + - Uninterruptible instructions + - CPU-specific ID register and memory map registers + - Interprocessor interrupts + - Automatic memory map-switching register + + The CPUs are multiplexed onto the address and data buses + in an interleaved manner such that there is no contention + on simultaneous memory accesses. + + All system timing is derived from a 40MHz clock crystal, which + is divided into two opposite-phase 20MHz squre waves. + + Other data entry from service manual to be completed later - RH 12 Aug 2016 + +****************************************************************************/ + +#include "emu.h" +#include "cpu/m6809/m6809.h" + +#define Q209_CPU_CLOCK 1000000 + +class cmi_state : public driver_device +{ +public: + cmi_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + , m_maincpu1(*this, "maincpu1") + , m_maincpu2(*this, "maincpu2") + , m_percpu_rom(*this, "percpurom") + , m_common_rom(*this, "commonrom") + , m_percpu_rom_ptr(nullptr) + , m_common_rom_ptr(nullptr) + { + } + + virtual void machine_reset() override; + virtual void machine_start() override; + + DECLARE_READ8_MEMBER( q209_mmu_r ); + DECLARE_WRITE8_MEMBER( q209_mmu_w ); + + DECLARE_DRIVER_INIT( cmi2x ); + +protected: + + required_device m_maincpu1; + required_device m_maincpu2; + + required_memory_region m_percpu_rom; + required_memory_region m_common_rom; + + UINT8 *m_percpu_rom_ptr; + UINT8 *m_common_rom_ptr; +private: +}; + +/* Input ports */ +static INPUT_PORTS_START( cmi2x ) +INPUT_PORTS_END + +void cmi_state::machine_reset() +{ +} + +void cmi_state::machine_start() +{ + m_percpu_rom_ptr = (UINT8 *)m_percpu_rom->base(); + m_common_rom_ptr = (UINT8 *)m_common_rom->base(); +} + +READ8_MEMBER( cmi_state::q209_mmu_r ) +{ + int cpuindex = (&space.device() == m_maincpu1 ? 1 : 2); + if (cpuindex == 1) + { + if (offset >= 0xf800) + { + if (offset >= 0xffe0) + { + return m_common_rom_ptr[0x3e0 + (offset - 0xffe0)]; + } + else if (offset < 0xfc00) + { + return m_common_rom_ptr[0x000 + (offset - 0xf800)]; + } + } + else if (offset >= 0xf000) + { + return m_common_rom_ptr[offset - 0xf000]; + } + else + { + } + } + else + { + if (offset >= 0xf800) + { + if (offset >= 0xffe0) + { + return m_common_rom_ptr[0x3e0 + (offset - 0xffe0)]; + } + else if (offset < 0xfc00) + { + return m_common_rom_ptr[0x000 + (offset - 0xf800)]; + } + } + else if (offset >= 0xf000) + { + return m_common_rom_ptr[offset - 0xf000]; + } + } + + logerror("CPU%d unknown read, offset=%04x PC=%04x\n", cpuindex, offset, space.device().safe_pc()); + return 0; +} + +WRITE8_MEMBER( cmi_state::q209_mmu_w ) +{ + const int cpuindex = (&space.device() == m_maincpu1 ? 1 : 2); + logerror("CPU%d unknown write, offset=%04x data=%02x PC=%04x\n", cpuindex, offset, data, space.device().safe_pc()); +} + +static ADDRESS_MAP_START(q209_6809_mmu_map, AS_PROGRAM, 8, cmi_state) + AM_RANGE(0x0000, 0xffff) AM_READWRITE( q209_mmu_r, q209_mmu_w ) +ADDRESS_MAP_END + +static MACHINE_CONFIG_START( cmi2x, cmi_state ) + MCFG_CPU_ADD("maincpu1", M6809, Q209_CPU_CLOCK) + MCFG_CPU_PROGRAM_MAP(q209_6809_mmu_map) + + MCFG_CPU_ADD("maincpu2", M6809, Q209_CPU_CLOCK) + MCFG_CPU_PROGRAM_MAP(q209_6809_mmu_map) +MACHINE_CONFIG_END + +ROM_START( cmi2x ) + ROM_REGION( 0x800, "commonrom", 0 ) + ROM_LOAD( "f8lmrk5.bin", 0x00000, 0x0800, CRC(12345678) SHA1(1234567812345678123456781234567812345678) ) + + ROM_REGION( 0x800, "percpurom", 0 ) + ROM_LOAD( "q9fomrk1.bin", 0x00000, 0x0800, CRC(12345678) SHA1(1234567812345678123456781234567812345678) ) +ROM_END + +DRIVER_INIT_MEMBER( cmi_state, cmi2x ) +{ +} + +CONS( 1983, cmi2x, 0, 0, cmi2x, cmi2x, cmi_state, cmi2x, "Fairlight", "CMI IIx", MACHINE_NOT_WORKING ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 07582df5d80..32e3aa6f14e 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -9496,6 +9496,9 @@ firebatl // (c) 1984 Taito @source:cm1800.cpp cm1800 // +@source:cmi.cpp +cmi2x // Fairlight CMI IIx + @source:cmmb.cpp cmmb162 // From 4f84793a055bd6f43623ffa9b8a5c0d2d8cfde27 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 12 Aug 2016 18:27:54 +0200 Subject: [PATCH 003/116] made proper formats compiled only if needed (nw) --- makefile | 1 + scripts/build/makedep.py | 3 +- scripts/genie.lua | 8 + scripts/src/formats.lua | 1722 ++++++++++++++++++++++++++++++++ scripts/src/lib.lua | 333 ------ scripts/src/main.lua | 4 + scripts/target/mame/arcade.lua | 10 + scripts/target/mame/mess.lua | 142 +++ 8 files changed, 1889 insertions(+), 334 deletions(-) create mode 100644 scripts/src/formats.lua diff --git a/makefile b/makefile index f22bbf54a37..3c8f8d30c5c 100644 --- a/makefile +++ b/makefile @@ -774,6 +774,7 @@ SCRIPTS = scripts/genie.lua \ scripts/src/video.lua \ scripts/src/bus.lua \ scripts/src/netlist.lua \ + scripts/src/formats.lua \ scripts/toolchain.lua \ scripts/src/osd/modules.lua \ $(wildcard src/osd/$(OSD)/$(OSD).mak) \ diff --git a/scripts/build/makedep.py b/scripts/build/makedep.py index b1278879d77..cf4a97f1af0 100644 --- a/scripts/build/makedep.py +++ b/scripts/build/makedep.py @@ -10,7 +10,7 @@ import sys files_included = ['src/emu/emu.h'] -include_dirs = ['src/emu/', 'src/devices/', 'src/mame/'] +include_dirs = ['src/emu/', 'src/devices/', 'src/mame/', 'src/lib/'] mappings = dict() @@ -201,6 +201,7 @@ parse_lua_file(root +'scripts/src/cpu.lua') parse_lua_file(root +'scripts/src/machine.lua') parse_lua_file(root +'scripts/src/sound.lua') parse_lua_file(root +'scripts/src/video.lua') +parse_lua_file(root +'scripts/src/formats.lua') for filename in sys.argv[2].rsplit(',') : deps_files_included.append(filename.replace('\\','/')) diff --git a/scripts/genie.lua b/scripts/genie.lua index 83f484d2984..3f6455a5cf8 100644 --- a/scripts/genie.lua +++ b/scripts/genie.lua @@ -94,6 +94,7 @@ SOUNDS = {} MACHINES = {} VIDEOS = {} BUSES = {} +FORMATS = {} newoption { trigger = "with-tools", @@ -1320,6 +1321,13 @@ if (not os.isfile(path.join("src", "osd", _OPTIONS["osd"] .. ".lua"))) then end dofile(path.join("src", "osd", _OPTIONS["osd"] .. ".lua")) dofile(path.join("src", "lib.lua")) +if (MACHINES["NETLIST"]~=null or _OPTIONS["with-tools"]) then +dofile(path.join("src", "netlist.lua")) +end +--if (STANDALONE~=true) then +dofile(path.join("src", "formats.lua")) +formatsProject(_OPTIONS["target"],_OPTIONS["subtarget"]) +--end group "3rdparty" dofile(path.join("src", "3rdparty.lua")) diff --git a/scripts/src/formats.lua b/scripts/src/formats.lua new file mode 100644 index 00000000000..f5f1a253a19 --- /dev/null +++ b/scripts/src/formats.lua @@ -0,0 +1,1722 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + +--------------------------------------------------------------------------- +-- +-- formats.lua +-- +-- Rules for building formats +-- +--------------------------------------------------------------------------- +function formatsProject(_target, _subtarget) +project "formats" + uuid (os.uuid("formats-" .. _target .."_" .. _subtarget)) + kind (LIBTYPE) + targetsubdir(_target .."_" .. _subtarget) + addprojectflags() + + options { + "ArchiveSplit", + } + + includedirs { + MAME_DIR .. "src/osd", + MAME_DIR .. "src/emu", + MAME_DIR .. "src/lib", + MAME_DIR .. "src/lib/util", + MAME_DIR .. "3rdparty", + ext_includedir("zlib"), + } + + files { + MAME_DIR .. "src/lib/formats/ioprocs.cpp", + MAME_DIR .. "src/lib/formats/ioprocs.h", + MAME_DIR .. "src/lib/formats/imageutl.cpp", + MAME_DIR .. "src/lib/formats/imageutl.h", + + MAME_DIR .. "src/lib/formats/cassimg.cpp", + MAME_DIR .. "src/lib/formats/cassimg.h", + MAME_DIR .. "src/lib/formats/wavfile.cpp", + MAME_DIR .. "src/lib/formats/wavfile.h", + + MAME_DIR .. "src/lib/formats/flopimg.cpp", + MAME_DIR .. "src/lib/formats/flopimg.h", + + MAME_DIR .. "src/lib/formats/cqm_dsk.cpp", + MAME_DIR .. "src/lib/formats/cqm_dsk.h", + MAME_DIR .. "src/lib/formats/dsk_dsk.cpp", + MAME_DIR .. "src/lib/formats/dsk_dsk.h", + MAME_DIR .. "src/lib/formats/td0_dsk.cpp", + MAME_DIR .. "src/lib/formats/td0_dsk.h", + MAME_DIR .. "src/lib/formats/hxcmfm_dsk.cpp", + MAME_DIR .. "src/lib/formats/hxcmfm_dsk.h", + MAME_DIR .. "src/lib/formats/mfi_dsk.cpp", + MAME_DIR .. "src/lib/formats/mfi_dsk.h", + MAME_DIR .. "src/lib/formats/imd_dsk.cpp", + MAME_DIR .. "src/lib/formats/imd_dsk.h", + MAME_DIR .. "src/lib/formats/ipf_dsk.cpp", + MAME_DIR .. "src/lib/formats/ipf_dsk.h", + MAME_DIR .. "src/lib/formats/d88_dsk.cpp", + MAME_DIR .. "src/lib/formats/d88_dsk.h", + MAME_DIR .. "src/lib/formats/dfi_dsk.cpp", + MAME_DIR .. "src/lib/formats/dfi_dsk.h", + MAME_DIR .. "src/lib/formats/fdi_dsk.cpp", + } + +-------------------------------------------------- +-- +--@src/lib/formats/2d_dsk.h,FORMATS["2D_DSK"] = true +-------------------------------------------------- + +if (FORMATS["2D_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/2d_dsk.cpp", + MAME_DIR.. "src/lib/formats/2d_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/a26_cas.h,FORMATS["A26_CAS"] = true +-------------------------------------------------- + +if (FORMATS["A26_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/a26_cas.cpp", + MAME_DIR.. "src/lib/formats/a26_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/a5105_dsk.h,FORMATS["A5105_DSK"] = true +-------------------------------------------------- + +if (FORMATS["A5105_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/a5105_dsk.cpp", + MAME_DIR.. "src/lib/formats/a5105_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/abc800_dsk.h,FORMATS["ABC800_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ABC800_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/abc800_dsk.cpp", + MAME_DIR.. "src/lib/formats/abc800_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/abcfd2_dsk.h,FORMATS["ABCFD2_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ABCFD2_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/abcfd2_dsk.cpp", + MAME_DIR.. "src/lib/formats/abcfd2_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ace_tap.h,FORMATS["ACE_TAP"] = true +-------------------------------------------------- + +if (FORMATS["ACE_TAP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ace_tap.cpp", + MAME_DIR.. "src/lib/formats/ace_tap.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/acorn_dsk.h,FORMATS["ACORN_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ACORN_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/acorn_dsk.cpp", + MAME_DIR.. "src/lib/formats/acorn_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/adam_cas.h,FORMATS["ADAM_CAS"] = true +-------------------------------------------------- + +if (FORMATS["ADAM_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/adam_cas.cpp", + MAME_DIR.. "src/lib/formats/adam_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/adam_dsk.h,FORMATS["ADAM_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ADAM_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/adam_dsk.cpp", + MAME_DIR.. "src/lib/formats/adam_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/afs_dsk.h,FORMATS["AFS_DSK"] = true +-------------------------------------------------- + +if (FORMATS["AFS_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/afs_dsk.cpp", + MAME_DIR.. "src/lib/formats/afs_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ami_dsk.h,FORMATS["AMI_DSK"] = true +-------------------------------------------------- + +if (FORMATS["AMI_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ami_dsk.cpp", + MAME_DIR.. "src/lib/formats/ami_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ap2_dsk.h,FORMATS["AP2_DSK"] = true +-------------------------------------------------- + +if (FORMATS["AP2_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ap2_dsk.cpp", + MAME_DIR.. "src/lib/formats/ap2_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/apf_apt.h,FORMATS["APF_APT"] = true +-------------------------------------------------- + +if (FORMATS["APF_APT"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/apf_apt.cpp", + MAME_DIR.. "src/lib/formats/apf_apt.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/apollo_dsk.h,FORMATS["APOLLO_DSK"] = true +-------------------------------------------------- + +if (FORMATS["APOLLO_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/apollo_dsk.cpp", + MAME_DIR.. "src/lib/formats/apollo_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/applix_dsk.h,FORMATS["APPLIX_DSK"] = true +-------------------------------------------------- + +if (FORMATS["APPLIX_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/applix_dsk.cpp", + MAME_DIR.. "src/lib/formats/applix_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/apridisk.h,FORMATS["APRIDISK"] = true +-------------------------------------------------- + +if (FORMATS["APRIDISK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/apridisk.cpp", + MAME_DIR.. "src/lib/formats/apridisk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ap_dsk35.h,FORMATS["AP_DSK35"] = true +-------------------------------------------------- + +if (FORMATS["AP_DSK35"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ap_dsk35.cpp", + MAME_DIR.. "src/lib/formats/ap_dsk35.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/asst128_dsk.h,FORMATS["ASST128_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ASST128_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/asst128_dsk.cpp", + MAME_DIR.. "src/lib/formats/asst128_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/atari_dsk.h,FORMATS["ATARI_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ATARI_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/atari_dsk.cpp", + MAME_DIR.. "src/lib/formats/atari_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/atom_dsk.h,FORMATS["ATOM_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ATOM_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/atom_dsk.cpp", + MAME_DIR.. "src/lib/formats/atom_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/atom_tap.h,FORMATS["ATOM_TAP"] = true +-------------------------------------------------- + +if (FORMATS["ATOM_TAP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/atom_tap.cpp", + MAME_DIR.. "src/lib/formats/atom_tap.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/basicdsk.h,FORMATS["BASICDSK"] = true +-------------------------------------------------- + +if (FORMATS["BASICDSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/basicdsk.cpp", + MAME_DIR.. "src/lib/formats/basicdsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/bw12_dsk.h,FORMATS["BW12_DSK"] = true +-------------------------------------------------- + +if (FORMATS["BW12_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/bw12_dsk.cpp", + MAME_DIR.. "src/lib/formats/bw12_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/bw2_dsk.h,FORMATS["BW2_DSK"] = true +-------------------------------------------------- + +if (FORMATS["BW2_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/bw2_dsk.cpp", + MAME_DIR.. "src/lib/formats/bw2_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/c3040_dsk.h,FORMATS["C3040_DSK"] = true +-------------------------------------------------- + +if (FORMATS["C3040_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/c3040_dsk.cpp", + MAME_DIR.. "src/lib/formats/c3040_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/c4040_dsk.h,FORMATS["C4040_DSK"] = true +-------------------------------------------------- + +if (FORMATS["C4040_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/c4040_dsk.cpp", + MAME_DIR.. "src/lib/formats/c4040_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/c8280_dsk.h,FORMATS["C8280_DSK"] = true +-------------------------------------------------- + +if (FORMATS["C8280_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/c8280_dsk.cpp", + MAME_DIR.. "src/lib/formats/c8280_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/camplynx_cas.h,FORMATS["CAMPLYNX_CAS"] = true +-------------------------------------------------- + +if (FORMATS["CAMPLYNX_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/camplynx_cas.cpp", + MAME_DIR.. "src/lib/formats/camplynx_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/camplynx_dsk.h,FORMATS["CAMPLYNX_DSK"] = true +-------------------------------------------------- + +if (FORMATS["CAMPLYNX_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/camplynx_dsk.cpp", + MAME_DIR.. "src/lib/formats/camplynx_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/cbm_crt.h,FORMATS["CBM_CRT"] = true +-------------------------------------------------- + +if (FORMATS["CBM_CRT"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/cbm_crt.cpp", + MAME_DIR.. "src/lib/formats/cbm_crt.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/cbm_tap.h,FORMATS["CBM_TAP"] = true +-------------------------------------------------- + +if (FORMATS["CBM_TAP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/cbm_tap.cpp", + MAME_DIR.. "src/lib/formats/cbm_tap.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ccvf_dsk.h,FORMATS["CCVF_DSK"] = true +-------------------------------------------------- + +if (FORMATS["CCVF_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ccvf_dsk.cpp", + MAME_DIR.. "src/lib/formats/ccvf_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/cd90_640_dsk.h,FORMATS["CD90_640_DSK"] = true +-------------------------------------------------- + +if (FORMATS["CD90_640_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/cd90_640_dsk.cpp", + MAME_DIR.. "src/lib/formats/cd90_640_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/cgenie_dsk.h,FORMATS["CGENIE_DSK"] = true +-------------------------------------------------- + +if (FORMATS["CGENIE_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/cgenie_dsk.cpp", + MAME_DIR.. "src/lib/formats/cgenie_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/cgen_cas.h,FORMATS["CGEN_CAS"] = true +-------------------------------------------------- + +if (FORMATS["CGEN_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/cgen_cas.cpp", + MAME_DIR.. "src/lib/formats/cgen_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/coco_cas.h,FORMATS["COCO_CAS"] = true +-------------------------------------------------- + +if (FORMATS["COCO_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/coco_cas.cpp", + MAME_DIR.. "src/lib/formats/coco_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/comx35_dsk.h,FORMATS["COMX35_DSK"] = true +-------------------------------------------------- + +if (FORMATS["COMX35_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/comx35_dsk.cpp", + MAME_DIR.. "src/lib/formats/comx35_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/concept_dsk.h,FORMATS["CONCEPT_DSK"] = true +-------------------------------------------------- + +if (FORMATS["CONCEPT_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/concept_dsk.cpp", + MAME_DIR.. "src/lib/formats/concept_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/coupedsk.h,FORMATS["COUPEDSK"] = true +-------------------------------------------------- + +if (FORMATS["COUPEDSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/coupedsk.cpp", + MAME_DIR.. "src/lib/formats/coupedsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/cpis_dsk.h,FORMATS["CPIS_DSK"] = true +-------------------------------------------------- + +if (FORMATS["CPIS_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/cpis_dsk.cpp", + MAME_DIR.. "src/lib/formats/cpis_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/csw_cas.h,FORMATS["CSW_CAS"] = true +-------------------------------------------------- + +if (FORMATS["CSW_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/csw_cas.cpp", + MAME_DIR.. "src/lib/formats/csw_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/d64_dsk.h,FORMATS["D64_DSK"] = true +-------------------------------------------------- + +if (FORMATS["D64_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/d64_dsk.cpp", + MAME_DIR.. "src/lib/formats/d64_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/d71_dsk.h,FORMATS["D71_DSK"] = true +-------------------------------------------------- + +if (FORMATS["D71_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/d71_dsk.cpp", + MAME_DIR.. "src/lib/formats/d71_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/d80_dsk.h,FORMATS["D80_DSK"] = true +-------------------------------------------------- + +if (FORMATS["D80_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/d80_dsk.cpp", + MAME_DIR.. "src/lib/formats/d80_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/d81_dsk.h,FORMATS["D81_DSK"] = true +-------------------------------------------------- + +if (FORMATS["D81_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/d81_dsk.cpp", + MAME_DIR.. "src/lib/formats/d81_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/d82_dsk.h,FORMATS["D82_DSK"] = true +-------------------------------------------------- + +if (FORMATS["D82_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/d82_dsk.cpp", + MAME_DIR.. "src/lib/formats/d82_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/dcp_dsk.h,FORMATS["DCP_DSK"] = true +-------------------------------------------------- + +if (FORMATS["DCP_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/dcp_dsk.cpp", + MAME_DIR.. "src/lib/formats/dcp_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/dim_dsk.h,FORMATS["DIM_DSK"] = true +-------------------------------------------------- + +if (FORMATS["DIM_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/dim_dsk.cpp", + MAME_DIR.. "src/lib/formats/dim_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/dip_dsk.h,FORMATS["DIP_DSK"] = true +-------------------------------------------------- + +if (FORMATS["DIP_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/dip_dsk.cpp", + MAME_DIR.. "src/lib/formats/dip_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/dmk_dsk.h,FORMATS["DMK_DSK"] = true +-------------------------------------------------- + +if (FORMATS["DMK_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/dmk_dsk.cpp", + MAME_DIR.. "src/lib/formats/dmk_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ep64_dsk.h,FORMATS["EP64_DSK"] = true +-------------------------------------------------- + +if (FORMATS["EP64_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ep64_dsk.cpp", + MAME_DIR.. "src/lib/formats/ep64_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/dmv_dsk.h,FORMATS["DMV_DSK"] = true +-------------------------------------------------- + +if (FORMATS["DMV_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/dmv_dsk.cpp", + MAME_DIR.. "src/lib/formats/dmv_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/esq16_dsk.h,FORMATS["ESQ16_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ESQ16_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/esq16_dsk.cpp", + MAME_DIR.. "src/lib/formats/esq16_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/esq8_dsk.h,FORMATS["ESQ8_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ESQ8_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/esq8_dsk.cpp", + MAME_DIR.. "src/lib/formats/esq8_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/excali64_dsk.h,FORMATS["EXCALI64_DSK"] = true +-------------------------------------------------- + +if (FORMATS["EXCALI64_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/excali64_dsk.cpp", + MAME_DIR.. "src/lib/formats/excali64_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/fc100_cas.h,FORMATS["FC100_CAS"] = true +-------------------------------------------------- + +if (FORMATS["FC100_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/fc100_cas.cpp", + MAME_DIR.. "src/lib/formats/fc100_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/fdd_dsk.h,FORMATS["FDD_DSK"] = true +-------------------------------------------------- + +if (FORMATS["FDD_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/fdd_dsk.cpp", + MAME_DIR.. "src/lib/formats/fdd_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/flex_dsk.h,FORMATS["FLEX_DSK"] = true +-------------------------------------------------- + +if (FORMATS["FLEX_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/flex_dsk.cpp", + MAME_DIR.. "src/lib/formats/flex_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/fm7_cas.h,FORMATS["FM7_CAS"] = true +-------------------------------------------------- + +if (FORMATS["FM7_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/fm7_cas.cpp", + MAME_DIR.. "src/lib/formats/fm7_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/fmsx_cas.h,FORMATS["FMSX_CAS"] = true +-------------------------------------------------- + +if (FORMATS["FMSX_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/fmsx_cas.cpp", + MAME_DIR.. "src/lib/formats/fmsx_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/fmtowns_dsk.h,FORMATS["FMTOWNS_DSK"] = true +-------------------------------------------------- + +if (FORMATS["FMTOWNS_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/fmtowns_dsk.cpp", + MAME_DIR.. "src/lib/formats/fmtowns_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/fsd_dsk.h,FORMATS["FSD_DSK"] = true +-------------------------------------------------- + +if (FORMATS["FSD_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/fsd_dsk.cpp", + MAME_DIR.. "src/lib/formats/fsd_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/g64_dsk.h,FORMATS["G64_DSK"] = true +-------------------------------------------------- + +if (FORMATS["G64_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/g64_dsk.cpp", + MAME_DIR.. "src/lib/formats/g64_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/gtp_cas.h,FORMATS["GTP_CAS"] = true +-------------------------------------------------- + +if (FORMATS["GTP_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/gtp_cas.cpp", + MAME_DIR.. "src/lib/formats/gtp_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/guab_dsk.h,FORMATS["GUAB_DSK"] = true +-------------------------------------------------- + +if (FORMATS["GUAB_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/guab_dsk.cpp", + MAME_DIR.. "src/lib/formats/guab_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/hector_minidisc.h,FORMATS["HECTOR_MINIDISC"] = true +-------------------------------------------------- + +if (FORMATS["HECTOR_MINIDISC"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/hector_minidisc.cpp", + MAME_DIR.. "src/lib/formats/hector_minidisc.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/hect_dsk.h,FORMATS["HECT_DSK"] = true +-------------------------------------------------- + +if (FORMATS["HECT_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/hect_dsk.cpp", + MAME_DIR.. "src/lib/formats/hect_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/hect_tap.h,FORMATS["HECT_TAP"] = true +-------------------------------------------------- + +if (FORMATS["HECT_TAP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/hect_tap.cpp", + MAME_DIR.. "src/lib/formats/hect_tap.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/iq151_dsk.h,FORMATS["IQ151_DSK"] = true +-------------------------------------------------- + +if (FORMATS["IQ151_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/iq151_dsk.cpp", + MAME_DIR.. "src/lib/formats/iq151_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/itt3030_dsk.h,FORMATS["ITT3030_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ITT3030_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/itt3030_dsk.cpp", + MAME_DIR.. "src/lib/formats/itt3030_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/jvc_dsk.h,FORMATS["JVC_DSK"] = true +-------------------------------------------------- + +if (FORMATS["JVC_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/jvc_dsk.cpp", + MAME_DIR.. "src/lib/formats/jvc_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/kaypro_dsk.h,FORMATS["KAYPRO_DSK"] = true +-------------------------------------------------- + +if (FORMATS["KAYPRO_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/kaypro_dsk.cpp", + MAME_DIR.. "src/lib/formats/kaypro_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/kc85_dsk.h,FORMATS["KC85_DSK"] = true +-------------------------------------------------- + +if (FORMATS["KC85_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/kc85_dsk.cpp", + MAME_DIR.. "src/lib/formats/kc85_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/kc_cas.h,FORMATS["KC_CAS"] = true +-------------------------------------------------- + +if (FORMATS["KC_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/kc_cas.cpp", + MAME_DIR.. "src/lib/formats/kc_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/kim1_cas.h,FORMATS["KIM1_CAS"] = true +-------------------------------------------------- + +if (FORMATS["KIM1_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/kim1_cas.cpp", + MAME_DIR.. "src/lib/formats/kim1_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/lviv_lvt.h,FORMATS["LVIV_LVT"] = true +-------------------------------------------------- + +if (FORMATS["LVIV_LVT"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/lviv_lvt.cpp", + MAME_DIR.. "src/lib/formats/lviv_lvt.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/m20_dsk.h,FORMATS["M20_DSK"] = true +-------------------------------------------------- + +if (FORMATS["M20_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/m20_dsk.cpp", + MAME_DIR.. "src/lib/formats/m20_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/m5_dsk.h,FORMATS["M5_DSK"] = true +-------------------------------------------------- + +if (FORMATS["M5_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/m5_dsk.cpp", + MAME_DIR.. "src/lib/formats/m5_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/mbee_cas.h,FORMATS["MBEE_CAS"] = true +-------------------------------------------------- + +if (FORMATS["MBEE_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/mbee_cas.cpp", + MAME_DIR.. "src/lib/formats/mbee_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/mfm_hd.h,FORMATS["MFM_HD"] = true +-------------------------------------------------- + +if (FORMATS["MFM_HD"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/mfm_hd.cpp", + MAME_DIR.. "src/lib/formats/mfm_hd.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/mm_dsk.h,FORMATS["MM_DSK"] = true +-------------------------------------------------- + +if (FORMATS["MM_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/mm_dsk.cpp", + MAME_DIR.. "src/lib/formats/mm_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/msx_dsk.h,FORMATS["MSX_DSK"] = true +-------------------------------------------------- + +if (FORMATS["MSX_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/msx_dsk.cpp", + MAME_DIR.. "src/lib/formats/msx_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/mz_cas.h,FORMATS["MZ_CAS"] = true +-------------------------------------------------- + +if (FORMATS["MZ_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/mz_cas.cpp", + MAME_DIR.. "src/lib/formats/mz_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/nanos_dsk.h,FORMATS["NANOS_DSK"] = true +-------------------------------------------------- + +if (FORMATS["NANOS_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/nanos_dsk.cpp", + MAME_DIR.. "src/lib/formats/nanos_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/nascom_dsk.h,FORMATS["NASCOM_DSK"] = true +-------------------------------------------------- + +if (FORMATS["NASCOM_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/nascom_dsk.cpp", + MAME_DIR.. "src/lib/formats/nascom_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/naslite_dsk.h,FORMATS["NASLITE_DSK"] = true +-------------------------------------------------- + +if (FORMATS["NASLITE_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/naslite_dsk.cpp", + MAME_DIR.. "src/lib/formats/naslite_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/nes_dsk.h,FORMATS["NES_DSK"] = true +-------------------------------------------------- + +if (FORMATS["NES_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/nes_dsk.cpp", + MAME_DIR.. "src/lib/formats/nes_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/nfd_dsk.h,FORMATS["NFD_DSK"] = true +-------------------------------------------------- + +if (FORMATS["NFD_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/nfd_dsk.cpp", + MAME_DIR.. "src/lib/formats/nfd_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/orao_cas.h,FORMATS["ORAO_CAS"] = true +-------------------------------------------------- + +if (FORMATS["ORAO_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/orao_cas.cpp", + MAME_DIR.. "src/lib/formats/orao_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/oric_dsk.h,FORMATS["ORIC_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ORIC_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/oric_dsk.cpp", + MAME_DIR.. "src/lib/formats/oric_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/oric_tap.h,FORMATS["ORIC_TAP"] = true +-------------------------------------------------- + +if (FORMATS["ORIC_TAP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/oric_tap.cpp", + MAME_DIR.. "src/lib/formats/oric_tap.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/p6001_cas.h,FORMATS["P6001_CAS"] = true +-------------------------------------------------- + +if (FORMATS["P6001_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/p6001_cas.cpp", + MAME_DIR.. "src/lib/formats/p6001_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/pasti_dsk.h,FORMATS["PASTI_DSK"] = true +-------------------------------------------------- + +if (FORMATS["PASTI_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/pasti_dsk.cpp", + MAME_DIR.. "src/lib/formats/pasti_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/pc98fdi_dsk.h,FORMATS["PC98FDI_DSK"] = true +-------------------------------------------------- + +if (FORMATS["PC98FDI_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/pc98fdi_dsk.cpp", + MAME_DIR.. "src/lib/formats/pc98fdi_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/pc98_dsk.h,FORMATS["PC98_DSK"] = true +-------------------------------------------------- + +if (FORMATS["PC98_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/pc98_dsk.cpp", + MAME_DIR.. "src/lib/formats/pc98_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/pc_dsk.h,FORMATS["PC_DSK"] = true +-------------------------------------------------- + +if (FORMATS["PC_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/pc_dsk.cpp", + MAME_DIR.. "src/lib/formats/pc_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/phc25_cas.h,FORMATS["PHC25_CAS"] = true +-------------------------------------------------- + +if (FORMATS["PHC25_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/phc25_cas.cpp", + MAME_DIR.. "src/lib/formats/phc25_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/pk8020_dsk.h,FORMATS["PK8020_DSK"] = true +-------------------------------------------------- + +if (FORMATS["PK8020_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/pk8020_dsk.cpp", + MAME_DIR.. "src/lib/formats/pk8020_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/pmd_cas.h,FORMATS["PMD_CAS"] = true +-------------------------------------------------- + +if (FORMATS["PMD_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/pmd_cas.cpp", + MAME_DIR.. "src/lib/formats/pmd_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/primoptp.h,FORMATS["PRIMOPTP"] = true +-------------------------------------------------- + +if (FORMATS["PRIMOPTP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/primoptp.cpp", + MAME_DIR.. "src/lib/formats/primoptp.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/pyldin_dsk.h,FORMATS["PYLDIN_DSK"] = true +-------------------------------------------------- + +if (FORMATS["PYLDIN_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/pyldin_dsk.cpp", + MAME_DIR.. "src/lib/formats/pyldin_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ql_dsk.h,FORMATS["QL_DSK"] = true +-------------------------------------------------- + +if (FORMATS["QL_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ql_dsk.cpp", + MAME_DIR.. "src/lib/formats/ql_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/rk_cas.h,FORMATS["RK_CAS"] = true +-------------------------------------------------- + +if (FORMATS["RK_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/rk_cas.cpp", + MAME_DIR.. "src/lib/formats/rk_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/rx50_dsk.h,FORMATS["RX50_DSK"] = true +-------------------------------------------------- + +if (FORMATS["RX50_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/rx50_dsk.cpp", + MAME_DIR.. "src/lib/formats/rx50_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/sc3000_bit.h,FORMATS["SC3000_BIT"] = true +-------------------------------------------------- + +if (FORMATS["SC3000_BIT"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/sc3000_bit.cpp", + MAME_DIR.. "src/lib/formats/sc3000_bit.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/sf7000_dsk.h,FORMATS["SF7000_DSK"] = true +-------------------------------------------------- + +if (FORMATS["SF7000_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/sf7000_dsk.cpp", + MAME_DIR.. "src/lib/formats/sf7000_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/smx_dsk.h,FORMATS["SMX_DSK"] = true +-------------------------------------------------- + +if (FORMATS["SMX_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/smx_dsk.cpp", + MAME_DIR.. "src/lib/formats/smx_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/sol_cas.h,FORMATS["SOL_CAS"] = true +-------------------------------------------------- + +if (FORMATS["SOL_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/sol_cas.cpp", + MAME_DIR.. "src/lib/formats/sol_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/sorc_cas.h,FORMATS["SORC_CAS"] = true +-------------------------------------------------- + +if (FORMATS["SORC_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/sorc_cas.cpp", + MAME_DIR.. "src/lib/formats/sorc_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/sorc_dsk.h,FORMATS["SORC_DSK"] = true +-------------------------------------------------- + +if (FORMATS["SORC_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/sorc_dsk.cpp", + MAME_DIR.. "src/lib/formats/sorc_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/sord_cas.h,FORMATS["SORD_CAS"] = true +-------------------------------------------------- + +if (FORMATS["SORD_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/sord_cas.cpp", + MAME_DIR.. "src/lib/formats/sord_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/spc1000_cas.h,FORMATS["SPC1000_CAS"] = true +-------------------------------------------------- + +if (FORMATS["SPC1000_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/spc1000_cas.cpp", + MAME_DIR.. "src/lib/formats/spc1000_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/st_dsk.h,FORMATS["ST_DSK"] = true +-------------------------------------------------- + +if (FORMATS["ST_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/st_dsk.cpp", + MAME_DIR.. "src/lib/formats/st_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/svi_cas.h,FORMATS["SVI_CAS"] = true +-------------------------------------------------- + +if (FORMATS["SVI_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/svi_cas.cpp", + MAME_DIR.. "src/lib/formats/svi_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/svi_dsk.h,FORMATS["SVI_DSK"] = true +-------------------------------------------------- + +if (FORMATS["SVI_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/svi_dsk.cpp", + MAME_DIR.. "src/lib/formats/svi_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/tandy2k_dsk.h,FORMATS["TANDY2K_DSK"] = true +-------------------------------------------------- + +if (FORMATS["TANDY2K_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/tandy2k_dsk.cpp", + MAME_DIR.. "src/lib/formats/tandy2k_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/thom_cas.h,FORMATS["THOM_CAS"] = true +-------------------------------------------------- + +if (FORMATS["THOM_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/thom_cas.cpp", + MAME_DIR.. "src/lib/formats/thom_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/thom_dsk.h,FORMATS["THOM_DSK"] = true +-------------------------------------------------- + +if (FORMATS["THOM_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/thom_dsk.cpp", + MAME_DIR.. "src/lib/formats/thom_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/ti99_dsk.h,FORMATS["TI99_DSK"] = true +-------------------------------------------------- + +if (FORMATS["TI99_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/ti99_dsk.cpp", + MAME_DIR.. "src/lib/formats/ti99_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/tiki100_dsk.h,FORMATS["TIKI100_DSK"] = true +-------------------------------------------------- + +if (FORMATS["TIKI100_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/tiki100_dsk.cpp", + MAME_DIR.. "src/lib/formats/tiki100_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/trd_dsk.h,FORMATS["TRD_DSK"] = true +-------------------------------------------------- + +if (FORMATS["TRD_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/trd_dsk.cpp", + MAME_DIR.. "src/lib/formats/trd_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/trs80_dsk.h,FORMATS["TRS80_DSK"] = true +-------------------------------------------------- + +if (FORMATS["TRS80_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/trs80_dsk.cpp", + MAME_DIR.. "src/lib/formats/trs80_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/trs_cas.h,FORMATS["TRS_CAS"] = true +-------------------------------------------------- + +if (FORMATS["TRS_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/trs_cas.cpp", + MAME_DIR.. "src/lib/formats/trs_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/tvc_cas.h,FORMATS["TVC_CAS"] = true +-------------------------------------------------- + +if (FORMATS["TVC_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/tvc_cas.cpp", + MAME_DIR.. "src/lib/formats/tvc_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/tvc_dsk.h,FORMATS["TVC_DSK"] = true +-------------------------------------------------- + +if (FORMATS["TVC_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/tvc_dsk.cpp", + MAME_DIR.. "src/lib/formats/tvc_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/tzx_cas.h,FORMATS["TZX_CAS"] = true +-------------------------------------------------- + +if (FORMATS["TZX_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/tzx_cas.cpp", + MAME_DIR.. "src/lib/formats/tzx_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/uef_cas.h,FORMATS["UEF_CAS"] = true +-------------------------------------------------- + +if (FORMATS["UEF_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/uef_cas.cpp", + MAME_DIR.. "src/lib/formats/uef_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/upd765_dsk.h,FORMATS["UPD765_DSK"] = true +-------------------------------------------------- + +if (FORMATS["UPD765_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/upd765_dsk.cpp", + MAME_DIR.. "src/lib/formats/upd765_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/vdk_dsk.h,FORMATS["VDK_DSK"] = true +-------------------------------------------------- + +if (FORMATS["VDK_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/vdk_dsk.cpp", + MAME_DIR.. "src/lib/formats/vdk_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/vector06_dsk.h,FORMATS["VECTOR06_DSK"] = true +-------------------------------------------------- + +if (FORMATS["VECTOR06_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/vector06_dsk.cpp", + MAME_DIR.. "src/lib/formats/vector06_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/vg5k_cas.h,FORMATS["VG5K_CAS"] = true +-------------------------------------------------- + +if (FORMATS["VG5K_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/vg5k_cas.cpp", + MAME_DIR.. "src/lib/formats/vg5k_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/victor9k_dsk.h,FORMATS["VICTOR9K_DSK"] = true +-------------------------------------------------- + +if (FORMATS["VICTOR9K_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/victor9k_dsk.cpp", + MAME_DIR.. "src/lib/formats/victor9k_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/vt_cas.h,FORMATS["VT_CAS"] = true +-------------------------------------------------- + +if (FORMATS["VT_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/vt_cas.cpp", + MAME_DIR.. "src/lib/formats/vt_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/wd177x_dsk.h,FORMATS["WD177X_DSK"] = true +-------------------------------------------------- + +if (FORMATS["WD177X_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/wd177x_dsk.cpp", + MAME_DIR.. "src/lib/formats/wd177x_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/x07_cas.h,FORMATS["X07_CAS"] = true +-------------------------------------------------- + +if (FORMATS["X07_CAS"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/x07_cas.cpp", + MAME_DIR.. "src/lib/formats/x07_cas.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/x1_tap.h,FORMATS["X1_TAP"] = true +-------------------------------------------------- + +if (FORMATS["X1_TAP"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/x1_tap.cpp", + MAME_DIR.. "src/lib/formats/x1_tap.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/xdf_dsk.h,FORMATS["XDF_DSK"] = true +-------------------------------------------------- + +if (FORMATS["XDF_DSK"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/xdf_dsk.cpp", + MAME_DIR.. "src/lib/formats/xdf_dsk.h", + } +end + +-------------------------------------------------- +-- +--@src/lib/formats/zx81_p.h,FORMATS["ZX81_P"] = true +-------------------------------------------------- + +if (FORMATS["ZX81_P"]~=null or _OPTIONS["with-tools"]) then + files { + MAME_DIR.. "src/lib/formats/zx81_p.cpp", + MAME_DIR.. "src/lib/formats/zx81_p.h", + } +end + +end \ No newline at end of file diff --git a/scripts/src/lib.lua b/scripts/src/lib.lua index 7a97f1facbe..be96214139e 100644 --- a/scripts/src/lib.lua +++ b/scripts/src/lib.lua @@ -98,336 +98,3 @@ project "utils" MAME_DIR .. "src/lib/util/zippath.cpp", MAME_DIR .. "src/lib/util/zippath.h", } - - -project "formats" - uuid "f69636b1-fcce-45ce-b09a-113e371a2d7a" - kind (LIBTYPE) - - addprojectflags() - - options { - "ArchiveSplit", - } - - includedirs { - MAME_DIR .. "src/osd", - MAME_DIR .. "src/emu", - MAME_DIR .. "src/lib", - MAME_DIR .. "src/lib/util", - MAME_DIR .. "3rdparty", - ext_includedir("zlib"), - } - - files { - MAME_DIR .. "src/lib/formats/2d_dsk.cpp", - MAME_DIR .. "src/lib/formats/2d_dsk.h", - MAME_DIR .. "src/lib/formats/cassimg.cpp", - MAME_DIR .. "src/lib/formats/cassimg.h", - MAME_DIR .. "src/lib/formats/flopimg.cpp", - MAME_DIR .. "src/lib/formats/flopimg.h", - MAME_DIR .. "src/lib/formats/imageutl.cpp", - MAME_DIR .. "src/lib/formats/imageutl.h", - MAME_DIR .. "src/lib/formats/ioprocs.cpp", - MAME_DIR .. "src/lib/formats/ioprocs.h", - MAME_DIR .. "src/lib/formats/basicdsk.cpp", - MAME_DIR .. "src/lib/formats/basicdsk.h", - MAME_DIR .. "src/lib/formats/a26_cas.cpp", - MAME_DIR .. "src/lib/formats/a26_cas.h", - MAME_DIR .. "src/lib/formats/a5105_dsk.cpp", - MAME_DIR .. "src/lib/formats/a5105_dsk.h", - MAME_DIR .. "src/lib/formats/abc800_dsk.cpp", - MAME_DIR .. "src/lib/formats/abc800_dsk.h", - MAME_DIR .. "src/lib/formats/abcfd2_dsk.cpp", - MAME_DIR .. "src/lib/formats/abcfd2_dsk.h", - MAME_DIR .. "src/lib/formats/ace_tap.cpp", - MAME_DIR .. "src/lib/formats/ace_tap.h", - MAME_DIR .. "src/lib/formats/acorn_dsk.cpp", - MAME_DIR .. "src/lib/formats/acorn_dsk.h", - MAME_DIR .. "src/lib/formats/adam_cas.cpp", - MAME_DIR .. "src/lib/formats/adam_cas.h", - MAME_DIR .. "src/lib/formats/adam_dsk.cpp", - MAME_DIR .. "src/lib/formats/adam_dsk.h", - MAME_DIR .. "src/lib/formats/afs_dsk.cpp", - MAME_DIR .. "src/lib/formats/afs_dsk.h", - MAME_DIR .. "src/lib/formats/ami_dsk.cpp", - MAME_DIR .. "src/lib/formats/ami_dsk.h", - MAME_DIR .. "src/lib/formats/ap2_dsk.cpp", - MAME_DIR .. "src/lib/formats/ap2_dsk.h", - MAME_DIR .. "src/lib/formats/apf_apt.cpp", - MAME_DIR .. "src/lib/formats/apf_apt.h", - MAME_DIR .. "src/lib/formats/apridisk.cpp", - MAME_DIR .. "src/lib/formats/apridisk.h", - MAME_DIR .. "src/lib/formats/apollo_dsk.cpp", - MAME_DIR .. "src/lib/formats/apollo_dsk.h", - MAME_DIR .. "src/lib/formats/ap_dsk35.cpp", - MAME_DIR .. "src/lib/formats/ap_dsk35.h", - MAME_DIR .. "src/lib/formats/applix_dsk.cpp", - MAME_DIR .. "src/lib/formats/applix_dsk.h", - MAME_DIR .. "src/lib/formats/asst128_dsk.cpp", - MAME_DIR .. "src/lib/formats/asst128_dsk.h", - MAME_DIR .. "src/lib/formats/atari_dsk.cpp", - MAME_DIR .. "src/lib/formats/atari_dsk.h", - MAME_DIR .. "src/lib/formats/atom_dsk.cpp", - MAME_DIR .. "src/lib/formats/atom_dsk.h", - MAME_DIR .. "src/lib/formats/atom_tap.cpp", - MAME_DIR .. "src/lib/formats/atom_tap.h", - MAME_DIR .. "src/lib/formats/bw2_dsk.cpp", - MAME_DIR .. "src/lib/formats/bw2_dsk.h", - MAME_DIR .. "src/lib/formats/bw12_dsk.cpp", - MAME_DIR .. "src/lib/formats/bw12_dsk.h", - MAME_DIR .. "src/lib/formats/c3040_dsk.cpp", - MAME_DIR .. "src/lib/formats/c3040_dsk.h", - MAME_DIR .. "src/lib/formats/c4040_dsk.cpp", - MAME_DIR .. "src/lib/formats/c4040_dsk.h", - MAME_DIR .. "src/lib/formats/c8280_dsk.cpp", - MAME_DIR .. "src/lib/formats/c8280_dsk.h", - MAME_DIR .. "src/lib/formats/camplynx_cas.cpp", - MAME_DIR .. "src/lib/formats/camplynx_cas.h", - MAME_DIR .. "src/lib/formats/camplynx_dsk.cpp", - MAME_DIR .. "src/lib/formats/camplynx_dsk.h", - MAME_DIR .. "src/lib/formats/cbm_crt.cpp", - MAME_DIR .. "src/lib/formats/cbm_crt.h", - MAME_DIR .. "src/lib/formats/cbm_tap.cpp", - MAME_DIR .. "src/lib/formats/cbm_tap.h", - MAME_DIR .. "src/lib/formats/ccvf_dsk.cpp", - MAME_DIR .. "src/lib/formats/ccvf_dsk.h", - MAME_DIR .. "src/lib/formats/cd90_640_dsk.cpp", - MAME_DIR .. "src/lib/formats/cd90_640_dsk.h", - MAME_DIR .. "src/lib/formats/cgen_cas.cpp", - MAME_DIR .. "src/lib/formats/cgen_cas.h", - MAME_DIR .. "src/lib/formats/cgenie_dsk.cpp", - MAME_DIR .. "src/lib/formats/cgenie_dsk.h", - MAME_DIR .. "src/lib/formats/coco_cas.cpp", - MAME_DIR .. "src/lib/formats/coco_cas.h", - MAME_DIR .. "src/lib/formats/comx35_dsk.cpp", - MAME_DIR .. "src/lib/formats/comx35_dsk.h", - MAME_DIR .. "src/lib/formats/concept_dsk.cpp", - MAME_DIR .. "src/lib/formats/concept_dsk.h", - MAME_DIR .. "src/lib/formats/coupedsk.cpp", - MAME_DIR .. "src/lib/formats/coupedsk.h", - MAME_DIR .. "src/lib/formats/cpis_dsk.cpp", - MAME_DIR .. "src/lib/formats/cpis_dsk.h", - MAME_DIR .. "src/lib/formats/cqm_dsk.cpp", - MAME_DIR .. "src/lib/formats/cqm_dsk.h", - MAME_DIR .. "src/lib/formats/csw_cas.cpp", - MAME_DIR .. "src/lib/formats/csw_cas.h", - MAME_DIR .. "src/lib/formats/d64_dsk.cpp", - MAME_DIR .. "src/lib/formats/d64_dsk.h", - MAME_DIR .. "src/lib/formats/d71_dsk.cpp", - MAME_DIR .. "src/lib/formats/d71_dsk.h", - MAME_DIR .. "src/lib/formats/d80_dsk.cpp", - MAME_DIR .. "src/lib/formats/d80_dsk.h", - MAME_DIR .. "src/lib/formats/d81_dsk.cpp", - MAME_DIR .. "src/lib/formats/d81_dsk.h", - MAME_DIR .. "src/lib/formats/d82_dsk.cpp", - MAME_DIR .. "src/lib/formats/d82_dsk.h", - MAME_DIR .. "src/lib/formats/d88_dsk.cpp", - MAME_DIR .. "src/lib/formats/d88_dsk.h", - MAME_DIR .. "src/lib/formats/dcp_dsk.cpp", - MAME_DIR .. "src/lib/formats/dcp_dsk.h", - MAME_DIR .. "src/lib/formats/dfi_dsk.cpp", - MAME_DIR .. "src/lib/formats/dfi_dsk.h", - MAME_DIR .. "src/lib/formats/dim_dsk.cpp", - MAME_DIR .. "src/lib/formats/dim_dsk.h", - MAME_DIR .. "src/lib/formats/dip_dsk.cpp", - MAME_DIR .. "src/lib/formats/dip_dsk.h", - MAME_DIR .. "src/lib/formats/dmk_dsk.cpp", - MAME_DIR .. "src/lib/formats/dmk_dsk.h", - MAME_DIR .. "src/lib/formats/dmv_dsk.cpp", - MAME_DIR .. "src/lib/formats/dmv_dsk.h", - MAME_DIR .. "src/lib/formats/dsk_dsk.cpp", - MAME_DIR .. "src/lib/formats/dsk_dsk.h", - MAME_DIR .. "src/lib/formats/ep64_dsk.cpp", - MAME_DIR .. "src/lib/formats/ep64_dsk.h", - MAME_DIR .. "src/lib/formats/esq8_dsk.cpp", - MAME_DIR .. "src/lib/formats/esq8_dsk.h", - MAME_DIR .. "src/lib/formats/esq16_dsk.cpp", - MAME_DIR .. "src/lib/formats/esq16_dsk.h", - MAME_DIR .. "src/lib/formats/excali64_dsk.cpp", - MAME_DIR .. "src/lib/formats/excali64_dsk.h", - MAME_DIR .. "src/lib/formats/fc100_cas.cpp", - MAME_DIR .. "src/lib/formats/fc100_cas.h", - MAME_DIR .. "src/lib/formats/fdi_dsk.cpp", - MAME_DIR .. "src/lib/formats/fdd_dsk.cpp", - MAME_DIR .. "src/lib/formats/fdd_dsk.h", - MAME_DIR .. "src/lib/formats/flex_dsk.cpp", - MAME_DIR .. "src/lib/formats/flex_dsk.h", - MAME_DIR .. "src/lib/formats/fm7_cas.cpp", - MAME_DIR .. "src/lib/formats/fm7_cas.h", - MAME_DIR .. "src/lib/formats/fmsx_cas.cpp", - MAME_DIR .. "src/lib/formats/fmsx_cas.h", - MAME_DIR .. "src/lib/formats/fmtowns_dsk.cpp", - MAME_DIR .. "src/lib/formats/fmtowns_dsk.h", - MAME_DIR .. "src/lib/formats/fsd_dsk.cpp", - MAME_DIR .. "src/lib/formats/fsd_dsk.h", - MAME_DIR .. "src/lib/formats/g64_dsk.cpp", - MAME_DIR .. "src/lib/formats/g64_dsk.h", - MAME_DIR .. "src/lib/formats/gtp_cas.cpp", - MAME_DIR .. "src/lib/formats/gtp_cas.h", - MAME_DIR .. "src/lib/formats/guab_dsk.cpp", - MAME_DIR .. "src/lib/formats/guab_dsk.h", - MAME_DIR .. "src/lib/formats/hect_dsk.cpp", - MAME_DIR .. "src/lib/formats/hect_dsk.h", - MAME_DIR .. "src/lib/formats/hect_tap.cpp", - MAME_DIR .. "src/lib/formats/hect_tap.h", - MAME_DIR .. "src/lib/formats/hector_minidisc.cpp", - MAME_DIR .. "src/lib/formats/hector_minidisc.h", - MAME_DIR .. "src/lib/formats/iq151_dsk.cpp", - MAME_DIR .. "src/lib/formats/iq151_dsk.h", - MAME_DIR .. "src/lib/formats/imd_dsk.cpp", - MAME_DIR .. "src/lib/formats/imd_dsk.h", - MAME_DIR .. "src/lib/formats/ipf_dsk.cpp", - MAME_DIR .. "src/lib/formats/ipf_dsk.h", - MAME_DIR .. "src/lib/formats/jvc_dsk.cpp", - MAME_DIR .. "src/lib/formats/jvc_dsk.h", - MAME_DIR .. "src/lib/formats/kaypro_dsk.cpp", - MAME_DIR .. "src/lib/formats/kaypro_dsk.h", - MAME_DIR .. "src/lib/formats/kc_cas.cpp", - MAME_DIR .. "src/lib/formats/kc_cas.h", - MAME_DIR .. "src/lib/formats/kc85_dsk.cpp", - MAME_DIR .. "src/lib/formats/kc85_dsk.h", - MAME_DIR .. "src/lib/formats/kim1_cas.cpp", - MAME_DIR .. "src/lib/formats/kim1_cas.h", - MAME_DIR .. "src/lib/formats/lviv_lvt.cpp", - MAME_DIR .. "src/lib/formats/lviv_lvt.h", - MAME_DIR .. "src/lib/formats/m20_dsk.cpp", - MAME_DIR .. "src/lib/formats/m20_dsk.h", - MAME_DIR .. "src/lib/formats/m5_dsk.cpp", - MAME_DIR .. "src/lib/formats/m5_dsk.h", - MAME_DIR .. "src/lib/formats/mbee_cas.cpp", - MAME_DIR .. "src/lib/formats/mbee_cas.h", - MAME_DIR .. "src/lib/formats/mm_dsk.cpp", - MAME_DIR .. "src/lib/formats/mm_dsk.h", - MAME_DIR .. "src/lib/formats/msx_dsk.cpp", - MAME_DIR .. "src/lib/formats/msx_dsk.h", - MAME_DIR .. "src/lib/formats/mfi_dsk.cpp", - MAME_DIR .. "src/lib/formats/mfi_dsk.h", - MAME_DIR .. "src/lib/formats/mfm_hd.cpp", - MAME_DIR .. "src/lib/formats/mfm_hd.h", - MAME_DIR .. "src/lib/formats/mz_cas.cpp", - MAME_DIR .. "src/lib/formats/mz_cas.h", - MAME_DIR .. "src/lib/formats/nanos_dsk.cpp", - MAME_DIR .. "src/lib/formats/nanos_dsk.h", - MAME_DIR .. "src/lib/formats/nascom_dsk.cpp", - MAME_DIR .. "src/lib/formats/nascom_dsk.h", - MAME_DIR .. "src/lib/formats/naslite_dsk.cpp", - MAME_DIR .. "src/lib/formats/naslite_dsk.h", - MAME_DIR .. "src/lib/formats/nes_dsk.cpp", - MAME_DIR .. "src/lib/formats/nes_dsk.h", - MAME_DIR .. "src/lib/formats/nfd_dsk.cpp", - MAME_DIR .. "src/lib/formats/nfd_dsk.h", - MAME_DIR .. "src/lib/formats/orao_cas.cpp", - MAME_DIR .. "src/lib/formats/orao_cas.h", - MAME_DIR .. "src/lib/formats/oric_dsk.cpp", - MAME_DIR .. "src/lib/formats/oric_dsk.h", - MAME_DIR .. "src/lib/formats/oric_tap.cpp", - MAME_DIR .. "src/lib/formats/oric_tap.h", - MAME_DIR .. "src/lib/formats/p6001_cas.cpp", - MAME_DIR .. "src/lib/formats/p6001_cas.h", - MAME_DIR .. "src/lib/formats/pasti_dsk.cpp", - MAME_DIR .. "src/lib/formats/pasti_dsk.h", - MAME_DIR .. "src/lib/formats/pc_dsk.cpp", - MAME_DIR .. "src/lib/formats/pc_dsk.h", - MAME_DIR .. "src/lib/formats/pc98_dsk.cpp", - MAME_DIR .. "src/lib/formats/pc98_dsk.h", - MAME_DIR .. "src/lib/formats/pc98fdi_dsk.cpp", - MAME_DIR .. "src/lib/formats/pc98fdi_dsk.h", - MAME_DIR .. "src/lib/formats/phc25_cas.cpp", - MAME_DIR .. "src/lib/formats/phc25_cas.h", - MAME_DIR .. "src/lib/formats/pk8020_dsk.cpp", - MAME_DIR .. "src/lib/formats/pk8020_dsk.h", - MAME_DIR .. "src/lib/formats/pmd_cas.cpp", - MAME_DIR .. "src/lib/formats/pmd_cas.h", - MAME_DIR .. "src/lib/formats/primoptp.cpp", - MAME_DIR .. "src/lib/formats/primoptp.h", - MAME_DIR .. "src/lib/formats/pyldin_dsk.cpp", - MAME_DIR .. "src/lib/formats/pyldin_dsk.h", - MAME_DIR .. "src/lib/formats/ql_dsk.cpp", - MAME_DIR .. "src/lib/formats/ql_dsk.h", - MAME_DIR .. "src/lib/formats/rk_cas.cpp", - MAME_DIR .. "src/lib/formats/rk_cas.h", - MAME_DIR .. "src/lib/formats/rx50_dsk.cpp", - MAME_DIR .. "src/lib/formats/rx50_dsk.h", - MAME_DIR .. "src/lib/formats/sc3000_bit.cpp", - MAME_DIR .. "src/lib/formats/sc3000_bit.h", - MAME_DIR .. "src/lib/formats/sf7000_dsk.cpp", - MAME_DIR .. "src/lib/formats/sf7000_dsk.h", - MAME_DIR .. "src/lib/formats/smx_dsk.cpp", - MAME_DIR .. "src/lib/formats/smx_dsk.h", - MAME_DIR .. "src/lib/formats/sol_cas.cpp", - MAME_DIR .. "src/lib/formats/sol_cas.h", - MAME_DIR .. "src/lib/formats/sorc_dsk.cpp", - MAME_DIR .. "src/lib/formats/sorc_dsk.h", - MAME_DIR .. "src/lib/formats/sorc_cas.cpp", - MAME_DIR .. "src/lib/formats/sorc_cas.h", - MAME_DIR .. "src/lib/formats/sord_cas.cpp", - MAME_DIR .. "src/lib/formats/sord_cas.h", - MAME_DIR .. "src/lib/formats/spc1000_cas.cpp", - MAME_DIR .. "src/lib/formats/spc1000_cas.h", - MAME_DIR .. "src/lib/formats/st_dsk.cpp", - MAME_DIR .. "src/lib/formats/st_dsk.h", - MAME_DIR .. "src/lib/formats/svi_cas.cpp", - MAME_DIR .. "src/lib/formats/svi_cas.h", - MAME_DIR .. "src/lib/formats/svi_dsk.cpp", - MAME_DIR .. "src/lib/formats/svi_dsk.h", - MAME_DIR .. "src/lib/formats/tandy2k_dsk.cpp", - MAME_DIR .. "src/lib/formats/tandy2k_dsk.h", - MAME_DIR .. "src/lib/formats/td0_dsk.cpp", - MAME_DIR .. "src/lib/formats/td0_dsk.h", - MAME_DIR .. "src/lib/formats/thom_cas.cpp", - MAME_DIR .. "src/lib/formats/thom_cas.h", - MAME_DIR .. "src/lib/formats/thom_dsk.cpp", - MAME_DIR .. "src/lib/formats/thom_dsk.h", - MAME_DIR .. "src/lib/formats/ti99_dsk.cpp", - MAME_DIR .. "src/lib/formats/ti99_dsk.h", - MAME_DIR .. "src/lib/formats/tiki100_dsk.cpp", - MAME_DIR .. "src/lib/formats/tiki100_dsk.h", - MAME_DIR .. "src/lib/formats/trd_dsk.cpp", - MAME_DIR .. "src/lib/formats/trd_dsk.h", - MAME_DIR .. "src/lib/formats/trs_cas.cpp", - MAME_DIR .. "src/lib/formats/trs_cas.h", - MAME_DIR .. "src/lib/formats/trs80_dsk.cpp", - MAME_DIR .. "src/lib/formats/trs80_dsk.h", - MAME_DIR .. "src/lib/formats/tvc_cas.cpp", - MAME_DIR .. "src/lib/formats/tvc_cas.h", - MAME_DIR .. "src/lib/formats/tvc_dsk.cpp", - MAME_DIR .. "src/lib/formats/tvc_dsk.h", - MAME_DIR .. "src/lib/formats/tzx_cas.cpp", - MAME_DIR .. "src/lib/formats/tzx_cas.h", - MAME_DIR .. "src/lib/formats/uef_cas.cpp", - MAME_DIR .. "src/lib/formats/uef_cas.h", - MAME_DIR .. "src/lib/formats/upd765_dsk.cpp", - MAME_DIR .. "src/lib/formats/upd765_dsk.h", - MAME_DIR .. "src/lib/formats/vdk_dsk.cpp", - MAME_DIR .. "src/lib/formats/vdk_dsk.h", - MAME_DIR .. "src/lib/formats/vector06_dsk.cpp", - MAME_DIR .. "src/lib/formats/vector06_dsk.h", - MAME_DIR .. "src/lib/formats/victor9k_dsk.cpp", - MAME_DIR .. "src/lib/formats/victor9k_dsk.h", - MAME_DIR .. "src/lib/formats/vg5k_cas.cpp", - MAME_DIR .. "src/lib/formats/vg5k_cas.h", - MAME_DIR .. "src/lib/formats/vt_cas.cpp", - MAME_DIR .. "src/lib/formats/vt_cas.h", - MAME_DIR .. "src/lib/formats/wavfile.cpp", - MAME_DIR .. "src/lib/formats/wavfile.h", - MAME_DIR .. "src/lib/formats/wd177x_dsk.cpp", - MAME_DIR .. "src/lib/formats/wd177x_dsk.h", - MAME_DIR .. "src/lib/formats/x07_cas.cpp", - MAME_DIR .. "src/lib/formats/x07_cas.h", - MAME_DIR .. "src/lib/formats/x1_tap.cpp", - MAME_DIR .. "src/lib/formats/x1_tap.h", - MAME_DIR .. "src/lib/formats/xdf_dsk.cpp", - MAME_DIR .. "src/lib/formats/xdf_dsk.h", - MAME_DIR .. "src/lib/formats/zx81_p.cpp", - MAME_DIR .. "src/lib/formats/zx81_p.h", - MAME_DIR .. "src/lib/formats/hxcmfm_dsk.cpp", - MAME_DIR .. "src/lib/formats/hxcmfm_dsk.h", - MAME_DIR .. "src/lib/formats/itt3030_dsk.cpp", - MAME_DIR .. "src/lib/formats/itt3030_dsk.h", - } - -if (MACHINES["NETLIST"]~=null or _OPTIONS["with-tools"]) then --- netlist now defines a project -dofile("netlist.lua") -end diff --git a/scripts/src/main.lua b/scripts/src/main.lua index 4ee2229b8ef..4c460f1c212 100644 --- a/scripts/src/main.lua +++ b/scripts/src/main.lua @@ -205,8 +205,12 @@ end links { "optional", "emu", + } +--if (STANDALONE~=true) then + links { "formats", } +--end if #disasm_files > 0 then links { "dasm", diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index a119c3f18e7..210ad2fae7d 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -669,6 +669,16 @@ BUSES["VECTREX"] = true --BUSES["Z88"] = true --BUSES["ZORRO"] = true + +-------------------------------------------------- +-- specify used file formats +-------------------------------------------------- + +FORMATS["GUAB_DSK"] = true +FORMATS["AMI_DSK"] = true +FORMATS["SC3000_BIT"] = true +FORMATS["WD177X_DSK"] = true + -------------------------------------------------- -- this is the list of driver libraries that -- comprise MAME plus mamedriv.o which contains diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 3554b86e213..e72216d9efd 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -705,6 +705,148 @@ BUSES["X68K"] = true BUSES["Z88"] = true BUSES["ZORRO"] = true +-------------------------------------------------- +-- specify used file formats +-------------------------------------------------- + +FORMATS["2D_DSK"] = true +FORMATS["A26_CAS"] = true +FORMATS["A5105_DSK"] = true +FORMATS["ABC800_DSK"] = true +FORMATS["ABCFD2_DSK"] = true +FORMATS["ACE_TAP"] = true +FORMATS["ACORN_DSK"] = true +FORMATS["ADAM_CAS"] = true +FORMATS["ADAM_DSK"] = true +FORMATS["AFS_DSK"] = true +FORMATS["AMI_DSK"] = true +FORMATS["AP2_DSK"] = true +FORMATS["APF_APT"] = true +FORMATS["APOLLO_DSK"] = true +FORMATS["APPLIX_DSK"] = true +FORMATS["APRIDISK"] = true +FORMATS["AP_DSK35"] = true +FORMATS["ASST128_DSK"] = true +FORMATS["ATARI_DSK"] = true +FORMATS["ATOM_DSK"] = true +FORMATS["ATOM_TAP"] = true +FORMATS["BASICDSK"] = true +FORMATS["BW12_DSK"] = true +FORMATS["BW2_DSK"] = true +FORMATS["C3040_DSK"] = true +FORMATS["C4040_DSK"] = true +FORMATS["C8280_DSK"] = true +FORMATS["CAMPLYNX_CAS"] = true +FORMATS["CAMPLYNX_DSK"] = true +FORMATS["CBM_CRT"] = true +FORMATS["CBM_TAP"] = true +FORMATS["CCVF_DSK"] = true +FORMATS["CD90_640_DSK"] = true +FORMATS["CGENIE_DSK"] = true +FORMATS["CGEN_CAS"] = true +FORMATS["COCO_CAS"] = true +FORMATS["COMX35_DSK"] = true +FORMATS["CONCEPT_DSK"] = true +FORMATS["COUPEDSK"] = true +FORMATS["CPIS_DSK"] = true +FORMATS["CSW_CAS"] = true +FORMATS["D64_DSK"] = true +FORMATS["D71_DSK"] = true +FORMATS["D80_DSK"] = true +FORMATS["D81_DSK"] = true +FORMATS["D82_DSK"] = true +FORMATS["DCP_DSK"] = true +FORMATS["DIM_DSK"] = true +FORMATS["DIP_DSK"] = true +FORMATS["DMK_DSK"] = true +FORMATS["EP64_DSK"] = true +FORMATS["DMV_DSK"] = true +FORMATS["ESQ16_DSK"] = true +FORMATS["ESQ8_DSK"] = true +FORMATS["EXCALI64_DSK"] = true +FORMATS["FC100_CAS"] = true +FORMATS["FDD_DSK"] = true +FORMATS["FLEX_DSK"] = true +FORMATS["FM7_CAS"] = true +FORMATS["FMSX_CAS"] = true +FORMATS["FMTOWNS_DSK"] = true +FORMATS["FSD_DSK"] = true +FORMATS["G64_DSK"] = true +FORMATS["GTP_CAS"] = true +FORMATS["HECTOR_MINIDISC"] = true +FORMATS["HECT_DSK"] = true +FORMATS["HECT_TAP"] = true +FORMATS["IQ151_DSK"] = true +FORMATS["ITT3030_DSK"] = true +FORMATS["JVC_DSK"] = true +FORMATS["KAYPRO_DSK"] = true +FORMATS["KC85_DSK"] = true +FORMATS["KC_CAS"] = true +FORMATS["KIM1_CAS"] = true +FORMATS["LVIV_LVT"] = true +FORMATS["M20_DSK"] = true +FORMATS["M5_DSK"] = true +FORMATS["MBEE_CAS"] = true +FORMATS["MFM_HD"] = true +FORMATS["MM_DSK"] = true +FORMATS["MSX_DSK"] = true +FORMATS["MZ_CAS"] = true +FORMATS["NANOS_DSK"] = true +FORMATS["NASCOM_DSK"] = true +FORMATS["NASLITE_DSK"] = true +FORMATS["NES_DSK"] = true +FORMATS["NFD_DSK"] = true +FORMATS["ORAO_CAS"] = true +FORMATS["ORIC_DSK"] = true +FORMATS["ORIC_TAP"] = true +FORMATS["P6001_CAS"] = true +FORMATS["PASTI_DSK"] = true +FORMATS["PC98FDI_DSK"] = true +FORMATS["PC98_DSK"] = true +FORMATS["PC_DSK"] = true +FORMATS["PHC25_CAS"] = true +FORMATS["PK8020_DSK"] = true +FORMATS["PMD_CAS"] = true +FORMATS["PRIMOPTP"] = true +FORMATS["PYLDIN_DSK"] = true +FORMATS["QL_DSK"] = true +FORMATS["RK_CAS"] = true +FORMATS["RX50_DSK"] = true +FORMATS["SC3000_BIT"] = true +FORMATS["SF7000_DSK"] = true +FORMATS["SMX_DSK"] = true +FORMATS["SOL_CAS"] = true +FORMATS["SORC_CAS"] = true +FORMATS["SORC_DSK"] = true +FORMATS["SORD_CAS"] = true +FORMATS["SPC1000_CAS"] = true +FORMATS["ST_DSK"] = true +FORMATS["SVI_CAS"] = true +FORMATS["SVI_DSK"] = true +FORMATS["TANDY2K_DSK"] = true +FORMATS["THOM_CAS"] = true +FORMATS["THOM_DSK"] = true +FORMATS["TI99_DSK"] = true +FORMATS["TIKI100_DSK"] = true +FORMATS["TRD_DSK"] = true +FORMATS["TRS80_DSK"] = true +FORMATS["TRS_CAS"] = true +FORMATS["TVC_CAS"] = true +FORMATS["TVC_DSK"] = true +FORMATS["TZX_CAS"] = true +FORMATS["UEF_CAS"] = true +FORMATS["UPD765_DSK"] = true +FORMATS["VDK_DSK"] = true +FORMATS["VECTOR06_DSK"] = true +FORMATS["VG5K_CAS"] = true +FORMATS["VICTOR9K_DSK"] = true +FORMATS["VT_CAS"] = true +FORMATS["WD177X_DSK"] = true +FORMATS["X07_CAS"] = true +FORMATS["X1_TAP"] = true +FORMATS["XDF_DSK"] = true +FORMATS["ZX81_P"] = true + -------------------------------------------------- -- this is the list of driver libraries that -- comprise MESS plus messdriv.*", which contains From 49cd219651deccb735da45a33bb3b15e0694d3d1 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 12 Aug 2016 18:36:16 +0200 Subject: [PATCH 004/116] made common_op for wip tool (nw) --- src/devices/cpu/i86/i86.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/devices/cpu/i86/i86.h b/src/devices/cpu/i86/i86.h index 978fa7d1690..f268c3c1671 100644 --- a/src/devices/cpu/i86/i86.h +++ b/src/devices/cpu/i86/i86.h @@ -130,7 +130,7 @@ protected: virtual void state_string_export(const device_state_entry &entry, std::string &str) const override; virtual void interrupt(int int_num, int trap = 1); - bool common_op(UINT8 op); + virtual bool common_op(UINT8 op); // Accessing memory and io inline UINT8 read_byte(UINT32 addr); From 2b12063838872ad5040e779ee1eb5a3bca1e6827 Mon Sep 17 00:00:00 2001 From: David Haywood Date: Fri, 12 Aug 2016 17:50:26 +0100 Subject: [PATCH 005/116] more mpu4 descriptions (nw) --- src/mame/drivers/mpu4sw.hxx | 301 ++++++++++++++++++------------------ 1 file changed, 150 insertions(+), 151 deletions(-) diff --git a/src/mame/drivers/mpu4sw.hxx b/src/mame/drivers/mpu4sw.hxx index 29c750a7cf9..6ab88fc4f09 100644 --- a/src/mame/drivers/mpu4sw.hxx +++ b/src/mame/drivers/mpu4sw.hxx @@ -906,62 +906,62 @@ GAME_CUSTOM( 199?, m4topten__b, m4topten, "topt15t", 0x0000, 0x020000, // "(C)1993 BARCREST" and "TOC 0.3" GAME_CUSTOM( 199?, m4toot, 0, "toc03s.p1", 0x0000, 0x020000, CRC(30feff92) SHA1(14397768ebd7469b4d1cff22ca9727f63608a98a), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3)" ) -GAME_CUSTOM( 199?, m4toot__j, m4toot, "toc03c.p1", 0x0000, 0x020000, CRC(752ffa3f) SHA1(6cbe521ff85173159b6d34cc3e29a4192cd66394), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4toot__a, m4toot, "toc03ad.p1", 0x0000, 0x020000, CRC(f67e53c1) SHA1(07a50fb649c5085a33f0a1a9b3d65b0b61a3f152), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4toot__b, m4toot, "toc03b.p1", 0x0000, 0x020000, CRC(4265472d) SHA1(01d5eb4e0a30abd1efed45658dcd8455494aabc4), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4toot__c, m4toot, "toc03bd.p1", 0x0000, 0x020000, CRC(7b64fd04) SHA1(377af32317d8356f06b19de553a13e8558993c34), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4toot__d, m4toot, "toc03d.p1", 0x0000, 0x020000, CRC(61f6b566) SHA1(2abd8092fe387c474ed10885a23ac242fa1462fa), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4toot__e, m4toot, "toc03dk.p1", 0x0000, 0x020000, CRC(31a35552) SHA1(3765fe6209d7b33afa1805ba56376e83e825165f), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4toot__f, m4toot, "toc03dr.p1", 0x0000, 0x020000, CRC(82acee63) SHA1(5a95425d6175c6496d745011d0ca3d744a027579), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4toot__g, m4toot, "toc03dy.p1", 0x0000, 0x020000, CRC(b64075ac) SHA1(ffdf8e45c2eab593570e15efd5161b67de5e4ecf), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4toot__h, m4toot, "toc03k.p1", 0x0000, 0x020000, CRC(08a2ef7b) SHA1(a4181db6280c7cc37b54baaf9cce1e61f61f3274), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4toot__i, m4toot, "toc03r.p1", 0x0000, 0x020000, CRC(bbad544a) SHA1(5fb31e5641a9e85147f5b61c5aba5a1ee7470f9c), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4toot__k, m4toot, "toc03y.p1", 0x0000, 0x020000, CRC(8f41cf85) SHA1(315b359d6d1a9f6ad939be1fc5e4d8f21f998fb8), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4toot__j, m4toot, "toc03c.p1", 0x0000, 0x020000, CRC(752ffa3f) SHA1(6cbe521ff85173159b6d34cc3e29a4192cd66394), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 C)" ) +GAME_CUSTOM( 199?, m4toot__a, m4toot, "toc03ad.p1", 0x0000, 0x020000, CRC(f67e53c1) SHA1(07a50fb649c5085a33f0a1a9b3d65b0b61a3f152), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 AD)" ) +GAME_CUSTOM( 199?, m4toot__b, m4toot, "toc03b.p1", 0x0000, 0x020000, CRC(4265472d) SHA1(01d5eb4e0a30abd1efed45658dcd8455494aabc4), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 B)" ) +GAME_CUSTOM( 199?, m4toot__c, m4toot, "toc03bd.p1", 0x0000, 0x020000, CRC(7b64fd04) SHA1(377af32317d8356f06b19de553a13e8558993c34), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 BD)" ) +GAME_CUSTOM( 199?, m4toot__d, m4toot, "toc03d.p1", 0x0000, 0x020000, CRC(61f6b566) SHA1(2abd8092fe387c474ed10885a23ac242fa1462fa), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 D)" ) +GAME_CUSTOM( 199?, m4toot__e, m4toot, "toc03dk.p1", 0x0000, 0x020000, CRC(31a35552) SHA1(3765fe6209d7b33afa1805ba56376e83e825165f), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 KD)" ) +GAME_CUSTOM( 199?, m4toot__f, m4toot, "toc03dr.p1", 0x0000, 0x020000, CRC(82acee63) SHA1(5a95425d6175c6496d745011d0ca3d744a027579), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 RD)" ) +GAME_CUSTOM( 199?, m4toot__g, m4toot, "toc03dy.p1", 0x0000, 0x020000, CRC(b64075ac) SHA1(ffdf8e45c2eab593570e15efd5161b67de5e4ecf), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 YD)" ) +GAME_CUSTOM( 199?, m4toot__h, m4toot, "toc03k.p1", 0x0000, 0x020000, CRC(08a2ef7b) SHA1(a4181db6280c7cc37b54baaf9cce1e61f61f3274), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 K)" ) +GAME_CUSTOM( 199?, m4toot__i, m4toot, "toc03r.p1", 0x0000, 0x020000, CRC(bbad544a) SHA1(5fb31e5641a9e85147f5b61c5aba5a1ee7470f9c), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 R)" ) +GAME_CUSTOM( 199?, m4toot__k, m4toot, "toc03y.p1", 0x0000, 0x020000, CRC(8f41cf85) SHA1(315b359d6d1a9f6ad939be1fc5e4d8f21f998fb8), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 Y)" ) // "(C)1993 BARCREST" and "TOC 0.4" GAME_CUSTOM( 199?, m4toot__v, m4toot, "toc04s.p1", 0x0000, 0x020000, CRC(295e6fff) SHA1(a21d991f00f144e12de60b891e3e2e5dd7d08d71), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4)" ) -GAME_CUSTOM( 199?, m4toot__l, m4toot, "toc04ad.p1", 0x0000, 0x020000, CRC(59075e2e) SHA1(a3ad5c642fb9cebcce2fb6c1e65514f2414948e0), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4toot__m, m4toot, "toc04b.p1", 0x0000, 0x020000, CRC(b2d54721) SHA1(4c72d434c0f4f37b9a3f08a760c7fe3851717059), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4toot__n, m4toot, "toc04bd.p1", 0x0000, 0x020000, CRC(d41df0eb) SHA1(e5a04c728a2893073ff8b5f6efd7cffd433a2985), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4toot__o, m4toot, "toc04c.p1", 0x0000, 0x020000, CRC(859ffa33) SHA1(05b7bd3b87a0ebcc78de751766cfcdc4276035ac), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4toot__p, m4toot, "toc04d.p1", 0x0000, 0x020000, CRC(9146b56a) SHA1(04bcd265d83e3554aef2de05aab9c3869bb966ea), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4toot__q, m4toot, "toc04dk.p1", 0x0000, 0x020000, CRC(9eda58bd) SHA1(5e38f87a162d1cb37e74850af6a00ae81619ecbe), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4toot__r, m4toot, "toc04dr.p1", 0x0000, 0x020000, CRC(2dd5e38c) SHA1(a1b0e8d48e164ab91b277a7efedf5b9fc73fc266), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4toot__s, m4toot, "toc04dy.p1", 0x0000, 0x020000, CRC(19397843) SHA1(e7e3299d8e46c79d3cd0ea7fd639a1d649a806df), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4toot__t, m4toot, "toc04k.p1", 0x0000, 0x020000, CRC(f812ef77) SHA1(d465b771efed27a9f616052d3fcabdbeb7c2d151), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4toot__u, m4toot, "toc04r.p1", 0x0000, 0x020000, CRC(4b1d5446) SHA1(f4bac0c8257add41295679b3541d2064d8c772c2), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4toot__w, m4toot, "toc04y.p1", 0x0000, 0x020000, CRC(7ff1cf89) SHA1(d4ab56b2b5b05643cd077b8d596b6cddf8a25134), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 24)" ) +GAME_CUSTOM( 199?, m4toot__l, m4toot, "toc04ad.p1", 0x0000, 0x020000, CRC(59075e2e) SHA1(a3ad5c642fb9cebcce2fb6c1e65514f2414948e0), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 AD)" ) +GAME_CUSTOM( 199?, m4toot__m, m4toot, "toc04b.p1", 0x0000, 0x020000, CRC(b2d54721) SHA1(4c72d434c0f4f37b9a3f08a760c7fe3851717059), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 B)" ) +GAME_CUSTOM( 199?, m4toot__n, m4toot, "toc04bd.p1", 0x0000, 0x020000, CRC(d41df0eb) SHA1(e5a04c728a2893073ff8b5f6efd7cffd433a2985), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 BD)" ) +GAME_CUSTOM( 199?, m4toot__o, m4toot, "toc04c.p1", 0x0000, 0x020000, CRC(859ffa33) SHA1(05b7bd3b87a0ebcc78de751766cfcdc4276035ac), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 C)" ) +GAME_CUSTOM( 199?, m4toot__p, m4toot, "toc04d.p1", 0x0000, 0x020000, CRC(9146b56a) SHA1(04bcd265d83e3554aef2de05aab9c3869bb966ea), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 D)" ) +GAME_CUSTOM( 199?, m4toot__q, m4toot, "toc04dk.p1", 0x0000, 0x020000, CRC(9eda58bd) SHA1(5e38f87a162d1cb37e74850af6a00ae81619ecbe), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 KD)" ) +GAME_CUSTOM( 199?, m4toot__r, m4toot, "toc04dr.p1", 0x0000, 0x020000, CRC(2dd5e38c) SHA1(a1b0e8d48e164ab91b277a7efedf5b9fc73fc266), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 RD)" ) +GAME_CUSTOM( 199?, m4toot__s, m4toot, "toc04dy.p1", 0x0000, 0x020000, CRC(19397843) SHA1(e7e3299d8e46c79d3cd0ea7fd639a1d649a806df), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 YD)" ) +GAME_CUSTOM( 199?, m4toot__t, m4toot, "toc04k.p1", 0x0000, 0x020000, CRC(f812ef77) SHA1(d465b771efed27a9f616052d3fcabdbeb7c2d151), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 K)" ) +GAME_CUSTOM( 199?, m4toot__u, m4toot, "toc04r.p1", 0x0000, 0x020000, CRC(4b1d5446) SHA1(f4bac0c8257add41295679b3541d2064d8c772c2), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 R)" ) +GAME_CUSTOM( 199?, m4toot__w, m4toot, "toc04y.p1", 0x0000, 0x020000, CRC(7ff1cf89) SHA1(d4ab56b2b5b05643cd077b8d596b6cddf8a25134), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.4 Y)" ) // "(C)1993 BARCREST" and "TOT 0.5" GAME_CUSTOM( 199?, m4toot__7, m4toot, "tot05s.p1", 0x0000, 0x020000, CRC(7dd1cfa8) SHA1(3bd0eeb621cc81ac462a6981e081837985f6635b), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5)" ) -GAME_CUSTOM( 199?, m4toot__x, m4toot, "tot05ad.p1", 0x0000, 0x020000, CRC(fce00fcc) SHA1(7d10c0b83d782a9e603522ed039089866d931474), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4toot__y, m4toot, "tot05b.p1", 0x0000, 0x020000, CRC(594d551c) SHA1(3fcec5f41cfbea497aa53af4570664265774d1aa), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4toot__z, m4toot, "tot05bd.p1", 0x0000, 0x020000, CRC(71faa109) SHA1(8bec4a03e2dc43656c910652cf10d1afdf0bab33), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4toot__0, m4toot, "tot05c.p1", 0x0000, 0x020000, CRC(6e07e80e) SHA1(087a51da5578c326d7d9716c61b454be5e091761), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4toot__1, m4toot, "tot05d.p1", 0x0000, 0x020000, CRC(24565e6a) SHA1(0f2c19e54e5a78ae10e786d49ebcd7c16e41850c), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4toot__2, m4toot, "tot05dk.p1", 0x0000, 0x020000, CRC(3b3d095f) SHA1(326574adaa285a479abb5ae7515ef7d6bdd64126), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 30)" ) -GAME_CUSTOM( 199?, m4toot__3, m4toot, "tot05dr.p1", 0x0000, 0x020000, CRC(8832b26e) SHA1(d5414560245bbb2c070f7a035e5e3416617c2cf3), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 31)" ) -GAME_CUSTOM( 199?, m4toot__4, m4toot, "tot05dy.p1", 0x0000, 0x020000, CRC(bcde29a1) SHA1(cf8af40faf81a2a3141d3addd6b28c917beeda49), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 32)" ) -GAME_CUSTOM( 199?, m4toot__5, m4toot, "tot05k.p1", 0x0000, 0x020000, CRC(138afd4a) SHA1(bc53d71d926da7aca74c79f45c47610e62e347b6), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 33)" ) -GAME_CUSTOM( 199?, m4toot__6, m4toot, "tot05r.p1", 0x0000, 0x020000, CRC(a085467b) SHA1(de2deda7635c9565db0f69aa6f375216ed36b7bb), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 34)" ) -GAME_CUSTOM( 199?, m4toot__8, m4toot, "tot05y.p1", 0x0000, 0x020000, CRC(9469ddb4) SHA1(553812e3ece921d31c585b6a412c00ea5095b1b0), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 36)" ) +GAME_CUSTOM( 199?, m4toot__x, m4toot, "tot05ad.p1", 0x0000, 0x020000, CRC(fce00fcc) SHA1(7d10c0b83d782a9e603522ed039089866d931474), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 AD)" ) +GAME_CUSTOM( 199?, m4toot__y, m4toot, "tot05b.p1", 0x0000, 0x020000, CRC(594d551c) SHA1(3fcec5f41cfbea497aa53af4570664265774d1aa), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 B)" ) +GAME_CUSTOM( 199?, m4toot__z, m4toot, "tot05bd.p1", 0x0000, 0x020000, CRC(71faa109) SHA1(8bec4a03e2dc43656c910652cf10d1afdf0bab33), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 BD)" ) +GAME_CUSTOM( 199?, m4toot__0, m4toot, "tot05c.p1", 0x0000, 0x020000, CRC(6e07e80e) SHA1(087a51da5578c326d7d9716c61b454be5e091761), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 C)" ) +GAME_CUSTOM( 199?, m4toot__1, m4toot, "tot05d.p1", 0x0000, 0x020000, CRC(24565e6a) SHA1(0f2c19e54e5a78ae10e786d49ebcd7c16e41850c), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 D)" ) +GAME_CUSTOM( 199?, m4toot__2, m4toot, "tot05dk.p1", 0x0000, 0x020000, CRC(3b3d095f) SHA1(326574adaa285a479abb5ae7515ef7d6bdd64126), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 KD)" ) +GAME_CUSTOM( 199?, m4toot__3, m4toot, "tot05dr.p1", 0x0000, 0x020000, CRC(8832b26e) SHA1(d5414560245bbb2c070f7a035e5e3416617c2cf3), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 RD)" ) +GAME_CUSTOM( 199?, m4toot__4, m4toot, "tot05dy.p1", 0x0000, 0x020000, CRC(bcde29a1) SHA1(cf8af40faf81a2a3141d3addd6b28c917beeda49), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 YD)" ) +GAME_CUSTOM( 199?, m4toot__5, m4toot, "tot05k.p1", 0x0000, 0x020000, CRC(138afd4a) SHA1(bc53d71d926da7aca74c79f45c47610e62e347b6), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 K)" ) +GAME_CUSTOM( 199?, m4toot__6, m4toot, "tot05r.p1", 0x0000, 0x020000, CRC(a085467b) SHA1(de2deda7635c9565db0f69aa6f375216ed36b7bb), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 R)" ) +GAME_CUSTOM( 199?, m4toot__8, m4toot, "tot05y.p1", 0x0000, 0x020000, CRC(9469ddb4) SHA1(553812e3ece921d31c585b6a412c00ea5095b1b0), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.5 Y)" ) // "(C)1993 BARCREST" and "TOT 0.6" GAME_CUSTOM( 199?, m4toot__aj, m4toot, "tot06s.p1", 0x0000, 0x020000, CRC(c6140fea) SHA1(c2257dd84bf97b71580e8b873fc745dfa456ddd9), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6)" ) -GAME_CUSTOM( 199?, m4toot__9, m4toot, "tot06ad.p1", 0x0000, 0x020000, CRC(ebe50569) SHA1(1906f1a8d47cc9ee3fa703ad57b180f8a4cdcf89), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 37)" ) -GAME_CUSTOM( 199?, m4toot__aa, m4toot, "tot06b.p1", 0x0000, 0x020000, CRC(4d5a8ebe) SHA1(d30da9ce729fed7ad42b30d522b2b6d65a462b84), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 38)" ) -GAME_CUSTOM( 199?, m4toot__ab, m4toot, "tot06bd.p1", 0x0000, 0x020000, CRC(66ffabac) SHA1(25822e42a58173b8f51dcbbd98d041b261e675e4), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 39)" ) -GAME_CUSTOM( 199?, m4toot__ac, m4toot, "tot06c.p1", 0x0000, 0x020000, CRC(7a1033ac) SHA1(9d3c2f521574f405e1da81b605581bc4b6f011a4), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 40)" ) -GAME_CUSTOM( 199?, m4toot__ad, m4toot, "tot06d.p1", 0x0000, 0x020000, CRC(304185c8) SHA1(f7ef4fce3ce9a455f39766ae97ebfbf93418e019), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 41)" ) -GAME_CUSTOM( 199?, m4toot__ae, m4toot, "tot06dk.p1", 0x0000, 0x020000, CRC(2c3803fa) SHA1(68c83ccdd1f776376608918d9a1257fe64ce3a9b), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 42)" ) -GAME_CUSTOM( 199?, m4toot__af, m4toot, "tot06dr.p1", 0x0000, 0x020000, CRC(9f37b8cb) SHA1(3eb2f843dc4f87b7bfe16da1d133750ad7075a71), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 43)" ) -GAME_CUSTOM( 199?, m4toot__ag, m4toot, "tot06dy.p1", 0x0000, 0x020000, CRC(abdb2304) SHA1(1c29f4176306f472323388f8c34b102930fb9f5f), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 44)" ) -GAME_CUSTOM( 199?, m4toot__ah, m4toot, "tot06k.p1", 0x0000, 0x020000, CRC(079d26e8) SHA1(60e3d02d62f6fde6bdf4b9e77702549d493ccf09), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 45)" ) -GAME_CUSTOM( 199?, m4toot__ai, m4toot, "tot06r.p1", 0x0000, 0x020000, CRC(b4929dd9) SHA1(fa3d99b8f6344c9511ecc864d4fff4629b105b5f), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 46)" ) -GAME_CUSTOM( 199?, m4toot__ak, m4toot, "tot06y.p1", 0x0000, 0x020000, CRC(807e0616) SHA1(2a3f89239a7fa43dfde90dd7ad929747e888074b), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (set 48)" ) +GAME_CUSTOM( 199?, m4toot__9, m4toot, "tot06ad.p1", 0x0000, 0x020000, CRC(ebe50569) SHA1(1906f1a8d47cc9ee3fa703ad57b180f8a4cdcf89), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 AD)" ) +GAME_CUSTOM( 199?, m4toot__aa, m4toot, "tot06b.p1", 0x0000, 0x020000, CRC(4d5a8ebe) SHA1(d30da9ce729fed7ad42b30d522b2b6d65a462b84), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 B)" ) +GAME_CUSTOM( 199?, m4toot__ab, m4toot, "tot06bd.p1", 0x0000, 0x020000, CRC(66ffabac) SHA1(25822e42a58173b8f51dcbbd98d041b261e675e4), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 BD)" ) +GAME_CUSTOM( 199?, m4toot__ac, m4toot, "tot06c.p1", 0x0000, 0x020000, CRC(7a1033ac) SHA1(9d3c2f521574f405e1da81b605581bc4b6f011a4), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 C)" ) +GAME_CUSTOM( 199?, m4toot__ad, m4toot, "tot06d.p1", 0x0000, 0x020000, CRC(304185c8) SHA1(f7ef4fce3ce9a455f39766ae97ebfbf93418e019), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 D)" ) +GAME_CUSTOM( 199?, m4toot__ae, m4toot, "tot06dk.p1", 0x0000, 0x020000, CRC(2c3803fa) SHA1(68c83ccdd1f776376608918d9a1257fe64ce3a9b), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 KD)" ) +GAME_CUSTOM( 199?, m4toot__af, m4toot, "tot06dr.p1", 0x0000, 0x020000, CRC(9f37b8cb) SHA1(3eb2f843dc4f87b7bfe16da1d133750ad7075a71), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 RD)" ) +GAME_CUSTOM( 199?, m4toot__ag, m4toot, "tot06dy.p1", 0x0000, 0x020000, CRC(abdb2304) SHA1(1c29f4176306f472323388f8c34b102930fb9f5f), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 YD)" ) +GAME_CUSTOM( 199?, m4toot__ah, m4toot, "tot06k.p1", 0x0000, 0x020000, CRC(079d26e8) SHA1(60e3d02d62f6fde6bdf4b9e77702549d493ccf09), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 K)" ) +GAME_CUSTOM( 199?, m4toot__ai, m4toot, "tot06r.p1", 0x0000, 0x020000, CRC(b4929dd9) SHA1(fa3d99b8f6344c9511ecc864d4fff4629b105b5f), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 R)" ) +GAME_CUSTOM( 199?, m4toot__ak, m4toot, "tot06y.p1", 0x0000, 0x020000, CRC(807e0616) SHA1(2a3f89239a7fa43dfde90dd7ad929747e888074b), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.6 Y)" ) // "(C)1993 BARCREST" and "TOC 0.1" GAME_CUSTOM( 199?, m4toot__al, m4toot, "tten2010", 0x0000, 0x020000, CRC(28373e9a) SHA1(496df7b511b950b5affe9d65c80037f3ecddc5f8), "Barcrest","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.1)" ) // no copyright string and "TOC 0.3" -GAME_CUSTOM( 199?, m4toot__za, m4toot, "tot15g", 0x0000, 0x020000, CRC(1f9508ad) SHA1(33089ea05f6adecf8f4004aa1e4d626969b6ac3a), "hack?","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3, hack?)" ) +GAME_CUSTOM( 199?, m4toot__za, m4toot, "tot15g", 0x0000, 0x020000, CRC(1f9508ad) SHA1(33089ea05f6adecf8f4004aa1e4d626969b6ac3a), "hack?","Ten Out Of Ten (Barcrest) (MPU4) (TOC 0.3 Y, hack?)" ) // no copyright string and "TOT 0.4" -GAME_CUSTOM( 199?, m4toot__zb, m4toot, "tot15t", 0x0000, 0x020000, CRC(1ce7f467) SHA1(cf47a126500680107a2f31743c3fff8290b595b8), "hack?","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.4, hack?)" ) +GAME_CUSTOM( 199?, m4toot__zb, m4toot, "tot15t", 0x0000, 0x020000, CRC(1ce7f467) SHA1(cf47a126500680107a2f31743c3fff8290b595b8), "hack?","Ten Out Of Ten (Barcrest) (MPU4) (TOT 0.4 Y, hack?)" ) #define M4EAW_EXTRA_ROMS \ ROM_REGION( 0x48, "fakechr", 0 ) \ @@ -3688,21 +3688,21 @@ GAME_CUSTOM( 199?, m4bdash__ar, m4bdash, "bls02k.p1", 0x0000, 0x020000, CR 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__au, m4bdash, "bls02y.p1", 0x0000, 0x020000, CRC(1a7b1373) SHA1(dde4754d92f0fde495ab826294a650ac81fd586e), "Barcrest","Boulder Dash (Barcrest) (MPU4) (set 58)" ) // "(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)" ) +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)" ) +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 D)" ) +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 K)" ) +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 B)" ) // "(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)" ) +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)" ) +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 D)" ) +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 K)" ) +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 B)" ) // 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)" ) +GAME_CUSTOM( 199?, m4bdash__av, m4bdash, "bold15g", 0x0000, 0x020000, CRC(fa400d34) SHA1(2faeb9b880fb4980aa0d96b4b962c879498445f2), "hack","Boulder Dash (Barcrest) (MPU4) (BLD 0.7 C, 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)" ) +GAME_CUSTOM( 199?, m4bdash__aw, m4bdash, "bold15t", 0x0000, 0x020000, CRC(f3f331ae) SHA1(d999c8571549d8d26b7b861299d77c7282aef700), "hack","Boulder Dash (Barcrest) (MPU4) (BLS 0.1 C, hack)" ) #define M4PRZDTY_EXTRA_ROMS \ @@ -4026,15 +4026,15 @@ GAME_CUSTOM( 199?, m4buc__ap, m4buc, "bus02r.p1", 0x000000, 0x020000 GAME_CUSTOM( 199?, m4buc__ar, m4buc, "bus02y.p1", 0x000000, 0x020000, CRC(95f7d5c5) SHA1(301949ad27963041a3cef000ed9ffd16c119b18d), "Barcrest","Buccaneer (Barcrest) (MPU4) (set 55)" ) // "(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)" ) +GAME_CUSTOM( 199?, m4buc__as, m4buc, "br_sj___.1_1", 0x000000, 0x020000, CRC(02c30d48) SHA1(8e5d09d721bf6e1876d672b6c84f46666cf42b90), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0)" ) +GAME_CUSTOM( 199?, m4buc__at, m4buc, "br_sj_b_.1_1", 0x000000, 0x020000, CRC(490ec8a7) SHA1(faf9f450d48382aeb7b8e01750fc226c30e761d3), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0 YD)" ) +GAME_CUSTOM( 199?, m4buc__au, m4buc, "br_sj_d_.1_1", 0x000000, 0x020000, CRC(ac4e72d6) SHA1(303f77e536b8da79a926dc5b30441ae9071f683b), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0 D)" ) +GAME_CUSTOM( 199?, m4buc__av, m4buc, "br_sj_k_.1_1", 0x000000, 0x020000, CRC(1c71f108) SHA1(10f4e99b0af4a102ed23098123d82da2a8f1c5be), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0 Y)" ) +GAME_CUSTOM( 199?, m4buc__aw, m4buc, "br_sjb__.1_1", 0x000000, 0x020000, CRC(d15579a0) SHA1(577c7cd11da15083327dba385a6769b346be2b71), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0 B)" ) +GAME_CUSTOM( 199?, m4buc__ax, m4buc, "br_sjbg_.1_1", 0x000000, 0x020000, CRC(5f8ec0ae) SHA1(8eacfd43e3f875af862b77f044b7a9f1487af4a1), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0 BAD)" ) +GAME_CUSTOM( 199?, m4buc__ay, m4buc, "br_sjbt_.1_1", 0x000000, 0x020000, CRC(00f9581e) SHA1(1461539f501250a08bf66e4a94e4b84113dc0dc5), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0 BR)" ) +GAME_CUSTOM( 199?, m4buc__az, m4buc, "br_sjwb_.1_1", 0x000000, 0x020000, CRC(d15cb680) SHA1(4ab485eb2d1d57c690926e430e0c8b2af045381d), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0 YDH)" ) +GAME_CUSTOM( 199?, m4buc__n, m4buc, "buccaneer5-15sw.bin", 0x000000, 0x020000, CRC(9b92d1f6) SHA1(d374fe966a1b039c971f278ab1113640e7629233), "Bwb","Buccaneer (Barcrest) (MPU4) (BR_ 1.0 K)" ) // 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" @@ -4919,37 +4919,37 @@ GAME_CUSTOM( 199?, m4przlux__f, m4przlux, "plxy.p1", 0x0000, 0x010000, CRC GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) // "(C)1997 B.W.B." and "TD 7.1" (Td4 in the 7-segs) -GAME_CUSTOM( 199?, m4topdog, 0, "td_20_b4.7_1", 0x0000, 0x010000, CRC(fe864f25) SHA1(b9f97aaf0425b4987b5bfa0b793e9226fdffe58f), "Bwb","Top Dog (Barcrest) (MPU4) (Td4 / TD 7.1)" ) -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__d, m4topdog, "td_20_k4.7_1", 0x0000, 0x010000, CRC(44618034) SHA1(0fce08e279a16d94422155c695b9b5f124b657ea), "Bwb","Top Dog (Barcrest) (MPU4) (set 5)" ) -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__h, m4topdog, "td_20b_4.7_1", 0x0000, 0x010000, CRC(79468269) SHA1(709f34a0ebea816cb268b5dc36c3d02939cd6224), "Bwb","Top Dog (Barcrest) (MPU4) (set 9)" ) -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__l, m4topdog, "td_20bt4.7_1", 0x0000, 0x010000, CRC(2cdd5be2) SHA1(bc1afe70268eb7e3cb8fe1a43d262201faec0613), "Bwb","Top Dog (Barcrest) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4topdog, 0, "td_20_b4.7_1", 0x0000, 0x010000, CRC(fe864f25) SHA1(b9f97aaf0425b4987b5bfa0b793e9226fdffe58f), "Bwb","Top Dog (Barcrest) (MPU4) (TD4 7.1 YD / TD 7.1)" ) +GAME_CUSTOM( 199?, m4topdog__b, m4topdog, "td_20_d4.7_1", 0x0000, 0x010000, CRC(35da9e2d) SHA1(a2d1efd7c9cbe4bb5ce7574c6bea2edf55f3e08f), "Bwb","Top Dog (Barcrest) (MPU4) (TD4 7.1 D / TD 7.1)" ) +GAME_CUSTOM( 199?, m4topdog__d, m4topdog, "td_20_k4.7_1", 0x0000, 0x010000, CRC(44618034) SHA1(0fce08e279a16d94422155c695b9b5f124b657ea), "Bwb","Top Dog (Barcrest) (MPU4) (TD4 7.1 Y / TD 7.1)" ) +GAME_CUSTOM( 199?, m4topdog__f, m4topdog, "td_20a_4.7_1", 0x0000, 0x010000, CRC(e7bcc879) SHA1(6c963d059867bdd506af1826fe038daa560a3623), "Bwb","Top Dog (Barcrest) (MPU4) (TD4 7.1 K / TD 7.1)" ) +GAME_CUSTOM( 199?, m4topdog__h, m4topdog, "td_20b_4.7_1", 0x0000, 0x010000, CRC(79468269) SHA1(709f34a0ebea816cb268b5dc36c3d02939cd6224), "Bwb","Top Dog (Barcrest) (MPU4) (TD4 7.1 B / TD 7.1)" ) +GAME_CUSTOM( 199?, m4topdog__j, m4topdog, "td_20bg4.7_1", 0x0000, 0x010000, CRC(4cb61b04) SHA1(6bb56cd06240c1bbb73406fe132e302822dec0df), "Bwb","Top Dog (Barcrest) (MPU4) (TD4 7.1 BAD / TD 7.1)" ) +GAME_CUSTOM( 199?, m4topdog__l, m4topdog, "td_20bt4.7_1", 0x0000, 0x010000, CRC(2cdd5be2) SHA1(bc1afe70268eb7e3cb8fe1a43d262201faec0613), "Bwb","Top Dog (Barcrest) (MPU4) (TD4 7.1 BR / TD 7.1)" ) // "(C)1997 B.W.B." and "TD 7.1" (Tdt in the 7-segs) -GAME_CUSTOM( 199?, m4topdog__a, m4topdog, "td_20_bc.7_1", 0x0000, 0x010000, CRC(3af18a9f) SHA1(0db7427d934363d021265fcac811505867f20d47), "Bwb","Top Dog (Barcrest) (MPU4) (TdT / TD 7.1)" ) -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__e, m4topdog, "td_20_kc.7_1", 0x0000, 0x010000, CRC(8ec10cf7) SHA1(cdc479f7f41f2205285a9db6539dce83feef6af4), "Bwb","Top Dog (Barcrest) (MPU4) (set 6)" ) -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__i, m4topdog, "td_20b_c.7_1", 0x0000, 0x010000, CRC(1301d28b) SHA1(b0fc0c73dedd89bbdb5845ec9f91530959fabeb6), "Bwb","Top Dog (Barcrest) (MPU4) (set 10)" ) -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__m, m4topdog, "td_20btc.7_1", 0x0000, 0x010000, CRC(67e96c75) SHA1(da9dd06f5d4773fa8e3945cf89cfdde4c465acb9), "Bwb","Top Dog (Barcrest) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4topdog__a, m4topdog, "td_20_bc.7_1", 0x0000, 0x010000, CRC(3af18a9f) SHA1(0db7427d934363d021265fcac811505867f20d47), "Bwb","Top Dog (Barcrest) (MPU4) (TDT 7.1 YD / TD 7.1)" ) +GAME_CUSTOM( 199?, m4topdog__c, m4topdog, "td_20_dc.7_1", 0x0000, 0x010000, CRC(b90dfbce) SHA1(b9eb9393fbd33725d372b3b6648c261cf0ae486f), "Bwb","Top Dog (Barcrest) (MPU4) (TDT 7.1 D / TD 7.1)" ) +GAME_CUSTOM( 199?, m4topdog__e, m4topdog, "td_20_kc.7_1", 0x0000, 0x010000, CRC(8ec10cf7) SHA1(cdc479f7f41f2205285a9db6539dce83feef6af4), "Bwb","Top Dog (Barcrest) (MPU4) (TDT 7.1 Y / TD 7.1)" ) +GAME_CUSTOM( 199?, m4topdog__g, m4topdog, "td_20a_c.7_1", 0x0000, 0x010000, CRC(ea229917) SHA1(3e42c1eca1a89b2d536498156beddddcba9899b2), "Bwb","Top Dog (Barcrest) (MPU4) (TDT 7.1 K / TD 7.1)" ) +GAME_CUSTOM( 199?, m4topdog__i, m4topdog, "td_20b_c.7_1", 0x0000, 0x010000, CRC(1301d28b) SHA1(b0fc0c73dedd89bbdb5845ec9f91530959fabeb6), "Bwb","Top Dog (Barcrest) (MPU4) (TDT 7.1 B / TD 7.1)" ) +GAME_CUSTOM( 199?, m4topdog__k, m4topdog, "td_20bgc.7_1", 0x0000, 0x010000, CRC(8ce831d0) SHA1(e58ca3b38e8dc7196c27cf00123a6e7122bd7f58), "Bwb","Top Dog (Barcrest) (MPU4) (TDT 7.1 BAD / TD 7.1)" ) +GAME_CUSTOM( 199?, m4topdog__m, m4topdog, "td_20btc.7_1", 0x0000, 0x010000, CRC(67e96c75) SHA1(da9dd06f5d4773fa8e3945cf89cfdde4c465acb9), "Bwb","Top Dog (Barcrest) (MPU4) (TDT 7.1 BR / TD 7.1)" ) // "(C)1997 B.W.B." and "TD 8.3" -GAME_CUSTOM( 199?, m4topdog__n, m4topdog, "td_25_bc.8_1", 0x0000, 0x010000, CRC(ac324184) SHA1(d6743c8cbbe719b12f47792a07ec2e898630591b), "Bwb","Top Dog (Barcrest) (MPU4) (TdT / TD 8.3)" ) -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__u, m4topdog, "td_25btc.8_1", 0x0000, 0x010000, CRC(f5dec7d9) SHA1(ffb361745aebb3c7d6bf4925d95904e8ced13a35), "Bwb","Top Dog (Barcrest) (MPU4) (set 22)" ) +GAME_CUSTOM( 199?, m4topdog__n, m4topdog, "td_25_bc.8_1", 0x0000, 0x010000, CRC(ac324184) SHA1(d6743c8cbbe719b12f47792a07ec2e898630591b), "Bwb","Top Dog (Barcrest) (MPU4) (TDT 8.3 YD / TD 8.3)" ) +GAME_CUSTOM( 199?, m4topdog__o, m4topdog, "td_25_dc.8_1", 0x0000, 0x010000, CRC(6ea8077c) SHA1(672976af1fad0257be7a15b839ec261653704be8), "Bwb","Top Dog (Barcrest) (MPU4) (TDT 8.3 D / TD 8.3)" ) +GAME_CUSTOM( 199?, m4topdog__p, m4topdog, "td_25_kc.8_1", 0x0000, 0x010000, CRC(e006de48) SHA1(2c09e04d2dc3ec369c4c01eb1ff1af57156d05c1), "Bwb","Top Dog (Barcrest) (MPU4) (TDT 8.3 Y / TD 8.3)" ) +GAME_CUSTOM( 199?, m4topdog__q, m4topdog, "td_25a_c.8_1", 0x0000, 0x010000, CRC(84e54ba8) SHA1(dd09094854463f4b7033773be77d4a2d7f06b650), "Bwb","Top Dog (Barcrest) (MPU4) (TDT 8.3 K / TD 8.3)" ) +GAME_CUSTOM( 199?, m4topdog__r, m4topdog, "td_25b_c.8_1", 0x0000, 0x010000, CRC(314f4f03) SHA1(a7c399ddf453305d0dbe2a63e57427b261c48c2c), "Bwb","Top Dog (Barcrest) (MPU4) (TDT 8.3 B / TD 8.3)" ) +GAME_CUSTOM( 199?, m4topdog__s, m4topdog, "td_25bgc.8_1", 0x0000, 0x010000, CRC(efc0899c) SHA1(0d0e5a006d260a1bfcde7966c06360386c949f29), "Bwb","Top Dog (Barcrest) (MPU4) (TDT 8.3 BAD / TD 8.3)" ) +GAME_CUSTOM( 199?, m4topdog__u, m4topdog, "td_25btc.8_1", 0x0000, 0x010000, CRC(f5dec7d9) SHA1(ffb361745aebb3c7d6bf4925d95904e8ced13a35), "Bwb","Top Dog (Barcrest) (MPU4) (TDT 8.3 BR / TD 8.3)" ) // "(C)1998 B.W.B." and "TD 2.0" -GAME_CUSTOM( 199?, m4topdog__t, m4topdog, "td_25bgp.2_1", 0x0000, 0x010000, CRC(f0894f48) SHA1(63056dd434d18bb9a052db25cc6ce29d0c3f9f82), "Bwb","Top Dog (Barcrest) (MPU4) (TdP / TD 2.0)" ) +GAME_CUSTOM( 199?, m4topdog__t, m4topdog, "td_25bgp.2_1", 0x0000, 0x010000, CRC(f0894f48) SHA1(63056dd434d18bb9a052db25cc6ce29d0c3f9f82), "Bwb","Top Dog (Barcrest) (MPU4) (TDP 2.0 BAD / TD 2.0)" ) // "(C)1998 B.W.B." and "TD 1.4" -GAME_CUSTOM( 199?, m4topdog__v, m4topdog, "td_30a_c.1_1", 0x0000, 0x010000, CRC(f0986895) SHA1(65c24de42a3009959c9bb7f5b42536aa6fd70c2b), "Bwb","Top Dog (Barcrest) (MPU4) (Td / TD 1.4)" ) -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)" ) +GAME_CUSTOM( 199?, m4topdog__v, m4topdog, "td_30a_c.1_1", 0x0000, 0x010000, CRC(f0986895) SHA1(65c24de42a3009959c9bb7f5b42536aa6fd70c2b), "Bwb","Top Dog (Barcrest) (MPU4) (TD 1.4 K)" ) +GAME_CUSTOM( 199?, m4topdog__w, m4topdog, "td_30b_c.1_1", 0x0000, 0x010000, CRC(7683cf72) SHA1(4319954b833ef6b0d88b8d22c5e700a9df96dc65), "Bwb","Top Dog (Barcrest) (MPU4) (TD 1.4 B)" ) +GAME_CUSTOM( 199?, m4topdog__x, m4topdog, "td_30bdc.1_1", 0x0000, 0x010000, CRC(f5a4481b) SHA1(75b32b0996315b8ce833fd695377716dbeb0b7e4), "Bwb","Top Dog (Barcrest) (MPU4) (TD 1.4 BD)" ) +GAME_CUSTOM( 199?, m4topdog__y, m4topdog, "td_30bgc.1_1", 0x0000, 0x010000, CRC(1ffe440f) SHA1(adc1909fbbfe7e63bb89b29878bda5a6df776a6a), "Bwb","Top Dog (Barcrest) (MPU4) (TD 1.4 BAD)" ) +GAME_CUSTOM( 199?, m4topdog__z, m4topdog, "td_30btc.1_1", 0x0000, 0x010000, CRC(5109516c) SHA1(a4919465286be9e1f0e7970a91a89738f8fcad4e), "Bwb","Top Dog (Barcrest) (MPU4) (TD 1.4 BR)" ) #define M4KINGQ_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ @@ -4966,30 +4966,31 @@ GAME_CUSTOM( 199?, m4topdog__z, m4topdog, "td_30btc.1_1", 0x0000, 0x010000, GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,company,title,GAME_FLAGS ) // "(C)1996 B.W.B." and "EE 2.1" (EE4 in 7-seg) -GAME_CUSTOM( 199?, m4kingq, 0, "ee_05a_4.2_1", 0x0000, 0x010000, CRC(8dd842b6) SHA1(1c1bcaae355ceee4d7b1572b0fa1a8b23a8afdbf), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE4 / EE 2.1)" ) +GAME_CUSTOM( 199?, m4kingq, 0, "ee_05a_4.2_1", 0x0000, 0x010000, CRC(8dd842b6) SHA1(1c1bcaae355ceee4d7b1572b0fa1a8b23a8afdbf), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE4 2.1 K/ EE 2.1)" ) // "(C)1996 B.W.B." and "EE 2.2" (EE8 in 7-seg) -GAME_CUSTOM( 199?, m4kingq__a, m4kingq, "ee_05a__.2_1", 0x0000, 0x010000, CRC(36aa5fb9) SHA1(b4aaf647713e33e79be7927e5eeef240d3beedf7), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE8 / EE 2.2)" ) +GAME_CUSTOM( 199?, m4kingq__a, m4kingq, "ee_05a__.2_1", 0x0000, 0x010000, CRC(36aa5fb9) SHA1(b4aaf647713e33e79be7927e5eeef240d3beedf7), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE8 2.2 K / EE 2.2)" ) // "(C)1995 B.W.B." and "EE_ 2.0" (EE in 7-seg) -GAME_CUSTOM( 199?, m4kingq__b, m4kingq, "ee_20a__.2_1", 0x0000, 0x010000, CRC(2c61341f) SHA1(76d68ae2a44087414be8be12b3824c62311721dd), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE / EE_ 2.0)" ) -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__f, m4kingq, "ee_20bd_.2_1", 0x0000, 0x010000, CRC(239de2dd) SHA1(c8021ba5bfdc10f59fec27c364035225093328d8), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 7)" ) -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__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__b, m4kingq, "ee_20a__.2_1", 0x0000, 0x010000, CRC(2c61341f) SHA1(76d68ae2a44087414be8be12b3824c62311721dd), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 2.0 K / EE_ 2.0)" ) +GAME_CUSTOM( 199?, m4kingq__d, m4kingq, "ee_20b__.2_1", 0x0000, 0x010000, CRC(2fc7c7c2) SHA1(3b8736a582009d7b1455769374342ff72026d2fa), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 2.0 B / EE_ 2.0)" ) +GAME_CUSTOM( 199?, m4kingq__f, m4kingq, "ee_20bd_.2_1", 0x0000, 0x010000, CRC(239de2dd) SHA1(c8021ba5bfdc10f59fec27c364035225093328d8), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 2.0 BD / EE_ 2.0)" ) +GAME_CUSTOM( 199?, m4kingq__h, m4kingq, "ee_20bg_.2_1", 0x0000, 0x010000, CRC(ddc4d832) SHA1(031f987e9fced1df4acc57eb4b60911d52e1dbf6), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 2.0 BA / EE_ 2.0)" ) +GAME_CUSTOM( 199?, m4kingq__i, m4kingq, "ee_20bt_.2_1", 0x0000, 0x010000, CRC(6f278771) SHA1(4459c9490be14bcbc139eebe6542325c80937ff3), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 2.0 R / EE_ 2.0)" ) +GAME_CUSTOM( 199?, m4kingq__k, m4kingq, "ee_20sb_.2_1", 0x0000, 0x010000, CRC(307ad157) SHA1(32b6187e907bfbdb87a9ad2d9ca5870b09de5e4a), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 2.0 YD / EE_ 2.0)" ) +GAME_CUSTOM( 199?, m4kingq__s, m4kingq, "eei20___.2_1", 0x0000, 0x010000, CRC(15f4b869) SHA1(5be6f660321cb47900dda986ef44eb5c1c324013), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 2.0 C / EE_ 2.0)" ) +// "(C)1995 B.W.B." and "EE_ 2.0" (EE' in 7-seg) +GAME_CUSTOM( 199?, m4kingq__l, m4kingq, "ee_25a_c.3_1", 0x0000, 0x010000, CRC(4dc25083) SHA1(b754b4003f73bd74d1670a36a70985ce5e48794d), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE' 2.0 K / EE_ 2.0)" ) +GAME_CUSTOM( 199?, m4kingq__m, m4kingq, "ee_25b_c.3_1", 0x0000, 0x010000, CRC(a6fe50ff) SHA1(011602d9624f232ba8484e57f5f33ff06091809f), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE' 2.0 B / EE_ 2.0)" ) +GAME_CUSTOM( 199?, m4kingq__n, m4kingq, "ee_25bdc.3_1", 0x0000, 0x010000, CRC(d0088a97) SHA1(aacc1a86bd4b321d0ee21d14147e1d135b3a5bae), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE' 2.0 BD / EE_ 2.0)" ) +GAME_CUSTOM( 199?, m4kingq__o, m4kingq, "ee_25bgc.3_1", 0x0000, 0x010000, CRC(e4dcd86b) SHA1(b8f8ec317bf9f18e3d0ae9a9fd59349fee24530d), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE' 2.0 AD / EE_ 2.0)" ) +GAME_CUSTOM( 199?, m4kingq__p, m4kingq, "ee_25btc.3_1", 0x0000, 0x010000, CRC(8f44347a) SHA1(09815a6e1d3a91cd2e69578bbcfef3203ddb33d6), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE' 2.0 BR / EE_ 2.0)" ) +GAME_CUSTOM( 199?, m4kingq__r, m4kingq, "ee_25sbc.3_1", 0x0000, 0x010000, CRC(0f4bdd7c) SHA1(5c5cb3a9d6a96afc6e29149d2a8adf19aae0bc41), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE' 2.0 YD / EE_ 2.0)" ) // "(C)1996 B.W.B." and "EE 1.0" (EE in 7-seg) -GAME_CUSTOM( 199?, m4kingq__c, m4kingq, "ee_20a_c.1_1", 0x0000, 0x010000, CRC(948140ac) SHA1(d43f1f2903ecd809dee191087fa075c638728a5b), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE / EE 1.0)" ) -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__g, m4kingq, "ee_20bdc.1_1", 0x0000, 0x010000, CRC(cbb8c57b) SHA1(ea165199213f95128aec95ae40799faa8c457dd3), "Bwb","Kings & Queens (Barcrest) (MPU4) (set 8)" ) -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__c, m4kingq, "ee_20a_c.1_1", 0x0000, 0x010000, CRC(948140ac) SHA1(d43f1f2903ecd809dee191087fa075c638728a5b), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 1.0 K / EE 1.0)" ) +GAME_CUSTOM( 199?, m4kingq__e, m4kingq, "ee_20b_c.1_1", 0x0000, 0x010000, CRC(70d399ab) SHA1(ca2c593151f4f852c7cb66859a12e832e53cd31f), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 1.0 B / EE 1.0)" ) +GAME_CUSTOM( 199?, m4kingq__g, m4kingq, "ee_20bdc.1_1", 0x0000, 0x010000, CRC(cbb8c57b) SHA1(ea165199213f95128aec95ae40799faa8c457dd3), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 1.0 BD / EE 1.0)" ) +GAME_CUSTOM( 199?, m4kingq__j, m4kingq, "ee_20s_c.1_1", 0x0000, 0x010000, CRC(a0c1e313) SHA1(8a088a33e51a31ff0abdb554aa4d8ce61eaf4b7d), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE 1.0 CB / EE 1.0)" ) // "(C)1998 B.W.B." and "EE2 1.0" (EE2 in 7-seg) -GAME_CUSTOM( 199?, m4kingq__t, m4kingq, "knq2pprg.bin", 0x0000, 0x010000, CRC(23b22f79) SHA1(3d8b9cbffb9b427897548981ddacf724215336a4), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE2 / EE2 1.0)" ) +GAME_CUSTOM( 199?, m4kingq__t, m4kingq, "knq2pprg.bin", 0x0000, 0x010000, CRC(23b22f79) SHA1(3d8b9cbffb9b427897548981ddacf724215336a4), "Bwb","Kings & Queens (Barcrest) (MPU4) (EE2 1.0 / EE2 1.0)" ) #define M4KINGQC_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ @@ -5450,21 +5451,21 @@ GAME_CUSTOM( 199?, m4lvlcl__f, m4lvlcl, "ll__xgdx.3_1", 0x0000, 0x010000, CR // "(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)" ) +GAME_CUSTOM( 199?, m4rhs__b, m4rhs, "rh_sj_b_.4s1", 0x0000, 0x020000, CRC(58a4480e) SHA1(f4ecfa1debbfa9dba75263bce2c9f66741c3466f), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 YD)" ) +GAME_CUSTOM( 199?, m4rhs__d, m4rhs, "rh_sj_d_.4s1", 0x0000, 0x020000, CRC(8f1176db) SHA1(283ef0b9515eac342a02489118bd30016ba85399), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 D)" ) +GAME_CUSTOM( 199?, m4rhs__e, m4rhs, "rh_sj_k_.4s1", 0x0000, 0x020000, CRC(3f2ef505) SHA1(28c3806bc48af21a2b7ea27d42ea9f6b4346f3b8), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 Y)" ) +GAME_CUSTOM( 199?, m4rhs__f, m4rhs, "rh_sja__.4s1", 0x0000, 0x020000, CRC(b8cdd5fb) SHA1(4e336dd3d61f4fdba731951c56e440766ea8efeb), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 K)" ) +GAME_CUSTOM( 199?, m4rhs__h, m4rhs, "rh_sjab_.4s1", 0x0000, 0x020000, CRC(c8468d4c) SHA1(6a9f8fe10949712ecacca3bfcd7d5ab4860682e2), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 YKD)" ) +GAME_CUSTOM( 199?, m4rhs__i, m4rhs, "rh_sjad_.4s1", 0x0000, 0x020000, CRC(df4768f0) SHA1(74894b232b27e65058d59acf174172da86def95a), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 KD)" ) +GAME_CUSTOM( 199?, m4rhs__j, m4rhs, "rh_sjak_.4s1", 0x0000, 0x020000, CRC(6f78eb2e) SHA1(a9fec7a7ad9334c3d8760e1982ac00651858cee8), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__4.0 YK)" ) // "(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)" ) +GAME_CUSTOM( 199?, m4rhs__c, m4rhs, "rh_sj_bc.6_1", 0x0000, 0x020000, CRC(2e37a58c) SHA1(a48c96384aa81f98bfa980c93e93523ecef3d43c), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__6.0 YD)" ) +GAME_CUSTOM( 199?, m4rhs__g, m4rhs, "rh_sja_c.6_1", 0x0000, 0x020000, CRC(b7b790e5) SHA1(e2b34dc2f6ede4f4c22b11123dfaed46f2c5c45e), "Bwb","Rocky Horror Show (Barcrest) (MPU4) (RH__6.0 K)" ) // 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)" ) +GAME_CUSTOM( 199?, m4rhs__l, m4rhs, "rocky15t", 0x0000, 0x020000, CRC(3fbad6de) SHA1(e8d76b3878794c769187d92d2834018a84e764ac), "hack","Rocky Horror Show (Barcrest) (MPU4) (RH__3.0 YC, hack)" ) #define M4OADRAC_EXTRA_ROMS \ @@ -5490,9 +5491,9 @@ GAME_CUSTOM( 199?, m4oadrac__f, m4oadrac, "dr__xb_x.2_0", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4oadrac__h, m4oadrac, "dri_xa_x.2_0", 0x0000, 0x020000, CRC(849d2a80) SHA1(c9ff0a5a543b62ca5b885f93a35b5f40e88db8c3), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.0, set 2)" ) // "(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)" ) +GAME_CUSTOM( 199?, m4oadrac__c, m4oadrac, "dr__x_dx.2_1", 0x0000, 0x020000, CRC(f8c36b67) SHA1(c765d7a5eb4d7cd74295da26a7c6f5341a1ca257), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.1 D)" ) +GAME_CUSTOM( 199?, m4oadrac__e, m4oadrac, "dr__xa_x.2_1", 0x0000, 0x020000, CRC(cf1fc847) SHA1(6b09c0de15a380da1783a387569d83328f5b29a0), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.1 K)" ) +GAME_CUSTOM( 199?, m4oadrac__g, m4oadrac, "dr__xb_x.2_1", 0x0000, 0x020000, CRC(85d86011) SHA1(81f8624908299aa37e75fc5d12059b3600212d35), "Bwb","Ooh Aah Dracula (Barcrest) (MPU4) (DR_ 2.1 B)" ) @@ -5515,35 +5516,33 @@ GAME_CUSTOM( 199?, m4ticcla__b, m4ticcla, "ct_20_d4.7_1", 0x0000, 0x010000, GAME_CUSTOM( 199?, m4ticcla__d, m4ticcla, "ct_20a_4.7_1", 0x0000, 0x010000, CRC(35318095) SHA1(888105a674c9ea8ccad33e24c05ef42936f5f4cf), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT4 7.0 K)" ) GAME_CUSTOM( 199?, m4ticcla__g, m4ticcla, "ct_20bg4.7_1", 0x0000, 0x010000, CRC(7f200f42) SHA1(0ea6aa0de88982737d818c9dac9f2605cea7bc11), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT4 7.0 BAD)" ) GAME_CUSTOM( 199?, m4ticcla__i, m4ticcla, "ct_20bt4.7_1", 0x0000, 0x010000, CRC(7c7280a4) SHA1(3dbdc53a3474f4147427ed4fa8a161a3b364d43b), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT4 7.0 BR)" ) - // "(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)" ) - +GAME_CUSTOM( 199?, m4ticcla__a, m4ticcla, "ct_20_bc.4_1", 0x0000, 0x010000, CRC(fb40b5ff) SHA1(723a07a2b6b08483aa75ecdd4fd9720a66201fc3), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 4.0 YD)" ) +GAME_CUSTOM( 199?, m4ticcla__c, m4ticcla, "ct_20_dc.4_1", 0x0000, 0x010000, CRC(0f20a790) SHA1(02876178f0af64154d490cc048a7bc1c9a6f521b), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 4.0 D)" ) +GAME_CUSTOM( 199?, m4ticcla__e, m4ticcla, "ct_20a_c.4_1", 0x0000, 0x010000, CRC(e409f49f) SHA1(8774015ec20ed9fe54e812013dfc12d408276c31), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 4.0 K)" ) +GAME_CUSTOM( 199?, m4ticcla__f, m4ticcla, "ct_20b_c.4_1", 0x0000, 0x010000, CRC(864a59cf) SHA1(abd9b7a47c791ce4f91abbd3bf97bdcd9d8296ee), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 4.0 B)" ) +GAME_CUSTOM( 199?, m4ticcla__h, m4ticcla, "ct_20bgc.4_1", 0x0000, 0x010000, CRC(215b8965) SHA1(883735066a1425b502e89d1234575294ac83746c), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 4.0 BAD)" ) // "(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)" ) - +GAME_CUSTOM( 199?, m4ticcla__j, m4ticcla, "ct_25_bc.3_1", 0x0000, 0x010000, CRC(9d6fb3b0) SHA1(a6278579d217b5544d9f0b942a7a344596153950), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CTT 3.0 YD / CT4 3.0)" ) +GAME_CUSTOM( 199?, m4ticcla__l, m4ticcla, "ct_25_dc.3_1", 0x0000, 0x010000, CRC(eb359c82) SHA1(c137768461b859d5277b08c8783b0c8625f9b1be), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CTT 3.0 D / CT4 3.0)" ) +GAME_CUSTOM( 199?, m4ticcla__o, m4ticcla, "ct_25a_c.3_1", 0x0000, 0x010000, CRC(28e0a15b) SHA1(b3678ba3d1f392665cc6ec9c24c2c506a41cd4fa), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CTT 3.0 K / CT4 3.0)" ) +GAME_CUSTOM( 199?, m4ticcla__q, m4ticcla, "ct_25b_c.3_1", 0x0000, 0x010000, CRC(e0ba763d) SHA1(453d8a0dbe616c5a8c4313b918fcfe21fed473e0), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CTT 3.0 B / CT4 3.0)" ) +GAME_CUSTOM( 199?, m4ticcla__s, m4ticcla, "ct_25bgc.3_1", 0x0000, 0x010000, CRC(1e0ca1d1) SHA1(0b1023cdd5cd3db657cea53c85e31ed83c2e5524), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CTT 3.0 BAD / CT4 3.0)" ) +GAME_CUSTOM( 199?, m4ticcla__u, m4ticcla, "ct_25btc.3_1", 0x0000, 0x010000, CRC(f656897a) SHA1(92ad5c6ce2a696298bbfc8c1750825db4e3bc80b), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CTT 3.0 BR / CT4 3.0)" ) // "(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)" ) +GAME_CUSTOM( 199?, m4ticcla__k, m4ticcla, "ct_25_dc.2_1", 0x0000, 0x010000, CRC(b49af435) SHA1(e5f92f114931e554eb8eb5fe89f50298783d541c), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 2.3 D)" ) +GAME_CUSTOM( 199?, m4ticcla__m, m4ticcla, "ct_25_kc.2_1", 0x0000, 0x010000, CRC(43309e7b) SHA1(d8f6ecbea618da7f54309f2a6e93210c51b68b81), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 2.3 Y)" ) +GAME_CUSTOM( 199?, m4ticcla__n, m4ticcla, "ct_25a_c.2_1", 0x0000, 0x010000, CRC(717396ed) SHA1(6cdb0f99b40096178f6e85a0966182e704d1b99a), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 2.3 K)" ) +GAME_CUSTOM( 199?, m4ticcla__p, m4ticcla, "ct_25b_c.2_1", 0x0000, 0x010000, CRC(b3d7e79c) SHA1(86c0b419c3ca054f8a2ed785cffeb03e6c5b69f2), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 2.3 B)" ) +GAME_CUSTOM( 199?, m4ticcla__r, m4ticcla, "ct_25bgc.2_1", 0x0000, 0x010000, CRC(0869d04c) SHA1(0f0fd3982ac376c66d139655a50639f48bf740b4), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 2.3 BAD)" ) +GAME_CUSTOM( 199?, m4ticcla__t, m4ticcla, "ct_25btc.2_1", 0x0000, 0x010000, CRC(032ec96d) SHA1(c5cef956bc0e3eb45cf128c8d0b4e1d6e5b01afe), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 2.3 BR)" ) +// "(C)1998 B.W.B." and "CT 2.4" +GAME_CUSTOM( 199?, m4ticcla__v, m4ticcla, "ct_30_dc.2_1", 0x0000, 0x010000, CRC(57fabdfb) SHA1(ad86621e4bc8141508c691e148a66e74fc070a88), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 2.4 D)" ) +GAME_CUSTOM( 199?, m4ticcla__w, m4ticcla, "ct_30a_c.2_1", 0x0000, 0x010000, CRC(800c94c3) SHA1(c78497899ea9cf27e66f6e8526b95d51215053b2), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 2.4 K)" ) +GAME_CUSTOM( 199?, m4ticcla__x, m4ticcla, "ct_30b_c.2_1", 0x0000, 0x010000, CRC(3036ef04) SHA1(de514a85d45d11a880ed147aebe211ffb5bee146), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 2.4 B)" ) +GAME_CUSTOM( 199?, m4ticcla__y, m4ticcla, "ct_30bdc.2_1", 0x0000, 0x010000, CRC(9852c9d4) SHA1(37bb20d63fa70ea99e18a16a8f11c461a377a07a), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 2.4 BD)" ) +GAME_CUSTOM( 199?, m4ticcla__z, m4ticcla, "ct_30bgc.2_1", 0x0000, 0x010000, CRC(a1bc89b4) SHA1(4c82ce8fe78768443823e868f7cc49a06e7cc441), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 2.4 BAD)" ) +GAME_CUSTOM( 199?, m4ticcla__0, m4ticcla, "ct_30btc.2_1", 0x0000, 0x010000, CRC(cde0d12e) SHA1(5427ad700311c30cc86eccc7f1ff36cf0da3b980), "Bwb","Tic Tac Toe Classic (Barcrest) (MPU4) (CT 2.4 BR)" ) #define M4TICGLC_EXTRA_ROMS \ ROM_REGION( 0x200000, "msm6376", 0 ) \ From 3a002822d9afed9552339b1670a4bbd4e34f5914 Mon Sep 17 00:00:00 2001 From: fulivi Date: Fri, 12 Aug 2016 19:12:20 +0200 Subject: [PATCH 006/116] hp9845: correct character generator ROMs added --- src/mame/drivers/hp9845.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/mame/drivers/hp9845.cpp b/src/mame/drivers/hp9845.cpp index c4f00df97b1..c3f25382182 100644 --- a/src/mame/drivers/hp9845.cpp +++ b/src/mame/drivers/hp9845.cpp @@ -21,11 +21,11 @@ // - T15 tape drive // - Software list to load optional ROMs // - Beeper +// - Correct character generator ROMs (a huge "thank you" to Ansgar Kueckes for the dumps!) // What's not yet in: // - Better naming of tape drive image (it's now "magt", should be "t15") // - Better documentation of this file // What's wrong: -// - I'm using character generator from HP64K (another driver of mine): no known dump of the original one // - Speed, as usual #include "emu.h" @@ -171,6 +171,9 @@ private: // Character generator const UINT8 *m_chargen; + // Optional character generator + const UINT8 *m_optional_chargen; + // Text mode video I/F typedef struct { UINT8 chars[ 80 ]; @@ -394,6 +397,8 @@ void hp9845b_state::machine_start() m_chargen = memregion("chargen")->base(); + m_optional_chargen = memregion("optional_chargen")->base(); + m_graphic_mem.resize(GVIDEO_MEM_SIZE); } @@ -517,21 +522,18 @@ void hp9845b_state::video_render_buff(unsigned video_scanline , unsigned line_in for (unsigned i = 0; i < 80; i++) { UINT8 charcode = m_video_buff[ buff_idx ].chars[ i ]; UINT8 attrs = m_video_buff[ buff_idx ].attrs[ i ]; - UINT8 chargen_byte = m_chargen[ line_in_row | ((unsigned)charcode << 4) ]; + UINT16 chrgen_addr = ((UINT16)(charcode ^ 0x7f) << 4) | line_in_row; UINT16 pixels; - // TODO: Check if order of bits in "pixels" is ok - if ((ul_line && BIT(attrs , 3)) || (cursor_line && cursor_blink && BIT(attrs , 0))) { pixels = ~0; } else if (char_blink && BIT(attrs , 2)) { pixels = 0; } else if (BIT(attrs , 4)) { - // Optional character generator ROM not installed, it reads as 1 everywhere - pixels = 0x7f << 1; + pixels = (UINT16)(m_optional_chargen[ chrgen_addr ] & 0x7f) << 1; } else { - pixels = (UINT16)(chargen_byte & 0x7f) << 1; + pixels = (UINT16)(m_chargen[ chrgen_addr ] & 0x7f) << 1; } if (BIT(attrs , 1)) { @@ -539,7 +541,7 @@ void hp9845b_state::video_render_buff(unsigned video_scanline , unsigned line_in } for (unsigned j = 0; j < 9; j++) { - bool pixel = (pixels & (1U << (8 - j))) != 0; + bool pixel = (pixels & (1U << j)) != 0; m_bitmap.pix32(video_scanline , i * 9 + j) = pen[ pixel ? 1 : 0 ]; } @@ -1220,8 +1222,10 @@ ROM_END ROM_START( hp9845b ) ROM_REGION(0x800 , "chargen" , 0) - // Don't have the real character generator from HP9845, use the one from HP64000 for now - ROM_LOAD("1818_2668.bin" , 0 , 0x800 , BAD_DUMP CRC(32a52664) SHA1(8b2a49a32510103ff424e8481d5ed9887f609f2f)) + ROM_LOAD("chrgen.bin" , 0 , 0x800 , CRC(fe9e844f) SHA1(0c45ae00766ceba94a19bd5e154bd6d23e208cca)) + + ROM_REGION(0x800 , "optional_chargen" , 0) + ROM_LOAD("optional_chrgen.bin" , 0 , 0x800 , CRC(0ecfa63b) SHA1(c295e6393d1503d903c1d2ce576fa597df9746bf)) ROM_REGION(0x10000, "lpu", ROMREGION_16BIT | ROMREGION_BE) ROM_LOAD("9845-LPU-Standard-Processor.bin", 0, 0x10000, CRC(dc266c1b) SHA1(1cf3267f13872fbbfc035b70f8b4ec6b5923f182)) From 9cefabebcdd84053b29e987f35db93e55747f079 Mon Sep 17 00:00:00 2001 From: Curt Coder Date: Fri, 12 Aug 2016 20:17:23 +0300 Subject: [PATCH 007/116] victor9k: Implemented hires graphics. [Curt Coder] --- src/mame/drivers/victor9k.cpp | 84 +++++++++++++++++++++++------------ src/mame/includes/victor9k.h | 1 + 2 files changed, 57 insertions(+), 28 deletions(-) diff --git a/src/mame/drivers/victor9k.cpp b/src/mame/drivers/victor9k.cpp index 7563b4a37d4..46274813740 100644 --- a/src/mame/drivers/victor9k.cpp +++ b/src/mame/drivers/victor9k.cpp @@ -16,7 +16,6 @@ - RAM cards - clock cards - floppy 8048 - - hires graphics - brightness/contrast - MC6852 - codec sound @@ -86,46 +85,75 @@ INPUT_PORTS_END // MC6845 //------------------------------------------------- -#define CODE_NON_DISPLAY 0x1000 -#define CODE_UNDERLINE 0x2000 -#define CODE_LOW_INTENSITY 0x4000 -#define CODE_REVERSE_VIDEO 0x8000 +#define DC_SECRET 0x1000 +#define DC_UNDLN 0x2000 +#define DC_LOWINT 0x4000 +#define DC_RVS 0x8000 MC6845_UPDATE_ROW( victor9k_state::crtc_update_row ) { + int hires = BIT(ma, 13); + int dot_addr = BIT(ma, 12); + int width = hires ? 16 : 10; + if (hires) x_count = 0x32; + + if (m_hires != hires) + { + m_hires = hires; + m_crtc->set_clock(XTAL_30MHz / width); + m_crtc->set_hpixels_per_column(width); + } + address_space &program = m_maincpu->space(AS_PROGRAM); const rgb_t *palette = m_palette->palette()->entry_list_raw(); + + int x = hbp; - if (BIT(ma, 13)) - { - fatalerror("Graphics mode not supported!\n"); - } - else - { - UINT16 video_ram_addr = (ma & 0xfff) << 1; + offs_t aa = (ma & 0x7ff) << 1; - for (int sx = 0; sx < x_count; sx++) + for (int sx = 0; sx < x_count; sx++) + { + UINT16 dc = (m_video_ram[aa + 1] << 8) | m_video_ram[aa]; + offs_t ab = (dot_addr << 15) | ((dc & 0x7ff) << 4) | (ra & 0x0f); + UINT16 dd = program.read_word(ab << 1); + + int cursor = (sx == cursor_x) ? 1 : 0; + int undln = !((dc & DC_UNDLN) && BIT(dd, 15)) ? 2 : 0; + int rvs = (dc & DC_RVS) ? 4 : 0; + int secret = (dc & DC_SECRET) ? 1 : 0; + int lowint = (dc & DC_LOWINT) ? 1 : 0; + + for (int bit = 0; bit < width; bit++) { - UINT16 code = (m_video_ram[video_ram_addr + 1] << 8) | m_video_ram[video_ram_addr]; - UINT32 char_ram_addr = (BIT(ma, 12) << 16) | ((code & 0xff) << 5) | (ra << 1); - UINT16 data = program.read_word(char_ram_addr); + int pixel; - if (code & CODE_REVERSE_VIDEO) data ^= 0xffff; - if (code & CODE_NON_DISPLAY) data = 0; - if (sx == cursor_x) data = 0xffff; - - for (int x = 0; x <= 10; x++) + switch (rvs | undln | cursor) { - int pixel = BIT(data, x); - int color = palette[pixel && de]; - if (!(code & CODE_LOW_INTENSITY) && color) color = 2; + case 0: case 5: + pixel = 1; + break; - bitmap.pix32(vbp + y, hbp + x + sx*10) = color; + case 1: case 4: + pixel = 0; + break; + + case 2: case 7: + pixel = !(!(BIT(dd, bit) && !secret)); + break; + + case 3: case 6: + pixel = !(BIT(dd, bit) && !secret); + break; } - video_ram_addr += 2; - video_ram_addr &= 0xfff; + int color = palette[pixel && de]; + if (!lowint && color) color = 2; + + bitmap.pix32(vbp + y, x++) = color; } + + aa += 2; + aa &= 0xfff; } } @@ -473,7 +501,7 @@ static MACHINE_CONFIG_START( victor9k, victor9k_state ) MCFG_PALETTE_ADD_MONOCHROME_HIGHLIGHT("palette") - MCFG_MC6845_ADD(HD46505S_TAG, HD6845, SCREEN_TAG, XTAL_30MHz/11) // HD6845 == HD46505S + MCFG_MC6845_ADD(HD46505S_TAG, HD6845, SCREEN_TAG, XTAL_30MHz/10) // HD6845 == HD46505S MCFG_MC6845_SHOW_BORDER_AREA(true) MCFG_MC6845_CHAR_WIDTH(10) MCFG_MC6845_UPDATE_ROW_CB(victor9k_state, crtc_update_row) diff --git a/src/mame/includes/victor9k.h b/src/mame/includes/victor9k.h index c37b5a78d70..ad2ea141464 100644 --- a/src/mame/includes/victor9k.h +++ b/src/mame/includes/victor9k.h @@ -138,6 +138,7 @@ public: // video state int m_brt; int m_cont; + int m_hires; // interrupts int m_via1_irq; From 566b5a2542eb1f1efc485de2ca2394201d25f11f Mon Sep 17 00:00:00 2001 From: David Haywood Date: Fri, 12 Aug 2016 18:52:41 +0100 Subject: [PATCH 008/116] identified some hacks (nw) --- src/mame/drivers/mpu4sw.hxx | 238 ++++++++++++++++++------------------ 1 file changed, 122 insertions(+), 116 deletions(-) diff --git a/src/mame/drivers/mpu4sw.hxx b/src/mame/drivers/mpu4sw.hxx index 6ab88fc4f09..79d82d355f2 100644 --- a/src/mame/drivers/mpu4sw.hxx +++ b/src/mame/drivers/mpu4sw.hxx @@ -980,76 +980,76 @@ GAME_CUSTOM( 199?, m4toot__zb, m4toot, "tot15t", 0x0000, 0x020000, CRC(1 // "(C)1991 BARCREST" and "ER4 0.2" GAME_CUSTOM( 199?, m4eaw, 0, "er4s.p1", 0x0000, 0x010000, CRC(163fc987) SHA1(8e1768ed2fbddbd5e00652ff40614de3978c9567), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER4 0.2)" ) -GAME_CUSTOM( 199?, m4eaw__av, m4eaw, "er4ad.p1", 0x0000, 0x010000, CRC(93fff89d) SHA1(3f90168efa5ecaf7707ef357616638a9d5ab746f), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 59)" ) -GAME_CUSTOM( 199?, m4eaw__aw, m4eaw, "er4b.p1", 0x0000, 0x010000, CRC(cb39fda7) SHA1(4a31d2ff53942a658992a5e13c2b617da5fb03ce), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 60)" ) -GAME_CUSTOM( 199?, m4eaw__ax, m4eaw, "er4bd.p1", 0x0000, 0x010000, CRC(a5e395d7) SHA1(3f134a2ce3788ac84a6de096306c651e6b2d6a4a), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 61)" ) -GAME_CUSTOM( 199?, m4eaw__ay, m4eaw, "er4d.p1", 0x0000, 0x010000, CRC(33612923) SHA1(1129ced207aaf46045f20a1ef1a37af8ec537bb0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 62)" ) -GAME_CUSTOM( 199?, m4eaw__az, m4eaw, "er4dk.p1", 0x0000, 0x010000, CRC(df41d570) SHA1(4a2db04ee51bb811ac3aee5b2c3c1f1a2201f7ec), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 63)" ) -GAME_CUSTOM( 199?, m4eaw__a0, m4eaw, "er4dy.p1", 0x0000, 0x010000, CRC(7df882e6) SHA1(1246220a5ac8a4454a7f3a359a5a00319395095d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 64)" ) -GAME_CUSTOM( 199?, m4eaw__a1, m4eaw, "er4k.p1", 0x0000, 0x010000, CRC(9803cc0d) SHA1(1516c3836919a7a2cc32711a9bf2d3bf3d6b82c0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 65)" ) -GAME_CUSTOM( 199?, m4eaw__a2, m4eaw, "er4y.p1", 0x0000, 0x010000, CRC(d8dece2d) SHA1(8482092434e1e94e6648e402c8b518c2f0fcc28e), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 66)" ) +GAME_CUSTOM( 199?, m4eaw__av, m4eaw, "er4ad.p1", 0x0000, 0x010000, CRC(93fff89d) SHA1(3f90168efa5ecaf7707ef357616638a9d5ab746f), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER4 0.2 AD)" ) +GAME_CUSTOM( 199?, m4eaw__aw, m4eaw, "er4b.p1", 0x0000, 0x010000, CRC(cb39fda7) SHA1(4a31d2ff53942a658992a5e13c2b617da5fb03ce), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER4 0.2 B)" ) +GAME_CUSTOM( 199?, m4eaw__ax, m4eaw, "er4bd.p1", 0x0000, 0x010000, CRC(a5e395d7) SHA1(3f134a2ce3788ac84a6de096306c651e6b2d6a4a), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER4 0.2 BD)" ) +GAME_CUSTOM( 199?, m4eaw__ay, m4eaw, "er4d.p1", 0x0000, 0x010000, CRC(33612923) SHA1(1129ced207aaf46045f20a1ef1a37af8ec537bb0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER4 0.2 D)" ) +GAME_CUSTOM( 199?, m4eaw__az, m4eaw, "er4dk.p1", 0x0000, 0x010000, CRC(df41d570) SHA1(4a2db04ee51bb811ac3aee5b2c3c1f1a2201f7ec), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER4 0.2 KD)" ) +GAME_CUSTOM( 199?, m4eaw__a0, m4eaw, "er4dy.p1", 0x0000, 0x010000, CRC(7df882e6) SHA1(1246220a5ac8a4454a7f3a359a5a00319395095d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER4 0.2 YD)" ) +GAME_CUSTOM( 199?, m4eaw__a1, m4eaw, "er4k.p1", 0x0000, 0x010000, CRC(9803cc0d) SHA1(1516c3836919a7a2cc32711a9bf2d3bf3d6b82c0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER4 0.2 K)" ) +GAME_CUSTOM( 199?, m4eaw__a2, m4eaw, "er4y.p1", 0x0000, 0x010000, CRC(d8dece2d) SHA1(8482092434e1e94e6648e402c8b518c2f0fcc28e), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER4 0.2 Y)" ) // "(C)1991 BARCREST" and "ER4 0.3" (startup is CET 0.3) -GAME_CUSTOM( 199?, m4eaw__j, m4eaw, "cet03s.p1", 0x0000, 0x010000, CRC(bec3ea51) SHA1(740a73da105d8329dc9ceaa5e8c25b305124e2dd), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET0.3 / ER4 0.3)" ) -GAME_CUSTOM( 199?, m4eaw__a, m4eaw, "cet03ad.p1", 0x0000, 0x010000, CRC(33afe7a5) SHA1(5d3bdb74c6babd49e88915282ad81c184bd7aa68), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4eaw__b, m4eaw, "cet03b.p1", 0x0000, 0x010000, CRC(7674e2a5) SHA1(188e683eac91f64fe563b0f09f2b934e709c47fb), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4eaw__c, m4eaw, "cet03bd.p1", 0x0000, 0x010000, CRC(406843a2) SHA1(7d4bf6cd3c5be0f6df687b0ba97b3b88fd377170), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4eaw__d, m4eaw, "cet03d.p1", 0x0000, 0x010000, CRC(2c03d5b6) SHA1(e79fd15b6a05168eb08dcd2b5f7e00d015618a22), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4eaw__e, m4eaw, "cet03dk.p1", 0x0000, 0x010000, CRC(7a81b524) SHA1(71856b90379af946fbc9263f596a16e1701f3564), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4eaw__f, m4eaw, "cet03dr.p1", 0x0000, 0x010000, CRC(63a5622a) SHA1(1e3cf5487623b850598d21c0bb5ef8a0b9dffd4f), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4eaw__g, m4eaw, "cet03dy.p1", 0x0000, 0x010000, CRC(fece4ac4) SHA1(badf4f94d565958fc9f42a443f53ec9624925ee1), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4eaw__h, m4eaw, "cet03k.p1", 0x0000, 0x010000, CRC(f6531a43) SHA1(75ec5c8fc0012fee144daab7761f3717c17fa22d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4eaw__i, m4eaw, "cet03r.p1", 0x0000, 0x010000, CRC(fec4a6c0) SHA1(89fac7e4df77f526d0e357f1874b73be932548ce), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4eaw__k, m4eaw, "cet03y.p1", 0x0000, 0x010000, CRC(63af8e2e) SHA1(97b9dd02bf8a72ca0be7c1a9cb753fbd55644497), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4eaw__j, m4eaw, "cet03s.p1", 0x0000, 0x010000, CRC(bec3ea51) SHA1(740a73da105d8329dc9ceaa5e8c25b305124e2dd), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 / ER4 0.3)" ) +GAME_CUSTOM( 199?, m4eaw__a, m4eaw, "cet03ad.p1", 0x0000, 0x010000, CRC(33afe7a5) SHA1(5d3bdb74c6babd49e88915282ad81c184bd7aa68), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 AD / ER4 0.3)" ) +GAME_CUSTOM( 199?, m4eaw__b, m4eaw, "cet03b.p1", 0x0000, 0x010000, CRC(7674e2a5) SHA1(188e683eac91f64fe563b0f09f2b934e709c47fb), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 B / ER4 0.3)" ) +GAME_CUSTOM( 199?, m4eaw__c, m4eaw, "cet03bd.p1", 0x0000, 0x010000, CRC(406843a2) SHA1(7d4bf6cd3c5be0f6df687b0ba97b3b88fd377170), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 BD / ER4 0.3)" ) +GAME_CUSTOM( 199?, m4eaw__d, m4eaw, "cet03d.p1", 0x0000, 0x010000, CRC(2c03d5b6) SHA1(e79fd15b6a05168eb08dcd2b5f7e00d015618a22), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 D / ER4 0.3)" ) +GAME_CUSTOM( 199?, m4eaw__e, m4eaw, "cet03dk.p1", 0x0000, 0x010000, CRC(7a81b524) SHA1(71856b90379af946fbc9263f596a16e1701f3564), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 KD / ER4 0.3)" ) +GAME_CUSTOM( 199?, m4eaw__f, m4eaw, "cet03dr.p1", 0x0000, 0x010000, CRC(63a5622a) SHA1(1e3cf5487623b850598d21c0bb5ef8a0b9dffd4f), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 RD / ER4 0.3)" ) +GAME_CUSTOM( 199?, m4eaw__g, m4eaw, "cet03dy.p1", 0x0000, 0x010000, CRC(fece4ac4) SHA1(badf4f94d565958fc9f42a443f53ec9624925ee1), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 YD / ER4 0.3)" ) +GAME_CUSTOM( 199?, m4eaw__h, m4eaw, "cet03k.p1", 0x0000, 0x010000, CRC(f6531a43) SHA1(75ec5c8fc0012fee144daab7761f3717c17fa22d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 K / ER4 0.3)" ) +GAME_CUSTOM( 199?, m4eaw__i, m4eaw, "cet03r.p1", 0x0000, 0x010000, CRC(fec4a6c0) SHA1(89fac7e4df77f526d0e357f1874b73be932548ce), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 R / ER4 0.3)" ) +GAME_CUSTOM( 199?, m4eaw__k, m4eaw, "cet03y.p1", 0x0000, 0x010000, CRC(63af8e2e) SHA1(97b9dd02bf8a72ca0be7c1a9cb753fbd55644497), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CET 0.3 Y / ER4 0.3)" ) // "(C)1991 BARCREST" and "ER4 0.2" (startup is CEU 0.2) -GAME_CUSTOM( 199?, m4eaw__u, m4eaw, "ceu02s.p1", 0x0000, 0x010000, CRC(d52099e6) SHA1(10f1acb948fa7c4b547f801ddb5e15111992ca91), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU0.2 / ER4 0.2)" ) -GAME_CUSTOM( 199?, m4eaw__l, m4eaw, "ceu02ad.p1", 0x0000, 0x010000, CRC(5805182c) SHA1(c15ef2e05061fd89944b039f007d92bc4bdf66d5), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4eaw__m, m4eaw, "ceu02b.p1", 0x0000, 0x010000, CRC(cbf62a02) SHA1(20fb16ac4602d4e386e5dc01e1b7e83c459f614d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4eaw__n, m4eaw, "ceu02bd.p1", 0x0000, 0x010000, CRC(6e197566) SHA1(16f44ca77bc02c7eb186c3684b4e837da0d73553), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4eaw__o, m4eaw, "ceu02d.p1", 0x0000, 0x010000, CRC(470cab31) SHA1(f42045f25022cc5e4b07a687f55f7698435b550e), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4eaw__p, m4eaw, "ceu02dk.p1", 0x0000, 0x010000, CRC(bea24ff7) SHA1(1bf8464136732ee8433c73747e854be3c991a2fe), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4eaw__q, m4eaw, "ceu02dr.p1", 0x0000, 0x010000, CRC(3e2e4183) SHA1(e52bca2913509f26af9ca4a93ab2a2bbf74d1ac9), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4eaw__r, m4eaw, "ceu02dy.p1", 0x0000, 0x010000, CRC(a345696d) SHA1(a189eb6a6a6a83fe0d490f4a7c8e9c4c52aa91f7), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4eaw__s, m4eaw, "ceu02k.p1", 0x0000, 0x010000, CRC(0e0a1ba9) SHA1(e1ee2595a3fd4fe874f50dc027f6c931636aadcc), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4eaw__t, m4eaw, "ceu02r.p1", 0x0000, 0x010000, CRC(1a882a6a) SHA1(c966be957e7a78c33a28afd79ba60c69a6de42b8), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4eaw__v, m4eaw, "ceu02y.p1", 0x0000, 0x010000, CRC(87e30284) SHA1(4c598a33b73cfe6338c0f51408f2a6c1abfa978b), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 23)" ) +GAME_CUSTOM( 199?, m4eaw__u, m4eaw, "ceu02s.p1", 0x0000, 0x010000, CRC(d52099e6) SHA1(10f1acb948fa7c4b547f801ddb5e15111992ca91), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 / ER4 0.2)" ) +GAME_CUSTOM( 199?, m4eaw__l, m4eaw, "ceu02ad.p1", 0x0000, 0x010000, CRC(5805182c) SHA1(c15ef2e05061fd89944b039f007d92bc4bdf66d5), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 AD / ER4 0.2)" ) +GAME_CUSTOM( 199?, m4eaw__m, m4eaw, "ceu02b.p1", 0x0000, 0x010000, CRC(cbf62a02) SHA1(20fb16ac4602d4e386e5dc01e1b7e83c459f614d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 B / ER4 0.2)" ) +GAME_CUSTOM( 199?, m4eaw__n, m4eaw, "ceu02bd.p1", 0x0000, 0x010000, CRC(6e197566) SHA1(16f44ca77bc02c7eb186c3684b4e837da0d73553), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 BD / ER4 0.2)" ) +GAME_CUSTOM( 199?, m4eaw__o, m4eaw, "ceu02d.p1", 0x0000, 0x010000, CRC(470cab31) SHA1(f42045f25022cc5e4b07a687f55f7698435b550e), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 D / ER4 0.2)" ) +GAME_CUSTOM( 199?, m4eaw__p, m4eaw, "ceu02dk.p1", 0x0000, 0x010000, CRC(bea24ff7) SHA1(1bf8464136732ee8433c73747e854be3c991a2fe), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 KD / ER4 0.2)" ) +GAME_CUSTOM( 199?, m4eaw__q, m4eaw, "ceu02dr.p1", 0x0000, 0x010000, CRC(3e2e4183) SHA1(e52bca2913509f26af9ca4a93ab2a2bbf74d1ac9), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 RD / ER4 0.2)" ) +GAME_CUSTOM( 199?, m4eaw__r, m4eaw, "ceu02dy.p1", 0x0000, 0x010000, CRC(a345696d) SHA1(a189eb6a6a6a83fe0d490f4a7c8e9c4c52aa91f7), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 YD / ER4 0.2)" ) +GAME_CUSTOM( 199?, m4eaw__s, m4eaw, "ceu02k.p1", 0x0000, 0x010000, CRC(0e0a1ba9) SHA1(e1ee2595a3fd4fe874f50dc027f6c931636aadcc), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 K / ER4 0.2)" ) +GAME_CUSTOM( 199?, m4eaw__t, m4eaw, "ceu02r.p1", 0x0000, 0x010000, CRC(1a882a6a) SHA1(c966be957e7a78c33a28afd79ba60c69a6de42b8), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 R/ ER4 0.2)" ) +GAME_CUSTOM( 199?, m4eaw__v, m4eaw, "ceu02y.p1", 0x0000, 0x010000, CRC(87e30284) SHA1(4c598a33b73cfe6338c0f51408f2a6c1abfa978b), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (CEU 0.2 Y / ER4 0.2)" ) // "(C)1991 BARCREST" and "ER4 0.1" (startup is ENN 0.1) GAME_CUSTOM( 199?, m4eaw__6, m4eaw, "enn01s.p1", 0x0000, 0x010000, CRC(d0ba447d) SHA1(744d5448c5318287e58994b684e116ac1a236f05), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 / ER4 0.1)" ) -GAME_CUSTOM( 199?, m4eaw__w, m4eaw, "enn01ad.p1", 0x0000, 0x010000, CRC(913ba1d6) SHA1(1167ccce2f0b528ec8eba140b1f9c8358fa19f54), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4eaw__x, m4eaw, "enn01b.p1", 0x0000, 0x010000, CRC(76cf750c) SHA1(7f3ede643c5b92d9e313c4450a0d4ef3bd9eefd3), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4eaw__y, m4eaw, "enn01bd.p1", 0x0000, 0x010000, CRC(c6c29211) SHA1(a49759c4c00633405a338eeb89fcb00f7503990c), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4eaw__z, m4eaw, "enn01c.p1", 0x0000, 0x010000, CRC(1ea8f766) SHA1(3f08da014727b50e0375b8470a37c75042b089c6), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4eaw__0, m4eaw, "enn01d.p1", 0x0000, 0x010000, CRC(3691905e) SHA1(131b3384c2399b214fb70670c9945be4afdb470e), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4eaw__1, m4eaw, "enn01dk.p1", 0x0000, 0x010000, CRC(1abb5196) SHA1(952451f637d890a51a2567b5b02826f7647e5deb), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4eaw__2, m4eaw, "enn01dr.p1", 0x0000, 0x010000, CRC(e50fb399) SHA1(5d4d5a933efe7e122e4d0cecab9b7e6f01398a8f), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 30)" ) -GAME_CUSTOM( 199?, m4eaw__3, m4eaw, "enn01dy.p1", 0x0000, 0x010000, CRC(be3e5901) SHA1(ea3f366724135682da7cddad3c82e5f4c434f4a9), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 31)" ) -GAME_CUSTOM( 199?, m4eaw__4, m4eaw, "enn01k.p1", 0x0000, 0x010000, CRC(273d7b10) SHA1(5577355c918407e548266a16b225e8a4f58c921c), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 32)" ) -GAME_CUSTOM( 199?, m4eaw__5, m4eaw, "enn01r.p1", 0x0000, 0x010000, CRC(aee3f31e) SHA1(72676bc6b3bc287bf3bd3e7719848b40aa1b3627), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 33)" ) -GAME_CUSTOM( 199?, m4eaw__7, m4eaw, "enn01y.p1", 0x0000, 0x010000, CRC(91a73867) SHA1(5197fcd5bf3dc036095b8291d7b23776995d84d1), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 35)" ) +GAME_CUSTOM( 199?, m4eaw__w, m4eaw, "enn01ad.p1", 0x0000, 0x010000, CRC(913ba1d6) SHA1(1167ccce2f0b528ec8eba140b1f9c8358fa19f54), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 AD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__x, m4eaw, "enn01b.p1", 0x0000, 0x010000, CRC(76cf750c) SHA1(7f3ede643c5b92d9e313c4450a0d4ef3bd9eefd3), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 B / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__y, m4eaw, "enn01bd.p1", 0x0000, 0x010000, CRC(c6c29211) SHA1(a49759c4c00633405a338eeb89fcb00f7503990c), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 BD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__z, m4eaw, "enn01c.p1", 0x0000, 0x010000, CRC(1ea8f766) SHA1(3f08da014727b50e0375b8470a37c75042b089c6), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 C / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__0, m4eaw, "enn01d.p1", 0x0000, 0x010000, CRC(3691905e) SHA1(131b3384c2399b214fb70670c9945be4afdb470e), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 D / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__1, m4eaw, "enn01dk.p1", 0x0000, 0x010000, CRC(1abb5196) SHA1(952451f637d890a51a2567b5b02826f7647e5deb), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 KD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__2, m4eaw, "enn01dr.p1", 0x0000, 0x010000, CRC(e50fb399) SHA1(5d4d5a933efe7e122e4d0cecab9b7e6f01398a8f), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 RD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__3, m4eaw, "enn01dy.p1", 0x0000, 0x010000, CRC(be3e5901) SHA1(ea3f366724135682da7cddad3c82e5f4c434f4a9), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 YD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__4, m4eaw, "enn01k.p1", 0x0000, 0x010000, CRC(273d7b10) SHA1(5577355c918407e548266a16b225e8a4f58c921c), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 K / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__5, m4eaw, "enn01r.p1", 0x0000, 0x010000, CRC(aee3f31e) SHA1(72676bc6b3bc287bf3bd3e7719848b40aa1b3627), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 R / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__7, m4eaw, "enn01y.p1", 0x0000, 0x010000, CRC(91a73867) SHA1(5197fcd5bf3dc036095b8291d7b23776995d84d1), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ENN 0.1 Y / ER4 0.1)" ) // "(C)1991 BARCREST" and "ER4 0.1" (startup is EON 0.1) GAME_CUSTOM( 199?, m4eaw__ai, m4eaw, "eon01s.p1", 0x0000, 0x010000, CRC(e2e9ce10) SHA1(41a08b17285d6591b4a5cb6b1b6cc40ee7d35f01), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 / ER4 0.1)" ) -GAME_CUSTOM( 199?, m4eaw__8, m4eaw, "eon01ad.p1", 0x0000, 0x010000, CRC(998b0e8d) SHA1(f2d0c43073d76d662c3a997b1fd081016e4c7a7d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 36)" ) -GAME_CUSTOM( 199?, m4eaw__9, m4eaw, "eon01b.p1", 0x0000, 0x010000, CRC(66f281db) SHA1(b9bd37c53ab7c8838ec87062c8b9da39779b9fa9), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 37)" ) -GAME_CUSTOM( 199?, m4eaw__aa, m4eaw, "eon01bd.p1", 0x0000, 0x010000, CRC(66a378ca) SHA1(6639f36df67af8bdd381ad3e16e0adc78a4552f4), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 38)" ) -GAME_CUSTOM( 199?, m4eaw__ab, m4eaw, "eon01c.p1", 0x0000, 0x010000, CRC(d02e2c30) SHA1(34f1be5f49d50f468bffc425fa2e9d0f8afcf70b), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 39)" ) -GAME_CUSTOM( 199?, m4eaw__ac, m4eaw, "eon01d.p1", 0x0000, 0x010000, CRC(a2752f68) SHA1(3a47ced5259c6f690b03c3a884f1d25bd68e0d3f), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 40)" ) -GAME_CUSTOM( 199?, m4eaw__ad, m4eaw, "eon01dk.p1", 0x0000, 0x010000, CRC(efd60656) SHA1(9383a7b183266f75edd3ae519e8dfff858f015c4), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 41)" ) -GAME_CUSTOM( 199?, m4eaw__ae, m4eaw, "eon01dr.p1", 0x0000, 0x010000, CRC(1062e459) SHA1(de334cdecde0dd414e016e11a54720dee903393c), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 42)" ) -GAME_CUSTOM( 199?, m4eaw__af, m4eaw, "eon01dy.p1", 0x0000, 0x010000, CRC(d5a39761) SHA1(9b69f9e45d87f53196e5d4fd595300beb573ff49), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 43)" ) -GAME_CUSTOM( 199?, m4eaw__ag, m4eaw, "eon01k.p1", 0x0000, 0x010000, CRC(1d34dea7) SHA1(546db8247d0c78501fe4ec818d614e8f451b0076), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 44)" ) -GAME_CUSTOM( 199?, m4eaw__ah, m4eaw, "eon01r.p1", 0x0000, 0x010000, CRC(7c70a508) SHA1(2c5835f36ef4c215ff9f6f6cc350f0916b397b7b), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 45)" ) -GAME_CUSTOM( 199?, m4eaw__aj, m4eaw, "eon01y.p1", 0x0000, 0x010000, CRC(ddc4f7d1) SHA1(bbc21ba153541df1507e01d4a25a1a669c8eab62), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 47)" ) +GAME_CUSTOM( 199?, m4eaw__8, m4eaw, "eon01ad.p1", 0x0000, 0x010000, CRC(998b0e8d) SHA1(f2d0c43073d76d662c3a997b1fd081016e4c7a7d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 AD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__9, m4eaw, "eon01b.p1", 0x0000, 0x010000, CRC(66f281db) SHA1(b9bd37c53ab7c8838ec87062c8b9da39779b9fa9), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 B / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__aa, m4eaw, "eon01bd.p1", 0x0000, 0x010000, CRC(66a378ca) SHA1(6639f36df67af8bdd381ad3e16e0adc78a4552f4), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 BD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__ab, m4eaw, "eon01c.p1", 0x0000, 0x010000, CRC(d02e2c30) SHA1(34f1be5f49d50f468bffc425fa2e9d0f8afcf70b), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 C / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__ac, m4eaw, "eon01d.p1", 0x0000, 0x010000, CRC(a2752f68) SHA1(3a47ced5259c6f690b03c3a884f1d25bd68e0d3f), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 D / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__ad, m4eaw, "eon01dk.p1", 0x0000, 0x010000, CRC(efd60656) SHA1(9383a7b183266f75edd3ae519e8dfff858f015c4), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 KD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__ae, m4eaw, "eon01dr.p1", 0x0000, 0x010000, CRC(1062e459) SHA1(de334cdecde0dd414e016e11a54720dee903393c), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 RD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__af, m4eaw, "eon01dy.p1", 0x0000, 0x010000, CRC(d5a39761) SHA1(9b69f9e45d87f53196e5d4fd595300beb573ff49), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 YD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__ag, m4eaw, "eon01k.p1", 0x0000, 0x010000, CRC(1d34dea7) SHA1(546db8247d0c78501fe4ec818d614e8f451b0076), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 K / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__ah, m4eaw, "eon01r.p1", 0x0000, 0x010000, CRC(7c70a508) SHA1(2c5835f36ef4c215ff9f6f6cc350f0916b397b7b), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 R / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__aj, m4eaw, "eon01y.p1", 0x0000, 0x010000, CRC(ddc4f7d1) SHA1(bbc21ba153541df1507e01d4a25a1a669c8eab62), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EON 0.1 Y / ER4 0.1)" ) // "(C)1991 BARCREST" and "ER2 0.1" GAME_CUSTOM( 199?, m4eaw__at, m4eaw, "er2s.p1", 0x0000, 0x010000, CRC(bfee8157) SHA1(3ce5a2ec16f06c753a054a9f645efbcd26f411ab), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1)" ) -GAME_CUSTOM( 199?, m4eaw__ak, m4eaw, "er2ad.p1", 0x0000, 0x010000, CRC(4e5fcc8b) SHA1(8176ca01ad49f39e1337a085cf3a1fd33803c517), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 48)" ) -GAME_CUSTOM( 199?, m4eaw__al, m4eaw, "er2b.p1", 0x0000, 0x010000, CRC(999c6510) SHA1(bc70b88183df84ea0e18e1017ab9d74545ce7588), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 49)" ) -GAME_CUSTOM( 199?, m4eaw__am, m4eaw, "er2bd.p1", 0x0000, 0x010000, CRC(3f50573a) SHA1(46527b08d751372df09d61fd67054600b6e933f3), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 50)" ) -GAME_CUSTOM( 199?, m4eaw__an, m4eaw, "er2d.p1", 0x0000, 0x010000, CRC(6c625759) SHA1(65de484632317b7bd1372f20e7cbdedc85a90ea4), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 51)" ) -GAME_CUSTOM( 199?, m4eaw__ao, m4eaw, "er2dk.p1", 0x0000, 0x010000, CRC(e1e1ab0b) SHA1(353863e2ef1e778b7fce035ae725053fb95c300e), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 52)" ) -GAME_CUSTOM( 199?, m4eaw__ap, m4eaw, "er2dr.p1", 0x0000, 0x010000, CRC(0d2e1d3f) SHA1(f75f6cf9e0ce6ccf36df83e18f03fc1485242c88), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 53)" ) -GAME_CUSTOM( 199?, m4eaw__aq, m4eaw, "er2dy.p1", 0x0000, 0x010000, CRC(f20c4b31) SHA1(744ce6065b3bea3a0c128a4848282cbca2bc8056), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 54)" ) -GAME_CUSTOM( 199?, m4eaw__ar, m4eaw, "er2k.p1", 0x0000, 0x010000, CRC(2c3661bb) SHA1(5f5a6b47dacdb2184d3ac9646da616283743fcbf), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 55)" ) -GAME_CUSTOM( 199?, m4eaw__as, m4eaw, "er2r.p1", 0x0000, 0x010000, CRC(cb636e43) SHA1(44df3adc1d5af4c1930596f34f41884e7731be62), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 56)" ) -GAME_CUSTOM( 199?, m4eaw__au, m4eaw, "er2y.p1", 0x0000, 0x010000, CRC(91369b00) SHA1(7427fcf9e350bc9a3883577de5ee4a4ab5ff63b0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 58)" ) +GAME_CUSTOM( 199?, m4eaw__ak, m4eaw, "er2ad.p1", 0x0000, 0x010000, CRC(4e5fcc8b) SHA1(8176ca01ad49f39e1337a085cf3a1fd33803c517), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 AD)" ) +GAME_CUSTOM( 199?, m4eaw__al, m4eaw, "er2b.p1", 0x0000, 0x010000, CRC(999c6510) SHA1(bc70b88183df84ea0e18e1017ab9d74545ce7588), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 B)" ) +GAME_CUSTOM( 199?, m4eaw__am, m4eaw, "er2bd.p1", 0x0000, 0x010000, CRC(3f50573a) SHA1(46527b08d751372df09d61fd67054600b6e933f3), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 BD)" ) +GAME_CUSTOM( 199?, m4eaw__an, m4eaw, "er2d.p1", 0x0000, 0x010000, CRC(6c625759) SHA1(65de484632317b7bd1372f20e7cbdedc85a90ea4), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 D)" ) +GAME_CUSTOM( 199?, m4eaw__ao, m4eaw, "er2dk.p1", 0x0000, 0x010000, CRC(e1e1ab0b) SHA1(353863e2ef1e778b7fce035ae725053fb95c300e), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 KD)" ) +GAME_CUSTOM( 199?, m4eaw__ap, m4eaw, "er2dr.p1", 0x0000, 0x010000, CRC(0d2e1d3f) SHA1(f75f6cf9e0ce6ccf36df83e18f03fc1485242c88), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 RD)" ) +GAME_CUSTOM( 199?, m4eaw__aq, m4eaw, "er2dy.p1", 0x0000, 0x010000, CRC(f20c4b31) SHA1(744ce6065b3bea3a0c128a4848282cbca2bc8056), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 YD)" ) +GAME_CUSTOM( 199?, m4eaw__ar, m4eaw, "er2k.p1", 0x0000, 0x010000, CRC(2c3661bb) SHA1(5f5a6b47dacdb2184d3ac9646da616283743fcbf), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 K)" ) +GAME_CUSTOM( 199?, m4eaw__as, m4eaw, "er2r.p1", 0x0000, 0x010000, CRC(cb636e43) SHA1(44df3adc1d5af4c1930596f34f41884e7731be62), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 R)" ) +GAME_CUSTOM( 199?, m4eaw__au, m4eaw, "er2y.p1", 0x0000, 0x010000, CRC(91369b00) SHA1(7427fcf9e350bc9a3883577de5ee4a4ab5ff63b0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 Y)" ) // "(C)1991 BARCREST" and "ER8 0.1" GAME_CUSTOM( 199?, m4eaw__a9, m4eaw, "er8s.p1", 0x0000, 0x010000, CRC(5d36bbc6) SHA1(4d0cd8e939f22d919671dc97c3d97bf6191e738f), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1)" ) GAME_CUSTOM( 199?, m4eaw__a3, m4eaw, "er8ad.p1", 0x0000, 0x010000, CRC(ba059e06) SHA1(f6bb9092c9d18bccde111f8e20e79b8b4e6d8593), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 67)" ) @@ -2136,23 +2136,24 @@ GAME_CUSTOM( 199?, m4vivaes__j, m4vivaes, "5p5vivaespana6-0.bin", 0x0000, 0 ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4potblk, 0, "pbg16s.p1", 0x0000, 0x020000, CRC(36a1c679) SHA1(bf2eb5c2a07e61b7a2c0d8402b0e0583adfa22dc), "Barcrest","Pot Black (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4potblk__q, m4potblk, "pbg16ad.p1", 0x0000, 0x020000, CRC(919e90ba) SHA1(b32459b394595a5c3d238c6eec47c7d4d34fcdf8), "Barcrest","Pot Black (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4potblk__r, m4potblk, "pbg16b.p1", 0x0000, 0x020000, CRC(db445653) SHA1(145af560641f9becb6d98c2f157f94b0fdd6459c), "Barcrest","Pot Black (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4potblk__s, m4potblk, "pbg16bd.p1", 0x0000, 0x020000, CRC(db5938ec) SHA1(323f190c62f23b8092274dd17f07198f53abc828), "Barcrest","Pot Black (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4potblk__t, m4potblk, "pbg16d.p1", 0x0000, 0x020000, CRC(f8d7a418) SHA1(81a2d020ec03574b041b9be0b8ed96386804f4af), "Barcrest","Pot Black (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4potblk__u, m4potblk, "pbg16dh.p1", 0x0000, 0x020000, CRC(a642339a) SHA1(104b405923b71d69bc996dced4dc284d41397c5f), "Barcrest","Pot Black (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4potblk__v, m4potblk, "pbg16dk.p1", 0x0000, 0x020000, CRC(22912b8b) SHA1(cdbaaf0509fb6115182c8ac79002e1d983bcc765), "Barcrest","Pot Black (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4potblk__w, m4potblk, "pbg16dr.p1", 0x0000, 0x020000, CRC(b87ff532) SHA1(d64d4733523d4afe5b4e3ca5f2c33ee8d4ab1c2b), "Barcrest","Pot Black (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4potblk__x, m4potblk, "pbg16dy.p1", 0x0000, 0x020000, CRC(167db044) SHA1(291982c6af2486724be32b8f41ee66d699afad22), "Barcrest","Pot Black (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4potblk__y, m4potblk, "pbg16h.p1", 0x0000, 0x020000, CRC(a65f5d25) SHA1(6ea4bc92ecf849653c1abbb5c1e1d97d0e58a373), "Barcrest","Pot Black (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4potblk__z, m4potblk, "pbg16k.p1", 0x0000, 0x020000, CRC(228c4534) SHA1(e4a4e7ec059e4da568c507d8f1f006c04e1c13c4), "Barcrest","Pot Black (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4potblk__0, m4potblk, "pbg16r.p1", 0x0000, 0x020000, CRC(b8629b8d) SHA1(08fc4498b45f2e939c4c465d4d979aa4532b5ce4), "Barcrest","Pot Black (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4potblk__1, m4potblk, "pbg16y.p1", 0x0000, 0x020000, CRC(1660defb) SHA1(9f6112759b029e71056a92137f890910b6afb708), "Barcrest","Pot Black (Barcrest) (MPU4) (set 29)" ) - -GAME_CUSTOM( 199?, m4potblk__c, m4potblk, "pbg14s.p1", 0x0000, 0x020000, CRC(c9316c92) SHA1(d9248069c4702d4ce780ab82bdb783ba5aea034b), "Barcrest","Pot Black (Barcrest) (MPU4) (set 4)" ) - -GAME_CUSTOM( 199?, m4potblk__o, m4potblk, "pbg15s.p1", 0x0000, 0x020000, CRC(f31c9a6a) SHA1(f2c7dceaabbe0689227f2c59d063ac20403eae1d), "Barcrest","Pot Black (Barcrest) (MPU4) (set 16)" ) +//"(C)1993 BARCREST" and "PBG 1.6" +GAME_CUSTOM( 199?, m4potblk, 0, "pbg16s.p1", 0x0000, 0x020000, CRC(36a1c679) SHA1(bf2eb5c2a07e61b7a2c0d8402b0e0583adfa22dc), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6)" ) +GAME_CUSTOM( 199?, m4potblk__q, m4potblk, "pbg16ad.p1", 0x0000, 0x020000, CRC(919e90ba) SHA1(b32459b394595a5c3d238c6eec47c7d4d34fcdf8), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 AD)" ) +GAME_CUSTOM( 199?, m4potblk__r, m4potblk, "pbg16b.p1", 0x0000, 0x020000, CRC(db445653) SHA1(145af560641f9becb6d98c2f157f94b0fdd6459c), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 B)" ) +GAME_CUSTOM( 199?, m4potblk__s, m4potblk, "pbg16bd.p1", 0x0000, 0x020000, CRC(db5938ec) SHA1(323f190c62f23b8092274dd17f07198f53abc828), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 BD)" ) +GAME_CUSTOM( 199?, m4potblk__t, m4potblk, "pbg16d.p1", 0x0000, 0x020000, CRC(f8d7a418) SHA1(81a2d020ec03574b041b9be0b8ed96386804f4af), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 D)" ) +GAME_CUSTOM( 199?, m4potblk__u, m4potblk, "pbg16dh.p1", 0x0000, 0x020000, CRC(a642339a) SHA1(104b405923b71d69bc996dced4dc284d41397c5f), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 DH)" ) +GAME_CUSTOM( 199?, m4potblk__v, m4potblk, "pbg16dk.p1", 0x0000, 0x020000, CRC(22912b8b) SHA1(cdbaaf0509fb6115182c8ac79002e1d983bcc765), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 KD)" ) +GAME_CUSTOM( 199?, m4potblk__w, m4potblk, "pbg16dr.p1", 0x0000, 0x020000, CRC(b87ff532) SHA1(d64d4733523d4afe5b4e3ca5f2c33ee8d4ab1c2b), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 RD)" ) +GAME_CUSTOM( 199?, m4potblk__x, m4potblk, "pbg16dy.p1", 0x0000, 0x020000, CRC(167db044) SHA1(291982c6af2486724be32b8f41ee66d699afad22), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 YD)" ) +GAME_CUSTOM( 199?, m4potblk__y, m4potblk, "pbg16h.p1", 0x0000, 0x020000, CRC(a65f5d25) SHA1(6ea4bc92ecf849653c1abbb5c1e1d97d0e58a373), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 H)" ) +GAME_CUSTOM( 199?, m4potblk__z, m4potblk, "pbg16k.p1", 0x0000, 0x020000, CRC(228c4534) SHA1(e4a4e7ec059e4da568c507d8f1f006c04e1c13c4), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 K)" ) +GAME_CUSTOM( 199?, m4potblk__0, m4potblk, "pbg16r.p1", 0x0000, 0x020000, CRC(b8629b8d) SHA1(08fc4498b45f2e939c4c465d4d979aa4532b5ce4), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 R)" ) +GAME_CUSTOM( 199?, m4potblk__1, m4potblk, "pbg16y.p1", 0x0000, 0x020000, CRC(1660defb) SHA1(9f6112759b029e71056a92137f890910b6afb708), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.6 Y)" ) +// "(C)1993 BARCREST" and "PBG 1.4" +GAME_CUSTOM( 199?, m4potblk__c, m4potblk, "pbg14s.p1", 0x0000, 0x020000, CRC(c9316c92) SHA1(d9248069c4702d4ce780ab82bdb783ba5aea034b), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.4)" ) +// "(C)1993 BARCREST" and "PBG 1.5" +GAME_CUSTOM( 199?, m4potblk__o, m4potblk, "pbg15s.p1", 0x0000, 0x020000, CRC(f31c9a6a) SHA1(f2c7dceaabbe0689227f2c59d063ac20403eae1d), "Barcrest","Pot Black (Barcrest) (MPU4) (PBG 1.5)" ) GAME_CUSTOM( 199?, m4potblk__d, m4potblk, "pbg15ad.p1", 0x0000, 0x020000, CRC(ded4ba89) SHA1(f8b4727987bef1e74894df4e7549d3c28ba4de98), "Barcrest","Pot Black (Barcrest) (MPU4) (set 5)" ) GAME_CUSTOM( 199?, m4potblk__e, m4potblk, "pbg15b.p1", 0x0000, 0x020000, CRC(5a6570be) SHA1(f44e4511cc0c0f410104f9a36ae51b3972bd4522), "Barcrest","Pot Black (Barcrest) (MPU4) (set 6)" ) GAME_CUSTOM( 199?, m4potblk__f, m4potblk, "pbg15bd.p1", 0x0000, 0x020000, CRC(941312df) SHA1(51ec4052cfaa245873146d0ecb8834be5cc22db2), "Barcrest","Pot Black (Barcrest) (MPU4) (set 7)" ) @@ -2165,8 +2166,8 @@ GAME_CUSTOM( 199?, m4potblk__l, m4potblk, "pbg15h.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4potblk__m, m4potblk, "pbg15k.p1", 0x0000, 0x020000, CRC(a3ad63d9) SHA1(0e65ff6ae02bd42cb1b3c9249ac85dc13b4eb8ad), "Barcrest","Pot Black (Barcrest) (MPU4) (set 14)" ) GAME_CUSTOM( 199?, m4potblk__n, m4potblk, "pbg15r.p1", 0x0000, 0x020000, CRC(3943bd60) SHA1(cfcd1e2b76f592e3bc5b8ed33af66ad183e829e1), "Barcrest","Pot Black (Barcrest) (MPU4) (set 15)" ) GAME_CUSTOM( 199?, m4potblk__p, m4potblk, "pbg15y.p1", 0x0000, 0x020000, CRC(9741f816) SHA1(52482fed48574582ed48424666284695fe661880), "Barcrest","Pot Black (Barcrest) (MPU4) (set 17)" ) - -GAME_CUSTOM( 199?, m4potblk__ad, m4potblk, "pbs04s.p1", 0x0000, 0x020000, CRC(b4a7eaac) SHA1(295b793802a6145758861142133ced98f2258119), "Barcrest","Pot Black (Barcrest) (MPU4) (set 41)" ) +// "(C)1993 BARCREST" and "PBS 0.4" +GAME_CUSTOM( 199?, m4potblk__ad, m4potblk, "pbs04s.p1", 0x0000, 0x020000, CRC(b4a7eaac) SHA1(295b793802a6145758861142133ced98f2258119), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.4)" ) GAME_CUSTOM( 199?, m4potblk__2, m4potblk, "pbs04ad.p1", 0x0000, 0x020000, CRC(c4fedb7d) SHA1(1ce1e524bd11e775c0f8498849c1d9ca41fcf912), "Barcrest","Pot Black (Barcrest) (MPU4) (set 30)" ) GAME_CUSTOM( 199?, m4potblk__3, m4potblk, "pbs04b.p1", 0x0000, 0x020000, CRC(f1fcaf2d) SHA1(786513cbfdde2f37c6ab3649781bc7c70bbdfb61), "Barcrest","Pot Black (Barcrest) (MPU4) (set 31)" ) GAME_CUSTOM( 199?, m4potblk__4, m4potblk, "pbs04bd.p1", 0x0000, 0x020000, CRC(49e475b8) SHA1(95548a22c67bd8df6df05503b6318b15bd84bb7a), "Barcrest","Pot Black (Barcrest) (MPU4) (set 32)" ) @@ -2179,8 +2180,8 @@ GAME_CUSTOM( 199?, m4potblk__aa, m4potblk, "pbs04h.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4potblk__ab, m4potblk, "pbs04k.p1", 0x0000, 0x020000, CRC(bb3b077b) SHA1(584fd9f1578c61e1a1c30068c42b16716c5d490f), "Barcrest","Pot Black (Barcrest) (MPU4) (set 39)" ) GAME_CUSTOM( 199?, m4potblk__ac, m4potblk, "pbs04r.p1", 0x0000, 0x020000, CRC(0834bc4a) SHA1(0064b1ec9db506c4dd14ed7ffeffa08bebc117b1), "Barcrest","Pot Black (Barcrest) (MPU4) (set 40)" ) GAME_CUSTOM( 199?, m4potblk__ae, m4potblk, "pbs04y.p1", 0x0000, 0x020000, CRC(3cd82785) SHA1(fb2cb5acfc60d0896da9c22b7a9370e7c0271cf7), "Barcrest","Pot Black (Barcrest) (MPU4) (set 42)" ) - -GAME_CUSTOM( 199?, m4potblk__ar, m4potblk, "pbs06s.p1", 0x0000, 0x020000, CRC(d2b42b29) SHA1(a077605b1f9f3082a03882b4f5b360a530a97135), "Barcrest","Pot Black (Barcrest) (MPU4) (set 55)" ) +// "(C)1993 BARCREST" and "PBS 0.6" +GAME_CUSTOM( 199?, m4potblk__ar, m4potblk, "pbs06s.p1", 0x0000, 0x020000, CRC(d2b42b29) SHA1(a077605b1f9f3082a03882b4f5b360a530a97135), "Barcrest","Pot Black (Barcrest) (MPU4) (PBS 0.6)" ) GAME_CUSTOM( 199?, m4potblk__af, m4potblk, "pbs06ad.p1", 0x0000, 0x020000, CRC(6344d6c7) SHA1(7c01149d9f21a15b1067a42d3f8def2868f15181), "Barcrest","Pot Black (Barcrest) (MPU4) (set 43)" ) GAME_CUSTOM( 199?, m4potblk__ag, m4potblk, "pbs06b.p1", 0x0000, 0x020000, CRC(2056d268) SHA1(ac978d59ff3cead2678d56579e404eb7494ab957), "Barcrest","Pot Black (Barcrest) (MPU4) (set 44)" ) GAME_CUSTOM( 199?, m4potblk__ah, m4potblk, "pbs06bd.p1", 0x0000, 0x020000, CRC(ee5e7802) SHA1(568b6b2e6d58ee766a74badb60118dc0899b8b68), "Barcrest","Pot Black (Barcrest) (MPU4) (set 45)" ) @@ -2194,15 +2195,17 @@ GAME_CUSTOM( 199?, m4potblk__ao, m4potblk, "pbs06h.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4potblk__ap, m4potblk, "pbs06k.p1", 0x0000, 0x020000, CRC(6a917a3e) SHA1(b8e6fb7ea83c5a363fdd756a5479a51d15cb246d), "Barcrest","Pot Black (Barcrest) (MPU4) (set 53)" ) GAME_CUSTOM( 199?, m4potblk__aq, m4potblk, "pbs06r.p1", 0x0000, 0x020000, CRC(d99ec10f) SHA1(62ffc2772495fd165b2ad9f76a54154f51464394), "Barcrest","Pot Black (Barcrest) (MPU4) (set 54)" ) GAME_CUSTOM( 199?, m4potblk__as, m4potblk, "pbs06y.p1", 0x0000, 0x020000, CRC(ed725ac0) SHA1(4c2c38e1c2ce7e15c409e06b6f21410f04b70348), "Barcrest","Pot Black (Barcrest) (MPU4) (set 56)" ) - -GAME_CUSTOM( 199?, m4potblk__at, m4potblk, "po_x6__5.1_1", 0x0000, 0x020000, CRC(1fe40fd1) SHA1(5e16ff5b1019d83c1f40d63f89c16030dae0ab11), "Barcrest","Pot Black (Barcrest) (MPU4) (set 57)" ) -GAME_CUSTOM( 199?, m4potblk__au, m4potblk, "po_x6__t.1_1", 0x0000, 0x020000, CRC(c9314f6e) SHA1(4f9226883f9e1963c568eea327775688fb966431), "Barcrest","Pot Black (Barcrest) (MPU4) (set 58)" ) -GAME_CUSTOM( 199?, m4potblk__av, m4potblk, "po_x6_d5.1_1", 0x0000, 0x020000, CRC(404d5a99) SHA1(7a846df3b7f9f0108d84e4a4c2d199e5971b6375), "Barcrest","Pot Black (Barcrest) (MPU4) (set 59)" ) -GAME_CUSTOM( 199?, m4potblk__aw, m4potblk, "po_x6_dt.1_1", 0x0000, 0x020000, CRC(7213fd77) SHA1(07482cb54d4f03aad62c54d66322f7101f6c8dcf), "Barcrest","Pot Black (Barcrest) (MPU4) (set 60)" ) -GAME_CUSTOM( 199?, m4potblk__ax, m4potblk, "po_x6a_t.1_1", 0x0000, 0x020000, CRC(1b47a76a) SHA1(3587e4c0b50e359529e132376af3cd239194db31), "Barcrest","Pot Black (Barcrest) (MPU4) (set 61)" ) - -GAME_CUSTOM( 199?, m4potblk__a, m4potblk, "pb15g", 0x0000, 0x020000, CRC(650a54be) SHA1(80a5bb95857c911c1972f8be5bf794637cb02323), "Barcrest","Pot Black (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4potblk__b, m4potblk, "pb15t", 0x0000, 0x020000, CRC(98628744) SHA1(1a0df7036c36f3b87d5a239e1c9edfd7c74d2ae8), "Barcrest","Pot Black (Barcrest) (MPU4) (set 3)" ) +// "(C)1997 B.W.B." and "PO 1.2" +GAME_CUSTOM( 199?, m4potblk__at, m4potblk, "po_x6__5.1_1", 0x0000, 0x020000, CRC(1fe40fd1) SHA1(5e16ff5b1019d83c1f40d63f89c16030dae0ab11), "Bwb","Pot Black (Barcrest) (MPU4) (PO 1.2)" ) +GAME_CUSTOM( 199?, m4potblk__av, m4potblk, "po_x6_d5.1_1", 0x0000, 0x020000, CRC(404d5a99) SHA1(7a846df3b7f9f0108d84e4a4c2d199e5971b6375), "Bwb","Pot Black (Barcrest) (MPU4) (PO 1.2 D)" ) +// "(C)1997 B.W.B." and "PO 1.1" +GAME_CUSTOM( 199?, m4potblk__au, m4potblk, "po_x6__t.1_1", 0x0000, 0x020000, CRC(c9314f6e) SHA1(4f9226883f9e1963c568eea327775688fb966431), "Bwb","Pot Black (Barcrest) (MPU4) (PO 1.1)" ) +GAME_CUSTOM( 199?, m4potblk__aw, m4potblk, "po_x6_dt.1_1", 0x0000, 0x020000, CRC(7213fd77) SHA1(07482cb54d4f03aad62c54d66322f7101f6c8dcf), "Bwb","Pot Black (Barcrest) (MPU4) (PO 1.1 D)" ) +GAME_CUSTOM( 199?, m4potblk__ax, m4potblk, "po_x6a_t.1_1", 0x0000, 0x020000, CRC(1b47a76a) SHA1(3587e4c0b50e359529e132376af3cd239194db31), "Bwb","Pot Black (Barcrest) (MPU4) (PO 1.1 K)" ) +// no copyright string and "PBG 1.5" +GAME_CUSTOM( 199?, m4potblk__a, m4potblk, "pb15g", 0x0000, 0x020000, CRC(650a54be) SHA1(80a5bb95857c911c1972f8be5bf794637cb02323), "hack","Pot Black (Barcrest) (MPU4) (PBG 1.5 Y, hack)" ) +// no copyright string and "PBS 0.4" +GAME_CUSTOM( 199?, m4potblk__b, m4potblk, "pb15t", 0x0000, 0x020000, CRC(98628744) SHA1(1a0df7036c36f3b87d5a239e1c9edfd7c74d2ae8), "hack","Pot Black (Barcrest) (MPU4) (PBS 0.4 C, hack)" ) #define M4PLACBT_EXTRA_ROMS \ @@ -2220,8 +2223,8 @@ GAME_CUSTOM( 199?, m4potblk__b, m4potblk, "pb15t", 0x0000, 0x020000, ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) - -GAME_CUSTOM( 199?, m4placbt, 0, "pyb07s.p1", 0x0000, 0x020000, CRC(ad02705a) SHA1(027bcbbd828e4fd23831af9554d582857e6784e1), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "PYB 0.7" +GAME_CUSTOM( 199?, m4placbt, 0, "pyb07s.p1", 0x0000, 0x020000, CRC(ad02705a) SHA1(027bcbbd828e4fd23831af9554d582857e6784e1), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.7)" ) GAME_CUSTOM( 199?, m4placbt__m, m4placbt, "pyb07ad.p1", 0x0000, 0x020000, CRC(427a7489) SHA1(fb0a24da5ef7a948152e8180968aaaebbd85afa0), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 14)" ) GAME_CUSTOM( 199?, m4placbt__n, m4placbt, "pyb07b.p1", 0x0000, 0x020000, CRC(35cdf803) SHA1(94953da72c2ee8792f53bf677483ffed15d4709c), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 15)" ) GAME_CUSTOM( 199?, m4placbt__o, m4placbt, "pyb07bd.p1", 0x0000, 0x020000, CRC(cf60da4c) SHA1(8667308f750e944894f68f20b70d42244b751e22), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 16)" ) @@ -2233,8 +2236,8 @@ GAME_CUSTOM( 199?, m4placbt__t, m4placbt, "pyb07dy.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4placbt__u, m4placbt, "pyb07k.p1", 0x0000, 0x020000, CRC(7f0a5055) SHA1(5620d8a3333f2f56ea24bcecf1a791e6ee0f43d9), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 22)" ) GAME_CUSTOM( 199?, m4placbt__v, m4placbt, "pyb07r.p1", 0x0000, 0x020000, CRC(cc05eb64) SHA1(1329decc84de231e8c1929f057233b25cc8b5942), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 23)" ) GAME_CUSTOM( 199?, m4placbt__w, m4placbt, "pyb07y.p1", 0x0000, 0x020000, CRC(f8e970ab) SHA1(66a54a9c2750ea1aa4ce562aad74c98775865ed6), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 24)" ) - -GAME_CUSTOM( 199?, m4placbt__k, m4placbt, "pyb06s.p1", 0x0000, 0x020000, CRC(acd9d628) SHA1(93d8f0ffa3b9ebdd9fef39b2bc49bb85b2fac00f), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 12)" ) +// "(C)1993 BARCREST" and "PYB 0.6" +GAME_CUSTOM( 199?, m4placbt__k, m4placbt, "pyb06s.p1", 0x0000, 0x020000, CRC(acd9d628) SHA1(93d8f0ffa3b9ebdd9fef39b2bc49bb85b2fac00f), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYB 0.6)" ) GAME_CUSTOM( 199?, m4placbt__a, m4placbt, "pyb06ad.p1", 0x0000, 0x020000, CRC(e08b6176) SHA1(ccfb43ee033b4ed36e8656bcb4ba62230dde8466), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4placbt__b, m4placbt, "pyb06b.p1", 0x0000, 0x020000, CRC(b6486055) SHA1(e0926720aba1e9d1327c32db29220d91050ea338), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4placbt__c, m4placbt, "pyb06bd.p1", 0x0000, 0x020000, CRC(6d91cfb3) SHA1(82d6ed6d6b2022d0945ec0fb8012fa4fef7029e0), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 4)" ) @@ -2246,21 +2249,8 @@ GAME_CUSTOM( 199?, m4placbt__h, m4placbt, "pyb06dy.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4placbt__i, m4placbt, "pyb06k.p1", 0x0000, 0x020000, CRC(fc8fc803) SHA1(81fa3104075b56f51c35d944fa3652aa8cce988c), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 10)" ) GAME_CUSTOM( 199?, m4placbt__j, m4placbt, "pyb06r.p1", 0x0000, 0x020000, CRC(4f807332) SHA1(e3852ac9811d780ac87f375acaf5ec1026071b2e), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4placbt__l, m4placbt, "pyb06y.p1", 0x0000, 0x020000, CRC(7b6ce8fd) SHA1(096fb2e8a4ac5f723810766bc4245d403814a20f), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 13)" ) - -GAME_CUSTOM( 199?, m4placbt__ab, m4placbt, "pyh05s.p1", 0x0000, 0x020000, CRC(3c544ad9) SHA1(50780424382fd4ccd023a784e43bb60b8f862456), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 39)" ) -GAME_CUSTOM( 199?, m4placbt__1, m4placbt, "pyh05ad.p1", 0x0000, 0x020000, CRC(948d1ad6) SHA1(66c580f0ef9035de5f50600db51d63336a8d3fbb), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4placbt__2, m4placbt, "pyh05b.p1", 0x0000, 0x020000, CRC(26c5fca4) SHA1(8166a195eb1aa7df99cc27e7cd6207a9192d14b9), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 30)" ) -GAME_CUSTOM( 199?, m4placbt__3, m4placbt, "pyh05bd.p1", 0x0000, 0x020000, CRC(1997b413) SHA1(cf701534243b302b83908bdf359050b325bd037a), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 31)" ) -GAME_CUSTOM( 199?, m4placbt__4, m4placbt, "pyh05c.p1", 0x0000, 0x020000, CRC(118f41b6) SHA1(29b74182d24d8d301a7aa899f4c1dd2b1a4eb84c), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 32)" ) -GAME_CUSTOM( 199?, m4placbt__5, m4placbt, "pyh05d.p1", 0x0000, 0x020000, CRC(5bdef7d2) SHA1(c00a602ea6f0a53d53b13c2e4921aabd9d10b0f3), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 33)" ) -GAME_CUSTOM( 199?, m4placbt__6, m4placbt, "pyh05dk.p1", 0x0000, 0x020000, CRC(53501c45) SHA1(fa1161a0fe6916cd84370886688517e9905561d2), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 34)" ) -GAME_CUSTOM( 199?, m4placbt__7, m4placbt, "pyh05dr.p1", 0x0000, 0x020000, CRC(e05fa774) SHA1(44d53a0480b382f01ab42ca5b0521a612f672433), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 35)" ) -GAME_CUSTOM( 199?, m4placbt__8, m4placbt, "pyh05dy.p1", 0x0000, 0x020000, CRC(d4b33cbb) SHA1(e9681c025b3b661a26b89ef1fa6bbcffb6c2e233), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 36)" ) -GAME_CUSTOM( 199?, m4placbt__9, m4placbt, "pyh05k.p1", 0x0000, 0x020000, CRC(6c0254f2) SHA1(df14735ec9bc77fc35f52094598bb3fbb015944f), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 37)" ) -GAME_CUSTOM( 199?, m4placbt__aa, m4placbt, "pyh05r.p1", 0x0000, 0x020000, CRC(df0defc3) SHA1(d259f6eb770130671d06e221d467df658ba0b29b), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 38)" ) -GAME_CUSTOM( 199?, m4placbt__ac, m4placbt, "pyh05y.p1", 0x0000, 0x020000, CRC(ebe1740c) SHA1(424707d023fd026cf43a687ed02d4ee4398b299f), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 40)" ) - -GAME_CUSTOM( 199?, m4placbt__an, m4placbt, "pyh06s.p1", 0x0000, 0x020000, CRC(10b75ddf) SHA1(d093ac51c64642400d2cf24a713dc7adb4a6a9d0), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 51)" ) +// "(C)1993 BARCREST" and "PYH 0.6" +GAME_CUSTOM( 199?, m4placbt__an, m4placbt, "pyh06s.p1", 0x0000, 0x020000, CRC(10b75ddf) SHA1(d093ac51c64642400d2cf24a713dc7adb4a6a9d0), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.6)" ) GAME_CUSTOM( 199?, m4placbt__ad, m4placbt, "pyh06ad.p1", 0x0000, 0x020000, CRC(7ae70380) SHA1(c0e2b67ade2275a903359b6df7f55e44ef78828f), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 41)" ) GAME_CUSTOM( 199?, m4placbt__ae, m4placbt, "pyh06b.p1", 0x0000, 0x020000, CRC(dc588857) SHA1(dd2d2ffa87c61b200aa82337beea7d2205f1176c), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 42)" ) GAME_CUSTOM( 199?, m4placbt__af, m4placbt, "pyh06bd.p1", 0x0000, 0x020000, CRC(f7fdad45) SHA1(78334007b0a414fd3d2b8ec1645d1f04e711eb77), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 43)" ) @@ -2272,11 +2262,27 @@ GAME_CUSTOM( 199?, m4placbt__ak, m4placbt, "pyh06dy.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4placbt__al, m4placbt, "pyh06k.p1", 0x0000, 0x020000, CRC(969f2001) SHA1(e934aa7e95e91f155ee82e8eaac5c949b35e024b), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 49)" ) GAME_CUSTOM( 199?, m4placbt__am, m4placbt, "pyh06r.p1", 0x0000, 0x020000, CRC(25909b30) SHA1(8a44e59a46ffec3badb27ee62e7e9bb0adff62a4), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 50)" ) GAME_CUSTOM( 199?, m4placbt__ao, m4placbt, "pyh06y.p1", 0x0000, 0x020000, CRC(117c00ff) SHA1(ace5d8c4f4e0647c89608db2c2ad35f241be3672), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 52)" ) - -GAME_CUSTOM( 199?, m4placbt__x, m4placbt, "pyb10h", 0x0000, 0x020000, CRC(69be6185) SHA1(f697350912505cd857acae2733ad8b48e67cab6b), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4placbt__y, m4placbt, "pyb15g", 0x0000, 0x020000, CRC(369fd852) SHA1(4c532a59451352aa54a1e47d12f04403d2e9c8cb), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4placbt__z, m4placbt, "pyb15t", 0x0000, 0x020000, CRC(c38d7b04) SHA1(5785344084498cab4ce2734b3d8c0dc8f0cbed5a), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4placbt__0, m4placbt, "pyh04s", 0x0000, 0x020000, CRC(c824b937) SHA1(9bc0a1e75540520ef3448dc7a3c95c81f93abe78), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 28)" ) +// "(C)1993 BARCREST" and "PYH 0.5" +GAME_CUSTOM( 199?, m4placbt__ab, m4placbt, "pyh05s.p1", 0x0000, 0x020000, CRC(3c544ad9) SHA1(50780424382fd4ccd023a784e43bb60b8f862456), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.5)" ) +GAME_CUSTOM( 199?, m4placbt__1, m4placbt, "pyh05ad.p1", 0x0000, 0x020000, CRC(948d1ad6) SHA1(66c580f0ef9035de5f50600db51d63336a8d3fbb), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 29)" ) +GAME_CUSTOM( 199?, m4placbt__2, m4placbt, "pyh05b.p1", 0x0000, 0x020000, CRC(26c5fca4) SHA1(8166a195eb1aa7df99cc27e7cd6207a9192d14b9), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 30)" ) +GAME_CUSTOM( 199?, m4placbt__3, m4placbt, "pyh05bd.p1", 0x0000, 0x020000, CRC(1997b413) SHA1(cf701534243b302b83908bdf359050b325bd037a), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 31)" ) +GAME_CUSTOM( 199?, m4placbt__4, m4placbt, "pyh05c.p1", 0x0000, 0x020000, CRC(118f41b6) SHA1(29b74182d24d8d301a7aa899f4c1dd2b1a4eb84c), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 32)" ) +GAME_CUSTOM( 199?, m4placbt__5, m4placbt, "pyh05d.p1", 0x0000, 0x020000, CRC(5bdef7d2) SHA1(c00a602ea6f0a53d53b13c2e4921aabd9d10b0f3), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 33)" ) +GAME_CUSTOM( 199?, m4placbt__6, m4placbt, "pyh05dk.p1", 0x0000, 0x020000, CRC(53501c45) SHA1(fa1161a0fe6916cd84370886688517e9905561d2), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 34)" ) +GAME_CUSTOM( 199?, m4placbt__7, m4placbt, "pyh05dr.p1", 0x0000, 0x020000, CRC(e05fa774) SHA1(44d53a0480b382f01ab42ca5b0521a612f672433), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 35)" ) +GAME_CUSTOM( 199?, m4placbt__8, m4placbt, "pyh05dy.p1", 0x0000, 0x020000, CRC(d4b33cbb) SHA1(e9681c025b3b661a26b89ef1fa6bbcffb6c2e233), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 36)" ) +GAME_CUSTOM( 199?, m4placbt__9, m4placbt, "pyh05k.p1", 0x0000, 0x020000, CRC(6c0254f2) SHA1(df14735ec9bc77fc35f52094598bb3fbb015944f), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 37)" ) +GAME_CUSTOM( 199?, m4placbt__aa, m4placbt, "pyh05r.p1", 0x0000, 0x020000, CRC(df0defc3) SHA1(d259f6eb770130671d06e221d467df658ba0b29b), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 38)" ) +GAME_CUSTOM( 199?, m4placbt__ac, m4placbt, "pyh05y.p1", 0x0000, 0x020000, CRC(ebe1740c) SHA1(424707d023fd026cf43a687ed02d4ee4398b299f), "Barcrest","Place Your Bets (Barcrest) (MPU4) (set 40)" ) +// "(C)1993 BARCREST" and "PYH 0.4" +GAME_CUSTOM( 199?, m4placbt__0, m4placbt, "pyh04s", 0x0000, 0x020000, CRC(c824b937) SHA1(9bc0a1e75540520ef3448dc7a3c95c81f93abe78), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.4)" ) +// "(C)1993 BARCREST" and "PYH 0.1" +GAME_CUSTOM( 199?, m4placbt__x, m4placbt, "pyb10h", 0x0000, 0x020000, CRC(69be6185) SHA1(f697350912505cd857acae2733ad8b48e67cab6b), "Barcrest","Place Your Bets (Barcrest) (MPU4) (PYH 0.1)" ) +// no copyright string and "PYH 0.5" +GAME_CUSTOM( 199?, m4placbt__y, m4placbt, "pyb15g", 0x0000, 0x020000, CRC(369fd852) SHA1(4c532a59451352aa54a1e47d12f04403d2e9c8cb), "hack","Place Your Bets (Barcrest) (MPU4) (PYH 0.5 Y, hack)" ) +// no copyright string and "PYB 0.6" +GAME_CUSTOM( 199?, m4placbt__z, m4placbt, "pyb15t", 0x0000, 0x020000, CRC(c38d7b04) SHA1(5785344084498cab4ce2734b3d8c0dc8f0cbed5a), "hack","Place Your Bets (Barcrest) (MPU4) (PYB 0.6 C, hack)" ) #define M4C9_EXTRA_ROMS \ From 6dece8ff4fde97f384617d4ab431d5cc1bf157b1 Mon Sep 17 00:00:00 2001 From: Curt Coder Date: Fri, 12 Aug 2016 21:01:26 +0300 Subject: [PATCH 009/116] mc6852: WIP (nw). --- src/devices/machine/mc6852.cpp | 92 ++++++++++++++-------------------- src/devices/machine/mc6852.h | 51 +++++++++++++++++++ 2 files changed, 90 insertions(+), 53 deletions(-) diff --git a/src/devices/machine/mc6852.cpp b/src/devices/machine/mc6852.cpp index b0cf1ff9ca9..957aa66413e 100644 --- a/src/devices/machine/mc6852.cpp +++ b/src/devices/machine/mc6852.cpp @@ -39,51 +39,6 @@ const device_type MC6852 = &device_creator; #define LOG 0 -#define S_RDA 0x01 -#define S_TDRA 0x02 -#define S_DCD 0x04 -#define S_CTS 0x08 -#define S_TUF 0x10 -#define S_RX_OVRN 0x20 -#define S_PE 0x40 -#define S_IRQ 0x80 - - -#define C1_RX_RS 0x01 -#define C1_TX_RS 0x02 -#define C1_STRIP_SYNC 0x04 -#define C1_CLEAR_SYNC 0x08 -#define C1_TIE 0x10 -#define C1_RIE 0x20 -#define C1_AC_MASK 0xc0 -#define C1_AC_C2 0x00 -#define C1_AC_C3 0x40 -#define C1_AC_SYNC 0x80 -#define C1_AC_TX_FIFO 0xc0 - - -#define C2_PC1 0x01 -#define C2_PC2 0x02 -#define C2_1_2_BYTE 0x04 -#define C2_WS_MASK 0x38 -#define C2_WS_6_E 0x00 -#define C2_WS_6_O 0x08 -#define C2_WS_7 0x10 -#define C2_WS_8 0x18 -#define C2_WS_7_E 0x20 -#define C2_WS_7_O 0x28 -#define C2_WS_8_E 0x30 -#define C2_WS_8_O 0x38 -#define C2_TX_SYNC 0x40 -#define C2_EIE 0x80 - - -#define C3_E_I_SYNC 0x01 -#define C3_1_2_SYNC 0x02 -#define C3_CLEAR_CTS 0x04 -#define C3_CTUF 0x08 - - //************************************************************************** // LIVE DEVICE @@ -122,6 +77,9 @@ void mc6852_device::device_start() m_write_sm_dtr.resolve_safe(); m_write_tuf.resolve_safe(); + set_rcv_rate(m_rx_clock); + set_tra_rate(m_tx_clock); + // register for state saving save_item(NAME(m_status)); save_item(NAME(m_cr)); @@ -146,17 +104,16 @@ void mc6852_device::device_reset() m_rx_fifo = std::queue(); m_tx_fifo = std::queue(); - transmit_register_reset(); receive_register_reset(); - - set_rcv_rate(m_rx_clock); - set_tra_rate(m_tx_clock); - - /* set receiver shift register to all 1's */ - m_rsr = 0xff; + transmit_register_reset(); /* reset and inhibit receiver/transmitter sections */ m_cr[0] |= (C1_TX_RS | C1_RX_RS); + m_cr[1] &= ~(C2_EIE | C2_PC2 | C2_PC1); + m_status &= ~S_TDRA; + + /* set receiver shift register to all 1's */ + m_rsr = 0xff; } @@ -235,18 +192,40 @@ WRITE8_MEMBER( mc6852_device::write ) { switch (m_cr[0] & C1_AC_MASK) { - case C1_AC_C2: + case C1_AC_C2: { /* control 2 */ + if (LOG) logerror("MC6852 '%s' Control 2 %02x\n", tag(), data); m_cr[1] = data; + + int data_bit_count; + parity_t parity; + stop_bits_t stop_bits = STOP_BITS_1; + + switch (data & C2_WS_MASK) + { + case 0: data_bit_count = 6; parity = PARITY_EVEN; break; + case 1: data_bit_count = 6; parity = PARITY_ODD; break; + case 2: data_bit_count = 7; parity = PARITY_NONE; break; + case 3: data_bit_count = 8; parity = PARITY_NONE; break; + case 4: data_bit_count = 7; parity = PARITY_EVEN; break; + case 5: data_bit_count = 7; parity = PARITY_ODD; break; + case 6: data_bit_count = 8; parity = PARITY_EVEN; break; + case 7: data_bit_count = 8; parity = PARITY_ODD; break; + } + + set_data_frame(1, data_bit_count, parity, stop_bits); + } break; case C1_AC_C3: /* control 3 */ + if (LOG) logerror("MC6852 '%s' Control 3 %02x\n", tag(), data); m_cr[2] = data; break; case C1_AC_SYNC: /* sync code */ + if (LOG) logerror("MC6852 '%s' Sync Code %02x\n", tag(), data); m_scr = data; break; @@ -254,6 +233,7 @@ WRITE8_MEMBER( mc6852_device::write ) /* transmit data FIFO */ if (m_tx_fifo.size() < 3) { + if (LOG) logerror("MC6852 '%s' Transmit FIFO %02x\n", tag(), data); m_tx_fifo.push(data); } break; @@ -261,6 +241,8 @@ WRITE8_MEMBER( mc6852_device::write ) } else { + if (LOG) logerror("MC6852 '%s' Control 1 %02x\n", tag(), data); + /* receiver reset */ if (data & C1_RX_RS) { @@ -274,6 +256,8 @@ WRITE8_MEMBER( mc6852_device::write ) m_status &= ~(S_RX_OVRN | S_PE | S_DCD | S_RDA); m_rsr = 0xff; + + receive_register_reset(); } /* transmitter reset */ @@ -289,6 +273,8 @@ WRITE8_MEMBER( mc6852_device::write ) if (LOG) logerror("MC6852 '%s' Transmitter Reset\n", tag()); m_status &= ~(S_TUF | S_CTS | S_TDRA); + + transmit_register_reset(); } if (LOG) diff --git a/src/devices/machine/mc6852.h b/src/devices/machine/mc6852.h index 68cd76f6126..4987c64729b 100644 --- a/src/devices/machine/mc6852.h +++ b/src/devices/machine/mc6852.h @@ -99,6 +99,57 @@ protected: virtual void rcv_complete() override; private: + enum + { + S_IRQ = 0x80, + S_PE = 0x40, + S_RX_OVRN = 0x20, + S_TUF = 0x10, + S_CTS = 0x08, + S_DCD = 0x04, + S_TDRA = 0x02, + S_RDA = 0x01 + }; + + enum + { + C1_AC_MASK = 0xc0, + C1_AC_C2 = 0x00, + C1_AC_C3 = 0x40, + C1_AC_SYNC = 0x80, + C1_AC_TX_FIFO = 0xc0, + C1_AC2 = 0x80, + C1_AC1 = 0x40, + C1_RIE = 0x20, + C1_TIE = 0x10, + C1_CLEAR_SYNC = 0x08, + C1_STRIP_SYNC = 0x04, + C1_TX_RS = 0x02, + C1_RX_RS = 0x01 + }; + + enum + { + C2_EIE = 0x80, + C2_TX_SYNC = 0x40, + C2_WS_MASK = 0x38, + C2_WS3 = 0x20, + C2_WS2 = 0x10, + C2_WS1 = 0x08, + C2_1_2_BYTE = 0x04, + C2_PC_MASK = 0x03, + C2_PC2 = 0x02, + C2_PC1 = 0x01 + }; + + enum + { + C3_CTUF = 0x08, + C3_CTS = 0x04, + C3_1_2_SYNC = 0x02, + C3_E_I_SYNC = 0x01 + }; + devcb_write_line m_write_tx_data; devcb_write_line m_write_irq; devcb_write_line m_write_sm_dtr; From b74455c006216502154f2dc96d16a2eff6aae1fd Mon Sep 17 00:00:00 2001 From: David Haywood Date: Fri, 12 Aug 2016 19:25:36 +0100 Subject: [PATCH 010/116] more hack ID --- src/mame/drivers/mpu4sw.hxx | 166 ++++++++++++++++++------------------ 1 file changed, 85 insertions(+), 81 deletions(-) diff --git a/src/mame/drivers/mpu4sw.hxx b/src/mame/drivers/mpu4sw.hxx index 79d82d355f2..7f50bf7e7d2 100644 --- a/src/mame/drivers/mpu4sw.hxx +++ b/src/mame/drivers/mpu4sw.hxx @@ -1052,38 +1052,38 @@ GAME_CUSTOM( 199?, m4eaw__as, m4eaw, "er2r.p1", 0x0000, 0x0100 GAME_CUSTOM( 199?, m4eaw__au, m4eaw, "er2y.p1", 0x0000, 0x010000, CRC(91369b00) SHA1(7427fcf9e350bc9a3883577de5ee4a4ab5ff63b0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER2 0.1 Y)" ) // "(C)1991 BARCREST" and "ER8 0.1" GAME_CUSTOM( 199?, m4eaw__a9, m4eaw, "er8s.p1", 0x0000, 0x010000, CRC(5d36bbc6) SHA1(4d0cd8e939f22d919671dc97c3d97bf6191e738f), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1)" ) -GAME_CUSTOM( 199?, m4eaw__a3, m4eaw, "er8ad.p1", 0x0000, 0x010000, CRC(ba059e06) SHA1(f6bb9092c9d18bccde111f8e20e79b8b4e6d8593), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 67)" ) -GAME_CUSTOM( 199?, m4eaw__a4, m4eaw, "er8b.p1", 0x0000, 0x010000, CRC(27c7f954) SHA1(93305d1d4a5781de56f1e54801e25b29b6713ef0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 68)" ) -GAME_CUSTOM( 199?, m4eaw__a5, m4eaw, "er8c.p1", 0x0000, 0x010000, CRC(cee94fb3) SHA1(01ec098016b6946c3fbf96b2071076316bbd5795), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 69)" ) -GAME_CUSTOM( 199?, m4eaw__a6, m4eaw, "er8dk.p1", 0x0000, 0x010000, CRC(789c5e1d) SHA1(5f5b686a770f4ab0cfa8e8ae21b3805ef6102516), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 70)" ) -GAME_CUSTOM( 199?, m4eaw__a7, m4eaw, "er8dy.p1", 0x0000, 0x010000, CRC(4adf568b) SHA1(dd21b547211566ad5cb018a0205d887b7f860bc9), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 71)" ) -GAME_CUSTOM( 199?, m4eaw__a8, m4eaw, "er8k.p1", 0x0000, 0x010000, CRC(c76140e4) SHA1(6c097fdd018eb594a84ceb7712a45201490ca370), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 72)" ) -GAME_CUSTOM( 199?, m4eaw__ba, m4eaw, "er8y.p1", 0x0000, 0x010000, CRC(8a1aa409) SHA1(a7ae62e1038e52a111de3004e2160838e0d102d0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 74)" ) +GAME_CUSTOM( 199?, m4eaw__a3, m4eaw, "er8ad.p1", 0x0000, 0x010000, CRC(ba059e06) SHA1(f6bb9092c9d18bccde111f8e20e79b8b4e6d8593), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 AD)" ) +GAME_CUSTOM( 199?, m4eaw__a4, m4eaw, "er8b.p1", 0x0000, 0x010000, CRC(27c7f954) SHA1(93305d1d4a5781de56f1e54801e25b29b6713ef0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 B)" ) +GAME_CUSTOM( 199?, m4eaw__a5, m4eaw, "er8c.p1", 0x0000, 0x010000, CRC(cee94fb3) SHA1(01ec098016b6946c3fbf96b2071076316bbd5795), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 C)" ) +GAME_CUSTOM( 199?, m4eaw__a6, m4eaw, "er8dk.p1", 0x0000, 0x010000, CRC(789c5e1d) SHA1(5f5b686a770f4ab0cfa8e8ae21b3805ef6102516), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 KD)" ) +GAME_CUSTOM( 199?, m4eaw__a7, m4eaw, "er8dy.p1", 0x0000, 0x010000, CRC(4adf568b) SHA1(dd21b547211566ad5cb018a0205d887b7f860bc9), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 YD)" ) +GAME_CUSTOM( 199?, m4eaw__a8, m4eaw, "er8k.p1", 0x0000, 0x010000, CRC(c76140e4) SHA1(6c097fdd018eb594a84ceb7712a45201490ca370), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 K)" ) +GAME_CUSTOM( 199?, m4eaw__ba, m4eaw, "er8y.p1", 0x0000, 0x010000, CRC(8a1aa409) SHA1(a7ae62e1038e52a111de3004e2160838e0d102d0), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ER8 0.1 Y)" ) // "(C)1991 BARCREST" and "ERT 0.2" GAME_CUSTOM( 199?, m4eaw__bk, m4eaw, "erts.p1", 0x0000, 0x010000, CRC(185b47bb) SHA1(377cb42878572a3e94dd6be6fb106ecacb3c5059), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2)" ) -GAME_CUSTOM( 199?, m4eaw__bb, m4eaw, "ertad.p1", 0x0000, 0x010000, CRC(75798f2d) SHA1(68939c187d841aa046a4f7dd8f39e8387969460c), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 75)" ) -GAME_CUSTOM( 199?, m4eaw__bc, m4eaw, "ertb.p1", 0x0000, 0x010000, CRC(c6407839) SHA1(79d73d79b389682586fdf7c9c25d8e2ea5943bb6), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 76)" ) -GAME_CUSTOM( 199?, m4eaw__bd, m4eaw, "ertbd.p1", 0x0000, 0x010000, CRC(4365e267) SHA1(b1853c3ddb707cb114e6bb2d780b142b80f099b6), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 77)" ) -GAME_CUSTOM( 199?, m4eaw__be, m4eaw, "ertd.p1", 0x0000, 0x010000, CRC(2fabc730) SHA1(8a43afd6048006e906892d35bb0cfaa127fc0415), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 78)" ) -GAME_CUSTOM( 199?, m4eaw__bf, m4eaw, "ertdk.p1", 0x0000, 0x010000, CRC(21264f37) SHA1(9819cf120e81525f18096152a555859a4f48f8ad), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 79)" ) -GAME_CUSTOM( 199?, m4eaw__bg, m4eaw, "ertdr.p1", 0x0000, 0x010000, CRC(1b644f23) SHA1(94c5a307126cada90eeb45439aaab82a30228ffa), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 80)" ) -GAME_CUSTOM( 199?, m4eaw__bh, m4eaw, "ertdy.p1", 0x0000, 0x010000, CRC(5a7c77fa) SHA1(37c212db131b682fd8d293a8cf8efad2e80a8a18), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 81)" ) -GAME_CUSTOM( 199?, m4eaw__bi, m4eaw, "ertk.p1", 0x0000, 0x010000, CRC(19959bd3) SHA1(617f7079b39b0ef41ebb0b5f89053d723a28824d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 82)" ) -GAME_CUSTOM( 199?, m4eaw__bj, m4eaw, "ertr.p1", 0x0000, 0x010000, CRC(3264f04a) SHA1(88d1f6857f3a0acd89db1563fd5f24582b578765), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 83)" ) -GAME_CUSTOM( 199?, m4eaw__bl, m4eaw, "erty.p1", 0x0000, 0x010000, CRC(38adc77e) SHA1(7a925e2aa946fdcf38df454ec733da1ce9bdc495), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 85)" ) +GAME_CUSTOM( 199?, m4eaw__bb, m4eaw, "ertad.p1", 0x0000, 0x010000, CRC(75798f2d) SHA1(68939c187d841aa046a4f7dd8f39e8387969460c), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 AD)" ) +GAME_CUSTOM( 199?, m4eaw__bc, m4eaw, "ertb.p1", 0x0000, 0x010000, CRC(c6407839) SHA1(79d73d79b389682586fdf7c9c25d8e2ea5943bb6), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 B)" ) +GAME_CUSTOM( 199?, m4eaw__bd, m4eaw, "ertbd.p1", 0x0000, 0x010000, CRC(4365e267) SHA1(b1853c3ddb707cb114e6bb2d780b142b80f099b6), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 BD)" ) +GAME_CUSTOM( 199?, m4eaw__be, m4eaw, "ertd.p1", 0x0000, 0x010000, CRC(2fabc730) SHA1(8a43afd6048006e906892d35bb0cfaa127fc0415), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 D)" ) +GAME_CUSTOM( 199?, m4eaw__bf, m4eaw, "ertdk.p1", 0x0000, 0x010000, CRC(21264f37) SHA1(9819cf120e81525f18096152a555859a4f48f8ad), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 KD)" ) +GAME_CUSTOM( 199?, m4eaw__bg, m4eaw, "ertdr.p1", 0x0000, 0x010000, CRC(1b644f23) SHA1(94c5a307126cada90eeb45439aaab82a30228ffa), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 RD)" ) +GAME_CUSTOM( 199?, m4eaw__bh, m4eaw, "ertdy.p1", 0x0000, 0x010000, CRC(5a7c77fa) SHA1(37c212db131b682fd8d293a8cf8efad2e80a8a18), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 YD)" ) +GAME_CUSTOM( 199?, m4eaw__bi, m4eaw, "ertk.p1", 0x0000, 0x010000, CRC(19959bd3) SHA1(617f7079b39b0ef41ebb0b5f89053d723a28824d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 K)" ) +GAME_CUSTOM( 199?, m4eaw__bj, m4eaw, "ertr.p1", 0x0000, 0x010000, CRC(3264f04a) SHA1(88d1f6857f3a0acd89db1563fd5f24582b578765), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 R)" ) +GAME_CUSTOM( 199?, m4eaw__bl, m4eaw, "erty.p1", 0x0000, 0x010000, CRC(38adc77e) SHA1(7a925e2aa946fdcf38df454ec733da1ce9bdc495), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (ERT 0.2 Y)" ) // "(C)1991 BARCREST" and "ER4 0.1" (startup is EUN 0.1) GAME_CUSTOM( 199?, m4eaw__bw, m4eaw, "eun01s.p1", 0x0000, 0x010000, CRC(d0b49fc6) SHA1(4062d9763010d42666660e383e52818d572b61b9), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 / ER4 0.1)" ) -GAME_CUSTOM( 199?, m4eaw__bm, m4eaw, "eun01ad.p1", 0x0000, 0x010000, CRC(0148eb57) SHA1(7ebf73402ffe68cfb045a906ed039407bd173b88), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 86)" ) -GAME_CUSTOM( 199?, m4eaw__bn, m4eaw, "eun01b.p1", 0x0000, 0x010000, CRC(ad152cda) SHA1(ca5c72a54e14f8b44fddfbc5c38c4e149432f593), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 87)" ) -GAME_CUSTOM( 199?, m4eaw__bo, m4eaw, "eun01bd.p1", 0x0000, 0x010000, CRC(6b0abd7c) SHA1(a6f74096bfffa082a441c094b5acadd5929ac36a), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 88)" ) -GAME_CUSTOM( 199?, m4eaw__bp, m4eaw, "eun01c.p1", 0x0000, 0x010000, CRC(a65fcf8b) SHA1(13a5bc1f2918a4f3590a1cdc34b439a874934ee7), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 89)" ) -GAME_CUSTOM( 199?, m4eaw__bq, m4eaw, "eun01d.p1", 0x0000, 0x010000, CRC(400af364) SHA1(ca67e98624d50717763e9965c45f0beecb07d2f9), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 90)" ) -GAME_CUSTOM( 199?, m4eaw__br, m4eaw, "eun01dk.p1", 0x0000, 0x010000, CRC(c11914fa) SHA1(884fee07227f46dde056eb8e082bb821eeab99cb), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 91)" ) -GAME_CUSTOM( 199?, m4eaw__bs, m4eaw, "eun01dr.p1", 0x0000, 0x010000, CRC(0eb075d4) SHA1(3977f03f6aac765c556618616919a5e10660b35d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 92)" ) -GAME_CUSTOM( 199?, m4eaw__bt, m4eaw, "eun01dy.p1", 0x0000, 0x010000, CRC(93db5d3a) SHA1(ddd209b22ed396d3329b9522649db6dda64958b7), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 93)" ) -GAME_CUSTOM( 199?, m4eaw__bu, m4eaw, "eun01k.p1", 0x0000, 0x010000, CRC(9fca43fd) SHA1(f7626f122dedb217002888971100d8a34910b48d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 94)" ) -GAME_CUSTOM( 199?, m4eaw__bv, m4eaw, "eun01r.p1", 0x0000, 0x010000, CRC(15b8eb9e) SHA1(e4babaf526e6dd45bb4b7f7441a08cfbec12c661), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 95)" ) -GAME_CUSTOM( 199?, m4eaw__bx, m4eaw, "eun01y.p1", 0x0000, 0x010000, CRC(88d3c370) SHA1(6c3839a9c89ae67f80ab932ec70ebaf1240de9bb), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (set 97)" ) +GAME_CUSTOM( 199?, m4eaw__bm, m4eaw, "eun01ad.p1", 0x0000, 0x010000, CRC(0148eb57) SHA1(7ebf73402ffe68cfb045a906ed039407bd173b88), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 AD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__bn, m4eaw, "eun01b.p1", 0x0000, 0x010000, CRC(ad152cda) SHA1(ca5c72a54e14f8b44fddfbc5c38c4e149432f593), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 B / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__bo, m4eaw, "eun01bd.p1", 0x0000, 0x010000, CRC(6b0abd7c) SHA1(a6f74096bfffa082a441c094b5acadd5929ac36a), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 BD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__bp, m4eaw, "eun01c.p1", 0x0000, 0x010000, CRC(a65fcf8b) SHA1(13a5bc1f2918a4f3590a1cdc34b439a874934ee7), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 C / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__bq, m4eaw, "eun01d.p1", 0x0000, 0x010000, CRC(400af364) SHA1(ca67e98624d50717763e9965c45f0beecb07d2f9), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 D / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__br, m4eaw, "eun01dk.p1", 0x0000, 0x010000, CRC(c11914fa) SHA1(884fee07227f46dde056eb8e082bb821eeab99cb), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 KD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__bs, m4eaw, "eun01dr.p1", 0x0000, 0x010000, CRC(0eb075d4) SHA1(3977f03f6aac765c556618616919a5e10660b35d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 RD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__bt, m4eaw, "eun01dy.p1", 0x0000, 0x010000, CRC(93db5d3a) SHA1(ddd209b22ed396d3329b9522649db6dda64958b7), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 YD / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__bu, m4eaw, "eun01k.p1", 0x0000, 0x010000, CRC(9fca43fd) SHA1(f7626f122dedb217002888971100d8a34910b48d), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 K / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__bv, m4eaw, "eun01r.p1", 0x0000, 0x010000, CRC(15b8eb9e) SHA1(e4babaf526e6dd45bb4b7f7441a08cfbec12c661), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 R / ER4 0.1)" ) +GAME_CUSTOM( 199?, m4eaw__bx, m4eaw, "eun01y.p1", 0x0000, 0x010000, CRC(88d3c370) SHA1(6c3839a9c89ae67f80ab932ec70ebaf1240de9bb), "Barcrest","Everyone's A Winner (Barcrest) (MPU4) (EUN 0.1 Y / ER4 0.1)" ) // bad dump? wrong size ROM_START( m4eaw__bz ) \ @@ -1111,52 +1111,52 @@ GAME(199?, m4eaw__bz, m4eaw ,mod4oki ,mpu4 , mpu4_state,m4_showstring ,ROT0,"Bar // (C)1993 BARCREST and "WIN 0.6" GAME_CUSTOM( 199?, m4wta, 0, "wins.p1", 0x0000, 0x010000, CRC(d79d1e5b) SHA1(722657423a605d6d272d61e4e00b4055ed05f98d), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6)" ) -GAME_CUSTOM( 199?, m4wta__b, m4wta, "windy.p1", 0x0000, 0x010000, CRC(d8b78c2d) SHA1(d8c2a2ac30a9b876acfbe99e3c540ba0e82cde33), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6YD)" ) -GAME_CUSTOM( 199?, m4wta__e, m4wta, "winy.p1", 0x0000, 0x010000, CRC(5ff8ed08) SHA1(9567db64e8ebf25ecb22236598cc88a3106f0e36), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6Y)" ) -GAME_CUSTOM( 199?, m4wta__aa, m4wta, "wtall20a", 0x0000, 0x010000, CRC(b53c951e) SHA1(24f96d16852a4fbaf49fbdf29a26d15877f07b18), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6K)" ) +GAME_CUSTOM( 199?, m4wta__b, m4wta, "windy.p1", 0x0000, 0x010000, CRC(d8b78c2d) SHA1(d8c2a2ac30a9b876acfbe99e3c540ba0e82cde33), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6 YD)" ) +GAME_CUSTOM( 199?, m4wta__e, m4wta, "winy.p1", 0x0000, 0x010000, CRC(5ff8ed08) SHA1(9567db64e8ebf25ecb22236598cc88a3106f0e36), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6 Y)" ) +GAME_CUSTOM( 199?, m4wta__aa, m4wta, "wtall20a", 0x0000, 0x010000, CRC(b53c951e) SHA1(24f96d16852a4fbaf49fbdf29a26d15877f07b18), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WIN 0.6 K)" ) // (C)1993 BARCREST and "WN5 0.1" -GAME_CUSTOM( 199?, m4wta__f, m4wta, "wn5ad.p1", 0x0000, 0x010000, CRC(0eb0845d) SHA1(57a2ca27672119e71af3b990cedcf52dd89e24cc), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1AD)" ) -GAME_CUSTOM( 199?, m4wta__g, m4wta, "wn5b.p1", 0x0000, 0x010000, CRC(82cefba2) SHA1(07753a5f0d455422f33495a6f050c8e16a92e087), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1B)" ) -GAME_CUSTOM( 199?, m4wta__h, m4wta, "wn5bd.p1", 0x0000, 0x010000, CRC(19d25b26) SHA1(91459c87e95d9800c5f77fd0c7f72f8a1488dc37), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1BD)" ) -GAME_CUSTOM( 199?, m4wta__i, m4wta, "wn5d.p1", 0x0000, 0x010000, CRC(8a3d6bed) SHA1(a20f24cd5216976913c0405f54883d6080986867), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1D)" ) -GAME_CUSTOM( 199?, m4wta__j, m4wta, "wn5dk.p1", 0x0000, 0x010000, CRC(1dfcb2bc) SHA1(b1a73a7758c3126f7b13156835c91a4900cbe6e0), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1KD)" ) -GAME_CUSTOM( 199?, m4wta__k, m4wta, "wn5dy.p1", 0x0000, 0x010000, CRC(d45e1db0) SHA1(2524c4b60a89ea0ca15cf999fbd1f8d9029dfbb6), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1YD)" ) -GAME_CUSTOM( 199?, m4wta__l, m4wta, "wn5k.p1", 0x0000, 0x010000, CRC(71c34cb4) SHA1(e1b96dd30d8ab680128d76886691d06fcd2d48c0), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1K)" ) GAME_CUSTOM( 199?, m4wta__m, m4wta, "wn5s.p1", 0x0000, 0x010000, CRC(f6e925c1) SHA1(963f06462c73300757aad2371df4ebe28afca521), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1)" ) -GAME_CUSTOM( 199?, m4wta__n, m4wta, "wn5y.p1", 0x0000, 0x010000, CRC(7155f8b5) SHA1(f55f88fd7b0144cb7b64640d529b179dd056f5ec), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1Y)" ) +GAME_CUSTOM( 199?, m4wta__f, m4wta, "wn5ad.p1", 0x0000, 0x010000, CRC(0eb0845d) SHA1(57a2ca27672119e71af3b990cedcf52dd89e24cc), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 AD)" ) +GAME_CUSTOM( 199?, m4wta__g, m4wta, "wn5b.p1", 0x0000, 0x010000, CRC(82cefba2) SHA1(07753a5f0d455422f33495a6f050c8e16a92e087), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 B)" ) +GAME_CUSTOM( 199?, m4wta__h, m4wta, "wn5bd.p1", 0x0000, 0x010000, CRC(19d25b26) SHA1(91459c87e95d9800c5f77fd0c7f72f8a1488dc37), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 BD)" ) +GAME_CUSTOM( 199?, m4wta__i, m4wta, "wn5d.p1", 0x0000, 0x010000, CRC(8a3d6bed) SHA1(a20f24cd5216976913c0405f54883d6080986867), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 D)" ) +GAME_CUSTOM( 199?, m4wta__j, m4wta, "wn5dk.p1", 0x0000, 0x010000, CRC(1dfcb2bc) SHA1(b1a73a7758c3126f7b13156835c91a4900cbe6e0), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 KD)" ) +GAME_CUSTOM( 199?, m4wta__k, m4wta, "wn5dy.p1", 0x0000, 0x010000, CRC(d45e1db0) SHA1(2524c4b60a89ea0ca15cf999fbd1f8d9029dfbb6), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 YD)" ) +GAME_CUSTOM( 199?, m4wta__l, m4wta, "wn5k.p1", 0x0000, 0x010000, CRC(71c34cb4) SHA1(e1b96dd30d8ab680128d76886691d06fcd2d48c0), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 K)" ) +GAME_CUSTOM( 199?, m4wta__n, m4wta, "wn5y.p1", 0x0000, 0x010000, CRC(7155f8b5) SHA1(f55f88fd7b0144cb7b64640d529b179dd056f5ec), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN5 0.1 Y)" ) // (C)1993 BARCREST and "WN8 0.1" -GAME_CUSTOM( 199?, m4wta__o, m4wta, "wn8b.p1", 0x0000, 0x010000, CRC(7e84f99c) SHA1(bef41b3e7906bdaadfa5741e9ae40028f4fd360f), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1B)" ) -GAME_CUSTOM( 199?, m4wta__p, m4wta, "wn8c.p1", 0x0000, 0x010000, CRC(471ba65a) SHA1(6ede860bcf323ee75dd7f75a51e5d1166ee72abc), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1C)" ) -GAME_CUSTOM( 199?, m4wta__q, m4wta, "wn8d.p1", 0x0000, 0x010000, CRC(eb2bd01e) SHA1(df74f8eb8fa411bab20ab522fd7c511a1370fe90), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1D)" ) -GAME_CUSTOM( 199?, m4wta__r, m4wta, "wn8dk.p1", 0x0000, 0x010000, CRC(ec20a0bc) SHA1(61b615165a6e77cd85e1fa6aeb955307ec48d1b6), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1KD)" ) -GAME_CUSTOM( 199?, m4wta__s, m4wta, "wn8dy.p1", 0x0000, 0x010000, CRC(d2a1513c) SHA1(e4d2ad88846cbb6b393d3615bf10e1dea01de219), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1YD)" ) -GAME_CUSTOM( 199?, m4wta__t, m4wta, "wn8k.p1", 0x0000, 0x010000, CRC(3e15c690) SHA1(2fc1cca91ac5cc9abeac112e4d60e8fd57b07b94), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1K)" ) GAME_CUSTOM( 199?, m4wta__u, m4wta, "wn8s.p1", 0x0000, 0x010000, CRC(5c5a0f31) SHA1(301e595141dd6eb9250d71e591780e15a7d36423), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1)" ) -GAME_CUSTOM( 199?, m4wta__v, m4wta, "wn8y.p1", 0x0000, 0x010000, CRC(993cee6a) SHA1(26b2d5d3aa3465f90fe74960f183b8580ea2fbb1), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1Y)" ) +GAME_CUSTOM( 199?, m4wta__o, m4wta, "wn8b.p1", 0x0000, 0x010000, CRC(7e84f99c) SHA1(bef41b3e7906bdaadfa5741e9ae40028f4fd360f), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 B)" ) +GAME_CUSTOM( 199?, m4wta__p, m4wta, "wn8c.p1", 0x0000, 0x010000, CRC(471ba65a) SHA1(6ede860bcf323ee75dd7f75a51e5d1166ee72abc), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 C)" ) +GAME_CUSTOM( 199?, m4wta__q, m4wta, "wn8d.p1", 0x0000, 0x010000, CRC(eb2bd01e) SHA1(df74f8eb8fa411bab20ab522fd7c511a1370fe90), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 D)" ) +GAME_CUSTOM( 199?, m4wta__r, m4wta, "wn8dk.p1", 0x0000, 0x010000, CRC(ec20a0bc) SHA1(61b615165a6e77cd85e1fa6aeb955307ec48d1b6), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 KD)" ) +GAME_CUSTOM( 199?, m4wta__s, m4wta, "wn8dy.p1", 0x0000, 0x010000, CRC(d2a1513c) SHA1(e4d2ad88846cbb6b393d3615bf10e1dea01de219), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 YD)" ) +GAME_CUSTOM( 199?, m4wta__t, m4wta, "wn8k.p1", 0x0000, 0x010000, CRC(3e15c690) SHA1(2fc1cca91ac5cc9abeac112e4d60e8fd57b07b94), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 K)" ) +GAME_CUSTOM( 199?, m4wta__v, m4wta, "wn8y.p1", 0x0000, 0x010000, CRC(993cee6a) SHA1(26b2d5d3aa3465f90fe74960f183b8580ea2fbb1), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WN8 0.1 Y)" ) // "(C)1993 BARCREST" and "WNT 0.1" // bad char alarm, hack? -GAME_CUSTOM( 199?, m4wta__w, m4wta, "wnta2010", 0x0000, 0x010000, CRC(5b08faf8) SHA1(f4657041562044e17febfe77ad1f849545dcdaec), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1, hack?)" ) +GAME_CUSTOM( 199?, m4wta__w, m4wta, "wnta2010", 0x0000, 0x010000, CRC(5b08faf8) SHA1(f4657041562044e17febfe77ad1f849545dcdaec), "hack","Winner Takes All (Barcrest) (MPU4) (WNT 0.1, hack)" ) // "(C)1993 BARCREST" and "WNT 0.1" -GAME_CUSTOM( 199?, m4wta__x, m4wta, "wntad.p1", 0x0000, 0x010000, CRC(8502766e) SHA1(2a47c8f8ce8711b30962c5e8ef9093bdd3543551), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1AD)" ) -GAME_CUSTOM( 199?, m4wta__y, m4wta, "wntb.p1", 0x0000, 0x010000, CRC(1e3159f0) SHA1(ab9d0e9e6731b40c66c358d98c6481f31d9a0b0c), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1B)" ) -GAME_CUSTOM( 199?, m4wta__z, m4wta, "wntbd.p1", 0x0000, 0x010000, CRC(91cc8978) SHA1(570ad4092bb148106fb2600f1e22b6cb6f57002a), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1BD)" ) -GAME_CUSTOM( 199?, m4wta__0, m4wta, "wntd.p1", 0x0000, 0x010000, CRC(ad68d804) SHA1(f301d0d267dd0020903f06b67ee6494b71258c68), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1D)" ) -GAME_CUSTOM( 199?, m4wta__1, m4wta, "wntdk.p1", 0x0000, 0x010000, CRC(3a6b65b8) SHA1(1da0448e53a45fa249c14b5655cd0dc957ebb646), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1KD)" ) -GAME_CUSTOM( 199?, m4wta__2, m4wta, "wntdy.p1", 0x0000, 0x010000, CRC(2420634f) SHA1(5c6e891c34a6e2b3a6acb3856c1554145bb24d0d), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1YD)" ) -GAME_CUSTOM( 199?, m4wta__3, m4wta, "wntk.p1", 0x0000, 0x010000, CRC(3d8d07c7) SHA1(4659e2459d956bbcf5ef2a605527317ccdafcccb), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1K)" ) GAME_CUSTOM( 199?, m4wta__4, m4wta, "wnts.p1", 0x0000, 0x010000, CRC(3a9b0878) SHA1(85e86cca1a3a079746cd4401767ba1d9fc31a938), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1)" ) -GAME_CUSTOM( 199?, m4wta__5, m4wta, "wnty.p1", 0x0000, 0x010000, CRC(edaa5ae7) SHA1(d24b9f37d75f13f16718374e48e6c003b0b3333f), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1Y)" ) +GAME_CUSTOM( 199?, m4wta__x, m4wta, "wntad.p1", 0x0000, 0x010000, CRC(8502766e) SHA1(2a47c8f8ce8711b30962c5e8ef9093bdd3543551), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 AD)" ) +GAME_CUSTOM( 199?, m4wta__y, m4wta, "wntb.p1", 0x0000, 0x010000, CRC(1e3159f0) SHA1(ab9d0e9e6731b40c66c358d98c6481f31d9a0b0c), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 B)" ) +GAME_CUSTOM( 199?, m4wta__z, m4wta, "wntbd.p1", 0x0000, 0x010000, CRC(91cc8978) SHA1(570ad4092bb148106fb2600f1e22b6cb6f57002a), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 BD)" ) +GAME_CUSTOM( 199?, m4wta__0, m4wta, "wntd.p1", 0x0000, 0x010000, CRC(ad68d804) SHA1(f301d0d267dd0020903f06b67ee6494b71258c68), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 D)" ) +GAME_CUSTOM( 199?, m4wta__1, m4wta, "wntdk.p1", 0x0000, 0x010000, CRC(3a6b65b8) SHA1(1da0448e53a45fa249c14b5655cd0dc957ebb646), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 KD)" ) +GAME_CUSTOM( 199?, m4wta__2, m4wta, "wntdy.p1", 0x0000, 0x010000, CRC(2420634f) SHA1(5c6e891c34a6e2b3a6acb3856c1554145bb24d0d), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 YD)" ) +GAME_CUSTOM( 199?, m4wta__3, m4wta, "wntk.p1", 0x0000, 0x010000, CRC(3d8d07c7) SHA1(4659e2459d956bbcf5ef2a605527317ccdafcccb), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 K)" ) +GAME_CUSTOM( 199?, m4wta__5, m4wta, "wnty.p1", 0x0000, 0x010000, CRC(edaa5ae7) SHA1(d24b9f37d75f13f16718374e48e6c003b0b3333f), "Barcrest","Winner Takes All (Barcrest) (MPU4) (WNT 0.1 Y)" ) // "(C)1996 B.W.B." and "WNC 1.3" // bad char alarm -GAME_CUSTOM( 199?, m4wta__7, m4wta, "wta510l", 0x0000, 0x010000, CRC(9ce140ae) SHA1(01d53a5da0161ac4ecc861309f645d6eb47b4af5), "Bwb / hack?","Winner Takes All (Barcrest) (MPU4) (WNC 1.3, set 1)" ) -GAME_CUSTOM( 199?, m4wta__ad, m4wta, "wta5.10", 0x0000, 0x010000, CRC(c1ae8e9a) SHA1(66c0b200202386a10b96b7141517a52921266950), "Bwb / hack?","Winner Takes All (Barcrest) (MPU4) (WNC 1.3, set 2)" ) +GAME_CUSTOM( 199?, m4wta__7, m4wta, "wta510l", 0x0000, 0x010000, CRC(9ce140ae) SHA1(01d53a5da0161ac4ecc861309f645d6eb47b4af5), "hack","Winner Takes All (Barcrest) (MPU4) (WNC 1.3 5, hack, set 1)" ) +GAME_CUSTOM( 199?, m4wta__ad, m4wta, "wta5.10", 0x0000, 0x010000, CRC(c1ae8e9a) SHA1(66c0b200202386a10b96b7141517a52921266950), "hack","Winner Takes All (Barcrest) (MPU4) (WNC 1.3 5, hack, set 2)" ) // "(C)1996 B.W.B." and "WN8 2.2" // bad char alarm -GAME_CUSTOM( 199?, m4wta__8, m4wta, "wta58tl", 0x0000, 0x010000, CRC(7275e865) SHA1(d5550646a062609cfc052fab81c533ca69171875), "Bwb / hack?","Winner Takes All (Barcrest) (MPU4) (WN8 2.2, set 1)" ) -GAME_CUSTOM( 199?, m4wta__ag, m4wta, "wta5.8t", 0x0000, 0x010000, CRC(548122ab) SHA1(c611084e8a08d5556e458daf9cc721c0e5ba1948), "Bwb / hack?","Winner Takes All (Barcrest) (MPU4) (WN8 2.2, set 2)" ) +GAME_CUSTOM( 199?, m4wta__8, m4wta, "wta58tl", 0x0000, 0x010000, CRC(7275e865) SHA1(d5550646a062609cfc052fab81c533ca69171875), "hack","Winner Takes All (Barcrest) (MPU4) (WN8 2.2 5, hack, set 1)" ) +GAME_CUSTOM( 199?, m4wta__ag, m4wta, "wta5.8t", 0x0000, 0x010000, CRC(548122ab) SHA1(c611084e8a08d5556e458daf9cc721c0e5ba1948), "hack","Winner Takes All (Barcrest) (MPU4) (WN8 2.2 5, hack, set 2)" ) // "(C)1996 B.W.B." and "WN4 1.1" -GAME_CUSTOM( 199?, m4wta__9, m4wta, "wta_5p_4c.bin", 0x0000, 0x010000, CRC(54c51976) SHA1(70cae1f931615b993ac6a9e7ce2e529ad6d27da8), "Bwb / hack?","Winner Takes All (Barcrest) (MPU4) (WN4 1.1 K5)" ) -GAME_CUSTOM( 199?, m4wta__ab, m4wta, "wt_05__4.1_1", 0x0000, 0x010000, CRC(5e05485e) SHA1(062f16ca92518f746f5410a2b9b551542e1a68e3), "Bwb / hack?","Winner Takes All (Barcrest) (MPU4) (WN4 1.1 5)" ) -GAME_CUSTOM( 199?, m4wta__ae, m4wta, "wta5.4", 0x0000, 0x010000, CRC(00c64637) SHA1(54214edb107b28852a1bd3e095787bf9241e4fe3), "Bwb / hack?","Winner Takes All (Barcrest) (MPU4) (WN4 1.1, hack?)" ) // bad char alarm +GAME_CUSTOM( 199?, m4wta__9, m4wta, "wta_5p_4c.bin", 0x0000, 0x010000, CRC(54c51976) SHA1(70cae1f931615b993ac6a9e7ce2e529ad6d27da8), "Bwb","Winner Takes All (Barcrest) (MPU4) (WN4 1.1 K5)" ) +GAME_CUSTOM( 199?, m4wta__ab, m4wta, "wt_05__4.1_1", 0x0000, 0x010000, CRC(5e05485e) SHA1(062f16ca92518f746f5410a2b9b551542e1a68e3), "Bwb","Winner Takes All (Barcrest) (MPU4) (WN4 1.1 5)" ) +GAME_CUSTOM( 199?, m4wta__ae, m4wta, "wta5.4", 0x0000, 0x010000, CRC(00c64637) SHA1(54214edb107b28852a1bd3e095787bf9241e4fe3), "hack","Winner Takes All (Barcrest) (MPU4) (WN4 1.1 K5, hack?)" ) // bad char alarm // "(C)1996 B.W.B." and "WN5 3.0" -GAME_CUSTOM( 199?, m4wta__ac, m4wta, "wt_05__5.3_1", 0x0000, 0x010000, CRC(8a289bbd) SHA1(8ae0858716ed6aa02f6b4f93fd367c7cee85d13a), "Bwb / hack?","Winner Takes All (Barcrest) (MPU4) (WN5 3.0 5)" ) +GAME_CUSTOM( 199?, m4wta__ac, m4wta, "wt_05__5.3_1", 0x0000, 0x010000, CRC(8a289bbd) SHA1(8ae0858716ed6aa02f6b4f93fd367c7cee85d13a), "Bwb","Winner Takes All (Barcrest) (MPU4) (WN5 3.0 5)" ) // "BILLY WHIZZ" and "V1 0.1" GAME_CUSTOM( 199?, m4wta__6, m4wta, "wta20p10.bin", 0x0000, 0x010000, CRC(c7f235b8) SHA1(a25f6f755140d70b0392985839b1729640cf5d5d), "hack","Winner Takes All (Barcrest) (MPU4) (V1 0.1, hack)" ) // "197 COCO" and "WN4 1.1" (hack) @@ -1973,7 +1973,8 @@ GAME_CUSTOM( 199?, m4mag7s__2, m4mag7s, "mag715t", 0x0000, 0x020000 ROM_END \ GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -GAME_CUSTOM( 199?, m4makmnt, 0, "mams.p1", 0x0000, 0x020000, CRC(af08e1e6) SHA1(c7e87d351f67592084d758ee53ba4d354bb28866), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 1)" ) +// "(C)1993 BARCREST" and "MAM 0.3" +GAME_CUSTOM( 199?, m4makmnt, 0, "mams.p1", 0x0000, 0x020000, CRC(af08e1e6) SHA1(c7e87d351f67592084d758ee53ba4d354bb28866), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.3)" ) GAME_CUSTOM( 199?, m4makmnt__o, m4makmnt, "mamad.p1", 0x0000, 0x020000, CRC(82f63f55) SHA1(2cbc514a49e826505580a57f17ee696bdf9bf436), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 16)" ) GAME_CUSTOM( 199?, m4makmnt__p, m4makmnt, "mamb.p1", 0x0000, 0x020000, CRC(233c2e35) SHA1(823fc5736469c7e1d1da72bec8d64aabb277f9ab), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 17)" ) GAME_CUSTOM( 199?, m4makmnt__q, m4makmnt, "mambd.p1", 0x0000, 0x020000, CRC(0fec9190) SHA1(6cea986853efc042c6325f31f790f80ae2993308), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 18)" ) @@ -1984,8 +1985,8 @@ GAME_CUSTOM( 199?, m4makmnt__u, m4makmnt, "mamdy.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4makmnt__v, m4makmnt, "mamk.p1", 0x0000, 0x020000, CRC(69fb8663) SHA1(741b6e7b97d0c9b243e8e318ed169f92f8fbd5e9), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 23)" ) GAME_CUSTOM( 199?, m4makmnt__w, m4makmnt, "mamr.p1", 0x0000, 0x020000, CRC(daf43d52) SHA1(066cf554178d4e4fdff10c1e93567618f711d196), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 24)" ) GAME_CUSTOM( 199?, m4makmnt__x, m4makmnt, "mamy.p1", 0x0000, 0x020000, CRC(ee18a69d) SHA1(d3cf2c5ed4ec00be4d68c895ca3973da1acccb79), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 25)" ) - -GAME_CUSTOM( 199?, m4makmnt__k, m4makmnt, "mam04s.p1", 0x0000, 0x020000, CRC(08eac690) SHA1(e35793da266bd9dd8a018ba9773f368e36ce501d), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 12)" ) +// "(C)1993 BARCREST" and "MAM 0.4" +GAME_CUSTOM( 199?, m4makmnt__k, m4makmnt, "mam04s.p1", 0x0000, 0x020000, CRC(08eac690) SHA1(e35793da266bd9dd8a018ba9773f368e36ce501d), "Barcrest","Make A Mint (Barcrest) (MPU4) (MAM 0.4)" ) GAME_CUSTOM( 199?, m4makmnt__a, m4makmnt, "mam04ad.p1", 0x0000, 0x020000, CRC(9b750bc7) SHA1(10a86f0a0d18ce0be502a9d36282f6b5eef0ece5), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 2)" ) GAME_CUSTOM( 199?, m4makmnt__b, m4makmnt, "mam04b.p1", 0x0000, 0x020000, CRC(8f5cefa9) SHA1(fc0dfb67794d090ef15facd0f2b60e1d505b295f), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4makmnt__c, m4makmnt, "mam04bd.p1", 0x0000, 0x020000, CRC(166fa502) SHA1(345ad131d8757445c549312350507a3a804ca20e), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 4)" ) @@ -1997,8 +1998,8 @@ GAME_CUSTOM( 199?, m4makmnt__h, m4makmnt, "mam04dy.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4makmnt__i, m4makmnt, "mam04k.p1", 0x0000, 0x020000, CRC(c59b47ff) SHA1(8022c6c988532d3f98edf5c59c97403ab2d0fb90), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 10)" ) GAME_CUSTOM( 199?, m4makmnt__j, m4makmnt, "mam04r.p1", 0x0000, 0x020000, CRC(7694fcce) SHA1(a67c76551240129914cc071543db96962f3b198f), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 11)" ) GAME_CUSTOM( 199?, m4makmnt__l, m4makmnt, "mam04y.p1", 0x0000, 0x020000, CRC(42786701) SHA1(6efb0cbf630cd1b87715e692f76e368e3fba0856), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 13)" ) - -GAME_CUSTOM( 199?, m4makmnt__9, m4makmnt, "mmg04s.p1", 0x0000, 0x020000, CRC(1c46683e) SHA1(d08589bb32056ea599e6ffbbb795f46f8eff0782), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 37)" ) +// "(C)1993 BARCREST" and "MMG 0.4" +GAME_CUSTOM( 199?, m4makmnt__9, m4makmnt, "mmg04s.p1", 0x0000, 0x020000, CRC(1c46683e) SHA1(d08589bb32056ea599e6ffbbb795f46f8eff0782), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.4)" ) GAME_CUSTOM( 199?, m4makmnt__z, m4makmnt, "mmg04ad.p1", 0x0000, 0x020000, CRC(9cbf9691) SHA1(a68f2e9e0ec03dc47017c221a3e780e5cc992a15), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 27)" ) GAME_CUSTOM( 199?, m4makmnt__0, m4makmnt, "mmg04b.p1", 0x0000, 0x020000, CRC(2507742d) SHA1(3bdd6f43da4d4c923bedcc1eba5cb1e1b92ee473), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 28)" ) GAME_CUSTOM( 199?, m4makmnt__1, m4makmnt, "mmg04bd.p1", 0x0000, 0x020000, CRC(11a53854) SHA1(e52ee92f39645380864e86c694a345c028cb42cf), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 29)" ) @@ -2010,8 +2011,8 @@ GAME_CUSTOM( 199?, m4makmnt__6, m4makmnt, "mmg04dy.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4makmnt__7, m4makmnt, "mmg04k.p1", 0x0000, 0x020000, CRC(6fc0dc7b) SHA1(4ad8ef1e666e4796d3a09ba4bda9e48c60266380), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 35)" ) GAME_CUSTOM( 199?, m4makmnt__8, m4makmnt, "mmg04r.p1", 0x0000, 0x020000, CRC(dccf674a) SHA1(a8b2ebeec8587e0655349baca700afc552c3e62d), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 36)" ) GAME_CUSTOM( 199?, m4makmnt__aa, m4makmnt, "mmg04y.p1", 0x0000, 0x020000, CRC(e823fc85) SHA1(10414bbac8ac3bdbf11bc4092370c499fb9db650), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 38)" ) - -GAME_CUSTOM( 199?, m4makmnt__al, m4makmnt, "mmg05s.p1", 0x0000, 0x020000, CRC(771c17c8) SHA1(d9e595ae020c48769fcbf3de718b6986b6fd8bc5), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 49)" ) +// "(C)1993 BARCREST" and "MMG 0.5" +GAME_CUSTOM( 199?, m4makmnt__al, m4makmnt, "mmg05s.p1", 0x0000, 0x020000, CRC(771c17c8) SHA1(d9e595ae020c48769fcbf3de718b6986b6fd8bc5), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.5)" ) GAME_CUSTOM( 199?, m4makmnt__ab, m4makmnt, "mmg05ad.p1", 0x0000, 0x020000, CRC(d1e70066) SHA1(9635da90808628ae84c6073fef9622a8f37bd069), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 39)" ) GAME_CUSTOM( 199?, m4makmnt__ac, m4makmnt, "mmg05b.p1", 0x0000, 0x020000, CRC(cc0335ff) SHA1(9ca52a49cc48cbfa7c394e0c22cc5075ad1096a1), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 40)" ) GAME_CUSTOM( 199?, m4makmnt__ad, m4makmnt, "mmg05bd.p1", 0x0000, 0x020000, CRC(5cfdaea3) SHA1(f9c5c4b4021ace3e17818c4d4462fe9c87a64d70), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 41)" ) @@ -2023,17 +2024,20 @@ GAME_CUSTOM( 199?, m4makmnt__ai, m4makmnt, "mmg05dy.p1", 0x0000, 0x020000, GAME_CUSTOM( 199?, m4makmnt__aj, m4makmnt, "mmg05k.p1", 0x0000, 0x020000, CRC(86c49da9) SHA1(bf29075a87574009f9ad8fd36e2d3a84c50e6b26), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 47)" ) GAME_CUSTOM( 199?, m4makmnt__ak, m4makmnt, "mmg05r.p1", 0x0000, 0x020000, CRC(35cb2698) SHA1(6371313a179559240ddb55976546ecc8d511e104), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 48)" ) GAME_CUSTOM( 199?, m4makmnt__am, m4makmnt, "mmg05y.p1", 0x0000, 0x020000, CRC(0127bd57) SHA1(3d1b59fda52f09fd8af59177b3f5c614b453ac25), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 50)" ) - -GAME_CUSTOM( 199?, m4makmnt__an, m4makmnt, "ma_x6__5.3_1", 0x0000, 0x010000, CRC(2fe3c309) SHA1(5dba65b29ea5492a78866863629d89f9a8588959), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 51)" ) -GAME_CUSTOM( 199?, m4makmnt__ao, m4makmnt, "ma_x6__c.3_1", 0x0000, 0x010000, CRC(e9259a4d) SHA1(9a8e9590403f507f83197a898af5d543bda81b2b), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 52)" ) -GAME_CUSTOM( 199?, m4makmnt__ap, m4makmnt, "ma_x6_d5.3_1", 0x0000, 0x010000, CRC(a93dba0d) SHA1(6fabe994ac6c9ea4ce2bae99df699fa100098926), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 53)" ) -GAME_CUSTOM( 199?, m4makmnt__aq, m4makmnt, "ma_x6_dc.3_1", 0x0000, 0x010000, CRC(805d75c2) SHA1(b2433556b72f89887c1e404c80d85c940535e8af), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 54)" ) -GAME_CUSTOM( 199?, m4makmnt__ar, m4makmnt, "ma_x6a_5.3_1", 0x0000, 0x010000, CRC(79f673de) SHA1(805ea08f5ed016d25ec23dbc3952aad4873a1cde), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 55)" ) -GAME_CUSTOM( 199?, m4makmnt__as, m4makmnt, "ma_x6a_c.3_1", 0x0000, 0x010000, CRC(43ede82a) SHA1(d6ec3dd170c56e90018568480bca72cd8390aa2d), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 56)" ) - -GAME_CUSTOM( 199?, m4makmnt__m, m4makmnt, "mam15g", 0x0000, 0x020000, CRC(d3fd61f9) SHA1(1c738f818ea84f4bfca3c62fd9c34ce5e983b10a), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4makmnt__n, m4makmnt, "mam15t", 0x0000, 0x020000, CRC(a5975cbe) SHA1(eb6dd70c79c6b051190055d71ec8421080e5ba39), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4makmnt__y, m4makmnt, "mint2010", 0x0000, 0x020000, CRC(e60d10b9) SHA1(3abe7a7f33a73827ed6585d92fe53d4058c87baf), "Barcrest","Make A Mint (Barcrest) (MPU4) (set 26)" ) +// "(C)1993 BARCREST" and "MMG 0.2" +GAME_CUSTOM( 199?, m4makmnt__y, m4makmnt, "mint2010", 0x0000, 0x020000, CRC(e60d10b9) SHA1(3abe7a7f33a73827ed6585d92fe53d4058c87baf), "Barcrest","Make A Mint (Barcrest) (MPU4) (MMG 0.2)" ) +// "(C)1997 B.W.B." and "MA_ 3.1" +GAME_CUSTOM( 199?, m4makmnt__an, m4makmnt, "ma_x6__5.3_1", 0x0000, 0x010000, CRC(2fe3c309) SHA1(5dba65b29ea5492a78866863629d89f9a8588959), "Bwb","Make A Mint (Barcrest) (MPU4) (MA_ 3.1)" ) +GAME_CUSTOM( 199?, m4makmnt__ap, m4makmnt, "ma_x6_d5.3_1", 0x0000, 0x010000, CRC(a93dba0d) SHA1(6fabe994ac6c9ea4ce2bae99df699fa100098926), "Bwb","Make A Mint (Barcrest) (MPU4) (MA_ 3.1 D)" ) +GAME_CUSTOM( 199?, m4makmnt__ar, m4makmnt, "ma_x6a_5.3_1", 0x0000, 0x010000, CRC(79f673de) SHA1(805ea08f5ed016d25ec23dbc3952aad4873a1cde), "Bwb","Make A Mint (Barcrest) (MPU4) (MA_ 3.1 K)" ) +// "(C)1997 B.W.B." and "MA_ 3.0" +GAME_CUSTOM( 199?, m4makmnt__ao, m4makmnt, "ma_x6__c.3_1", 0x0000, 0x010000, CRC(e9259a4d) SHA1(9a8e9590403f507f83197a898af5d543bda81b2b), "Bwb","Make A Mint (Barcrest) (MPU4) (MA_ 3.0)" ) +GAME_CUSTOM( 199?, m4makmnt__aq, m4makmnt, "ma_x6_dc.3_1", 0x0000, 0x010000, CRC(805d75c2) SHA1(b2433556b72f89887c1e404c80d85c940535e8af), "Bwb","Make A Mint (Barcrest) (MPU4) (MA_ 3.0 D)" ) +GAME_CUSTOM( 199?, m4makmnt__as, m4makmnt, "ma_x6a_c.3_1", 0x0000, 0x010000, CRC(43ede82a) SHA1(d6ec3dd170c56e90018568480bca72cd8390aa2d), "Bwb","Make A Mint (Barcrest) (MPU4) (MA_ 3.0 K)" ) +// "(C)1993 BARCREST" and "MMG 0.4" (but hack, doesn't want standard characterizer) +GAME_CUSTOM( 199?, m4makmnt__m, m4makmnt, "mam15g", 0x0000, 0x020000, CRC(d3fd61f9) SHA1(1c738f818ea84f4bfca3c62fd9c34ce5e983b10a), "hack","Make A Mint (Barcrest) (MPU4) (MMG 0.4, hack)" ) +// no copyright string and "MAM 0.3" +GAME_CUSTOM( 199?, m4makmnt__n, m4makmnt, "mam15t", 0x0000, 0x020000, CRC(a5975cbe) SHA1(eb6dd70c79c6b051190055d71ec8421080e5ba39), "hack","Make A Mint (Barcrest) (MPU4) (MAM 0.3 C, hack)" ) #define M4VIVAES_EXTRA_ROMS \ ROM_REGION( 0x48, "fakechr", 0 ) \ From cf1aaa81118831f2cce37872bf72c9174498277a Mon Sep 17 00:00:00 2001 From: "therealmogminer@gmail.com" Date: Fri, 12 Aug 2016 21:12:04 +0200 Subject: [PATCH 011/116] Fix up ROM loading in cmi driver, nw --- src/mame/drivers/cmi.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/mame/drivers/cmi.cpp b/src/mame/drivers/cmi.cpp index 12d69a4b1eb..9c7c765d3f9 100644 --- a/src/mame/drivers/cmi.cpp +++ b/src/mame/drivers/cmi.cpp @@ -209,14 +209,26 @@ MACHINE_CONFIG_END ROM_START( cmi2x ) ROM_REGION( 0x800, "commonrom", 0 ) - ROM_LOAD( "f8lmrk5.bin", 0x00000, 0x0800, CRC(12345678) SHA1(1234567812345678123456781234567812345678) ) + ROM_LOAD( "f8lmrk5.bin", 0x000, 0x800, CRC(cfc7967f) SHA1(0695cc757cf6fab35414dc068dd2a3e50084685c) ) ROM_REGION( 0x800, "percpurom", 0 ) - ROM_LOAD( "q9fomrk1.bin", 0x00000, 0x0800, CRC(12345678) SHA1(1234567812345678123456781234567812345678) ) + ROM_LOAD( "q9fomrk1.bin", 0x000, 0x800, CRC(16f195cc) SHA1(fcc4be370ba60ae5a4145c36cdbdc97a7be91f8f) ) + + ROM_REGION( 0x420, "proms", 0 ) + ROM_LOAD( "brom.bin", 0x000, 0x100, CRC(3f730d15) SHA1(095df6eee95b9ad6418b910fb5d2ae46913750f9) ) // Unknown use, lightgun/graphics card + ROM_LOAD( "srom.bin", 0x100, 0x100, CRC(a1b4b71b) SHA1(6ea96480af2f1e43967f209218a74fc17972ce0e) ) // Used to generate signal timing for lightpen + ROM_LOAD( "mrom.bin", 0x200, 0x100, CRC(dc26642c) SHA1(49b207ff80d1b055c3b855dc954129846c49bfe3) ) // Unknown use, master card + ROM_LOAD( "timrom.bin", 0x300, 0x100, CRC(a426e4a2) SHA1(6b7ea128c730f5afd1042820ccd55bbda683afd8) ) // Unknown use, master card + ROM_LOAD( "wrom.bin", 0x400, 0x020, CRC(68a9e17f) SHA1(c3364a37a8d19a1882d7910add1c1df9b63ee32c) ) // Unknown use, lightgun/graphics card + + // Should be odd/even bytes of a 68k region + ROM_REGION( 0x4000, "midiroms", 0 ) + ROM_LOAD( "mon1110e.bin", 0x0000, 0x2000, CRC(476f7d5f) SHA1(9af21e0072eaa58cae42947c20dca05d35dfadd0) ) // General input (MIDI/SMPTE) card (optional), even bytes + ROM_LOAD( "mon1110o.bin", 0x2000, 0x2000, CRC(150c8ebe) SHA1(bbd371bebac29628f60537832d0587e83323ad01) ) // General input (MIDI/SMPTE) card (optional), odd bytes ROM_END DRIVER_INIT_MEMBER( cmi_state, cmi2x ) { } -CONS( 1983, cmi2x, 0, 0, cmi2x, cmi2x, cmi_state, cmi2x, "Fairlight", "CMI IIx", MACHINE_NOT_WORKING ) +CONS( 1983, cmi2x, 0, 0, cmi2x, cmi2x, cmi_state, cmi2x, "Fairlight", "CMI IIx", MACHINE_NOT_WORKING | MACHINE_NO_SOUND ) From 531057bafae8138e63b03202a2aee7621327ec56 Mon Sep 17 00:00:00 2001 From: David Haywood Date: Fri, 12 Aug 2016 20:47:28 +0100 Subject: [PATCH 012/116] new clones Air Gallet (older) [Artemio Urbina] --- src/mame/drivers/cave.cpp | 94 ++++++++++++++++++++++++++++++++++++--- src/mame/includes/cave.h | 2 + src/mame/mame.lst | 6 +++ 3 files changed, 95 insertions(+), 7 deletions(-) diff --git a/src/mame/drivers/cave.cpp b/src/mame/drivers/cave.cpp index c22b7b48539..41a308110bf 100644 --- a/src/mame/drivers/cave.cpp +++ b/src/mame/drivers/cave.cpp @@ -2596,10 +2596,24 @@ static MACHINE_CONFIG_START( pwrinst2, cave_state ) MACHINE_CONFIG_END + + /*************************************************************************** Sailor Moon / Air Gallet ***************************************************************************/ +TIMER_DEVICE_CALLBACK_MEMBER( cave_state::sailormn_startup ) +{ + m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); +} + +MACHINE_RESET_MEMBER(cave_state,sailormn) +{ + timer_device *startup = machine().device("startup"); + startup->adjust(attotime::from_usec(1000), 0, attotime::zero); + MACHINE_RESET_CALL_MEMBER(cave); +} + static MACHINE_CONFIG_START( sailormn, cave_state ) /* basic machine hardware */ @@ -2607,6 +2621,9 @@ static MACHINE_CONFIG_START( sailormn, cave_state ) MCFG_CPU_PROGRAM_MAP(sailormn_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", cave_state, cave_interrupt) + // could be a wachdog, but if it is then our watchdog address is incorrect as there are periods where the game doesn't write it. + MCFG_TIMER_DRIVER_ADD("startup", cave_state, sailormn_startup) + MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz) // Bidirectional Communication MCFG_CPU_PROGRAM_MAP(sailormn_sound_map) MCFG_CPU_IO_MAP(sailormn_sound_portmap) @@ -2614,7 +2631,7 @@ static MACHINE_CONFIG_START( sailormn, cave_state ) // MCFG_QUANTUM_TIME(attotime::from_hz(600)) MCFG_MACHINE_START_OVERRIDE(cave_state,cave) - MCFG_MACHINE_RESET_OVERRIDE(cave_state,cave) + MCFG_MACHINE_RESET_OVERRIDE(cave_state,sailormn) MCFG_EEPROM_SERIAL_93C46_ADD("eeprom") MCFG_TIMER_DRIVER_ADD("int_timer", cave_state, cave_vblank_start) @@ -2649,6 +2666,8 @@ static MACHINE_CONFIG_START( sailormn, cave_state ) MCFG_OKIM6295_ADD("oki2", 2112000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MCFG_DEVICE_ADDRESS_MAP(AS_0, oki2_map) + + MACHINE_CONFIG_END @@ -2849,12 +2868,7 @@ BP962A.U77 23C16000 GFX ***************************************************************************/ - - -#define ROMS_AGALLET \ - ROM_REGION( 0x400000, "maincpu", 0 ) \ - ROM_LOAD16_WORD_SWAP( "bp962a.u45", 0x000000, 0x080000, CRC(24815046) SHA1(f5eeae60b923ae850b335e7898a2760407631d8b) ) \ - \ +#define ROMS_AGALLET_COMMON \ ROM_REGION( 0x80000, "audiocpu", 0 ) \ ROM_LOAD( "bp962a.u9", 0x00000, 0x80000, CRC(06caddbe) SHA1(6a3cc50558ba19a31b21b7f3ec6c6e2846244ff1) ) \ \ @@ -2881,6 +2895,14 @@ BP962A.U77 23C16000 GFX \ ROM_REGION( 0x200000, "oki2", 0 ) \ ROM_LOAD( "bp962a.u47", 0x000000, 0x200000, CRC(6d4e9737) SHA1(81c7ecdfc2d38d0b35e26745866f6672f566f936) ) + + +// these roms were dumped from a board set to Taiwanese region. +#define ROMS_AGALLET \ + ROM_REGION( 0x400000, "maincpu", 0 ) \ + ROM_LOAD16_WORD_SWAP( "bp962a.u45", 0x000000, 0x080000, CRC(24815046) SHA1(f5eeae60b923ae850b335e7898a2760407631d8b) ) \ + ROMS_AGALLET_COMMON + /* the regions differ only in the EEPROM, hence the macro above - all EEPROMs are Factory Defaulted */ ROM_START( agallet ) ROMS_AGALLET @@ -2924,6 +2946,55 @@ ROM_START( agalleth ) ROM_LOAD16_WORD( "agallet_hongkong.nv", 0x0000, 0x0080, CRC(998d1a74) SHA1(13e7e27a18417949d49e97d521781fc0feeef792) ) ROM_END +// these roms were dumped from a board set to the Japanese region. +#define ROMS_AGALLETA \ + ROM_REGION( 0x400000, "maincpu", 0 ) \ + ROM_LOAD16_WORD_SWAP( "u45", 0x000000, 0x080000, CRC(2cab18b0) SHA1(5e779b74d8520cb482697b5efba4746854e7c9fe) ) \ + ROMS_AGALLET_COMMON + +/* the regions differ only in the EEPROM, hence the macro above - all EEPROMs are Factory Defaulted */ +ROM_START( agalleta ) + ROMS_AGALLETA + + ROM_REGION16_BE( 0x80, "eeprom", 0 ) + ROM_LOAD16_WORD( "agallet_europe.nv", 0x0000, 0x0080, CRC(ec38bf65) SHA1(cb8d9eacc0cf55a0c6b187e6673e3354554314b5) ) +ROM_END + +ROM_START( agalletau ) + ROMS_AGALLETA + + ROM_REGION16_BE( 0x80, "eeprom", 0 ) + ROM_LOAD16_WORD( "agallet_usa.nv", 0x0000, 0x0080, CRC(72e65056) SHA1(abf1a86df01064d9d5d8c418e8367817319ec335) ) +ROM_END + +ROM_START( agalletaj ) // the dumped board was this region + ROMS_AGALLETA + + ROM_REGION16_BE( 0x80, "eeprom", 0 ) + ROM_LOAD16_WORD( "agallet_japan.nv", 0x0000, 0x0080, CRC(0753f547) SHA1(aabb987470406b8729894108bc4d050f7200917d) ) +ROM_END + +ROM_START( agalletak ) + ROMS_AGALLETA + + ROM_REGION16_BE( 0x80, "eeprom", 0 ) + ROM_LOAD16_WORD( "agallet_korea.nv", 0x0000, 0x0080, CRC(7f41c253) SHA1(50793d4da0ad6eb590941d26a729a1cf4b3c25c2) ) +ROM_END + +ROM_START( agalletat ) + ROMS_AGALLETA + + ROM_REGION16_BE( 0x80, "eeprom", 0 ) + ROM_LOAD16_WORD( "agallet_taiwan.nv", 0x0000, 0x0080, CRC(0af46742) SHA1(37b704c4c573b2aabd6f016e9e8dd458f95148f7) ) +ROM_END + +ROM_START( agalletah ) + ROMS_AGALLETA + + ROM_REGION16_BE( 0x80, "eeprom", 0 ) + ROM_LOAD16_WORD( "agallet_hongkong.nv", 0x0000, 0x0080, CRC(998d1a74) SHA1(13e7e27a18417949d49e97d521781fc0feeef792) ) +ROM_END + /*************************************************************************** Fever SOS (International) / Dangun Feveron (Japan) @@ -5032,6 +5103,15 @@ GAME( 1996, agalletj, agallet, sailormn, cave, cave_state, agallet, ROT2 GAME( 1996, agalletk, agallet, sailormn, cave, cave_state, agallet, ROT270, "Gazelle (Banpresto license)", "Air Gallet (Korea)", MACHINE_SUPPORTS_SAVE ) GAME( 1996, agallett, agallet, sailormn, cave, cave_state, agallet, ROT270, "Gazelle (Banpresto license)", "Air Gallet (Taiwan)", MACHINE_SUPPORTS_SAVE ) GAME( 1996, agalleth, agallet, sailormn, cave, cave_state, agallet, ROT270, "Gazelle (Banpresto license)", "Air Gallet (Hong Kong)", MACHINE_SUPPORTS_SAVE ) +// this set appears to be older, there is some kind of reset circuit / watchdog circuit check on startup, the same check exists in the above set but the code skips over it so presumably it was removed +// to avoid boards simply hanging on a black screen if the circuit didn't fire. +GAME( 1996, agalleta, agallet, sailormn, cave, cave_state, agallet, ROT270, "Gazelle (Banpresto license)", "Air Gallet (older, Europe)", MACHINE_SUPPORTS_SAVE ) +GAME( 1996, agalletau, agallet, sailormn, cave, cave_state, agallet, ROT270, "Gazelle (Banpresto license)", "Air Gallet (older, USA)", MACHINE_SUPPORTS_SAVE ) +GAME( 1996, agalletaj, agallet, sailormn, cave, cave_state, agallet, ROT270, "Gazelle (Banpresto license)", "Akuu Gallet (older, Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1996, agalletak, agallet, sailormn, cave, cave_state, agallet, ROT270, "Gazelle (Banpresto license)", "Air Gallet (older, Korea)", MACHINE_SUPPORTS_SAVE ) +GAME( 1996, agalletat, agallet, sailormn, cave, cave_state, agallet, ROT270, "Gazelle (Banpresto license)", "Air Gallet (older, Taiwan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1996, agalletah, agallet, sailormn, cave, cave_state, agallet, ROT270, "Gazelle (Banpresto license)", "Air Gallet (older, Hong Kong)", MACHINE_SUPPORTS_SAVE ) + GAME( 1996, hotdogst, 0, hotdogst, cave, cave_state, hotdogst, ROT90, "Marble", "Hotdog Storm (International)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/includes/cave.h b/src/mame/includes/cave.h index 187444027fa..cc0533ce479 100644 --- a/src/mame/includes/cave.h +++ b/src/mame/includes/cave.h @@ -216,6 +216,7 @@ public: TILE_GET_INFO_MEMBER(get_tile_info_3); DECLARE_MACHINE_START(cave); DECLARE_MACHINE_RESET(cave); + DECLARE_MACHINE_RESET(sailormn); DECLARE_VIDEO_START(cave_2_layers); DECLARE_PALETTE_INIT(dfeveron); DECLARE_VIDEO_START(cave_3_layers); @@ -241,6 +242,7 @@ public: TIMER_DEVICE_CALLBACK_MEMBER(cave_vblank_start_left); TIMER_DEVICE_CALLBACK_MEMBER(cave_vblank_start_right); TIMER_DEVICE_CALLBACK_MEMBER(timer_lev2_cb); + TIMER_DEVICE_CALLBACK_MEMBER(sailormn_startup); void cave_get_sprite_info(int chip); void cave_get_sprite_info_all(); void sailormn_tilebank_w(int bank); diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 07582df5d80..3878c00c4eb 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -9076,6 +9076,12 @@ agalletj // (c) 1996 Banpresto / Gazelle (country is in E agalletk // (c) 1996 Banpresto / Gazelle (country is in EEPROM) agallett // (c) 1996 Banpresto / Gazelle (country is in EEPROM) agalletu // (c) 1996 Banpresto / Gazelle (country is in EEPROM) +agalleta // (c) 1996 Banpresto / Gazelle (country is in EEPROM) +agalletah // (c) 1996 Banpresto / Gazelle (country is in EEPROM) +agalletaj // (c) 1996 Banpresto / Gazelle (country is in EEPROM) +agalletak // (c) 1996 Banpresto / Gazelle (country is in EEPROM) +agalletat // (c) 1996 Banpresto / Gazelle (country is in EEPROM) +agalletau // (c) 1996 Banpresto / Gazelle (country is in EEPROM) crusherm // (c) 1999 Takumi ddonpach // (c) 1997 Atlus/Cave ddonpacha // hack From 5d11295b35bf42835075e409cf785a734fb267e0 Mon Sep 17 00:00:00 2001 From: Scott Stone Date: Fri, 12 Aug 2016 20:09:02 -0400 Subject: [PATCH 013/116] =?UTF-8?q?Compile=20fix=20from=20Ren=C3=A9=20=20(?= =?UTF-8?q?nw)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/devices/machine/mc6852.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/devices/machine/mc6852.cpp b/src/devices/machine/mc6852.cpp index 957aa66413e..e8ed3241b92 100644 --- a/src/devices/machine/mc6852.cpp +++ b/src/devices/machine/mc6852.cpp @@ -197,8 +197,8 @@ WRITE8_MEMBER( mc6852_device::write ) if (LOG) logerror("MC6852 '%s' Control 2 %02x\n", tag(), data); m_cr[1] = data; - int data_bit_count; - parity_t parity; + int data_bit_count = 0; + parity_t parity = PARITY_NONE; stop_bits_t stop_bits = STOP_BITS_1; switch (data & C2_WS_MASK) From 582c8fc95dfa8ff94b875b1cf1e63292b3e48e41 Mon Sep 17 00:00:00 2001 From: Shideravan Date: Fri, 12 Aug 2016 22:40:25 -0300 Subject: [PATCH 014/116] It's time to add Animal Crossing Series 2 in the e-reader software-list --- hash/gba_ereader.xml | 760 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 760 insertions(+) diff --git a/hash/gba_ereader.xml b/hash/gba_ereader.xml index bade30f1a25..a4792c0da8a 100644 --- a/hash/gba_ereader.xml +++ b/hash/gba_ereader.xml @@ -666,4 +666,764 @@ + + Animal Crossing-e - Series 2 - Aurora (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Ava (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Baabara (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Boots (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Boy (USA) (1) (Strip 1) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Boy (USA) (1) (Strip 2) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Boy (USA) (2) (Strip 1) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Boy (USA) (2) (Strip 2) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Bubbles (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Butch (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Buzz (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Camofrog (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Chief (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Chuck (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Coco (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Cookie (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Copper (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Curly (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Cyrano (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Derwin (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Dobie (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Doc (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Dozer (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Elina (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Elmer (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Eloise (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Eunice (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Filbert (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Franklin (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Girl (USA) (1) (Strip 1) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Girl (USA) (1) (Strip 2) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Girl (USA) (2) (Strip 1) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Girl (USA) (2) (Strip 2) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Grizzly (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Iggy (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Jay (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Jingle (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Joan (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - K.K. Aria (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - K.K. Country (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - K.K. Parade (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - K.K. Tour Tee (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Kitt (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Leigh (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Lily (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Limberg (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Lucy (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Marcy (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Midge (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Mr. Resetti & Don (USA) (Strip 1) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Mr. Resetti & Don (USA) (Strip 2) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Olive (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Olivia (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Patty (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Peaches (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Peewee (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Pelly (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Pikmin Pattern (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Pompom (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Poncho (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Puddles (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Purrl (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Redd (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Roald (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Saharah (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Sally (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Samson (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Samus's Suit (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Senor K.K. (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Sprocket (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Star Fox Emblem (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Stinky (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Tom Nook (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Tybalt (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Vladimir (USA) + 200? + Nintendo + + + + + + + + Animal Crossing-e - Series 2 - Yuka (USA) + 200? + Nintendo + + + + + + From 8d5c5edbc573c84661ae0dd5607934972f54510e Mon Sep 17 00:00:00 2001 From: Robbbert Date: Sat, 13 Aug 2016 14:27:32 +1000 Subject: [PATCH 015/116] Fixed MESS-only build (nw) --- src/mame/mess.flt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mame/mess.flt b/src/mame/mess.flt index d9d3e1ce422..b60bb60c25f 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -112,6 +112,7 @@ chessmst.cpp chesstrv.cpp clcd.cpp cm1800.cpp +cmi.cpp coco12.cpp coco3.cpp codata.cpp From 0a9924d036aec4ca47a3af278f2d14e20f570ba1 Mon Sep 17 00:00:00 2001 From: Logan B Date: Sat, 13 Aug 2016 18:04:33 +1200 Subject: [PATCH 016/116] Minor fixes (nw) ys3 wants to load the intro disk first, but fails after loading the IPL. ys2 wants you to insert disk A (flop2) into the first drive (drive 0) at that screen, then press Enter. --- hash/x1_flop.xml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/hash/x1_flop.xml b/hash/x1_flop.xml index 4e6e8f9c865..61e8f801c3d 100644 --- a/hash/x1_flop.xml +++ b/hash/x1_flop.xml @@ -7,7 +7,6 @@ but the website only covers post 1985 titles... Games I haven't managed to start (possibly due to my mistakes): * zeliard: at the end of the intro it prints "read EMM address [00]" while waiting for something -* ys2: after the Falcom screen it prints a message on-screen and waits for something to happen * suikoden, sangoku2, sangoku2a, nobuseng: sits to a jpn message waiting for who knows what * revolty2: waits for something to happen * reviver: waits for something to happen @@ -38,6 +37,7 @@ Games with possible issues (either in emulation or in dump): * aokiooka: glitches (chars cut in half) * alpha: is the title screen correct or is it glitched (I'd bet the latter)? * advfant: glitches +* ys: character sprite is glitched until you enter a new area Games which start loading but never reach the program: * vipc @@ -52,9 +52,9 @@ Games which start loading but never reach the program: * jesusd * hydlide3, hydlide3a (invalid disks 2?) * aztec +* ys3 Games which are completely not recognized (maybe not for x1?) -* ys3 * unk_fl1 * srdemo * robowres @@ -4175,19 +4175,20 @@ Plus, some games crash MESS at exit (e.g. some sorcer disks or some arcus disks) Wanderers from Ys 1989? 日本ファルコム (Nihon Falcom) + - + - + - + From 79c31ec94a9196eed0265bb42c74f4ee0e10bf8e Mon Sep 17 00:00:00 2001 From: "therealmogminer@gmail.com" Date: Sat, 13 Aug 2016 12:14:01 +0200 Subject: [PATCH 017/116] Update cmi2x roms, nw --- src/mame/drivers/cmi.cpp | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/mame/drivers/cmi.cpp b/src/mame/drivers/cmi.cpp index 9c7c765d3f9..5927caa4ca5 100644 --- a/src/mame/drivers/cmi.cpp +++ b/src/mame/drivers/cmi.cpp @@ -214,17 +214,30 @@ ROM_START( cmi2x ) ROM_REGION( 0x800, "percpurom", 0 ) ROM_LOAD( "q9fomrk1.bin", 0x000, 0x800, CRC(16f195cc) SHA1(fcc4be370ba60ae5a4145c36cdbdc97a7be91f8f) ) + /* QFC9 Floppy disk controller driver */ + ROM_REGION( 0x800, "qfc9", 0 ) + ROM_LOAD( "dqfc911.bin", 0x00, 0x800, CRC(5bc38db2) SHA1(bd840e19e51a336e669c40b9e18cdaf6b3c62a8a) ) + + /* Musical keyboard CPU */ + ROM_REGION( 0x10000, "muskeys", 0 ) + ROM_LOAD( "velkeysd.bin", 0xb000, 0x0400, CRC(9b636781) SHA1(be29a72a1d6d313dafe0b63951b5e3e18ddb9a21) ) + ROM_LOAD( "kbdioa.bin", 0xfc00, 0x0400, CRC(a5cbe218) SHA1(bc6784aaa5697c28eab126e20500139b8d0c1f50) ) + + /* Alphanumeric keyboard CPU */ + ROM_REGION( 0x10000, "alphakeys", 0 ) + ROM_LOAD( "cmikeys4.bin", 0xc000, 0x4000, CRC(b214fbe9) SHA1(8c404f58ba3e5a50aa42f761e966c74374e96cc9) ) + + /* General Interface (SMPTE/MIDI) CPU */ + ROM_REGION( 0x4000, "smptemidi", 0 ) + ROM_LOAD16_BYTE( "mon1110e.bin", 0x0000, 0x2000, CRC(476f7d5f) SHA1(9af21e0072eaa58cae42947c20dca05d35dfadd0) ) + ROM_LOAD16_BYTE( "mon1110o.bin", 0x0001, 0x2000, CRC(150c8ebe) SHA1(bbd371bebac29628f60537832d0587e83323ad01) ) + ROM_REGION( 0x420, "proms", 0 ) ROM_LOAD( "brom.bin", 0x000, 0x100, CRC(3f730d15) SHA1(095df6eee95b9ad6418b910fb5d2ae46913750f9) ) // Unknown use, lightgun/graphics card ROM_LOAD( "srom.bin", 0x100, 0x100, CRC(a1b4b71b) SHA1(6ea96480af2f1e43967f209218a74fc17972ce0e) ) // Used to generate signal timing for lightpen ROM_LOAD( "mrom.bin", 0x200, 0x100, CRC(dc26642c) SHA1(49b207ff80d1b055c3b855dc954129846c49bfe3) ) // Unknown use, master card ROM_LOAD( "timrom.bin", 0x300, 0x100, CRC(a426e4a2) SHA1(6b7ea128c730f5afd1042820ccd55bbda683afd8) ) // Unknown use, master card ROM_LOAD( "wrom.bin", 0x400, 0x020, CRC(68a9e17f) SHA1(c3364a37a8d19a1882d7910add1c1df9b63ee32c) ) // Unknown use, lightgun/graphics card - - // Should be odd/even bytes of a 68k region - ROM_REGION( 0x4000, "midiroms", 0 ) - ROM_LOAD( "mon1110e.bin", 0x0000, 0x2000, CRC(476f7d5f) SHA1(9af21e0072eaa58cae42947c20dca05d35dfadd0) ) // General input (MIDI/SMPTE) card (optional), even bytes - ROM_LOAD( "mon1110o.bin", 0x2000, 0x2000, CRC(150c8ebe) SHA1(bbd371bebac29628f60537832d0587e83323ad01) ) // General input (MIDI/SMPTE) card (optional), odd bytes ROM_END DRIVER_INIT_MEMBER( cmi_state, cmi2x ) From c9c7a0d94651b6768faa50fde0d19e96dfc4a2a2 Mon Sep 17 00:00:00 2001 From: "therealmogminer@gmail.com" Date: Sat, 13 Aug 2016 12:48:05 +0200 Subject: [PATCH 018/116] More cmi2x rom updating, nw --- src/mame/drivers/cmi.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/mame/drivers/cmi.cpp b/src/mame/drivers/cmi.cpp index 5927caa4ca5..621f91fffc9 100644 --- a/src/mame/drivers/cmi.cpp +++ b/src/mame/drivers/cmi.cpp @@ -219,19 +219,28 @@ ROM_START( cmi2x ) ROM_LOAD( "dqfc911.bin", 0x00, 0x800, CRC(5bc38db2) SHA1(bd840e19e51a336e669c40b9e18cdaf6b3c62a8a) ) /* Musical keyboard CPU */ + // Both of these dumps have been trimmed to size from within a roughly 2x-bigger file. + // The actual size is known based on the format apparently used by the dumping device, shared with the prom + // dumps and cmikeys4.bin dump. ROM_REGION( 0x10000, "muskeys", 0 ) ROM_LOAD( "velkeysd.bin", 0xb000, 0x0400, CRC(9b636781) SHA1(be29a72a1d6d313dafe0b63951b5e3e18ddb9a21) ) ROM_LOAD( "kbdioa.bin", 0xfc00, 0x0400, CRC(a5cbe218) SHA1(bc6784aaa5697c28eab126e20500139b8d0c1f50) ) /* Alphanumeric keyboard CPU */ + // This dump has been trimmed to size from within a roughly 2x-bigger file. The actual size is known based + // on the format apparently used by the dumping device, shared with the prom dumps and music keys dump. ROM_REGION( 0x10000, "alphakeys", 0 ) - ROM_LOAD( "cmikeys4.bin", 0xc000, 0x4000, CRC(b214fbe9) SHA1(8c404f58ba3e5a50aa42f761e966c74374e96cc9) ) + ROM_LOAD( "cmikeys4.bin", 0xc000, 0x400, CRC(b214fbe9) SHA1(8c404f58ba3e5a50aa42f761e966c74374e96cc9) ) /* General Interface (SMPTE/MIDI) CPU */ ROM_REGION( 0x4000, "smptemidi", 0 ) ROM_LOAD16_BYTE( "mon1110e.bin", 0x0000, 0x2000, CRC(476f7d5f) SHA1(9af21e0072eaa58cae42947c20dca05d35dfadd0) ) ROM_LOAD16_BYTE( "mon1110o.bin", 0x0001, 0x2000, CRC(150c8ebe) SHA1(bbd371bebac29628f60537832d0587e83323ad01) ) + // All of these PROM dumps have been trimmed to size from within a roughly 2x-bigger file. + // The actual sizes are known from the schematics and the starting address of the actual PROM data was obvious + // based on repeated data in some of the 256x4 PROMs, but it would be nice to get redumps, in the extremely + // unlikely event that someone finds a CMI IIx for sale. ROM_REGION( 0x420, "proms", 0 ) ROM_LOAD( "brom.bin", 0x000, 0x100, CRC(3f730d15) SHA1(095df6eee95b9ad6418b910fb5d2ae46913750f9) ) // Unknown use, lightgun/graphics card ROM_LOAD( "srom.bin", 0x100, 0x100, CRC(a1b4b71b) SHA1(6ea96480af2f1e43967f209218a74fc17972ce0e) ) // Used to generate signal timing for lightpen From 8ff79b4f78f3233c7ca94483f6dc8404078d439f Mon Sep 17 00:00:00 2001 From: David Haywood Date: Sat, 13 Aug 2016 11:55:51 +0100 Subject: [PATCH 019/116] more mpu4 (nw) --- src/mame/drivers/mpu4sw.hxx | 246 ++++++++++++++++++------------------ 1 file changed, 123 insertions(+), 123 deletions(-) diff --git a/src/mame/drivers/mpu4sw.hxx b/src/mame/drivers/mpu4sw.hxx index 7f50bf7e7d2..351682f858d 100644 --- a/src/mame/drivers/mpu4sw.hxx +++ b/src/mame/drivers/mpu4sw.hxx @@ -1179,78 +1179,78 @@ GAME_CUSTOM( 199?, m4wta__af, m4wta, "wta5.5n", // "(C)1993 BARCREST" and "GTR 2.0" GAME_CUSTOM( 199?, m4goodtm, 0, "gtr20s.p1", 0x0000, 0x020000, CRC(91d2632d) SHA1(b8a7ef106a16e0526626cd69e82d07616d5c07d9), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0)" ) -GAME_CUSTOM( 199?, m4goodtm__ae, m4goodtm, "gtr20d.p1", 0x0000, 0x020000, CRC(a19eaef1) SHA1(5e9f9cffd841b9d4f21175e3dcec7436d016bb19), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 1)" ) -GAME_CUSTOM( 199?, m4goodtm__4, m4goodtm, "gtr20ad.p1", 0x0000, 0x020000, CRC(38cf724f) SHA1(e58c02e5ca4ff0ecab41fe4597aa652ff8cc604f), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 32)" ) -GAME_CUSTOM( 199?, m4goodtm__5, m4goodtm, "gtr20b.p1", 0x0000, 0x020000, CRC(820d5cba) SHA1(d297500c3a5388d7c9203fcb15778079e8671329), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 33)" ) -GAME_CUSTOM( 199?, m4goodtm__6, m4goodtm, "gtr20bd.p1", 0x0000, 0x020000, CRC(7208da19) SHA1(c28b50eb91204a7494664b082ce57a910fdb29fd), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 34)" ) -GAME_CUSTOM( 199?, m4goodtm__7, m4goodtm, "gtr20dh.p1", 0x0000, 0x020000, CRC(0f13d16f) SHA1(3a159982a3c5231d577848ca1cde17e8d84660a1), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 35)" ) -GAME_CUSTOM( 199?, m4goodtm__8, m4goodtm, "gtr20dk.p1", 0x0000, 0x020000, CRC(8bc0c97e) SHA1(3b3eb7e44aa3f9ce19f6f612ea6bd24cc78630ff), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 36)" ) -GAME_CUSTOM( 199?, m4goodtm__9, m4goodtm, "gtr20dr.p1", 0x0000, 0x020000, CRC(112e17c7) SHA1(519a62d61a0aa8dc2433369bd74f62f61a85994c), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 37)" ) -GAME_CUSTOM( 199?, m4goodtm__aa, m4goodtm, "gtr20dy.p1", 0x0000, 0x020000, CRC(bf2c52b1) SHA1(c8f97b56e9782b23c0ca8795ae2663c89660225e), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 38)" ) -GAME_CUSTOM( 199?, m4goodtm__ab, m4goodtm, "gtr20h.p1", 0x0000, 0x020000, CRC(ff1657cc) SHA1(07dfbc8c2b2d8fb7001ef51d80ef46562111d3ac), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 39)" ) -GAME_CUSTOM( 199?, m4goodtm__ac, m4goodtm, "gtr20k.p1", 0x0000, 0x020000, CRC(7bc54fdd) SHA1(287c1a403429bae1cc3a4ba9dfe9b510777a64b1), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 40)" ) -GAME_CUSTOM( 199?, m4goodtm__ad, m4goodtm, "gtr20r.p1", 0x0000, 0x020000, CRC(e12b9164) SHA1(a54993c4f9ffc08c03905e6f50e499eba13db0d6), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 41)" ) -GAME_CUSTOM( 199?, m4goodtm__af, m4goodtm, "gtr20y.p1", 0x0000, 0x020000, CRC(4f29d412) SHA1(c6a72e6fa7daaa6d8622936d10ae745814f4a8b7), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 43)" ) +GAME_CUSTOM( 199?, m4goodtm__ae, m4goodtm, "gtr20d.p1", 0x0000, 0x020000, CRC(a19eaef1) SHA1(5e9f9cffd841b9d4f21175e3dcec7436d016bb19), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 D)" ) +GAME_CUSTOM( 199?, m4goodtm__4, m4goodtm, "gtr20ad.p1", 0x0000, 0x020000, CRC(38cf724f) SHA1(e58c02e5ca4ff0ecab41fe4597aa652ff8cc604f), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 AD)" ) +GAME_CUSTOM( 199?, m4goodtm__5, m4goodtm, "gtr20b.p1", 0x0000, 0x020000, CRC(820d5cba) SHA1(d297500c3a5388d7c9203fcb15778079e8671329), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 B)" ) +GAME_CUSTOM( 199?, m4goodtm__6, m4goodtm, "gtr20bd.p1", 0x0000, 0x020000, CRC(7208da19) SHA1(c28b50eb91204a7494664b082ce57a910fdb29fd), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 BD)" ) +GAME_CUSTOM( 199?, m4goodtm__7, m4goodtm, "gtr20dh.p1", 0x0000, 0x020000, CRC(0f13d16f) SHA1(3a159982a3c5231d577848ca1cde17e8d84660a1), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 DH)" ) +GAME_CUSTOM( 199?, m4goodtm__8, m4goodtm, "gtr20dk.p1", 0x0000, 0x020000, CRC(8bc0c97e) SHA1(3b3eb7e44aa3f9ce19f6f612ea6bd24cc78630ff), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 KD)" ) +GAME_CUSTOM( 199?, m4goodtm__9, m4goodtm, "gtr20dr.p1", 0x0000, 0x020000, CRC(112e17c7) SHA1(519a62d61a0aa8dc2433369bd74f62f61a85994c), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 RD)" ) +GAME_CUSTOM( 199?, m4goodtm__aa, m4goodtm, "gtr20dy.p1", 0x0000, 0x020000, CRC(bf2c52b1) SHA1(c8f97b56e9782b23c0ca8795ae2663c89660225e), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 YD)" ) +GAME_CUSTOM( 199?, m4goodtm__ab, m4goodtm, "gtr20h.p1", 0x0000, 0x020000, CRC(ff1657cc) SHA1(07dfbc8c2b2d8fb7001ef51d80ef46562111d3ac), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 H)" ) +GAME_CUSTOM( 199?, m4goodtm__ac, m4goodtm, "gtr20k.p1", 0x0000, 0x020000, CRC(7bc54fdd) SHA1(287c1a403429bae1cc3a4ba9dfe9b510777a64b1), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 K)" ) +GAME_CUSTOM( 199?, m4goodtm__ad, m4goodtm, "gtr20r.p1", 0x0000, 0x020000, CRC(e12b9164) SHA1(a54993c4f9ffc08c03905e6f50e499eba13db0d6), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 R)" ) +GAME_CUSTOM( 199?, m4goodtm__af, m4goodtm, "gtr20y.p1", 0x0000, 0x020000, CRC(4f29d412) SHA1(c6a72e6fa7daaa6d8622936d10ae745814f4a8b7), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 2.0 Y)" ) // "(C)1993 BARCREST" and "GTA 0.1" GAME_CUSTOM( 199?, m4goodtm__l, m4goodtm, "gta01s.p1", 0x0000, 0x020000, CRC(4340d9f6) SHA1(e9ccd419318bc3a3aba35a0104a98d1756b41731), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1)" ) -GAME_CUSTOM( 199?, m4goodtm__a, m4goodtm, "gta01ad.p1", 0x0000, 0x020000, CRC(2b556e66) SHA1(50a042fdb53294f74ab23a41a8a850dd14ad580d), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4goodtm__b, m4goodtm, "gta01b.p1", 0x0000, 0x020000, CRC(67dc4342) SHA1(bade42f329b4ab19e5802d8ac8b139486b05ac5a), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4goodtm__c, m4goodtm, "gta01bd.p1", 0x0000, 0x020000, CRC(6192c630) SHA1(f18c5042dc45add52b3bd0c28ad1574a85a9f3c4), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4goodtm__d, m4goodtm, "gta01d.p1", 0x0000, 0x020000, CRC(eac6ed87) SHA1(14e424b6a3232d751e5b800395b2962f997afb74), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4goodtm__e, m4goodtm, "gta01dh.p1", 0x0000, 0x020000, CRC(4201347b) SHA1(f0c086f15baa0f458f64a6d4ff7da297d9b53c8f), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4goodtm__f, m4goodtm, "gta01dk.p1", 0x0000, 0x020000, CRC(985ad557) SHA1(404a42f03d733ca6d89ec558ba6b5d815e8ce339), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4goodtm__g, m4goodtm, "gta01dr.p1", 0x0000, 0x020000, CRC(02b40bee) SHA1(a5bc063b0eac1689b13e9b523844aee105086c6b), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4goodtm__h, m4goodtm, "gta01dy.p1", 0x0000, 0x020000, CRC(acb64e98) SHA1(93d7252fe15e6a3db760b0218b4610cb5acbaca3), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4goodtm__i, m4goodtm, "gta01h.p1", 0x0000, 0x020000, CRC(444fb109) SHA1(ad04dbc67dade0012ce61718854f7656abd9d342), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4goodtm__j, m4goodtm, "gta01k.p1", 0x0000, 0x020000, CRC(9e145025) SHA1(d26b4aaee4d08d7470e862dc0e5a80c914025991), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4goodtm__k, m4goodtm, "gta01r.p1", 0x0000, 0x020000, CRC(04fa8e9c) SHA1(9ac94b59dcf8e4e123dd0f1f422d23698f1c8c38), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4goodtm__m, m4goodtm, "gta01y.p1", 0x0000, 0x020000, CRC(aaf8cbea) SHA1(a027a0a243538a6b417b3859db90adc64eeb4d31), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4goodtm__a, m4goodtm, "gta01ad.p1", 0x0000, 0x020000, CRC(2b556e66) SHA1(50a042fdb53294f74ab23a41a8a850dd14ad580d), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1 AD)" ) +GAME_CUSTOM( 199?, m4goodtm__b, m4goodtm, "gta01b.p1", 0x0000, 0x020000, CRC(67dc4342) SHA1(bade42f329b4ab19e5802d8ac8b139486b05ac5a), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1 B)" ) +GAME_CUSTOM( 199?, m4goodtm__c, m4goodtm, "gta01bd.p1", 0x0000, 0x020000, CRC(6192c630) SHA1(f18c5042dc45add52b3bd0c28ad1574a85a9f3c4), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1 BD)" ) +GAME_CUSTOM( 199?, m4goodtm__d, m4goodtm, "gta01d.p1", 0x0000, 0x020000, CRC(eac6ed87) SHA1(14e424b6a3232d751e5b800395b2962f997afb74), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1 D)" ) +GAME_CUSTOM( 199?, m4goodtm__e, m4goodtm, "gta01dh.p1", 0x0000, 0x020000, CRC(4201347b) SHA1(f0c086f15baa0f458f64a6d4ff7da297d9b53c8f), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1 DH)" ) +GAME_CUSTOM( 199?, m4goodtm__f, m4goodtm, "gta01dk.p1", 0x0000, 0x020000, CRC(985ad557) SHA1(404a42f03d733ca6d89ec558ba6b5d815e8ce339), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1 KD)" ) +GAME_CUSTOM( 199?, m4goodtm__g, m4goodtm, "gta01dr.p1", 0x0000, 0x020000, CRC(02b40bee) SHA1(a5bc063b0eac1689b13e9b523844aee105086c6b), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1 RD)" ) +GAME_CUSTOM( 199?, m4goodtm__h, m4goodtm, "gta01dy.p1", 0x0000, 0x020000, CRC(acb64e98) SHA1(93d7252fe15e6a3db760b0218b4610cb5acbaca3), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1 YD)" ) +GAME_CUSTOM( 199?, m4goodtm__i, m4goodtm, "gta01h.p1", 0x0000, 0x020000, CRC(444fb109) SHA1(ad04dbc67dade0012ce61718854f7656abd9d342), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1 H)" ) +GAME_CUSTOM( 199?, m4goodtm__j, m4goodtm, "gta01k.p1", 0x0000, 0x020000, CRC(9e145025) SHA1(d26b4aaee4d08d7470e862dc0e5a80c914025991), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1 K)" ) +GAME_CUSTOM( 199?, m4goodtm__k, m4goodtm, "gta01r.p1", 0x0000, 0x020000, CRC(04fa8e9c) SHA1(9ac94b59dcf8e4e123dd0f1f422d23698f1c8c38), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1 R)" ) +GAME_CUSTOM( 199?, m4goodtm__m, m4goodtm, "gta01y.p1", 0x0000, 0x020000, CRC(aaf8cbea) SHA1(a027a0a243538a6b417b3859db90adc64eeb4d31), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTA 0.1 Y)" ) // "(C)1993 BARCREST" and "GTR 1.0" GAME_CUSTOM( 199?, m4goodtm__z, m4goodtm, "gtr10s.p1", 0x0000, 0x020000, CRC(f43fd459) SHA1(7247048088bd39cf8b20d96b1c08be48b005ac86), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0)" ) -GAME_CUSTOM( 199?, m4goodtm__o, m4goodtm, "gtr10ad.p1", 0x0000, 0x020000, CRC(b776f5dd) SHA1(9b6bf6b4d02e432ef411a9d2501c0dc7c5b551b1), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4goodtm__p, m4goodtm, "gtr10b.p1", 0x0000, 0x020000, CRC(3a0aee1d) SHA1(d7adf7118943ac946082b6c3687e10773f25608e), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4goodtm__q, m4goodtm, "gtr10bd.p1", 0x0000, 0x020000, CRC(fdb15d8b) SHA1(2542765c382cd84be1a1e7d6654e4668b1fc7fea), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4goodtm__r, m4goodtm, "gtr10d.p1", 0x0000, 0x020000, CRC(19991c56) SHA1(bed33027d8bc5dacc88d940ff3505be8186f5324), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4goodtm__s, m4goodtm, "gtr10dh.p1", 0x0000, 0x020000, CRC(80aa56fd) SHA1(f01edf442eee7dd78fbc934deb361d7e90c2025a), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4goodtm__t, m4goodtm, "gtr10dk.p1", 0x0000, 0x020000, CRC(04794eec) SHA1(3e2b95ed2092ad1c0242f8a6cb540de0c6f995a3), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4goodtm__u, m4goodtm, "gtr10dr.p1", 0x0000, 0x020000, CRC(9e979055) SHA1(b95111c4c986c4e9ceca9771ccb97fdeb67ffb02), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4goodtm__v, m4goodtm, "gtr10dy.p1", 0x0000, 0x020000, CRC(3095d523) SHA1(eed9cf874f13fe9576e8ba0da8296546311fff01), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4goodtm__w, m4goodtm, "gtr10h.p1", 0x0000, 0x020000, CRC(4711e56b) SHA1(3717b418758039286174594563281c21e4752eb5), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4goodtm__x, m4goodtm, "gtr10k.p1", 0x0000, 0x020000, CRC(c3c2fd7a) SHA1(d6e91fed1276c660cfe8e92c6902951803947a56), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4goodtm__y, m4goodtm, "gtr10r.p1", 0x0000, 0x020000, CRC(592c23c3) SHA1(17e7a22c9b80e8669cb46f691d56251bbf0717d0), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4goodtm__0, m4goodtm, "gtr10y.p1", 0x0000, 0x020000, CRC(f72e66b5) SHA1(14e09a94e1cde77e87573ad7e0f438485f637dfc), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 28)" ) +GAME_CUSTOM( 199?, m4goodtm__o, m4goodtm, "gtr10ad.p1", 0x0000, 0x020000, CRC(b776f5dd) SHA1(9b6bf6b4d02e432ef411a9d2501c0dc7c5b551b1), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0 AD)" ) +GAME_CUSTOM( 199?, m4goodtm__p, m4goodtm, "gtr10b.p1", 0x0000, 0x020000, CRC(3a0aee1d) SHA1(d7adf7118943ac946082b6c3687e10773f25608e), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0 B)" ) +GAME_CUSTOM( 199?, m4goodtm__q, m4goodtm, "gtr10bd.p1", 0x0000, 0x020000, CRC(fdb15d8b) SHA1(2542765c382cd84be1a1e7d6654e4668b1fc7fea), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0 BD)" ) +GAME_CUSTOM( 199?, m4goodtm__r, m4goodtm, "gtr10d.p1", 0x0000, 0x020000, CRC(19991c56) SHA1(bed33027d8bc5dacc88d940ff3505be8186f5324), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0 D)" ) +GAME_CUSTOM( 199?, m4goodtm__s, m4goodtm, "gtr10dh.p1", 0x0000, 0x020000, CRC(80aa56fd) SHA1(f01edf442eee7dd78fbc934deb361d7e90c2025a), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0 DH)" ) +GAME_CUSTOM( 199?, m4goodtm__t, m4goodtm, "gtr10dk.p1", 0x0000, 0x020000, CRC(04794eec) SHA1(3e2b95ed2092ad1c0242f8a6cb540de0c6f995a3), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0 KD)" ) +GAME_CUSTOM( 199?, m4goodtm__u, m4goodtm, "gtr10dr.p1", 0x0000, 0x020000, CRC(9e979055) SHA1(b95111c4c986c4e9ceca9771ccb97fdeb67ffb02), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0 RD)" ) +GAME_CUSTOM( 199?, m4goodtm__v, m4goodtm, "gtr10dy.p1", 0x0000, 0x020000, CRC(3095d523) SHA1(eed9cf874f13fe9576e8ba0da8296546311fff01), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0 YD)" ) +GAME_CUSTOM( 199?, m4goodtm__w, m4goodtm, "gtr10h.p1", 0x0000, 0x020000, CRC(4711e56b) SHA1(3717b418758039286174594563281c21e4752eb5), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0 H)" ) +GAME_CUSTOM( 199?, m4goodtm__x, m4goodtm, "gtr10k.p1", 0x0000, 0x020000, CRC(c3c2fd7a) SHA1(d6e91fed1276c660cfe8e92c6902951803947a56), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0 K)" ) +GAME_CUSTOM( 199?, m4goodtm__y, m4goodtm, "gtr10r.p1", 0x0000, 0x020000, CRC(592c23c3) SHA1(17e7a22c9b80e8669cb46f691d56251bbf0717d0), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0 R)" ) +GAME_CUSTOM( 199?, m4goodtm__0, m4goodtm, "gtr10y.p1", 0x0000, 0x020000, CRC(f72e66b5) SHA1(14e09a94e1cde77e87573ad7e0f438485f637dfc), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.0 Y)" ) // "(C)1993 BARCREST" and "GTS 0.1" GAME_CUSTOM( 199?, m4goodtm__ar, m4goodtm, "gts01s.p1", 0x0000, 0x020000, CRC(b3819e1f) SHA1(fb44500e06b8a6b09e6b707ee8c0cfe7844870a2), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1)" ) -GAME_CUSTOM( 199?, m4goodtm__ag, m4goodtm, "gts01ad.p1", 0x0000, 0x020000, CRC(b415d3f3) SHA1(a22d4cbce9b66049c000806b565c86cd3d91fd82), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 44)" ) -GAME_CUSTOM( 199?, m4goodtm__ah, m4goodtm, "gts01b.p1", 0x0000, 0x020000, CRC(a05ea188) SHA1(5b6acadaf8b0d18b9c9daaf4aea45202cad13355), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 45)" ) -GAME_CUSTOM( 199?, m4goodtm__ai, m4goodtm, "gts01bd.p1", 0x0000, 0x020000, CRC(fed27ba5) SHA1(14f6fd7c3e964c3e6547a4bf5fa5d7cd802f715d), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 46)" ) -GAME_CUSTOM( 199?, m4goodtm__aj, m4goodtm, "gts01d.p1", 0x0000, 0x020000, CRC(2d440f4d) SHA1(09881d8aede3a2011010022ee0e03ba8f02ea907), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 47)" ) -GAME_CUSTOM( 199?, m4goodtm__ak, m4goodtm, "gts01dh.p1", 0x0000, 0x020000, CRC(dd4189ee) SHA1(f68da5f688ffa08625c92fd139bef263c43f674a), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 48)" ) -GAME_CUSTOM( 199?, m4goodtm__al, m4goodtm, "gts01dk.p1", 0x0000, 0x020000, CRC(071a68c2) SHA1(ea2052a389df09e0d5614106cc20ee0eccd339dd), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 49)" ) -GAME_CUSTOM( 199?, m4goodtm__am, m4goodtm, "gts01dr.p1", 0x0000, 0x020000, CRC(9df4b67b) SHA1(608de0bb5280ac20c8c47eb22f8a575ad87a4fdd), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 50)" ) -GAME_CUSTOM( 199?, m4goodtm__an, m4goodtm, "gts01dy.p1", 0x0000, 0x020000, CRC(33f6f30d) SHA1(aae905d0d278c38497513eb131a7cdaab4d22a85), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 51)" ) -GAME_CUSTOM( 199?, m4goodtm__ao, m4goodtm, "gts01h.p1", 0x0000, 0x020000, CRC(83cd53c3) SHA1(a4233e22d0bf53b3ddc4c951894a653e7951f5ad), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 52)" ) -GAME_CUSTOM( 199?, m4goodtm__ap, m4goodtm, "gts01k.p1", 0x0000, 0x020000, CRC(5996b2ef) SHA1(874d69a4adc31667ea177b3a0350b77bb735ea8d), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 53)" ) -GAME_CUSTOM( 199?, m4goodtm__aq, m4goodtm, "gts01r.p1", 0x0000, 0x020000, CRC(c3786c56) SHA1(c9659df6302046c466e6447b8b427628c88b773d), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 54)" ) -GAME_CUSTOM( 199?, m4goodtm__as, m4goodtm, "gts01y.p1", 0x0000, 0x020000, CRC(6d7a2920) SHA1(7d31087e3645e05baf6b0100966d4773a6d023cd), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 56)" ) +GAME_CUSTOM( 199?, m4goodtm__ag, m4goodtm, "gts01ad.p1", 0x0000, 0x020000, CRC(b415d3f3) SHA1(a22d4cbce9b66049c000806b565c86cd3d91fd82), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 AD)" ) +GAME_CUSTOM( 199?, m4goodtm__ah, m4goodtm, "gts01b.p1", 0x0000, 0x020000, CRC(a05ea188) SHA1(5b6acadaf8b0d18b9c9daaf4aea45202cad13355), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 B)" ) +GAME_CUSTOM( 199?, m4goodtm__ai, m4goodtm, "gts01bd.p1", 0x0000, 0x020000, CRC(fed27ba5) SHA1(14f6fd7c3e964c3e6547a4bf5fa5d7cd802f715d), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 BD)" ) +GAME_CUSTOM( 199?, m4goodtm__aj, m4goodtm, "gts01d.p1", 0x0000, 0x020000, CRC(2d440f4d) SHA1(09881d8aede3a2011010022ee0e03ba8f02ea907), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 D)" ) +GAME_CUSTOM( 199?, m4goodtm__ak, m4goodtm, "gts01dh.p1", 0x0000, 0x020000, CRC(dd4189ee) SHA1(f68da5f688ffa08625c92fd139bef263c43f674a), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 DH)" ) +GAME_CUSTOM( 199?, m4goodtm__al, m4goodtm, "gts01dk.p1", 0x0000, 0x020000, CRC(071a68c2) SHA1(ea2052a389df09e0d5614106cc20ee0eccd339dd), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 KD)" ) +GAME_CUSTOM( 199?, m4goodtm__am, m4goodtm, "gts01dr.p1", 0x0000, 0x020000, CRC(9df4b67b) SHA1(608de0bb5280ac20c8c47eb22f8a575ad87a4fdd), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 RD)" ) +GAME_CUSTOM( 199?, m4goodtm__an, m4goodtm, "gts01dy.p1", 0x0000, 0x020000, CRC(33f6f30d) SHA1(aae905d0d278c38497513eb131a7cdaab4d22a85), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 YD)" ) +GAME_CUSTOM( 199?, m4goodtm__ao, m4goodtm, "gts01h.p1", 0x0000, 0x020000, CRC(83cd53c3) SHA1(a4233e22d0bf53b3ddc4c951894a653e7951f5ad), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 H)" ) +GAME_CUSTOM( 199?, m4goodtm__ap, m4goodtm, "gts01k.p1", 0x0000, 0x020000, CRC(5996b2ef) SHA1(874d69a4adc31667ea177b3a0350b77bb735ea8d), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 K)" ) +GAME_CUSTOM( 199?, m4goodtm__aq, m4goodtm, "gts01r.p1", 0x0000, 0x020000, CRC(c3786c56) SHA1(c9659df6302046c466e6447b8b427628c88b773d), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 R)" ) +GAME_CUSTOM( 199?, m4goodtm__as, m4goodtm, "gts01y.p1", 0x0000, 0x020000, CRC(6d7a2920) SHA1(7d31087e3645e05baf6b0100966d4773a6d023cd), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.1 Y)" ) // "(C)1993 BARCREST" and "GTS 1.0" GAME_CUSTOM( 199?, m4goodtm__a5, m4goodtm, "gts10s.p1", 0x0000, 0x020000, CRC(2851ba23) SHA1(7597a2df22aa0e2670be2d5bb2407ea1feace3a0), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0)" ) -GAME_CUSTOM( 199?, m4goodtm__au, m4goodtm, "gts10ad.p1", 0x0000, 0x020000, CRC(b754490c) SHA1(26811ae53b3ee8ae0a381604109f0f77f096e2c6), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 58)" ) -GAME_CUSTOM( 199?, m4goodtm__av, m4goodtm, "gts10b.p1", 0x0000, 0x020000, CRC(21410553) SHA1(2060269ab6dc9375b6e7101b3944305fcd4b6d12), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 59)" ) -GAME_CUSTOM( 199?, m4goodtm__aw, m4goodtm, "gts10bd.p1", 0x0000, 0x020000, CRC(fd93e15a) SHA1(b9574f34f1e7a92cc75d6aed8914f94ad661bba3), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 60)" ) -GAME_CUSTOM( 199?, m4goodtm__ax, m4goodtm, "gts10d.p1", 0x0000, 0x020000, CRC(ac5bab96) SHA1(2b4ab1f096a5d63d5688228debb25b392b94a297), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 61)" ) -GAME_CUSTOM( 199?, m4goodtm__ay, m4goodtm, "gts10dh.p1", 0x0000, 0x020000, CRC(de001311) SHA1(a096937e1f2fd2f9046c0ea2363805112da76c95), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 62)" ) -GAME_CUSTOM( 199?, m4goodtm__az, m4goodtm, "gts10dk.p1", 0x0000, 0x020000, CRC(045bf23d) SHA1(dd5567d4c07fba7ff1cc257db287e1a82d9b930a), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 63)" ) -GAME_CUSTOM( 199?, m4goodtm__a0, m4goodtm, "gts10dr.p1", 0x0000, 0x020000, CRC(9eb52c84) SHA1(385b09e424863f3778605c6e768c9b1068eae66e), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 64)" ) -GAME_CUSTOM( 199?, m4goodtm__a1, m4goodtm, "gts10dy.p1", 0x0000, 0x020000, CRC(30b769f2) SHA1(7cf1e66b992faf48b1fed39a005469e51d471a0b), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 65)" ) -GAME_CUSTOM( 199?, m4goodtm__a2, m4goodtm, "gts10h.p1", 0x0000, 0x020000, CRC(02d2f718) SHA1(9f46ef4cc7d08c42cf617b471e599ca21b4cd72f), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 66)" ) -GAME_CUSTOM( 199?, m4goodtm__a3, m4goodtm, "gts10k.p1", 0x0000, 0x020000, CRC(d8891634) SHA1(0019d2b3dd1c59d37d9c13e912907a55f2a9ca5f), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 67)" ) -GAME_CUSTOM( 199?, m4goodtm__a4, m4goodtm, "gts10r.p1", 0x0000, 0x020000, CRC(4267c88d) SHA1(22047782c384caeb9cf2de69dcdd05f42ee137ad), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 68)" ) -GAME_CUSTOM( 199?, m4goodtm__a6, m4goodtm, "gts10y.p1", 0x0000, 0x020000, CRC(ec658dfb) SHA1(a9d8ba1b66811ccd336892160d47e5d42eb83a23), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (set 70)" ) +GAME_CUSTOM( 199?, m4goodtm__au, m4goodtm, "gts10ad.p1", 0x0000, 0x020000, CRC(b754490c) SHA1(26811ae53b3ee8ae0a381604109f0f77f096e2c6), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 AD)" ) +GAME_CUSTOM( 199?, m4goodtm__av, m4goodtm, "gts10b.p1", 0x0000, 0x020000, CRC(21410553) SHA1(2060269ab6dc9375b6e7101b3944305fcd4b6d12), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 B)" ) +GAME_CUSTOM( 199?, m4goodtm__aw, m4goodtm, "gts10bd.p1", 0x0000, 0x020000, CRC(fd93e15a) SHA1(b9574f34f1e7a92cc75d6aed8914f94ad661bba3), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 BD)" ) +GAME_CUSTOM( 199?, m4goodtm__ax, m4goodtm, "gts10d.p1", 0x0000, 0x020000, CRC(ac5bab96) SHA1(2b4ab1f096a5d63d5688228debb25b392b94a297), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 D)" ) +GAME_CUSTOM( 199?, m4goodtm__ay, m4goodtm, "gts10dh.p1", 0x0000, 0x020000, CRC(de001311) SHA1(a096937e1f2fd2f9046c0ea2363805112da76c95), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 DH)" ) +GAME_CUSTOM( 199?, m4goodtm__az, m4goodtm, "gts10dk.p1", 0x0000, 0x020000, CRC(045bf23d) SHA1(dd5567d4c07fba7ff1cc257db287e1a82d9b930a), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 KD)" ) +GAME_CUSTOM( 199?, m4goodtm__a0, m4goodtm, "gts10dr.p1", 0x0000, 0x020000, CRC(9eb52c84) SHA1(385b09e424863f3778605c6e768c9b1068eae66e), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 RD)" ) +GAME_CUSTOM( 199?, m4goodtm__a1, m4goodtm, "gts10dy.p1", 0x0000, 0x020000, CRC(30b769f2) SHA1(7cf1e66b992faf48b1fed39a005469e51d471a0b), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 YD)" ) +GAME_CUSTOM( 199?, m4goodtm__a2, m4goodtm, "gts10h.p1", 0x0000, 0x020000, CRC(02d2f718) SHA1(9f46ef4cc7d08c42cf617b471e599ca21b4cd72f), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 H)" ) +GAME_CUSTOM( 199?, m4goodtm__a3, m4goodtm, "gts10k.p1", 0x0000, 0x020000, CRC(d8891634) SHA1(0019d2b3dd1c59d37d9c13e912907a55f2a9ca5f), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 K)" ) +GAME_CUSTOM( 199?, m4goodtm__a4, m4goodtm, "gts10r.p1", 0x0000, 0x020000, CRC(4267c88d) SHA1(22047782c384caeb9cf2de69dcdd05f42ee137ad), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 R)" ) +GAME_CUSTOM( 199?, m4goodtm__a6, m4goodtm, "gts10y.p1", 0x0000, 0x020000, CRC(ec658dfb) SHA1(a9d8ba1b66811ccd336892160d47e5d42eb83a23), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 1.0 Y)" ) // "(C)1993 BARCREST" and "GTS 0.2" GAME_CUSTOM( 199?, m4goodtm__at, m4goodtm, "gts02s.t", 0x0000, 0x020000, CRC(e4f5ebcc) SHA1(3e070628375db980583c3b38e2676d73fbeaae68), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTS 0.2)" ) // "(C)1993 BARCREST" and "GTK 0.2" -GAME_CUSTOM( 199?, m4goodtm__n, m4goodtm, "gtk02k.p1", 0x0000, 0x020000, CRC(a1665c5d) SHA1(056dcd9370df56129a65267fb70bbfac498f5a97), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTK 0.2)" ) +GAME_CUSTOM( 199?, m4goodtm__n, m4goodtm, "gtk02k.p1", 0x0000, 0x020000, CRC(a1665c5d) SHA1(056dcd9370df56129a65267fb70bbfac498f5a97), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTK 0.2 K)" ) // "(C)1993 BARCREST" and "GTR 1.1" GAME_CUSTOM( 199?, m4goodtm__1, m4goodtm, "gtr11s", 0x0000, 0x020000, CRC(ff4bd1fb) SHA1(959a7975209e2d17c5b3e4adc72bd52bd3005035), "Barcrest","Let The Good Times Roll (Barcrest) (MPU4) (GTR 1.1)" ) // no copyright string and "GTR 1.0" @@ -1279,83 +1279,83 @@ GAME_CUSTOM( 199?, m4goodtm__3, m4goodtm, "gtr15t", 0x0000, 0x020000, // sets below give a hopper sense error (casino / club sets?) // "(C)1991 BARCREST" and "CG4 0.7" GAME_CUSTOM( 199?, m4jpgem, 0, "cg4s.p1", 0x0000, 0x010000, CRC(f25eba0b) SHA1(250189b7fb8aa82a8696c3a0099eb13ec74eeb10), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CG4 0.7)" ) -GAME_CUSTOM( 199?, m4jpgem__g, m4jpgem, "cg4ad.p1", 0x0000, 0x010000, CRC(417c98c1) SHA1(2ce23e27742c418d5ebaa0f4f0597e29955ea57d), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CG4 0.7AD)" ) -GAME_CUSTOM( 199?, m4jpgem__a, m4jpgem, "cg4b.p1", 0x0000, 0x010000, CRC(c57cca63) SHA1(80a440912362d55cac6bc77b6ff6d6672af378c6), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4jpgem__b, m4jpgem, "cg4bd.p1", 0x0000, 0x010000, CRC(7604ea50) SHA1(3d6eee763bd21119ab52a2388229da076caf78a4), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4jpgem__c, m4jpgem, "cg4d.p1", 0x0000, 0x010000, CRC(87ea1087) SHA1(47f7c17fa3611745c881669ff50559e4b4386fd9), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4jpgem__d, m4jpgem, "cg4dk.p1", 0x0000, 0x010000, CRC(230284fb) SHA1(39ab2abdd8d3af4818e4e3738529f020055ba659), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4jpgem__e, m4jpgem, "cg4dy.p1", 0x0000, 0x010000, CRC(7d02342d) SHA1(097c9c9dc84bd00f1ddd64b1f9564f0cf7a9023f), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4jpgem__f, m4jpgem, "cg4k.p1", 0x0000, 0x010000, CRC(ba4ef5a8) SHA1(1673985aee634aa5c8129cc1239ce08fb9f5da2c), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4jpgem__h, m4jpgem, "cg4y.p1", 0x0000, 0x010000, CRC(237098d3) SHA1(9f54ed0d9ce37f3b4e6dca136fe4a12ba79c89f9), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 9)" ) +GAME_CUSTOM( 199?, m4jpgem__g, m4jpgem, "cg4ad.p1", 0x0000, 0x010000, CRC(417c98c1) SHA1(2ce23e27742c418d5ebaa0f4f0597e29955ea57d), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CG4 0.7 AD)" ) +GAME_CUSTOM( 199?, m4jpgem__a, m4jpgem, "cg4b.p1", 0x0000, 0x010000, CRC(c57cca63) SHA1(80a440912362d55cac6bc77b6ff6d6672af378c6), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CG4 0.7 B)" ) +GAME_CUSTOM( 199?, m4jpgem__b, m4jpgem, "cg4bd.p1", 0x0000, 0x010000, CRC(7604ea50) SHA1(3d6eee763bd21119ab52a2388229da076caf78a4), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CG4 0.7 BD)" ) +GAME_CUSTOM( 199?, m4jpgem__c, m4jpgem, "cg4d.p1", 0x0000, 0x010000, CRC(87ea1087) SHA1(47f7c17fa3611745c881669ff50559e4b4386fd9), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CG4 0.7 D)" ) +GAME_CUSTOM( 199?, m4jpgem__d, m4jpgem, "cg4dk.p1", 0x0000, 0x010000, CRC(230284fb) SHA1(39ab2abdd8d3af4818e4e3738529f020055ba659), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CG4 0.7 KD)" ) +GAME_CUSTOM( 199?, m4jpgem__e, m4jpgem, "cg4dy.p1", 0x0000, 0x010000, CRC(7d02342d) SHA1(097c9c9dc84bd00f1ddd64b1f9564f0cf7a9023f), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CG4 0.7 YD)" ) +GAME_CUSTOM( 199?, m4jpgem__f, m4jpgem, "cg4k.p1", 0x0000, 0x010000, CRC(ba4ef5a8) SHA1(1673985aee634aa5c8129cc1239ce08fb9f5da2c), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CG4 0.7 K)" ) +GAME_CUSTOM( 199?, m4jpgem__h, m4jpgem, "cg4y.p1", 0x0000, 0x010000, CRC(237098d3) SHA1(9f54ed0d9ce37f3b4e6dca136fe4a12ba79c89f9), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CG4 0.7 Y)" ) // "(C)1991 BARCREST" and "CG4 0.3" (startup shows CGT 0.3) -GAME_CUSTOM( 199?, m4jpgem__i, m4jpgem, "cgt03ad.p1", 0x0000, 0x010000, CRC(88842c4a) SHA1(c86987b44f04cf28a6f68300e4345f635455d4bf), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGT 0.3AD / CG4 0.3)" ) -GAME_CUSTOM( 199?, m4jpgem__j, m4jpgem, "cgt03b.p1", 0x0000, 0x010000, CRC(99634ce1) SHA1(9fe867b0619070f563fb72b4415e4a9263c808e7), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4jpgem__k, m4jpgem, "cgt03bd.p1", 0x0000, 0x010000, CRC(be984100) SHA1(dfa7d97f02dc988b7743a1f57ab08c406f712559), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4jpgem__l, m4jpgem, "cgt03d.p1", 0x0000, 0x010000, CRC(aba3a305) SHA1(9a0203f830a0a8c6013eb5824bd48373c589dcb5), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4jpgem__m, m4jpgem, "cgt03dk.p1", 0x0000, 0x010000, CRC(be9292b0) SHA1(0d7944ac647c8fd92530389d61f5c1eec0d2c8d1), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4jpgem__n, m4jpgem, "cgt03dr.p1", 0x0000, 0x010000, CRC(935fa628) SHA1(5dd93fd27d2e15606ba22bada1ecff85c4f4a8c3), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4jpgem__o, m4jpgem, "cgt03dy.p1", 0x0000, 0x010000, CRC(b83879b0) SHA1(b0664e1bd97b76b73c96a9e0d20d1a15707863ff), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4jpgem__p, m4jpgem, "cgt03k.p1", 0x0000, 0x010000, CRC(451a8f66) SHA1(e218db61fdaca6824abebe59ec7f8d0f595e2cfa), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4jpgem__q, m4jpgem, "cgt03r.p1", 0x0000, 0x010000, CRC(85dd3733) SHA1(10b8c4d147d4b534ce31394d5ba69806b83a297e), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4jpgem__r, m4jpgem, "cgt03s.p1", 0x0000, 0x010000, CRC(b516cbcd) SHA1(c04d32818f9f8772b2a945cf40075ce7844b936e), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4jpgem__s, m4jpgem, "cgt03y.p1", 0x0000, 0x010000, CRC(57937087) SHA1(489bcbe5598020c24357f4c7b4e9096bc6332aa3), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 20)" ) +GAME_CUSTOM( 199?, m4jpgem__r, m4jpgem, "cgt03s.p1", 0x0000, 0x010000, CRC(b516cbcd) SHA1(c04d32818f9f8772b2a945cf40075ce7844b936e), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGT 0.3 / CG4 0.3)" ) +GAME_CUSTOM( 199?, m4jpgem__i, m4jpgem, "cgt03ad.p1", 0x0000, 0x010000, CRC(88842c4a) SHA1(c86987b44f04cf28a6f68300e4345f635455d4bf), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGT 0.3 AD / CG4 0.3)" ) +GAME_CUSTOM( 199?, m4jpgem__j, m4jpgem, "cgt03b.p1", 0x0000, 0x010000, CRC(99634ce1) SHA1(9fe867b0619070f563fb72b4415e4a9263c808e7), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGT 0.3 B / CG4 0.3)" ) +GAME_CUSTOM( 199?, m4jpgem__k, m4jpgem, "cgt03bd.p1", 0x0000, 0x010000, CRC(be984100) SHA1(dfa7d97f02dc988b7743a1f57ab08c406f712559), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGT 0.3 BD / CG4 0.3)" ) +GAME_CUSTOM( 199?, m4jpgem__l, m4jpgem, "cgt03d.p1", 0x0000, 0x010000, CRC(aba3a305) SHA1(9a0203f830a0a8c6013eb5824bd48373c589dcb5), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGT 0.3 D / CG4 0.3)" ) +GAME_CUSTOM( 199?, m4jpgem__m, m4jpgem, "cgt03dk.p1", 0x0000, 0x010000, CRC(be9292b0) SHA1(0d7944ac647c8fd92530389d61f5c1eec0d2c8d1), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGT 0.3 KD / CG4 0.3)" ) +GAME_CUSTOM( 199?, m4jpgem__n, m4jpgem, "cgt03dr.p1", 0x0000, 0x010000, CRC(935fa628) SHA1(5dd93fd27d2e15606ba22bada1ecff85c4f4a8c3), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGT 0.3 RD / CG4 0.3)" ) +GAME_CUSTOM( 199?, m4jpgem__o, m4jpgem, "cgt03dy.p1", 0x0000, 0x010000, CRC(b83879b0) SHA1(b0664e1bd97b76b73c96a9e0d20d1a15707863ff), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGT 0.3 YD / CG4 0.3)" ) +GAME_CUSTOM( 199?, m4jpgem__p, m4jpgem, "cgt03k.p1", 0x0000, 0x010000, CRC(451a8f66) SHA1(e218db61fdaca6824abebe59ec7f8d0f595e2cfa), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGT 0.3 K / CG4 0.3)" ) +GAME_CUSTOM( 199?, m4jpgem__q, m4jpgem, "cgt03r.p1", 0x0000, 0x010000, CRC(85dd3733) SHA1(10b8c4d147d4b534ce31394d5ba69806b83a297e), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGT 0.3 R / CG4 0.3)" ) +GAME_CUSTOM( 199?, m4jpgem__s, m4jpgem, "cgt03y.p1", 0x0000, 0x010000, CRC(57937087) SHA1(489bcbe5598020c24357f4c7b4e9096bc6332aa3), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGT 0.3 Y / CG4 0.3)" ) // "(C)1991 BARCREST" and "CG4 0.1" (startup shows CGT 0.1) GAME_CUSTOM( 199?, m4jpgem__t, m4jpgem, "cgts.p1", 0x0000, 0x010000, CRC(2a6f4489) SHA1(e410dd49cca50b3c051815a1b4be4bf2dc55f1af), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGT 0.1 / CG4 0.1)" ) // "(C)1991 BARCREST" and "CG4 0.2" (startup shows CGU 0.2) GAME_CUSTOM( 199?, m4jpgem__3, m4jpgem, "cgu02s.p1", 0x0000, 0x010000, CRC(1cff0517) SHA1(162651a1af6273ea49490d0809a30ee9b13c728e), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2 / CG4 0.2)" ) -GAME_CUSTOM( 199?, m4jpgem__u, m4jpgem, "cgu02ad.p1", 0x0000, 0x010000, CRC(eee268a6) SHA1(ebc0d1e14ff27c5497b7c4e90e6fafa58916c83b), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2AD / CG4 0.2)" ) -GAME_CUSTOM( 199?, m4jpgem__v, m4jpgem, "cgu02b.p1", 0x0000, 0x010000, CRC(7d05d069) SHA1(2a94b121528bf39939f5a8b36318c0073171997d), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4jpgem__w, m4jpgem, "cgu02bd.p1", 0x0000, 0x010000, CRC(d8fe05ec) SHA1(7e2de5c6ece6779d09daf23f3ab4b61817fad103), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4jpgem__x, m4jpgem, "cgu02d.p1", 0x0000, 0x010000, CRC(daaf1fe1) SHA1(f2606c454e191166d217c5f5c82e91794977384b), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4jpgem__y, m4jpgem, "cgu02dk.p1", 0x0000, 0x010000, CRC(0487c66b) SHA1(3be30181590e5f5d2181bc76da5fd49fe9796006), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4jpgem__z, m4jpgem, "cgu02dr.p1", 0x0000, 0x010000, CRC(68655b09) SHA1(df40c058172d960f4f9393343cf9271fc52c58c8), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4jpgem__0, m4jpgem, "cgu02dy.p1", 0x0000, 0x010000, CRC(5f1709d1) SHA1(36ae3cd57e5db956b8ef362043d5c63aea0da06a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4jpgem__1, m4jpgem, "cgu02k.p1", 0x0000, 0x010000, CRC(90058f14) SHA1(0e73410253e422ff2d4182b034624ab8dd996cb8), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4jpgem__2, m4jpgem, "cgu02r.p1", 0x0000, 0x010000, CRC(8f1d071b) SHA1(caa05465a12ca7ab6df0dce458caefb40dad818a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 30)" ) -GAME_CUSTOM( 199?, m4jpgem__4, m4jpgem, "cgu02y.p1", 0x0000, 0x010000, CRC(a2468782) SHA1(5f9161cffc6d9ffe8c30c41434ab012c16a48dfd), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 32)" ) +GAME_CUSTOM( 199?, m4jpgem__u, m4jpgem, "cgu02ad.p1", 0x0000, 0x010000, CRC(eee268a6) SHA1(ebc0d1e14ff27c5497b7c4e90e6fafa58916c83b), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2 AD / CG4 0.2)" ) +GAME_CUSTOM( 199?, m4jpgem__v, m4jpgem, "cgu02b.p1", 0x0000, 0x010000, CRC(7d05d069) SHA1(2a94b121528bf39939f5a8b36318c0073171997d), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2 B / CG4 0.2)" ) +GAME_CUSTOM( 199?, m4jpgem__w, m4jpgem, "cgu02bd.p1", 0x0000, 0x010000, CRC(d8fe05ec) SHA1(7e2de5c6ece6779d09daf23f3ab4b61817fad103), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2 BD / CG4 0.2)" ) +GAME_CUSTOM( 199?, m4jpgem__x, m4jpgem, "cgu02d.p1", 0x0000, 0x010000, CRC(daaf1fe1) SHA1(f2606c454e191166d217c5f5c82e91794977384b), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2 D / CG4 0.2)" ) +GAME_CUSTOM( 199?, m4jpgem__y, m4jpgem, "cgu02dk.p1", 0x0000, 0x010000, CRC(0487c66b) SHA1(3be30181590e5f5d2181bc76da5fd49fe9796006), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2 KD / CG4 0.2)" ) +GAME_CUSTOM( 199?, m4jpgem__z, m4jpgem, "cgu02dr.p1", 0x0000, 0x010000, CRC(68655b09) SHA1(df40c058172d960f4f9393343cf9271fc52c58c8), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2 RD / CG4 0.2)" ) +GAME_CUSTOM( 199?, m4jpgem__0, m4jpgem, "cgu02dy.p1", 0x0000, 0x010000, CRC(5f1709d1) SHA1(36ae3cd57e5db956b8ef362043d5c63aea0da06a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2 YD / CG4 0.2)" ) +GAME_CUSTOM( 199?, m4jpgem__1, m4jpgem, "cgu02k.p1", 0x0000, 0x010000, CRC(90058f14) SHA1(0e73410253e422ff2d4182b034624ab8dd996cb8), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2 K / CG4 0.2)" ) +GAME_CUSTOM( 199?, m4jpgem__2, m4jpgem, "cgu02r.p1", 0x0000, 0x010000, CRC(8f1d071b) SHA1(caa05465a12ca7ab6df0dce458caefb40dad818a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2 R / CG4 0.2)" ) +GAME_CUSTOM( 199?, m4jpgem__4, m4jpgem, "cgu02y.p1", 0x0000, 0x010000, CRC(a2468782) SHA1(5f9161cffc6d9ffe8c30c41434ab012c16a48dfd), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (CGU 0.2 Y / CG4 0.2)" ) // "(C)1991 BARCREST" and "CG4 0.1" (startup shows RRH 0.1) GAME_CUSTOM( 199?, m4jpgem__bo, m4jpgem, "rrh01s.p1", 0x0000, 0x010000, CRC(dea2f376) SHA1(92f43c75950553d9b76af8179192d106de95fc03), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__be, m4jpgem, "rrh01ad.p1", 0x0000, 0x010000, CRC(d4f21930) SHA1(cba034b42a3587c0e173bc06d80142d7e494c849), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1AD / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__bf, m4jpgem, "rrh01b.p1", 0x0000, 0x010000, CRC(c85f9099) SHA1(f3c8f79c2e0cc58024202564761f4935f5d241b1), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 79)" ) -GAME_CUSTOM( 199?, m4jpgem__bg, m4jpgem, "rrh01bd.p1", 0x0000, 0x010000, CRC(e2ee747a) SHA1(7f6cb93e3cbe4a2dd97d1ad15d17fa4f2f0a4b12), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 80)" ) -GAME_CUSTOM( 199?, m4jpgem__bh, m4jpgem, "rrh01c.p1", 0x0000, 0x010000, CRC(00dfced2) SHA1(c497cb9835dca0d67f5ec6b6b1321a7b92612c9a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 81)" ) -GAME_CUSTOM( 199?, m4jpgem__bi, m4jpgem, "rrh01d.p1", 0x0000, 0x010000, CRC(aef7ddbd) SHA1(8db2f1dbc11af7ef4357a90a77838c01588f8108), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 82)" ) -GAME_CUSTOM( 199?, m4jpgem__bj, m4jpgem, "rrh01dk.p1", 0x0000, 0x010000, CRC(56206f0a) SHA1(3bdb5824ab6d748eb83b56f08cf2d1074a94b38a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 83)" ) -GAME_CUSTOM( 199?, m4jpgem__bk, m4jpgem, "rrh01dr.p1", 0x0000, 0x010000, CRC(8f622573) SHA1(9bbfcb2f3cf5f6edd2c6222b25c4971a59d2c235), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 84)" ) -GAME_CUSTOM( 199?, m4jpgem__bl, m4jpgem, "rrh01dy.p1", 0x0000, 0x010000, CRC(d89136fd) SHA1(40fd0978bc76d81bfb5dc2f1e4a0c1c95b7c4e00), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 85)" ) -GAME_CUSTOM( 199?, m4jpgem__bm, m4jpgem, "rrh01k.p1", 0x0000, 0x010000, CRC(da4a08c9) SHA1(3a86c0a543a7192680663b465ddfd1fa338cfec5), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 86)" ) -GAME_CUSTOM( 199?, m4jpgem__bn, m4jpgem, "rrh01r.p1", 0x0000, 0x010000, CRC(fb45c547) SHA1(8d9c35c47c0f03c9dc6727fc5f952d64e25336f7), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 87)" ) -GAME_CUSTOM( 199?, m4jpgem__bp, m4jpgem, "rrh01y.p1", 0x0000, 0x010000, CRC(27014453) SHA1(febc118fcb8f048806237b38958c02d02b9f2874), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 89)" ) +GAME_CUSTOM( 199?, m4jpgem__be, m4jpgem, "rrh01ad.p1", 0x0000, 0x010000, CRC(d4f21930) SHA1(cba034b42a3587c0e173bc06d80142d7e494c849), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 AD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bf, m4jpgem, "rrh01b.p1", 0x0000, 0x010000, CRC(c85f9099) SHA1(f3c8f79c2e0cc58024202564761f4935f5d241b1), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 B / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bg, m4jpgem, "rrh01bd.p1", 0x0000, 0x010000, CRC(e2ee747a) SHA1(7f6cb93e3cbe4a2dd97d1ad15d17fa4f2f0a4b12), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 BD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bh, m4jpgem, "rrh01c.p1", 0x0000, 0x010000, CRC(00dfced2) SHA1(c497cb9835dca0d67f5ec6b6b1321a7b92612c9a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 C / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bi, m4jpgem, "rrh01d.p1", 0x0000, 0x010000, CRC(aef7ddbd) SHA1(8db2f1dbc11af7ef4357a90a77838c01588f8108), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 D / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bj, m4jpgem, "rrh01dk.p1", 0x0000, 0x010000, CRC(56206f0a) SHA1(3bdb5824ab6d748eb83b56f08cf2d1074a94b38a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 KD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bk, m4jpgem, "rrh01dr.p1", 0x0000, 0x010000, CRC(8f622573) SHA1(9bbfcb2f3cf5f6edd2c6222b25c4971a59d2c235), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 RD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bl, m4jpgem, "rrh01dy.p1", 0x0000, 0x010000, CRC(d89136fd) SHA1(40fd0978bc76d81bfb5dc2f1e4a0c1c95b7c4e00), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 YD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bm, m4jpgem, "rrh01k.p1", 0x0000, 0x010000, CRC(da4a08c9) SHA1(3a86c0a543a7192680663b465ddfd1fa338cfec5), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 K / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bn, m4jpgem, "rrh01r.p1", 0x0000, 0x010000, CRC(fb45c547) SHA1(8d9c35c47c0f03c9dc6727fc5f952d64e25336f7), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 R / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgem__bp, m4jpgem, "rrh01y.p1", 0x0000, 0x010000, CRC(27014453) SHA1(febc118fcb8f048806237b38958c02d02b9f2874), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (RRH 0.1 Y / CG4 0.1)" ) // sets below boot (regular arcade sets?) // "(C)1991 BARCREST" and "JAG 0.4" GAME_CUSTOM( 199?, m4jpgem__9, m4jpgem, "jags.p1", 0x0000, 0x010000, CRC(dd93f084) SHA1(5cb25b3beb6d7a7b83227a6bb8382cfbcc285887), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JAG 0.4)" ) -GAME_CUSTOM( 199?, m4jpgem__5, m4jpgem, "jagb.p1", 0x0000, 0x010000, CRC(75b9a4b6) SHA1(ecade0921cd535ee7f1b67767fa7d5ab3cd45b2c), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JAG 0.4B)" ) -GAME_CUSTOM( 199?, m4jpgem__6, m4jpgem, "jagd.p1", 0x0000, 0x010000, CRC(c7546004) SHA1(31bdbd6b681a3a2b13f380f2807691c0b0fec83e), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 34)" ) -GAME_CUSTOM( 199?, m4jpgem__7, m4jpgem, "jagdk.p1", 0x0000, 0x010000, CRC(313f7a1f) SHA1(358a33878ca70f2bcdb1d5d79c39e357586ebe8b), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 35)" ) -GAME_CUSTOM( 199?, m4jpgem__8, m4jpgem, "jagdy.p1", 0x0000, 0x010000, CRC(d105a41e) SHA1(365e382683362c815461801753fb03e2f084de65), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 36)" ) -GAME_CUSTOM( 199?, m4jpgem__aa, m4jpgem, "jagy.p1", 0x0000, 0x010000, CRC(08d510ca) SHA1(b79c9fe8dc17152f3e8c601c27515beff1d67219), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 38)" ) +GAME_CUSTOM( 199?, m4jpgem__5, m4jpgem, "jagb.p1", 0x0000, 0x010000, CRC(75b9a4b6) SHA1(ecade0921cd535ee7f1b67767fa7d5ab3cd45b2c), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JAG 0.4 B)" ) +GAME_CUSTOM( 199?, m4jpgem__6, m4jpgem, "jagd.p1", 0x0000, 0x010000, CRC(c7546004) SHA1(31bdbd6b681a3a2b13f380f2807691c0b0fec83e), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JAG 0.4 D)" ) +GAME_CUSTOM( 199?, m4jpgem__7, m4jpgem, "jagdk.p1", 0x0000, 0x010000, CRC(313f7a1f) SHA1(358a33878ca70f2bcdb1d5d79c39e357586ebe8b), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JAG 0.4 KD)" ) +GAME_CUSTOM( 199?, m4jpgem__8, m4jpgem, "jagdy.p1", 0x0000, 0x010000, CRC(d105a41e) SHA1(365e382683362c815461801753fb03e2f084de65), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JAG 0.4 YD)" ) +GAME_CUSTOM( 199?, m4jpgem__aa, m4jpgem, "jagy.p1", 0x0000, 0x010000, CRC(08d510ca) SHA1(b79c9fe8dc17152f3e8c601c27515beff1d67219), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JAG 0.4 Y)" ) // "(C)1991 BARCREST" and "JG3 0.1" GAME_CUSTOM( 199?, m4jpgem__ai, m4jpgem, "jg3s.p1", 0x0000, 0x010000, CRC(91945adc) SHA1(d80321fc4c2e67461d69df2164e3e290caa905bc), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__ab, m4jpgem, "jg3ad.p1", 0x0000, 0x010000, CRC(501bb879) SHA1(a97519042b4a4ed03efbcad9f11f279184dec847), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1AD)" ) -GAME_CUSTOM( 199?, m4jpgem__ac, m4jpgem, "jg3b.p1", 0x0000, 0x010000, CRC(e568ae84) SHA1(9126f9b45633e7eb44626aa0ab40784c62870c8a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 40)" ) -GAME_CUSTOM( 199?, m4jpgem__ad, m4jpgem, "jg3bd.p1", 0x0000, 0x010000, CRC(435d5d28) SHA1(1ea48323f48edc20ce1c28e4e7080e0824e73d3c), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 41)" ) -GAME_CUSTOM( 199?, m4jpgem__ae, m4jpgem, "jg3d.p1", 0x0000, 0x010000, CRC(774f9d41) SHA1(c99e9a46b1216f430007b5ebbf942899b5e691f9), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 42)" ) -GAME_CUSTOM( 199?, m4jpgem__af, m4jpgem, "jg3dk.p1", 0x0000, 0x010000, CRC(c422e514) SHA1(172b25bf75a529b555e328cef77a3340609d818b), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 43)" ) -GAME_CUSTOM( 199?, m4jpgem__ag, m4jpgem, "jg3dy.p1", 0x0000, 0x010000, CRC(5d1c886f) SHA1(b49ab97ba6cdc810e7baa520ffad25f54c0d8412), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 44)" ) -GAME_CUSTOM( 199?, m4jpgem__ah, m4jpgem, "jg3k.p1", 0x0000, 0x010000, CRC(8e7985ae) SHA1(8c8de22aab2508b2317d5edde779d54ebe67ac92), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 45)" ) -GAME_CUSTOM( 199?, m4jpgem__aj, m4jpgem, "jg3y.p1", 0x0000, 0x010000, CRC(bf96ad55) SHA1(48d828398f32c3ddfafeb84cfd777f8e668df1b3), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 47)" ) +GAME_CUSTOM( 199?, m4jpgem__ab, m4jpgem, "jg3ad.p1", 0x0000, 0x010000, CRC(501bb879) SHA1(a97519042b4a4ed03efbcad9f11f279184dec847), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1 AD)" ) +GAME_CUSTOM( 199?, m4jpgem__ac, m4jpgem, "jg3b.p1", 0x0000, 0x010000, CRC(e568ae84) SHA1(9126f9b45633e7eb44626aa0ab40784c62870c8a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1 B)" ) +GAME_CUSTOM( 199?, m4jpgem__ad, m4jpgem, "jg3bd.p1", 0x0000, 0x010000, CRC(435d5d28) SHA1(1ea48323f48edc20ce1c28e4e7080e0824e73d3c), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1 BD)" ) +GAME_CUSTOM( 199?, m4jpgem__ae, m4jpgem, "jg3d.p1", 0x0000, 0x010000, CRC(774f9d41) SHA1(c99e9a46b1216f430007b5ebbf942899b5e691f9), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1 D)" ) +GAME_CUSTOM( 199?, m4jpgem__af, m4jpgem, "jg3dk.p1", 0x0000, 0x010000, CRC(c422e514) SHA1(172b25bf75a529b555e328cef77a3340609d818b), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1 KD)" ) +GAME_CUSTOM( 199?, m4jpgem__ag, m4jpgem, "jg3dy.p1", 0x0000, 0x010000, CRC(5d1c886f) SHA1(b49ab97ba6cdc810e7baa520ffad25f54c0d8412), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1 YD)" ) +GAME_CUSTOM( 199?, m4jpgem__ah, m4jpgem, "jg3k.p1", 0x0000, 0x010000, CRC(8e7985ae) SHA1(8c8de22aab2508b2317d5edde779d54ebe67ac92), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1 K)" ) +GAME_CUSTOM( 199?, m4jpgem__aj, m4jpgem, "jg3y.p1", 0x0000, 0x010000, CRC(bf96ad55) SHA1(48d828398f32c3ddfafeb84cfd777f8e668df1b3), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG3 0.1 Y)" ) // "(C)1991 BARCREST" and "JG8 0.1" GAME_CUSTOM( 199?, m4jpgem__ar, m4jpgem, "jg8s.p1", 0x0000, 0x010000, CRC(8cdd650a) SHA1(c4cb87513f0d7986e158b3c5ab1f034c8ba933a9), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1)" ) -GAME_CUSTOM( 199?, m4jpgem__ak, m4jpgem, "jg8b.p1", 0x0000, 0x010000, CRC(f2e3d009) SHA1(90c85f9a300d157d560b08ccabfe79f826780d74), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1B)" ) -GAME_CUSTOM( 199?, m4jpgem__al, m4jpgem, "jg8c.p1", 0x0000, 0x010000, CRC(cc24cf15) SHA1(0c4c28633f33c78570f5da17c64c2e90bf3d5cd0), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 49)" ) -GAME_CUSTOM( 199?, m4jpgem__am, m4jpgem, "jg8d.p1", 0x0000, 0x010000, CRC(58eff94c) SHA1(9acde535ad808789233876dd8076c03a8d56a9e7), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 50)" ) -GAME_CUSTOM( 199?, m4jpgem__an, m4jpgem, "jg8db.p1", 0x0000, 0x010000, CRC(3006a36a) SHA1(37297cae02c1fd5308ba9935537b35c565374a07), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 51)" ) -GAME_CUSTOM( 199?, m4jpgem__ao, m4jpgem, "jg8dk.p1", 0x0000, 0x010000, CRC(199401d7) SHA1(33eef070e437386c7ad0d834b40353047f1a6a6f), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 52)" ) -GAME_CUSTOM( 199?, m4jpgem__ap, m4jpgem, "jg8dy.p1", 0x0000, 0x010000, CRC(ead58bed) SHA1(cd0e151c843f5268edddb2f82555201deccac65a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 53)" ) -GAME_CUSTOM( 199?, m4jpgem__aq, m4jpgem, "jg8k.p1", 0x0000, 0x010000, CRC(f5b14363) SHA1(f0ace838cc0d0c262006bb514eff75903d92d679), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 54)" ) +GAME_CUSTOM( 199?, m4jpgem__ak, m4jpgem, "jg8b.p1", 0x0000, 0x010000, CRC(f2e3d009) SHA1(90c85f9a300d157d560b08ccabfe79f826780d74), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 B)" ) +GAME_CUSTOM( 199?, m4jpgem__al, m4jpgem, "jg8c.p1", 0x0000, 0x010000, CRC(cc24cf15) SHA1(0c4c28633f33c78570f5da17c64c2e90bf3d5cd0), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 C)" ) +GAME_CUSTOM( 199?, m4jpgem__am, m4jpgem, "jg8d.p1", 0x0000, 0x010000, CRC(58eff94c) SHA1(9acde535ad808789233876dd8076c03a8d56a9e7), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 D)" ) +GAME_CUSTOM( 199?, m4jpgem__an, m4jpgem, "jg8db.p1", 0x0000, 0x010000, CRC(3006a36a) SHA1(37297cae02c1fd5308ba9935537b35c565374a07), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 BD)" ) +GAME_CUSTOM( 199?, m4jpgem__ao, m4jpgem, "jg8dk.p1", 0x0000, 0x010000, CRC(199401d7) SHA1(33eef070e437386c7ad0d834b40353047f1a6a6f), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 KD)" ) +GAME_CUSTOM( 199?, m4jpgem__ap, m4jpgem, "jg8dy.p1", 0x0000, 0x010000, CRC(ead58bed) SHA1(cd0e151c843f5268edddb2f82555201deccac65a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 YD)" ) +GAME_CUSTOM( 199?, m4jpgem__aq, m4jpgem, "jg8k.p1", 0x0000, 0x010000, CRC(f5b14363) SHA1(f0ace838cc0d0c262006bb514eff75903d92d679), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JG8 0.1 K)" ) // "(C)1991 BARCREST" and "JGT 0.3" GAME_CUSTOM( 199?, m4jpgem__a1, m4jpgem, "jgts.p1", 0x0000, 0x010000, CRC(0e3810a7) SHA1(cf840bd84eba65d9dec2d6821a48112b6f2f9bca), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3)" ) -GAME_CUSTOM( 199?, m4jpgem__as, m4jpgem, "jgtad.p1", 0x0000, 0x010000, CRC(90e10b6c) SHA1(548c7537829ca9395cac460ccf76e0d566898e44), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3AD)" ) +GAME_CUSTOM( 199?, m4jpgem__as, m4jpgem, "jgtad.p1", 0x0000, 0x010000, CRC(90e10b6c) SHA1(548c7537829ca9395cac460ccf76e0d566898e44), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3 AD)" ) GAME_CUSTOM( 199?, m4jpgem__at, m4jpgem, "jgtb.p1", 0x0000, 0x010000, CRC(5f343a43) SHA1(033824e93b1fcd2f7c5f27a573a728747ef7b21a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 57)" ) GAME_CUSTOM( 199?, m4jpgem__au, m4jpgem, "jgtbd.p1", 0x0000, 0x010000, CRC(50ba2771) SHA1(f487ed2eeff0369e3fa718de68e3ba4912fd7576), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 58)" ) GAME_CUSTOM( 199?, m4jpgem__av, m4jpgem, "jgtd.p1", 0x0000, 0x010000, CRC(2625da4a) SHA1(b1f9d22a46bf20283c5735fce5768d9cef299f59), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 59)" ) @@ -1367,7 +1367,7 @@ GAME_CUSTOM( 199?, m4jpgem__a0, m4jpgem, "jgtr.p1", 0x0000, 0x010000, CR GAME_CUSTOM( 199?, m4jpgem__a2, m4jpgem, "jgty.p1", 0x0000, 0x010000, CRC(84830d1f) SHA1(a4184a5bd08393c35f22bc05315377bff74f666c), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 66)" ) // "(C)1991 BARCREST" and "JGU 0.2" GAME_CUSTOM( 199?, m4jpgem__bc, m4jpgem, "jgu02s.p1", 0x0000, 0x010000, CRC(f8abd287) SHA1(906d2817f73ea21cf830b0bd9a1938d344cc0341), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2)" ) -GAME_CUSTOM( 199?, m4jpgem__a3, m4jpgem, "jgu02ad.p1", 0x0000, 0x010000, CRC(ccec7d40) SHA1(75cc1a0dfda9592e35c24c030e04a768871a9e41), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2AD)" ) +GAME_CUSTOM( 199?, m4jpgem__a3, m4jpgem, "jgu02ad.p1", 0x0000, 0x010000, CRC(ccec7d40) SHA1(75cc1a0dfda9592e35c24c030e04a768871a9e41), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2 AD)" ) GAME_CUSTOM( 199?, m4jpgem__a4, m4jpgem, "jgu02b.p1", 0x0000, 0x010000, CRC(daf0ebe3) SHA1(2e73f7b8171c0be7d06bf6da22e0395d5241b043), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 68)" ) GAME_CUSTOM( 199?, m4jpgem__a5, m4jpgem, "jgu02bd.p1", 0x0000, 0x010000, CRC(faf0100a) SHA1(c97b8eadfd473650ec497c7caa98e8efc59ecb6f), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 69)" ) GAME_CUSTOM( 199?, m4jpgem__a6, m4jpgem, "jgu02d.p1", 0x0000, 0x010000, CRC(b46e3f66) SHA1(1ede9d794effbc8cc9f097a06b7df4023d3d47ba), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 70)" ) From b405496ab6fa2a50d47d7c85f025f8517c253785 Mon Sep 17 00:00:00 2001 From: "therealmogminer@gmail.com" Date: Sat, 13 Aug 2016 14:19:03 +0200 Subject: [PATCH 020/116] Fix detection of auto option in submenu.cpp, nw --- src/frontend/mame/ui/submenu.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/frontend/mame/ui/submenu.cpp b/src/frontend/mame/ui/submenu.cpp index ebef1f9a33c..cae92accdbb 100644 --- a/src/frontend/mame/ui/submenu.cpp +++ b/src/frontend/mame/ui/submenu.cpp @@ -140,7 +140,7 @@ submenu::submenu(mame_ui_manager &mui, render_container &container, std::vector< else opts = dynamic_cast(options); - for (auto & sm_option : m_options) + for (option & sm_option : m_options) { switch (sm_option.type) { @@ -174,8 +174,15 @@ submenu::submenu(mame_ui_manager &mui, render_container &container, std::vector< if (sm_option.entry->type() == OPTION_STRING) { sm_option.value.clear(); + printf("%s\n", sm_option.entry->description()); std::string descr(sm_option.entry->description()), delim(", "); descr.erase(0, descr.find(":") + 2); + + std::string default_value(sm_option.entry->default_value()); + std::string auto_value(OSDOPTVAL_AUTO); + if (default_value == auto_value) + descr = auto_value + delim + descr; + size_t p1, p2 = 0; while ((p1 = descr.find_first_not_of(delim, p2)) != std::string::npos) { From 32acbb190bed66e116245d37f4132cf20c6404a6 Mon Sep 17 00:00:00 2001 From: hap Date: Sat, 13 Aug 2016 15:10:33 +0200 Subject: [PATCH 021/116] removed printf --- src/frontend/mame/ui/submenu.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/frontend/mame/ui/submenu.cpp b/src/frontend/mame/ui/submenu.cpp index cae92accdbb..3d0b866618a 100644 --- a/src/frontend/mame/ui/submenu.cpp +++ b/src/frontend/mame/ui/submenu.cpp @@ -174,7 +174,6 @@ submenu::submenu(mame_ui_manager &mui, render_container &container, std::vector< if (sm_option.entry->type() == OPTION_STRING) { sm_option.value.clear(); - printf("%s\n", sm_option.entry->description()); std::string descr(sm_option.entry->description()), delim(", "); descr.erase(0, descr.find(":") + 2); From f356837886617c2b9bf7da8bee9567e641cee0a2 Mon Sep 17 00:00:00 2001 From: John Parker Date: Sat, 13 Aug 2016 14:42:27 +0100 Subject: [PATCH 022/116] Partially fix lamps in Maygay M1A/B hardware --- src/mame/drivers/maygay1b.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/mame/drivers/maygay1b.cpp b/src/mame/drivers/maygay1b.cpp index 26c976c4eee..34969bbb376 100644 --- a/src/mame/drivers/maygay1b.cpp +++ b/src/mame/drivers/maygay1b.cpp @@ -547,11 +547,20 @@ WRITE8_MEMBER( maygay1b_state::lamp_data_w ) // Because of the nature of the lamping circuit, there is an element of persistance // As a consequence, the lamp column data can change before the input strobe without // causing the relevant lamps to black out. - + int bit_offset; for (int i = 0; i < 8; i++) { - output().set_lamp_value((8*m_lamp_strobe)+i, ((data & (1 << i)) !=0)); + if(i < 4) + { + bit_offset = i + 4; + } + else + { + bit_offset = i - 4; + } + output().set_lamp_value((8*m_lamp_strobe)+i, ((data & (1 << bit_offset)) !=0)); } + m_old_lamp_strobe = m_lamp_strobe; } @@ -565,6 +574,8 @@ READ8_MEMBER( maygay1b_state::kbd_r ) WRITE8_MEMBER( maygay1b_state::lamp_data_2_w ) { + // TODO: THIS FUNCTION IS NEVER CALLED! So we are missing the second half of the lamp matrix + //The two A/B ports are merged back into one, to make one row of 8 lamps. if (m_old_lamp_strobe2 != m_lamp_strobe2) @@ -575,8 +586,9 @@ WRITE8_MEMBER( maygay1b_state::lamp_data_2_w ) for (int i = 0; i < 8; i++) { - output().set_lamp_value((8*m_lamp_strobe)+i+128, ((data & (1 << i)) !=0)); + output().set_lamp_value((8*m_lamp_strobe2)+i+128, ((data & (1 << i)) !=0)); } + m_old_lamp_strobe2 = m_lamp_strobe2; } From de6745296bf2eb1a3593369b22ea2d98875d076b Mon Sep 17 00:00:00 2001 From: Juergen Buchmueller Date: Sat, 13 Aug 2016 16:06:37 +0200 Subject: [PATCH 023/116] alto2: refactor display and CROM/RAM config (nw) Refactor the display to use a buffer of the size of the total margins. Remove the deprecated MCFG_SCREEN_REFRESH_RATE(). Try to synchronize the CPU on the vertical sync generated by mame calling the screen_update() function. Instead of a fixed CROM/CRAM configuration defined through macros, make this a machine configuration parameter. You can now choose between the 3 setups: 1 = 1K CROM, 1K CRAM, 1 S register bank 2 = 2K CROM, 1K CRAM, 1 S register bank 3 = 1K CROM, 3K CRAM, 8 S register banks TODO: Some games which used to work in Salto do no longer work with this driver, e.g. pacman7 from the allgames.chd --- src/devices/cpu/alto2/a2curt.cpp | 22 -- src/devices/cpu/alto2/a2disp.cpp | 55 +++-- src/devices/cpu/alto2/a2disp.h | 12 +- src/devices/cpu/alto2/a2dwt.cpp | 12 +- src/devices/cpu/alto2/a2dwt.h | 2 +- src/devices/cpu/alto2/a2hw.cpp | 4 +- src/devices/cpu/alto2/a2ram.cpp | 310 ++++++++++++++++------------- src/devices/cpu/alto2/a2ram.h | 35 +--- src/devices/cpu/alto2/alto2cpu.cpp | 253 +++++++++++++---------- src/devices/cpu/alto2/alto2cpu.h | 28 ++- src/devices/cpu/alto2/alto2dsm.cpp | 4 +- src/mame/drivers/alto2.cpp | 19 +- 12 files changed, 385 insertions(+), 371 deletions(-) diff --git a/src/devices/cpu/alto2/a2curt.cpp b/src/devices/cpu/alto2/a2curt.cpp index 1980408f2b5..cf334a287cf 100644 --- a/src/devices/cpu/alto2/a2curt.cpp +++ b/src/devices/cpu/alto2/a2curt.cpp @@ -37,31 +37,11 @@ void alto2_cpu_device::f2_late_load_csr() /** * @brief curt_activate: called by the CPU when the cursor task becomes active - * - * Shift CSR to xpreg % 16 position to make it easier to - * to handle the word xor in unload_word(). - *
- * xpreg % 16   cursor bits
- *              [ first word   ][  second word ]
- * ----------------------------------------------
- *     0        xxxxxxxxxxxxxxxx0000000000000000
- *     1        0xxxxxxxxxxxxxxxx000000000000000
- *     2        00xxxxxxxxxxxxxxxx00000000000000
- * ...
- *    14        00000000000000xxxxxxxxxxxxxxxx00
- *    15        000000000000000xxxxxxxxxxxxxxxx0
- * 
*/ void alto2_cpu_device::activate_curt() { m_task_wakeup &= ~(1 << m_task); m_dsp.curt_wakeup = false; - - int x = 01777 - m_dsp.xpreg; - UINT32 bits = m_dsp.csr << (16 - (x & 15)); - m_dsp.cursor0 = static_cast(bits >> 16); - m_dsp.cursor1 = static_cast(bits); - m_dsp.curxpos = x / 16; } /** @brief initialize the cursor task F1 and F2 functions */ @@ -79,6 +59,4 @@ void alto2_cpu_device::reset_curt() m_dsp.curt_blocks = false; m_dsp.xpreg = 0; m_dsp.csr = 0; - m_dsp.curxpos = 0; - m_dsp.cursor0 = m_dsp.cursor1 = 0; } diff --git a/src/devices/cpu/alto2/a2disp.cpp b/src/devices/cpu/alto2/a2disp.cpp index e7a0474ea7c..f2c5b06a77f 100644 --- a/src/devices/cpu/alto2/a2disp.cpp +++ b/src/devices/cpu/alto2/a2disp.cpp @@ -245,11 +245,12 @@ static const UINT16 double_bits[256] = { //! update the internal frame buffer and draw the scanline segment if changed void alto2_cpu_device::update_framebuf_word(UINT16* framebuf, int x, int y, UINT16 word) { + int xpword = (m_dsp.xpreg ^ 01777) / 16; // mixing with the cursor - if (x == m_dsp.curxpos + 0) - word ^= m_dsp.cursor0; - if (x == m_dsp.curxpos + 1) - word ^= m_dsp.cursor1; + if (x == xpword++) + word ^= (m_dsp.csr << (m_dsp.xpreg % 16)) >> 16; + if (x == xpword) + word ^= (m_dsp.csr << (m_dsp.xpreg % 16)) & 0xffff; // no change? if (word == framebuf[x]) return; @@ -263,14 +264,14 @@ void alto2_cpu_device::update_framebuf_word(UINT16* framebuf, int x, int y, UINT void alto2_cpu_device::unload_word() { int x = m_unload_word; - int y = ((m_dsp.hlc - m_dsp.vblank) & ~02001) ^ HLC1024; + int y = m_dsp.scanline; - if (y < 0 || y >= ALTO2_DISPLAY_HEIGHT || x >= ALTO2_DISPLAY_VISIBLE_WORDS) + if (y < 0 || y >= ALTO2_DISPLAY_TOTAL_HEIGHT || x >= ALTO2_DISPLAY_VISIBLE_WORDS) { m_unload_time = -1; return; } - UINT16* framebuf = m_dsp.framebuf.get() + y * ALTO2_DISPLAY_SCANLINE_WORDS; + UINT16* framebuf = m_dsp.framebuf.get() + y * ALTO2_DISPLAY_SCANLINE_WORDS; UINT16 word = m_dsp.inverse; UINT8 a38 = m_disp_a38[m_dsp.ra * 16 + m_dsp.wa]; if (FIFO_MBEMPTY(a38)) @@ -329,8 +330,14 @@ void alto2_cpu_device::display_state_machine() { // count horizontal line counters and wrap m_dsp.hlc += 1; - if (m_dsp.hlc > ALTO2_DISPLAY_HLC_END) + if (m_dsp.hlc > ALTO2_DISPLAY_HLC_END) { m_dsp.hlc = ALTO2_DISPLAY_HLC_START; + m_dsp.scanline = 30; + m_dsp.vsync = true; + } else if (m_dsp.hlc == 1024) { + m_dsp.vsync = true; + m_dsp.scanline = 31; + } // wake up the memory refresh task _twice_ on each scanline m_task_wakeup |= 1 << task_mrt; } @@ -342,9 +349,6 @@ void alto2_cpu_device::display_state_machine() if (A66_VBLANK(a66)) { - // Rising edge of VBLANK: remember HLC[1-10] where the VBLANK starts - m_dsp.vblank = m_dsp.hlc & ~(1 << 10); - LOG((this,LOG_DISPL,1, " VBLANK")); // VSYNC is always within VBLANK, thus we handle it only here @@ -357,6 +361,7 @@ void alto2_cpu_device::display_state_machine() */ m_task_wakeup |= 1 << task_dvt; } + m_dsp.inverse = 0xffff; } else { @@ -385,9 +390,10 @@ void alto2_cpu_device::display_state_machine() } if (!A63_HBLANK(a63) && A63_HBLANK(m_dsp.a63)) { + m_dsp.scanline += 2; // Falling edge of a63 HBLANK starts unloading of FIFO words LOG((this,LOG_DISPL,1, " HBLANK\\ UNLOAD")); - m_unload_time = ALTO2_DISPLAY_BITTIME(m_dsp.halfclock ? 32 : 16); + m_unload_time = ALTO2_DISPLAY_BITTIME(m_dsp.halfclock ? 40+32 : 40+16); m_unload_word = 0; } } @@ -470,7 +476,7 @@ void alto2_cpu_device::display_state_machine() */ void alto2_cpu_device::f2_late_evenfield() { - UINT16 r = HLC1024 ^ 1; + UINT16 r = m_dsp.odd ? 0 : 1; LOG((this,LOG_DISPL,2," EVENFIELD branch (%#o | %#o)\n", m_next2, r)); m_next2 |= r; } @@ -499,12 +505,8 @@ void alto2_cpu_device::init_disp() save_item(NAME(m_dsp.dwt_blocks)); save_item(NAME(m_dsp.curt_blocks)); save_item(NAME(m_dsp.curt_wakeup)); - save_item(NAME(m_dsp.vblank)); save_item(NAME(m_dsp.xpreg)); save_item(NAME(m_dsp.csr)); - save_item(NAME(m_dsp.curxpos)); - save_item(NAME(m_dsp.cursor0)); - save_item(NAME(m_dsp.cursor1)); m_disp_a38 = prom_load(machine(), &pl_displ_a38, memregion("displ_a38")->base()); m_disp_a63 = prom_load(machine(), &pl_displ_a63, memregion("displ_a63")->base()); @@ -512,7 +514,7 @@ void alto2_cpu_device::init_disp() m_dsp.hlc = ALTO2_DISPLAY_HLC_START; - m_dsp.framebuf = std::make_unique(ALTO2_DISPLAY_HEIGHT * ALTO2_DISPLAY_SCANLINE_WORDS); + m_dsp.framebuf = std::make_unique(ALTO2_DISPLAY_TOTAL_HEIGHT * ALTO2_DISPLAY_SCANLINE_WORDS); m_dsp.patterns = auto_alloc_array(machine(), UINT8, 65536 * 16); for (int y = 0; y < 65536; y++) { UINT8* dst = m_dsp.patterns + y * 16; @@ -520,7 +522,8 @@ void alto2_cpu_device::init_disp() *dst++ = (~y >> (15 - x)) & 1; } - m_dsp.bitmap = std::make_unique(ALTO2_DISPLAY_WIDTH, ALTO2_DISPLAY_HEIGHT); + // Allocate a bitmap including the V/H blank areas + m_dsp.bitmap = std::make_unique(ALTO2_DISPLAY_TOTAL_WIDTH, ALTO2_DISPLAY_TOTAL_HEIGHT); m_dsp.state = 0; } @@ -537,6 +540,7 @@ void alto2_cpu_device::reset_disp() m_dsp.a66 = 0; m_dsp.setmode = 0; m_dsp.inverse = 0; + m_dsp.scanline = 30; m_dsp.halfclock = false; m_dsp.wa = 0; m_dsp.ra = 0; @@ -544,12 +548,10 @@ void alto2_cpu_device::reset_disp() m_dsp.dwt_blocks = false; m_dsp.curt_blocks = false; m_dsp.curt_wakeup = false; - m_dsp.vblank = 0; + m_dsp.vsync = false; + m_dsp.odd = false; m_dsp.xpreg = 0; m_dsp.csr = 0; - m_dsp.curxpos = 0; - m_dsp.cursor0 = 0; - m_dsp.cursor1 = 0; memset(m_dsp.framebuf.get(), 1, sizeof(UINT16) * ALTO2_DISPLAY_HEIGHT * ALTO2_DISPLAY_SCANLINE_WORDS); } @@ -557,10 +559,7 @@ void alto2_cpu_device::reset_disp() UINT32 alto2_cpu_device::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { copybitmap(bitmap, *m_dsp.bitmap, 0, 0, 0, 0, cliprect); + m_dsp.vsync = false; + m_dsp.odd = !m_dsp.odd; return 0; } - -void alto2_cpu_device::screen_eof(screen_device &screen, bool state) -{ - // FIXME: do we need this in some way? -} diff --git a/src/devices/cpu/alto2/a2disp.h b/src/devices/cpu/alto2/a2disp.h index 282ccd94f56..823114e3066 100644 --- a/src/devices/cpu/alto2/a2disp.h +++ b/src/devices/cpu/alto2/a2disp.h @@ -39,7 +39,7 @@ * scanlines to the monitor. The frame rate is 60Hz, which is actually the rate * of the half-frames. The rate for full frames is thus 30Hz. */ -#define ALTO2_DISPLAY_TOTAL_HEIGHT ((ALTO2_DISPLAY_HLC_END - ALTO2_DISPLAY_HLC_START) / 2) +#define ALTO2_DISPLAY_TOTAL_HEIGHT ((ALTO2_DISPLAY_HLC_END + 1 - ALTO2_DISPLAY_HLC_START) / 2) /** * @brief display total width, including horizontal blanking @@ -80,7 +80,8 @@ #define ALTO2_DISPLAY_HEIGHT 808 //! Visible width of the display; 38 x 16 bit words - 2 pixels. -#define ALTO2_DISPLAY_WIDTH 606 +//#define ALTO2_DISPLAY_WIDTH 606 +#define ALTO2_DISPLAY_WIDTH 608 //! Visible words per scanline. #define ALTO2_DISPLAY_VISIBLE_WORDS ((ALTO2_DISPLAY_WIDTH+15)/16) @@ -197,7 +198,10 @@ struct { UINT32 hlc; //!< horizontal line counter UINT32 setmode; //!< value written by last SETMODE<- UINT32 inverse; //!< set to 0xffff if line is inverse, 0x0000 otherwise + UINT32 scanline; //!< current scanline bool halfclock; //!< false for normal pixel clock, true for half pixel clock + bool vsync; //!< true after vsync, false when end_of_frame was called + bool odd; //!< true if odd field UINT16 fifo[ALTO2_DISPLAY_FIFO]; //!< display word fifo UINT32 wa; //!< fifo input pointer (write address; 4-bit) UINT32 ra; //!< fifo output pointer (read address; 4-bit) @@ -207,12 +211,8 @@ struct { bool dwt_blocks; //!< set true, if the DWT executed BLOCK bool curt_blocks; //!< set true, if the CURT executed BLOCK bool curt_wakeup; //!< set true, if CURT wakeups are generated - UINT32 vblank; //!< most recent HLC with VBLANK still high (11-bit) UINT32 xpreg; //!< cursor cursor x position register (10-bit) UINT32 csr; //!< cursor shift register (16-bit) - UINT32 curxpos; //!< helper: first cursor word in scanline - UINT32 cursor0; //!< helper: shifted cursor data for left word - UINT32 cursor1; //!< helper: shifted cursor data for right word std::unique_ptr framebuf; //!< array of words of the raw bitmap that is displayed UINT8 *patterns; //!< array of 65536 patterns (16 bytes) with 1 byte per pixel std::unique_ptr bitmap; //!< MAME bitmap with 16 bit indices diff --git a/src/devices/cpu/alto2/a2dwt.cpp b/src/devices/cpu/alto2/a2dwt.cpp index 40bbe456a0e..c3ac954b432 100644 --- a/src/devices/cpu/alto2/a2dwt.cpp +++ b/src/devices/cpu/alto2/a2dwt.cpp @@ -42,25 +42,27 @@ #define FIFO_STOPWAKE(a38) (0 == (a38 & disp_a38_STOPWAKE) ? true : false) /** - * @brief block the display word task + * @brief Block the display word task. */ void alto2_cpu_device::f1_early_dwt_block() { m_dsp.dwt_blocks = true; - /* clear the wakeup for the display word task */ + // Clear the wakeup for the display word task m_task_wakeup &= ~(1 << m_task); LOG((this,LOG_DWT,2," BLOCK %s\n", task_name(m_task))); - /* wakeup the display horizontal task, if it didn't block itself */ + // Wakeup the display horizontal task, if it didn't block itself if (!m_dsp.dht_blocks) m_task_wakeup |= 1 << task_dht; } /** - * @brief load the display data register + * @brief Load the display data register + * Pushes the word on the bus to the display FIFO. + * If the FIFO becomes full, the wakeup flag for task_dwt is reset. */ -void alto2_cpu_device::f2_late_dwt_load_ddr() +void alto2_cpu_device::f2_late_load_ddr() { LOG((this,LOG_DWT,2," DDR<- BUS (%#o)\n", m_bus)); m_dsp.fifo[m_dsp.wa] = m_bus; diff --git a/src/devices/cpu/alto2/a2dwt.h b/src/devices/cpu/alto2/a2dwt.h index 74c6c94939b..788af460369 100644 --- a/src/devices/cpu/alto2/a2dwt.h +++ b/src/devices/cpu/alto2/a2dwt.h @@ -17,7 +17,7 @@ enum { }; void f1_early_dwt_block(); //!< F1 func: block the display word task -void f2_late_dwt_load_ddr(); //!< F2 func: load the display data register +void f2_late_load_ddr(); //!< F2 func: load the display data register void init_dwt(int task = task_dwt); //!< initialize the display word task void exit_dwt(); //!< deinitialize the display word task void reset_dwt(); //!< reset the display word task diff --git a/src/devices/cpu/alto2/a2hw.cpp b/src/devices/cpu/alto2/a2hw.cpp index 9c436433453..5a85c8c8083 100644 --- a/src/devices/cpu/alto2/a2hw.cpp +++ b/src/devices/cpu/alto2/a2hw.cpp @@ -230,7 +230,7 @@ WRITE16_MEMBER( alto2_cpu_device::mouse_buttons_w ) { X_WRBITS(m_hw.utilin,16,13 /** * @brief read the UTILIN port * - * @param addr memory mapped I/O address to be read + * @param offset memory mapped I/O address to be read * @return current value on the UTILIN port */ READ16_MEMBER( alto2_cpu_device::utilin_r ) @@ -250,7 +250,7 @@ READ16_MEMBER( alto2_cpu_device::utilin_r ) /** * @brief read the XBUS port * - * @param addr memory mapped I/O address to be read + * @param offset memory mapped I/O address to be read * @return current value on the XBUS port latch */ READ16_MEMBER( alto2_cpu_device::xbus_r ) diff --git a/src/devices/cpu/alto2/a2ram.cpp b/src/devices/cpu/alto2/a2ram.cpp index f482b82f94f..085b81ea497 100644 --- a/src/devices/cpu/alto2/a2ram.cpp +++ b/src/devices/cpu/alto2/a2ram.cpp @@ -7,16 +7,13 @@ *****************************************************************************/ #include "alto2cpu.h" -#define DEBUG_WRTRAM 0 //!< define to 1 to printf disassembled CRAM writes +#define DEBUG_WRTRAM 1 //!< define to 1 to print CRAM writes +#define DEBUG_RDRAM 1 //!< define to 1 to print CRAM reads +#define DEBUG_BRANCH 1 //!< define to 1 to print branching to ROM/RAM //! direct read access to the microcode CRAM #define RD_CRAM(addr) (*reinterpret_cast(m_ucode_cram.get() + addr * 4)) -//! direct write access to the microcode CRAM -#define WR_CRAM(addr,data) do { \ - *reinterpret_cast(m_ucode_cram.get() + addr * 4) = data; \ -} while (0) - /** * @brief read the microcode ROM/RAM halfword * @@ -88,17 +85,30 @@ void alto2_cpu_device::rdram() } m_rdram_flag = false; - if (ALTO2_UCODE_RAM_BASE + addr >= ALTO2_UCODE_SIZE) { + if (m_ucode_ram_base + addr >= m_ucode_size) { value = 0177777; /* ??? */ LOG((this,LOG_CPU,0,"invalid address (%06o)\n", addr)); +#if DEBUG_RDRAM + printf("RD CRAM_BANKSEL=%d RAM%d [%04o] invalid address!\n", + GET_CRAM_BANKSEL(m_cram_addr), bank, wordaddr); +#endif return; } - value = RD_CRAM(addr) ^ ALTO2_UCODE_INVERTED; + value = *reinterpret_cast(m_ucode_cram.get() + addr * 4) ^ ALTO2_UCODE_INVERTED; +#if DEBUG_RDRAM + char buffer[256]; + UINT8* oprom = m_ucode_cram.get() + 4 * wordaddr; + disasm_disassemble(buffer, wordaddr, oprom, oprom, 0); + printf("RD CRAM_BANKSEL=%d RAM%d [%04o] upper:%06o lower:%06o value:%011o '%s'\n", + GET_CRAM_BANKSEL(m_cram_addr), bank, wordaddr, m_myl, m_alu, + value, buffer); +#endif if (GET_CRAM_HALFSEL(m_cram_addr)) { - value = value >> 16; - LOG((this,LOG_CPU,0,"upper:%06o\n", value & 0177777)); + value >>= 16; + LOG((this,LOG_CPU,0,"upper:%06o\n", value)); } else { - LOG((this,LOG_CPU,0,"lower:%06o\n", value & 0177777)); + value &= 0177777; + LOG((this,LOG_CPU,0,"lower:%06o\n", value)); } m_bus &= value; } @@ -115,25 +125,29 @@ void alto2_cpu_device::rdram() */ void alto2_cpu_device::wrtram() { - UINT32 bank = GET_CRAM_BANKSEL(m_cram_addr); - UINT32 wordaddr = GET_CRAM_WORDADDR(m_cram_addr); - UINT32 value = ((m_myl << 16) | m_alu) ^ ALTO2_UCODE_INVERTED; + const UINT32 bank = GET_CRAM_BANKSEL(m_cram_addr); + const UINT32 wordaddr = GET_CRAM_WORDADDR(m_cram_addr); + const UINT32 addr = bank * ALTO2_UCODE_PAGE_SIZE + wordaddr; // write RAM 0,1,2 + const UINT32 value = (m_myl << 16) | m_alu; - 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_myl, m_alu)); -#if DEBUG_WRTRAM - 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; - if (ALTO2_UCODE_RAM_BASE + addr >= ALTO2_UCODE_SIZE) { + if (m_ucode_ram_base + addr >= m_ucode_size) { LOG((this,LOG_CPU,0," invalid address %06o\n", addr)); return; } LOG((this,LOG_CPU,0,"\n")); - WR_CRAM(addr, value); + *reinterpret_cast(m_ucode_cram.get() + addr * 4) = value ^ ALTO2_UCODE_INVERTED; + +#if DEBUG_WRTRAM + char buffer[256]; + UINT8* oprom = m_ucode_cram.get() + 4 * wordaddr; + disasm_disassemble(buffer, wordaddr, oprom, oprom, 0); + printf("WR CRAM_BANKSEL=%d RAM%d [%04o] upper:%06o lower:%06o value:%011o '%s'\n", + GET_CRAM_BANKSEL(m_cram_addr), bank, wordaddr, m_myl, m_alu, + value, buffer); +#endif } /** @@ -183,6 +197,9 @@ void alto2_cpu_device::bs_late_load_sreg() void alto2_cpu_device::branch_ROM(const char *from, int page) { (void)from; +#if DEBUG_BRANCH + printf("SWMODE: branch from %s to ROM%d (%#o)\n", from, page, m_next2); +#endif m_next2 = (m_next2 & ALTO2_UCODE_PAGE_MASK) + page * ALTO2_UCODE_PAGE_SIZE; LOG((this,LOG_RAM,2," SWMODE: branch from %s to ROM%d (%#o)\n", from, page, m_next2)); } @@ -193,7 +210,10 @@ void alto2_cpu_device::branch_ROM(const char *from, int page) void alto2_cpu_device::branch_RAM(const char *from, int page) { (void)from; - m_next2 = (m_next2 & ALTO2_UCODE_PAGE_MASK) + ALTO2_UCODE_RAM_BASE + page * ALTO2_UCODE_PAGE_SIZE; +#if DEBUG_BRANCH + printf("SWMODE: branch from %s to RAM%d (%#o)\n", from, page, m_next2); +#endif + m_next2 = (m_next2 & ALTO2_UCODE_PAGE_MASK) + m_ucode_ram_base + page * ALTO2_UCODE_PAGE_SIZE; LOG((this,LOG_RAM,2," SWMODE: branch from %s to RAM%d\n", from, page, m_next2)); } @@ -211,147 +231,152 @@ void alto2_cpu_device::branch_RAM(const char *from, int page) */ void alto2_cpu_device::f1_late_swmode() { - /* currently executing in what page? */ - UINT16 current = m_mpc / ALTO2_UCODE_PAGE_SIZE; + // Currently executing in what CROM/CRAM page? + UINT16 page = m_mpc / ALTO2_UCODE_PAGE_SIZE; + UINT16 next; -#if (ALTO2_UCODE_ROM_PAGES == 1 && ALTO2_UCODE_RAM_PAGES == 1) - switch (current) { - case 0: - branch_RAM("ROM0", 0); - break; - case 1: - branch_ROM("RAM0", 0); - break; - default: - fatal(1, "Impossible current mpc %d\n", current); - } -#endif -#if (ALTO2_UCODE_ROM_PAGES == 2 && ALTO2_UCODE_RAM_PAGES == 1) - UINT16 next = X_RDBITS(m_next2,10,1,1); - - switch (current) { - case 0: /* ROM0 to RAM0 or ROM1 */ - switch (next) { + switch (m_cram_config) { + case 1: // 1K CROM, 1K CRAM + switch (page) { case 0: branch_RAM("ROM0", 0); break; case 1: - branch_ROM("ROM0", 1); - break; - default: - fatal(1, "Impossible next %d\n", next); - } - break; - case 1: /* ROM1 to ROM0 or RAM0 */ - switch (next) { - case 0: - branch_ROM("ROM1", 0); - break; - case 1: - branch_RAM("ROM1", 0); - break; - default: - fatal(1, "Impossible next %d\n", next); - } - break; - case 2: /* RAM0 to ROM0 or ROM1 */ - switch (next) { - case 0: branch_ROM("RAM0", 0); break; - case 1: - branch_ROM("RAM0", 1); - break; default: - fatal(1, "Impossible next %d\n", next); + fatal(1, "Impossible current mpc %u\n", page); } break; - default: - fatal(1, "Impossible current mpc %d\n", current); - } -#endif -#if (ALTO2_UCODE_ROM_PAGES == 1 && ALTO2_UCODE_RAM_PAGES == 3) - UINT16 next = X_RDBITS(m_next2,10,1,2); - switch (current) { - case 0: /* ROM0 to RAM0, RAM2, RAM1, RAM0 */ - switch (next) { - case 0: - branch_RAM("ROM0", 0); + case 2: // 2K CROM, 1K CRAM + next = X_RDBITS(m_next2,10,1,1); + switch (page) { + case 0: /* ROM0 to RAM0 or ROM1 */ + switch (next) { + case 0: + branch_RAM("ROM0", 0); + break; + case 1: + branch_ROM("ROM0", 1); + break; + default: + fatal(1, "Impossible next %u\n", next); + } break; - case 1: - branch_RAM("ROM0", 2); + case 1: /* ROM1 to ROM0 or RAM0 */ + switch (next) { + case 0: + branch_ROM("ROM1", 0); + break; + case 1: + branch_RAM("ROM1", 0); + break; + default: + fatal(1, "Impossible next %u\n", next); + } break; - case 2: - branch_RAM("ROM0", 1); - break; - case 3: - branch_RAM("ROM0", 0); + case 2: /* RAM0 to ROM0 or ROM1 */ + switch (next) { + case 0: + branch_ROM("RAM0", 0); + break; + case 1: + branch_ROM("RAM0", 1); + break; + default: + fatal(1, "Impossible next %u\n", next); + } break; default: - fatal(1, "Impossible next %d\n", next); + fatal(1, "Impossible current mpc %u\n", page); } break; - case 1: /* RAM0 to ROM0, RAM2, RAM1, RAM1 */ - switch (next) { - case 0: - branch_ROM("RAM0", 0); + + case 3: // 1K CROM, 3K CRAM + next = X_RDBITS(m_next2,10,1,2); + + switch (page) { + case 0: /* ROM0 to RAM0, RAM2, RAM1, RAM0 */ + switch (next) { + case 0: + branch_RAM("ROM0", 0); + break; + case 1: + branch_RAM("ROM0", 2); + break; + case 2: + branch_RAM("ROM0", 1); + break; + case 3: + branch_RAM("ROM0", 0); + break; + default: + fatal(1, "Impossible next %u\n", next); + } break; - case 1: - branch_RAM("RAM0", 2); + case 1: /* RAM0 to ROM0, RAM2, RAM1, RAM1 */ + switch (next) { + case 0: + branch_ROM("RAM0", 0); + break; + case 1: + branch_RAM("RAM0", 2); + break; + case 2: + branch_RAM("RAM0", 1); + break; + case 3: + branch_RAM("RAM0", 1); + break; + default: + fatal(1, "Impossible next %u\n", next); + } break; - case 2: - branch_RAM("RAM0", 1); + case 2: /* RAM1 to ROM0, RAM2, RAM0, RAM0 */ + switch (next) { + case 0: + branch_ROM("RAM1", 0); + break; + case 1: + branch_RAM("RAM1", 2); + break; + case 2: + branch_RAM("RAM1", 0); + break; + case 3: + branch_RAM("RAM1", 0); + break; + default: + fatal(1, "Impossible next %u\n", next); + } break; - case 3: - branch_RAM("RAM0", 1); + case 3: /* RAM2 to ROM0, RAM1, RAM0, RAM0 */ + switch (next) { + case 0: + branch_ROM("RAM2", 0); + break; + case 1: + branch_RAM("RAM2", 1); + break; + case 2: + branch_RAM("RAM2", 0); + break; + case 3: + branch_RAM("RAM2", 0); + break; + default: + fatal(1, "Impossible next %u\n", next); + } break; default: - fatal(1, "Impossible next %d\n", next); - } - break; - case 2: /* RAM1 to ROM0, RAM2, RAM0, RAM0 */ - switch (next) { - case 0: - branch_ROM("RAM1", 0); - break; - case 1: - branch_RAM("RAM1", 2); - break; - case 2: - branch_RAM("RAM1", 0); - break; - case 3: - branch_RAM("RAM1", 0); - break; - default: - fatal(1, "Impossible next %d\n", next); - } - break; - case 3: /* RAM2 to ROM0, RAM1, RAM0, RAM0 */ - switch (next) { - case 0: - branch_ROM("RAM2", 0); - break; - case 1: - branch_RAM("RAM2", 1); - break; - case 2: - branch_RAM("RAM2", 0); - break; - case 3: - branch_RAM("RAM2", 0); - break; - default: - fatal(1, "Impossible next %d\n", next); + fatal(1, "Impossible current mpc %u\n", page); } break; default: - fatal(1, "Impossible current mpc %d\n", current); + fatal(1, "Impossible control ROM/RAM config %u (%u CROM pages, %u CRAM pages)\n", + m_cram_config, m_ucode_rom_pages, m_ucode_ram_pages); } -#else - fatal(1, "Impossible control ROM/RAM combination %d/%d\n", ALTO2_UCODE_ROM_PAGES, ALTO2_UCODE_RAM_PAGES); -#endif } /** @@ -372,8 +397,6 @@ void alto2_cpu_device::f1_late_rdram() LOG((this,LOG_RAM,2," RDRAM\n")); } -#if (ALTO2_UCODE_RAM_PAGES == 3) - /** * @brief f1_load_rmr late: load the reset mode register * @@ -386,16 +409,17 @@ void alto2_cpu_device::f1_late_load_rmr() LOG((this,LOG_RAM,2," RMR<-; BUS (%#o)\n", m_bus)); m_reset_mode = m_bus; } -#else // ALTO2_UCODE_RAM_PAGES != 3 + /** * @brief f1_load_srb late: load the S register bank from BUS[12-14] + * F1=013 corresponds to SRB<- in the emulator, if the RAM size is + * just 1K. It sets the S register bank for the current task. */ void alto2_cpu_device::f1_late_load_srb() { - m_s_reg_bank[m_task] = X_RDBITS(m_bus,16,12,14) % ALTO2_SREG_BANKS; + m_s_reg_bank[m_task] = X_RDBITS(m_bus,16,12,14) % m_sreg_banks; LOG((this,LOG_RAM,2," SRB<-; srb[%d] := %#o\n", m_task, m_s_reg_bank[m_task])); } -#endif /** * @brief RAM related task slots initialization diff --git a/src/devices/cpu/alto2/a2ram.h b/src/devices/cpu/alto2/a2ram.h index 0077ded7a99..62745bdc5bd 100644 --- a/src/devices/cpu/alto2/a2ram.h +++ b/src/devices/cpu/alto2/a2ram.h @@ -7,35 +7,8 @@ *****************************************************************************/ #ifdef ALTO2_DEFINE_CONSTANTS -#if (ALTO2_CRAM_CONFIG==1) -#define ALTO2_UCODE_ROM_PAGES 1 //!< number of microcode ROM pages -#define ALTO2_UCODE_RAM_PAGES 1 //!< number of microcode RAM pages -#elif (ALTO2_CRAM_CONFIG==2) -#define ALTO2_UCODE_ROM_PAGES 2 //!< number of microcode ROM pages -#define ALTO2_UCODE_RAM_PAGES 1 //!< number of microcode RAM pages -#elif (ALTO2_CRAM_CONFIG==3) -#define ALTO2_UCODE_ROM_PAGES 1 //!< number of microcode ROM pages -#define ALTO2_UCODE_RAM_PAGES 3 //!< number of microcode RAM pages -#else -#error "Undefined CROM/CRAM configuration" -#endif - -/** - * \brief number of S register banks - * This depends on the number of RAM pages - * 8 pages in 3K CRAM configuration - * 1 page in 1K CRAM configurations - */ -#if (ALTO2_UCODE_RAM_PAGES == 3) -#define ALTO2_SREG_BANKS 8 -#else -#define ALTO2_SREG_BANKS 1 -#endif - #define ALTO2_UCODE_PAGE_SIZE 02000 //!< number of words of microcode #define ALTO2_UCODE_PAGE_MASK (ALTO2_UCODE_PAGE_SIZE-1) //!< mask for microcode ROM/RAM address -#define ALTO2_UCODE_SIZE ((ALTO2_UCODE_ROM_PAGES + ALTO2_UCODE_RAM_PAGES) * ALTO2_UCODE_PAGE_SIZE) //!< total number of words of microcode -#define ALTO2_UCODE_RAM_BASE (ALTO2_UCODE_ROM_PAGES * ALTO2_UCODE_PAGE_SIZE) //!< base offset for the RAM page(s) #else // ALTO2_DEFINE_CONSTANTS #ifndef _A2RAM_H_ @@ -51,11 +24,8 @@ enum { f1_ram_swmode = f1_task_10, //!< f1 10: switch mode to CROM/CRAM in same page f1_ram_wrtram = f1_task_11, //!< f1 11: start WRTRAM cycle f1_ram_rdram = f1_task_12, //!< f1 12: start RDRAM cycle -#if (ALTO2_UCODE_RAM_PAGES == 3) f1_ram_load_rmr = f1_task_13, //!< f1 13: load the reset mode register -#else // ALTO2_UCODE_RAM_PAGES != 3 - f1_ram_load_srb = f1_task_13 //!< f1 14: load the S register bank from BUS[12-14] -#endif + f1_ram_load_srb = f1_task_13 //!< f1 13: load the S register bank from BUS[12-14] }; void bs_early_read_sreg(); //!< bus source: drive bus by S register or M (MYL), if rsel is = 0 @@ -66,11 +36,8 @@ void branch_RAM(const char *from, int page); //!< branch to RAM page void f1_late_swmode(); //!< F1 func: switch to micro program counter BUS[6-15] in other bank void f1_late_wrtram(); //!< F1 func: start WRTRAM cycle void f1_late_rdram(); //!< F1 func: start RDRAM cycle -#if (ALTO2_UCODE_RAM_PAGES == 3) void f1_late_load_rmr(); //!< F1 func: load the reset mode register -#else // ALTO2_UCODE_RAM_PAGES != 3 void f1_late_load_srb(); //!< F1 func: load the S register bank from BUS[12-14] -#endif void init_ram(int task); //!< called by RAM related tasks void exit_ram(); //!< deinitialize the RAM related tasks void reset_ram(); //!< reset the RAM related tasks diff --git a/src/devices/cpu/alto2/alto2cpu.cpp b/src/devices/cpu/alto2/alto2cpu.cpp index ff9b98f66ab..6a4438c973c 100644 --- a/src/devices/cpu/alto2/alto2cpu.cpp +++ b/src/devices/cpu/alto2/alto2cpu.cpp @@ -60,8 +60,7 @@ alto2_log_t logprintf; //************************************************************************** DEVICE_ADDRESS_MAP_START( ucode_map, 32, alto2_cpu_device ) - AM_RANGE(0, ALTO2_UCODE_RAM_BASE - 1) AM_READ ( crom_r ) - AM_RANGE(ALTO2_UCODE_RAM_BASE, ALTO2_UCODE_SIZE - 1) AM_READWRITE( cram_r, cram_w ) + AM_RANGE(0, 4*ALTO2_UCODE_PAGE_SIZE - 1) AM_READWRITE( crom_cram_r, crom_cram_w ) ADDRESS_MAP_END DEVICE_ADDRESS_MAP_START( const_map, 16, alto2_cpu_device ) @@ -126,6 +125,12 @@ alto2_cpu_device::alto2_cpu_device(const machine_config& mconfig, const char* ta m_ucode_config("ucode", ENDIANNESS_BIG, 32, 12, -2 ), m_const_config("const", ENDIANNESS_BIG, 16, 8, -1 ), m_iomem_config("iomem", ENDIANNESS_BIG, 16, 17, -1 ), + m_cram_config(2), + m_ucode_rom_pages(1), + m_ucode_ram_pages(2), + m_ucode_ram_base(ALTO2_UCODE_PAGE_SIZE), + m_ucode_size(3*ALTO2_UCODE_PAGE_SIZE), + m_sreg_banks(1), m_ucode_crom(nullptr), m_const_data(nullptr), m_icount(0), @@ -471,10 +476,8 @@ static const prom_load_t pl_ucode[] = { /* dmap */ DMAP_DEFAULT, /* dand */ KEEP, /* type */ sizeof(UINT32) - } - -#if (ALTO2_UCODE_ROM_PAGES > 1) - , + }, + // NOTE: the Mesa 5.1 ucode PROM may be used as RAM, if m_cram_config == 3 { // 02000-03777 RSEL(0)',RSEL(1)',RSEL(2)',RSEL(3)' "xm51.u54", nullptr, @@ -595,7 +598,6 @@ static const prom_load_t pl_ucode[] = { /* dand */ KEEP, /* type */ sizeof(UINT32) } -#endif // (UCODE_ROM_PAGES > 1) }; /** @@ -811,13 +813,14 @@ void alto2_cpu_device::device_start() // get a pointer to the IO address space m_iomem = &space(AS_2); - // decode ALTO2_UCODE_PAGES = 1 or 2 pages of micro code PROMs to CROM - m_ucode_crom = prom_load(machine(), pl_ucode, memregion("ucode_proms")->base(), ALTO2_UCODE_ROM_PAGES, 8); + // Decode 2 pages of micro code PROMs to CROM + // If m_cram_config == 1 or 3, only the first page will be used + m_ucode_crom = prom_load(machine(), pl_ucode, memregion("ucode_proms")->base(), 2, 8); - // allocate micro code CRAM - m_ucode_cram = std::make_unique(sizeof(UINT32) * ALTO2_UCODE_RAM_PAGES * ALTO2_UCODE_PAGE_SIZE); + // allocate micro code CRAM for max 3 pages + m_ucode_cram = std::make_unique(sizeof(UINT32) * 3 * ALTO2_UCODE_PAGE_SIZE); // fill with the micro code inverted bits value - for (offs_t offset = 0; offset < ALTO2_UCODE_RAM_PAGES * ALTO2_UCODE_PAGE_SIZE; offset++) + for (offs_t offset = 0; offset < 3 * ALTO2_UCODE_PAGE_SIZE; offset++) *reinterpret_cast(m_ucode_cram.get() + offset * 4) = ALTO2_UCODE_INVERTED; // decode constant PROMs to m_const_data @@ -1015,22 +1018,20 @@ void alto2_cpu_device::state_string_export(const device_state_entry &entry, std: } } -//! read microcode CROM -READ32_MEMBER ( alto2_cpu_device::crom_r ) +//! read microcode CROM or CRAM +READ32_MEMBER ( alto2_cpu_device::crom_cram_r ) { - return *reinterpret_cast(m_ucode_crom + offset * 4); + if (offset < m_ucode_ram_base) + return *reinterpret_cast(m_ucode_crom + offset * 4); + return *reinterpret_cast(m_ucode_cram.get() + (offset - m_ucode_ram_base) * 4); } -//! read microcode CRAM -READ32_MEMBER ( alto2_cpu_device::cram_r ) +//! write microcode CROM or CRAM (CROM of course can't be written) +WRITE32_MEMBER( alto2_cpu_device::crom_cram_w ) { - return *reinterpret_cast(m_ucode_cram.get() + offset * 4); -} - -//! write microcode CRAM -WRITE32_MEMBER( alto2_cpu_device::cram_w ) -{ - *reinterpret_cast(m_ucode_cram.get() + offset * 4) = data; + if (offset < m_ucode_ram_base) + return; + *reinterpret_cast(m_ucode_cram.get() + (offset - m_ucode_ram_base) * 4) = data; } //! read constants PROM @@ -1040,9 +1041,9 @@ READ16_MEMBER ( alto2_cpu_device::const_r ) } //! direct read access to the microcode CROM or CRAM -#define RD_UCODE(addr) (addr < ALTO2_UCODE_RAM_BASE ? \ +#define RD_UCODE(addr) (addr < m_ucode_ram_base ? \ *reinterpret_cast(m_ucode_crom + addr * 4) : \ - *reinterpret_cast(m_ucode_cram.get() + (addr - ALTO2_UCODE_RAM_BASE) * 4)) + *reinterpret_cast(m_ucode_cram.get() + (addr - m_ucode_ram_base) * 4)) //------------------------------------------------- // device_reset - device-specific reset @@ -1055,6 +1056,7 @@ void alto2_cpu_device::device_reset() ioport_port* etherid = ioport(":ETHERID"); if (etherid) m_ether_id = etherid->read() & 0377; + // call all sub-devices' reset_... reset_memory(); reset_disp(); @@ -2268,13 +2270,18 @@ UINT32 alto2_cpu_device::alu_74181(UINT32 a, UINT32 b, UINT8 smc) /** @brief flag that tells wheter operation was 0: arithmetic (M=0) or 1: logic (M=1) */ #define ALUM A10_ALUM -/** @brief execute the CPU for at most nsecs nano seconds */ +/** @brief execute the CPU for the number of cycles in m_icount */ void alto2_cpu_device::execute_run() { m_next = m_task_mpc[m_task]; // get current task's next mpc and address modifier m_next2 = m_task_next2[m_task]; do { + if (m_dsp.vsync) { + // synchronizing to the vsync signal + continue; + } + m_mpc = m_next; // next instruction's micro program counter m_mir = RD_UCODE(m_mpc); // fetch the micro code @@ -2283,15 +2290,16 @@ void alto2_cpu_device::execute_run() debugger_instruction_hook(this, m_mpc); m_cycle++; - if (f1() == f1_load_mar && check_mem_load_mar_stall(m_rsel)) { LOG((this,LOG_CPU,3, " MAR<- stall\n")); continue; } + if (f2() == f2_load_md && check_mem_write_stall()) { LOG((this,LOG_CPU,3, " MD<- stall\n")); continue; } + /* * Bus source decoding is not performed if f1 == f1_const * or f2 == f2_const. These functions use the MIR BS field to @@ -2320,33 +2328,32 @@ void alto2_cpu_device::execute_run() // The constant memory is gated to the bus by F1 == f1_const, F2 == f2_const, or BS >= 4 if (!do_bs || bs() >= bs_task_4) { const UINT32 addr = 8 * m_rsel + bs(); - // FIXME: is the format of m_const_data endian safe? const UINT16 data = m_const_data[2*addr] | (m_const_data[2*addr+1] << 8); m_bus &= data; LOG((this,LOG_CPU,2," %#o; BUS &= %#o CONST[%03o]\n", m_bus, data, addr)); } /* - * early F2 function has to be called before early BS, + * Early F2 function has to be called before early BS, * because the emulator task F2 acsource or acdest may - * change the m_rsel + * change the value of m_rsel */ switch (f2()) { - case f2_task_12: // f2 12 task specific + 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 + 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 + case f2_task_16: // f2 16 task specific switch (m_task) { case task_emu: // emulator task f2_early_acsource(); @@ -2366,22 +2373,22 @@ void alto2_cpu_device::execute_run() break; case bs_task_3: // BUS source is task specific switch (m_task) { - case task_emu: // emulator task + case task_emu: // emulator task bs_early_read_sreg(); break; - case task_ksec: // disk sector task - case task_kwd: // disk word task + case task_ksec: // disk sector task + case task_kwd: // disk word task bs_early_read_kstat(); break; - case task_ether: // ethernet task + 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 + 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(); @@ -2389,20 +2396,20 @@ void alto2_cpu_device::execute_run() break; case bs_task_4: // BUS source is task specific switch (m_task) { - case task_emu: // emulator task + case task_emu: // emulator task bs_early_load_sreg(); break; - case task_ksec: // disk sector task - case task_kwd: // disk word task + 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 + 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(); @@ -2414,9 +2421,9 @@ void alto2_cpu_device::execute_run() case bs_mouse: // BUS source is mouse data bs_early_mouse(); break; - case bs_disp: // BUS source displacement (emulator task) + case bs_disp: // BUS source displacement (emulator task) switch (m_task) { - case task_emu: // emulator task + case task_emu: // emulator task bs_early_emu_disp(); break; default: @@ -2428,10 +2435,10 @@ void alto2_cpu_device::execute_run() // early F1 function switch (f1()) { - case f1_task: // f1 02 task switch + case f1_task: // f1 02 task switch f1_early_task(); break; - case f1_block: // f1 03 task block + case f1_block: // f1 03 task block switch (m_task) { case task_emu: // emulator task f1_early_emu_block(); @@ -2466,28 +2473,28 @@ void alto2_cpu_device::execute_run() } break; - case f1_task_13: // f1 13 task specific + 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 + 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 + 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 + case f1_task_17: // f1 17 task specific switch (m_task) { case task_emu: // emulator task f1_early_startf(); @@ -2520,27 +2527,27 @@ void alto2_cpu_device::execute_run() // late F1 function call now switch (f1()) { - case f1_load_mar: // f1 01 load memory address register + 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 + 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 + 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 + 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 + 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 + case f1_task_11: // f1 11 task specific switch (m_task) { case task_emu: // emulator task f1_late_wrtram(); @@ -2551,7 +2558,7 @@ void alto2_cpu_device::execute_run() break; } break; - case f1_task_12: // f1 12 task specific + case f1_task_12: // f1 12 task specific switch (m_task) { case task_emu: // emulator task f1_late_rdram(); @@ -2562,14 +2569,13 @@ void alto2_cpu_device::execute_run() break; } break; - case f1_task_13: // f1 13 task specific + 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 + if (m_cram_config == 3) // 3K CRAM available? + f1_late_load_rmr(); + else + f1_late_load_srb(); break; case task_ksec: // disk sector task case task_kwd: // disk word task @@ -2577,7 +2583,7 @@ void alto2_cpu_device::execute_run() break; } break; - case f1_task_14: // f1 14 task specific + case f1_task_14: // f1 14 task specific switch (m_task) { case task_ksec: // disk sector task case task_kwd: // disk word task @@ -2585,7 +2591,7 @@ void alto2_cpu_device::execute_run() break; } break; - case f1_task_15: // f1 15 task specific + case f1_task_15: // f1 15 task specific switch (m_task) { case task_emu: // emulator task f1_late_emu_load_esrb(); @@ -2599,7 +2605,7 @@ void alto2_cpu_device::execute_run() break; } break; - case f1_task_16: // f1 16 task specific + case f1_task_16: // f1 16 task specific switch (m_task) { case task_ksec: // disk sector task case task_kwd: // disk word task @@ -2607,7 +2613,7 @@ void alto2_cpu_device::execute_run() break; } break; - case f1_task_17: // f1 17 task specific + case f1_task_17: // f1 17 task specific switch (m_task) { case task_ksec: // disk sector task case task_kwd: // disk word task @@ -2619,26 +2625,26 @@ void alto2_cpu_device::execute_run() // late F2 function call now switch (f2()) { - case f2_bus_eq_zero: // f2 01 branch on bus equals 0 + 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 + 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 + 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] + case f2_bus: // f2 04 branch on BUS[6-15] f2_late_bus(); break; - case f2_alucy: // f2 05 branch on (latched) ALU carry + case f2_alucy: // f2 05 branch on (latched) ALU carry f2_late_alucy(); break; - case f2_load_md: // f2 06 load memory data + case f2_load_md: // f2 06 load memory data f2_late_load_md(); break; - case f2_task_10: // f2 10 task specific + case f2_task_10: // f2 10 task specific switch (m_task) { case task_emu: // emulator task f2_late_busodd(); @@ -2651,7 +2657,7 @@ void alto2_cpu_device::execute_run() f2_late_eodfct(); break; case task_dwt: // display word task - f2_late_dwt_load_ddr(); + f2_late_load_ddr(); break; case task_curt: // cursor task f2_late_load_xpreg(); @@ -2664,7 +2670,7 @@ void alto2_cpu_device::execute_run() break; } break; - case f2_task_11: // f2 11 task specific + case f2_task_11: // f2 11 task specific switch (m_task) { case task_emu: // emulator task f2_late_magic(); @@ -2684,7 +2690,7 @@ void alto2_cpu_device::execute_run() break; } break; - case f2_task_12: // f2 12 task specific + case f2_task_12: // f2 12 task specific switch (m_task) { case task_emu: // emulator task f2_late_load_dns(); @@ -2698,7 +2704,7 @@ void alto2_cpu_device::execute_run() break; } break; - case f2_task_13: // f2 13 task specific + case f2_task_13: // f2 13 task specific switch (m_task) { case task_ksec: // disk sector task case task_kwd: // disk word task @@ -2709,7 +2715,7 @@ void alto2_cpu_device::execute_run() break; } break; - case f2_task_14: // f2 14 task specific + case f2_task_14: // f2 14 task specific switch (m_task) { case task_emu: // emulator task f2_late_load_ir(); @@ -2723,7 +2729,7 @@ void alto2_cpu_device::execute_run() break; } break; - case f2_task_15: // f2 15 task specific + case f2_task_15: // f2 15 task specific switch (m_task) { case task_emu: // emulator task f2_late_idisp(); @@ -2737,7 +2743,7 @@ void alto2_cpu_device::execute_run() break; } break; - case f2_task_16: // f2 16 task specific + case f2_task_16: // f2 16 task specific switch (m_task) { case task_emu: // emulator task f2_late_acsource(); @@ -2761,7 +2767,7 @@ void alto2_cpu_device::execute_run() break; case bs_task_4: // BUS source is task specific switch (m_task) { - case task_emu: // emulator task + case task_emu: // emulator task bs_late_load_sreg(); break; } @@ -2771,7 +2777,7 @@ void alto2_cpu_device::execute_run() // update T register, if LOADT is set if (loadt()) { - m_cram_addr = m_alu; // latch CRAM address + m_cram_addr = m_alu; // latch CRAM address if (flags & TSELECT) { m_t = m_alu; // T source is ALU LOG((this,LOG_CPU,2, " T<- ALU (%#o)\n", m_alu)); @@ -2783,7 +2789,7 @@ void alto2_cpu_device::execute_run() // update L register and LALUC0 if LOADL is set if (loadl()) { - m_l = m_alu; // load L from ALU + m_l = m_alu; // load L from ALU if (flags & ALUM) { m_laluc0 = 0; // logic operation - put 0 into latched carry LOG((this,LOG_CPU,2, " L<- ALU (%#o); LALUC0<- %o\n", m_alu, 0)); @@ -2794,7 +2800,8 @@ void alto2_cpu_device::execute_run() // update M (MYL) register, if a RAM related task is active if (m_ram_related[m_task]) { 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 + // also writes to S[_task][0], which can't be read + m_s[m_s_reg_bank[m_task]][0] = m_alu; LOG((this,LOG_CPU,2, " M<- ALU (%#o)\n", m_alu)); } } @@ -2811,14 +2818,19 @@ void alto2_cpu_device::execute_run() m_task_next2[m_task] = m_next2; m_task = m_next_task; LOG((this,LOG_CPU,1, "task switch to %02o:%s (cycle %lld)\n", m_task, task_name(m_task), cycle())); - m_next = m_task_mpc[m_task]; // get new task's mpc - m_next2 = m_task_next2[m_task]; // get address modifier after task switch (needed?) + // Get the new task's mpc + m_next = m_task_mpc[m_task]; + // Get address modifier after task switch. + m_next2 = m_task_next2[m_task]; - // let the task know it becomes active now and (most probably) reset the wakeup + // Let the task know it becomes active now and + // (most probably) reset the wakeup switch (m_task) { case task_emu: // emulator task + // No activate_emu(); break; case task_ksec: // disk sector task + // No activate_ksec(); break; case task_ether: // ethernet task activate_eth(); @@ -2827,6 +2839,7 @@ void alto2_cpu_device::execute_run() activate_mrt(); break; case task_dwt: // display word task + // No activate_dwt(); break; case task_curt: // cursor task activate_curt(); @@ -2841,6 +2854,7 @@ void alto2_cpu_device::execute_run() activate_part(); break; case task_kwd: // disk word task + // No activate_kwd(); break; } } @@ -2849,8 +2863,8 @@ void alto2_cpu_device::execute_run() if (m_dsp_time >= 0) { /** * Subtract the microcycle time from the display time accu. - * If it underflows, call the display state machine and add - * the time for 32(!) pixel clocks to the accu. + * If it underflows, call the display state machine which + * adds the time for 32 pixel clocks to the accu. * This is very close to every seventh CPU cycle */ m_dsp_time -= ALTO2_UCYCLE; @@ -2863,7 +2877,7 @@ void alto2_cpu_device::execute_run() * Subtract the microcycle time from the unload time accu. * If it underflows, call the unload word function which adds * the time for 16 or 32 pixel clocks to the accu, or ends - * the unloading by leaving m_unload_time at -1. + * the FIFO unloading by leaving m_unload_time at -1. */ m_unload_time -= ALTO2_UCYCLE; if (m_unload_time < 0) @@ -2874,7 +2888,7 @@ void alto2_cpu_device::execute_run() /** * Subtract the microcycle time from the bitclk time accu. * If it underflows, call the disk bitclk function which adds - * the time for one bit as clocks to the accu, or ends + * the time for one bit as clock cycles to the accu, or ends * the bitclk sequence by leaving m_bitclk_time at -1. */ m_bitclk_time -= ALTO2_UCYCLE; @@ -2882,7 +2896,7 @@ void alto2_cpu_device::execute_run() } } while (m_icount-- > 0); - /* save this task's mpc and address modifier */ + // Save this task's mpc and address modifier m_task_mpc[m_task] = m_next; m_task_next2[m_task] = m_next2; } @@ -2900,7 +2914,7 @@ void alto2_cpu_device::hard_reset() // every task starts at mpc = task number, in either ROM0 or RAM0 m_task_mpc[task] = (m_ctl2k_u38[task] >> 4) ^ 017; if (0 == (m_reset_mode & (1 << task))) - m_task_mpc[task] |= ALTO2_UCODE_RAM_BASE; + m_task_mpc[task] |= m_ucode_ram_base; } init_memory(); @@ -2931,11 +2945,36 @@ void alto2_cpu_device::hard_reset() /** @brief software initiated reset (STARTF) */ void alto2_cpu_device::soft_reset() { + // Setup the CROM and CRAM configuration + ioport_port* config = ioport(":CONFIG"); + if (config) + m_cram_config = (config->read() >> 1) & 3; + switch (m_cram_config) { + case 0: // invalid, default to 1 + case 1: // 1K CROM, 1K CRAM, 1 S register bank + m_ucode_rom_pages = 1; + m_ucode_ram_pages = 1; + m_sreg_banks = 1; + break; + case 2: // 2K CROM, 1K CRAM, 1 S register bank + m_ucode_rom_pages = 2; + m_ucode_ram_pages = 1; + m_sreg_banks = 1; + break; + case 3: // 1K CROM, 3K CRAM, 8 S register banks + m_ucode_rom_pages = 1; + m_ucode_ram_pages = 3; + m_sreg_banks = 8; + break; + } + m_ucode_ram_base = m_ucode_rom_pages * ALTO2_UCODE_PAGE_SIZE; + m_ucode_size = (m_ucode_rom_pages + m_ucode_ram_pages) * ALTO2_UCODE_PAGE_SIZE; + 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; if (0 == (m_reset_mode & (1 << task))) - m_task_mpc[task] |= ALTO2_UCODE_RAM_BASE; + m_task_mpc[task] |= m_ucode_ram_base; } m_next2_task = task_emu; // switch to task 0 (emulator) m_reset_mode = 0xffff; // all tasks start in ROM0 again diff --git a/src/devices/cpu/alto2/alto2cpu.h b/src/devices/cpu/alto2/alto2cpu.h index 823500a56cd..3993e79d816 100644 --- a/src/devices/cpu/alto2/alto2cpu.h +++ b/src/devices/cpu/alto2/alto2cpu.h @@ -46,11 +46,6 @@ enum { #define ALTO2_DEBUG 1 #endif -#ifndef ALTO2_CRAM_CONFIG -//! Use default CROM/CRAM configuration 2. -#define ALTO2_CRAM_CONFIG 2 -#endif - //!< Define to 1 to use the F9318 priority encoder code (broken). #define USE_PRIO_F9318 0 @@ -200,9 +195,6 @@ public: //! update the screen bitmap UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - //! screen VBLANK handler - void screen_eof(screen_device &screen, bool state); - DECLARE_ADDRESS_MAP( ucode_map, 32 ); DECLARE_ADDRESS_MAP( const_map, 16 ); DECLARE_ADDRESS_MAP( iomem_map, 16 ); @@ -255,18 +247,22 @@ private: address_space* m_iomem; + UINT32 m_cram_config; //!< CROM/CRAM configuration (1 .. 3) + UINT32 m_ucode_rom_pages; //!< Number of CROM pages; derived from m_cram_config + UINT32 m_ucode_ram_pages; //!< Number of CRAM pages; derived from m_cram_config + UINT32 m_ucode_ram_base; //!< Base offset of the CRAM addresses + UINT32 m_ucode_size; //!< Size of both, CROM and CRAM together + UINT32 m_sreg_banks; //!< Number of S register banks; derived from m_cram_config + UINT8* m_ucode_crom; std::unique_ptr m_ucode_cram; UINT8* m_const_data; - //! read microcode CROM - DECLARE_READ32_MEMBER ( crom_r ); + //! read microcode CROM or CRAM, depending on m_ucode_ram_base + DECLARE_READ32_MEMBER ( crom_cram_r ); - //! read microcode CRAM - DECLARE_READ32_MEMBER ( cram_r ); - - //! write microcode CRAM - DECLARE_WRITE32_MEMBER( cram_w ); + //! write microcode CRAM, depending on m_ucode_ram_base (ignore writes to CROM) + DECLARE_WRITE32_MEMBER( crom_cram_w ); //! read constants PROM DECLARE_READ16_MEMBER ( const_r ); @@ -568,7 +564,7 @@ private: UINT16 m_next; //!< current micro instruction's next UINT16 m_next2; //!< next micro instruction's next UINT16 m_r[ALTO2_REGS]; //!< R register file - UINT16 m_s[ALTO2_SREG_BANKS][ALTO2_REGS]; //!< S register file(s) + UINT16 m_s[8][ALTO2_REGS]; //!< S register file(s) (1 or 8 are used) UINT16 m_bus; //!< wired-AND bus UINT16 m_t; //!< T register UINT16 m_alu; //!< the current ALU diff --git a/src/devices/cpu/alto2/alto2dsm.cpp b/src/devices/cpu/alto2/alto2dsm.cpp index d899cb4f8b5..57571352c53 100644 --- a/src/devices/cpu/alto2/alto2dsm.cpp +++ b/src/devices/cpu/alto2/alto2dsm.cpp @@ -344,7 +344,7 @@ offs_t alto2_cpu_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 break; case 7: // put the constant from PROM (RSELECT,BS) on the bus pa = (rsel << 3) | bs; - dst += snprintf(dst, len - (size_t)(dst - buffer), "BUS<-%05o", const_prom[pa]); + dst += snprintf(dst, len - (size_t)(dst - buffer), "BUS<-%05o ", const_prom[pa]); break; default: dst += snprintf(dst, len - (size_t)(dst - buffer), "F1_%02o ", f1); @@ -386,6 +386,8 @@ offs_t alto2_cpu_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 dst += snprintf(dst, len - (size_t)(dst - buffer), "BUS<-F2_%02o ", f2); break; } + if (dst > buffer && dst[-1] == ' ') + *--dst = '\0'; return result; } diff --git a/src/mame/drivers/alto2.cpp b/src/mame/drivers/alto2.cpp index 1585759759f..809303922ca 100644 --- a/src/mame/drivers/alto2.cpp +++ b/src/mame/drivers/alto2.cpp @@ -162,6 +162,11 @@ static INPUT_PORTS_START( alto2 ) PORT_CONFNAME( 0x01, 0x01, "Memory switch") PORT_CONFSETTING( 0x00, "on") PORT_CONFSETTING( 0x01, "off") + PORT_CONFNAME( 0x06, 0x02, "CROM/CRAM configuration") + PORT_CONFSETTING( 0x00, "Invalid (no CROM/CRAM)") + PORT_CONFSETTING( 0x02, "1K CROM, 1K CRAM") + PORT_CONFSETTING( 0x04, "2K CROM, 1K CRAM") + PORT_CONFSETTING( 0x06, "1K CROM, 3K CRAM") PORT_CONFNAME( 0x70, 0x00, "Ethernet breath-of-life") PORT_CONFSETTING( 0x00, "off") PORT_CONFSETTING( 0x10, "5 seconds") @@ -252,7 +257,7 @@ ROM_END //************************************************************************** ADDRESS_MAP_START( alto2_ucode_map, AS_0, 32, alto2_state ) - AM_RANGE(0, ALTO2_UCODE_SIZE-1) AM_DEVICE32( "maincpu", alto2_cpu_device, ucode_map, 0xffffffffUL ) + AM_RANGE(0, 4*ALTO2_UCODE_PAGE_SIZE-1) AM_DEVICE32( "maincpu", alto2_cpu_device, ucode_map, 0xffffffffUL ) ADDRESS_MAP_END ADDRESS_MAP_START( alto2_const_map, AS_1, 16, alto2_state ) @@ -275,12 +280,14 @@ static MACHINE_CONFIG_START( alto2, alto2_state ) /* video hardware */ MCFG_SCREEN_ADD_MONOCHROME("screen", RASTER, rgb_t::white) MCFG_SCREEN_RAW_PARAMS(XTAL_20_16MHz, - ALTO2_DISPLAY_TOTAL_WIDTH, 0, ALTO2_DISPLAY_WIDTH, - ALTO2_DISPLAY_TOTAL_HEIGHT, 0, ALTO2_DISPLAY_HEIGHT) - MCFG_SCREEN_REFRESH_RATE(30) // two interlaced fields - MCFG_SCREEN_VBLANK_TIME(ALTO2_DISPLAY_VBLANK_TIME) + ALTO2_DISPLAY_TOTAL_WIDTH, + 0, + ALTO2_DISPLAY_WIDTH, + ALTO2_DISPLAY_TOTAL_HEIGHT, + 16, // some scalines of vblank period before + 16+ALTO2_DISPLAY_HEIGHT+8) // and after the usual range + MCFG_SCREEN_REFRESH_RATE(30) // two interlaced fields at 60Hz MCFG_SCREEN_UPDATE_DEVICE("maincpu", alto2_cpu_device, screen_update) - MCFG_SCREEN_VBLANK_DEVICE("maincpu", alto2_cpu_device, screen_eof) MCFG_SCREEN_PALETTE("palette") MCFG_DEFAULT_LAYOUT( layout_vertical ) From 52b801717f856e6a708a4106c585a49c6115bd67 Mon Sep 17 00:00:00 2001 From: Juergen Buchmueller Date: Sat, 13 Aug 2016 16:14:04 +0200 Subject: [PATCH 024/116] alto2: oops - disable a2ram printfs --- src/devices/cpu/alto2/a2ram.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/devices/cpu/alto2/a2ram.cpp b/src/devices/cpu/alto2/a2ram.cpp index 085b81ea497..14fe24dd21e 100644 --- a/src/devices/cpu/alto2/a2ram.cpp +++ b/src/devices/cpu/alto2/a2ram.cpp @@ -7,9 +7,9 @@ *****************************************************************************/ #include "alto2cpu.h" -#define DEBUG_WRTRAM 1 //!< define to 1 to print CRAM writes -#define DEBUG_RDRAM 1 //!< define to 1 to print CRAM reads -#define DEBUG_BRANCH 1 //!< define to 1 to print branching to ROM/RAM +#define DEBUG_WRTRAM 0 //!< define to 1 to print CRAM writes +#define DEBUG_RDRAM 0 //!< define to 1 to print CRAM reads +#define DEBUG_BRANCH 0 //!< define to 1 to print branching to ROM/RAM //! direct read access to the microcode CRAM #define RD_CRAM(addr) (*reinterpret_cast(m_ucode_cram.get() + addr * 4)) From 15fcefa4d58a82563e1c054c77db5f4e64f70377 Mon Sep 17 00:00:00 2001 From: Robbbert Date: Sun, 14 Aug 2016 00:38:28 +1000 Subject: [PATCH 025/116] Playmatic Pinballs : WIP --- src/mame/drivers/play_1.cpp | 277 +++++++++++++++++++++++++------ src/mame/drivers/play_2.cpp | 267 ++++++++++++++++++++++++------ src/mame/drivers/play_3.cpp | 3 +- src/mame/drivers/play_5.cpp | 317 +++++++++++++++++++++++++++++++----- src/mame/layout/play_1.lay | 145 +++++++++++++++++ src/mame/layout/play_2.lay | 145 +++++++++++++++++ src/mame/layout/play_5.lay | 154 ++++++++++++++++++ 7 files changed, 1170 insertions(+), 138 deletions(-) create mode 100644 src/mame/layout/play_1.lay create mode 100644 src/mame/layout/play_2.lay create mode 100644 src/mame/layout/play_5.lay diff --git a/src/mame/drivers/play_1.cpp b/src/mame/drivers/play_1.cpp index 1095d67e464..f13bf987006 100644 --- a/src/mame/drivers/play_1.cpp +++ b/src/mame/drivers/play_1.cpp @@ -18,6 +18,8 @@ Status: #include "machine/genpin.h" #include "cpu/cosmac/cosmac.h" #include "machine/clock.h" +#include "sound/speaker.h" +#include "play_1.lh" class play_1_state : public driver_device { @@ -25,12 +27,10 @@ public: play_1_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") + , m_dips(*this, "X") + , m_monotone(*this, "monotone") { } - DECLARE_DRIVER_INIT(play_1); - DECLARE_READ8_MEMBER(port00_r); - DECLARE_READ8_MEMBER(port01_r); - DECLARE_READ8_MEMBER(port06_r); DECLARE_READ8_MEMBER(port07_r); DECLARE_WRITE8_MEMBER(port01_w); DECLARE_WRITE8_MEMBER(port02_w); @@ -38,7 +38,6 @@ public: DECLARE_WRITE8_MEMBER(port04_w); DECLARE_WRITE8_MEMBER(port05_w); DECLARE_WRITE8_MEMBER(port06_w); - DECLARE_WRITE8_MEMBER(port07_w); DECLARE_READ_LINE_MEMBER(clear_r); DECLARE_READ_LINE_MEMBER(ef2_r); DECLARE_READ_LINE_MEMBER(ef3_r); @@ -47,96 +46,261 @@ public: private: UINT16 m_resetcnt; + UINT8 m_segment; + UINT8 m_digit; + UINT8 m_match; virtual void machine_reset() override; required_device m_maincpu; + required_ioport_array<4> m_dips; + required_device m_monotone; }; static ADDRESS_MAP_START( play_1_map, AS_PROGRAM, 8, play_1_state ) ADDRESS_MAP_GLOBAL_MASK(0xfff) AM_RANGE(0x0000, 0x07ff) AM_ROM - AM_RANGE(0x0800, 0x081f) AM_RAM + AM_RANGE(0x0800, 0x081f) AM_RAM AM_SHARE("nvram") // capacitor acting as a 3-month "battery" AM_RANGE(0x0c00, 0x0c1f) AM_RAM ADDRESS_MAP_END static ADDRESS_MAP_START( chance_map, AS_PROGRAM, 8, play_1_state ) ADDRESS_MAP_GLOBAL_MASK(0xfff) AM_RANGE(0x0000, 0x0bff) AM_ROM - AM_RANGE(0x0c00, 0x0c1f) AM_RAM + AM_RANGE(0x0c00, 0x0c1f) AM_RAM AM_SHARE("nvram") // capacitor acting as a 3-month "battery" AM_RANGE(0x0e00, 0x0e1f) AM_RAM ADDRESS_MAP_END static ADDRESS_MAP_START( play_1_io, AS_IO, 8, play_1_state ) - AM_RANGE(0x00, 0x00) AM_READ(port00_r) - AM_RANGE(0x01, 0x01) AM_READWRITE(port01_r,port01_w) //segments - AM_RANGE(0x02, 0x02) AM_WRITE(port02_w) // N1-8 - AM_RANGE(0x03, 0x03) AM_WRITE(port03_w) // D1-4 - AM_RANGE(0x04, 0x04) AM_WRITE(port04_w) // U1-8 - AM_RANGE(0x05, 0x05) AM_WRITE(port05_w) // V1-8 - AM_RANGE(0x06, 0x06) AM_READWRITE(port06_r,port06_w) // W1-8, input selector - AM_RANGE(0x07, 0x07) AM_READ(port07_r) // another input selector + AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(port01_w) //segments + AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_WRITE(port02_w) // N1-8 + AM_RANGE(0x03, 0x03) AM_READ_PORT("IN3") AM_WRITE(port03_w) // D1-4 + AM_RANGE(0x04, 0x04) AM_READ_PORT("IN4") AM_WRITE(port04_w) // U1-8 + AM_RANGE(0x05, 0x05) AM_READ_PORT("IN5") AM_WRITE(port05_w) // V1-8 + AM_RANGE(0x06, 0x06) AM_READ_PORT("IN6") AM_WRITE(port06_w) // W1-8 + AM_RANGE(0x07, 0x07) AM_READ(port07_r) ADDRESS_MAP_END static INPUT_PORTS_START( play_1 ) - PORT_START("DSW0") - PORT_DIPNAME(0x01, 0x01, DEF_STR( Coinage ) ) // this is something else, don't know what yet - PORT_DIPSETTING ( 0x00, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING ( 0x01, DEF_STR( 1C_1C ) ) + PORT_START("X.0") +// PORT_DIPNAME(0x01, 0x01, DEF_STR( Coinage ) ) // this is something else, don't know what yet +// PORT_DIPSETTING ( 0x00, DEF_STR( 1C_3C ) ) +// PORT_DIPSETTING ( 0x01, DEF_STR( 1C_1C ) ) PORT_DIPNAME(0x02, 0x00, "Balls") PORT_DIPSETTING ( 0x00, "3" ) PORT_DIPSETTING ( 0x02, "5" ) PORT_DIPNAME(0x04, 0x00, "Special award") PORT_DIPSETTING ( 0x00, "Free game" ) PORT_DIPSETTING ( 0x04, "Extra ball" ) - // rotary switches for credits per coin + + PORT_START("X.1") + PORT_DIPNAME(0xff, 0x20, "Coinage for slot 2" ) + PORT_DIPSETTING ( 0x01, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING ( 0x02, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING ( 0x04, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING ( 0x08, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING ( 0x10, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING ( 0x20, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING ( 0x40, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING ( 0x80, DEF_STR( 1C_6C ) ) + + PORT_START("X.2") + PORT_DIPNAME(0xff, 0x20, "Coinage for slot 3" ) + PORT_DIPSETTING ( 0x01, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING ( 0x02, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING ( 0x04, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING ( 0x08, DEF_STR( 1C_6C ) ) + PORT_DIPSETTING ( 0x10, DEF_STR( 1C_7C ) ) + PORT_DIPSETTING ( 0x20, DEF_STR( 1C_8C ) ) + PORT_DIPSETTING ( 0x40, DEF_STR( 1C_9C ) ) + PORT_DIPSETTING ( 0x80, "1 coin 10 credits" ) + + PORT_START("IN1") // 11-18 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_2_PAD) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_3_PAD) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_4_PAD) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_5_PAD) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_6_PAD) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_7_PAD) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_8_PAD) + + PORT_START("IN2") // 21-28 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_9_PAD) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_S) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_D) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_F) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_G) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_H) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_J) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_K) + + PORT_START("IN3") // 31-38 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_L) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Z) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_C) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_V) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_B) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_N) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_M) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_COMMA) + + PORT_START("IN4") // 41-48 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_STOP) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_SLASH) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_COLON) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_QUOTE) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_A) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_MINUS) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_EQUALS) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSPACE) + + PORT_START("IN5") // 51-58 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_OPENBRACE) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_CLOSEBRACE) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSLASH) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_ENTER) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_LEFT) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_RIGHT) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_UP) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_DOWN) + + PORT_START("IN6") // 61-68 + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Q) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_W) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_E) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_R) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_Y) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_U) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_I) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_O) + + PORT_START("X.3") // 71-78 + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_1) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_3) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_4) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_5) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_6) INPUT_PORTS_END void play_1_state::machine_reset() { m_resetcnt = 0; -} - -READ8_MEMBER( play_1_state::port00_r ) -{ - return 0; -} - -READ8_MEMBER( play_1_state::port01_r ) -{ - return 0; -} - -READ8_MEMBER( play_1_state::port06_r ) -{ - return 0xff; // Big Town etc check this at boot + m_segment = 0; + m_digit = 0; + m_match = 0; } READ8_MEMBER( play_1_state::port07_r ) { - return 0; + UINT8 data = m_dips[3]->read(); + data |= (m_segment & m_dips[1]->read()) ? 0x40 : 0; + data |= (m_segment & m_dips[2]->read()) ? 0x80 : 0; + return data; } WRITE8_MEMBER( play_1_state::port01_w ) { + static const UINT8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x67, 0, 0, 0, 0, 0, 0 }; // 4511 + // d0-1 via 4013 to match-game board + // d4-7 via 4511 to match-game board + if BIT(data, 0) + output().set_digit_value(40, patterns[1]); + else + output().set_digit_value(40, 0); + + if BIT(data, 1) + output().set_digit_value(45, patterns[0]); + else + output().set_digit_value(45, 0); + + m_match = patterns[data>>4] & 0x7f; } WRITE8_MEMBER( play_1_state::port02_w ) { + // N1-8, segments and other + m_segment = data; } WRITE8_MEMBER( play_1_state::port03_w ) { + static const UINT8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x67, 0, 0, 0, 0, 0, 0 }; // 4511 + // D1-4, digit select + // according to the schematic, there's nothing to light up the tens and units for players 2,3,4 + m_digit = data & 15; + switch (m_digit) + { + case 1: + // a combination of bits could set higher frequencies, but that isn't documented + if BIT(m_segment, 0) + m_monotone->set_unscaled_clock(523); + else + if BIT(m_segment, 1) + m_monotone->set_unscaled_clock(659); + else + if BIT(m_segment, 2) + m_monotone->set_unscaled_clock(784); + else + if BIT(m_segment, 3) + m_monotone->set_unscaled_clock(988); + else + m_monotone->set_unscaled_clock(0); + break; + case 2: + output().set_digit_value(0, patterns[m_segment>>4]); + output().set_digit_value(1, patterns[m_segment&15]); + break; + case 3: + output().set_digit_value(2, patterns[m_segment>>4]); + output().set_digit_value(3, patterns[m_segment&15]); + break; + case 4: + output().set_digit_value(4, patterns[m_segment>>4]); + output().set_digit_value(5, patterns[m_segment&15]); + break; + case 5: + output().set_digit_value(10, patterns[m_segment>>4]); + output().set_digit_value(11, patterns[m_segment&15]); + break; + case 6: + output().set_digit_value(12, patterns[m_segment>>4]); + output().set_digit_value(13, patterns[m_segment&15]); + break; + case 7: + output().set_digit_value(20, patterns[m_segment>>4]); + output().set_digit_value(21, patterns[m_segment&15]); + break; + case 8: + output().set_digit_value(22, patterns[m_segment>>4]); + output().set_digit_value(23, patterns[m_segment&15]); + break; + case 9: + output().set_digit_value(30, patterns[m_segment>>4]); + output().set_digit_value(31, patterns[m_segment&15]); + break; + case 10: + case 11: + output().set_digit_value(32, patterns[m_segment>>4]); + output().set_digit_value(33, patterns[m_segment&15]); + break; + default: + break; + } } WRITE8_MEMBER( play_1_state::port04_w ) { + // U1-8 } WRITE8_MEMBER( play_1_state::port05_w ) { + // V1-8 } WRITE8_MEMBER( play_1_state::port06_w ) { + // W1-8 } READ_LINE_MEMBER( play_1_state::clear_r ) @@ -149,29 +313,30 @@ READ_LINE_MEMBER( play_1_state::clear_r ) READ_LINE_MEMBER( play_1_state::ef2_r ) { - return BIT(ioport("DSW0")->read(), 0); // 1 or 3 games dip (1=1 game) + return !BIT(m_dips[0]->read(), 0); // 1 or 3 games dip (1=1 game) inverted } READ_LINE_MEMBER( play_1_state::ef3_r ) { - return BIT(ioport("DSW0")->read(), 1); // 3 or 5 balls dip (1=5 balls) + return !BIT(m_dips[0]->read(), 1); // 3 or 5 balls dip (1=5 balls) inverted } READ_LINE_MEMBER( play_1_state::ef4_r ) { - return BIT(ioport("DSW0")->read(), 2); // extra ball or game dip (1=extra ball) + return !BIT(m_dips[0]->read(), 2); // extra ball or game dip (1=extra ball) inverted } WRITE_LINE_MEMBER( play_1_state::clock_w ) { - m_maincpu->int_w(1); - m_maincpu->int_w(0); // INT is a pulse-line - m_maincpu->ef1_w(state); - // also, state and !state go to display panel -} + m_maincpu->int_w(0); + m_maincpu->ef1_w(!state); // inverted + if (state) + output().set_digit_value(41, m_match); + else + output().set_digit_value(44, m_match); + m_maincpu->int_w(1); // INT is a pulse-line - inverted -DRIVER_INIT_MEMBER(play_1_state,play_1) -{ + // also, state and !state go to display panel } static MACHINE_CONFIG_START( play_1, play_1_state ) @@ -185,11 +350,21 @@ static MACHINE_CONFIG_START( play_1, play_1_state ) MCFG_COSMAC_EF3_CALLBACK(READLINE(play_1_state, ef3_r)) MCFG_COSMAC_EF4_CALLBACK(READLINE(play_1_state, ef4_r)) + MCFG_NVRAM_ADD_0FILL("nvram") + + /* Video */ + MCFG_DEFAULT_LAYOUT(layout_play_1) + MCFG_DEVICE_ADD("xpoint", CLOCK, 60) // crossing-point detector MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(play_1_state, clock_w)) /* Sound */ MCFG_FRAGMENT_ADD( genpin_audio ) + MCFG_SPEAKER_STANDARD_MONO("mono") + MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) + MCFG_DEVICE_ADD("monotone", CLOCK, 0) // sound device + MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("speaker", speaker_sound_device, level_w)) MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( chance, play_1 ) @@ -245,8 +420,8 @@ ROM_END /* Big Town, Last Lap and Party all reportedly share the same roms with different playfield/machine artworks */ -GAME(1978, bigtown, 0, play_1, play_1, play_1_state, play_1, ROT0, "Playmatic", "Big Town", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1978, chance, 0, chance, play_1, play_1_state, play_1, ROT0, "Playmatic", "Chance", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1978, lastlap, 0, play_1, play_1, play_1_state, play_1, ROT0, "Playmatic", "Last Lap", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1978, spcgambl, 0, play_1, play_1, play_1_state, play_1, ROT0, "Playmatic", "Space Gambler", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1979, party, 0, play_1, play_1, play_1_state, play_1, ROT0, "Playmatic", "Party", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1978, bigtown, 0, play_1, play_1, driver_device, 0, ROT0, "Playmatic", "Big Town", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND) +GAME(1978, chance, 0, chance, play_1, driver_device, 0, ROT0, "Playmatic", "Chance", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND) +GAME(1978, lastlap, bigtown, play_1, play_1, driver_device, 0, ROT0, "Playmatic", "Last Lap", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND) +GAME(1978, spcgambl, 0, play_1, play_1, driver_device, 0, ROT0, "Playmatic", "Space Gambler", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND) +GAME(1979, party, bigtown, play_1, play_1, driver_device, 0, ROT0, "Playmatic", "Party", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND) diff --git a/src/mame/drivers/play_2.cpp b/src/mame/drivers/play_2.cpp index 4a386b6cc6f..a0c9e8376ad 100644 --- a/src/mame/drivers/play_2.cpp +++ b/src/mame/drivers/play_2.cpp @@ -6,11 +6,11 @@ PINBALL Playmatic MPU 2 Status: -- Main board is emulated and working (currently runs the initial test mode) -- Displays to add -- Switches, lamps, solenoids to add -- Sound board to emulate +- Lamps, Solenoids to add +- AY chips output port adds various components across the analog outputs (including muting) - Mechanical sounds to add +- Sound board to add +- Most games work ***********************************************************************************/ @@ -19,6 +19,8 @@ Status: #include "cpu/cosmac/cosmac.h" #include "machine/clock.h" #include "machine/7474.h" +#include "sound/ay8910.h" +#include "play_2.lh" class play_2_state : public driver_device { @@ -26,11 +28,12 @@ public: play_2_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") + , m_audiocpu(*this, "audiocpu") , m_4013a(*this, "4013a") , m_4013b(*this, "4013b") + , m_keyboard(*this, "X") { } - DECLARE_DRIVER_INIT(play_2); DECLARE_WRITE8_MEMBER(port01_w); DECLARE_WRITE8_MEMBER(port02_w); DECLARE_WRITE8_MEMBER(port03_w); @@ -44,14 +47,26 @@ public: DECLARE_WRITE_LINE_MEMBER(q4013a_w); DECLARE_WRITE_LINE_MEMBER(clock_w); DECLARE_WRITE_LINE_MEMBER(clock2_w); + DECLARE_WRITE8_MEMBER(port01_a_w); + DECLARE_READ8_MEMBER(port02_a_r); + DECLARE_READ_LINE_MEMBER(clear_a_r); private: UINT16 m_clockcnt; UINT16 m_resetcnt; + UINT16 m_resetcnt_a; + UINT8 m_soundlatch; + UINT8 m_a_irqset; + UINT16 m_a_irqcnt; + UINT8 m_kbdrow; + UINT8 m_segment[5]; + bool m_disp_sw; virtual void machine_reset() override; required_device m_maincpu; + required_device m_audiocpu; required_device m_4013a; required_device m_4013b; + required_ioport_array<8> m_keyboard; }; @@ -70,41 +85,156 @@ static ADDRESS_MAP_START( play_2_io, AS_IO, 8, play_2_state ) AM_RANGE(0x07, 0x07) AM_WRITE(port07_w) ADDRESS_MAP_END +static ADDRESS_MAP_START( play_2_audio_map, AS_PROGRAM, 8, play_2_state ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x4001) AM_MIRROR(0x1ffe) AM_DEVREADWRITE("aysnd1", ay8910_device, data_r, address_data_w) + AM_RANGE(0x6000, 0x6001) AM_MIRROR(0x1ffe) AM_DEVREADWRITE("aysnd2", ay8910_device, data_r, address_data_w) + AM_RANGE(0x8000, 0x80ff) AM_RAM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( play_2_audio_io, AS_IO, 8, play_2_state ) + AM_RANGE(0x01, 0x01) AM_WRITE(port01_a_w) // irq counter + AM_RANGE(0x02, 0x02) AM_READ(port02_a_r) // sound code +ADDRESS_MAP_END + static INPUT_PORTS_START( play_2 ) + PORT_START("X.0") // 11-18 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_2_PAD) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_3_PAD) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_4_PAD) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_5_PAD) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_6_PAD) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_7_PAD) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_8_PAD) + + PORT_START("X.1") // 21-28 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_9_PAD) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_S) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_D) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_F) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_G) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_H) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_J) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_K) + + PORT_START("X.2") // 31-38 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_L) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Z) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_C) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_V) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_B) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_N) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_M) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_COMMA) + + PORT_START("X.3") // 41-48 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_STOP) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_SLASH) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_COLON) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_QUOTE) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_A) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_MINUS) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_EQUALS) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSPACE) + + PORT_START("X.4") // 51-58 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_OPENBRACE) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_CLOSEBRACE) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSLASH) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_ENTER) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_LEFT) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_RIGHT) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_UP) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_DOWN) + + PORT_START("X.5") // 61-68 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Q) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_W) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_E) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_R) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Y) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_U) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_I) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_O) + + PORT_START("X.6") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_X) // outhole + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8) // zone select (door switch) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_TILT ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_9) // reset button on the ios board + + PORT_START("X.7") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE ) // reset button on main cpu EF4 INPUT_PORTS_END void play_2_state::machine_reset() { m_clockcnt = 0; m_resetcnt = 0; + m_resetcnt_a = 0; m_4013b->d_w(1); + m_a_irqset = 54; // default value of the CDP1863 + m_a_irqcnt = (m_a_irqset << 3) | 7; + m_soundlatch = 0; + m_kbdrow = 0; + m_disp_sw = 0; + for (UINT8 i = 0; i < 5; i++) + m_segment[i] = 0; } WRITE8_MEMBER( play_2_state::port01_w ) { -} - -WRITE8_MEMBER( play_2_state::port02_w ) -{ -} - -WRITE8_MEMBER( play_2_state::port03_w ) -{ -} - -READ8_MEMBER( play_2_state::port04_r ) -{ - return 0xff; -} - -READ8_MEMBER( play_2_state::port05_r ) -{ - return 0xff; + m_kbdrow = data; + if (m_kbdrow && m_disp_sw) + { + m_disp_sw = 0; + for (UINT8 j = 0; j < 6; j++) + if BIT(m_kbdrow, j) + for (UINT8 i = 0; i < 5; i++) + output().set_digit_value(j*10 + i, m_segment[i]); + } } WRITE8_MEMBER( play_2_state::port06_w ) { + //m_soundlatch = data; +} + +WRITE8_MEMBER( play_2_state::port03_w ) +{ + if BIT(data, 6) + m_audiocpu->ef1_w(1); // inverted +} + +READ8_MEMBER( play_2_state::port04_r ) +{ + if (m_kbdrow & 0x3f) + for (UINT8 i = 0; i < 6; i++) + if BIT(m_kbdrow, i) + return m_keyboard[i]->read(); + + return 0; +} + +READ8_MEMBER( play_2_state::port05_r ) +{ + return m_keyboard[6]->read(); +} + +WRITE8_MEMBER( play_2_state::port02_w ) +{ + m_segment[4] = m_segment[3]; + m_segment[3] = m_segment[2]; + m_segment[2] = m_segment[1]; + m_segment[1] = m_segment[0]; + m_segment[0] = data; + m_disp_sw = 1; } WRITE8_MEMBER( play_2_state::port07_w ) @@ -113,6 +243,18 @@ WRITE8_MEMBER( play_2_state::port07_w ) m_4013b->clear_w(1); } +WRITE8_MEMBER( play_2_state::port01_a_w ) +{ + m_a_irqset = data; + m_a_irqcnt = (m_a_irqset << 3) | 7; +} + +READ8_MEMBER( play_2_state::port02_a_r ) +{ + m_audiocpu->ef1_w(0); // inverted + return m_soundlatch; +} + READ_LINE_MEMBER( play_2_state::clear_r ) { // A hack to make the machine reset itself on boot @@ -121,18 +263,22 @@ READ_LINE_MEMBER( play_2_state::clear_r ) return (m_resetcnt == 0xff00) ? 0 : 1; } +READ_LINE_MEMBER( play_2_state::clear_a_r ) +{ + // A hack to make the machine reset itself on boot + if (m_resetcnt_a < 0xffff) + m_resetcnt_a++; + return (m_resetcnt_a == 0xff00) ? 0 : 1; +} + READ_LINE_MEMBER( play_2_state::ef1_r ) { - return BIT(m_clockcnt, 10); + return (!BIT(m_clockcnt, 10)); // inverted } READ_LINE_MEMBER( play_2_state::ef4_r ) { - return 1; // test button -} - -DRIVER_INIT_MEMBER( play_2_state, play_2 ) -{ + return BIT(m_keyboard[7]->read(), 0); // inverted test button - doesn't seem to do anything } WRITE_LINE_MEMBER( play_2_state::clock_w ) @@ -145,13 +291,24 @@ WRITE_LINE_MEMBER( play_2_state::clock_w ) // simulate 4020 chip if ((m_clockcnt & 0x3ff) == 0) m_4013b->preset_w(BIT(m_clockcnt, 10)); // Q10 output + + // sound irq + m_a_irqcnt--; + if (m_a_irqcnt == 1) + m_audiocpu->int_w(1); // inverted + else + if (m_a_irqcnt == 0) + { + m_a_irqcnt = (m_a_irqset << 3) | 7; + m_audiocpu->int_w(0); // inverted + } } } WRITE_LINE_MEMBER( play_2_state::clock2_w ) { m_4013b->clock_w(state); - m_maincpu->ef3_w(!state); + m_maincpu->ef3_w(state); // inverted } WRITE_LINE_MEMBER( play_2_state::q4013a_w ) @@ -172,6 +329,9 @@ static MACHINE_CONFIG_START( play_2, play_2_state ) MCFG_NVRAM_ADD_0FILL("nvram") + /* Video */ + MCFG_DEFAULT_LAYOUT(layout_play_2) + MCFG_DEVICE_ADD("tpb_clock", CLOCK, 2950000 / 8) // TPB line from CPU MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(play_2_state, clock_w)) @@ -189,6 +349,18 @@ static MACHINE_CONFIG_START( play_2, play_2_state ) /* Sound */ MCFG_FRAGMENT_ADD( genpin_audio ) + + MCFG_CPU_ADD("audiocpu", CDP1802, XTAL_3_579545MHz) + MCFG_CPU_PROGRAM_MAP(play_2_audio_map) + MCFG_CPU_IO_MAP(play_2_audio_io) + MCFG_COSMAC_WAIT_CALLBACK(VCC) + MCFG_COSMAC_CLEAR_CALLBACK(READLINE(play_2_state, clear_a_r)) + + MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") + MCFG_SOUND_ADD("aysnd1", AY8910, XTAL_3_579545MHz / 2) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.00) + MCFG_SOUND_ADD("aysnd2", AY8910, XTAL_3_579545MHz / 2) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00) MACHINE_CONFIG_END /*------------------------------------------------------------------- @@ -200,6 +372,8 @@ ROM_START(antar) ROM_LOAD("antar09.bin", 0x0400, 0x0400, CRC(2c954f1a) SHA1(fa83a5f1c269ea28d4eeff181f493cbb4dc9bc47)) ROM_LOAD("antar10.bin", 0x0800, 0x0400, CRC(a6ce5667) SHA1(85ecd4fce94dc419e4c210262f867310b0889cd3)) ROM_LOAD("antar11.bin", 0x0c00, 0x0400, CRC(6474b17f) SHA1(e4325ceff820393b06eb2e8e4a85412b0d01a385)) + + ROM_REGION(0x10000, "audiocpu", ROMREGION_ERASEFF) ROM_END ROM_START(antar2) @@ -208,6 +382,8 @@ ROM_START(antar2) ROM_LOAD("antar09.bin", 0x0400, 0x0400, CRC(2c954f1a) SHA1(fa83a5f1c269ea28d4eeff181f493cbb4dc9bc47)) ROM_LOAD("antar10a.bin", 0x0800, 0x0400, CRC(520eb401) SHA1(1d5e3f829a7e7f38c7c519c488e6b7e1a4d34321)) ROM_LOAD("antar11a.bin", 0x0c00, 0x0400, CRC(17ad38bf) SHA1(e2c9472ed8fbe9d5965a5c79515a1b7ea9edaa79)) + + ROM_REGION(0x10000, "audiocpu", ROMREGION_ERASEFF) ROM_END @@ -220,6 +396,8 @@ ROM_START(evlfight) ROM_LOAD("evfg09.bin", 0x0400, 0x0400, CRC(5232dc4c) SHA1(6f95a578e9f09688e6ce8b0a622bcee887936c82)) ROM_LOAD("evfg10.bin", 0x0800, 0x0400, CRC(de2f754d) SHA1(0287a9975095bcbf03ddb2b374ff25c080c8020f)) ROM_LOAD("evfg11.bin", 0x0c00, 0x0400, CRC(5eb8ac02) SHA1(31c80e74a4272becf7014aa96eaf7de555e26cd6)) + + ROM_REGION(0x10000, "audiocpu", ROMREGION_ERASEFF) ROM_END /*------------------------------------------------------------------- @@ -246,6 +424,8 @@ ROM_START(attack) ROM_LOAD("attack9.bin", 0x0400, 0x0400, CRC(bbd086b4) SHA1(6fc94b94beea482d8c8f5b3c69d3f218e2b2dfc4)) ROM_LOAD("attack10.bin", 0x0800, 0x0400, CRC(764925e4) SHA1(2f207ef87786d27d0d856c5816a570a59d89b718)) ROM_LOAD("attack11.bin", 0x0c00, 0x0400, CRC(972157b4) SHA1(23c90f23a34b34acfe445496a133b6022a749ccc)) + + ROM_REGION(0x10000, "audiocpu", ROMREGION_ERASEFF) ROM_END /*------------------------------------------------------------------- @@ -257,6 +437,8 @@ ROM_START(blkfever) ROM_LOAD("blackf9.bin", 0x0400, 0x0400, CRC(ecb72fdc) SHA1(d3598031b7170fab39727b3402b7053d4f9e1ca7)) ROM_LOAD("blackf10.bin", 0x0800, 0x0400, CRC(b3fae788) SHA1(e14e09cc7da1098abf2f60f26a8ec507e123ff7c)) ROM_LOAD("blackf11.bin", 0x0c00, 0x0400, CRC(5a97c1b4) SHA1(b9d7eb0dd55ef6d959c0fab48f710e4b1c8d8003)) + + ROM_REGION(0x10000, "audiocpu", ROMREGION_ERASEFF) ROM_END /*------------------------------------------------------------------- @@ -267,7 +449,7 @@ ROM_START(zira) ROM_LOAD("zira_u8.bin", 0x0000, 0x0800, CRC(53f8bf17) SHA1(5eb74f27bc65374a85dd44bbc8f6142488c226a2)) ROM_LOAD("zira_u9.bin", 0x0800, 0x0800, CRC(d50a2419) SHA1(81b157f579a433389506817b1b6e02afaa2cf0d5)) - ROM_REGION(0x10000, "audiocpu", 0) + ROM_REGION(0x10000, "audiocpu", ROMREGION_ERASEFF) ROM_LOAD("zira.snd", 0x0000, 0x0400, NO_DUMP) ROM_END @@ -284,19 +466,12 @@ ROM_START(cerberup) ROM_LOAD("cerb.snd", 0x0000, 0x2000, CRC(8af53a23) SHA1(a80b57576a1eb1b4544b718b9abba100531e3942)) ROM_END -// ??/84 Nautilus -// ??/84 The Raid -// ??/85 Stop Ship -// ??/86 Flash Dragon -// ??/87 Phantom Ship -// ??/87 Skill Flight - -GAME(1979, antar, 0, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Antar (set 1)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1979, antar2, antar, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Antar (set 2)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1980, evlfight, 0, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Evil Fight", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1980, attack, 0, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Attack", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1980, blkfever, 0, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Black Fever", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1982, cerberup, 0, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Cerberus (Pinball)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1985, madrace, 0, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Mad Race", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1980, zira, 0, play_2, play_2, play_2_state, play_2, ROT0, "Playmatic", "Zira", MACHINE_IS_SKELETON_MECHANICAL) +GAME(1979, antar, 0, play_2, play_2, driver_device, 0, ROT0, "Playmatic", "Antar (set 1)", MACHINE_MECHANICAL | MACHINE_NO_SOUND) +GAME(1979, antar2, antar, play_2, play_2, driver_device, 0, ROT0, "Playmatic", "Antar (set 2)", MACHINE_MECHANICAL | MACHINE_NO_SOUND) +GAME(1980, evlfight, 0, play_2, play_2, driver_device, 0, ROT0, "Playmatic", "Evil Fight", MACHINE_MECHANICAL | MACHINE_NO_SOUND) +GAME(1980, attack, 0, play_2, play_2, driver_device, 0, ROT0, "Playmatic", "Attack", MACHINE_MECHANICAL | MACHINE_NO_SOUND) +GAME(1980, blkfever, 0, play_2, play_2, driver_device, 0, ROT0, "Playmatic", "Black Fever", MACHINE_MECHANICAL | MACHINE_NO_SOUND) +GAME(1982, cerberup, 0, play_2, play_2, driver_device, 0, ROT0, "Playmatic", "Cerberus (Pinball)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND) +GAME(1985, madrace, 0, play_2, play_2, driver_device, 0, ROT0, "Playmatic", "Mad Race", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND) +GAME(1980, zira, 0, play_2, play_2, driver_device, 0, ROT0, "Playmatic", "Zira", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND) diff --git a/src/mame/drivers/play_3.cpp b/src/mame/drivers/play_3.cpp index 83c4b7c82ac..f4094a7046e 100644 --- a/src/mame/drivers/play_3.cpp +++ b/src/mame/drivers/play_3.cpp @@ -13,7 +13,7 @@ Status: - Mechanical sounds to add ***********************************************************************************/ - +#if 0 #include "machine/genpin.h" #include "cpu/cosmac/cosmac.h" @@ -217,3 +217,4 @@ ROM_END GAME(1983, megaaton, 0, play_3, play_3, play_3_state, play_3, ROT0, "Playmatic", "Meg-Aaton", MACHINE_IS_SKELETON_MECHANICAL) GAME(1983, megaatona, megaaton, play_3, play_3, play_3_state, play_3, ROT0, "Playmatic", "Meg-Aaton (alternate set)", MACHINE_IS_SKELETON_MECHANICAL) +#endif diff --git a/src/mame/drivers/play_5.cpp b/src/mame/drivers/play_5.cpp index cef4e7dd4c7..2ebc3047a1b 100644 --- a/src/mame/drivers/play_5.cpp +++ b/src/mame/drivers/play_5.cpp @@ -1,28 +1,53 @@ // license:BSD-3-Clause // copyright-holders:Miodrag Milanovic, Robbbert -/********************************************************************************** +/********************************************************************************************* PINBALL -Playmatic MPU 5 +Playmatic MPU 3,4,5 Status: -- Main board is emulated and working (currently runs the initial test mode) -- Displays to add -- Switches, lamps, solenoids to add -- Sound board to emulate +- Lamps, Solenoids to add +- AY chips output port adds various components across the analog outputs (including muting) - Mechanical sounds to add +- Most games work +-- Spain82: not working +-- Nautilus: sound is broken (runs into the weeds) +-- Skill Flight: not working, no sound roms +-- Flash Dragon: no sound roms +-- Meg Aaton: not working (No Ball) -(note to self: MPU3 and MPU5 appear at first glance to be identical apart from -cpu clock. MPU2 also appears to be identical to MPU3 apart from the RAM address. -If the sound cards are sufficiently similar, we should be able to merge all 3.) +Note: The input lines INT, EF1-4 are inverted (not true voltage). -***********************************************************************************/ +First time: +- The default settings are fine, so start with a clean slate +- Wait for it to say No Ball, then hold down X. +- Keep holding X, insert credits, and press start. When it says ball 1, let go immediately. +- If you hold down X longer than you should, it says Coil Error, and the game is ended. You + should let go the instant the ball number increments. +- Any games marked working actually do work, but like most pinballs they are a pain to play + with the keyboard. + +Setting up: +The manual is not that clear, there's a lot we don't know, this *seems* to work... +- Start machine, wait for it to say No Ball, and it plays a tune +- Press 8 (to simulate opening the front door) +- Press 1, it says BooP (Bookkeeping) +- Press 8 and the credits number increments to 8, then 01 and on to 17 (2 pushes per number) +- When it gets to 01, the display says Adjust +- To adjust a setting, press 1 to choose a digit, then tap 9 until it is correct. +- The settings in the manual do not fully line up with what we see in the display. + + +***********************************************************************************************/ #include "machine/genpin.h" #include "cpu/cosmac/cosmac.h" #include "machine/clock.h" #include "machine/7474.h" +#include "sound/ay8910.h" +#include "play_5.lh" + class play_5_state : public driver_device { @@ -30,11 +55,12 @@ public: play_5_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") + , m_audiocpu(*this, "audiocpu") , m_4013a(*this, "4013a") , m_4013b(*this, "4013b") + , m_keyboard(*this, "X") { } - DECLARE_DRIVER_INIT(play_5); DECLARE_WRITE8_MEMBER(port01_w); DECLARE_WRITE8_MEMBER(port02_w); DECLARE_WRITE8_MEMBER(port03_w); @@ -48,14 +74,26 @@ public: DECLARE_WRITE_LINE_MEMBER(q4013a_w); DECLARE_WRITE_LINE_MEMBER(clock_w); DECLARE_WRITE_LINE_MEMBER(clock2_w); + DECLARE_WRITE8_MEMBER(port01_a_w); + DECLARE_READ8_MEMBER(port02_a_r); + DECLARE_READ_LINE_MEMBER(clear_a_r); private: UINT16 m_clockcnt; UINT16 m_resetcnt; + UINT16 m_resetcnt_a; + UINT8 m_soundlatch; + UINT8 m_a_irqset; + UINT16 m_a_irqcnt; + UINT8 m_kbdrow; + UINT8 m_segment[5]; + bool m_disp_sw; virtual void machine_reset() override; required_device m_maincpu; + required_device m_audiocpu; required_device m_4013a; required_device m_4013b; + required_ioport_array<10> m_keyboard; }; @@ -65,50 +103,181 @@ static ADDRESS_MAP_START( play_5_map, AS_PROGRAM, 8, play_5_state ) ADDRESS_MAP_END static ADDRESS_MAP_START( play_5_io, AS_IO, 8, play_5_state ) - AM_RANGE(0x01, 0x01) AM_WRITE(port01_w) // digits - AM_RANGE(0x02, 0x02) AM_WRITE(port02_w) - AM_RANGE(0x03, 0x03) AM_WRITE(port03_w) - AM_RANGE(0x04, 0x04) AM_READ(port04_r) - AM_RANGE(0x05, 0x05) AM_READ(port05_r) + AM_RANGE(0x01, 0x01) AM_WRITE(port01_w) // digits, scan-lines + AM_RANGE(0x02, 0x02) AM_WRITE(port02_w) // sound code + AM_RANGE(0x03, 0x03) AM_WRITE(port03_w) // + AM_RANGE(0x04, 0x04) AM_READ(port04_r) // switches + AM_RANGE(0x05, 0x05) AM_READ(port05_r) // more switches AM_RANGE(0x06, 0x06) AM_WRITE(port06_w) // segments - AM_RANGE(0x07, 0x07) AM_WRITE(port07_w) + AM_RANGE(0x07, 0x07) AM_WRITE(port07_w) // flipflop clear +ADDRESS_MAP_END + +static ADDRESS_MAP_START( play_5_audio_map, AS_PROGRAM, 8, play_5_state ) + AM_RANGE(0x0000, 0x3fff) AM_ROM + AM_RANGE(0x4000, 0x4001) AM_MIRROR(0x1ffe) AM_DEVREADWRITE("aysnd1", ay8910_device, data_r, address_data_w) + AM_RANGE(0x6000, 0x6001) AM_MIRROR(0x1ffe) AM_DEVREADWRITE("aysnd2", ay8910_device, data_r, address_data_w) + AM_RANGE(0x8000, 0x80ff) AM_RAM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( play_5_audio_io, AS_IO, 8, play_5_state ) + AM_RANGE(0x01, 0x01) AM_WRITE(port01_a_w) // irq counter + AM_RANGE(0x02, 0x02) AM_READ(port02_a_r) // sound code ADDRESS_MAP_END static INPUT_PORTS_START( play_5 ) + PORT_START("X.0") // 11-18 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_1_PAD) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_2_PAD) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_3_PAD) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_4_PAD) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_5_PAD) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_6_PAD) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_7_PAD) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_8_PAD) + + PORT_START("X.1") // 21-28 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_9_PAD) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_S) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_D) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_F) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_G) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_H) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_J) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_K) + + PORT_START("X.2") // 31-38 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_L) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Z) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_C) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_V) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_B) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_N) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_M) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_COMMA) + + PORT_START("X.3") // 41-48 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_STOP) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_SLASH) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_COLON) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_QUOTE) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_A) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_MINUS) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_EQUALS) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSPACE) + + PORT_START("X.4") // 51-58 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_OPENBRACE) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_CLOSEBRACE) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_BACKSLASH) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_ENTER) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_LEFT) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_RIGHT) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_UP) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_DOWN) + + PORT_START("X.5") // 61-68 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Q) + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_W) + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_E) + PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_R) + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_Y) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_U) + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_I) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_O) + + PORT_START("X.6") + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_8) PORT_TOGGLE // zone select (door switch) + PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_X) // outhole + PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_OTHER ) PORT_CODE(KEYCODE_9) PORT_TOGGLE // test button + + PORT_START("X.7") + PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_TILT ) + PORT_BIT( 0xE0, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("X.8") + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_COIN3 ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_START("X.9") + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE ) INPUT_PORTS_END void play_5_state::machine_reset() { m_clockcnt = 0; m_resetcnt = 0; + m_resetcnt_a = 0; m_4013b->d_w(1); + m_a_irqset = 54; // default value of the CDP1863 + m_a_irqcnt = (m_a_irqset << 3) | 7; + m_soundlatch = 0; + m_kbdrow = 0; + m_disp_sw = 0; + for (UINT8 i = 0; i < 5; i++) + m_segment[i] = 0; } WRITE8_MEMBER( play_5_state::port01_w ) { + m_kbdrow = data; + if (m_kbdrow && m_disp_sw) + { + m_disp_sw = 0; + for (UINT8 j = 0; j < 6; j++) + if BIT(m_kbdrow, j) + for (UINT8 i = 0; i < 5; i++) + { + output().set_digit_value(j*10 + i, m_segment[i] & 0x7f); + // decimal dot on tens controls if last 0 shows or not + if ((j == 5) && BIT(m_segment[i], 7)) + output().set_digit_value(60 + i, 0x3f); + } + } } WRITE8_MEMBER( play_5_state::port02_w ) { + m_soundlatch = data; } WRITE8_MEMBER( play_5_state::port03_w ) { + if BIT(data, 6) + m_audiocpu->ef1_w(1); // inverted } READ8_MEMBER( play_5_state::port04_r ) { - return 0xff; + if (m_kbdrow & 0x3f) + for (UINT8 i = 0; i < 6; i++) + if BIT(m_kbdrow, i) + return m_keyboard[i]->read(); + + return 0; } READ8_MEMBER( play_5_state::port05_r ) { - return 0xff; + UINT8 data = 0, key8 = m_keyboard[8]->read() & 0x0f; + if BIT(m_kbdrow, 0) + data |= m_keyboard[6]->read(); + if BIT(m_kbdrow, 1) + data |= m_keyboard[7]->read(); + return (data & 0xf0) | key8; } WRITE8_MEMBER( play_5_state::port06_w ) { + m_segment[4] = m_segment[3]; + m_segment[3] = m_segment[2]; + m_segment[2] = m_segment[1]; + m_segment[1] = m_segment[0]; + m_segment[0] = data; + m_disp_sw = 1; } WRITE8_MEMBER( play_5_state::port07_w ) @@ -117,6 +286,18 @@ WRITE8_MEMBER( play_5_state::port07_w ) m_4013b->clear_w(1); } +WRITE8_MEMBER( play_5_state::port01_a_w ) +{ + m_a_irqset = data; + m_a_irqcnt = (m_a_irqset << 3) | 7; +} + +READ8_MEMBER( play_5_state::port02_a_r ) +{ + m_audiocpu->ef1_w(0); // inverted + return m_soundlatch; +} + READ_LINE_MEMBER( play_5_state::clear_r ) { // A hack to make the machine reset itself on boot @@ -125,18 +306,22 @@ READ_LINE_MEMBER( play_5_state::clear_r ) return (m_resetcnt == 0xff00) ? 0 : 1; } +READ_LINE_MEMBER( play_5_state::clear_a_r ) +{ + // A hack to make the machine reset itself on boot + if (m_resetcnt_a < 0xffff) + m_resetcnt_a++; + return (m_resetcnt_a == 0xff00) ? 0 : 1; +} + READ_LINE_MEMBER( play_5_state::ef1_r ) { - return BIT(m_clockcnt, 10); + return (!BIT(m_clockcnt, 10)); // inverted } READ_LINE_MEMBER( play_5_state::ef4_r ) { - return 1; // reset button -} - -DRIVER_INIT_MEMBER( play_5_state, play_5 ) -{ + return BIT(m_keyboard[9]->read(), 0); // inverted test button - doesn't seem to do anything } WRITE_LINE_MEMBER( play_5_state::clock_w ) @@ -149,13 +334,24 @@ WRITE_LINE_MEMBER( play_5_state::clock_w ) // simulate 4020 chip if ((m_clockcnt & 0x3ff) == 0) m_4013b->preset_w(BIT(m_clockcnt, 10)); // Q10 output + + // sound irq + m_a_irqcnt--; + if (m_a_irqcnt == 1) + m_audiocpu->int_w(1); // inverted + else + if (m_a_irqcnt == 0) + { + m_a_irqcnt = (m_a_irqset << 3) | 7; + m_audiocpu->int_w(0); // inverted + } } } WRITE_LINE_MEMBER( play_5_state::clock2_w ) { m_4013b->clock_w(state); - m_maincpu->ef3_w(!state); + m_maincpu->ef3_w(state); // inverted } WRITE_LINE_MEMBER( play_5_state::q4013a_w ) @@ -176,6 +372,10 @@ static MACHINE_CONFIG_START( play_5, play_5_state ) MCFG_NVRAM_ADD_0FILL("nvram") + /* Video */ + MCFG_DEFAULT_LAYOUT(layout_play_5) + + // Devices MCFG_DEVICE_ADD("tpb_clock", CLOCK, XTAL_3_579545MHz / 8) // TPB line from CPU MCFG_CLOCK_SIGNAL_HANDLER(WRITELINE(play_5_state, clock_w)) @@ -184,17 +384,30 @@ static MACHINE_CONFIG_START( play_5, play_5_state ) // This is actually a 4013 chip (has 2 RS flipflops) MCFG_DEVICE_ADD("4013a", TTL7474, 0) - MCFG_7474_COMP_OUTPUT_CB(DEVWRITELINE("4013a", ttl7474_device, d_w)) MCFG_7474_OUTPUT_CB(WRITELINE(play_5_state, q4013a_w)) + MCFG_7474_COMP_OUTPUT_CB(DEVWRITELINE("4013a", ttl7474_device, d_w)) MCFG_DEVICE_ADD("4013b", TTL7474, 0) - MCFG_7474_OUTPUT_CB(DEVWRITELINE("maincpu", cosmac_device, ef2_w)) - MCFG_7474_COMP_OUTPUT_CB(DEVWRITELINE("maincpu", cosmac_device, int_w)) MCFG_DEVCB_INVERT // int is reversed in mame + MCFG_7474_OUTPUT_CB(DEVWRITELINE("maincpu", cosmac_device, ef2_w)) MCFG_DEVCB_INVERT // inverted + MCFG_7474_COMP_OUTPUT_CB(DEVWRITELINE("maincpu", cosmac_device, int_w)) MCFG_DEVCB_INVERT // inverted /* Sound */ MCFG_FRAGMENT_ADD( genpin_audio ) + + MCFG_CPU_ADD("audiocpu", CDP1802, XTAL_3_579545MHz) + MCFG_CPU_PROGRAM_MAP(play_5_audio_map) + MCFG_CPU_IO_MAP(play_5_audio_io) + MCFG_COSMAC_WAIT_CALLBACK(VCC) + MCFG_COSMAC_CLEAR_CALLBACK(READLINE(play_5_state, clear_a_r)) + + MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") + MCFG_SOUND_ADD("aysnd1", AY8910, XTAL_3_579545MHz / 2) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.00) + MCFG_SOUND_ADD("aysnd2", AY8910, XTAL_3_579545MHz / 2) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.00) MACHINE_CONFIG_END + /*------------------------------------------------------------------- / KZ-26 (1984) /-------------------------------------------------------------------*/ @@ -331,14 +544,38 @@ ROM_START(trailer) ROM_LOAD("trsndu4.rom", 0x2000, 0x0800, CRC(bda2a735) SHA1(134b5abb813ed8bf2eeac0861b4c88c7176582d8)) ROM_END -GAME(1982, spain82, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "Spain '82", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1984, nautilus, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "Nautilus", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1984, theraid, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "The Raid", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1984, ufo_x, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "UFO-X", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1984, kz26, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "KZ-26", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1985, rock2500, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "Rock 2500", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1985, starfirp, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "Star Fire", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1985, starfirpa, starfirp, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "Star Fire (alternate set)", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1985, trailer, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "Trailer", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1986, fldragon, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "Flash Dragon", MACHINE_IS_SKELETON_MECHANICAL) -GAME(1987, sklflite, 0, play_5, play_5, play_5_state, play_5, ROT0, "Playmatic", "Skill Flight (Playmatic)", MACHINE_IS_SKELETON_MECHANICAL) +/*------------------------------------------------------------------- +/ Meg Aaton +/-------------------------------------------------------------------*/ +ROM_START(megaaton) + ROM_REGION(0x10000, "maincpu", 0) + ROM_LOAD("cpumegat.bin", 0x0000, 0x2000, CRC(7e7a4ede) SHA1(3194b367cbbf6e0cb2629cd5d82ddee6fe36985a)) + + ROM_REGION(0x10000, "audiocpu", 0) + ROM_LOAD("smogot.bin", 0x0000, 0x2000, CRC(fefc3ab2) SHA1(e748d9b443a69fcdd587f22c87d41818b6c0e436)) + ROM_LOAD("smegat.bin", 0x2000, 0x1000, CRC(910ab7fe) SHA1(0ddfd15c9c25f43b8fcfc4e11bc8ea180f6bd761)) +ROM_END + +ROM_START(megaatona) + ROM_REGION(0x10000, "maincpu", 0) + ROM_LOAD("mega_u12.bin", 0x0000, 0x1000, CRC(65761b02) SHA1(dd9586eaf70698ef7a80ce1be293322f64829aea)) + ROM_LOAD("mega_u11.bin", 0x1000, 0x1000, CRC(513f3683) SHA1(0f080a33426df1ffdb14e9b2e6382304e201e335)) + + ROM_REGION(0x10000, "audiocpu", 0) + ROM_LOAD("smogot.bin", 0x0000, 0x2000, CRC(fefc3ab2) SHA1(e748d9b443a69fcdd587f22c87d41818b6c0e436)) + ROM_LOAD("smegat.bin", 0x2000, 0x1000, CRC(910ab7fe) SHA1(0ddfd15c9c25f43b8fcfc4e11bc8ea180f6bd761)) +ROM_END + +GAME(1982, spain82, 0, play_5, play_5, driver_device, 0, ROT0, "Playmatic", "Spain '82", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND) +GAME(1983, megaaton, 0, play_5, play_5, driver_device, 0, ROT0, "Playmatic", "Meg-Aaton", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +GAME(1983, megaatona, megaaton, play_5, play_5, driver_device, 0, ROT0, "Playmatic", "Meg-Aaton (alternate set)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +GAME(1984, nautilus, 0, play_5, play_5, driver_device, 0, ROT0, "Playmatic", "Nautilus", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) +GAME(1984, theraid, 0, play_5, play_5, driver_device, 0, ROT0, "Playmatic", "The Raid", MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND) +GAME(1984, ufo_x, 0, play_5, play_5, driver_device, 0, ROT0, "Playmatic", "UFO-X", MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND) +GAME(1984, kz26, 0, play_5, play_5, driver_device, 0, ROT0, "Playmatic", "KZ-26", MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND) +GAME(1985, rock2500, 0, play_5, play_5, driver_device, 0, ROT0, "Playmatic", "Rock 2500", MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND) +GAME(1985, starfirp, 0, play_5, play_5, driver_device, 0, ROT0, "Playmatic", "Star Fire", MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND) +GAME(1985, starfirpa, starfirp, play_5, play_5, driver_device, 0, ROT0, "Playmatic", "Star Fire (alternate set)", MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND) +GAME(1985, trailer, 0, play_5, play_5, driver_device, 0, ROT0, "Playmatic", "Trailer", MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND) +GAME(1986, fldragon, 0, play_5, play_5, driver_device, 0, ROT0, "Playmatic", "Flash Dragon", MACHINE_MECHANICAL | MACHINE_NO_SOUND) +GAME(1987, sklflite, 0, play_5, play_5, driver_device, 0, ROT0, "Playmatic", "Skill Flight (Playmatic)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_NO_SOUND) diff --git a/src/mame/layout/play_1.lay b/src/mame/layout/play_1.lay new file mode 100644 index 00000000000..7d6df9aced4 --- /dev/null +++ b/src/mame/layout/play_1.lay @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/play_2.lay b/src/mame/layout/play_2.lay new file mode 100644 index 00000000000..034ac3230df --- /dev/null +++ b/src/mame/layout/play_2.lay @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/play_5.lay b/src/mame/layout/play_5.lay new file mode 100644 index 00000000000..ba6ff8da055 --- /dev/null +++ b/src/mame/layout/play_5.lay @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 1eec7fd1712529804c603d121f7147a72d51d786 Mon Sep 17 00:00:00 2001 From: hap Date: Sat, 13 Aug 2016 17:23:11 +0200 Subject: [PATCH 026/116] microvsn: get rid of homebrews --- hash/microvision.xml | 44 -------------------------------------------- 1 file changed, 44 deletions(-) diff --git a/hash/microvision.xml b/hash/microvision.xml index 314b2cc99d8..c1dcf473940 100644 --- a/hash/microvision.xml +++ b/hash/microvision.xml @@ -216,48 +216,4 @@ The "rc" feature is used to indicate the source of the clock signal
- - - - Bomber - 2014 - Paul Robson - - - - - - - - - - - - Demo - 2013 - Paul Robson - - - - - - - - - - - - Invaders - 2014 - Paul Robson - - - - - - - - - - From 0df3c1d09915cac756fe5837049c958ec7b33dcf Mon Sep 17 00:00:00 2001 From: hap Date: Sat, 13 Aug 2016 18:13:31 +0200 Subject: [PATCH 027/116] Revert "microvsn: get rid of homebrews" This reverts commit 1eec7fd1712529804c603d121f7147a72d51d786. --- hash/microvision.xml | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/hash/microvision.xml b/hash/microvision.xml index c1dcf473940..314b2cc99d8 100644 --- a/hash/microvision.xml +++ b/hash/microvision.xml @@ -216,4 +216,48 @@ The "rc" feature is used to indicate the source of the clock signal + + + + Bomber + 2014 + Paul Robson + + + + + + + + + + + + Demo + 2013 + Paul Robson + + + + + + + + + + + + Invaders + 2014 + Paul Robson + + + + + + + + + + From 81263abebe032998dc17e098ef92dcdf3d29db6c Mon Sep 17 00:00:00 2001 From: David Haywood Date: Sat, 13 Aug 2016 18:17:04 +0100 Subject: [PATCH 028/116] more mpu4 descriptions (nw) --- src/mame/drivers/mpu4sw.hxx | 284 ++++++++++++++++++------------------ 1 file changed, 142 insertions(+), 142 deletions(-) diff --git a/src/mame/drivers/mpu4sw.hxx b/src/mame/drivers/mpu4sw.hxx index 351682f858d..70c310d6b7f 100644 --- a/src/mame/drivers/mpu4sw.hxx +++ b/src/mame/drivers/mpu4sw.hxx @@ -649,7 +649,7 @@ GAME_CUSTOM( 199?, m4denmendnc, m4denmen, "denc.p1", 0 GAME_CUSTOM( 199?, m4denmendnk, m4denmen, "denk.p1", 0x0000, 0x010000, CRC(8983cbe0) SHA1(159dcbc3f5d24b6be03ae9c3c2af58993bebd38c), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DEN 1.2K)" ) GAME_CUSTOM( 199?, m4denmendny, m4denmen, "deny.p1", 0x0000, 0x010000, CRC(83ebd9f6) SHA1(f59e9d34295df8200f85a51d725437954acf9bdc), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DEN 1.2Y)" ) -GAME_CUSTOM( 199?, m4denmend5, m4denmen, "dm5s.p1", 0x0000, 0x010000, CRC(49672daa) SHA1(92e327b59b532e58b8c2a4e507f56c2ae069420c), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1))" ) +GAME_CUSTOM( 199?, m4denmend5, m4denmen, "dm5s.p1", 0x0000, 0x010000, CRC(49672daa) SHA1(92e327b59b532e58b8c2a4e507f56c2ae069420c), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1)" ) GAME_CUSTOM( 199?, m4denmend5d, m4denmen, "dm5d.p1", 0x0000, 0x010000, CRC(0c6250d5) SHA1(56b316df56d6448137332044bfe1081401eef3e8), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1D)" ) GAME_CUSTOM( 199?, m4denmend5ad, m4denmen, "dm5ad.p1", 0x0000, 0x010000, CRC(f01125cc) SHA1(faa80bfb107db127b2f9c4c7d23ec495775d2162), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1AD)" ) GAME_CUSTOM( 199?, m4denmend5b, m4denmen, "dm5b.p1", 0x0000, 0x010000, CRC(2c6dae4c) SHA1(281e4ba31a60fb5600790f21095e697db80736b7), "Barcrest","Dennis The Menace (Barcrest) (MPU4) (DM5 0.1B)" ) @@ -1356,27 +1356,27 @@ GAME_CUSTOM( 199?, m4jpgem__aq, m4jpgem, "jg8k.p1", 0x0000, 0x010000, CR // "(C)1991 BARCREST" and "JGT 0.3" GAME_CUSTOM( 199?, m4jpgem__a1, m4jpgem, "jgts.p1", 0x0000, 0x010000, CRC(0e3810a7) SHA1(cf840bd84eba65d9dec2d6821a48112b6f2f9bca), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3)" ) GAME_CUSTOM( 199?, m4jpgem__as, m4jpgem, "jgtad.p1", 0x0000, 0x010000, CRC(90e10b6c) SHA1(548c7537829ca9395cac460ccf76e0d566898e44), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3 AD)" ) -GAME_CUSTOM( 199?, m4jpgem__at, m4jpgem, "jgtb.p1", 0x0000, 0x010000, CRC(5f343a43) SHA1(033824e93b1fcd2f7c5f27a573a728747ef7b21a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 57)" ) -GAME_CUSTOM( 199?, m4jpgem__au, m4jpgem, "jgtbd.p1", 0x0000, 0x010000, CRC(50ba2771) SHA1(f487ed2eeff0369e3fa718de68e3ba4912fd7576), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 58)" ) -GAME_CUSTOM( 199?, m4jpgem__av, m4jpgem, "jgtd.p1", 0x0000, 0x010000, CRC(2625da4a) SHA1(b1f9d22a46bf20283c5735fce5768d9cef299f59), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 59)" ) -GAME_CUSTOM( 199?, m4jpgem__aw, m4jpgem, "jgtdk.p1", 0x0000, 0x010000, CRC(94220901) SHA1(f62c9a59bb419e98f7de358f7fee072b08aab3f5), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 60)" ) -GAME_CUSTOM( 199?, m4jpgem__ax, m4jpgem, "jgtdr.p1", 0x0000, 0x010000, CRC(5011d1e3) SHA1(85e5d28d26449a951704698a4419cd2c0f7dd9c4), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 61)" ) -GAME_CUSTOM( 199?, m4jpgem__ay, m4jpgem, "jgtdy.p1", 0x0000, 0x010000, CRC(6397e38c) SHA1(ed0c165a5ab27524374c540fd9bdcfd41ce8096c), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 62)" ) -GAME_CUSTOM( 199?, m4jpgem__az, m4jpgem, "jgtk.p1", 0x0000, 0x010000, CRC(cb30d644) SHA1(751fc5c7ae07e64c07a3e89e74ace09dd2b99a02), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 63)" ) -GAME_CUSTOM( 199?, m4jpgem__a0, m4jpgem, "jgtr.p1", 0x0000, 0x010000, CRC(6224a93d) SHA1(6d36b64c2eaddf122a6a7e798b5efb44ec2e5b45), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 64)" ) -GAME_CUSTOM( 199?, m4jpgem__a2, m4jpgem, "jgty.p1", 0x0000, 0x010000, CRC(84830d1f) SHA1(a4184a5bd08393c35f22bc05315377bff74f666c), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 66)" ) +GAME_CUSTOM( 199?, m4jpgem__at, m4jpgem, "jgtb.p1", 0x0000, 0x010000, CRC(5f343a43) SHA1(033824e93b1fcd2f7c5f27a573a728747ef7b21a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3 B)" ) +GAME_CUSTOM( 199?, m4jpgem__au, m4jpgem, "jgtbd.p1", 0x0000, 0x010000, CRC(50ba2771) SHA1(f487ed2eeff0369e3fa718de68e3ba4912fd7576), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3 BD)" ) +GAME_CUSTOM( 199?, m4jpgem__av, m4jpgem, "jgtd.p1", 0x0000, 0x010000, CRC(2625da4a) SHA1(b1f9d22a46bf20283c5735fce5768d9cef299f59), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3 D)" ) +GAME_CUSTOM( 199?, m4jpgem__aw, m4jpgem, "jgtdk.p1", 0x0000, 0x010000, CRC(94220901) SHA1(f62c9a59bb419e98f7de358f7fee072b08aab3f5), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3 KD)" ) +GAME_CUSTOM( 199?, m4jpgem__ax, m4jpgem, "jgtdr.p1", 0x0000, 0x010000, CRC(5011d1e3) SHA1(85e5d28d26449a951704698a4419cd2c0f7dd9c4), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3 RD)" ) +GAME_CUSTOM( 199?, m4jpgem__ay, m4jpgem, "jgtdy.p1", 0x0000, 0x010000, CRC(6397e38c) SHA1(ed0c165a5ab27524374c540fd9bdcfd41ce8096c), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3 YD)" ) +GAME_CUSTOM( 199?, m4jpgem__az, m4jpgem, "jgtk.p1", 0x0000, 0x010000, CRC(cb30d644) SHA1(751fc5c7ae07e64c07a3e89e74ace09dd2b99a02), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3 K)" ) +GAME_CUSTOM( 199?, m4jpgem__a0, m4jpgem, "jgtr.p1", 0x0000, 0x010000, CRC(6224a93d) SHA1(6d36b64c2eaddf122a6a7e798b5efb44ec2e5b45), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3 R)" ) +GAME_CUSTOM( 199?, m4jpgem__a2, m4jpgem, "jgty.p1", 0x0000, 0x010000, CRC(84830d1f) SHA1(a4184a5bd08393c35f22bc05315377bff74f666c), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGT 0.3 Y)" ) // "(C)1991 BARCREST" and "JGU 0.2" GAME_CUSTOM( 199?, m4jpgem__bc, m4jpgem, "jgu02s.p1", 0x0000, 0x010000, CRC(f8abd287) SHA1(906d2817f73ea21cf830b0bd9a1938d344cc0341), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2)" ) GAME_CUSTOM( 199?, m4jpgem__a3, m4jpgem, "jgu02ad.p1", 0x0000, 0x010000, CRC(ccec7d40) SHA1(75cc1a0dfda9592e35c24c030e04a768871a9e41), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2 AD)" ) -GAME_CUSTOM( 199?, m4jpgem__a4, m4jpgem, "jgu02b.p1", 0x0000, 0x010000, CRC(daf0ebe3) SHA1(2e73f7b8171c0be7d06bf6da22e0395d5241b043), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 68)" ) -GAME_CUSTOM( 199?, m4jpgem__a5, m4jpgem, "jgu02bd.p1", 0x0000, 0x010000, CRC(faf0100a) SHA1(c97b8eadfd473650ec497c7caa98e8efc59ecb6f), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 69)" ) -GAME_CUSTOM( 199?, m4jpgem__a6, m4jpgem, "jgu02d.p1", 0x0000, 0x010000, CRC(b46e3f66) SHA1(1ede9d794effbc8cc9f097a06b7df4023d3d47ba), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 70)" ) -GAME_CUSTOM( 199?, m4jpgem__a7, m4jpgem, "jgu02dk.p1", 0x0000, 0x010000, CRC(cdbf0041) SHA1(fb90d4f8112e169dab16f78fdea9d1b5306e05d6), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 71)" ) -GAME_CUSTOM( 199?, m4jpgem__a8, m4jpgem, "jgu02dr.p1", 0x0000, 0x010000, CRC(41f1f723) SHA1(96623358e6dc450dbdc769d176703917f67e767a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 72)" ) -GAME_CUSTOM( 199?, m4jpgem__a9, m4jpgem, "jgu02dy.p1", 0x0000, 0x010000, CRC(2023388d) SHA1(c9f1abaa12c78ac61304966b46044b82ea2ea3ff), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 73)" ) -GAME_CUSTOM( 199?, m4jpgem__ba, m4jpgem, "jgu02k.p1", 0x0000, 0x010000, CRC(615029e8) SHA1(aecba0fad8c74fef9a4d04e95df961432ac999b7), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 74)" ) -GAME_CUSTOM( 199?, m4jpgem__bb, m4jpgem, "jgu02r.p1", 0x0000, 0x010000, CRC(4bc55daa) SHA1(996f23bd66a4ef6ad8f77a28dc6ee67d9a293248), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 75)" ) -GAME_CUSTOM( 199?, m4jpgem__bd, m4jpgem, "jgu02y.p1", 0x0000, 0x010000, CRC(9b4325a8) SHA1(3d7c54691ed4d596acacec97e452a66b324957db), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (set 77)" ) +GAME_CUSTOM( 199?, m4jpgem__a4, m4jpgem, "jgu02b.p1", 0x0000, 0x010000, CRC(daf0ebe3) SHA1(2e73f7b8171c0be7d06bf6da22e0395d5241b043), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2 B)" ) +GAME_CUSTOM( 199?, m4jpgem__a5, m4jpgem, "jgu02bd.p1", 0x0000, 0x010000, CRC(faf0100a) SHA1(c97b8eadfd473650ec497c7caa98e8efc59ecb6f), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2 BD)" ) +GAME_CUSTOM( 199?, m4jpgem__a6, m4jpgem, "jgu02d.p1", 0x0000, 0x010000, CRC(b46e3f66) SHA1(1ede9d794effbc8cc9f097a06b7df4023d3d47ba), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2 D)" ) +GAME_CUSTOM( 199?, m4jpgem__a7, m4jpgem, "jgu02dk.p1", 0x0000, 0x010000, CRC(cdbf0041) SHA1(fb90d4f8112e169dab16f78fdea9d1b5306e05d6), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2 KD)" ) +GAME_CUSTOM( 199?, m4jpgem__a8, m4jpgem, "jgu02dr.p1", 0x0000, 0x010000, CRC(41f1f723) SHA1(96623358e6dc450dbdc769d176703917f67e767a), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2 RD)" ) +GAME_CUSTOM( 199?, m4jpgem__a9, m4jpgem, "jgu02dy.p1", 0x0000, 0x010000, CRC(2023388d) SHA1(c9f1abaa12c78ac61304966b46044b82ea2ea3ff), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2 YD)" ) +GAME_CUSTOM( 199?, m4jpgem__ba, m4jpgem, "jgu02k.p1", 0x0000, 0x010000, CRC(615029e8) SHA1(aecba0fad8c74fef9a4d04e95df961432ac999b7), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2 K)" ) +GAME_CUSTOM( 199?, m4jpgem__bb, m4jpgem, "jgu02r.p1", 0x0000, 0x010000, CRC(4bc55daa) SHA1(996f23bd66a4ef6ad8f77a28dc6ee67d9a293248), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2 R)" ) +GAME_CUSTOM( 199?, m4jpgem__bd, m4jpgem, "jgu02y.p1", 0x0000, 0x010000, CRC(9b4325a8) SHA1(3d7c54691ed4d596acacec97e452a66b324957db), "Barcrest","Jackpot Gems (Barcrest) (MPU4) (JGU 0.2 Y)" ) #define M4JPGEMC_EXTRA_ROMS \ ROM_REGION( 0x100000, "msm6376", ROMREGION_ERASE00 ) \ @@ -1393,30 +1393,30 @@ GAME_CUSTOM( 199?, m4jpgem__bd, m4jpgem, "jgu02y.p1", 0x0000, 0x010000, CR // "(C)1991 BARCREST" and "CG4 0.1" (startup shows GTC) GAME_CUSTOM( 199?, m4jpgemc, 0, "gtc01s.p1", 0x0000, 0x010000, CRC(af33337b) SHA1(97d28e224b73baa9d6d7b0c309385f57b6dd5d9b), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (GTC 0.1 / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgemc__j, m4jpgemc, "gtc01ad.p1", 0x0000, 0x010000, CRC(e4f61afd) SHA1(36e007275cce0565c50b150dba4c8df272cd4c2e), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (GTC 0.1AD / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgemc__a, m4jpgemc, "gtc01b.p1", 0x0000, 0x010000, CRC(e4e27c71) SHA1(b46da3f00134d3a2f17ceb35529adb598c75ee4e), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 2)" ) -GAME_CUSTOM( 199?, m4jpgemc__b, m4jpgemc, "gtc01bd.p1", 0x0000, 0x010000, CRC(d2ea77b7) SHA1(4f66fa8d692f26ffa92ae3aff4f43257fc573e93), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4jpgemc__c, m4jpgemc, "gtc01c.p1", 0x0000, 0x010000, CRC(21c4c4f7) SHA1(f8a2de8453c095db80ff19018a72b15b949bace9), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4jpgemc__d, m4jpgemc, "gtc01d.p1", 0x0000, 0x010000, CRC(b6a3d2c3) SHA1(48cbd3cf14b8f8e9ecbee1f351e781506ca6c17f), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4jpgemc__e, m4jpgemc, "gtc01dk.p1", 0x0000, 0x010000, CRC(70cf4790) SHA1(b6aac10fd9ad3aafa277e6de58db3f1a28501529), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4jpgemc__f, m4jpgemc, "gtc01dr.p1", 0x0000, 0x010000, CRC(4cb11885) SHA1(288da6617868f7d082fc72f50c13671fdaf9442a), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4jpgemc__g, m4jpgemc, "gtc01dy.p1", 0x0000, 0x010000, CRC(713dec4a) SHA1(3cb1e3f5299a5145addaa677022e7d9a164072d9), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4jpgemc__h, m4jpgemc, "gtc01k.p1", 0x0000, 0x010000, CRC(fb5102ec) SHA1(36c9c50c8266707542b00cfc55f57ec454401f70), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4jpgemc__i, m4jpgemc, "gtc01r.p1", 0x0000, 0x010000, CRC(e311ca39) SHA1(602aee41400793f46f47ac9c8a9e6ce7f2d5f203), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4jpgemc__k, m4jpgemc, "gtc01y.p1", 0x0000, 0x010000, CRC(59e8557a) SHA1(8493b160427c21bbb2834c01b39f8a6a8b221bb3), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 12)" ) +GAME_CUSTOM( 199?, m4jpgemc__j, m4jpgemc, "gtc01ad.p1", 0x0000, 0x010000, CRC(e4f61afd) SHA1(36e007275cce0565c50b150dba4c8df272cd4c2e), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (GTC 0.1 AD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__a, m4jpgemc, "gtc01b.p1", 0x0000, 0x010000, CRC(e4e27c71) SHA1(b46da3f00134d3a2f17ceb35529adb598c75ee4e), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (GTC 0.1 B / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__b, m4jpgemc, "gtc01bd.p1", 0x0000, 0x010000, CRC(d2ea77b7) SHA1(4f66fa8d692f26ffa92ae3aff4f43257fc573e93), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (GTC 0.1 BD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__c, m4jpgemc, "gtc01c.p1", 0x0000, 0x010000, CRC(21c4c4f7) SHA1(f8a2de8453c095db80ff19018a72b15b949bace9), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (GTC 0.1 C / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__d, m4jpgemc, "gtc01d.p1", 0x0000, 0x010000, CRC(b6a3d2c3) SHA1(48cbd3cf14b8f8e9ecbee1f351e781506ca6c17f), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (GTC 0.1 D / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__e, m4jpgemc, "gtc01dk.p1", 0x0000, 0x010000, CRC(70cf4790) SHA1(b6aac10fd9ad3aafa277e6de58db3f1a28501529), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (GTC 0.1 KD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__f, m4jpgemc, "gtc01dr.p1", 0x0000, 0x010000, CRC(4cb11885) SHA1(288da6617868f7d082fc72f50c13671fdaf9442a), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (GTC 0.1 RD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__g, m4jpgemc, "gtc01dy.p1", 0x0000, 0x010000, CRC(713dec4a) SHA1(3cb1e3f5299a5145addaa677022e7d9a164072d9), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (GTC 0.1 YD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__h, m4jpgemc, "gtc01k.p1", 0x0000, 0x010000, CRC(fb5102ec) SHA1(36c9c50c8266707542b00cfc55f57ec454401f70), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (GTC 0.1 K / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__i, m4jpgemc, "gtc01r.p1", 0x0000, 0x010000, CRC(e311ca39) SHA1(602aee41400793f46f47ac9c8a9e6ce7f2d5f203), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (GTC 0.1 R / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__k, m4jpgemc, "gtc01y.p1", 0x0000, 0x010000, CRC(59e8557a) SHA1(8493b160427c21bbb2834c01b39f8a6a8b221bb3), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (GTC 0.1 Y / CG4 0.1)" ) // "(C)1991 BARCREST" and "CG4 0.1" (startup shows HGE) GAME_CUSTOM( 199?, m4jpgemc__v, m4jpgemc, "hge01s.p1", 0x0000, 0x010000, CRC(b79f8c42) SHA1(7d8b3352fbd9a80b86f5a8b22833d6f5c4b9854b), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (HGE 0.1 / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgemc__l, m4jpgemc, "hge01ad.p1", 0x0000, 0x010000, CRC(bb201074) SHA1(eb954d165c2d96f952439277d255e3ec3326ada3), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (HGE 0.1AD / CG4 0.1)" ) -GAME_CUSTOM( 199?, m4jpgemc__m, m4jpgemc, "hge01b.p1", 0x0000, 0x010000, CRC(d7ad2482) SHA1(ed90c4531608e66b14eb1079e85ea59573adf451), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4jpgemc__n, m4jpgemc, "hge01bd.p1", 0x0000, 0x010000, CRC(3ea0f524) SHA1(1967e5ec14c41c4140c7c39b07085f740c2d1f01), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4jpgemc__o, m4jpgemc, "hge01c.p1", 0x0000, 0x010000, CRC(498de7bf) SHA1(32dc31852fa69f7d2dd47bbcef695fcf5337f01f), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4jpgemc__p, m4jpgemc, "hge01d.p1", 0x0000, 0x010000, CRC(be6bb0dd) SHA1(3a0550608c8738b92b48b7a12fb43fb82f52cdd7), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4jpgemc__q, m4jpgemc, "hge01dk.p1", 0x0000, 0x010000, CRC(80904843) SHA1(8030def4c0e80ac8f28452662487dbfc21a761ee), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4jpgemc__r, m4jpgemc, "hge01dr.p1", 0x0000, 0x010000, CRC(d89b36b7) SHA1(22c334f1aa314ff288c65eb01ad0415db8e05b15), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4jpgemc__s, m4jpgemc, "hge01dy.p1", 0x0000, 0x010000, CRC(18ca3ae3) SHA1(ebb434a060564d3a1bc51876257729650e2903a6), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4jpgemc__t, m4jpgemc, "hge01k.p1", 0x0000, 0x010000, CRC(4161f733) SHA1(b551bb278666790f0c293c76d5c3fabf8f4d368e), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4jpgemc__u, m4jpgemc, "hge01r.p1", 0x0000, 0x010000, CRC(6dc8dc70) SHA1(e96fc4284ece65f76d5e9bd06c4a002de65bf4da), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4jpgemc__w, m4jpgemc, "hge01y.p1", 0x0000, 0x010000, CRC(a96db093) SHA1(17520306112cee6f082829811e1f8c432c6aa354), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (set 24)" ) +GAME_CUSTOM( 199?, m4jpgemc__l, m4jpgemc, "hge01ad.p1", 0x0000, 0x010000, CRC(bb201074) SHA1(eb954d165c2d96f952439277d255e3ec3326ada3), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (HGE 0.1 AD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__m, m4jpgemc, "hge01b.p1", 0x0000, 0x010000, CRC(d7ad2482) SHA1(ed90c4531608e66b14eb1079e85ea59573adf451), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (HGE 0.1 B / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__n, m4jpgemc, "hge01bd.p1", 0x0000, 0x010000, CRC(3ea0f524) SHA1(1967e5ec14c41c4140c7c39b07085f740c2d1f01), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (HGE 0.1 BD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__o, m4jpgemc, "hge01c.p1", 0x0000, 0x010000, CRC(498de7bf) SHA1(32dc31852fa69f7d2dd47bbcef695fcf5337f01f), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (HGE 0.1 C / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__p, m4jpgemc, "hge01d.p1", 0x0000, 0x010000, CRC(be6bb0dd) SHA1(3a0550608c8738b92b48b7a12fb43fb82f52cdd7), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (HGE 0.1 D / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__q, m4jpgemc, "hge01dk.p1", 0x0000, 0x010000, CRC(80904843) SHA1(8030def4c0e80ac8f28452662487dbfc21a761ee), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (HGE 0.1 KD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__r, m4jpgemc, "hge01dr.p1", 0x0000, 0x010000, CRC(d89b36b7) SHA1(22c334f1aa314ff288c65eb01ad0415db8e05b15), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (HGE 0.1 RD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__s, m4jpgemc, "hge01dy.p1", 0x0000, 0x010000, CRC(18ca3ae3) SHA1(ebb434a060564d3a1bc51876257729650e2903a6), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (HGE 0.1 YD / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__t, m4jpgemc, "hge01k.p1", 0x0000, 0x010000, CRC(4161f733) SHA1(b551bb278666790f0c293c76d5c3fabf8f4d368e), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (HGE 0.1 K / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__u, m4jpgemc, "hge01r.p1", 0x0000, 0x010000, CRC(6dc8dc70) SHA1(e96fc4284ece65f76d5e9bd06c4a002de65bf4da), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (HGE 0.1 R / CG4 0.1)" ) +GAME_CUSTOM( 199?, m4jpgemc__w, m4jpgemc, "hge01y.p1", 0x0000, 0x010000, CRC(a96db093) SHA1(17520306112cee6f082829811e1f8c432c6aa354), "Barcrest","Jackpot Gems Classic (Barcrest) (MPU4) (HGE 0.1 Y / CG4 0.1)" ) #define M4JOLGEM_EXTRA_ROMS \ @@ -1436,64 +1436,64 @@ GAME_CUSTOM( 199?, m4jpgemc__w, m4jpgemc, "hge01y.p1", 0x0000, 0x010000, GAME(year, setname, parent ,mod4oki ,mpu4 , mpu4_state,m4_showstring_big ,ROT0,company,title,GAME_FLAGS ) -// "(C)1993 BARCREST" and "GEM 0.7" +// "(C)1993 BARCREST" and "GEM 0.7" // yes, the 'type' bytes are in a different order here, with D coming before the others GAME_CUSTOM( 199?, m4jolgem, 0, "gem07s.p1", 0x0000, 0x020000, CRC(945ad0d2) SHA1(d636bc41a4f887d24affc0f5b644c5d5351cf0df), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7)" ) -GAME_CUSTOM( 199?, m4jolgem__m, m4jolgem, "gem07ad.p1", 0x0000, 0x020000, CRC(21496739) SHA1(05771636542275ecae1cd45bc248ed104a422f03), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4jolgem__n, m4jolgem, "gem07b.p1", 0x0000, 0x020000, CRC(70ca3435) SHA1(ff631f9adea268c1160646bacca976c069751ba8), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4jolgem__o, m4jolgem, "gem07bd.p1", 0x0000, 0x020000, CRC(cf750422) SHA1(01c275c90f33afe4cd54c1b9c4963b6c5e66596b), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4jolgem__p, m4jolgem, "gem07d.p1", 0x0000, 0x020000, CRC(dec87143) SHA1(080483f5500bedac6dfbd252d2ac42e23c1b5ac5), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4jolgem__q, m4jolgem, "gem07dh.p1", 0x0000, 0x020000, CRC(8fc03bb7) SHA1(dc240714d59f9055ce9c098f7cd60f06a92a0a28), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4jolgem__r, m4jolgem, "gem07dr.p1", 0x0000, 0x020000, CRC(559bda9b) SHA1(91ec97aab73717eb401672ca4e4b58a87a71f099), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4jolgem__s, m4jolgem, "gem07dy.p1", 0x0000, 0x020000, CRC(9b1974ee) SHA1(7d6b7ee79ac4401d7e65aa2240ea01cad26eb881), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4jolgem__t, m4jolgem, "gem07h.p1", 0x0000, 0x020000, CRC(307f0ba0) SHA1(518acd033599b188e972e51753ac610623038aca), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4jolgem__u, m4jolgem, "gem07r.p1", 0x0000, 0x020000, CRC(ea24ea8c) SHA1(8d3598e44d219f1d66b63bf3ca4062eb84ecbe60), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4jolgem__v, m4jolgem, "gem07y.p1", 0x0000, 0x020000, CRC(24a644f9) SHA1(b97b83ce0ebf315529efe6d5be051ad71f2e648a), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 23)" ) +GAME_CUSTOM( 199?, m4jolgem__m, m4jolgem, "gem07ad.p1", 0x0000, 0x020000, CRC(21496739) SHA1(05771636542275ecae1cd45bc248ed104a422f03), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7 DA)" ) +GAME_CUSTOM( 199?, m4jolgem__n, m4jolgem, "gem07b.p1", 0x0000, 0x020000, CRC(70ca3435) SHA1(ff631f9adea268c1160646bacca976c069751ba8), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7 B)" ) +GAME_CUSTOM( 199?, m4jolgem__o, m4jolgem, "gem07bd.p1", 0x0000, 0x020000, CRC(cf750422) SHA1(01c275c90f33afe4cd54c1b9c4963b6c5e66596b), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7 DB)" ) +GAME_CUSTOM( 199?, m4jolgem__p, m4jolgem, "gem07d.p1", 0x0000, 0x020000, CRC(dec87143) SHA1(080483f5500bedac6dfbd252d2ac42e23c1b5ac5), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7 D)" ) +GAME_CUSTOM( 199?, m4jolgem__q, m4jolgem, "gem07dh.p1", 0x0000, 0x020000, CRC(8fc03bb7) SHA1(dc240714d59f9055ce9c098f7cd60f06a92a0a28), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7 DH)" ) +GAME_CUSTOM( 199?, m4jolgem__r, m4jolgem, "gem07dr.p1", 0x0000, 0x020000, CRC(559bda9b) SHA1(91ec97aab73717eb401672ca4e4b58a87a71f099), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7 DR)" ) +GAME_CUSTOM( 199?, m4jolgem__s, m4jolgem, "gem07dy.p1", 0x0000, 0x020000, CRC(9b1974ee) SHA1(7d6b7ee79ac4401d7e65aa2240ea01cad26eb881), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7 DY)" ) +GAME_CUSTOM( 199?, m4jolgem__t, m4jolgem, "gem07h.p1", 0x0000, 0x020000, CRC(307f0ba0) SHA1(518acd033599b188e972e51753ac610623038aca), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7 H)" ) +GAME_CUSTOM( 199?, m4jolgem__u, m4jolgem, "gem07r.p1", 0x0000, 0x020000, CRC(ea24ea8c) SHA1(8d3598e44d219f1d66b63bf3ca4062eb84ecbe60), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7 R)" ) +GAME_CUSTOM( 199?, m4jolgem__v, m4jolgem, "gem07y.p1", 0x0000, 0x020000, CRC(24a644f9) SHA1(b97b83ce0ebf315529efe6d5be051ad71f2e648a), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.7 Y)" ) // "(C)1993 BARCREST" and "GEM 0.5" GAME_CUSTOM( 199?, m4jolgem__a, m4jolgem, "gem05s", 0x0000, 0x020000, CRC(b7ceafc2) SHA1(b66d846da5ff20df912d31695eaef146dbbe759e), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.5)" ) // "(C)1993 BARCREST" and "GEM 0.6" GAME_CUSTOM( 199?, m4jolgem__k, m4jolgem, "gem06s.p1", 0x0000, 0x020000, CRC(e0d82632) SHA1(35a51394a68311d03800db671fbd634bae087e86), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.6)" ) -GAME_CUSTOM( 199?, m4jolgem__b, m4jolgem, "gem06ad.p1", 0x0000, 0x020000, CRC(a3270974) SHA1(59992779415ff20b8589843510099b77c9b157fd), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4jolgem__c, m4jolgem, "gem06b.p1", 0x0000, 0x020000, CRC(188ea295) SHA1(b8a2bdede4478a582f041fd3ff84b5563feaedd3), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4jolgem__d, m4jolgem, "gem06bd.p1", 0x0000, 0x020000, CRC(4d1b6a6f) SHA1(6cb733b3f8e011e1d12a9aee25577e2bee7deb1a), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4jolgem__e, m4jolgem, "gem06d.p1", 0x0000, 0x020000, CRC(b68ce7e3) SHA1(ec4400f7c2bb79204fdec1d061801afdd4de70f2), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4jolgem__f, m4jolgem, "gem06dh.p1", 0x0000, 0x020000, CRC(0dae55fa) SHA1(3f8a23e4efc0c059852801882865baa6654a4eb3), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4jolgem__g, m4jolgem, "gem06dr.p1", 0x0000, 0x020000, CRC(d7f5b4d6) SHA1(18ff01d9f56d772863698bc72d8e9ec61a9ac9d8), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4jolgem__h, m4jolgem, "gem06dy.p1", 0x0000, 0x020000, CRC(19771aa3) SHA1(e785196e55353952000d805d23502bc220b2c747), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4jolgem__i, m4jolgem, "gem06h.p1", 0x0000, 0x020000, CRC(583b9d00) SHA1(6cd43f74c9d4d9d9a4b995277313049a353e6d80), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4jolgem__j, m4jolgem, "gem06r.p1", 0x0000, 0x020000, CRC(82607c2c) SHA1(a30366773305aacbba96f0c211a67448dd8a2702), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4jolgem__l, m4jolgem, "gem06y.p1", 0x0000, 0x020000, CRC(4ce2d259) SHA1(bca3e5f79048965bc5c0e80565bbb5ebeefeac87), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 13)" ) +GAME_CUSTOM( 199?, m4jolgem__b, m4jolgem, "gem06ad.p1", 0x0000, 0x020000, CRC(a3270974) SHA1(59992779415ff20b8589843510099b77c9b157fd), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.6 DA)" ) +GAME_CUSTOM( 199?, m4jolgem__c, m4jolgem, "gem06b.p1", 0x0000, 0x020000, CRC(188ea295) SHA1(b8a2bdede4478a582f041fd3ff84b5563feaedd3), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.6 B)" ) +GAME_CUSTOM( 199?, m4jolgem__d, m4jolgem, "gem06bd.p1", 0x0000, 0x020000, CRC(4d1b6a6f) SHA1(6cb733b3f8e011e1d12a9aee25577e2bee7deb1a), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.6 DB)" ) +GAME_CUSTOM( 199?, m4jolgem__e, m4jolgem, "gem06d.p1", 0x0000, 0x020000, CRC(b68ce7e3) SHA1(ec4400f7c2bb79204fdec1d061801afdd4de70f2), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.6 D)" ) +GAME_CUSTOM( 199?, m4jolgem__f, m4jolgem, "gem06dh.p1", 0x0000, 0x020000, CRC(0dae55fa) SHA1(3f8a23e4efc0c059852801882865baa6654a4eb3), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.6 DH)" ) +GAME_CUSTOM( 199?, m4jolgem__g, m4jolgem, "gem06dr.p1", 0x0000, 0x020000, CRC(d7f5b4d6) SHA1(18ff01d9f56d772863698bc72d8e9ec61a9ac9d8), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.6 DR)" ) +GAME_CUSTOM( 199?, m4jolgem__h, m4jolgem, "gem06dy.p1", 0x0000, 0x020000, CRC(19771aa3) SHA1(e785196e55353952000d805d23502bc220b2c747), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.6 DY)" ) +GAME_CUSTOM( 199?, m4jolgem__i, m4jolgem, "gem06h.p1", 0x0000, 0x020000, CRC(583b9d00) SHA1(6cd43f74c9d4d9d9a4b995277313049a353e6d80), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.6 H)" ) +GAME_CUSTOM( 199?, m4jolgem__j, m4jolgem, "gem06r.p1", 0x0000, 0x020000, CRC(82607c2c) SHA1(a30366773305aacbba96f0c211a67448dd8a2702), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.6 R)" ) +GAME_CUSTOM( 199?, m4jolgem__l, m4jolgem, "gem06y.p1", 0x0000, 0x020000, CRC(4ce2d259) SHA1(bca3e5f79048965bc5c0e80565bbb5ebeefeac87), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GEM 0.6 Y)" ) // "(C)1993 BARCREST" and "GMS 0.4" GAME_CUSTOM( 199?, m4jolgem__7, m4jolgem, "gms04s.p1", 0x0000, 0x020000, CRC(93f25eef) SHA1(d4bfb2787df10dd09281d33341fbf666850ac23d), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4)" ) -GAME_CUSTOM( 199?, m4jolgem__w, m4jolgem, "gms04ad.p1", 0x0000, 0x020000, CRC(afd91cf8) SHA1(43f2549d81d9a414c5e2e049fe62a6939ba48943), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4jolgem__x, m4jolgem, "gms04b.p1", 0x0000, 0x020000, CRC(a11cd9fd) SHA1(16b23c8091da2ada9823f204e7cd5f02b68d37c3), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4jolgem__y, m4jolgem, "gms04bd.p1", 0x0000, 0x020000, CRC(41e57fe3) SHA1(77322a0988422df6feb5f6871758fbdcf410dae5), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4jolgem__z, m4jolgem, "gms04d.p1", 0x0000, 0x020000, CRC(0f1e9c8b) SHA1(39661143619230ae64c70ee6d6e6f553e47691a1), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4jolgem__0, m4jolgem, "gms04dh.p1", 0x0000, 0x020000, CRC(01504076) SHA1(93e44465d74abdbdf5f651e0e8b96ea5b05c1597), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4jolgem__1, m4jolgem, "gms04dk.p1", 0x0000, 0x020000, CRC(68041a6b) SHA1(03a246ff17001fd937d5556ff8da7165cb95b67c), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4jolgem__2, m4jolgem, "gms04dr.p1", 0x0000, 0x020000, CRC(db0ba15a) SHA1(85880bf152309b4e81b066a62ace827b899236cd), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 30)" ) -GAME_CUSTOM( 199?, m4jolgem__3, m4jolgem, "gms04dy.p1", 0x0000, 0x020000, CRC(15890f2f) SHA1(760806e506d1ff406fab2e50f75428c9b9762804), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 31)" ) -GAME_CUSTOM( 199?, m4jolgem__4, m4jolgem, "gms04h.p1", 0x0000, 0x020000, CRC(e1a9e668) SHA1(8b732c52dc221934f57a369e8a20ac2df1aa562c), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 32)" ) -GAME_CUSTOM( 199?, m4jolgem__5, m4jolgem, "gms04k.p1", 0x0000, 0x020000, CRC(88fdbc75) SHA1(b1842e2f29e2f3d81c6679a407827601955f02f4), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 33)" ) -GAME_CUSTOM( 199?, m4jolgem__6, m4jolgem, "gms04r.p1", 0x0000, 0x020000, CRC(3bf20744) SHA1(9b8d1273545abbf5a7e8e0735e4f23ce024505b9), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 34)" ) -GAME_CUSTOM( 199?, m4jolgem__8, m4jolgem, "gms04y.p1", 0x0000, 0x020000, CRC(f570a931) SHA1(dd50e4626feb9a3e6f0868fa9030204c737f1567), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 36)" ) +GAME_CUSTOM( 199?, m4jolgem__w, m4jolgem, "gms04ad.p1", 0x0000, 0x020000, CRC(afd91cf8) SHA1(43f2549d81d9a414c5e2e049fe62a6939ba48943), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 DA)" ) +GAME_CUSTOM( 199?, m4jolgem__x, m4jolgem, "gms04b.p1", 0x0000, 0x020000, CRC(a11cd9fd) SHA1(16b23c8091da2ada9823f204e7cd5f02b68d37c3), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 B)" ) +GAME_CUSTOM( 199?, m4jolgem__y, m4jolgem, "gms04bd.p1", 0x0000, 0x020000, CRC(41e57fe3) SHA1(77322a0988422df6feb5f6871758fbdcf410dae5), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 DB)" ) +GAME_CUSTOM( 199?, m4jolgem__z, m4jolgem, "gms04d.p1", 0x0000, 0x020000, CRC(0f1e9c8b) SHA1(39661143619230ae64c70ee6d6e6f553e47691a1), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 D)" ) +GAME_CUSTOM( 199?, m4jolgem__0, m4jolgem, "gms04dh.p1", 0x0000, 0x020000, CRC(01504076) SHA1(93e44465d74abdbdf5f651e0e8b96ea5b05c1597), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 DH)" ) +GAME_CUSTOM( 199?, m4jolgem__1, m4jolgem, "gms04dk.p1", 0x0000, 0x020000, CRC(68041a6b) SHA1(03a246ff17001fd937d5556ff8da7165cb95b67c), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 DK)" ) +GAME_CUSTOM( 199?, m4jolgem__2, m4jolgem, "gms04dr.p1", 0x0000, 0x020000, CRC(db0ba15a) SHA1(85880bf152309b4e81b066a62ace827b899236cd), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 DR)" ) +GAME_CUSTOM( 199?, m4jolgem__3, m4jolgem, "gms04dy.p1", 0x0000, 0x020000, CRC(15890f2f) SHA1(760806e506d1ff406fab2e50f75428c9b9762804), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 DY)" ) +GAME_CUSTOM( 199?, m4jolgem__4, m4jolgem, "gms04h.p1", 0x0000, 0x020000, CRC(e1a9e668) SHA1(8b732c52dc221934f57a369e8a20ac2df1aa562c), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 H)" ) +GAME_CUSTOM( 199?, m4jolgem__5, m4jolgem, "gms04k.p1", 0x0000, 0x020000, CRC(88fdbc75) SHA1(b1842e2f29e2f3d81c6679a407827601955f02f4), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 K)" ) +GAME_CUSTOM( 199?, m4jolgem__6, m4jolgem, "gms04r.p1", 0x0000, 0x020000, CRC(3bf20744) SHA1(9b8d1273545abbf5a7e8e0735e4f23ce024505b9), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 R)" ) +GAME_CUSTOM( 199?, m4jolgem__8, m4jolgem, "gms04y.p1", 0x0000, 0x020000, CRC(f570a931) SHA1(dd50e4626feb9a3e6f0868fa9030204c737f1567), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.4 Y)" ) // "(C)1993 BARCREST" and "GMS 0.5" GAME_CUSTOM( 199?, m4jolgem__ak, m4jolgem, "gms05s.p1", 0x0000, 0x020000, CRC(1b830e70) SHA1(eb053a629bd7854759d14acd9793f7eb545fc008), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5)" ) -GAME_CUSTOM( 199?, m4jolgem__9, m4jolgem, "gms05ad.p1", 0x0000, 0x020000, CRC(77d4829c) SHA1(45a240cc2aa3829160854274c928d20655966087), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 37)" ) -GAME_CUSTOM( 199?, m4jolgem__aa, m4jolgem, "gms05b.p1", 0x0000, 0x020000, CRC(b929f905) SHA1(028d74687f5c6443d84e84a03666278b9df8e657), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 38)" ) -GAME_CUSTOM( 199?, m4jolgem__ab, m4jolgem, "gms05bd.p1", 0x0000, 0x020000, CRC(99e8e187) SHA1(cbb8d3403e6d21fce45b05d1889d17d0355857b4), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 39)" ) -GAME_CUSTOM( 199?, m4jolgem__ac, m4jolgem, "gms05d.p1", 0x0000, 0x020000, CRC(172bbc73) SHA1(932907d70b18d25fa912fe895602b0adc52b8e6c), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 40)" ) -GAME_CUSTOM( 199?, m4jolgem__ad, m4jolgem, "gms05dh.p1", 0x0000, 0x020000, CRC(d95dde12) SHA1(e509f65b8f0575193002dd0906b1751cae9352f7), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 41)" ) -GAME_CUSTOM( 199?, m4jolgem__ae, m4jolgem, "gms05dk.p1", 0x0000, 0x020000, CRC(b009840f) SHA1(5c8f7c081e577642fc7738f7d6fc816155ffc99b), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 42)" ) -GAME_CUSTOM( 199?, m4jolgem__af, m4jolgem, "gms05dr.p1", 0x0000, 0x020000, CRC(03063f3e) SHA1(83995208d6c392eacee794c75075296d87e07b13), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 43)" ) -GAME_CUSTOM( 199?, m4jolgem__ag, m4jolgem, "gms05dy.p1", 0x0000, 0x020000, CRC(cd84914b) SHA1(8470ba93c518893771ee45190bce5f6f93df7b68), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 44)" ) -GAME_CUSTOM( 199?, m4jolgem__ah, m4jolgem, "gms05h.p1", 0x0000, 0x020000, CRC(f99cc690) SHA1(c3cf8aaf8376e9d4eff37afdd818802f9ec4fe64), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 45)" ) -GAME_CUSTOM( 199?, m4jolgem__ai, m4jolgem, "gms05k.p1", 0x0000, 0x020000, CRC(90c89c8d) SHA1(4b8e23c9a6bd85563be041d8e95175dc4c39b8e7), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 46)" ) -GAME_CUSTOM( 199?, m4jolgem__aj, m4jolgem, "gms05r.p1", 0x0000, 0x020000, CRC(23c727bc) SHA1(0187a14a789f018e6161f2ae160f82c87d03b6a8), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 47)" ) -GAME_CUSTOM( 199?, m4jolgem__al, m4jolgem, "gms05y.p1", 0x0000, 0x020000, CRC(ed4589c9) SHA1(899622c22d29c0ef05bf562176943c9749e236a2), "Barcrest","Jolly Gems (Barcrest) (MPU4) (set 49)" ) +GAME_CUSTOM( 199?, m4jolgem__9, m4jolgem, "gms05ad.p1", 0x0000, 0x020000, CRC(77d4829c) SHA1(45a240cc2aa3829160854274c928d20655966087), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DA)" ) +GAME_CUSTOM( 199?, m4jolgem__aa, m4jolgem, "gms05b.p1", 0x0000, 0x020000, CRC(b929f905) SHA1(028d74687f5c6443d84e84a03666278b9df8e657), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 B)" ) +GAME_CUSTOM( 199?, m4jolgem__ab, m4jolgem, "gms05bd.p1", 0x0000, 0x020000, CRC(99e8e187) SHA1(cbb8d3403e6d21fce45b05d1889d17d0355857b4), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DB)" ) +GAME_CUSTOM( 199?, m4jolgem__ac, m4jolgem, "gms05d.p1", 0x0000, 0x020000, CRC(172bbc73) SHA1(932907d70b18d25fa912fe895602b0adc52b8e6c), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 D)" ) +GAME_CUSTOM( 199?, m4jolgem__ad, m4jolgem, "gms05dh.p1", 0x0000, 0x020000, CRC(d95dde12) SHA1(e509f65b8f0575193002dd0906b1751cae9352f7), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DH)" ) +GAME_CUSTOM( 199?, m4jolgem__ae, m4jolgem, "gms05dk.p1", 0x0000, 0x020000, CRC(b009840f) SHA1(5c8f7c081e577642fc7738f7d6fc816155ffc99b), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DK)" ) +GAME_CUSTOM( 199?, m4jolgem__af, m4jolgem, "gms05dr.p1", 0x0000, 0x020000, CRC(03063f3e) SHA1(83995208d6c392eacee794c75075296d87e07b13), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DR)" ) +GAME_CUSTOM( 199?, m4jolgem__ag, m4jolgem, "gms05dy.p1", 0x0000, 0x020000, CRC(cd84914b) SHA1(8470ba93c518893771ee45190bce5f6f93df7b68), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 DY)" ) +GAME_CUSTOM( 199?, m4jolgem__ah, m4jolgem, "gms05h.p1", 0x0000, 0x020000, CRC(f99cc690) SHA1(c3cf8aaf8376e9d4eff37afdd818802f9ec4fe64), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 H)" ) +GAME_CUSTOM( 199?, m4jolgem__ai, m4jolgem, "gms05k.p1", 0x0000, 0x020000, CRC(90c89c8d) SHA1(4b8e23c9a6bd85563be041d8e95175dc4c39b8e7), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 K)" ) +GAME_CUSTOM( 199?, m4jolgem__aj, m4jolgem, "gms05r.p1", 0x0000, 0x020000, CRC(23c727bc) SHA1(0187a14a789f018e6161f2ae160f82c87d03b6a8), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 R)" ) +GAME_CUSTOM( 199?, m4jolgem__al, m4jolgem, "gms05y.p1", 0x0000, 0x020000, CRC(ed4589c9) SHA1(899622c22d29c0ef05bf562176943c9749e236a2), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.5 Y)" ) // "(C)1993 BARCREST" and "GMS 0.3" GAME_CUSTOM( 199?, m4jolgem__ao, m4jolgem, "jjem0", 0x0000, 0x020000, CRC(9b54a881) SHA1(3b1bfacf8fe295c771c558154fe2fca70f049df0), "Barcrest","Jolly Gems (Barcrest) (MPU4) (GMS 0.3 K)" ) // "(C)1999 BWB" and "JGS 1.0" -GAME_CUSTOM( 199?, m4jolgem__ap, m4jolgem, "jgs_xa_x.1_0", 0x0000, 0x020000, CRC(7ac16252) SHA1(b01b2333e1e99f9404a7e0ac80e5e8ee834ec39d), "Bwb","Jolly Gems (Barcrest) (MPU4) (JGS 1.0)" ) +GAME_CUSTOM( 199?, m4jolgem__ap, m4jolgem, "jgs_xa_x.1_0", 0x0000, 0x020000, CRC(7ac16252) SHA1(b01b2333e1e99f9404a7e0ac80e5e8ee834ec39d), "Bwb","Jolly Gems (Barcrest) (MPU4) (JGS 1.0 CK)" ) // no copyright string and "GEM 0.6" GAME_CUSTOM( 199?, m4jolgem__am, m4jolgem, "jgem15g", 0x0000, 0x020000, CRC(8288eb80) SHA1(bfb1004b49914b6ae1b0608c9e5c61efe4635ba3), "hack","Jolly Gems (Barcrest) (MPU4) (GEM 0.6, hack)" ) // no copyright string and "GMS 0.4" @@ -1518,71 +1518,71 @@ GAME_CUSTOM( 199?, m4jolgem__an, m4jolgem, "jgem15t", 0x0000, 0x020000, // "(C)1991 BARCREST" and "HI4 0.3" GAME_CUSTOM( 199?, m4hittop, 0, "hi4s.p1", 0x0000, 0x010000, CRC(3a04ee7a) SHA1(d23e9da2c22f6983a855bc519597ea9cea84f2dd), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3)" ) -GAME_CUSTOM( 199?, m4hittop__k, m4hittop, "hi4ad.p1", 0x0000, 0x010000, CRC(eeb958f3) SHA1(ee7f7615df2141ad5183288101949b74c4543de9), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4hittop__l, m4hittop, "hi4b.p1", 0x0000, 0x010000, CRC(68af264b) SHA1(e7f75b5294cc7541f9397c492c171c79b7a21a36), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4hittop__m, m4hittop, "hi4bd.p1", 0x0000, 0x010000, CRC(d72cd485) SHA1(d0d38cbb518c824d4a8107e1711f85120c39bc4c), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4hittop__n, m4hittop, "hi4d.p1", 0x0000, 0x010000, CRC(59d7364c) SHA1(1e665b178b8bf7314ca5b5ea97dc185491fc2930), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4hittop__o, m4hittop, "hi4dk.p1", 0x0000, 0x010000, CRC(76d4bb70) SHA1(7365f072a7e3e8141e15fbf56c3355bc6310895f), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4hittop__p, m4hittop, "hi4dy.p1", 0x0000, 0x010000, CRC(b1ddf7fe) SHA1(a334619b5dfc7a44e9082cc37cb5187413adb29f), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4hittop__q, m4hittop, "hi4k.p1", 0x0000, 0x010000, CRC(99cb8bc9) SHA1(106bf6e327643c49024f9422d6b87f5b157b452f), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4hittop__r, m4hittop, "hi4y.p1", 0x0000, 0x010000, CRC(c60e01e6) SHA1(c4a7ea44c36c78401cab3ef87d7e02add0b48ab5), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 19)" ) +GAME_CUSTOM( 199?, m4hittop__k, m4hittop, "hi4ad.p1", 0x0000, 0x010000, CRC(eeb958f3) SHA1(ee7f7615df2141ad5183288101949b74c4543de9), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 AD)" ) +GAME_CUSTOM( 199?, m4hittop__l, m4hittop, "hi4b.p1", 0x0000, 0x010000, CRC(68af264b) SHA1(e7f75b5294cc7541f9397c492c171c79b7a21a36), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 AB" ) +GAME_CUSTOM( 199?, m4hittop__m, m4hittop, "hi4bd.p1", 0x0000, 0x010000, CRC(d72cd485) SHA1(d0d38cbb518c824d4a8107e1711f85120c39bc4c), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 BD)" ) +GAME_CUSTOM( 199?, m4hittop__n, m4hittop, "hi4d.p1", 0x0000, 0x010000, CRC(59d7364c) SHA1(1e665b178b8bf7314ca5b5ea97dc185491fc2930), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 D)" ) +GAME_CUSTOM( 199?, m4hittop__o, m4hittop, "hi4dk.p1", 0x0000, 0x010000, CRC(76d4bb70) SHA1(7365f072a7e3e8141e15fbf56c3355bc6310895f), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 KD)" ) +GAME_CUSTOM( 199?, m4hittop__p, m4hittop, "hi4dy.p1", 0x0000, 0x010000, CRC(b1ddf7fe) SHA1(a334619b5dfc7a44e9082cc37cb5187413adb29f), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 YD)" ) +GAME_CUSTOM( 199?, m4hittop__q, m4hittop, "hi4k.p1", 0x0000, 0x010000, CRC(99cb8bc9) SHA1(106bf6e327643c49024f9422d6b87f5b157b452f), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 K)" ) +GAME_CUSTOM( 199?, m4hittop__r, m4hittop, "hi4y.p1", 0x0000, 0x010000, CRC(c60e01e6) SHA1(c4a7ea44c36c78401cab3ef87d7e02add0b48ab5), "Barcrest","Hit The Top (Barcrest) (MPU4) (HI4 0.3 Y)" ) // "(C)1991 BARCREST" and "CHU 0.1" GAME_CUSTOM( 199?, m4hittop__i, m4hittop, "chus.p1", 0x0000, 0x010000, CRC(8a39816e) SHA1(3869f7ae0c9b681cfb07e2f6c1a94fc81fa13fe3), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1)" ) -GAME_CUSTOM( 199?, m4hittop__a, m4hittop, "chuad.p1", 0x0000, 0x010000, CRC(01d3b86c) SHA1(27af0e76661495d5b91ee6a53507f9a5d4e5ab85), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1AD)" ) -GAME_CUSTOM( 199?, m4hittop__b, m4hittop, "chub.p1", 0x0000, 0x010000, CRC(17ff4ed4) SHA1(f193a00a46c82d4989af18055f9f69d93df79ec6), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4hittop__c, m4hittop, "chubd.p1", 0x0000, 0x010000, CRC(3e7a6b1b) SHA1(8939a0cac8578ff5e1d1ab2b3a64b3809793c44a), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4hittop__d, m4hittop, "chud.p1", 0x0000, 0x010000, CRC(26875ed3) SHA1(06dbf594e2c5202ee624f4202f634281a89a3870), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4hittop__e, m4hittop, "chudk.p1", 0x0000, 0x010000, CRC(10c1f6c3) SHA1(e6ff6ea40f35cfd9ed7643e69eca62775f20b3a2), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4hittop__f, m4hittop, "chudy.p1", 0x0000, 0x010000, CRC(65302d8c) SHA1(de340cc182212b576cae46669492d0d760d2f288), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4hittop__g, m4hittop, "chuk.p1", 0x0000, 0x010000, CRC(7f333a2c) SHA1(73719997c200ec5291ceaa12f8667979a731212e), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4hittop__h, m4hittop, "chur.p1", 0x0000, 0x010000, CRC(dbb89a00) SHA1(70b2f2c78011b8b470aa58153d524f920d553b28), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4hittop__j, m4hittop, "chuy.p1", 0x0000, 0x010000, CRC(e0902d74) SHA1(a34db63f1354853ad5a1026e4402ccd2e564c7d7), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 11)" ) +GAME_CUSTOM( 199?, m4hittop__a, m4hittop, "chuad.p1", 0x0000, 0x010000, CRC(01d3b86c) SHA1(27af0e76661495d5b91ee6a53507f9a5d4e5ab85), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 AD)" ) +GAME_CUSTOM( 199?, m4hittop__b, m4hittop, "chub.p1", 0x0000, 0x010000, CRC(17ff4ed4) SHA1(f193a00a46c82d4989af18055f9f69d93df79ec6), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 B)" ) +GAME_CUSTOM( 199?, m4hittop__c, m4hittop, "chubd.p1", 0x0000, 0x010000, CRC(3e7a6b1b) SHA1(8939a0cac8578ff5e1d1ab2b3a64b3809793c44a), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 BD)" ) +GAME_CUSTOM( 199?, m4hittop__d, m4hittop, "chud.p1", 0x0000, 0x010000, CRC(26875ed3) SHA1(06dbf594e2c5202ee624f4202f634281a89a3870), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 D)" ) +GAME_CUSTOM( 199?, m4hittop__e, m4hittop, "chudk.p1", 0x0000, 0x010000, CRC(10c1f6c3) SHA1(e6ff6ea40f35cfd9ed7643e69eca62775f20b3a2), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 KD)" ) +GAME_CUSTOM( 199?, m4hittop__f, m4hittop, "chudy.p1", 0x0000, 0x010000, CRC(65302d8c) SHA1(de340cc182212b576cae46669492d0d760d2f288), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 YD)" ) +GAME_CUSTOM( 199?, m4hittop__g, m4hittop, "chuk.p1", 0x0000, 0x010000, CRC(7f333a2c) SHA1(73719997c200ec5291ceaa12f8667979a731212e), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 K)" ) +GAME_CUSTOM( 199?, m4hittop__h, m4hittop, "chur.p1", 0x0000, 0x010000, CRC(dbb89a00) SHA1(70b2f2c78011b8b470aa58153d524f920d553b28), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 R)" ) +GAME_CUSTOM( 199?, m4hittop__j, m4hittop, "chuy.p1", 0x0000, 0x010000, CRC(e0902d74) SHA1(a34db63f1354853ad5a1026e4402ccd2e564c7d7), "Barcrest","Hit The Top (Barcrest) (MPU4) (CHU 0.1 Y)" ) // "(C)1991 BARCREST" and "HIT 0.4" GAME_CUSTOM( 199?, m4hittop__1, m4hittop, "hit04s.p1", 0x0000, 0x010000, CRC(05376f9f) SHA1(e59bdd6541669b150bb68eb97ea316c3fe451778), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4)" ) -GAME_CUSTOM( 199?, m4hittop__s, m4hittop, "hit04ad.p1", 0x0000, 0x010000, CRC(cc9d10fa) SHA1(b7ce14fecfd8142fa7127c23f152c749dae74701), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4AD)" ) -GAME_CUSTOM( 199?, m4hittop__t, m4hittop, "hit04b.p1", 0x0000, 0x010000, CRC(da511063) SHA1(3f4fb8518cb2057ec4c2bb13fd3e61ee73bfa457), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4hittop__u, m4hittop, "hit04bd.p1", 0x0000, 0x010000, CRC(40a84b97) SHA1(416f78c19e08f405a3b36f886f69e7b88e5aa90a), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4hittop__v, m4hittop, "hit04d.p1", 0x0000, 0x010000, CRC(89607e84) SHA1(280209ca3030383547cc91eee2f71a810768353f), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4hittop__w, m4hittop, "hit04dk.p1", 0x0000, 0x010000, CRC(b89e606f) SHA1(9096126b719ecd92185d9c1d50d13c9339d09583), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4hittop__x, m4hittop, "hit04dr.p1", 0x0000, 0x010000, CRC(1b4d8099) SHA1(505e0948a78b5d57f0986896ab900d25a20d7877), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4hittop__y, m4hittop, "hit04dy.p1", 0x0000, 0x010000, CRC(25f54881) SHA1(9f4ae52295df5810cbe6c18cae66877bec006a28), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4hittop__z, m4hittop, "hit04k.p1", 0x0000, 0x010000, CRC(5ef3f78d) SHA1(e72727b3dc7793c36f182b3e7d363741254c0be7), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4hittop__0, m4hittop, "hit04r.p1", 0x0000, 0x010000, CRC(d87a9f60) SHA1(614224b80afaa6e407f9b40b45b8aecdf999e13a), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4hittop__2, m4hittop, "hit04y.p1", 0x0000, 0x010000, CRC(c398df63) SHA1(5e93cb95da37b1593d030e99e97996252ad6cda1), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 30)" ) +GAME_CUSTOM( 199?, m4hittop__s, m4hittop, "hit04ad.p1", 0x0000, 0x010000, CRC(cc9d10fa) SHA1(b7ce14fecfd8142fa7127c23f152c749dae74701), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 AD)" ) +GAME_CUSTOM( 199?, m4hittop__t, m4hittop, "hit04b.p1", 0x0000, 0x010000, CRC(da511063) SHA1(3f4fb8518cb2057ec4c2bb13fd3e61ee73bfa457), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 B)" ) +GAME_CUSTOM( 199?, m4hittop__u, m4hittop, "hit04bd.p1", 0x0000, 0x010000, CRC(40a84b97) SHA1(416f78c19e08f405a3b36f886f69e7b88e5aa90a), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 BD)" ) +GAME_CUSTOM( 199?, m4hittop__v, m4hittop, "hit04d.p1", 0x0000, 0x010000, CRC(89607e84) SHA1(280209ca3030383547cc91eee2f71a810768353f), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 D)" ) +GAME_CUSTOM( 199?, m4hittop__w, m4hittop, "hit04dk.p1", 0x0000, 0x010000, CRC(b89e606f) SHA1(9096126b719ecd92185d9c1d50d13c9339d09583), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 KD)" ) +GAME_CUSTOM( 199?, m4hittop__x, m4hittop, "hit04dr.p1", 0x0000, 0x010000, CRC(1b4d8099) SHA1(505e0948a78b5d57f0986896ab900d25a20d7877), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 RD)" ) +GAME_CUSTOM( 199?, m4hittop__y, m4hittop, "hit04dy.p1", 0x0000, 0x010000, CRC(25f54881) SHA1(9f4ae52295df5810cbe6c18cae66877bec006a28), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 YD)" ) +GAME_CUSTOM( 199?, m4hittop__z, m4hittop, "hit04k.p1", 0x0000, 0x010000, CRC(5ef3f78d) SHA1(e72727b3dc7793c36f182b3e7d363741254c0be7), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 K)" ) +GAME_CUSTOM( 199?, m4hittop__0, m4hittop, "hit04r.p1", 0x0000, 0x010000, CRC(d87a9f60) SHA1(614224b80afaa6e407f9b40b45b8aecdf999e13a), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 R)" ) +GAME_CUSTOM( 199?, m4hittop__2, m4hittop, "hit04y.p1", 0x0000, 0x010000, CRC(c398df63) SHA1(5e93cb95da37b1593d030e99e97996252ad6cda1), "Barcrest","Hit The Top (Barcrest) (MPU4) (HIT 0.4 Y)" ) // "(C)1991 BARCREST" and "HT2 0.1" GAME_CUSTOM( 199?, m4hittop__ac, m4hittop, "ht201s.p1", 0x0000, 0x010000, CRC(37b20464) SHA1(e87b0a2023416fa7b63201e19850319723eb6c10), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT2 0.1)" ) -GAME_CUSTOM( 199?, m4hittop__3, m4hittop, "ht201ad.p1", 0x0000, 0x010000, CRC(b0f3873b) SHA1(6e7d1b20dff4b81ebd171d6d92c95e46817bdf90), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT2 0.1AD)" ) -GAME_CUSTOM( 199?, m4hittop__4, m4hittop, "ht201b.p1", 0x0000, 0x010000, CRC(9dbe41fc) SHA1(ce5ed2707ab63057a2f66a1098e3752acaa72dac), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 32)" ) -GAME_CUSTOM( 199?, m4hittop__5, m4hittop, "ht201bd.p1", 0x0000, 0x010000, CRC(be23c8b6) SHA1(0d4ab2d3c7ac063ec1ce10b2af28c8770d8bd818), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 33)" ) -GAME_CUSTOM( 199?, m4hittop__6, m4hittop, "ht201d.p1", 0x0000, 0x010000, CRC(25b9fcd7) SHA1(8bebbf0b621a704ed9811e67eab003f4ddebcde2), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 34)" ) -GAME_CUSTOM( 199?, m4hittop__7, m4hittop, "ht201dk.p1", 0x0000, 0x010000, CRC(1c77872e) SHA1(a728811efee6f40779b01a6d60f2d0167e204a09), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 35)" ) -GAME_CUSTOM( 199?, m4hittop__8, m4hittop, "ht201dr.p1", 0x0000, 0x010000, CRC(9836d075) SHA1(b015e9706c5ec7b03133eda70fe0322c24969d7e), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 36)" ) -GAME_CUSTOM( 199?, m4hittop__9, m4hittop, "ht201dy.p1", 0x0000, 0x010000, CRC(811cafc0) SHA1(e31ad353ee8ce4ea059d6a469baaa14357b738c9), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 37)" ) -GAME_CUSTOM( 199?, m4hittop__aa, m4hittop, "ht201k.p1", 0x0000, 0x010000, CRC(191ca612) SHA1(a2a80b64cc04aa590046413f1474340cd3a5b03a), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 38)" ) -GAME_CUSTOM( 199?, m4hittop__ab, m4hittop, "ht201r.p1", 0x0000, 0x010000, CRC(154643be) SHA1(280ae761c434bbed84317d85aef2ad4a78c61d1d), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 39)" ) -GAME_CUSTOM( 199?, m4hittop__ad, m4hittop, "ht201y.p1", 0x0000, 0x010000, CRC(84778efc) SHA1(bdc43973913d0e8be0e16ee89da01b1bcdc2da6f), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 41)" ) +GAME_CUSTOM( 199?, m4hittop__3, m4hittop, "ht201ad.p1", 0x0000, 0x010000, CRC(b0f3873b) SHA1(6e7d1b20dff4b81ebd171d6d92c95e46817bdf90), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT2 0.1 AD)" ) +GAME_CUSTOM( 199?, m4hittop__4, m4hittop, "ht201b.p1", 0x0000, 0x010000, CRC(9dbe41fc) SHA1(ce5ed2707ab63057a2f66a1098e3752acaa72dac), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT2 0.1 B)" ) +GAME_CUSTOM( 199?, m4hittop__5, m4hittop, "ht201bd.p1", 0x0000, 0x010000, CRC(be23c8b6) SHA1(0d4ab2d3c7ac063ec1ce10b2af28c8770d8bd818), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT2 0.1 BD)" ) +GAME_CUSTOM( 199?, m4hittop__6, m4hittop, "ht201d.p1", 0x0000, 0x010000, CRC(25b9fcd7) SHA1(8bebbf0b621a704ed9811e67eab003f4ddebcde2), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT2 0.1 D)" ) +GAME_CUSTOM( 199?, m4hittop__7, m4hittop, "ht201dk.p1", 0x0000, 0x010000, CRC(1c77872e) SHA1(a728811efee6f40779b01a6d60f2d0167e204a09), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT2 0.1 KD)" ) +GAME_CUSTOM( 199?, m4hittop__8, m4hittop, "ht201dr.p1", 0x0000, 0x010000, CRC(9836d075) SHA1(b015e9706c5ec7b03133eda70fe0322c24969d7e), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT2 0.1 RD)" ) +GAME_CUSTOM( 199?, m4hittop__9, m4hittop, "ht201dy.p1", 0x0000, 0x010000, CRC(811cafc0) SHA1(e31ad353ee8ce4ea059d6a469baaa14357b738c9), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT2 0.1 YD)" ) +GAME_CUSTOM( 199?, m4hittop__aa, m4hittop, "ht201k.p1", 0x0000, 0x010000, CRC(191ca612) SHA1(a2a80b64cc04aa590046413f1474340cd3a5b03a), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT2 0.1 K)" ) +GAME_CUSTOM( 199?, m4hittop__ab, m4hittop, "ht201r.p1", 0x0000, 0x010000, CRC(154643be) SHA1(280ae761c434bbed84317d85aef2ad4a78c61d1d), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT2 0.1 R)" ) +GAME_CUSTOM( 199?, m4hittop__ad, m4hittop, "ht201y.p1", 0x0000, 0x010000, CRC(84778efc) SHA1(bdc43973913d0e8be0e16ee89da01b1bcdc2da6f), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT2 0.1 Y)" ) // "(C)1991 BARCREST" and "HT5 0.1" GAME_CUSTOM( 199?, m4hittop__an, m4hittop, "ht501s.p1", 0x0000, 0x010000, CRC(ac440a2b) SHA1(f3f3d0c9c8dcb41509307c970f0776ebcfffdeb0), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1)" ) -GAME_CUSTOM( 199?, m4hittop__ae, m4hittop, "ht501ad.p1", 0x0000, 0x010000, CRC(7bf00848) SHA1(700d90218d0bd31860dc905c00d0afbf3a1e8704), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1AD)" ) -GAME_CUSTOM( 199?, m4hittop__af, m4hittop, "ht501b.p1", 0x0000, 0x010000, CRC(c06dd046) SHA1(a47c62fc299842e66694f34844b43a55d6f20c3d), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 43)" ) -GAME_CUSTOM( 199?, m4hittop__ag, m4hittop, "ht501bd.p1", 0x0000, 0x010000, CRC(d4a3843f) SHA1(cc66ebaa334bab86b9bcb1623316c31318e84d2a), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 44)" ) -GAME_CUSTOM( 199?, m4hittop__ah, m4hittop, "ht501d.p1", 0x0000, 0x010000, CRC(67d3c040) SHA1(beec134c53715544080327319b5d6231b625fbb4), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 45)" ) -GAME_CUSTOM( 199?, m4hittop__ai, m4hittop, "ht501dk.p1", 0x0000, 0x010000, CRC(feec7950) SHA1(7bcd8d0166847f72871a78e4b287c72e1a06d26e), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 46)" ) -GAME_CUSTOM( 199?, m4hittop__aj, m4hittop, "ht501dr.p1", 0x0000, 0x010000, CRC(c73b60b1) SHA1(9f14957eb0eec7e833b6bb5b162286d94c8f03c4), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 47)" ) -GAME_CUSTOM( 199?, m4hittop__ak, m4hittop, "ht501dy.p1", 0x0000, 0x010000, CRC(756c7ae9) SHA1(42a731e472f073845b98d7fcc47fe70f57181ce6), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 48)" ) -GAME_CUSTOM( 199?, m4hittop__al, m4hittop, "ht501k.p1", 0x0000, 0x010000, CRC(93269e53) SHA1(7e40ac4e9f4b26755867353fdccadf0f976402b4), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 49)" ) -GAME_CUSTOM( 199?, m4hittop__am, m4hittop, "ht501r.p1", 0x0000, 0x010000, CRC(9aec0493) SHA1(6b0b7e5f4a988ff4d2bc123978adc09195eb4232), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 50)" ) -GAME_CUSTOM( 199?, m4hittop__ao, m4hittop, "ht501y.p1", 0x0000, 0x010000, CRC(a7f8ece6) SHA1(f4472c040c9255eaef5b1109c3bec44f4978b600), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 52)" ) +GAME_CUSTOM( 199?, m4hittop__ae, m4hittop, "ht501ad.p1", 0x0000, 0x010000, CRC(7bf00848) SHA1(700d90218d0bd31860dc905c00d0afbf3a1e8704), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1 AD)" ) +GAME_CUSTOM( 199?, m4hittop__af, m4hittop, "ht501b.p1", 0x0000, 0x010000, CRC(c06dd046) SHA1(a47c62fc299842e66694f34844b43a55d6f20c3d), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1 B)" ) +GAME_CUSTOM( 199?, m4hittop__ag, m4hittop, "ht501bd.p1", 0x0000, 0x010000, CRC(d4a3843f) SHA1(cc66ebaa334bab86b9bcb1623316c31318e84d2a), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1 BD)" ) +GAME_CUSTOM( 199?, m4hittop__ah, m4hittop, "ht501d.p1", 0x0000, 0x010000, CRC(67d3c040) SHA1(beec134c53715544080327319b5d6231b625fbb4), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1 D)" ) +GAME_CUSTOM( 199?, m4hittop__ai, m4hittop, "ht501dk.p1", 0x0000, 0x010000, CRC(feec7950) SHA1(7bcd8d0166847f72871a78e4b287c72e1a06d26e), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1 KD)" ) +GAME_CUSTOM( 199?, m4hittop__aj, m4hittop, "ht501dr.p1", 0x0000, 0x010000, CRC(c73b60b1) SHA1(9f14957eb0eec7e833b6bb5b162286d94c8f03c4), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1 RD)" ) +GAME_CUSTOM( 199?, m4hittop__ak, m4hittop, "ht501dy.p1", 0x0000, 0x010000, CRC(756c7ae9) SHA1(42a731e472f073845b98d7fcc47fe70f57181ce6), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1 YD)" ) +GAME_CUSTOM( 199?, m4hittop__al, m4hittop, "ht501k.p1", 0x0000, 0x010000, CRC(93269e53) SHA1(7e40ac4e9f4b26755867353fdccadf0f976402b4), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1 K)" ) +GAME_CUSTOM( 199?, m4hittop__am, m4hittop, "ht501r.p1", 0x0000, 0x010000, CRC(9aec0493) SHA1(6b0b7e5f4a988ff4d2bc123978adc09195eb4232), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1 R)" ) +GAME_CUSTOM( 199?, m4hittop__ao, m4hittop, "ht501y.p1", 0x0000, 0x010000, CRC(a7f8ece6) SHA1(f4472c040c9255eaef5b1109c3bec44f4978b600), "Barcrest","Hit The Top (Barcrest) (MPU4) (HT5 0.1 Y)" ) // "(C)1991 BARCREST" and "HTT 0.5" GAME_CUSTOM( 199?, m4hittop__aw, m4hittop, "htts.p1", 0x0000, 0x010000, CRC(6c794eb2) SHA1(347a7c74b1fd7631fbcd398bf5e7c36af088109e), "Barcrest","Hit The Top (Barcrest) (MPU4) (HTT 0.5)" ) -GAME_CUSTOM( 199?, m4hittop__ap, m4hittop, "httad.p1", 0x0000, 0x010000, CRC(e5a3df45) SHA1(70bebb33cbe466c379f278347d0b47862b1d01a8), "Barcrest","Hit The Top (Barcrest) (MPU4) (HTT 0.5AD)" ) -GAME_CUSTOM( 199?, m4hittop__aq, m4hittop, "httb.p1", 0x0000, 0x010000, CRC(5c921ff2) SHA1(a9184e4e3916c1ab92761d0e33b42cce4a58e7b1), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 54)" ) -GAME_CUSTOM( 199?, m4hittop__ar, m4hittop, "httbd.p1", 0x0000, 0x010000, CRC(9d19fac9) SHA1(17072ac5b49cd947bf397dfbe9b6b0bd269dd1b4), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 55)" ) -GAME_CUSTOM( 199?, m4hittop__as, m4hittop, "httd.p1", 0x0000, 0x010000, CRC(5e5bacb9) SHA1(d673010cdf2fb9352fc510409deade42b5508b29), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 56)" ) -GAME_CUSTOM( 199?, m4hittop__at, m4hittop, "httdk.p1", 0x0000, 0x010000, CRC(17b1db87) SHA1(196163f68c82c4600ecacee52ee8044739568fbf), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 57)" ) -GAME_CUSTOM( 199?, m4hittop__au, m4hittop, "httdy.p1", 0x0000, 0x010000, CRC(428af7bf) SHA1(954a512105d1a5998d4ffcbf21be0c9d9a65bbeb), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 58)" ) -GAME_CUSTOM( 199?, m4hittop__av, m4hittop, "httk.p1", 0x0000, 0x010000, CRC(581dd34a) SHA1(00cad1860f5edf056b8f9397ca46165593be4755), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 59)" ) -GAME_CUSTOM( 199?, m4hittop__ax, m4hittop, "htty.p1", 0x0000, 0x010000, CRC(c9b402b2) SHA1(2165c1892fc1f0b9b0c39127f322f15c9e1912b1), "Barcrest","Hit The Top (Barcrest) (MPU4) (set 61)" ) +GAME_CUSTOM( 199?, m4hittop__ap, m4hittop, "httad.p1", 0x0000, 0x010000, CRC(e5a3df45) SHA1(70bebb33cbe466c379f278347d0b47862b1d01a8), "Barcrest","Hit The Top (Barcrest) (MPU4) (HTT 0.5 AD)" ) +GAME_CUSTOM( 199?, m4hittop__aq, m4hittop, "httb.p1", 0x0000, 0x010000, CRC(5c921ff2) SHA1(a9184e4e3916c1ab92761d0e33b42cce4a58e7b1), "Barcrest","Hit The Top (Barcrest) (MPU4) (HTT 0.5 B)" ) +GAME_CUSTOM( 199?, m4hittop__ar, m4hittop, "httbd.p1", 0x0000, 0x010000, CRC(9d19fac9) SHA1(17072ac5b49cd947bf397dfbe9b6b0bd269dd1b4), "Barcrest","Hit The Top (Barcrest) (MPU4) (HTT 0.5 BD)" ) +GAME_CUSTOM( 199?, m4hittop__as, m4hittop, "httd.p1", 0x0000, 0x010000, CRC(5e5bacb9) SHA1(d673010cdf2fb9352fc510409deade42b5508b29), "Barcrest","Hit The Top (Barcrest) (MPU4) (HTT 0.5 D)" ) +GAME_CUSTOM( 199?, m4hittop__at, m4hittop, "httdk.p1", 0x0000, 0x010000, CRC(17b1db87) SHA1(196163f68c82c4600ecacee52ee8044739568fbf), "Barcrest","Hit The Top (Barcrest) (MPU4) (HTT 0.5 KD)" ) +GAME_CUSTOM( 199?, m4hittop__au, m4hittop, "httdy.p1", 0x0000, 0x010000, CRC(428af7bf) SHA1(954a512105d1a5998d4ffcbf21be0c9d9a65bbeb), "Barcrest","Hit The Top (Barcrest) (MPU4) (HTT 0.5 YD)" ) +GAME_CUSTOM( 199?, m4hittop__av, m4hittop, "httk.p1", 0x0000, 0x010000, CRC(581dd34a) SHA1(00cad1860f5edf056b8f9397ca46165593be4755), "Barcrest","Hit The Top (Barcrest) (MPU4) (HTT 0.5 K)" ) +GAME_CUSTOM( 199?, m4hittop__ax, m4hittop, "htty.p1", 0x0000, 0x010000, CRC(c9b402b2) SHA1(2165c1892fc1f0b9b0c39127f322f15c9e1912b1), "Barcrest","Hit The Top (Barcrest) (MPU4) (HTT 0.5 Y)" ) #define M4NNWW_EXTRA_ROMS \ From 0deba4d476167d870c05820d5b69d429bda07545 Mon Sep 17 00:00:00 2001 From: David Haywood Date: Sat, 13 Aug 2016 18:42:10 +0100 Subject: [PATCH 029/116] new clones Super Hang-On (Hang-On conversion, Japan, FD1094 317-0039) [Charles MacDonald, ShouTime] --- src/mame/drivers/segahang.cpp | 61 +++++++++++++++++++++++++++++++++-- src/mame/mame.lst | 1 + 2 files changed, 59 insertions(+), 3 deletions(-) diff --git a/src/mame/drivers/segahang.cpp b/src/mame/drivers/segahang.cpp index b374f09182a..8e6950c430e 100644 --- a/src/mame/drivers/segahang.cpp +++ b/src/mame/drivers/segahang.cpp @@ -1194,7 +1194,61 @@ ROM_START( shangonro ) ROM_REGION16_BE( 0x00e0000, "sprites", 0 ) // sprites ROM_LOAD16_BYTE( "epr-10675.22", 0x000001, 0x010000, CRC(d6ac012b) SHA1(305023b1a0a9d84cfc081ffc2ad7578b53d562f2) ) - ROM_LOAD16_BYTE( "epr-10682.11", 0x000000, 0x010000, CRC(d9d83250) SHA1(f8ca3197edcdf53643a5b335c3c044ddc1310cd4) ) + ROM_LOAD16_BYTE( "epr-10682.13", 0x000000, 0x010000, CRC(d9d83250) SHA1(f8ca3197edcdf53643a5b335c3c044ddc1310cd4) ) + ROM_LOAD16_BYTE( "epr-10676.21", 0x020001, 0x010000, CRC(25ebf2c5) SHA1(abcf673ae4e280417dd9f46d18c0ec7c0e4802ae) ) + ROM_LOAD16_BYTE( "epr-10683.12", 0x020000, 0x010000, CRC(6365d2e9) SHA1(688e2ba194e859f86cd3486c2575ebae257e975a) ) + ROM_LOAD16_BYTE( "epr-10677.20", 0x040001, 0x010000, CRC(8a57b8d6) SHA1(df1a31559dd2d1e7c2c9d800bf97526bdf3e84e6) ) + ROM_LOAD16_BYTE( "epr-10684.11", 0x040000, 0x010000, CRC(3aff8910) SHA1(4b41a49a7f02363424e814b37edce9a7a44a112e) ) + ROM_LOAD16_BYTE( "epr-10678.19", 0x060001, 0x010000, CRC(af473098) SHA1(a2afaba1cbf672949dc50e407b46d7e9ae183774) ) + ROM_LOAD16_BYTE( "epr-10685.10", 0x060000, 0x010000, CRC(80bafeef) SHA1(f01bcf65485e60f34e533295a896fca0b92e5b14) ) + ROM_LOAD16_BYTE( "epr-10679.18", 0x080001, 0x010000, CRC(03bc4878) SHA1(548fc58bcc620204e30fa12fa4c4f0a3f6a1e4c0) ) + ROM_LOAD16_BYTE( "epr-10686.9", 0x080000, 0x010000, CRC(274b734e) SHA1(906fa528659bc17c9b4744cec52f7096711adce8) ) + ROM_LOAD16_BYTE( "epr-10680.17", 0x0a0001, 0x010000, CRC(9f0677ed) SHA1(5964642b70bfad418da44f2d91476f887b021f74) ) + ROM_LOAD16_BYTE( "epr-10687.8", 0x0a0000, 0x010000, CRC(508a4701) SHA1(d17aea2aadc2e2cd65d81bf91feb3ef6923d5c0b) ) + ROM_LOAD16_BYTE( "epr-10681.16", 0x0c0001, 0x010000, CRC(b176ea72) SHA1(7ec0eb0f13398d014c2e235773ded00351edb3e2) ) + ROM_LOAD16_BYTE( "epr-10688.7", 0x0c0000, 0x010000, CRC(42fcd51d) SHA1(0eacb3527dc21746e5b901fcac83f2764a0f9e2c) ) + + ROM_REGION( 0x8000, "gfx3", 0 ) // road gfx + ROM_LOAD( "epr-10866.108", 0x0000, 0x08000, CRC(1bbe4fc8) SHA1(30f7f301e4d10d3b254d12bf3d32e5371661a566) ) + + ROM_REGION( 0x10000, "soundcpu", 0 ) // sound CPU + ROM_LOAD( "epr-10834a.52", 0x0000, 0x08000, CRC(83347dc0) SHA1(079bb750edd6372750a207764e8c84bb6abf2f79) ) + + ROM_REGION( 0x20000, "pcm", 0 ) // Sega PCM sound data + ROM_LOAD( "epr-10835.55", 0x00000, 0x10000, CRC(da08ca2b) SHA1(2c94c127efd66f6cf86b25e2653637818a99aed1) ) + ROM_LOAD( "epr-10836.56", 0x10000, 0x10000, CRC(8b10e601) SHA1(75e9bcdd3f096be9bed672d61064b9240690deec) ) + + ROM_REGION( 0x2000, "sprites:zoom", 0 ) // zoom table + ROM_LOAD( "epr-6844.119", 0x0000, 0x2000, CRC(e3ec7bd6) SHA1(feec0fe664e16fac0fde61cf64b401b9b0575323) ) +ROM_END + + +ROM_START( shangonho ) + ROM_REGION( 0x40000, "maincpu", 0 ) // 68000 code + ROM_LOAD16_BYTE( "epr-10865.ic22", 0x00000, 0x08000, CRC(98e861dd) SHA1(f2059f4559893d38d7d781c8599aeb7a5074eec0) ) + ROM_LOAD16_BYTE( "epr-10862.ic8", 0x00001, 0x08000, CRC(d6f058c7) SHA1(72f25455ed619d988bcceb1cfe39a7e06722c9dc) ) + ROM_LOAD16_BYTE( "epr-10864.ic20", 0x10000, 0x08000, CRC(b3048f44) SHA1(8e559df140f1ddf307d8430c7976ecbbe8907260) ) + ROM_LOAD16_BYTE( "epr-10861.ic6", 0x10001, 0x08000, CRC(0a131e14) SHA1(088a7ff479462a6a5aa1e096805fc50883a1c245) ) + ROM_LOAD16_BYTE( "epr-10863.ic18", 0x20000, 0x08000, CRC(12ee8716) SHA1(8e798d23d22f85cd046641184d104c17b27995b2) ) + ROM_LOAD16_BYTE( "epr-10860.ic4", 0x20001, 0x08000, CRC(155e0cfd) SHA1(e51734351c887fe3920c881f57abdfbb7d075f57) ) + + ROM_REGION( 0x40000, "subcpu", 0 ) // second 68000 CPU (encrypted FD1094) + ROM_LOAD16_BYTE( "epr-10859.ic31", 0x000001, 0x10000, CRC(a22bc1a2) SHA1(74b535fb72228807aafe835bfb69e97f58bda12d) ) + ROM_LOAD16_BYTE( "epr-10857.ic25", 0x000000, 0x10000, CRC(064827a3) SHA1(c72cb799b4535f9faa7f3d37bc4d0763f52f5361) ) + ROM_LOAD16_BYTE( "epr-10858.ic30", 0x020001, 0x10000, CRC(8f8f4af0) SHA1(1dac21b7df6ec6874d36a07e30de7129b7f7f33a) ) + ROM_LOAD16_BYTE( "epr-10856.ic24", 0x020000, 0x10000, CRC(000ad595) SHA1(eb80e798159c09bc5142a7ea8b9b0f895976b0d4) ) + + ROM_REGION( 0x2000, "subcpu:key", 0 ) // FD1094 decryption key + ROM_LOAD( "317-0039.key", 0x0000, 0x2000, CRC(97b05dd6) SHA1(c16033021a0fbc8d9759c40deab41d58babdaf90) ) + + ROM_REGION( 0x18000, "gfx1", 0 ) // tiles + ROM_LOAD( "epr-10652.38", 0x00000, 0x08000, CRC(260286f9) SHA1(dc7c8d2c6ef924a937328685eed19bda1c8b1819) ) + ROM_LOAD( "epr-10651.23", 0x08000, 0x08000, CRC(c609ee7b) SHA1(c6dacf81cbfe7e5df1f9a967cf571be1dcf1c429) ) + ROM_LOAD( "epr-10650.7", 0x10000, 0x08000, CRC(b236a403) SHA1(af02b8122794c083a66f2ab35d2c73b84b2df0be) ) + + ROM_REGION16_BE( 0x00e0000, "sprites", 0 ) // sprites + ROM_LOAD16_BYTE( "epr-10675.22", 0x000001, 0x010000, CRC(d6ac012b) SHA1(305023b1a0a9d84cfc081ffc2ad7578b53d562f2) ) + ROM_LOAD16_BYTE( "epr-10682.13", 0x000000, 0x010000, CRC(d9d83250) SHA1(f8ca3197edcdf53643a5b335c3c044ddc1310cd4) ) ROM_LOAD16_BYTE( "epr-10676.21", 0x020001, 0x010000, CRC(25ebf2c5) SHA1(abcf673ae4e280417dd9f46d18c0ec7c0e4802ae) ) ROM_LOAD16_BYTE( "epr-10683.12", 0x020000, 0x010000, CRC(6365d2e9) SHA1(688e2ba194e859f86cd3486c2575ebae257e975a) ) ROM_LOAD16_BYTE( "epr-10677.20", 0x040001, 0x010000, CRC(8a57b8d6) SHA1(df1a31559dd2d1e7c2c9d800bf97526bdf3e84e6) ) @@ -1949,8 +2003,9 @@ GAME( 1985, hangon, 0, hangon, hangon, segahang_state,generic, RO GAME( 1985, hangon1, hangon, hangon, hangon, segahang_state,generic, ROT0, "Sega", "Hang-On", 0 ) GAME( 1985, hangon2, hangon, hangon, hangon2, segahang_state,generic, ROT0, "Sega", "Hang-On (ride-on)", 0 ) -GAME( 1987, shangonro, shangon, shangonro,shangonro, segahang_state,generic, ROT0, "Sega", "Super Hang-On (ride-on, Japan, FD1094 317-0038)", 0 ) -GAME( 1992, shangonrb, shangon, shangupb, shangupb, segahang_state,generic, ROT0, "bootleg", "Super Hang-On (bootleg)", 0 ) +GAME( 1987, shangonro, shangon, shangonro,shangonro, segahang_state,generic, ROT0, "Sega", "Super Hang-On (Hang-On conversion, ride-on, Japan, FD1094 317-0038)", 0 ) +GAME( 1987, shangonho, shangon, shangonro,shangupb, segahang_state,generic, ROT0, "Sega", "Super Hang-On (Hang-On conversion, Japan, FD1094 317-0039)", 0 ) +GAME( 1992, shangonrb, shangon, shangupb, shangupb, segahang_state,generic, ROT0, "bootleg", "Super Hang-On (Hang-On conversion, bootleg)", 0 ) GAME( 1985, sharrier, 0, sharrier, sharrier, segahang_state,sharrier,ROT0, "Sega", "Space Harrier (Rev A, 8751 315-5163A)", 0 ) GAME( 1985, sharrier1, sharrier, sharrier, sharrier, segahang_state,sharrier,ROT0, "Sega", "Space Harrier (8751 315-5163)", 0 ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 3878c00c4eb..5426b279797 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -32176,6 +32176,7 @@ hangon1 // (c) 1985 hangon2 // (c) 1985 shangonrb // (c) 1992 (but bootleg, hangon hw?) shangonro // (c) 1987 (FD1094) +shangonho // (c) 1987 (FD1094) sharrier // (c) 1985 sharrier1 // (c) 1985 From 161a08dd4acd792c71d665d3abc16c3093053de8 Mon Sep 17 00:00:00 2001 From: Jezze Date: Sat, 13 Aug 2016 19:57:16 +0200 Subject: [PATCH 030/116] - intscalex, intscaley and unevenstretchx now consider the system orientation and screen rotation --- src/emu/render.cpp | 45 +++++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/src/emu/render.cpp b/src/emu/render.cpp index 5b15bc4498e..773a5dcb511 100644 --- a/src/emu/render.cpp +++ b/src/emu/render.cpp @@ -74,15 +74,6 @@ enum -//************************************************************************** -// MACROS -//************************************************************************** - -#define ISWAP(var1, var2) do { int temp = var1; var1 = var2; var2 = temp; } while (0) -#define FSWAP(var1, var2) do { float temp = var1; var1 = var2; var2 = temp; } while (0) - - - //************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -136,8 +127,8 @@ inline void apply_orientation(render_bounds &bounds, int orientation) // swap first if (orientation & ORIENTATION_SWAP_XY) { - FSWAP(bounds.x0, bounds.y0); - FSWAP(bounds.x1, bounds.y1); + std::swap(bounds.x0, bounds.y0); + std::swap(bounds.x1, bounds.y1); } // apply X flip @@ -164,9 +155,9 @@ inline void apply_orientation(render_bounds &bounds, int orientation) inline void normalize_bounds(render_bounds &bounds) { if (bounds.x0 > bounds.x1) - FSWAP(bounds.x0, bounds.x1); + std::swap(bounds.x0, bounds.x1); if (bounds.y0 > bounds.y1) - FSWAP(bounds.y0, bounds.y1); + std::swap(bounds.y0, bounds.y1); } @@ -947,7 +938,7 @@ render_target::render_target(render_manager &manager, const internal_layout *lay if (manager.machine().options().uneven_stretch() && !manager.machine().options().uneven_stretch_x()) m_scale_mode = SCALE_FRACTIONAL; else - m_scale_mode = manager.machine().options().uneven_stretch_x()? SCALE_FRACTIONAL_X : SCALE_INTEGER; + m_scale_mode = manager.machine().options().uneven_stretch_x() ? SCALE_FRACTIONAL_X : SCALE_INTEGER; // determine the base orientation based on options if (!manager.machine().options().rotate()) @@ -1161,6 +1152,10 @@ const render_screen_list &render_target::view_screens(int viewindex) void render_target::compute_visible_area(INT32 target_width, INT32 target_height, float target_pixel_aspect, int target_orientation, INT32 &visible_width, INT32 &visible_height) { + bool system_swap_xy = (m_manager.machine().system().flags & ORIENTATION_SWAP_XY) == ORIENTATION_SWAP_XY; + bool target_swap_xy = (target_orientation & ORIENTATION_SWAP_XY) == ORIENTATION_SWAP_XY; + bool swap_xy = system_swap_xy ^ target_swap_xy; + switch (m_scale_mode) { case SCALE_FRACTIONAL: @@ -1177,7 +1172,7 @@ void render_target::compute_visible_area(INT32 target_width, INT32 target_height // first apply target orientation if (target_orientation & ORIENTATION_SWAP_XY) - FSWAP(width, height); + std::swap(width, height); // apply the target pixel aspect ratio height *= target_pixel_aspect; @@ -1222,21 +1217,35 @@ void render_target::compute_visible_area(INT32 target_width, INT32 target_height bool x_is_integer = !(target_aspect >= 1.0f && m_scale_mode == SCALE_FRACTIONAL_X); bool y_is_integer = !(target_aspect < 1.0f && m_scale_mode == SCALE_FRACTIONAL_X); + // apply swap to scale mode + if (swap_xy) + std::swap(x_is_integer, y_is_integer); + // first compute scale factors to fit the screen float xscale = (float)target_width / src_width; float yscale = (float)target_height / src_height; float maxxscale = std::max(1.0f, float(m_int_overscan ? render_round_nearest(xscale) : floor(xscale))); float maxyscale = std::max(1.0f, float(m_int_overscan ? render_round_nearest(yscale) : floor(yscale))); + // apply swap to maximum scale factors + if (swap_xy) + std::swap(maxxscale, maxyscale); + // now apply desired scale mode and aspect correction if (m_keepaspect && target_aspect > src_aspect) xscale *= src_aspect / target_aspect * (maxyscale / yscale); if (m_keepaspect && target_aspect < src_aspect) yscale *= target_aspect / src_aspect * (maxxscale / xscale); if (x_is_integer) xscale = std::min(maxxscale, std::max(1.0f, render_round_nearest(xscale))); if (y_is_integer) yscale = std::min(maxyscale, std::max(1.0f, render_round_nearest(yscale))); + // apply swap to user defined scale factors + int int_scale_x = m_int_scale_x; + int int_scale_y = m_int_scale_y; + if (swap_xy) + std::swap(int_scale_x, int_scale_y); + // check if we have user defined scale factors, if so use them instead - xscale = m_int_scale_x? m_int_scale_x : xscale; - yscale = m_int_scale_y? m_int_scale_y : yscale; + xscale = int_scale_x > 0 ? int_scale_x : xscale; + yscale = int_scale_y > 0 ? int_scale_y : yscale; // set the final width/height visible_width = render_round_nearest(src_width * xscale); @@ -2051,7 +2060,7 @@ void render_target::add_element_primitives(render_primitive_list &list, const ob INT32 height = render_round_nearest(xform.yscale); set_render_bounds_wh(&prim->bounds, render_round_nearest(xform.xoffs), render_round_nearest(xform.yoffs), (float) width, (float) height); if (xform.orientation & ORIENTATION_SWAP_XY) - ISWAP(width, height); + std::swap(width, height); width = std::min(width, m_maxtexwidth); height = std::min(height, m_maxtexheight); From 0e799e0b9817da74810b4c3b5d17128017dda499 Mon Sep 17 00:00:00 2001 From: Jezze Date: Sat, 13 Aug 2016 20:22:51 +0200 Subject: [PATCH 031/116] - updated shader binaries which have changed after the last BGFX update (nw) --- .../dx9/chains/blurs/fs_smart-blur.bin | Bin 1366 -> 1354 bytes .../dx9/chains/blurs/vs_smart-blur.bin | Bin 576 -> 564 bytes .../chains/crt-geom/fs_crt-geom-deluxe.bin | Bin 5470 -> 5458 bytes .../dx9/chains/crt-geom/fs_crt-geom.bin | Bin 5220 -> 5208 bytes .../shaders/dx9/chains/crt-geom/fs_gaussx.bin | Bin 1845 -> 1833 bytes .../shaders/dx9/chains/crt-geom/fs_gaussy.bin | Bin 1845 -> 1833 bytes .../dx9/chains/crt-geom/fs_phosphor_apply.bin | Bin 893 -> 881 bytes .../chains/crt-geom/fs_phosphor_update.bin | Bin 810 -> 798 bytes .../dx9/chains/crt-geom/vs_crt-geom.bin | Bin 3301 -> 3289 bytes .../shaders/dx9/chains/crt-geom/vs_gaussx.bin | Bin 685 -> 673 bytes .../shaders/dx9/chains/crt-geom/vs_gaussy.bin | Bin 685 -> 673 bytes .../dx9/chains/crt-geom/vs_phosphor_apply.bin | Bin 294 -> 282 bytes .../chains/crt-geom/vs_phosphor_update.bin | Bin 294 -> 282 bytes bgfx/shaders/dx9/chains/default/fs_blit.bin | Bin 241 -> 229 bytes bgfx/shaders/dx9/chains/default/vs_blit.bin | Bin 330 -> 318 bytes bgfx/shaders/dx9/chains/eagle/fs_eagle.bin | Bin 3139 -> 3127 bytes bgfx/shaders/dx9/chains/eagle/vs_eagle.bin | Bin 908 -> 896 bytes bgfx/shaders/dx9/chains/hlsl/fs_color.bin | Bin 694 -> 682 bytes .../shaders/dx9/chains/hlsl/fs_deconverge.bin | Bin 361 -> 349 bytes bgfx/shaders/dx9/chains/hlsl/fs_defocus.bin | Bin 879 -> 867 bytes .../shaders/dx9/chains/hlsl/fs_distortion.bin | Bin 2823 -> 2811 bytes .../dx9/chains/hlsl/fs_ntsc_decode.bin | Bin 4259 -> 4247 bytes .../dx9/chains/hlsl/fs_ntsc_encode.bin | Bin 1760 -> 1748 bytes bgfx/shaders/dx9/chains/hlsl/fs_phosphor.bin | Bin 483 -> 471 bytes bgfx/shaders/dx9/chains/hlsl/fs_post.bin | Bin 3135 -> 3123 bytes bgfx/shaders/dx9/chains/hlsl/fs_prescale.bin | Bin 241 -> 229 bytes bgfx/shaders/dx9/chains/hlsl/vs_color.bin | Bin 330 -> 318 bytes .../shaders/dx9/chains/hlsl/vs_deconverge.bin | Bin 1071 -> 1059 bytes bgfx/shaders/dx9/chains/hlsl/vs_defocus.bin | Bin 330 -> 318 bytes .../shaders/dx9/chains/hlsl/vs_distortion.bin | Bin 330 -> 318 bytes .../dx9/chains/hlsl/vs_ntsc_decode.bin | Bin 330 -> 318 bytes .../dx9/chains/hlsl/vs_ntsc_encode.bin | Bin 330 -> 318 bytes bgfx/shaders/dx9/chains/hlsl/vs_phosphor.bin | Bin 330 -> 318 bytes bgfx/shaders/dx9/chains/hlsl/vs_post.bin | Bin 330 -> 318 bytes bgfx/shaders/dx9/chains/hlsl/vs_prescale.bin | Bin 330 -> 318 bytes bgfx/shaders/dx9/chains/hqx/fs_hq2x.bin | Bin 3709 -> 3697 bytes bgfx/shaders/dx9/chains/hqx/fs_hq3x.bin | Bin 3733 -> 3721 bytes bgfx/shaders/dx9/chains/hqx/fs_hq4x.bin | Bin 3709 -> 3697 bytes bgfx/shaders/dx9/chains/hqx/vs_hq2x.bin | Bin 576 -> 564 bytes bgfx/shaders/dx9/chains/hqx/vs_hq3x.bin | Bin 576 -> 564 bytes bgfx/shaders/dx9/chains/hqx/vs_hq4x.bin | Bin 576 -> 564 bytes bgfx/shaders/dx9/chains/misc/fs_blit.bin | Bin 241 -> 229 bytes .../misc/fs_bob-and-ghost-deinterlace.bin | Bin 1168 -> 1156 bytes .../dx9/chains/misc/fs_deposterize-pass0.bin | Bin 897 -> 885 bytes .../dx9/chains/misc/fs_deposterize-pass1.bin | Bin 897 -> 885 bytes .../shaders/dx9/chains/misc/fs_saturation.bin | Bin 372 -> 360 bytes bgfx/shaders/dx9/chains/misc/vs_blit.bin | Bin 330 -> 318 bytes .../misc/vs_bob-and-ghost-deinterlace.bin | Bin 330 -> 318 bytes .../dx9/chains/misc/vs_deposterize-pass0.bin | Bin 500 -> 488 bytes .../dx9/chains/misc/vs_deposterize-pass1.bin | Bin 500 -> 488 bytes .../shaders/dx9/chains/misc/vs_saturation.bin | Bin 330 -> 318 bytes .../pillarbox_left_horizontal/fs_gaussian.bin | Bin 1512 -> 1500 bytes .../fs_offset_sat.bin | Bin 372 -> 360 bytes .../pillarbox_left_horizontal/vs_gaussian.bin | Bin 330 -> 318 bytes .../vs_offset_sat.bin | Bin 362 -> 350 bytes .../pillarbox_left_vertical/fs_gaussian.bin | Bin 1512 -> 1500 bytes .../pillarbox_left_vertical/fs_offset_sat.bin | Bin 372 -> 360 bytes .../pillarbox_left_vertical/vs_gaussian.bin | Bin 330 -> 318 bytes .../pillarbox_left_vertical/vs_offset_sat.bin | Bin 362 -> 350 bytes .../fs_gaussian.bin | Bin 1512 -> 1500 bytes .../fs_offset_sat.bin | Bin 372 -> 360 bytes .../vs_gaussian.bin | Bin 330 -> 318 bytes .../vs_offset_sat.bin | Bin 362 -> 350 bytes .../pillarbox_right_vertical/fs_gaussian.bin | Bin 1512 -> 1500 bytes .../fs_offset_sat.bin | Bin 372 -> 360 bytes .../pillarbox_right_vertical/vs_gaussian.bin | Bin 330 -> 318 bytes .../vs_offset_sat.bin | Bin 362 -> 350 bytes .../shaders/dx9/chains/unfiltered/fs_blit.bin | Bin 241 -> 229 bytes .../shaders/dx9/chains/unfiltered/vs_blit.bin | Bin 330 -> 318 bytes .../warp/fs_dilation-horizontal-fast.bin | Bin 357 -> 345 bytes .../warp/vs_dilation-horizontal-fast.bin | Bin 468 -> 456 bytes .../dx9/chains/xbr/fs_xbr-lv1-noblend.bin | Bin 2273 -> 2261 bytes bgfx/shaders/dx9/chains/xbr/fs_xbr-lv2-3d.bin | Bin 5152 -> 5140 bytes .../dx9/chains/xbr/fs_xbr-lv2-fast.bin | Bin 2842 -> 2830 bytes .../dx9/chains/xbr/fs_xbr-lv2-noblend.bin | Bin 2537 -> 2525 bytes bgfx/shaders/dx9/chains/xbr/fs_xbr-lv2.bin | Bin 3354 -> 3342 bytes .../dx9/chains/xbr/fs_xbr-lv3-noblend.bin | Bin 3177 -> 3165 bytes bgfx/shaders/dx9/chains/xbr/fs_xbr-lv3.bin | Bin 4406 -> 4394 bytes .../xbr/super-xbr/fs_custom-jinc2-sharper.bin | Bin 4974 -> 4962 bytes .../xbr/super-xbr/fs_super-2xbr-3d-pass0.bin | Bin 4215 -> 4203 bytes .../xbr/super-xbr/fs_super-2xbr-3d-pass1.bin | Bin 4142 -> 4130 bytes .../xbr/super-xbr/fs_super-2xbr-3d-pass2.bin | Bin 3722 -> 3710 bytes .../xbr/super-xbr/fs_super-4xbr-3d-pass0.bin | Bin 4235 -> 4223 bytes .../xbr/super-xbr/fs_super-4xbr-3d-pass1.bin | Bin 4230 -> 4218 bytes .../xbr/super-xbr/fs_super-4xbr-3d-pass1f.bin | Bin 3742 -> 3730 bytes .../xbr/super-xbr/fs_super-4xbr-3d-pass2.bin | Bin 4215 -> 4203 bytes .../xbr/super-xbr/fs_super-4xbr-3d-pass3.bin | Bin 4142 -> 4130 bytes .../xbr/super-xbr/fs_super-4xbr-3d-pass3f.bin | Bin 3722 -> 3710 bytes .../xbr/super-xbr/fs_super-xbr-fast-pass0.bin | Bin 2459 -> 2447 bytes .../xbr/super-xbr/fs_super-xbr-fast-pass1.bin | Bin 2375 -> 2363 bytes .../xbr/super-xbr/fs_super-xbr-fast-pass2.bin | Bin 2287 -> 2275 bytes .../xbr/super-xbr/fs_super-xbr-pass0.bin | Bin 2705 -> 2693 bytes .../xbr/super-xbr/fs_super-xbr-pass1.bin | Bin 3242 -> 3230 bytes .../xbr/super-xbr/fs_super-xbr-pass2.bin | Bin 2533 -> 2521 bytes .../xbr/super-xbr/vs_custom-jinc2-sharper.bin | Bin 330 -> 318 bytes .../xbr/super-xbr/vs_super-2xbr-3d-pass0.bin | Bin 330 -> 318 bytes .../xbr/super-xbr/vs_super-2xbr-3d-pass1.bin | Bin 330 -> 318 bytes .../xbr/super-xbr/vs_super-2xbr-3d-pass2.bin | Bin 660 -> 648 bytes .../xbr/super-xbr/vs_super-4xbr-3d-pass0.bin | Bin 330 -> 318 bytes .../xbr/super-xbr/vs_super-4xbr-3d-pass1.bin | Bin 330 -> 318 bytes .../xbr/super-xbr/vs_super-4xbr-3d-pass1f.bin | Bin 660 -> 648 bytes .../xbr/super-xbr/vs_super-4xbr-3d-pass2.bin | Bin 330 -> 318 bytes .../xbr/super-xbr/vs_super-4xbr-3d-pass3.bin | Bin 330 -> 318 bytes .../xbr/super-xbr/vs_super-4xbr-3d-pass3f.bin | Bin 660 -> 648 bytes .../xbr/super-xbr/vs_super-xbr-fast-pass0.bin | Bin 330 -> 318 bytes .../xbr/super-xbr/vs_super-xbr-fast-pass1.bin | Bin 330 -> 318 bytes .../xbr/super-xbr/vs_super-xbr-fast-pass2.bin | Bin 330 -> 318 bytes .../xbr/super-xbr/vs_super-xbr-pass0.bin | Bin 632 -> 620 bytes .../xbr/super-xbr/vs_super-xbr-pass1.bin | Bin 330 -> 318 bytes .../xbr/super-xbr/vs_super-xbr-pass2.bin | Bin 660 -> 648 bytes .../xbr/super-xbr/vs_super-xbr-pass3.bin | Bin 660 -> 648 bytes .../dx9/chains/xbr/vs_xbr-lv1-noblend.bin | Bin 492 -> 480 bytes bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2-3d.bin | Bin 526 -> 514 bytes .../dx9/chains/xbr/vs_xbr-lv2-fast.bin | Bin 576 -> 564 bytes .../dx9/chains/xbr/vs_xbr-lv2-noblend.bin | Bin 780 -> 768 bytes bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2.bin | Bin 780 -> 768 bytes .../dx9/chains/xbr/vs_xbr-lv3-noblend.bin | Bin 780 -> 768 bytes bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3.bin | Bin 780 -> 768 bytes .../xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin | Bin 4954 -> 4942 bytes .../xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin | Bin 4874 -> 4862 bytes .../xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin | Bin 4626 -> 4614 bytes .../xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin | Bin 5026 -> 5014 bytes .../xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin | Bin 4562 -> 4550 bytes .../xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin | Bin 4402 -> 4390 bytes .../xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin | Bin 5310 -> 5298 bytes .../chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin | Bin 5074 -> 5062 bytes .../xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin | Bin 780 -> 768 bytes .../xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin | Bin 780 -> 768 bytes .../xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin | Bin 780 -> 768 bytes .../xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin | Bin 780 -> 768 bytes .../xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin | Bin 780 -> 768 bytes .../xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin | Bin 780 -> 768 bytes .../xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin | Bin 780 -> 768 bytes .../chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin | Bin 780 -> 768 bytes .../xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin | Bin 1880 -> 1868 bytes .../fs_xbr-lv2-accuracy-pass0.bin | Bin 6096 -> 6084 bytes .../fs_xbr-lv2-accuracy-pass1.bin | Bin 3044 -> 3032 bytes .../xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin | Bin 2044 -> 2032 bytes .../xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin | Bin 2156 -> 2144 bytes .../xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin | Bin 2252 -> 2240 bytes .../fs_xbr-lv2-noblend-pass1.bin | Bin 1901 -> 1889 bytes .../xbr-lv2-multipass/fs_xbr-lv2-pass1.bin | Bin 2283 -> 2271 bytes .../xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin | Bin 780 -> 768 bytes .../vs_xbr-lv2-accuracy-pass0.bin | Bin 780 -> 768 bytes .../vs_xbr-lv2-accuracy-pass1.bin | Bin 532 -> 520 bytes .../xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin | Bin 780 -> 768 bytes .../xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin | Bin 780 -> 768 bytes .../xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin | Bin 780 -> 768 bytes .../vs_xbr-lv2-noblend-pass1.bin | Bin 532 -> 520 bytes .../xbr-lv2-multipass/vs_xbr-lv2-pass1.bin | Bin 532 -> 520 bytes .../xbr-lv3-multipass/fs_xbr-lv3-pass0.bin | Bin 4448 -> 4436 bytes .../xbr-lv3-multipass/fs_xbr-lv3-pass1.bin | Bin 3882 -> 3870 bytes .../xbr-lv3-multipass/vs_xbr-lv3-pass0.bin | Bin 780 -> 768 bytes .../xbr-lv3-multipass/vs_xbr-lv3-pass1.bin | Bin 604 -> 592 bytes .../xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin | Bin 6769 -> 6757 bytes .../xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin | Bin 3676 -> 3664 bytes .../xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin | Bin 3512 -> 3500 bytes .../xbr-mlv4-multipass/fs_xbr-mlv4-pass4.bin | Bin 4677 -> 4665 bytes .../xbr-mlv4-multipass/vs_xbr-mlv4-pass1.bin | Bin 432 -> 420 bytes .../xbr-mlv4-multipass/vs_xbr-mlv4-pass2.bin | Bin 780 -> 768 bytes .../xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin | Bin 468 -> 456 bytes .../xbr-mlv4-multipass/vs_xbr-mlv4-pass4.bin | Bin 468 -> 456 bytes bgfx/shaders/dx9/fs_gui.bin | Bin 241 -> 229 bytes bgfx/shaders/dx9/fs_screen.bin | Bin 241 -> 229 bytes bgfx/shaders/dx9/vs_gui.bin | Bin 330 -> 318 bytes bgfx/shaders/dx9/vs_screen.bin | Bin 330 -> 318 bytes 166 files changed, 0 insertions(+), 0 deletions(-) diff --git a/bgfx/shaders/dx9/chains/blurs/fs_smart-blur.bin b/bgfx/shaders/dx9/chains/blurs/fs_smart-blur.bin index c9c91235392f992d1ca062d282ec97b8f3d7311f..15b190e62a2d3f4a28485a834906aae17901fc79 100644 GIT binary patch delta 25 hcmcb{b&6|(I;R3F1M~m?|Nd)FG+4!Gxbb;D3jl#X3TprW delta 37 tcmX@bb&YF+I;RdR1M~m?|NiSuG+4!Jpl4`cU}&gkXl86-vhj943jhEo49)-m diff --git a/bgfx/shaders/dx9/chains/blurs/vs_smart-blur.bin b/bgfx/shaders/dx9/chains/blurs/vs_smart-blur.bin index de5213e137f9ec5027d8222e9ade7e7484b3addc..377bfbc3c2d91922472f6ff275398e335f7e8f7c 100644 GIT binary patch delta 25 hcmX@WvV~=WE+-2U1M|QC|NiStG+W1LxbdSuBLI4P3JU-L delta 37 tcmdnOa)4!mE~fw!1M|QC|NiSwG+W1Opl4`cU}&gkXl86-vhk@uBLMaQ3~m4b diff --git a/bgfx/shaders/dx9/chains/crt-geom/fs_crt-geom-deluxe.bin b/bgfx/shaders/dx9/chains/crt-geom/fs_crt-geom-deluxe.bin index 5d1afeb8efafdff3619f5c206f8d5e30268271f8..ef3976f44b057905ce52bb72504d104df92921e2 100644 GIT binary patch delta 29 lcmcbobxCW3G9#ys2m|x~|Ns6k->kzpn~BkI^A+YUK>)HT3!4A{ delta 41 xcmcblbx&)9G9#yj2m|x~|Ns84+N{Gkn~B#z&(OfY&`{6N%-F(Y^9klIK>$FS4gLTC diff --git a/bgfx/shaders/dx9/chains/crt-geom/fs_crt-geom.bin b/bgfx/shaders/dx9/chains/crt-geom/fs_crt-geom.bin index 0b63f55a58582d29c61508e92b257caa86fbec91..05aaa9f7e4cc0cd3517e0df8df8f763d6a7b654f 100644 GIT binary patch delta 29 lcmaE&aYJJRBO_;sFaz`d|Ns6^-ps}5&BSQ9Ifo delta 41 xcmcbi@kC<-BO_;mFaz`d|Ns6^+swu2&BSY#8Rs812Il|&|NS?eXn%~?K+n*?z|c_7(9GDvWHTG1G8+INgba!R diff --git a/bgfx/shaders/dx9/chains/crt-geom/fs_gaussy.bin b/bgfx/shaders/dx9/chains/crt-geom/fs_gaussy.bin index 125ab63828d76ee8e5492b3fbef6bcad26030981..7c5bc439ce88b836a6415e1e4fb27a4b4ec60270 100644 GIT binary patch delta 26 icmdnWw~}vy8RrK!2Il|&|NS?bXn%~+aI+AjG8+Jt844!= delta 38 ucmZ3#8Rs812Il|&|NS?eXn%~?K+n*?z|c_7(9GDvWHTG1G8+INgba!R diff --git a/bgfx/shaders/dx9/chains/crt-geom/fs_phosphor_apply.bin b/bgfx/shaders/dx9/chains/crt-geom/fs_phosphor_apply.bin index b4b4839d8b5a05b606653525608576013db35dc4..17230ddc8a9e947d702de06eb9e38b88bd96d736 100644 GIT binary patch delta 27 jcmey%_K|Hu7AFfc1M~m?|NeV#EY@ITG~B#`@hT$#p2G_N delta 39 vcmey!_Lpr!7N-C+1M~m?|Ni@JEY@J;HPACOFfcUKGc+@{FxfnZ@hT$#B{>aZ diff --git a/bgfx/shaders/dx9/chains/crt-geom/fs_phosphor_update.bin b/bgfx/shaders/dx9/chains/crt-geom/fs_phosphor_update.bin index 384d2ddd48df64e1af66dbed9cfb9b9db12596c6..d0ba05e36cb6e7fceec418b407d78ec4f9454eae 100644 GIT binary patch delta 26 icmZ3*HjizBKj#@H2Il|&|NVEE81bLcaB~XdF-8EDSPMb` delta 38 ucmbQowu)_nKj#f52Il|&|NVEK81bLiK+n*?z|c_7(9GDvWOD@LF-8C)#|@x{!5(7iS0)1M|QC|NdJ~41UFExY>&_nGpbrBnm75 delta 38 ucmZ3;x|Vf<7iR(!1M|QC|Nh%e41UFHpl4`cU}&gkXl86-ve}L?nGpaGXAF-3 diff --git a/bgfx/shaders/dx9/chains/crt-geom/vs_gaussy.bin b/bgfx/shaders/dx9/chains/crt-geom/vs_gaussy.bin index 3b1bbf6e5569e1561509e6d4217ac35b780d252e..4a579425b7b74284126c1de1dbde304f2884b0ed 100644 GIT binary patch delta 26 icmZ3>x{!5(7iS0)1M|QC|NdJ~41UFExY>&_nGpbrBnm75 delta 38 ucmZ3;x|Vf<7iR(!1M|QC|Nh%e41UFHpl4`cU}&gkXl86-ve}L?nGpaGXAF-3 diff --git a/bgfx/shaders/dx9/chains/crt-geom/vs_phosphor_apply.bin b/bgfx/shaders/dx9/chains/crt-geom/vs_phosphor_apply.bin index 9f489e233ecf75281516adee63d4fde9ecb9eeed..c9d8ff66ade2d6a594a469b0e28811f6a4a9103a 100644 GIT binary patch delta 24 gcmZ3+G>d71H0K`%2IhbN|NU2(s8YvhIB|VB0C%VgE&u=k delta 36 scmbQmw2WzjG$#im1M|QC|NbjaRH@@N&@(hJFf`ONG&8m^nYg$d0N73ok^lez diff --git a/bgfx/shaders/dx9/chains/crt-geom/vs_phosphor_update.bin b/bgfx/shaders/dx9/chains/crt-geom/vs_phosphor_update.bin index 9f489e233ecf75281516adee63d4fde9ecb9eeed..c9d8ff66ade2d6a594a469b0e28811f6a4a9103a 100644 GIT binary patch delta 24 gcmZ3+G>d71H0K`%2IhbN|NU2(s8YvhIB|VB0C%VgE&u=k delta 36 scmbQmw2WzjG$#im1M|QC|NbjaRH@@N&@(hJFf`ONG&8m^nYg$d0N73ok^lez diff --git a/bgfx/shaders/dx9/chains/default/fs_blit.bin b/bgfx/shaders/dx9/chains/default/fs_blit.bin index ef8fa0730c3a16c8151d82c7394b35a81d1f1d40..f66f62415b57cc2b0cc6aac17077641c8f6aeeb4 100644 GIT binary patch delta 24 gcmey!_>^&i80Q%V2Il|&|NWPrC||{BIB}Ub0D$rePXGV_ delta 36 scmaFL_>pmf80QTJ2Il|&|NU2*C||{Epl4`cU}&gkXl86-GI5qS00NT?vH$=8 diff --git a/bgfx/shaders/dx9/chains/default/vs_blit.bin b/bgfx/shaders/dx9/chains/default/vs_blit.bin index ea94c83e62deecbb1897164a60e4cbd4bd062aac..84f72cdd03c9698cfda9df3f96577b20e04a0bd9 100644 GIT binary patch delta 24 gcmX@bw2x_mG^YY11M|QC|NbjXRHsv0Y+<1}6^>1M~m?|Nd)FG+f1Kxba0aHvoS?3Q7O~ delta 37 tcmdlkaadx42B!oM1M~m?|NiSuG+f1Npl4`cU}&gkXl86-vhhwdHvs(|46OhF diff --git a/bgfx/shaders/dx9/chains/eagle/vs_eagle.bin b/bgfx/shaders/dx9/chains/eagle/vs_eagle.bin index 6bf98d22532e19523ef7e5b6b645f4b3ff0fb190..24ff4189204d81748b740c9641ce2dc1fd8e56e6 100644 GIT binary patch delta 25 hcmeBSZ(yIG%NfAT!2Iw3zyCTD&DJp*Zu~f#2>^FT3PS(@ delta 37 tcmZo*?_r;y%NfJW!2Iw3zyJCZ&DQZ6=ouOq7#ivsni*S|Y|iX45k18 diff --git a/bgfx/shaders/dx9/chains/hlsl/fs_color.bin b/bgfx/shaders/dx9/chains/hlsl/fs_color.bin index 985cf1bc91a1e7c44d50918fc6ca1cc33a73d0c4..678416acf9277b8be6dacdc543353e9526980b5e 100644 GIT binary patch delta 26 icmdnSx{7r|J*Nf}1M~m?|NaMW?C@e_G@N{&@j3vERSNz9 delta 38 ucmZ3*x{Y;0J*Np11M~m?|Ne(h($ diff --git a/bgfx/shaders/dx9/chains/hlsl/fs_defocus.bin b/bgfx/shaders/dx9/chains/hlsl/fs_defocus.bin index fe909ee1f2623b9e7e732327e0b2fe8ba10d934b..12ed2624d0bafbbaf55bfa979a313ebb9121235a 100644 GIT binary patch delta 26 icmaFQ_Lyyg1*Zlx1M~m?|Na|KbUejqxLJZRoCyGr!U_KX delta 38 ucmaFN_MUBm1*Zu!1M~m?|NfgzbUejtpl4`cU}&gkXl86-vYCf5oCyFH#SCHq diff --git a/bgfx/shaders/dx9/chains/hlsl/fs_distortion.bin b/bgfx/shaders/dx9/chains/hlsl/fs_distortion.bin index d009657e88ce61d6d9660faf66edb7443ea6f0a2..445bad83f411743fccc190c50a4721c0db2fb946 100644 GIT binary patch delta 27 jcmZn{`z<=*0jC5P1M~m?|Nd8QeEE=((Qxy1CIb!tuT2ax delta 39 vcmew@+AcQX0jCNV1M~m?|Nhr(eEE=(*FewEz`)Q@&(O@+!esMlCIb!tN=*)x diff --git a/bgfx/shaders/dx9/chains/hlsl/fs_ntsc_decode.bin b/bgfx/shaders/dx9/chains/hlsl/fs_ntsc_decode.bin index ec66f2a38a9175993acbe39122056d1bf35f208e..5fd29e8f5a685cf7f00cb17a30f02bf1c41bbdf2 100644 GIT binary patch delta 29 lcmZ3iI9+jr2qR|$KLhjs|Ns6^-7L!(%*1H8xt3Xt7XYF(3M&8r delta 41 xcmbQPxL9$62qR|?KLhjs|Ns8a*euH!%*1P;XJ}wxXsBmsW^7@yxsX|n7XT<(42}Q* diff --git a/bgfx/shaders/dx9/chains/hlsl/fs_ntsc_encode.bin b/bgfx/shaders/dx9/chains/hlsl/fs_ntsc_encode.bin index ad313e3da1990d5a0d77b475c2768163b374f57b..0a27c1edceac1d93bf5906b13fc0db774729588c 100644 GIT binary patch delta 27 jcmaFBdxdwxN=^+n2Il|&|NT$dxT&9!(QvaL(1M~m?|Nh%g4E)JxI60iL2LO%I3h)2` delta 37 tcmcc4{Fr%y2j>h%2Il|&|NVEG82FRdK+n*?z|c_7(9GDvWU@D74*(hF4O0LB diff --git a/bgfx/shaders/dx9/chains/hlsl/fs_post.bin b/bgfx/shaders/dx9/chains/hlsl/fs_post.bin index 451ddc62b05a0d97453a5057ecf049340fdca221..df24551cb4e03e81b96c3cc68886938f2a17b4f5 100644 GIT binary patch delta 29 lcmdllu~}k+1QVwO7X$PE|Ns8~*{sO)o|(~bvn-nu8vv(h3W@*# delta 41 xcmdliv0q|?1QVwU7X$PE|Ns8~->k^=o|)G`&(OfY&`{6N%-F(Yvml!i8vr)p4DA2_ diff --git a/bgfx/shaders/dx9/chains/hlsl/fs_prescale.bin b/bgfx/shaders/dx9/chains/hlsl/fs_prescale.bin index ef8fa0730c3a16c8151d82c7394b35a81d1f1d40..f66f62415b57cc2b0cc6aac17077641c8f6aeeb4 100644 GIT binary patch delta 24 gcmey!_>^&i80Q%V2Il|&|NWPrC||{BIB}Ub0D$rePXGV_ delta 36 scmaFL_>pmf80QTJ2Il|&|NU2*C||{Epl4`cU}&gkXl86-GI5qS00NT?vH$=8 diff --git a/bgfx/shaders/dx9/chains/hlsl/vs_color.bin b/bgfx/shaders/dx9/chains/hlsl/vs_color.bin index ea94c83e62deecbb1897164a60e4cbd4bd062aac..84f72cdd03c9698cfda9df3f96577b20e04a0bd9 100644 GIT binary patch delta 24 gcmX@bw2x_mG^YY11M|QC|NbjXRH^HFAk5vL6w1M~m?|Nfg!w7$e>xLJxZnHK<^HFAk5vL6w1M~m?|Nfg!w7$e>xLJxZnHK<^&i80Q%V2Il|&|NWPrC||{BIB}Ub0D$rePXGV_ delta 36 scmaFL_>pmf80QTJ2Il|&|NU2*C||{Epl4`cU}&gkXl86-GI5qS00NT?vH$=8 diff --git a/bgfx/shaders/dx9/chains/misc/fs_bob-and-ghost-deinterlace.bin b/bgfx/shaders/dx9/chains/misc/fs_bob-and-ghost-deinterlace.bin index 8eebd096fefad8894a0296f0c9b878c0f5b9059d..3ec84814aa958e7adec8735a5fa22b11b0a920fa 100644 GIT binary patch delta 25 hcmbQh*}^$Nl{1Egf%*UcfB&^6>Mdh5-1u-kGXQue3P=C| delta 37 tcmZqSoWMCjl{15df%*UcfB$tS>Mi3n&@(hJFf`ONG&8m^*?4t5GXV0i466VD diff --git a/bgfx/shaders/dx9/chains/misc/fs_deposterize-pass0.bin b/bgfx/shaders/dx9/chains/misc/fs_deposterize-pass0.bin index de4521b235d5598f3143e8eea3ed89ade992bf23..4ef2fa92cda6cabb03de6457f723a9cde0c5d153 100644 GIT binary patch delta 26 icmZo<|H?MOiqnFbf%*UcfB#J;I-g@S+$_hK%me_4CJD~~ delta 38 ucmey$*2q4=iqnOef%*UcfB(%VI-lb;&@(hJFf`ONG&8m^*(}7E%me@p4-7H@ diff --git a/bgfx/shaders/dx9/chains/misc/fs_deposterize-pass1.bin b/bgfx/shaders/dx9/chains/misc/fs_deposterize-pass1.bin index acd2c9c61d77814c14f32f0ed7cbb863f20f757f..d1910084a74878932eac0ba98cd4674d237a22d2 100644 GIT binary patch delta 26 icmZo<|H?MOiqnFbf%*UcfB#J;I-g@S+$_hK%me_4CJD~~ delta 38 ucmey$*2q4=iqnOef%*UcfB(%VI-lb;&@(hJFf`ONG&8m^*(}7E%me@p4-7H@ diff --git a/bgfx/shaders/dx9/chains/misc/fs_saturation.bin b/bgfx/shaders/dx9/chains/misc/fs_saturation.bin index 5fe87a15fb52ece4b2651e3427458ce2934cf97c..245d75a425c59fa1559ebe439a939e9c0664c565 100644 GIT binary patch delta 24 gcmeyu^nz)ECZ`P}1M~m?|NiStG+M`KIPq;e0DO%KvH$=8 delta 36 scmaFC^o41HCZ`7@1M~m?|NiSwG+M`Npl4`cU}&gkXl86-GVx(M0Q{c~6#xJL diff --git a/bgfx/shaders/dx9/chains/misc/vs_blit.bin b/bgfx/shaders/dx9/chains/misc/vs_blit.bin index ea94c83e62deecbb1897164a60e4cbd4bd062aac..84f72cdd03c9698cfda9df3f96577b20e04a0bd9 100644 GIT binary patch delta 24 gcmX@bw2x_mG^YY11M|QC|NbjXRH^&i80Q%V2Il|&|NWPrC||{BIB}Ub0D$rePXGV_ delta 36 scmaFL_>pmf80QTJ2Il|&|NU2*C||{Epl4`cU}&gkXl86-GI5qS00NT?vH$=8 diff --git a/bgfx/shaders/dx9/chains/unfiltered/vs_blit.bin b/bgfx/shaders/dx9/chains/unfiltered/vs_blit.bin index ea94c83e62deecbb1897164a60e4cbd4bd062aac..84f72cdd03c9698cfda9df3f96577b20e04a0bd9 100644 GIT binary patch delta 24 gcmX@bw2x_mG^YY11M|QC|NbjXRH-1M~m?|NbjYl&|77&@(hJFf`ONG&8m^nK)}d0Pr*ng#Z8m diff --git a/bgfx/shaders/dx9/chains/warp/vs_dilation-horizontal-fast.bin b/bgfx/shaders/dx9/chains/warp/vs_dilation-horizontal-fast.bin index 7b02905e0fbde2d53cbf5f541f9a0891fb0f2c07..6443f74baa9632fd969afb965e77fa5d57265dbc 100644 GIT binary patch delta 24 gcmcb@e1ds`F6RtJ2IhbN|NYmQXts{gaN@_u0DaU8Hvj+t delta 36 scmX@Xe1&;}F6R diff --git a/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-2xbr-3d-pass2.bin b/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-2xbr-3d-pass2.bin index 63dd59378634cfd7222ee1aad8716e74cd1a7b0e..43b4cde7342be41d9aa5552d3012df9db1ce2d03 100644 GIT binary patch delta 27 jcmeB@{U diff --git a/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-4xbr-3d-pass3f.bin b/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-4xbr-3d-pass3f.bin index 63dd59378634cfd7222ee1aad8716e74cd1a7b0e..43b4cde7342be41d9aa5552d3012df9db1ce2d03 100644 GIT binary patch delta 27 jcmeB@{Uuv|DIG0_P152Il|&|NVE_n90Y;Xt=qB@i038qvi`A delta 39 vcmdljbX;gc0_PJB2Il|&|NVF0n90Y;YoKRnU|?vdXJ}?@VY0b`@i038E*uSl diff --git a/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-xbr-fast-pass2.bin b/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-xbr-fast-pass2.bin index 9df5faa4beb9a3276098fb4f490f8c08559d31a7..cd31c0e129e322f0567d55a388d4a26c745d2b2e 100644 GIT binary patch delta 27 jcmaDa_*ig40%rpU1M~m?|Ngsd%;aNaG~C?6n9U9Vq(ln6 delta 39 vcmaDX_+D^A0%s2g1M~m?|Ngsg%;aO_HPACOFfcUKGc+@{Fxgzen9U9VE&>f8 diff --git a/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-xbr-pass0.bin b/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-xbr-pass0.bin index 6df91a675423039e1e6d96349f356392a802eccf..5bdb3e128b0a0f148502ce53c831d2480cebc4a1 100644 GIT binary patch delta 26 icmbOz+A2E1kJE&Uf%*UcfB$VJhQDJp+#JMc&j|pAZVC1P delta 38 ucmZn_ohUlNkJEvRf%*UcfB)?#hQH%A&@(hJFf`ONG&8m^+3dz>&j|nv84Otf diff --git a/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-xbr-pass1.bin b/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-xbr-pass1.bin index 2613ba728237308df29caab9e6cd379e76018604..ddd1f714bf9611d5db97d8fba4e6792ada1dc41f 100644 GIT binary patch delta 27 jcmZ1_IZtvzF{cI(1M~m?|NaMVtZ`ywG~9fe@je#-m=g;W delta 39 vcmbOyxk_?EF{cR+1M~m?|Ne(;tZ`!GHPACOFfcUKGc+@{FxkAH@je#-9Q_S< diff --git a/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-xbr-pass2.bin b/bgfx/shaders/dx9/chains/xbr/super-xbr/fs_super-xbr-pass2.bin index 7fa43cddf5d52bdb90a83a3d04c1747f5f34119e..b70a8df3435985417b8a308709e257b21d020152 100644 GIT binary patch delta 26 icmaDVd{cOWA7=+A1M~m?|Nh%d41dRHxH*V%G6w*iM+-mz delta 38 ucmca9{8V^?ALkTK2Il|&|NXb082*meK+n*?z|c_7(9GDvWV0LNWDWo=h7F?t diff --git a/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_custom-jinc2-sharper.bin b/bgfx/shaders/dx9/chains/xbr/super-xbr/vs_custom-jinc2-sharper.bin index ea94c83e62deecbb1897164a60e4cbd4bd062aac..84f72cdd03c9698cfda9df3f96577b20e04a0bd9 100644 GIT binary patch delta 24 gcmX@bw2x_mG^YY11M|QC|NbjXRH1M|QC|NiStG+W1Lxbb5 delta 37 tcmaFE@`Gi9E~f_*1M|QC|NiSwG+W1Opl4`cU}&gkXl86-vhis0_B-&3S>5f%)J6fB(%Ux}4%Q&@(hJFf`ONG&8m^nat1l82|x947dOQ diff --git a/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2-fast.bin b/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2-fast.bin index de5213e137f9ec5027d8222e9ade7e7484b3addc..377bfbc3c2d91922472f6ff275398e335f7e8f7c 100644 GIT binary patch delta 25 hcmX@WvV~=WE+-2U1M|QC|NiStG+W1LxbdSuBLI4P3JU-L delta 37 tcmdnOa)4!mE~fw!1M|QC|NiSwG+W1Opl4`cU}&gkXl86-vhk@uBLMaQ3~m4b diff --git a/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2-noblend.bin b/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2-noblend.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2.bin b/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv2.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3-noblend.bin b/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3-noblend.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3.bin b/bgfx/shaders/dx9/chains/xbr/vs_xbr-lv3.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-sharp.bin index 74e32bffacc40d4512ddf849aa5f6ef447d2d349..24a27609a310bf7b73705163f1aecd9e3c8268aa 100644 GIT binary patch delta 27 jcmcbmc1~@AHK%|u1M~m?|Ne(>bcteQG~B$JalIe_oJk7e delta 39 vcmX@7c1vx7HK&X)1M~m?|Ncj9bctf*HPACOFfcUKGc+@{FxfnxalIe_B1a8H diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2-gamma.bin index c76166bf10a7ddfa033459d41285f0984f0b218d..30a4c55b65f345fa850cd24270bd53242b2ba0ad 100644 GIT binary patch delta 27 jcmeBD`=>g=opXy21M~m?|Nf_K44B5qXt?<^qqradscs8* delta 39 vcmeyT+NCzZo%4VY1M~m?|Ndug44B5qYoKRnU|?vdXJ}?@VY2x-qqradJ0=a< diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v2.bin index abd1066c35b454f8e582613c4225f35638af9d5f..c7cc2fc82a1a7aa7f71f6e88e8640a575c900334 100644 GIT binary patch delta 27 jcmbQF(xx)OopX;M1M~m?|Nf_K44B5qXt?<^qr3nBp56-* delta 39 vcmZounWQqoo%4hs1M~m?|Ndug44B5qYoKRnU|?vdXJ}?@VY2x-qr3nBDu@kr diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4-gamma.bin index 2676fe0cc094a5f46fd5c22015ce93438fa22b41..9e2550f57ecf6757faee953d7664348490135559 100644 GIT binary patch delta 27 jcmZ3aK23dsJExB@1M~m?|Na+k3^>NfXt-IKsa_BOncfPR delta 39 vcmbQHzDRw7J7NfYoKRnU|?vdXJ}?@VX|4Asa_BOB=`*b diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4.bin index 5eb65f9a32cba033777d5df386a96abe117a2f6c..a6c19ad3e8fd2aadf5dde3a813768f7ad8d63a30 100644 GIT binary patch delta 27 jcmcbld`x+QJ7NfXt-IKX+1vxrp^mY delta 39 vcmX@6d`WqNJ7NfYoKRnU|?vdXJ}?@VX|4AX+1vxI4}*b diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v4b.bin index b6a0e6ce5c3d0bace8e1dadc00503234b2df0845..225a9b5153a4527f424b5cefb8ed24593c9bbabb 100644 GIT binary patch delta 27 jcmdm_v`lG&JLeq%2Il|&|NSr87;ub{(Qvae6F)xyrb!CP delta 39 vcmZ3cv`J}#JLd}l2Il|&|NSrB7;ub{*FewEz`)Q@&(O@+!ep~J6F)xyIR_0a diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid-v5-gamma.bin index 71b03d4f663459795fc829ddfcc3630da5ac2c99..1502bb2e616c84b4f5fb7240edbfa754d0fdd251 100644 GIT binary patch delta 27 jcmdm|xk+<^J7NfXt-IKX|@mmqHYTg delta 39 vcmdm_xleO~J7NfYoKRnU|?vdXJ}?@VX|4AX|@mmF|-YF diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/fs_2xbr-hybrid.bin index 9ae18d96ba8ee3c6d07783ac32a9234af177d09b..88468d9d426af80693e2f058f26475e9eea4f596 100644 GIT binary patch delta 27 jcmcbleoTFWHD`w~1M~m?|Ne(>bcteQG~B$JQC$cCqbv%= delta 39 vcmX@6eo1|THRlvz2Il|&|NW2J=n}=qYoKRnU|?vdXJ}?@VX}EXqq-0PE+P#m diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-sharp.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2-gamma.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v2.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4-gamma.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v4b.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid-v5-gamma.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin b/bgfx/shaders/dx9/chains/xbr/xbr-hybrid/vs_2xbr-hybrid.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-a-pass0.bin index 2790a5c711c310342e373e69e4e750b39e200fa1..f166b9b72802398376484ae6a60c14b539ce6a10 100644 GIT binary patch delta 27 jcmcb?cZP3*CZ_^B1M~m?|NeV#G}2;ZG~ArY_?{I2l6eY5 delta 39 vcmX@ZcY|+&CZ`TN1M~m?|Ni@JG}2<^HPACOFfcUKGc+@{Fxec-_?{I25w{Gd diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass0.bin index 468f1445574b233deeadfd9a57239d0136222646..e25fe757422dd69ff8e8b30e322b04dd2680b7b1 100644 GIT binary patch delta 27 jcmcbhe?)&mAZLL%1M~m?|Ngsfj1ppGG~8Ut7%m0?p}Y!_ delta 39 vcmX@2e?fmjAZLv@1M~m?|NeVyj1pqxHPACOFfcUKGc+@{Fxi~T7%m0?Dk=>0 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-accuracy-pass1.bin index b310e4253adbba140f3c25fd2fb4ae9cc148cc9e..d65050a8c2df546d19fd608ab847574fa196c7a4 100644 GIT binary patch delta 27 jcmaDNenWi1QceSI2Il|&|NUREaa|n~qv2*t=G7bkt#Avq delta 39 vcmca1{zQDjQcfFg2Il|&|NURQaa|n~uYsPSfq|i+o}rnsg~?`J=G7bkLoN;& diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-b-pass0.bin index e214f70583294bef212b71dcc275cfa9f1b9a105..99e20dca4766d0ba1f49ebdbae80cc9f51f7512e 100644 GIT binary patch delta 27 jcmeyv|ABvkCg%}$2Il|&|NZygXr#r+Xt+6(aWWeKrW6X- delta 39 vcmeys|A&8qCg%lq2Il|&|NZydXr#r+YoKRnU|?vdXJ}?@VX`@vaWWeKFnSF- diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-c-pass0.bin index 1ebc1cbfe8d365fc3a43f233e7053a44382eeac4..d2fa174d4acceb7c1d6d38fde6978a7b8a5c7050 100644 GIT binary patch delta 27 jcmaDO@IYXKCZ`Dp1M~m?|NeV#G}2;ZG~ArY$jlA^mbwX> delta 39 vcmaDL@J3*QCZ_`j1M~m?|Ni@JG}2<^HPACOFfcUKGc+@{Fxec-$jlA^83YUd diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-d-pass0.bin index 4062e1231496b7b6a975f9677cd62573a08a3c2a..e8e5f7a63efcd85c949cb6ada36cf406a4c51900 100644 GIT binary patch delta 27 jcmX>jctCK1Cg&6m2Il|&|NZygXr#r+Xt+6(F_|3zn5+sN delta 39 vcmX>gct&u7Cg%bU2Il|&|NZydXr#r+YoKRnU|?vdXJ}?@VX`@vF_|3z9F7ct diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-noblend-pass1.bin index 955a0dee2af3e4aca9e14db26a0745b6f228fc9a..9be14713aacc0b9e422aff7ceeab9fde094d26f9 100644 GIT binary patch delta 27 jcmaFM_mFRbAEy921M~m?|Ne(=3=d*tG~B$6aXTvjoWTn3 delta 39 vcmaFJ_m*#hAEyjE1M~m?|Ncj83=d-DHPACOFfcUKGc+@{Fxk9{aXTvjBL@vq diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/fs_xbr-lv2-pass1.bin index bdc3067c871b9b16c49e48351c914d6773bee34d..3bb8f5e2797d7575c36b5438346d9f524d4847d5 100644 GIT binary patch delta 27 jcmaDYcwcZr313f diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-a-pass0.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass0.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-accuracy-pass1.bin index 1f32f0408f3d15600cf92aa3e72fd9bee73c71cd..883aef8092366669e4843f0235cd17839ea46771 100644 GIT binary patch delta 25 hcmbQj(!nx8m-7ZA1M|QC|NiStG+W1LxbdShBLIN93R(aF delta 37 tcmeBRnZhzbm-7iD1M|QC|NiSwG+W1Opl4`cU}&gkXl86-vhk@hBLD&t47~sV diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-b-pass0.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-c-pass0.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-d-pass0.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-noblend-pass1.bin index 1f32f0408f3d15600cf92aa3e72fd9bee73c71cd..883aef8092366669e4843f0235cd17839ea46771 100644 GIT binary patch delta 25 hcmbQj(!nx8m-7ZA1M|QC|NiStG+W1LxbdShBLIN93R(aF delta 37 tcmeBRnZhzbm-7iD1M|QC|NiSwG+W1Opl4`cU}&gkXl86-vhk@hBLD&t47~sV diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv2-multipass/vs_xbr-lv2-pass1.bin index 1f32f0408f3d15600cf92aa3e72fd9bee73c71cd..883aef8092366669e4843f0235cd17839ea46771 100644 GIT binary patch delta 25 hcmbQj(!nx8m-7ZA1M|QC|NiStG+W1LxbdShBLIN93R(aF delta 37 tcmeBRnZhzbm-7iD1M|QC|NiSwG+W1Opl4`cU}&gkXl86-vhk@hBLD&t47~sV diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass0.bin index 5ab510f69fcc83426b97c51e06bc37d06e1c2a07..86d2d2370ab4e29c926a262348049edbe052aa28 100644 GIT binary patch delta 27 jcmaE$bVX@`CZ~oV1M~m?|Ne(=Gzwy5G~7Iq@jO2Oo2d%Y delta 39 vcmcbj^gwBXCZ~xY1M~m?|Ncj8GzwzmHPACOFfcUKGc+@{FxlM7c%B~sAh!)Q diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/fs_xbr-lv3-pass1.bin index b1322b52e47045f53eb4d6dfdf634e2aa146930c..ea423d79d5f668ef43e16e0411f97f3dedd2ae1b 100644 GIT binary patch delta 27 jcmZ1_H&1TDYfb|`2Il|&|NXzS@k<^vqv7U!mfc(cuS5(~ delta 39 vcmbOyw@PlpYfc+J2Il|&|NXze@k<^vuYsPSfq|i+o}rnsg~{e*mfc(cNeT|P diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass0.bin index 73a4c5231fd00f9f27797547fefe97ff533f32fb..54fe076a487c665d4424e43b028df4a60350a4a6 100644 GIT binary patch delta 25 hcmeBSYhat8%Xxu`f%)J6fB$tRnyq6r-1t$N2>^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-lv3-multipass/vs_xbr-lv3-pass1.bin index 73046f14321e5af84bbd9ca9e67403db9a0785f2..194216a1bd49530ecc799d55141539878d8fb23a 100644 GIT binary patch delta 26 icmcb^a)D)nBPS0N1M|QC|Nfg!^t!}oxLK3Ym=OSq)(O7= delta 38 ucmcb>a))JtBc}ut1M|QC|NdJ{^t!}rpl4`cU}&gkXl86-vRRhVm=ORE$qXU@ diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass1.bin index 845601063f630a5403cddda5918593a3eb6b2cda..906f9bba449a063978d2cdbecc15c919b111eccc 100644 GIT binary patch delta 27 jcmexp^3-HP5T}3?1M~m?|Nb{@jQ+>SXt+6ziCY2ytaJ-a delta 39 vcmaEA^3h~M5T}e31M~m?|Nb{`jQ+>SYoKRnU|?vdXJ}?@VX`@jiCY2yLIMr2 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass2.bin index f571926e7128f65f97fe622c2ec3cdd955e5cd33..b4bf9e05f72d086ffd7ab2de8bc842fa5e759f97 100644 GIT binary patch delta 27 jcmca3b3tZ;CnpOZ1M~m?|Ncj842ol9G~B$GaXt?Kn}G`7 delta 39 vcmca0b4O-^C#L`(1M~m?|NcjB42omqHPACOFfcUKGc+@{FxkA3aXt?KA%6`* diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/fs_xbr-mlv4-pass3.bin index b63c5230085cc6d0e5a71860d9f1c16232ef62c8..5ff71edeabbf4c486d48e483ece75702f9870e48 100644 GIT binary patch delta 29 lcmdlXy+(S2A|q!94+Hc6|Ns6=Zq{N^cx3P1n= delta 37 tcmZo*>tUOq%Xx>1f%)J6fB*F-nyuqC&@(hJFf`ONG&8m^+4xkN2>}0X45I)5 diff --git a/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin b/bgfx/shaders/dx9/chains/xbr/xbr-mlv4-multipass/vs_xbr-mlv4-pass3.bin index 2ca8ce885286c6467fc885910e72aec45cf58151..f9cb26d2be0e2244a83abe2fcf62d7348271d750 100644 GIT binary patch delta 24 gcmcb@e1ds`F6RtJ2IhbN|NYmQXts{gaN@_u0DaU8Hvj+t delta 36 scmX@Xe1&;}F6R^&i80Q%V2Il|&|NWPrC||{BIB}Ub0D$rePXGV_ delta 36 scmaFL_>pmf80QTJ2Il|&|NU2*C||{Epl4`cU}&gkXl86-GI5qS00NT?vH$=8 diff --git a/bgfx/shaders/dx9/fs_screen.bin b/bgfx/shaders/dx9/fs_screen.bin index ef8fa0730c3a16c8151d82c7394b35a81d1f1d40..f66f62415b57cc2b0cc6aac17077641c8f6aeeb4 100644 GIT binary patch delta 24 gcmey!_>^&i80Q%V2Il|&|NWPrC||{BIB}Ub0D$rePXGV_ delta 36 scmaFL_>pmf80QTJ2Il|&|NU2*C||{Epl4`cU}&gkXl86-GI5qS00NT?vH$=8 diff --git a/bgfx/shaders/dx9/vs_gui.bin b/bgfx/shaders/dx9/vs_gui.bin index ea94c83e62deecbb1897164a60e4cbd4bd062aac..84f72cdd03c9698cfda9df3f96577b20e04a0bd9 100644 GIT binary patch delta 24 gcmX@bw2x_mG^YY11M|QC|NbjXRH Date: Sat, 13 Aug 2016 20:30:40 +0200 Subject: [PATCH 032/116] - already fixed scanline issue also applied for swapped orientation (nw) --- bgfx/shaders/dx11/chains/hlsl/fs_post.bin | Bin 3550 -> 3630 bytes bgfx/shaders/dx9/chains/hlsl/fs_post.bin | Bin 3123 -> 3139 bytes bgfx/shaders/gles/chains/hlsl/fs_post.bin | Bin 5017 -> 5366 bytes bgfx/shaders/glsl/chains/hlsl/fs_post.bin | Bin 4769 -> 5106 bytes bgfx/shaders/metal/chains/hlsl/fs_post.bin | Bin 5468 -> 5833 bytes hlsl/bloom.fx | 11 ++++------- hlsl/post.fx | 10 +++++++--- .../bgfx/shaders/chains/hlsl/fs_post.sc | 10 +++++++--- 8 files changed, 18 insertions(+), 13 deletions(-) diff --git a/bgfx/shaders/dx11/chains/hlsl/fs_post.bin b/bgfx/shaders/dx11/chains/hlsl/fs_post.bin index 927c16d8057779de7c333808351e27d1242fc302..b22fb024fb8a4e8f7fde1df74a571354d02f570b 100644 GIT binary patch delta 250 zcmca7y-sF>1e1&ak4uD;^P9MoAB(~S`g-p!yzp7RDVdRhfkA+0vI)~ZP7`hh1_vPb z?Bw4}#f&VQ^O>#L>J1qfIFuL!7?^+(j38Mc;A&6+(@=u*5LBM61tJbI6PYawGy|q) z86U(fm^{c_J_ZJEBcK_~KsJ*DkYHf2hhm`hK;Q2{RuANJDlrH!Faa4-4GKV#fdQlknJvq}zyVi-rWT}+4=C>h6=!q+ b3NSF(!}NpXf#$Kp^lQQNL+H(wTw9p|p)?y= diff --git a/bgfx/shaders/dx9/chains/hlsl/fs_post.bin b/bgfx/shaders/dx9/chains/hlsl/fs_post.bin index df24551cb4e03e81b96c3cc68886938f2a17b4f5..8cc13a336da4d94fa6f2be0f02aa207536bc6f98 100644 GIT binary patch delta 1187 zcmY*YOODe(5Up-Iu}Q)V^8q`v0>Ma(U;!KfEN)=I4G^brdC6`hU!b$KgoHHA3D~fM zDY1bvcYjN|dhGRqws3>RgpS%5SB2&#$)rOZxe#h!=6X5eY7yH(JOLK8mCW zRYZ0oeJe7yGYoN!ygr~fagyN7`r(os9&rK=5Tv{VuD<(~6~!{%Iz?5mv&Xsao@Cp` zvN!rbs*p&9s!EA@G0YowNf!_9j{s0aSL(Ik^G)H)bFS^n)IP{w;z;4rA={A@~?) zs2(t|amV%&$@IQRAci3;Yf{uuMNmUk=I}nnm#t1UyR-qoi(`O`DTySf5PuvC9Zl&8 z1T6N5YsB>wr-*yReYn5~k-NjTS(D%sM^YfyOQa_dPnJ_yb|n2C7beZ5ySyb*o$|Hgx*))FyY?3qf~C4Lv{ zLkYVW11L;!e!m6B7Io*bP4bH7lRJ+03~l>&w{}}BFRT$eNs&D2YG%q|ez=>NvUZu% zy;;5dV9H)I00Jd^@sK$S>xkrwTQNGB#YVPwPqAs9-Sz6C;mZJ@()9}*xHxwF@D7LQ z5#sqYOy4HMUCi(HTI9t;!~X2QATur7Z+09LD9**RiL`6h=iSfsv!f-J{5ww0l9%1} S`u%Cne}}Yu*?cGCi0B`lLel2| delta 1219 zcmY*Yv5wO~6r5c%-++jg%7T(V@kXMd;w19{>(&+0eF8r~aeM%h zo0Cq|*M*sVHslIRJ8$2-nfLbjM|o9#FTE?Tw*E_AJHP`)*r1OKAaig5ID|P6C&VCT zPT*bq2;@xXJzAjKGjIPY@$*pJyVqUCnqA^JWaL!glp3e_9Z$&dtV`iKfy_jPv!`G+ zBzY!PLy>|-y1mCPWc=tP_n3r-xQ-sz32@=jtYdF76Vsera zH$Y_aB|G*L5;HoM&{$-`LOEk&z6x)e_tVWUdUEtyBS(HfjtyeTzWT(I zJJlek&1x3X#UloDOnJUbMIN)U7ZjhsX}V!e0mGiSBCZCU6L-X2oH3uX3L4DQVKBmc z?mf*$nbisbP%N$0uygjznzX}=08@5#X8}%Q$C4WjH^O%Ga&&!ar}?F zp_c921G}r~IA<}0C;yVISV?S-QwO1B#}d9D>tac>oDNG^-tqmGHMZnk@KU=dQ==g@ z;L&`VKl?C-KpPz5AnU@EXT|t&)zz2NSuY=tIVx+i`ajjDI92m&{<;PqRalQ=^PBRF zR#;o6nd|>Mht0|%PvbZvR$IcVDgE)RIUnDd_AKRbky>q`{CP}YQsj_?MsZ8%S+Gw@ oS@U&qaaNGLOIu=jMRT)w*DQ+dbFpF8XZjJa=Z~14{%|1r3x!SHRR910 diff --git a/bgfx/shaders/gles/chains/hlsl/fs_post.bin b/bgfx/shaders/gles/chains/hlsl/fs_post.bin index f7039993aaca88f8628c493f3cd0235e7481d3b7..a48adbecf4f0b9d4df6949dd56c587451f55e4aa 100644 GIT binary patch delta 334 zcmbQK{!Md(1QXLuq0LfE%Dj`8a0#+1RC6gPO!gH}o@~M|98jTPW2>N18eg1WT9lj` zpOTqdtXH9+rC_9IpsA?|R;vI7CAkGfQ!MY9j9k>y?%_mp#D@+dJ5Joc5 z9B4Z}6U`^@+cia&s`6PF^9PFj<3BLeS7u!B)XQ&%l~X0Ssy< zf8-ONY$n(@IhUW4vn02mEU_rw&}{NG!6SlZ3R((q5ltNhjmaN{gg5UK+Ri9o4$%*j eHJ^MzSZeZo5ot#A$-71LdBD=O)?Bq*TnqqHn<@|h diff --git a/bgfx/shaders/glsl/chains/hlsl/fs_post.bin b/bgfx/shaders/glsl/chains/hlsl/fs_post.bin index 49f23896de73cf424887ab35a325b9a5177b184c..2bfa4c7145fe06a98ecd82e9a07f7a76595a6a86 100644 GIT binary patch delta 398 zcmZ3e`bm9*1QXL$!Oc=kW;|lW<%tFH6_t7w3U&$xdIp-B3e{W+3X>D~Ws?;YGSd_^ zG)m(OOA}M#Q!;alfvRk56@Vhe`K3k4sW34u1tXA7h*kwCD9J4-ODu{vG*bZTFwiqq z&{se)Nz)o+PXULxwSoe&TA(99G7wOUV8Yax0?mW5%_c8kmzz-B2XGoHykd|Z>O`86l|bFxq77hs*diC=c|3U&z)o7q6mV6v>h z3L!IVE(I_s$t@^LEQ&WYn|xj12(OufmI7R4^9sR}i~{Bml`v8B$&JFMjOLTK3+wZM MrE0CYYPq-=0MuC|$N&HU diff --git a/bgfx/shaders/metal/chains/hlsl/fs_post.bin b/bgfx/shaders/metal/chains/hlsl/fs_post.bin index ad8382250a90fea8fd6045f307658949879ef60b..ab0fc156fd599c88072de54e1dd92c1a0912c1c7 100644 GIT binary patch delta 422 zcmcbkbyAndE!cyFvH8W!~)R+U+z}Oa(4cR3pFBjlrwFH}%$nVFEFwGKZk@{q14q+r4EJ?J%a`J!v zt-?ldCqZpCGMIc^plR|ZVX?{af@W$)FlSc88yNv@(10rg1_hiw`6IW? 0.0 + ? u_quad_dims.x <= u_source_dims.x * 2.0 + ? 0.5 / u_quad_dims.x // uncenter scanlines if the quad is less than twice the size of the source + : 0.0 + : u_quad_dims.y <= u_source_dims.y * 2.0 + ? 0.5 / u_quad_dims.y // uncenter scanlines if the quad is less than twice the size of the source + : 0.0; ScanCoord *= u_source_dims.y * u_scanline_scale.x * 3.1415927; // PI From bc5875df8403cd3748d604b2630f4fad235c6cec Mon Sep 17 00:00:00 2001 From: Curt Coder Date: Sat, 13 Aug 2016 21:40:03 +0300 Subject: [PATCH 033/116] victor9k: Implemented display brightness control. Fixed keyboard line Y12. [Curt Coder] --- src/mame/drivers/victor9k.cpp | 64 ++++++++++++++++++++++++++++------ src/mame/includes/victor9k.h | 3 ++ src/mame/machine/victor9kb.cpp | 4 +-- 3 files changed, 57 insertions(+), 14 deletions(-) diff --git a/src/mame/drivers/victor9k.cpp b/src/mame/drivers/victor9k.cpp index 46274813740..92407d21c33 100644 --- a/src/mame/drivers/victor9k.cpp +++ b/src/mame/drivers/victor9k.cpp @@ -10,15 +10,15 @@ TODO: + - contrast + - MC6852 + - codec sound - expansion bus - Z80 card - Winchester DMA card (Xebec S1410 + Tandon TM502/TM603SE) - RAM cards - clock cards - floppy 8048 - - brightness/contrast - - MC6852 - - codec sound */ @@ -95,7 +95,6 @@ MC6845_UPDATE_ROW( victor9k_state::crtc_update_row ) int hires = BIT(ma, 13); int dot_addr = BIT(ma, 12); int width = hires ? 16 : 10; - if (hires) x_count = 0x32; if (m_hires != hires) { @@ -146,8 +145,14 @@ MC6845_UPDATE_ROW( victor9k_state::crtc_update_row ) break; } - int color = palette[pixel && de]; - if (!lowint && color) color = 2; + int color = 0; + + if (pixel && de) + { + int pen = 1 + m_brt; + if (!lowint) pen = 9; + color = palette[pen]; + } bitmap.pix32(vbp + y, x++) = color; } @@ -204,6 +209,14 @@ WRITE_LINE_MEMBER( victor9k_state::ssda_irq_w ) } +WRITE_LINE_MEMBER( victor9k_state::ssda_sm_dtr_w ) +{ + m_ssda->cts_w(state); + m_ssda->dcd_w(!state); + //m_cvsd->enc_dec_w(!state); +} + + WRITE8_MEMBER( victor9k_state::via1_pa_w ) { /* @@ -340,6 +353,8 @@ WRITE8_MEMBER( victor9k_state::via2_pb_w ) // contrast m_cont = data >> 5; + + if (LOG) logerror("BRT %u CONT %u\n", m_brt, m_cont); } WRITE_LINE_MEMBER( victor9k_state::via2_irq_w ) @@ -393,8 +408,9 @@ WRITE_LINE_MEMBER( victor9k_state::write_rib ) WRITE8_MEMBER( victor9k_state::via3_pb_w ) { // codec clock output - m_ssda->rx_clk_w(BIT(data, 7)); - m_ssda->tx_clk_w(BIT(data, 7)); + m_ssda->rx_clk_w(!BIT(data, 7)); + m_ssda->tx_clk_w(!BIT(data, 7)); + m_cvsd->clock_w(!BIT(data, 7)); } WRITE_LINE_MEMBER( victor9k_state::via3_irq_w ) @@ -440,6 +456,30 @@ WRITE_LINE_MEMBER( victor9k_state::fdc_irq_w ) // MACHINE INITIALIZATION //************************************************************************** +PALETTE_INIT_MEMBER(victor9k_state, victor9k) +{ + palette.set_pen_color(0, rgb_t(0x00, 0x00, 0x00)); + + // BRT0 82K + // BRT1 39K + // BRT2 20K + // 12V 220K pullup + palette.set_pen_color(1, rgb_t(0x00, 0x10, 0x00)); + palette.set_pen_color(2, rgb_t(0x00, 0x20, 0x00)); + palette.set_pen_color(3, rgb_t(0x00, 0x40, 0x00)); + palette.set_pen_color(4, rgb_t(0x00, 0x60, 0x00)); + palette.set_pen_color(5, rgb_t(0x00, 0x80, 0x00)); + palette.set_pen_color(6, rgb_t(0x00, 0xa0, 0x00)); + palette.set_pen_color(7, rgb_t(0x00, 0xc0, 0x00)); + palette.set_pen_color(8, rgb_t(0x00, 0xff, 0x00)); + + // CONT0 620R + // CONT1 332R + // CONT2 162R + // 12V 110R pullup + palette.set_pen_color(9, rgb_t(0xff, 0x00, 0x00)); +} + void victor9k_state::machine_start() { // state saving @@ -498,8 +538,8 @@ static MACHINE_CONFIG_START( victor9k, victor9k_state ) MCFG_SCREEN_UPDATE_DEVICE(HD46505S_TAG, hd6845_device, screen_update) MCFG_SCREEN_SIZE(640, 480) MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) - - MCFG_PALETTE_ADD_MONOCHROME_HIGHLIGHT("palette") + MCFG_PALETTE_ADD("palette", 16) + MCFG_PALETTE_INIT_OWNER(victor9k_state, victor9k) MCFG_MC6845_ADD(HD46505S_TAG, HD6845, SCREEN_TAG, XTAL_30MHz/10) // HD6845 == HD46505S MCFG_MC6845_SHOW_BORDER_AREA(true) @@ -509,7 +549,8 @@ static MACHINE_CONFIG_START( victor9k, victor9k_state ) // sound hardware MCFG_SPEAKER_STANDARD_MONO("mono") - MCFG_SOUND_ADD(HC55516_TAG, HC55516, 100000) + MCFG_SOUND_ADD(HC55516_TAG, HC55516, 0) + //MCFG_HC55516_DIG_OUT_CB(DEVWRITELINE(MC6852_TAG, mc6852_device, rx_w)) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) // devices @@ -544,6 +585,7 @@ static MACHINE_CONFIG_START( victor9k, victor9k_state ) MCFG_DEVICE_ADD(MC6852_TAG, MC6852, XTAL_30MHz/30) MCFG_MC6852_TX_DATA_CALLBACK(DEVWRITELINE(HC55516_TAG, hc55516_device, digit_w)) + MCFG_MC6852_SM_DTR_CALLBACK(WRITELINE(victor9k_state, ssda_sm_dtr_w)) MCFG_MC6852_IRQ_CALLBACK(WRITELINE(victor9k_state, ssda_irq_w)) MCFG_DEVICE_ADD(M6522_1_TAG, VIA6522, XTAL_30MHz/30) diff --git a/src/mame/includes/victor9k.h b/src/mame/includes/victor9k.h index ad2ea141464..c9c4271ead2 100644 --- a/src/mame/includes/victor9k.h +++ b/src/mame/includes/victor9k.h @@ -125,6 +125,7 @@ public: DECLARE_WRITE_LINE_MEMBER( fdc_irq_w ); DECLARE_WRITE_LINE_MEMBER( ssda_irq_w ); + DECLARE_WRITE_LINE_MEMBER( ssda_sm_dtr_w ); DECLARE_WRITE_LINE_MEMBER( kbrdy_w ); DECLARE_WRITE_LINE_MEMBER( kbdata_w ); @@ -135,6 +136,8 @@ public: DECLARE_WRITE_LINE_MEMBER( mux_serial_b_w ); DECLARE_WRITE_LINE_MEMBER( mux_serial_a_w ); + DECLARE_PALETTE_INIT( victor9k ); + // video state int m_brt; int m_cont; diff --git a/src/mame/machine/victor9kb.cpp b/src/mame/machine/victor9kb.cpp index ec0eaa4229e..4b0d1778595 100644 --- a/src/mame/machine/victor9kb.cpp +++ b/src/mame/machine/victor9kb.cpp @@ -687,11 +687,9 @@ WRITE8_MEMBER( victor_9000_keyboard_t::kb_p2_w ) if (!BIT(data, 0)) { m_y = m_p1 & 0x0f; + m_y12 = BIT(data, 2); } - // keyboard row 12 - m_y12 = BIT(data, 2); - // keyboard ready m_kbrdy_cb(BIT(data, 1)); From 5934df9a12108f7a2cfd63e7d4d83c65c6ae29ed Mon Sep 17 00:00:00 2001 From: hap Date: Sat, 13 Aug 2016 22:09:21 +0200 Subject: [PATCH 034/116] New working machine added --------------- Select-A-Game: Baseball 4 Select-A-Game: Pinball New NOT_WORKING machine added -------------- Select-A-Game: Space Invader 2 --- src/mame/drivers/hh_hmcs40.cpp | 172 ++++++++++++++++++++++++++++++++- src/mame/mame.lst | 3 + 2 files changed, 172 insertions(+), 3 deletions(-) diff --git a/src/mame/drivers/hh_hmcs40.cpp b/src/mame/drivers/hh_hmcs40.cpp index 45e3f433897..beadd3ededd 100644 --- a/src/mame/drivers/hh_hmcs40.cpp +++ b/src/mame/drivers/hh_hmcs40.cpp @@ -19,9 +19,9 @@ @04 HD38800A 1980, Gakken Heiankyo Alien @25 HD38800A 1981, Coleco Alien Attack @27 HD38800A 1981, Bandai Packri Monster - *31 HD38800A 1981, Entex Select-a-Game cartridge: Space Invader 2 (have dump) - *37 HD38800A 1981, Entex Select-a-Game cartridge: Baseball 4 (have dump) - *38 HD38800A 1981, Entex Select-a-Game cartridge: Pinball (have dump) + @31 HD38800A 1981, Entex Select-a-Game cartridge: Space Invader 2 + @37 HD38800A 1981, Entex Select-a-Game cartridge: Baseball 4 + @38 HD38800A 1981, Entex Select-a-Game cartridge: Pinball *41 HD38800A 1982, Gakken Puck Monster *51 HD38800A 1981, Actronics(Hanzawa) Twinvader (larger white version) @70 HD38800A 1982, Coleco Galaxian @@ -147,6 +147,7 @@ public: TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick); void display_update(); void set_display_size(int maxx, int maxy); + void set_display_segmask(UINT32 digits, UINT32 mask); void display_matrix(int maxx, int maxy, UINT64 setx, UINT32 sety, bool update = true); protected: @@ -276,6 +277,17 @@ void hh_hmcs40_state::set_display_size(int maxx, int maxy) m_display_maxy = maxy; } +void hh_hmcs40_state::set_display_segmask(UINT32 digits, UINT32 mask) +{ + // set a segment mask per selected digit, but leave unselected ones alone + for (int i = 0; i < 0x20; i++) + { + if (digits & 1) + m_display_segmask[i] = mask; + digits >>= 1; + } +} + void hh_hmcs40_state::display_matrix(int maxx, int maxy, UINT64 setx, UINT32 sety, bool update) { set_display_size(maxx, maxy); @@ -2503,6 +2515,136 @@ MACHINE_CONFIG_END +/*************************************************************************** + + Entex Select-A-Game (HMCS40 MCU cartridges) + * see gamelist for cartridge info + * cyan/red VFD display Futaba DM-16Z + cyan VFD 9-digit panel Futaba 9-ST-11A 1F + + The console is the peripheral, the heart of the system is the cartridge. + Cartridges with a HMCS40 MCU are implemented in this driver. + + MAME external artwork is recommended, needed for per-game VFD overlays. + +***************************************************************************/ + +class sag_state : public hh_hmcs40_state +{ +public: + sag_state(const machine_config &mconfig, device_type type, const char *tag) + : hh_hmcs40_state(mconfig, type, tag) + { } + + void prepare_display(); + DECLARE_WRITE8_MEMBER(plate_w); + DECLARE_WRITE16_MEMBER(grid_w); + DECLARE_READ16_MEMBER(input_r); +}; + +// handlers + +void sag_state::prepare_display() +{ + // grid 0-7 are the 'pixels' + for (int y = 0; y < 8; y++) + m_display_state[y] = (m_grid >> y & 1) ? m_plate : 0; + + // grid 8-11 are 7segs + set_display_segmask(0xf00, 0x7f); + UINT8 seg = BITSWAP8(m_plate,3,4,5,6,7,8,9,10); + for (int y = 8; y < 12; y++) + m_display_state[y] = (m_grid >> y & 1) ? seg : 0; + + set_display_size(14, 12); + display_update(); +} + +WRITE8_MEMBER(sag_state::plate_w) +{ + // R0x-R3x: vfd matrix plate + int shift = offset * 4; + m_plate = (m_plate & ~(0xf << shift)) | (data << shift); + prepare_display(); +} + +WRITE16_MEMBER(sag_state::grid_w) +{ + // D0: speaker out + m_speaker->level_w(data & 1); + + // D2-D7: input mux + m_inp_mux = data >> 2 & 0x3f; + + // D1-D12: vfd matrix grid + m_grid = data >> 1 & 0xfff; + prepare_display(); +} + +READ16_MEMBER(sag_state::input_r) +{ + // D13-D15: multiplexed inputs + return read_inputs(6) << 13; +} + + +// config + +static INPUT_PORTS_START( sag ) + PORT_START("IN.0") // D2 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY PORT_NAME("P1 Button 1") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_16WAY PORT_NAME("P2 Button 3") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.1") // D3 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY PORT_NAME("P1 Button 2") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_16WAY PORT_NAME("P2 Button 4") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.2") // D4 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_16WAY PORT_NAME("P1 Button 3") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_16WAY PORT_NAME("P2 Button 1") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.3") // D5 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY PORT_NAME("P1 Button 4") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL PORT_16WAY PORT_NAME("P2 Button 2") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_START("IN.4") // D6 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P1 Button 5") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_COCKTAIL PORT_NAME("P2 Button 5") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("P1 Button 7") + + PORT_START("IN.5") // D7 + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Button 6") + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Button 6") + PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Button 7") +INPUT_PORTS_END + +static MACHINE_CONFIG_START( sag, sag_state ) + + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu", HD38800, 450000) // approximation + MCFG_HMCS40_WRITE_R_CB(0, WRITE8(sag_state, plate_w)) + MCFG_HMCS40_WRITE_R_CB(1, WRITE8(sag_state, plate_w)) + MCFG_HMCS40_WRITE_R_CB(2, WRITE8(sag_state, plate_w)) + MCFG_HMCS40_WRITE_R_CB(3, WRITE8(sag_state, plate_w)) + MCFG_HMCS40_WRITE_D_CB(WRITE16(sag_state, grid_w)) + MCFG_HMCS40_READ_D_CB(READ16(sag_state, input_r)) + + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1)) + MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test) + + /* sound hardware */ + MCFG_SPEAKER_STANDARD_MONO("mono") + MCFG_SOUND_ADD("speaker", SPEAKER_SOUND, 0) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) +MACHINE_CONFIG_END + + + + + /*************************************************************************** Entex Galaxian 2 (manufactured in Japan) @@ -4145,6 +4287,27 @@ ROM_START( cmspacmn ) ROM_END +ROM_START( sag_si2 ) + ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD( "inv2_hd38800a31", 0x0000, 0x1000, BAD_DUMP CRC(29c8c100) SHA1(41cd413065659c6d7d5b2408de2ca6d51c49629a) ) + ROM_CONTINUE( 0x1e80, 0x0100 ) +ROM_END + + +ROM_START( sag_bb4 ) + ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD( "b-b5_hd38800a37", 0x0000, 0x1000, CRC(64852bd5) SHA1(fb1c24ca43934ceb6fc35ac7c35b71e6e843dbc5) ) + ROM_CONTINUE( 0x1e80, 0x0100 ) +ROM_END + + +ROM_START( sag_pb ) + ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 ) + ROM_LOAD( "pinb_hd38800a38", 0x0000, 0x1000, CRC(6e53a56b) SHA1(13f057eab2e4cfbb3ef1247a041abff15ae727c9) ) + ROM_CONTINUE( 0x1e80, 0x0100 ) +ROM_END + + ROM_START( egalaxn2 ) ROM_REGION( 0x2000, "maincpu", ROMREGION_ERASE00 ) ROM_LOAD( "hd38820a13", 0x0000, 0x1000, CRC(112b721b) SHA1(4a185bc57ea03fe64f61f7db4da37b16eeb0cb54) ) @@ -4304,6 +4467,9 @@ CONS( 1981, cpacman, 0, 0, cpacman, cpacman, driver_device, 0, "Colec CONS( 1981, cpacmanr1, cpacman, 0, cpacman, cpacman, driver_device, 0, "Coleco", "Pac-Man (Coleco, Rev. 28)", MACHINE_SUPPORTS_SAVE ) CONS( 1983, cmspacmn, 0, 0, cmspacmn, cmspacmn, driver_device, 0, "Coleco", "Ms. Pac-Man (Coleco)", MACHINE_SUPPORTS_SAVE ) +CONS( 1981, sag_si2, 0, 0, sag, sag, driver_device, 0, "Entex", "Select-A-Game: Space Invader 2", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK | MACHINE_NOT_WORKING ) // suspect bad dump +CONS( 1981, sag_bb4, 0, 0, sag, sag, driver_device, 0, "Entex", "Select-A-Game: Baseball 4", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) +CONS( 1981, sag_pb, 0, 0, sag, sag, driver_device, 0, "Entex", "Select-A-Game: Pinball", MACHINE_SUPPORTS_SAVE | MACHINE_REQUIRES_ARTWORK ) CONS( 1981, egalaxn2, 0, 0, egalaxn2, egalaxn2, driver_device, 0, "Entex", "Galaxian 2 (Entex)", MACHINE_SUPPORTS_SAVE ) CONS( 1981, epacman2, 0, 0, epacman2, epacman2, driver_device, 0, "Entex", "Pac Man 2 (Entex, cyan Pacman)", MACHINE_SUPPORTS_SAVE ) CONS( 1981, epacman2r, epacman2, 0, epacman2, epacman2, driver_device, 0, "Entex", "Pac Man 2 (Entex, red Pacman)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 32e3aa6f14e..39d7101fcb8 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -14042,6 +14042,9 @@ mwcbaseb // Mattel packmon // Bandai pairmtch // Bandai pbqbert // Parker Brothers +sag_si2 // Entex +sag_bb4 // Entex +sag_pb // Entex tmtron // Tomy vinvader // VTech zackman // Bandai From ce01837a8bef3d34da09d3be5d6f5234bac82412 Mon Sep 17 00:00:00 2001 From: cracyc Date: Sat, 13 Aug 2016 16:19:18 -0500 Subject: [PATCH 035/116] new not working --- Tandy/Memorex Video Information System MD-2500 luaengine: doh! (lay groundwork for a WIP too) (nw) --- scripts/target/mame/mess.lua | 1 + src/frontend/mame/luaengine.cpp | 17 ++-- src/frontend/mame/luaengine.h | 2 +- src/mame/drivers/vis.cpp | 152 ++++++++++++++++++++++++++++++++ src/mame/mame.lst | 3 + src/mame/mess.flt | 1 + 6 files changed, 169 insertions(+), 7 deletions(-) create mode 100644 src/mame/drivers/vis.cpp diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 26c16be3e26..799f3f1cb68 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -3035,6 +3035,7 @@ files { MAME_DIR .. "src/mame/includes/tandy2k.h", MAME_DIR .. "src/mame/machine/tandy2kb.cpp", MAME_DIR .. "src/mame/machine/tandy2kb.h", + MAME_DIR .. "src/mame/drivers/vis.cpp", } createMESSProjects(_target, _subtarget, "ultimachine") diff --git a/src/frontend/mame/luaengine.cpp b/src/frontend/mame/luaengine.cpp index 0ccda19620e..c4ff85dee41 100644 --- a/src/frontend/mame/luaengine.cpp +++ b/src/frontend/mame/luaengine.cpp @@ -1252,7 +1252,7 @@ int lua_engine::lua_memory_region::l_region_write(lua_State *L) if(region.endianness() == ENDIANNESS_BIG) region.base()[(BYTE8_XOR_BE(addr) & lowmask) | (addr & ~lowmask)] = val & 0xff; else - region.base()[(BYTE8_XOR_BE(addr) & lowmask) | (addr & ~lowmask)] = val & 0xff; + region.base()[(BYTE8_XOR_LE(addr) & lowmask) | (addr & ~lowmask)] = val & 0xff; val >>= 8; } @@ -1317,7 +1317,7 @@ int lua_engine::lua_memory_share::l_share_write(lua_State *L) if(share.endianness() == ENDIANNESS_BIG) ptr[(BYTE8_XOR_BE(addr) & lowmask) | (addr & ~lowmask)] = val & 0xff; else - ptr[(BYTE8_XOR_BE(addr) & lowmask) | (addr & ~lowmask)] = val & 0xff; + ptr[(BYTE8_XOR_LE(addr) & lowmask) | (addr & ~lowmask)] = val & 0xff; val >>= 8; } @@ -1942,9 +1942,10 @@ lua_engine::~lua_engine() close(); } -void lua_engine::call_plugin(const char *data, const char *name) +const char *lua_engine::call_plugin(const char *data, const char *name) { std::string field("cb_"); + const char *ret = nullptr; field += name; lua_settop(m_lua_state, 0); lua_getfield(m_lua_state, LUA_REGISTRYINDEX, field.c_str()); @@ -1952,17 +1953,21 @@ void lua_engine::call_plugin(const char *data, const char *name) if(!lua_isfunction(m_lua_state, -1)) { lua_pop(m_lua_state, 1); - return; + return nullptr; } lua_pushstring(m_lua_state, data); int error; - if((error = lua_pcall(m_lua_state, 1, 0, 0)) != LUA_OK) + if((error = lua_pcall(m_lua_state, 1, 1, 0)) != LUA_OK) { if(error == LUA_ERRRUN) printf("%s\n", lua_tostring(m_lua_state, -1)); lua_pop(m_lua_state, 1); - return; + return nullptr; } + if(lua_isstring(m_lua_state, -1)) + ret = lua_tostring(m_lua_state, -1); + lua_pop(m_lua_state, 1); + return ret; } int lua_engine::l_emu_register_callback(lua_State *L) diff --git a/src/frontend/mame/luaengine.h b/src/frontend/mame/luaengine.h index 4e18aefbfde..f07be2239d6 100644 --- a/src/frontend/mame/luaengine.h +++ b/src/frontend/mame/luaengine.h @@ -62,7 +62,7 @@ public: std::vector &get_menu() { return m_menu; } void attach_notifiers(); void on_frame_done(); - void call_plugin(const char *data, const char *name); + const char *call_plugin(const char *data, const char *name); private: struct hook { diff --git a/src/mame/drivers/vis.cpp b/src/mame/drivers/vis.cpp new file mode 100644 index 00000000000..a84d9bb3d1d --- /dev/null +++ b/src/mame/drivers/vis.cpp @@ -0,0 +1,152 @@ +// license:BSD-3-Clause +// copyright-holders:Carl + +#include "emu.h" +#include "cpu/i86/i286.h" +#include "machine/at.h" +#include "bus/isa/isa_cards.h" + +class vis_state : public driver_device +{ +public: + vis_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_mb(*this, "mb") + { } + required_device m_maincpu; + required_device m_mb; + + DECLARE_READ8_MEMBER(sysctl_r); + DECLARE_WRITE8_MEMBER(sysctl_w); + DECLARE_READ8_MEMBER(unk_r); + DECLARE_WRITE8_MEMBER(unk_w); + DECLARE_READ8_MEMBER(unk2_r); + DECLARE_READ8_MEMBER(unk3_r); + DECLARE_READ8_MEMBER(cdrom_r); + DECLARE_WRITE8_MEMBER(cdrom_w); +protected: + void machine_reset() override; +private: + UINT8 m_sysctl; + UINT8 m_unkidx; + UINT8 m_unk[16]; + UINT8 m_cdcmd, m_cdstat; +}; + +void vis_state::machine_reset() +{ + m_cdcmd = 0; + m_cdstat = 0; + m_sysctl = 0; +} + +READ8_MEMBER(vis_state::unk_r) +{ + if(offset) + return m_unk[m_unkidx]; + return 0; +} + +WRITE8_MEMBER(vis_state::unk_w) +{ + if(offset) + m_unk[m_unkidx] = data; + else + m_unkidx = data & 0xf; +} + +READ8_MEMBER(vis_state::unk2_r) +{ + return 0x40; +} + +READ8_MEMBER(vis_state::unk3_r) +{ + return 0x00; +} + +// probably a mitsumi isa non-atapi cdrom controller, mcd.c in older linux versions +READ8_MEMBER(vis_state::cdrom_r) +{ + if(m_cdcmd) + { + if(offset) + { + int ret = m_cdstat; + m_cdstat = 0; + return ret; + } + else + { + m_cdcmd = 0; + return 0x80; + } + } + if(offset) + return 0; + else + return 0x20; +} + +WRITE8_MEMBER(vis_state::cdrom_w) +{ + if(!offset) + { + m_cdcmd = data; + m_cdstat = 4; + } +} + +READ8_MEMBER(vis_state::sysctl_r) +{ + return m_sysctl; +} + +WRITE8_MEMBER(vis_state::sysctl_w) +{ + if(BIT(data, 0) && !BIT(m_sysctl, 0)) + m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE); + //m_maincpu->set_input_line(INPUT_LINE_A20, BIT(data, 1) ? CLEAR_LINE : ASSERT_LINE); + m_sysctl = data; +} + +static ADDRESS_MAP_START( at16_map, AS_PROGRAM, 16, vis_state ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x000000, 0x09ffff) AM_RAM + AM_RANGE(0x0d8000, 0x0fffff) AM_ROM AM_REGION("bios", 0xd8000) + AM_RANGE(0x100000, 0x15ffff) AM_RAM + AM_RANGE(0xff0000, 0xffffff) AM_ROM AM_REGION("bios", 0xf0000) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( at16_io, AS_IO, 16, vis_state ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0026, 0x0027) AM_READWRITE8(unk_r, unk_w, 0xffff) + AM_RANGE(0x006a, 0x006b) AM_READ8(unk2_r, 0x00ff) + AM_RANGE(0x0092, 0x0093) AM_READWRITE8(sysctl_r, sysctl_w, 0x00ff) + AM_RANGE(0x0000, 0x00ff) AM_DEVICE("mb", at_mb_device, map) + AM_RANGE(0x0310, 0x0311) AM_READWRITE8(cdrom_r, cdrom_w, 0xffff) + AM_RANGE(0x031a, 0x031b) AM_READ8(unk3_r, 0x00ff) +ADDRESS_MAP_END + +static MACHINE_CONFIG_START( vis, vis_state ) + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu", I80286, XTAL_12MHz ) + MCFG_CPU_PROGRAM_MAP(at16_map) + MCFG_CPU_IO_MAP(at16_io) + MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259_master", pic8259_device, inta_cb) + MCFG_80286_SHUTDOWN(DEVWRITELINE("mb", at_mb_device, shutdown)) + + MCFG_DEVICE_ADD("mb", AT_MB, 0) + + MCFG_ISA16_SLOT_ADD("mb:isabus","vga", pc_isa16_cards, "clgd542x", true) +MACHINE_CONFIG_END + +ROM_START(vis) + ROM_REGION(0x100000,"bios", 0) + ROM_LOAD( "p513bk0b.bin", 0x00000, 0x80000, CRC(364e3f74) SHA1(04260ef1e65e482c9c49d25ace40e22487d6aab9)) + ROM_LOAD( "p513bk1b.bin", 0x80000, 0x80000, CRC(e18239c4) SHA1(a0262109e10a07a11eca43371be9978fff060bc5)) +ROM_END + +COMP ( 1992, vis, 0, 0, vis, 0, driver_device, 0, "Tandy/Memorex", "Video Information System MD-2500", MACHINE_NOT_WORKING ) + diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 39d7101fcb8..c23d306db0d 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -36213,6 +36213,9 @@ wcombatk // 2002 wcombatu // 2002 xtrial // 2002 +@source:vis.cpp +vis + @source:vixen.cpp vixen // diff --git a/src/mame/mess.flt b/src/mame/mess.flt index b60bb60c25f..7f29d7691d5 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -649,6 +649,7 @@ victor9k.cpp vidbrain.cpp vii.cpp vip.cpp +vis.cpp vixen.cpp vk100.cpp votrpss.cpp From a8ff324e393aa352c8ef87d2341b51a13e400e91 Mon Sep 17 00:00:00 2001 From: David Haywood Date: Sun, 14 Aug 2016 00:20:38 +0100 Subject: [PATCH 036/116] new clones Deluxe 4 U (ver. 0107, 07/01/2000) [caius] the flash roms on the board appear to be faulty however, good reads could not be obtained, so left it as not working. --- src/mame/drivers/esd16.cpp | 27 +++++++++++++++++++++++++++ src/mame/mame.lst | 1 + 2 files changed, 28 insertions(+) diff --git a/src/mame/drivers/esd16.cpp b/src/mame/drivers/esd16.cpp index 3b366429bc9..546d8be060c 100644 --- a/src/mame/drivers/esd16.cpp +++ b/src/mame/drivers/esd16.cpp @@ -1267,6 +1267,32 @@ ROM_START( deluxe5b ) /* Deluxe 5 */ ROM_LOAD( "esd4.su10", 0x00000, 0x20000, CRC(23f2b7d9) SHA1(328c951d14674760df68486841c933bad0d59fe3) ) /* AT27C010 mask rom */ ROM_END + +ROM_START( deluxe4u ) /* Deluxe 4 U */ + ROM_REGION( 0x080000, "maincpu", 0 ) /* 68000 Code */ + ROM_LOAD16_BYTE( "2.cu02", 0x000000, 0x040000, CRC(db213e1f) SHA1(bf9c49635f79b92a761715138528200106aa86ae) ) + ROM_LOAD16_BYTE( "1.cu03", 0x000001, 0x040000, CRC(fbf14d74) SHA1(5ff5bf4ff55609452d5b8a49d8658f878541ce60) ) + + ROM_REGION( 0x40000, "audiocpu", 0 ) /* Z80 Code */ + ROM_LOAD( "3.su06", 0x00000, 0x40000, CRC(31de379a) SHA1(a0c9a9cec7207cc4ba33abb68bef62d7eb8e75e9) ) + + ROM_REGION( 0x180000, "spr", 0 ) /* Sprites, 16x16x5 */ + ROM_LOAD16_BYTE( "ju06", 0x000000, 0x040000, CRC(8b853bce) SHA1(fa6e654fc965d88bb426b76cdce3417f357b25f3) ) + ROM_LOAD16_BYTE( "ju05", 0x000001, 0x040000, CRC(bbe81779) SHA1(750387fb4aaa04b7f4f1d3985896f5e11219e3ea) ) + ROM_LOAD16_BYTE( "ju04", 0x080000, 0x040000, CRC(40fa2c2f) SHA1(b9d9bfdc9343f00bad9749c76472f064c509cfce) ) + ROM_LOAD16_BYTE( "ju03", 0x080001, 0x040000, CRC(aa130fd3) SHA1(46a55d8ca59a52e610600fdba76d9729528d2871) ) + ROM_LOAD16_BYTE( "ju07", 0x100000, 0x040000, CRC(d414c3af) SHA1(9299b07a8c7a3e30a1bb6028204a049a7cb510f7) ) + + ROM_REGION( 0x400000, "bgs", 0 ) /* Layers, 16x16x8 */ + // could not get good reads of these, not the same as deluxe5 + ROM_LOAD16_BYTE( "fu35", 0x000000, 0x200000, BAD_DUMP CRC(6dc3b387) SHA1(9be25eb71db2387c83825e05c9129e7a911a1b5e) ) + ROM_LOAD16_BYTE( "fu34", 0x000001, 0x200000, BAD_DUMP CRC(e99b6668) SHA1(9c38c542153ccb8b97b7efd9a28390af2fe2dd7e) ) + + ROM_REGION( 0x40000, "oki", 0 ) /* Samples */ + ROM_LOAD( "su10", 0x00000, 0x20000, CRC(23f2b7d9) SHA1(328c951d14674760df68486841c933bad0d59fe3) ) +ROM_END + + /* Tang Tang Tang Tang (ESD) @@ -1581,6 +1607,7 @@ GAME( 2000, hedpanicf,hedpanic, hedpanic, hedpanic, driver_device, 0, ROT0, "ESD GAME( 2000, deluxe5, 0, tangtang, hedpanic, driver_device, 0, ROT0, "ESD", "Deluxe 5 (ver. 0107, 07/01/2000, set 1)", MACHINE_SUPPORTS_SAVE ) // all 3 sets report the same version number? GAME( 2000, deluxe5a, deluxe5, tangtang, hedpanic, driver_device, 0, ROT0, "ESD", "Deluxe 5 (ver. 0107, 07/01/2000, set 2)", MACHINE_SUPPORTS_SAVE ) GAME( 2000, deluxe5b, deluxe5, tangtang, hedpanic, driver_device, 0, ROT0, "ESD", "Deluxe 5 (ver. 0107, 07/01/2000, set 3)", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, deluxe4u, deluxe5, tangtang, hedpanic, driver_device, 0, ROT0, "ESD", "Deluxe 4 U (ver. 0107, 07/01/2000)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // bad dump of flash roms GAME( 2000, tangtang, 0, tangtang, hedpanic, driver_device, 0, ROT0, "ESD", "Tang Tang (ver. 0526, 26/05/2000)", MACHINE_SUPPORTS_SAVE ) GAME( 2001, swatpolc, 0, hedpanic, swatpolc, driver_device, 0, ROT0, "ESD", "SWAT Police", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 5426b279797..e02a1ba2fb7 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -11849,6 +11849,7 @@ poizone // (c) 1990 Sisteme deluxe5 // (c) 2000 ESD deluxe5a // (c) 2000 ESD deluxe5b // (c) 2000 ESD +deluxe4u // (c) 2000 ESD hedpanic // (c) 2000 ESD hedpanicf // (c) 2000 ESD + Fuuki, Co. Ltd. hedpanico // (c) 1999 ESD From 23a2315f406257c2924df29f8c77499e2ca12ac9 Mon Sep 17 00:00:00 2001 From: hap Date: Sun, 14 Aug 2016 01:47:04 +0200 Subject: [PATCH 037/116] hh_hmcs40: added sag internal artwork, external artwork is still highly recommended and should be easy to add since good scans are available. sag_si2 is suspected bad dump now for proper whatsnew since I forgot credits last time: New working machine added --------------- Select-A-Game: Baseball 4 [hap, Kevin Horton] Select-A-Game: Pinball [hap, Kevin Horton] New NOT_WORKING machine added -------------- Select-A-Game: Space Invader 2 [hap, Kevin Horton] --- src/mame/drivers/hh_hmcs40.cpp | 21 +++- src/mame/layout/mvbfree.lay | 2 +- src/mame/layout/sag.lay | 223 +++++++++++++++++++++++++++++++++ 3 files changed, 240 insertions(+), 6 deletions(-) create mode 100644 src/mame/layout/sag.lay diff --git a/src/mame/drivers/hh_hmcs40.cpp b/src/mame/drivers/hh_hmcs40.cpp index beadd3ededd..45a5a79500b 100644 --- a/src/mame/drivers/hh_hmcs40.cpp +++ b/src/mame/drivers/hh_hmcs40.cpp @@ -92,6 +92,7 @@ // internal artwork #include "pairmtch.lh" +#include "sag.lh" #include "hh_hmcs40_test.lh" // common test-layout - no svg artwork(yet), use external artwork @@ -2593,22 +2594,26 @@ static INPUT_PORTS_START( sag ) PORT_START("IN.0") // D2 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_16WAY PORT_NAME("P1 Button 1") PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_COCKTAIL PORT_16WAY PORT_NAME("P2 Button 3") - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_CONFNAME( 0x04, 0x04, "Game" ) + PORT_CONFSETTING( 0x04, "1" ) + PORT_CONFSETTING( 0x00, "2" ) PORT_START("IN.1") // D3 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_16WAY PORT_NAME("P1 Button 2") PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL PORT_16WAY PORT_NAME("P2 Button 4") - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x04, 0x04, IPT_SPECIAL ) PORT_CONDITION("DPLAYSW", 0x03, EQUALS, 0x01) // 1 player PORT_START("IN.2") // D4 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_16WAY PORT_NAME("P1 Button 3") PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_COCKTAIL PORT_16WAY PORT_NAME("P2 Button 1") - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_CONFNAME( 0x04, 0x00, "Skill Level" ) + PORT_CONFSETTING( 0x00, "1" ) + PORT_CONFSETTING( 0x04, "2" ) PORT_START("IN.3") // D5 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_16WAY PORT_NAME("P1 Button 4") PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL PORT_16WAY PORT_NAME("P2 Button 2") - PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x04, 0x04, IPT_SPECIAL ) PORT_CONDITION("DPLAYSW", 0x03, EQUALS, 0x00) // demo PORT_START("IN.4") // D6 PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("P1 Button 5") @@ -2619,6 +2624,12 @@ static INPUT_PORTS_START( sag ) PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("P1 Button 6") PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_NAME("P2 Button 6") PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_NAME("P2 Button 7") + + PORT_START("DPLAYSW") // shared D3/D5 + PORT_CONFNAME( 0x03, 0x01, "Players" ) + PORT_CONFSETTING( 0x00, "Demo" ) + PORT_CONFSETTING( 0x01, "1" ) + PORT_CONFSETTING( 0x02, "2" ) INPUT_PORTS_END static MACHINE_CONFIG_START( sag, sag_state ) @@ -2633,7 +2644,7 @@ static MACHINE_CONFIG_START( sag, sag_state ) MCFG_HMCS40_READ_D_CB(READ16(sag_state, input_r)) MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1)) - MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test) + MCFG_DEFAULT_LAYOUT(layout_sag) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") diff --git a/src/mame/layout/mvbfree.lay b/src/mame/layout/mvbfree.lay index 29598b63efc..df7eac87fee 100644 --- a/src/mame/layout/mvbfree.lay +++ b/src/mame/layout/mvbfree.lay @@ -6,7 +6,7 @@ - + diff --git a/src/mame/layout/sag.lay b/src/mame/layout/sag.lay new file mode 100644 index 00000000000..a1a05c98512 --- /dev/null +++ b/src/mame/layout/sag.lay @@ -0,0 +1,223 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From a2b99f814965f8e703b380a6c67b4f66f1a18749 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Sun, 14 Aug 2016 13:15:54 +1000 Subject: [PATCH 038/116] Attempt to fix mouse state on startup in SDL builds by initialising members --- src/osd/sdl/window.cpp | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/osd/sdl/window.cpp b/src/osd/sdl/window.cpp index d655298fa8b..f878a283748 100644 --- a/src/osd/sdl/window.cpp +++ b/src/osd/sdl/window.cpp @@ -1104,14 +1104,25 @@ osd_dim sdl_window_info::get_max_bounds(int constrain) // construction and destruction //============================================================ -sdl_window_info::sdl_window_info(running_machine &a_machine, int index, std::shared_ptr a_monitor, +sdl_window_info::sdl_window_info( + running_machine &a_machine, + int index, + std::shared_ptr a_monitor, const osd_window_config *config) -: osd_window(*config), m_next(nullptr), m_startmaximized(0), + : osd_window(*config) + , m_next(nullptr) + , m_startmaximized(0) // Following three are used by input code to defer resizes - m_minimum_dim(0,0), - m_windowed_dim(0,0), - m_rendered_event(0, 1), m_target(nullptr), m_extra_flags(0), - m_machine(a_machine), m_monitor(a_monitor), m_fullscreen(0) + , m_minimum_dim(0, 0) + , m_windowed_dim(0, 0) + , m_rendered_event(0, 1) + , m_target(nullptr) + , m_extra_flags(0) + , m_machine(a_machine) + , m_monitor(a_monitor) + , m_fullscreen(0) + , m_mouse_captured(false) + , m_mouse_hidden(false) { m_index = index; From 662950fc740dfeef4784e7ac163df31b38afbfe6 Mon Sep 17 00:00:00 2001 From: Jezze Date: Sun, 14 Aug 2016 13:06:52 +0200 Subject: [PATCH 039/116] reverted semantic changes of 161a08d --- src/emu/render.cpp | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/src/emu/render.cpp b/src/emu/render.cpp index 773a5dcb511..51669bf5320 100644 --- a/src/emu/render.cpp +++ b/src/emu/render.cpp @@ -1152,10 +1152,6 @@ const render_screen_list &render_target::view_screens(int viewindex) void render_target::compute_visible_area(INT32 target_width, INT32 target_height, float target_pixel_aspect, int target_orientation, INT32 &visible_width, INT32 &visible_height) { - bool system_swap_xy = (m_manager.machine().system().flags & ORIENTATION_SWAP_XY) == ORIENTATION_SWAP_XY; - bool target_swap_xy = (target_orientation & ORIENTATION_SWAP_XY) == ORIENTATION_SWAP_XY; - bool swap_xy = system_swap_xy ^ target_swap_xy; - switch (m_scale_mode) { case SCALE_FRACTIONAL: @@ -1217,35 +1213,21 @@ void render_target::compute_visible_area(INT32 target_width, INT32 target_height bool x_is_integer = !(target_aspect >= 1.0f && m_scale_mode == SCALE_FRACTIONAL_X); bool y_is_integer = !(target_aspect < 1.0f && m_scale_mode == SCALE_FRACTIONAL_X); - // apply swap to scale mode - if (swap_xy) - std::swap(x_is_integer, y_is_integer); - // first compute scale factors to fit the screen float xscale = (float)target_width / src_width; float yscale = (float)target_height / src_height; float maxxscale = std::max(1.0f, float(m_int_overscan ? render_round_nearest(xscale) : floor(xscale))); float maxyscale = std::max(1.0f, float(m_int_overscan ? render_round_nearest(yscale) : floor(yscale))); - // apply swap to maximum scale factors - if (swap_xy) - std::swap(maxxscale, maxyscale); - // now apply desired scale mode and aspect correction if (m_keepaspect && target_aspect > src_aspect) xscale *= src_aspect / target_aspect * (maxyscale / yscale); if (m_keepaspect && target_aspect < src_aspect) yscale *= target_aspect / src_aspect * (maxxscale / xscale); if (x_is_integer) xscale = std::min(maxxscale, std::max(1.0f, render_round_nearest(xscale))); if (y_is_integer) yscale = std::min(maxyscale, std::max(1.0f, render_round_nearest(yscale))); - // apply swap to user defined scale factors - int int_scale_x = m_int_scale_x; - int int_scale_y = m_int_scale_y; - if (swap_xy) - std::swap(int_scale_x, int_scale_y); - // check if we have user defined scale factors, if so use them instead - xscale = int_scale_x > 0 ? int_scale_x : xscale; - yscale = int_scale_y > 0 ? int_scale_y : yscale; + xscale = m_int_scale_x > 0 ? m_int_scale_x : xscale; + yscale = m_int_scale_y > 0 ? m_int_scale_y : yscale; // set the final width/height visible_width = render_round_nearest(src_width * xscale); From 696c54d95af5b223cdb8cc42393e5fc15c3823d1 Mon Sep 17 00:00:00 2001 From: Curt Coder Date: Sun, 14 Aug 2016 15:09:06 +0300 Subject: [PATCH 040/116] victor9k: WIP. (nw) --- src/mame/machine/victor9k_fdc.cpp | 14 ++++++++++---- src/mame/machine/victor9k_fdc.h | 2 ++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/mame/machine/victor9k_fdc.cpp b/src/mame/machine/victor9k_fdc.cpp index 0f5184b64f6..1b23cb75962 100644 --- a/src/mame/machine/victor9k_fdc.cpp +++ b/src/mame/machine/victor9k_fdc.cpp @@ -29,6 +29,7 @@ TODO: + - audiokit tries to communicate with SCP using RDY0/1 - write protect - separate read/write methods - communication error with SCP after loading boot sector @@ -291,6 +292,8 @@ void victor_9000_fdc_t::device_start() save_item(NAME(m_tach1)); save_item(NAME(m_rdy0)); save_item(NAME(m_rdy1)); + save_item(NAME(m_via_rdy0)); + save_item(NAME(m_via_rdy1)); save_item(NAME(m_l0ms)); save_item(NAME(m_l1ms)); save_item(NAME(m_st0)); @@ -435,8 +438,8 @@ READ8_MEMBER( victor_9000_fdc_t::floppy_p2_r ) UINT8 data = m_p2 & 0x3f; - data |= m_rdy0 << 6; - data |= m_rdy1 << 7; + data |= m_via_rdy0 << 6; + data |= m_via_rdy1 << 7; return data; } @@ -810,6 +813,8 @@ WRITE8_MEMBER( victor_9000_fdc_t::via5_pb_w ) if (LOG_VIA) logerror("%s %s WD %02x\n", machine().time().as_string(), machine().describe_context(), data); + m_via5->write_cb1(BIT(data, 7)); + if (m_wd != data) { live_sync(); @@ -969,8 +974,8 @@ WRITE8_MEMBER( victor_9000_fdc_t::via6_pb_w ) */ - set_rdy0(BIT(data, 0)); - set_rdy1(BIT(data, 1)); + m_via_rdy0 = BIT(data, 0); + m_via_rdy1 = BIT(data, 1); // motor speed controller reset if (!BIT(data, 2)) @@ -985,6 +990,7 @@ WRITE8_MEMBER( victor_9000_fdc_t::via6_pb_w ) // stepper enable B int stp1 = BIT(data, 7); if (m_stp1 != stp1) sync = true; + m_via6->write_cb1(stp1); if (sync) { diff --git a/src/mame/machine/victor9k_fdc.h b/src/mame/machine/victor9k_fdc.h index d40d3a7a877..a5abc00bf93 100644 --- a/src/mame/machine/victor9k_fdc.h +++ b/src/mame/machine/victor9k_fdc.h @@ -190,6 +190,8 @@ private: int m_tach1; int m_rdy0; int m_rdy1; + int m_via_rdy0; + int m_via_rdy1; UINT8 m_l0ms; UINT8 m_l1ms; int m_st0; From 9b1cd03e232de744939e050de03f5906a7632f9c Mon Sep 17 00:00:00 2001 From: David Haywood Date: Sun, 14 Aug 2016 13:20:15 +0100 Subject: [PATCH 041/116] more mpu4 descriptions (nw) --- src/mame/drivers/mpu4sw.hxx | 130 ++++++++++++++++++------------------ 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/src/mame/drivers/mpu4sw.hxx b/src/mame/drivers/mpu4sw.hxx index 70c310d6b7f..a09aae1a896 100644 --- a/src/mame/drivers/mpu4sw.hxx +++ b/src/mame/drivers/mpu4sw.hxx @@ -1603,72 +1603,72 @@ GAME_CUSTOM( 199?, m4hittop__ax, m4hittop, "htty.p1", 0x0000, 0x010000, // I think the code in the header was just not updated properly. // "(C)1991 BARCREST" and "NN4 0.2" GAME_CUSTOM( 199?, m4nnww, 0, "nn5s.p1", 0x0000, 0x010000, CRC(459e5663) SHA1(66ae821e5202d6d3ba05be44d0c1f26da60a3a32), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__aq, m4nnww, "nn5bd.p1", 0x0000, 0x010000, CRC(56cc9559) SHA1(53e109a579e422932dd25c52cf2beca51d3a53e3), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2BD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__ai, m4nnww, "nn5ad.p1", 0x0000, 0x010000, CRC(22537184) SHA1(aef542a34e2b14a5db624e42d1cd2682de237b52), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 46)" ) -GAME_CUSTOM( 199?, m4nnww__aj, m4nnww, "nn5b.p1", 0x0000, 0x010000, CRC(e2a99408) SHA1(a0868a38c290a84926089c60d1b5555706485bff), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 47)" ) -GAME_CUSTOM( 199?, m4nnww__ak, m4nnww, "nn5d.p1", 0x0000, 0x010000, CRC(ef1a21b6) SHA1(ba763b06583af1273e384b878fbacc68f88714dc), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 48)" ) -GAME_CUSTOM( 199?, m4nnww__al, m4nnww, "nn5dk.p1", 0x0000, 0x010000, CRC(74c48e28) SHA1(db6be2275b6122845c662dd5f12266b66e888221), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 49)" ) -GAME_CUSTOM( 199?, m4nnww__am, m4nnww, "nn5dr.p1", 0x0000, 0x010000, CRC(f52c9f87) SHA1(e8b1037c9ed5d9452abccb6b07bae46b45c4705e), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 50)" ) -GAME_CUSTOM( 199?, m4nnww__an, m4nnww, "nn5dy.p1", 0x0000, 0x010000, CRC(6847b769) SHA1(1b4d42774c72a3c7b40551c7181413ea1fca0b88), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 51)" ) -GAME_CUSTOM( 199?, m4nnww__ao, m4nnww, "nn5k.p1", 0x0000, 0x010000, CRC(ceab49d9) SHA1(633e7bab6a30176dbcea2bd3e7bab0f7833409ba), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 52)" ) -GAME_CUSTOM( 199?, m4nnww__ap, m4nnww, "nn5r.p1", 0x0000, 0x010000, CRC(144523cd) SHA1(d12586ccea659ecb75af944d87ddd480da917eaf), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 53)" ) -GAME_CUSTOM( 199?, m4nnww__ar, m4nnww, "nn5y.p1", 0x0000, 0x010000, CRC(892e0b23) SHA1(ff3f550e20e71e868d52b60740f743a7d2d6c645), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 55)" ) +GAME_CUSTOM( 199?, m4nnww__aq, m4nnww, "nn5bd.p1", 0x0000, 0x010000, CRC(56cc9559) SHA1(53e109a579e422932dd25c52cf2beca51d3a53e3), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 BD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__ai, m4nnww, "nn5ad.p1", 0x0000, 0x010000, CRC(22537184) SHA1(aef542a34e2b14a5db624e42d1cd2682de237b52), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 AD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__aj, m4nnww, "nn5b.p1", 0x0000, 0x010000, CRC(e2a99408) SHA1(a0868a38c290a84926089c60d1b5555706485bff), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 B / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__ak, m4nnww, "nn5d.p1", 0x0000, 0x010000, CRC(ef1a21b6) SHA1(ba763b06583af1273e384b878fbacc68f88714dc), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 D / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__al, m4nnww, "nn5dk.p1", 0x0000, 0x010000, CRC(74c48e28) SHA1(db6be2275b6122845c662dd5f12266b66e888221), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 KD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__am, m4nnww, "nn5dr.p1", 0x0000, 0x010000, CRC(f52c9f87) SHA1(e8b1037c9ed5d9452abccb6b07bae46b45c4705e), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 RD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__an, m4nnww, "nn5dy.p1", 0x0000, 0x010000, CRC(6847b769) SHA1(1b4d42774c72a3c7b40551c7181413ea1fca0b88), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 YD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__ao, m4nnww, "nn5k.p1", 0x0000, 0x010000, CRC(ceab49d9) SHA1(633e7bab6a30176dbcea2bd3e7bab0f7833409ba), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 K / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__ap, m4nnww, "nn5r.p1", 0x0000, 0x010000, CRC(144523cd) SHA1(d12586ccea659ecb75af944d87ddd480da917eaf), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 R / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__ar, m4nnww, "nn5y.p1", 0x0000, 0x010000, CRC(892e0b23) SHA1(ff3f550e20e71e868d52b60740f743a7d2d6c645), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN5 0.2 Y / NN4 0.2)" ) // "(C)1991 BARCREST" and "NN4 0.1" (startup CN1 0.1) -GAME_CUSTOM( 199?, m4nnww__b, m4nnww, "cni01ad.p1", 0x0000, 0x010000, CRC(788e47b1) SHA1(6d07500a38b54e1a9038e35d82fdb4a0f22d23ba), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 / NN4 0.1)" ) -GAME_CUSTOM( 199?, m4nnww__c, m4nnww, "cni01b.p1", 0x0000, 0x010000, CRC(33512643) SHA1(865ed3b68fe3b737833734513b5045c5db97791e), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4nnww__d, m4nnww, "cni01bd.p1", 0x0000, 0x010000, CRC(8a00d73b) SHA1(702579ea1bc586aacd5cba889919f3e86ea05771), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4nnww__e, m4nnww, "cni01c.p1", 0x0000, 0x010000, CRC(b836ee44) SHA1(832914461492f120894ec7e63f6aa1ad00b89b41), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4nnww__f, m4nnww, "cni01d.p1", 0x0000, 0x010000, CRC(94fbe9cb) SHA1(7daabf1cd315f8d18796ba34f8c2ec271cc1e396), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4nnww__g, m4nnww, "cni01dk.p1", 0x0000, 0x010000, CRC(708fbcca) SHA1(7e97d8adf660099873a94d1915c79f110614cb11), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4nnww__h, m4nnww, "cni01dr.p1", 0x0000, 0x010000, CRC(5b7ed753) SHA1(8072ac849dc61e50963ae6730fa32823bd038c77), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 9)" ) -GAME_CUSTOM( 199?, m4nnww__i, m4nnww, "cni01dy.p1", 0x0000, 0x010000, CRC(fcf6da8b) SHA1(95d86af30035884211ed26ccb5db9aae12ac7bf2), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 10)" ) -GAME_CUSTOM( 199?, m4nnww__j, m4nnww, "cni01k.p1", 0x0000, 0x010000, CRC(f7c90833) SHA1(3b3b44e61f24e9fb45f465fd9c381fe81b6851a0), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 11)" ) -GAME_CUSTOM( 199?, m4nnww__k, m4nnww, "cni01r.p1", 0x0000, 0x010000, CRC(c611b1eb) SHA1(524ee18da8a086d15277d9fb0ea383ee3d49d47a), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4nnww__l, m4nnww, "cni01s.p1", 0x0000, 0x010000, CRC(5ed6a396) SHA1(299767467b56d1aa93602f98cc387e7ff18bda9d), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4nnww__m, m4nnww, "cni01y.p1", 0x0000, 0x010000, CRC(d3612bf2) SHA1(40a8ff08a38c4411946a67f380891945d166d199), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 14)" ) +GAME_CUSTOM( 199?, m4nnww__l, m4nnww, "cni01s.p1", 0x0000, 0x010000, CRC(5ed6a396) SHA1(299767467b56d1aa93602f98cc387e7ff18bda9d), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__b, m4nnww, "cni01ad.p1", 0x0000, 0x010000, CRC(788e47b1) SHA1(6d07500a38b54e1a9038e35d82fdb4a0f22d23ba), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 AD / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__c, m4nnww, "cni01b.p1", 0x0000, 0x010000, CRC(33512643) SHA1(865ed3b68fe3b737833734513b5045c5db97791e), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 B / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__d, m4nnww, "cni01bd.p1", 0x0000, 0x010000, CRC(8a00d73b) SHA1(702579ea1bc586aacd5cba889919f3e86ea05771), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 BD / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__e, m4nnww, "cni01c.p1", 0x0000, 0x010000, CRC(b836ee44) SHA1(832914461492f120894ec7e63f6aa1ad00b89b41), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 C / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__f, m4nnww, "cni01d.p1", 0x0000, 0x010000, CRC(94fbe9cb) SHA1(7daabf1cd315f8d18796ba34f8c2ec271cc1e396), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 D / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__g, m4nnww, "cni01dk.p1", 0x0000, 0x010000, CRC(708fbcca) SHA1(7e97d8adf660099873a94d1915c79f110614cb11), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 KD / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__h, m4nnww, "cni01dr.p1", 0x0000, 0x010000, CRC(5b7ed753) SHA1(8072ac849dc61e50963ae6730fa32823bd038c77), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 RD / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__i, m4nnww, "cni01dy.p1", 0x0000, 0x010000, CRC(fcf6da8b) SHA1(95d86af30035884211ed26ccb5db9aae12ac7bf2), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 YD / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__j, m4nnww, "cni01k.p1", 0x0000, 0x010000, CRC(f7c90833) SHA1(3b3b44e61f24e9fb45f465fd9c381fe81b6851a0), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 AK / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__k, m4nnww, "cni01r.p1", 0x0000, 0x010000, CRC(c611b1eb) SHA1(524ee18da8a086d15277d9fb0ea383ee3d49d47a), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 R / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__m, m4nnww, "cni01y.p1", 0x0000, 0x010000, CRC(d3612bf2) SHA1(40a8ff08a38c4411946a67f380891945d166d199), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CN1 0.1 Y / NN4 0.1)" ) // "(C)1991 BARCREST" and "NN4 0.2" (startup CNU 0.2) -GAME_CUSTOM( 199?, m4nnww__n, m4nnww, "cnuad.p1", 0x0000, 0x010000, CRC(f4b28628) SHA1(7323525a44477e2a3f89562f6094ed7bb47a16cc), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2AD / NN4 0.2)" ) -GAME_CUSTOM( 199?, m4nnww__o, m4nnww, "cnub.p1", 0x0000, 0x010000, CRC(735260a3) SHA1(e08fff6314d7cb4e396107366fdc16dcbf7f5d67), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4nnww__p, m4nnww, "cnubd.p1", 0x0000, 0x010000, CRC(fbe1ee39) SHA1(21bdaa6f9af686b4e44958ee09a131d0e12c2c53), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4nnww__q, m4nnww, "cnud.p1", 0x0000, 0x010000, CRC(d3a0eff1) SHA1(2b18c3e14a43d072ae5702bc77fcac65dbd8305c), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4nnww__r, m4nnww, "cnudk.p1", 0x0000, 0x010000, CRC(a7b506e8) SHA1(40d712076b434a339dfa60b937eec91038568312), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4nnww__s, m4nnww, "cnudr.p1", 0x0000, 0x010000, CRC(e163caea) SHA1(273a13567e5cb7fd071dfc9c8a9bc923e25d7679), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 20)" ) -GAME_CUSTOM( 199?, m4nnww__t, m4nnww, "cnudy.p1", 0x0000, 0x010000, CRC(7c08e204) SHA1(34c906f3a284fde0c997232738a51b709a0dca93), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 21)" ) -GAME_CUSTOM( 199?, m4nnww__u, m4nnww, "cnuk.p1", 0x0000, 0x010000, CRC(b9c08873) SHA1(9c5a754a7b57c8ab4334afdcbe30884a7181ac48), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 22)" ) -GAME_CUSTOM( 199?, m4nnww__v, m4nnww, "cnur.p1", 0x0000, 0x010000, CRC(729d89ea) SHA1(c98a89dd8f85dde7ab005bcb7eba1fcc31162e08), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4nnww__w, m4nnww, "cnus.p1", 0x0000, 0x010000, CRC(6afee8e1) SHA1(35464eef29a5a66b8efea890987ff120ca5b7409), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4nnww__x, m4nnww, "cnuy.p1", 0x0000, 0x010000, CRC(eff6a104) SHA1(021baf5fe88defca05627a85501622d86e846233), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 25)" ) +GAME_CUSTOM( 199?, m4nnww__w, m4nnww, "cnus.p1", 0x0000, 0x010000, CRC(6afee8e1) SHA1(35464eef29a5a66b8efea890987ff120ca5b7409), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__n, m4nnww, "cnuad.p1", 0x0000, 0x010000, CRC(f4b28628) SHA1(7323525a44477e2a3f89562f6094ed7bb47a16cc), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 AD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__o, m4nnww, "cnub.p1", 0x0000, 0x010000, CRC(735260a3) SHA1(e08fff6314d7cb4e396107366fdc16dcbf7f5d67), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 B / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__p, m4nnww, "cnubd.p1", 0x0000, 0x010000, CRC(fbe1ee39) SHA1(21bdaa6f9af686b4e44958ee09a131d0e12c2c53), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 BD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__q, m4nnww, "cnud.p1", 0x0000, 0x010000, CRC(d3a0eff1) SHA1(2b18c3e14a43d072ae5702bc77fcac65dbd8305c), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 D / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__r, m4nnww, "cnudk.p1", 0x0000, 0x010000, CRC(a7b506e8) SHA1(40d712076b434a339dfa60b937eec91038568312), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 KD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__s, m4nnww, "cnudr.p1", 0x0000, 0x010000, CRC(e163caea) SHA1(273a13567e5cb7fd071dfc9c8a9bc923e25d7679), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 RD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__t, m4nnww, "cnudy.p1", 0x0000, 0x010000, CRC(7c08e204) SHA1(34c906f3a284fde0c997232738a51b709a0dca93), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 YD / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__u, m4nnww, "cnuk.p1", 0x0000, 0x010000, CRC(b9c08873) SHA1(9c5a754a7b57c8ab4334afdcbe30884a7181ac48), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 K / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__v, m4nnww, "cnur.p1", 0x0000, 0x010000, CRC(729d89ea) SHA1(c98a89dd8f85dde7ab005bcb7eba1fcc31162e08), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 R / NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__x, m4nnww, "cnuy.p1", 0x0000, 0x010000, CRC(eff6a104) SHA1(021baf5fe88defca05627a85501622d86e846233), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CNU 0.2 Y / NN4 0.2)" ) // "(C)1991 BARCREST" and "NN3 0.1" -GAME_CUSTOM( 199?, m4nnww__y, m4nnww, "nn3xad.p1", 0x0000, 0x010000, CRC(8ccfceb8) SHA1(762ab26826d3d2a4dd7999a71724389344e9dafb), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1XAD)" ) -GAME_CUSTOM( 199?, m4nnww__z, m4nnww, "nn3xb.p1", 0x0000, 0x010000, CRC(9b0dd473) SHA1(9975dafea8c7d6ccfc9f826adb1a0d3d0ed9740a), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4nnww__0, m4nnww, "nn3xbd.p1", 0x0000, 0x010000, CRC(21bf4a89) SHA1(200c9ccc4bc2a93fcd0f68bb00ad4391bdeecda1), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4nnww__1, m4nnww, "nn3xd.p1", 0x0000, 0x010000, CRC(11e22c45) SHA1(6da31eea7b25612d99cc79f6f9579622f105c862), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4nnww__2, m4nnww, "nn3xdk.p1", 0x0000, 0x010000, CRC(0f4642c6) SHA1(53a0b8bc102c2b1c0db71887470b70852b09a4e9), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 30)" ) -GAME_CUSTOM( 199?, m4nnww__3, m4nnww, "nn3xdy.p1", 0x0000, 0x010000, CRC(ba3c1cf0) SHA1(ab94227018c3f9173e6a648749d455afd1ed36ce), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 31)" ) -GAME_CUSTOM( 199?, m4nnww__4, m4nnww, "nn3xk.p1", 0x0000, 0x010000, CRC(ec3a9831) SHA1(0b3ba86faf39cf3a1e42cb1c31fd2c50c24d65dc), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 32)" ) -GAME_CUSTOM( 199?, m4nnww__5, m4nnww, "nn3xr.p1", 0x0000, 0x010000, CRC(6416481c) SHA1(b06ed4964d9cbf403905504ac68abdab53131476), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 33)" ) -GAME_CUSTOM( 199?, m4nnww__6, m4nnww, "nn3xrd.p1", 0x0000, 0x010000, CRC(0fd3f9b9) SHA1(99115b217cfc54b52469ffc77e7a7592907c53ea), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 34)" ) -GAME_CUSTOM( 199?, m4nnww__7, m4nnww, "nn3xs.p1", 0x0000, 0x010000, CRC(13d02d21) SHA1(8e4dac8e60538884d3f3a92fc1bb9f41276be4c8), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 35)" ) -GAME_CUSTOM( 199?, m4nnww__8, m4nnww, "nn3xy.p1", 0x0000, 0x010000, CRC(8a5d0f4b) SHA1(ef727e7ee8bb20d1b201927186a1a4f83e1e7497), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 36)" ) +GAME_CUSTOM( 199?, m4nnww__7, m4nnww, "nn3xs.p1", 0x0000, 0x010000, CRC(13d02d21) SHA1(8e4dac8e60538884d3f3a92fc1bb9f41276be4c8), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 X)" ) +GAME_CUSTOM( 199?, m4nnww__y, m4nnww, "nn3xad.p1", 0x0000, 0x010000, CRC(8ccfceb8) SHA1(762ab26826d3d2a4dd7999a71724389344e9dafb), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 XAD)" ) +GAME_CUSTOM( 199?, m4nnww__z, m4nnww, "nn3xb.p1", 0x0000, 0x010000, CRC(9b0dd473) SHA1(9975dafea8c7d6ccfc9f826adb1a0d3d0ed9740a), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 BX)" ) +GAME_CUSTOM( 199?, m4nnww__0, m4nnww, "nn3xbd.p1", 0x0000, 0x010000, CRC(21bf4a89) SHA1(200c9ccc4bc2a93fcd0f68bb00ad4391bdeecda1), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 BXD)" ) +GAME_CUSTOM( 199?, m4nnww__1, m4nnww, "nn3xd.p1", 0x0000, 0x010000, CRC(11e22c45) SHA1(6da31eea7b25612d99cc79f6f9579622f105c862), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 XD)" ) +GAME_CUSTOM( 199?, m4nnww__2, m4nnww, "nn3xdk.p1", 0x0000, 0x010000, CRC(0f4642c6) SHA1(53a0b8bc102c2b1c0db71887470b70852b09a4e9), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 KXD)" ) +GAME_CUSTOM( 199?, m4nnww__3, m4nnww, "nn3xdy.p1", 0x0000, 0x010000, CRC(ba3c1cf0) SHA1(ab94227018c3f9173e6a648749d455afd1ed36ce), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 YXD)" ) +GAME_CUSTOM( 199?, m4nnww__4, m4nnww, "nn3xk.p1", 0x0000, 0x010000, CRC(ec3a9831) SHA1(0b3ba86faf39cf3a1e42cb1c31fd2c50c24d65dc), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 KX)" ) +GAME_CUSTOM( 199?, m4nnww__5, m4nnww, "nn3xr.p1", 0x0000, 0x010000, CRC(6416481c) SHA1(b06ed4964d9cbf403905504ac68abdab53131476), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 RX)" ) +GAME_CUSTOM( 199?, m4nnww__6, m4nnww, "nn3xrd.p1", 0x0000, 0x010000, CRC(0fd3f9b9) SHA1(99115b217cfc54b52469ffc77e7a7592907c53ea), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 RD)" ) // X not set here +GAME_CUSTOM( 199?, m4nnww__8, m4nnww, "nn3xy.p1", 0x0000, 0x010000, CRC(8a5d0f4b) SHA1(ef727e7ee8bb20d1b201927186a1a4f83e1e7497), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN3 0.1 YX)" ) // "(C)1991 BARCREST" and "NN4 0.2" -GAME_CUSTOM( 199?, m4nnww__9, m4nnww, "nn4ad.p1", 0x0000, 0x010000, CRC(827b832f) SHA1(4448ccb03282b9d39c6a00d02cea4d8ce2225b0e), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2AD)" ) -GAME_CUSTOM( 199?, m4nnww__aa, m4nnww, "nn4b.p1", 0x0000, 0x010000, CRC(65e16330) SHA1(cfd18693155b4b7c5692064a2f693eb198d02749), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 38)" ) -GAME_CUSTOM( 199?, m4nnww__ab, m4nnww, "nn4bd.p1", 0x0000, 0x010000, CRC(b467ee65) SHA1(79030aa06ca8fd9c8becff62d56628939e9b5075), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 39)" ) -GAME_CUSTOM( 199?, m4nnww__ac, m4nnww, "nn4d.p1", 0x0000, 0x010000, CRC(548dacb9) SHA1(55949910374fae419ba015b70780e3e9e269caa0), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 40)" ) -GAME_CUSTOM( 199?, m4nnww__ad, m4nnww, "nn4dk.p1", 0x0000, 0x010000, CRC(9053aa15) SHA1(99d1e6d8776434a4ec69a565d673b45402467b8d), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 41)" ) -GAME_CUSTOM( 199?, m4nnww__ae, m4nnww, "nn4dy.p1", 0x0000, 0x010000, CRC(5fcd5a18) SHA1(b1b3283a303114ca1daab89cea44211ece7188ef), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 42)" ) -GAME_CUSTOM( 199?, m4nnww__af, m4nnww, "nn4k.p1", 0x0000, 0x010000, CRC(09a808c0) SHA1(c74c3acb2c1f52fd1e83003fb1a022f80f55e0b8), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 43)" ) -GAME_CUSTOM( 199?, m4nnww__ag, m4nnww, "nn4s.p1", 0x0000, 0x010000, CRC(ec4f01ee) SHA1(443da7ed359a3e208417f7bca0dc52a09594a927), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 44)" ) -GAME_CUSTOM( 199?, m4nnww__ah, m4nnww, "nn4y.p1", 0x0000, 0x010000, CRC(a1eff941) SHA1(369ec89b82f97c3d8266d41e5eb27be7770bdca4), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 45)" ) +GAME_CUSTOM( 199?, m4nnww__ag, m4nnww, "nn4s.p1", 0x0000, 0x010000, CRC(ec4f01ee) SHA1(443da7ed359a3e208417f7bca0dc52a09594a927), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2)" ) +GAME_CUSTOM( 199?, m4nnww__9, m4nnww, "nn4ad.p1", 0x0000, 0x010000, CRC(827b832f) SHA1(4448ccb03282b9d39c6a00d02cea4d8ce2225b0e), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 AD)" ) +GAME_CUSTOM( 199?, m4nnww__aa, m4nnww, "nn4b.p1", 0x0000, 0x010000, CRC(65e16330) SHA1(cfd18693155b4b7c5692064a2f693eb198d02749), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 B)" ) +GAME_CUSTOM( 199?, m4nnww__ab, m4nnww, "nn4bd.p1", 0x0000, 0x010000, CRC(b467ee65) SHA1(79030aa06ca8fd9c8becff62d56628939e9b5075), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 BD)" ) +GAME_CUSTOM( 199?, m4nnww__ac, m4nnww, "nn4d.p1", 0x0000, 0x010000, CRC(548dacb9) SHA1(55949910374fae419ba015b70780e3e9e269caa0), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 D)" ) +GAME_CUSTOM( 199?, m4nnww__ad, m4nnww, "nn4dk.p1", 0x0000, 0x010000, CRC(9053aa15) SHA1(99d1e6d8776434a4ec69a565d673b45402467b8d), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 KD)" ) +GAME_CUSTOM( 199?, m4nnww__ae, m4nnww, "nn4dy.p1", 0x0000, 0x010000, CRC(5fcd5a18) SHA1(b1b3283a303114ca1daab89cea44211ece7188ef), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 YD)" ) +GAME_CUSTOM( 199?, m4nnww__af, m4nnww, "nn4k.p1", 0x0000, 0x010000, CRC(09a808c0) SHA1(c74c3acb2c1f52fd1e83003fb1a022f80f55e0b8), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 K)" ) +GAME_CUSTOM( 199?, m4nnww__ah, m4nnww, "nn4y.p1", 0x0000, 0x010000, CRC(a1eff941) SHA1(369ec89b82f97c3d8266d41e5eb27be7770bdca4), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NN4 0.2 Y)" ) // "(C)1991 BARCREST" and "NNU 5.2" -GAME_CUSTOM( 199?, m4nnww__at, m4nnww, "nnus.p1", 0x0000, 0x010000, CRC(3e3a829e) SHA1(5aa3a56e007bad4dacdc3c993c87569e4250eecd), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 57)" ) -GAME_CUSTOM( 199?, m4nnww__au, m4nnww, "nnux.p1", 0x0000, 0x010000, CRC(38806ebf) SHA1(a897a33e3260de1b284b01a65d1da7cbe05d51f8), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 58)" ) -GAME_CUSTOM( 199?, m4nnww__av, m4nnww, "nnuxb.p1", 0x0000, 0x010000, CRC(c4dba8df) SHA1(0f8516cc9b2f0be9d1c936667974cd8116018dad), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 59)" ) -GAME_CUSTOM( 199?, m4nnww__aw, m4nnww, "nnuxc.p1", 0x0000, 0x010000, CRC(797e0c4d) SHA1(211b0a804643731275d0075461f8d94985fde1db), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (set 60)" ) +GAME_CUSTOM( 199?, m4nnww__at, m4nnww, "nnus.p1", 0x0000, 0x010000, CRC(3e3a829e) SHA1(5aa3a56e007bad4dacdc3c993c87569e4250eecd), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NNU 5.2)" ) +GAME_CUSTOM( 199?, m4nnww__au, m4nnww, "nnux.p1", 0x0000, 0x010000, CRC(38806ebf) SHA1(a897a33e3260de1b284b01a65d1da7cbe05d51f8), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NNU 5.2 X)" ) +GAME_CUSTOM( 199?, m4nnww__av, m4nnww, "nnuxb.p1", 0x0000, 0x010000, CRC(c4dba8df) SHA1(0f8516cc9b2f0be9d1c936667974cd8116018dad), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NNU 5.2 BX)" ) +GAME_CUSTOM( 199?, m4nnww__aw, m4nnww, "nnuxc.p1", 0x0000, 0x010000, CRC(797e0c4d) SHA1(211b0a804643731275d0075461f8d94985fde1db), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NNU 5.2 CX)" ) // "(C)1991 BARCREST" and "NNU 4.0" -GAME_CUSTOM( 199?, m4nnww__as, m4nnww, "nnu40x.bin", 0x0000, 0x010000, CRC(63e3d7df) SHA1(1a5a00185ec5150f5b05765f06297d7884540aaf), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NNU 4.0X)" ) +GAME_CUSTOM( 199?, m4nnww__as, m4nnww, "nnu40x.bin", 0x0000, 0x010000, CRC(63e3d7df) SHA1(1a5a00185ec5150f5b05765f06297d7884540aaf), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (NNU 4.0 X)" ) // "(C)1991 BARCREST" and "NN4 0.1" (startup CH3 0.1) -GAME_CUSTOM( 199?, m4nnww__ax, m4nnww, "nnwink.hex", 0x0000, 0x010000, CRC(f77bd6c4) SHA1(1631040fbfe3fc37c2cbd3145857c31d16b92bde), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CH3 0.1B / NN4 0.1)" ) +GAME_CUSTOM( 199?, m4nnww__ax, m4nnww, "nnwink.hex", 0x0000, 0x010000, CRC(f77bd6c4) SHA1(1631040fbfe3fc37c2cbd3145857c31d16b92bde), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CH3 0.1 B / NN4 0.1)" ) // "(C)1991 BARCREST" and "NN4 0.1" (startup CF3 0.1) GAME_CUSTOM( 199?, m4nnww__a, m4nnww, "cf301s", 0x0000, 0x010000, CRC(1d8abf59) SHA1(81e47797baddd777fbbb1b1e044df1bfe3d49cb2), "Barcrest","Nudge Nudge Wink Wink (Barcrest) (MPU4) (CF3 0.1 / NN4 0.1)" ) // no copyright string and "NNU 3.4" @@ -1693,14 +1693,14 @@ GAME_CUSTOM( 199?, m4nnww__az, m4nnww, "wink2010", 0x0000, 0x010000, CRC(0 // "(C)1993 BARCREST" and "RUN 0.5" GAME_CUSTOM( 199?, m4rfym, 0, "runs.p1", 0x0000, 0x010000, CRC(e20f5a06) SHA1(f0f71f8870db7003fce96f1dfe09804cf17c3ab3), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5)" ) -GAME_CUSTOM( 199?, m4rfym__ar, m4rfym, "rund.p1", 0x0000, 0x010000, CRC(2be2a66d) SHA1(a66d74ccf1783912673cfcb6c1ae7fbb6d70ca0e), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5D)" ) -GAME_CUSTOM( 199?, m4rfym__ao, m4rfym, "runc.p1", 0x0000, 0x010000, CRC(09f53ddf) SHA1(f46be95bfacac751102a5f4d4a0917a5e51a653e), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5C)" ) -GAME_CUSTOM( 199?, m4rfym__ap, m4rfym, "rundy.p1", 0x0000, 0x010000, CRC(a6f69a24) SHA1(8370287dcc890fcb7529d3d4c7a3c2e2e688f6a8), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5YD)" ) -GAME_CUSTOM( 199?, m4rfym__aq, m4rfym, "runk.p1", 0x0000, 0x010000, CRC(a2828b82) SHA1(0ae371a441df679fd9c699771ae9f58ce960d4a1), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5K)" ) -GAME_CUSTOM( 199?, m4rfym__as, m4rfym, "runy.p1", 0x0000, 0x010000, CRC(0e311ab4) SHA1(c98540c07e9cc23ec70ecfbcb2f4d66f2c716fc3), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5Y)" ) +GAME_CUSTOM( 199?, m4rfym__ar, m4rfym, "rund.p1", 0x0000, 0x010000, CRC(2be2a66d) SHA1(a66d74ccf1783912673cfcb6c1ae7fbb6d70ca0e), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 D)" ) +GAME_CUSTOM( 199?, m4rfym__ao, m4rfym, "runc.p1", 0x0000, 0x010000, CRC(09f53ddf) SHA1(f46be95bfacac751102a5f4d4a0917a5e51a653e), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 C)" ) +GAME_CUSTOM( 199?, m4rfym__ap, m4rfym, "rundy.p1", 0x0000, 0x010000, CRC(a6f69a24) SHA1(8370287dcc890fcb7529d3d4c7a3c2e2e688f6a8), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 YD)" ) +GAME_CUSTOM( 199?, m4rfym__aq, m4rfym, "runk.p1", 0x0000, 0x010000, CRC(a2828b82) SHA1(0ae371a441df679fd9c699771ae9f58ce960d4a1), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 K)" ) +GAME_CUSTOM( 199?, m4rfym__as, m4rfym, "runy.p1", 0x0000, 0x010000, CRC(0e311ab4) SHA1(c98540c07e9cc23ec70ecfbcb2f4d66f2c716fc3), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUN 0.5 Y)" ) // "(C)1993 BARCREST" and "AP1 0.1" GAME_CUSTOM( 199?, m4rfym__h, m4rfym, "ap1s.p1", 0x0000, 0x010000, CRC(7474509c) SHA1(c87e20f10806ec87fd33f97b43b8378d304f7d67), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1)" ) -GAME_CUSTOM( 199?, m4rfym__a, m4rfym, "ap1ad.p1", 0x0000, 0x010000, CRC(d1adbf80) SHA1(08801f38b8ba5034fd83b53b6cfff864104525b4), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1AD)" ) +GAME_CUSTOM( 199?, m4rfym__a, m4rfym, "ap1ad.p1", 0x0000, 0x010000, CRC(d1adbf80) SHA1(08801f38b8ba5034fd83b53b6cfff864104525b4), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 AD)" ) GAME_CUSTOM( 199?, m4rfym__b, m4rfym, "ap1b.p1", 0x0000, 0x010000, CRC(4939f186) SHA1(389d46d603e75d3aaeeca990f4e1143c61f1565f), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 3)" ) GAME_CUSTOM( 199?, m4rfym__c, m4rfym, "ap1bd.p1", 0x0000, 0x010000, CRC(08a33b2c) SHA1(ef38e9cd0c9bc8393530e36060c803d1250c46a6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 4)" ) GAME_CUSTOM( 199?, m4rfym__d, m4rfym, "ap1d.p1", 0x0000, 0x010000, CRC(edef44fe) SHA1(4907804c1bebc1f13aa3eb9dad0e9189de8e9601), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 5)" ) From 5205b224f723c60525455d62cf6c64d5da62252d Mon Sep 17 00:00:00 2001 From: David Haywood Date: Sun, 14 Aug 2016 14:57:41 +0100 Subject: [PATCH 042/116] more mpu4 descriptions (nw) --- src/mame/drivers/mpu4sw.hxx | 242 ++++++++++++++++++------------------ 1 file changed, 121 insertions(+), 121 deletions(-) diff --git a/src/mame/drivers/mpu4sw.hxx b/src/mame/drivers/mpu4sw.hxx index a09aae1a896..443acc0adb5 100644 --- a/src/mame/drivers/mpu4sw.hxx +++ b/src/mame/drivers/mpu4sw.hxx @@ -1701,77 +1701,77 @@ GAME_CUSTOM( 199?, m4rfym__as, m4rfym, "runy.p1", 0x0000, 0x010000, CRC(0 // "(C)1993 BARCREST" and "AP1 0.1" GAME_CUSTOM( 199?, m4rfym__h, m4rfym, "ap1s.p1", 0x0000, 0x010000, CRC(7474509c) SHA1(c87e20f10806ec87fd33f97b43b8378d304f7d67), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1)" ) GAME_CUSTOM( 199?, m4rfym__a, m4rfym, "ap1ad.p1", 0x0000, 0x010000, CRC(d1adbf80) SHA1(08801f38b8ba5034fd83b53b6cfff864104525b4), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 AD)" ) -GAME_CUSTOM( 199?, m4rfym__b, m4rfym, "ap1b.p1", 0x0000, 0x010000, CRC(4939f186) SHA1(389d46d603e75d3aaeeca990f4e1143c61f1565f), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 3)" ) -GAME_CUSTOM( 199?, m4rfym__c, m4rfym, "ap1bd.p1", 0x0000, 0x010000, CRC(08a33b2c) SHA1(ef38e9cd0c9bc8393530e36060c803d1250c46a6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 4)" ) -GAME_CUSTOM( 199?, m4rfym__d, m4rfym, "ap1d.p1", 0x0000, 0x010000, CRC(edef44fe) SHA1(4907804c1bebc1f13aa3eb9dad0e9189de8e9601), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 5)" ) -GAME_CUSTOM( 199?, m4rfym__e, m4rfym, "ap1dk.p1", 0x0000, 0x010000, CRC(873a402c) SHA1(1315a4ad18544ca5d65526ea0f620cac528e4cad), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 6)" ) -GAME_CUSTOM( 199?, m4rfym__f, m4rfym, "ap1dy.p1", 0x0000, 0x010000, CRC(e8436c00) SHA1(1c2f171e55c3519d63d6c4dd0d56df4e1daad6af), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 7)" ) -GAME_CUSTOM( 199?, m4rfym__g, m4rfym, "ap1k.p1", 0x0000, 0x010000, CRC(9afeb1e7) SHA1(5fc5d73a2c976d227a0598fb1dd802c6336415d1), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 8)" ) -GAME_CUSTOM( 199?, m4rfym__i, m4rfym, "ap1y.p1", 0x0000, 0x010000, CRC(152bf7cb) SHA1(8dd8b621f9dac430c293b29ca03814fc21a148b9), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 10)" ) +GAME_CUSTOM( 199?, m4rfym__b, m4rfym, "ap1b.p1", 0x0000, 0x010000, CRC(4939f186) SHA1(389d46d603e75d3aaeeca990f4e1143c61f1565f), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 B)" ) +GAME_CUSTOM( 199?, m4rfym__c, m4rfym, "ap1bd.p1", 0x0000, 0x010000, CRC(08a33b2c) SHA1(ef38e9cd0c9bc8393530e36060c803d1250c46a6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 BD)" ) +GAME_CUSTOM( 199?, m4rfym__d, m4rfym, "ap1d.p1", 0x0000, 0x010000, CRC(edef44fe) SHA1(4907804c1bebc1f13aa3eb9dad0e9189de8e9601), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 D)" ) +GAME_CUSTOM( 199?, m4rfym__e, m4rfym, "ap1dk.p1", 0x0000, 0x010000, CRC(873a402c) SHA1(1315a4ad18544ca5d65526ea0f620cac528e4cad), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 KD)" ) +GAME_CUSTOM( 199?, m4rfym__f, m4rfym, "ap1dy.p1", 0x0000, 0x010000, CRC(e8436c00) SHA1(1c2f171e55c3519d63d6c4dd0d56df4e1daad6af), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 YD)" ) +GAME_CUSTOM( 199?, m4rfym__g, m4rfym, "ap1k.p1", 0x0000, 0x010000, CRC(9afeb1e7) SHA1(5fc5d73a2c976d227a0598fb1dd802c6336415d1), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 K)" ) +GAME_CUSTOM( 199?, m4rfym__i, m4rfym, "ap1y.p1", 0x0000, 0x010000, CRC(152bf7cb) SHA1(8dd8b621f9dac430c293b29ca03814fc21a148b9), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP1 0.1 Y)" ) // "(C)1993 BARCREST" and "AP5 0.2" GAME_CUSTOM( 199?, m4rfym__s, m4rfym, "ap502s.p1", 0x0000, 0x010000, CRC(8502a09a) SHA1(e635552b7f0c7b2e142d7f4d0f1fd93edac6132d), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2)" ) -GAME_CUSTOM( 199?, m4rfym__j, m4rfym, "ap502ad.p1", 0x0000, 0x010000, CRC(ab059e57) SHA1(45ba91989b0fd1a44628f696b78eae2a349e3e4a), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2AD)" ) -GAME_CUSTOM( 199?, m4rfym__k, m4rfym, "ap502b.p1", 0x0000, 0x010000, CRC(9ed27a6e) SHA1(2d655305a178e4ebe43f3d429dfec5a2ef6b9873), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 12)" ) -GAME_CUSTOM( 199?, m4rfym__l, m4rfym, "ap502bd.p1", 0x0000, 0x010000, CRC(48e83fcd) SHA1(3e2de0416722df5004f00baae2d3f6846ff596e5), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 13)" ) -GAME_CUSTOM( 199?, m4rfym__m, m4rfym, "ap502d.p1", 0x0000, 0x010000, CRC(d0560301) SHA1(c35e97391c588f6567eeb253eb9de59bec9e1724), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 14)" ) -GAME_CUSTOM( 199?, m4rfym__n, m4rfym, "ap502dk.p1", 0x0000, 0x010000, CRC(82aa8d80) SHA1(e42d10537dcc5aaae59472681b215b0eb0821c25), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 15)" ) -GAME_CUSTOM( 199?, m4rfym__o, m4rfym, "ap502dr.p1", 0x0000, 0x010000, CRC(1cfb3102) SHA1(b1d3a533de0ff93e15f7c039e75af0ef6c8eec57), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 16)" ) -GAME_CUSTOM( 199?, m4rfym__p, m4rfym, "ap502dy.p1", 0x0000, 0x010000, CRC(819019ec) SHA1(36d2093a7a592850533d4206e0c9dd28cdc17568), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 17)" ) -GAME_CUSTOM( 199?, m4rfym__q, m4rfym, "ap502k.p1", 0x0000, 0x010000, CRC(5064a894) SHA1(3e67358fe5ed9bfac05f621d7e72e5be7aae67df), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 18)" ) -GAME_CUSTOM( 199?, m4rfym__r, m4rfym, "ap502r.p1", 0x0000, 0x010000, CRC(2503c7da) SHA1(2478bab8b19ab68ff01be8fae2e86e47894b3d7c), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 19)" ) -GAME_CUSTOM( 199?, m4rfym__t, m4rfym, "ap502y.p1", 0x0000, 0x010000, CRC(b868ef34) SHA1(a773503afd2f59b71e0b9a7e202d3e7120ec88ff), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 21)" ) +GAME_CUSTOM( 199?, m4rfym__j, m4rfym, "ap502ad.p1", 0x0000, 0x010000, CRC(ab059e57) SHA1(45ba91989b0fd1a44628f696b78eae2a349e3e4a), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 AD)" ) +GAME_CUSTOM( 199?, m4rfym__k, m4rfym, "ap502b.p1", 0x0000, 0x010000, CRC(9ed27a6e) SHA1(2d655305a178e4ebe43f3d429dfec5a2ef6b9873), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 B)" ) +GAME_CUSTOM( 199?, m4rfym__l, m4rfym, "ap502bd.p1", 0x0000, 0x010000, CRC(48e83fcd) SHA1(3e2de0416722df5004f00baae2d3f6846ff596e5), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 BD)" ) +GAME_CUSTOM( 199?, m4rfym__m, m4rfym, "ap502d.p1", 0x0000, 0x010000, CRC(d0560301) SHA1(c35e97391c588f6567eeb253eb9de59bec9e1724), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 D)" ) +GAME_CUSTOM( 199?, m4rfym__n, m4rfym, "ap502dk.p1", 0x0000, 0x010000, CRC(82aa8d80) SHA1(e42d10537dcc5aaae59472681b215b0eb0821c25), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 KD)" ) +GAME_CUSTOM( 199?, m4rfym__o, m4rfym, "ap502dr.p1", 0x0000, 0x010000, CRC(1cfb3102) SHA1(b1d3a533de0ff93e15f7c039e75af0ef6c8eec57), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 RD)" ) +GAME_CUSTOM( 199?, m4rfym__p, m4rfym, "ap502dy.p1", 0x0000, 0x010000, CRC(819019ec) SHA1(36d2093a7a592850533d4206e0c9dd28cdc17568), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 YD)" ) +GAME_CUSTOM( 199?, m4rfym__q, m4rfym, "ap502k.p1", 0x0000, 0x010000, CRC(5064a894) SHA1(3e67358fe5ed9bfac05f621d7e72e5be7aae67df), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 K)" ) +GAME_CUSTOM( 199?, m4rfym__r, m4rfym, "ap502r.p1", 0x0000, 0x010000, CRC(2503c7da) SHA1(2478bab8b19ab68ff01be8fae2e86e47894b3d7c), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 R)" ) +GAME_CUSTOM( 199?, m4rfym__t, m4rfym, "ap502y.p1", 0x0000, 0x010000, CRC(b868ef34) SHA1(a773503afd2f59b71e0b9a7e202d3e7120ec88ff), "Barcrest","Run For Your Money (Barcrest) (MPU4) (AP5 0.2 Y)" ) // "(C)1993 BARCREST" and "APR 0.1" GAME_CUSTOM( 199?, m4rfym__2, m4rfym, "aprs.p1", 0x0000, 0x010000, CRC(a114a96a) SHA1(b0a9091cac86750329513a0927dd39b76995b2f2), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1)" ) -GAME_CUSTOM( 199?, m4rfym__u, m4rfym, "aprad.p1", 0x0000, 0x010000, CRC(936f59ac) SHA1(325708d965d56a9a7482dbeaa089ca871d5c01b5), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1AD)" ) -GAME_CUSTOM( 199?, m4rfym__v, m4rfym, "aprb.p1", 0x0000, 0x010000, CRC(72ad662a) SHA1(11f1695e05ecf34a58f8df3ffbc72ab2dd7d02c9), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 23)" ) -GAME_CUSTOM( 199?, m4rfym__w, m4rfym, "aprbd.p1", 0x0000, 0x010000, CRC(13af990d) SHA1(604d2173e3d6d25252b30b5bf386b53470c35581), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 24)" ) -GAME_CUSTOM( 199?, m4rfym__x, m4rfym, "aprc.p1", 0x0000, 0x010000, CRC(fd3ece9a) SHA1(e11d1d258a415865f7477cdfddcd47e9bdb1c9b5), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 25)" ) -GAME_CUSTOM( 199?, m4rfym__y, m4rfym, "aprd.p1", 0x0000, 0x010000, CRC(8c19b732) SHA1(e7aeea41cf649fe2a28414ddedacdf72f56d32fe), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 26)" ) -GAME_CUSTOM( 199?, m4rfym__z, m4rfym, "aprdk.p1", 0x0000, 0x010000, CRC(58a41fcd) SHA1(e8c92dfb5c9662c90d363b5b7a7e0a4b4894d4cb), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 27)" ) -GAME_CUSTOM( 199?, m4rfym__0, m4rfym, "aprdy.p1", 0x0000, 0x010000, CRC(9496cfad) SHA1(cb24779db99d283f1df86864886f21ad333cb98b), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 28)" ) -GAME_CUSTOM( 199?, m4rfym__1, m4rfym, "aprk.p1", 0x0000, 0x010000, CRC(7277ef07) SHA1(dc509d125f8d377d4b2cb011d32be5bdba1daa17), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 29)" ) -GAME_CUSTOM( 199?, m4rfym__3, m4rfym, "apry.p1", 0x0000, 0x010000, CRC(bf2120bc) SHA1(473374a9510dd53e39b94bfcf1369e13647239e6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 31)" ) +GAME_CUSTOM( 199?, m4rfym__u, m4rfym, "aprad.p1", 0x0000, 0x010000, CRC(936f59ac) SHA1(325708d965d56a9a7482dbeaa089ca871d5c01b5), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 AD)" ) +GAME_CUSTOM( 199?, m4rfym__v, m4rfym, "aprb.p1", 0x0000, 0x010000, CRC(72ad662a) SHA1(11f1695e05ecf34a58f8df3ffbc72ab2dd7d02c9), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 B)" ) +GAME_CUSTOM( 199?, m4rfym__w, m4rfym, "aprbd.p1", 0x0000, 0x010000, CRC(13af990d) SHA1(604d2173e3d6d25252b30b5bf386b53470c35581), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 BD)" ) +GAME_CUSTOM( 199?, m4rfym__x, m4rfym, "aprc.p1", 0x0000, 0x010000, CRC(fd3ece9a) SHA1(e11d1d258a415865f7477cdfddcd47e9bdb1c9b5), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 C)" ) +GAME_CUSTOM( 199?, m4rfym__y, m4rfym, "aprd.p1", 0x0000, 0x010000, CRC(8c19b732) SHA1(e7aeea41cf649fe2a28414ddedacdf72f56d32fe), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 D)" ) +GAME_CUSTOM( 199?, m4rfym__z, m4rfym, "aprdk.p1", 0x0000, 0x010000, CRC(58a41fcd) SHA1(e8c92dfb5c9662c90d363b5b7a7e0a4b4894d4cb), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 KD)" ) +GAME_CUSTOM( 199?, m4rfym__0, m4rfym, "aprdy.p1", 0x0000, 0x010000, CRC(9496cfad) SHA1(cb24779db99d283f1df86864886f21ad333cb98b), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 YD)" ) +GAME_CUSTOM( 199?, m4rfym__1, m4rfym, "aprk.p1", 0x0000, 0x010000, CRC(7277ef07) SHA1(dc509d125f8d377d4b2cb011d32be5bdba1daa17), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 K)" ) +GAME_CUSTOM( 199?, m4rfym__3, m4rfym, "apry.p1", 0x0000, 0x010000, CRC(bf2120bc) SHA1(473374a9510dd53e39b94bfcf1369e13647239e6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (APR 0.1 Y)" ) // "(C)1993 BARCREST" and "RU5 0.1" GAME_CUSTOM( 199?, m4rfym__af, m4rfym, "ru5s.p1", 0x0000, 0x010000, CRC(41795ea3) SHA1(6bfb6da6c0f7e762d628ce8a9dcdcbc3c0326ca6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1)" ) -GAME_CUSTOM( 199?, m4rfym__8, m4rfym, "ru5ad.p1", 0x0000, 0x010000, CRC(1c3e1f39) SHA1(a45cdaaa875e52cf5cd5adf986c98f4a22a14785), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1AD)" ) -GAME_CUSTOM( 199?, m4rfym__9, m4rfym, "ru5b.p1", 0x0000, 0x010000, CRC(41e44d37) SHA1(8eb409b96864fb0f7c3bf5c66a20a63c8cbc68af), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 37)" ) -GAME_CUSTOM( 199?, m4rfym__aa, m4rfym, "ru5bd.p1", 0x0000, 0x010000, CRC(8d4db415) SHA1(b023a13f89b7e5c2f72fd213179f723621871faf), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 38)" ) -GAME_CUSTOM( 199?, m4rfym__ab, m4rfym, "ru5d.p1", 0x0000, 0x010000, CRC(fcb70a63) SHA1(df81c3c26c066c1326b20b9e0dda2863ee9635a6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 39)" ) -GAME_CUSTOM( 199?, m4rfym__ac, m4rfym, "ru5dk.p1", 0x0000, 0x010000, CRC(b4d83863) SHA1(02aebf94773d0a9454119b4ad663b6d8475fc8d3), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 40)" ) -GAME_CUSTOM( 199?, m4rfym__ad, m4rfym, "ru5dy.p1", 0x0000, 0x010000, CRC(66375af5) SHA1(0a6d10357c163e5e27e7436f8190070e36e3ef90), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 41)" ) -GAME_CUSTOM( 199?, m4rfym__ae, m4rfym, "ru5k.p1", 0x0000, 0x010000, CRC(7871c141) SHA1(e1e9d2972c87d2835b1e5a62502160cb4abb7736), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 42)" ) -GAME_CUSTOM( 199?, m4rfym__ag, m4rfym, "ru5y.p1", 0x0000, 0x010000, CRC(ee217541) SHA1(68474c2e430d95ded2856183b9a02be917d092d6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 44)" ) +GAME_CUSTOM( 199?, m4rfym__8, m4rfym, "ru5ad.p1", 0x0000, 0x010000, CRC(1c3e1f39) SHA1(a45cdaaa875e52cf5cd5adf986c98f4a22a14785), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 AD)" ) +GAME_CUSTOM( 199?, m4rfym__9, m4rfym, "ru5b.p1", 0x0000, 0x010000, CRC(41e44d37) SHA1(8eb409b96864fb0f7c3bf5c66a20a63c8cbc68af), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 B)" ) +GAME_CUSTOM( 199?, m4rfym__aa, m4rfym, "ru5bd.p1", 0x0000, 0x010000, CRC(8d4db415) SHA1(b023a13f89b7e5c2f72fd213179f723621871faf), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 BD)" ) +GAME_CUSTOM( 199?, m4rfym__ab, m4rfym, "ru5d.p1", 0x0000, 0x010000, CRC(fcb70a63) SHA1(df81c3c26c066c1326b20b9e0dda2863ee9635a6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 D)" ) +GAME_CUSTOM( 199?, m4rfym__ac, m4rfym, "ru5dk.p1", 0x0000, 0x010000, CRC(b4d83863) SHA1(02aebf94773d0a9454119b4ad663b6d8475fc8d3), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 KD)" ) +GAME_CUSTOM( 199?, m4rfym__ad, m4rfym, "ru5dy.p1", 0x0000, 0x010000, CRC(66375af5) SHA1(0a6d10357c163e5e27e7436f8190070e36e3ef90), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 YD)" ) +GAME_CUSTOM( 199?, m4rfym__ae, m4rfym, "ru5k.p1", 0x0000, 0x010000, CRC(7871c141) SHA1(e1e9d2972c87d2835b1e5a62502160cb4abb7736), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 K)" ) +GAME_CUSTOM( 199?, m4rfym__ag, m4rfym, "ru5y.p1", 0x0000, 0x010000, CRC(ee217541) SHA1(68474c2e430d95ded2856183b9a02be917d092d6), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU5 0.1 Y)" ) // "(C)1993 BARCREST" and "RU8 0.1" GAME_CUSTOM( 199?, m4rfym__am, m4rfym, "ru8s.p1", 0x0000, 0x010000, CRC(d6ce5891) SHA1(c130e7bf614c67767c9af6f38e3cd41ce63d11ef), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1)" ) -GAME_CUSTOM( 199?, m4rfym__ah, m4rfym, "ru8c.p1", 0x0000, 0x010000, CRC(93290724) SHA1(37b17b08f77b308289d4392900576dc66a0377eb), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1C)" ) -GAME_CUSTOM( 199?, m4rfym__ai, m4rfym, "ru8d.p1", 0x0000, 0x010000, CRC(3e7d6ebb) SHA1(a836a52aef9fe4a9021835e99109b7fefb4ead76), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 46)" ) -GAME_CUSTOM( 199?, m4rfym__aj, m4rfym, "ru8dk.p1", 0x0000, 0x010000, CRC(b2983dc1) SHA1(412bf4a643c807371fa465fb5f9a85bc3e46623d), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 47)" ) -GAME_CUSTOM( 199?, m4rfym__ak, m4rfym, "ru8dy.p1", 0x0000, 0x010000, CRC(7d06cdcc) SHA1(d68f6ee59eb7689df30412288db4e9ee6c4bf178), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 48)" ) -GAME_CUSTOM( 199?, m4rfym__al, m4rfym, "ru8k.p1", 0x0000, 0x010000, CRC(42f6226e) SHA1(c4bac8efd9c17f96dd9d973e9f64c85ceeacb36b), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 49)" ) -GAME_CUSTOM( 199?, m4rfym__an, m4rfym, "ru8y.p1", 0x0000, 0x010000, CRC(f1fc1e75) SHA1(f6f1008349505ee0c494fcdde27db2a15147b6cb), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 51)" ) +GAME_CUSTOM( 199?, m4rfym__ah, m4rfym, "ru8c.p1", 0x0000, 0x010000, CRC(93290724) SHA1(37b17b08f77b308289d4392900576dc66a0377eb), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 C)" ) +GAME_CUSTOM( 199?, m4rfym__ai, m4rfym, "ru8d.p1", 0x0000, 0x010000, CRC(3e7d6ebb) SHA1(a836a52aef9fe4a9021835e99109b7fefb4ead76), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 D)" ) +GAME_CUSTOM( 199?, m4rfym__aj, m4rfym, "ru8dk.p1", 0x0000, 0x010000, CRC(b2983dc1) SHA1(412bf4a643c807371fa465fb5f9a85bc3e46623d), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 KD)" ) +GAME_CUSTOM( 199?, m4rfym__ak, m4rfym, "ru8dy.p1", 0x0000, 0x010000, CRC(7d06cdcc) SHA1(d68f6ee59eb7689df30412288db4e9ee6c4bf178), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 YD)" ) +GAME_CUSTOM( 199?, m4rfym__al, m4rfym, "ru8k.p1", 0x0000, 0x010000, CRC(42f6226e) SHA1(c4bac8efd9c17f96dd9d973e9f64c85ceeacb36b), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 K)" ) +GAME_CUSTOM( 199?, m4rfym__an, m4rfym, "ru8y.p1", 0x0000, 0x010000, CRC(f1fc1e75) SHA1(f6f1008349505ee0c494fcdde27db2a15147b6cb), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RU8 0.1 Y)" ) // "(C)1993 BARCREST" and "RUT 0.1" GAME_CUSTOM( 199?, m4rfym__a0, m4rfym, "ruts.p1", 0x0000, 0x010000, CRC(efaf4e03) SHA1(da19d6e28a6727eb9afb69c23fd5685f0dbcc31a), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1)" ) -GAME_CUSTOM( 199?, m4rfym__at, m4rfym, "rutad.p1", 0x0000, 0x010000, CRC(f27090c9) SHA1(28b7bb8046f67a3f8b90069de845b0b791b57078), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1AD)" ) -GAME_CUSTOM( 199?, m4rfym__au, m4rfym, "rutb.p1", 0x0000, 0x010000, CRC(cb7a74bf) SHA1(24274c7e3b40642d698f5c3a9a10cfeb23faaf1b), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 58)" ) -GAME_CUSTOM( 199?, m4rfym__av, m4rfym, "rutbd.p1", 0x0000, 0x010000, CRC(19aba8f2) SHA1(cb726130837149c25adb5d87718b72259cb63a63), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 59)" ) -GAME_CUSTOM( 199?, m4rfym__aw, m4rfym, "rutd.p1", 0x0000, 0x010000, CRC(16a872bd) SHA1(47ad5eb9b473805e2eb86e0d4d9ef4b2e6e3c926), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 60)" ) -GAME_CUSTOM( 199?, m4rfym__ax, m4rfym, "rutdk.p1", 0x0000, 0x010000, CRC(a8259673) SHA1(443081395ea0c1b0a07e6cd4b17670b3e01bb50f), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 61)" ) -GAME_CUSTOM( 199?, m4rfym__ay, m4rfym, "rutdy.p1", 0x0000, 0x010000, CRC(6b799f68) SHA1(87482236f1116983e80a7f190710524d3809cd3a), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 62)" ) -GAME_CUSTOM( 199?, m4rfym__az, m4rfym, "rutk.p1", 0x0000, 0x010000, CRC(20962e5e) SHA1(0be43050d403750b67c796a007b503e132014f4c), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 63)" ) -GAME_CUSTOM( 199?, m4rfym__a1, m4rfym, "ruty.p1", 0x0000, 0x010000, CRC(abb708c5) SHA1(6fe3b52a0ba484576fc83ed35aefeda01d275aec), "Barcrest","Run For Your Money (Barcrest) (MPU4) (set 65)" ) -// "(C)1996 B.W.B." and "RUC 1.3" (hack?) -GAME_CUSTOM( 199?, m4rfym__6, m4rfym, "rfym510l", 0x0000, 0x010000, CRC(24af47f3) SHA1(3d1ec9b013f3f7b497cfb62b42fbb2fa914b24b6), "Bwb","Run For Your Money (Barcrest) (MPU4) (RUC 1.3, hack?, set 1)" ) -GAME_CUSTOM( 199?, m4rfym__a3, m4rfym, "rfym5.10", 0x0000, 0x010000, CRC(c2ce2cc2) SHA1(d5633e01f669ee8772ed77befa90180c6aa0111c), "Bwb","Run For Your Money (Barcrest) (MPU4) (RUC 1.3, hack?, set 2)" ) -// "(C)1996 B.W.B." and "RU4 1.1" (hack?) -GAME_CUSTOM( 199?, m4rfym__a4, m4rfym, "rfym5.4", 0x0000, 0x010000, CRC(fe613006) SHA1(898b90893bfcb121575952c22c16570a27948bce), "Bwb","Run For Your Money (Barcrest) (MPU4) (RU4 1.1, hack?)" ) -// "(C)1996 B.W.B." and "RU8 1.2" (hack?) -GAME_CUSTOM( 199?, m4rfym__a5, m4rfym, "rfym5.8t", 0x0000, 0x010000, CRC(c600718a) SHA1(168fa558f1b5b91fb805d483f3f4351ac80f90ff), "Bwb","Run For Your Money (Barcrest) (MPU4) (RU8 1.2, hack?)" ) +GAME_CUSTOM( 199?, m4rfym__at, m4rfym, "rutad.p1", 0x0000, 0x010000, CRC(f27090c9) SHA1(28b7bb8046f67a3f8b90069de845b0b791b57078), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 AD)" ) +GAME_CUSTOM( 199?, m4rfym__au, m4rfym, "rutb.p1", 0x0000, 0x010000, CRC(cb7a74bf) SHA1(24274c7e3b40642d698f5c3a9a10cfeb23faaf1b), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 B)" ) +GAME_CUSTOM( 199?, m4rfym__av, m4rfym, "rutbd.p1", 0x0000, 0x010000, CRC(19aba8f2) SHA1(cb726130837149c25adb5d87718b72259cb63a63), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 BD)" ) +GAME_CUSTOM( 199?, m4rfym__aw, m4rfym, "rutd.p1", 0x0000, 0x010000, CRC(16a872bd) SHA1(47ad5eb9b473805e2eb86e0d4d9ef4b2e6e3c926), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 D)" ) +GAME_CUSTOM( 199?, m4rfym__ax, m4rfym, "rutdk.p1", 0x0000, 0x010000, CRC(a8259673) SHA1(443081395ea0c1b0a07e6cd4b17670b3e01bb50f), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 KD)" ) +GAME_CUSTOM( 199?, m4rfym__ay, m4rfym, "rutdy.p1", 0x0000, 0x010000, CRC(6b799f68) SHA1(87482236f1116983e80a7f190710524d3809cd3a), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 YD)" ) +GAME_CUSTOM( 199?, m4rfym__az, m4rfym, "rutk.p1", 0x0000, 0x010000, CRC(20962e5e) SHA1(0be43050d403750b67c796a007b503e132014f4c), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 K)" ) +GAME_CUSTOM( 199?, m4rfym__a1, m4rfym, "ruty.p1", 0x0000, 0x010000, CRC(abb708c5) SHA1(6fe3b52a0ba484576fc83ed35aefeda01d275aec), "Barcrest","Run For Your Money (Barcrest) (MPU4) (RUT 0.1 Y)" ) +// "(C)1996 B.W.B." and "RUC 1.3" (but hack?) +GAME_CUSTOM( 199?, m4rfym__6, m4rfym, "rfym510l", 0x0000, 0x010000, CRC(24af47f3) SHA1(3d1ec9b013f3f7b497cfb62b42fbb2fa914b24b6), "hack","Run For Your Money (Barcrest) (MPU4) (RUC 1.3 K5, hack, set 1)" ) +GAME_CUSTOM( 199?, m4rfym__a3, m4rfym, "rfym5.10", 0x0000, 0x010000, CRC(c2ce2cc2) SHA1(d5633e01f669ee8772ed77befa90180c6aa0111c), "hack","Run For Your Money (Barcrest) (MPU4) (RUC 1.3 K5, hack, set 2)" ) +// "(C)1996 B.W.B." and "RU4 1.1" (but hack?) +GAME_CUSTOM( 199?, m4rfym__a4, m4rfym, "rfym5.4", 0x0000, 0x010000, CRC(fe613006) SHA1(898b90893bfcb121575952c22c16570a27948bce), "hack","Run For Your Money (Barcrest) (MPU4) (RU4 1.1 K5, hack)" ) +// "(C)1996 B.W.B." and "RU8 1.2" (but hack?) +GAME_CUSTOM( 199?, m4rfym__a5, m4rfym, "rfym5.8t", 0x0000, 0x010000, CRC(c600718a) SHA1(168fa558f1b5b91fb805d483f3f4351ac80f90ff), "hack","Run For Your Money (Barcrest) (MPU4) (RU8 1.2 K5, hack)" ) // "BILL AND BEN" and "V1 8 0.1" (hack) -GAME_CUSTOM( 199?, m4rfym__4, m4rfym, "rfym20", 0x0000, 0x010000, CRC(5e1d70e2) SHA1(2da1b8033a77d367c4b5c3d83a0e5def4e5e5d78), "hack","Run For Your Money (Barcrest) (MPU4) (V1 8 0.1, hack, set 1)" ) -GAME_CUSTOM( 199?, m4rfym__5, m4rfym, "rfym2010", 0x0000, 0x010000, CRC(ec440e7e) SHA1(21f8d4708b5d779dcefcc1e921a5efe17dd6f8c7), "hack","Run For Your Money (Barcrest) (MPU4) (V1 8 0.1, hack, set 2)" ) -GAME_CUSTOM( 199?, m4rfym__a2, m4rfym, "rfym20.10", 0x0000, 0x010000, CRC(947d00d2) SHA1(2c99da689541de247e35ac39eadfe070ac3196b5), "hack","Run For Your Money (Barcrest) (MPU4) (V1 8 0.1, hack, set 3)" ) +GAME_CUSTOM( 199?, m4rfym__4, m4rfym, "rfym20", 0x0000, 0x010000, CRC(5e1d70e2) SHA1(2da1b8033a77d367c4b5c3d83a0e5def4e5e5d78), "hack","Run For Your Money (Barcrest) (MPU4) (V1 8 0.1 C, hack, set 1)" ) +GAME_CUSTOM( 199?, m4rfym__5, m4rfym, "rfym2010", 0x0000, 0x010000, CRC(ec440e7e) SHA1(21f8d4708b5d779dcefcc1e921a5efe17dd6f8c7), "hack","Run For Your Money (Barcrest) (MPU4) (V1 8 0.1 C, hack, set 2)" ) +GAME_CUSTOM( 199?, m4rfym__a2, m4rfym, "rfym20.10", 0x0000, 0x010000, CRC(947d00d2) SHA1(2c99da689541de247e35ac39eadfe070ac3196b5), "hack","Run For Your Money (Barcrest) (MPU4) (V1 8 0.1 C, hack, set 3)" ) // "1997 COCO" and "RU4 1.1" (hack) -GAME_CUSTOM( 199?, m4rfym__7, m4rfym, "rfym55", 0x0000, 0x010000, CRC(b7d638d8) SHA1(6064ceffd94ff149d8bcb117fd823de52030ac64), "hack","Run For Your Money (Barcrest) (MPU4) (RU4 1.1, hack)" ) +GAME_CUSTOM( 199?, m4rfym__7, m4rfym, "rfym55", 0x0000, 0x010000, CRC(b7d638d8) SHA1(6064ceffd94ff149d8bcb117fd823de52030ac64), "hack","Run For Your Money (Barcrest) (MPU4) (RU4 1.1 K5, hack)" ) #define M4READY_EXTRA_ROMS \ ROM_REGION( 0x48, "fakechr", 0 ) \ @@ -1790,86 +1790,86 @@ GAME_CUSTOM( 199?, m4rfym__7, m4rfym, "rfym55", 0x0000, 0x010000, CRC(b // "(C)1991 BARCREST" and "RGO 0.8" GAME_CUSTOM( 199?, m4ready, 0, "rgos.p1", 0x0000, 0x010000, CRC(d00d3540) SHA1(0fd6a08477d05d1c129038c8de47de68a28c0a56), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8)" ) -GAME_CUSTOM( 199?, m4ready__as, m4ready, "rgob.p1", 0x0000, 0x010000, CRC(43ac7b73) SHA1(994d6256432543e1353521359f8faaea671a7bea), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8B)" ) -GAME_CUSTOM( 199?, m4ready__ar, m4ready, "rgok.p1", 0x0000, 0x010000, CRC(00413e8f) SHA1(580efbdf3ba092978648d83b6d21b5a4966d57e3), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8K)" ) -GAME_CUSTOM( 199?, m4ready__at, m4ready, "rgoy.p1", 0x0000, 0x010000, CRC(cfdfce82) SHA1(68464381f658f08efb3f790eea1e7dd61086f936), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8Y)" ) +GAME_CUSTOM( 199?, m4ready__as, m4ready, "rgob.p1", 0x0000, 0x010000, CRC(43ac7b73) SHA1(994d6256432543e1353521359f8faaea671a7bea), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8 B)" ) +GAME_CUSTOM( 199?, m4ready__ar, m4ready, "rgok.p1", 0x0000, 0x010000, CRC(00413e8f) SHA1(580efbdf3ba092978648d83b6d21b5a4966d57e3), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8 K)" ) +GAME_CUSTOM( 199?, m4ready__at, m4ready, "rgoy.p1", 0x0000, 0x010000, CRC(cfdfce82) SHA1(68464381f658f08efb3f790eea1e7dd61086f936), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8 Y)" ) // datapak sets -GAME_CUSTOM( 199?, m4ready__ao, m4ready, "rgod.p1", 0x0000, 0x010000, CRC(f3898077) SHA1(4d2f32b4c3f01a0b54966dd0558dcadcf89fd229), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8D)" ) -GAME_CUSTOM( 199?, m4ready__am, m4ready, "rgoad.p1", 0x0000, 0x010000, CRC(d4ed739c) SHA1(6a7d5f63eaf59f08a8f870aba8523e2dc59d20cd), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8AD)" ) -GAME_CUSTOM( 199?, m4ready__an, m4ready, "rgobd.p1", 0x0000, 0x010000, CRC(0505340c) SHA1(e61b007dc50beb22bf3efa2c3cfab595880d3248), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8BD)" ) -GAME_CUSTOM( 199?, m4ready__ap, m4ready, "rgodk.p1", 0x0000, 0x010000, CRC(9a9b61c7) SHA1(756ed419451d1e070809303467789e01949dea2b), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8KD)" ) -GAME_CUSTOM( 199?, m4ready__aq, m4ready, "rgody.p1", 0x0000, 0x010000, CRC(a0eef0f0) SHA1(781de603d19eab0ee771b10374f53c149432c877), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8YD)" ) +GAME_CUSTOM( 199?, m4ready__ao, m4ready, "rgod.p1", 0x0000, 0x010000, CRC(f3898077) SHA1(4d2f32b4c3f01a0b54966dd0558dcadcf89fd229), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8 D)" ) +GAME_CUSTOM( 199?, m4ready__am, m4ready, "rgoad.p1", 0x0000, 0x010000, CRC(d4ed739c) SHA1(6a7d5f63eaf59f08a8f870aba8523e2dc59d20cd), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8 AD)" ) +GAME_CUSTOM( 199?, m4ready__an, m4ready, "rgobd.p1", 0x0000, 0x010000, CRC(0505340c) SHA1(e61b007dc50beb22bf3efa2c3cfab595880d3248), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8 BD)" ) +GAME_CUSTOM( 199?, m4ready__ap, m4ready, "rgodk.p1", 0x0000, 0x010000, CRC(9a9b61c7) SHA1(756ed419451d1e070809303467789e01949dea2b), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8 KD)" ) +GAME_CUSTOM( 199?, m4ready__aq, m4ready, "rgody.p1", 0x0000, 0x010000, CRC(a0eef0f0) SHA1(781de603d19eab0ee771b10374f53c149432c877), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGO 0.8 YD)" ) // "(C)1991 BARCREST" and "CGO 1.1" GAME_CUSTOM( 199?, m4ready__k, m4ready, "cgo11s.p1", 0x0000, 0x010000, CRC(a6b9ddd4) SHA1(b06d5d19b165b82c76b29f7925e0936aeccedb8c), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1)" ) -GAME_CUSTOM( 199?, m4ready__b, m4ready, "cgo11b.p1", 0x0000, 0x010000, CRC(2ea96acb) SHA1(ffcf1fcb2b769b29b53b00c9ce80af061cc21b9d), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1B)" ) -GAME_CUSTOM( 199?, m4ready__d, m4ready, "cgo11c.p1", 0x0000, 0x010000, CRC(76d36b80) SHA1(2699982fed3c2116ff0187d24059f59d3b6c1cae), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1C)" ) -GAME_CUSTOM( 199?, m4ready__i, m4ready, "cgo11k.p1", 0x0000, 0x010000, CRC(4f46e7f6) SHA1(9485edbcbb3a81b1a335a7c420aa676af8b14050), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1K)" ) -GAME_CUSTOM( 199?, m4ready__j, m4ready, "cgo11r.p1", 0x0000, 0x010000, CRC(f44dd36f) SHA1(6623daaa237e97b9d63815393562fe8abdb8d732), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1R)" ) -GAME_CUSTOM( 199?, m4ready__l, m4ready, "cgo11y.p1", 0x0000, 0x010000, CRC(d91653f6) SHA1(6445958cd07088fbf08c37a8b5540e3eb561d021), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1Y)" ) +GAME_CUSTOM( 199?, m4ready__b, m4ready, "cgo11b.p1", 0x0000, 0x010000, CRC(2ea96acb) SHA1(ffcf1fcb2b769b29b53b00c9ce80af061cc21b9d), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1 B)" ) +GAME_CUSTOM( 199?, m4ready__d, m4ready, "cgo11c.p1", 0x0000, 0x010000, CRC(76d36b80) SHA1(2699982fed3c2116ff0187d24059f59d3b6c1cae), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1 C)" ) +GAME_CUSTOM( 199?, m4ready__i, m4ready, "cgo11k.p1", 0x0000, 0x010000, CRC(4f46e7f6) SHA1(9485edbcbb3a81b1a335a7c420aa676af8b14050), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1 K)" ) +GAME_CUSTOM( 199?, m4ready__j, m4ready, "cgo11r.p1", 0x0000, 0x010000, CRC(f44dd36f) SHA1(6623daaa237e97b9d63815393562fe8abdb8d732), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1 R)" ) +GAME_CUSTOM( 199?, m4ready__l, m4ready, "cgo11y.p1", 0x0000, 0x010000, CRC(d91653f6) SHA1(6445958cd07088fbf08c37a8b5540e3eb561d021), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1 Y)" ) // datapak sets -GAME_CUSTOM( 199?, m4ready__e, m4ready, "cgo11d.p1", 0x0000, 0x010000, CRC(63516954) SHA1(abefafe43e3386a5c916e55503bcb623d74840e1), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1D)" ) -GAME_CUSTOM( 199?, m4ready__a, m4ready, "cgo11ad.p1", 0x0000, 0x010000, CRC(9f8bbdaf) SHA1(210cdc9ce493edbf55d43a3127b10931e3ce2fee), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1AD)" ) -GAME_CUSTOM( 199?, m4ready__c, m4ready, "cgo11bd.p1", 0x0000, 0x010000, CRC(4cabc589) SHA1(2b0b91f4ac6ebd18edb7a913b8079acc9f026e7d), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1BD)" ) -GAME_CUSTOM( 199?, m4ready__f, m4ready, "cgo11dk.p1", 0x0000, 0x010000, CRC(84f112ef) SHA1(85fa44c7b25aeb83fa2c199abafe099a8ae92bf8), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1KD)" ) -GAME_CUSTOM( 199?, m4ready__g, m4ready, "cgo11dr.p1", 0x0000, 0x010000, CRC(07d13cf6) SHA1(11685efebf9c7091191654fec1f2ac6ad3d05ce1), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1RD)" ) -GAME_CUSTOM( 199?, m4ready__h, m4ready, "cgo11dy.p1", 0x0000, 0x010000, CRC(13c5b934) SHA1(3212ba2534726c8fca9a70325acff3f6e85dd1f7), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1YD)" ) +GAME_CUSTOM( 199?, m4ready__e, m4ready, "cgo11d.p1", 0x0000, 0x010000, CRC(63516954) SHA1(abefafe43e3386a5c916e55503bcb623d74840e1), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1 D)" ) +GAME_CUSTOM( 199?, m4ready__a, m4ready, "cgo11ad.p1", 0x0000, 0x010000, CRC(9f8bbdaf) SHA1(210cdc9ce493edbf55d43a3127b10931e3ce2fee), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1 AD)" ) +GAME_CUSTOM( 199?, m4ready__c, m4ready, "cgo11bd.p1", 0x0000, 0x010000, CRC(4cabc589) SHA1(2b0b91f4ac6ebd18edb7a913b8079acc9f026e7d), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1 BD)" ) +GAME_CUSTOM( 199?, m4ready__f, m4ready, "cgo11dk.p1", 0x0000, 0x010000, CRC(84f112ef) SHA1(85fa44c7b25aeb83fa2c199abafe099a8ae92bf8), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1 KD)" ) +GAME_CUSTOM( 199?, m4ready__g, m4ready, "cgo11dr.p1", 0x0000, 0x010000, CRC(07d13cf6) SHA1(11685efebf9c7091191654fec1f2ac6ad3d05ce1), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1 RD)" ) +GAME_CUSTOM( 199?, m4ready__h, m4ready, "cgo11dy.p1", 0x0000, 0x010000, CRC(13c5b934) SHA1(3212ba2534726c8fca9a70325acff3f6e85dd1f7), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (CGO 1.1 YD)" ) // "(C)1991 BARCREST" and "DRR 0.2" GAME_CUSTOM( 199?, m4ready__w, m4ready, "drr02s.p1", 0x0000, 0x010000, CRC(67b03b7f) SHA1(61e09db8b7622e6e094c4e585dbcfea724155829), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2)" ) -GAME_CUSTOM( 199?, m4ready__n, m4ready, "drr02b.p1", 0x0000, 0x010000, CRC(729e13c9) SHA1(dcefdd44592464616570101a5e05db31289fc66c), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2B)" ) -GAME_CUSTOM( 199?, m4ready__p, m4ready, "drr02c.p1", 0x0000, 0x010000, CRC(258acbf9) SHA1(ced9dbef9162ddadb4838ad430d50aa14574e97d), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2C)" ) -GAME_CUSTOM( 199?, m4ready__u, m4ready, "drr02k.p1", 0x0000, 0x010000, CRC(525e370e) SHA1(9849399643731beb31b7163b7eebd8774caf9289), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2K)" ) -GAME_CUSTOM( 199?, m4ready__v, m4ready, "drr02r.p1", 0x0000, 0x010000, CRC(352613a0) SHA1(052e7770d55dd379d1bf3501e46d973bc4fc48d8), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2R)" ) -GAME_CUSTOM( 199?, m4ready__x, m4ready, "drr02y.p1", 0x0000, 0x010000, CRC(009c7ece) SHA1(48463d7d0e521d51bad83ac5ddaaffabc68bf610), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2Y)" ) +GAME_CUSTOM( 199?, m4ready__n, m4ready, "drr02b.p1", 0x0000, 0x010000, CRC(729e13c9) SHA1(dcefdd44592464616570101a5e05db31289fc66c), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2 B)" ) +GAME_CUSTOM( 199?, m4ready__p, m4ready, "drr02c.p1", 0x0000, 0x010000, CRC(258acbf9) SHA1(ced9dbef9162ddadb4838ad430d50aa14574e97d), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2 C)" ) +GAME_CUSTOM( 199?, m4ready__u, m4ready, "drr02k.p1", 0x0000, 0x010000, CRC(525e370e) SHA1(9849399643731beb31b7163b7eebd8774caf9289), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2 K)" ) +GAME_CUSTOM( 199?, m4ready__v, m4ready, "drr02r.p1", 0x0000, 0x010000, CRC(352613a0) SHA1(052e7770d55dd379d1bf3501e46d973bc4fc48d8), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2 R)" ) +GAME_CUSTOM( 199?, m4ready__x, m4ready, "drr02y.p1", 0x0000, 0x010000, CRC(009c7ece) SHA1(48463d7d0e521d51bad83ac5ddaaffabc68bf610), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2 Y)" ) // datapak sets -GAME_CUSTOM( 199?, m4ready__q, m4ready, "drr02d.p1", 0x0000, 0x010000, CRC(60940b5a) SHA1(a4d293944e0e65f99dea9391d9d7e1066aa7b83d), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2D)" ) -GAME_CUSTOM( 199?, m4ready__m, m4ready, "drr02ad.p1", 0x0000, 0x010000, CRC(5acc5189) SHA1(abf66b90f4a64c3fb9ac4bf16f3bba2758f54482), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2AD)" ) -GAME_CUSTOM( 199?, m4ready__o, m4ready, "drr02bd.p1", 0x0000, 0x010000, CRC(70c5b183) SHA1(b1431d0c2c48941d1ff6d6115c8d1ab026d71f63), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2BD)" ) -GAME_CUSTOM( 199?, m4ready__r, m4ready, "drr02dk.p1", 0x0000, 0x010000, CRC(0335775e) SHA1(4d943c3e522f5c42ddd2104c316f75eec90f494f), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2KD)" ) -GAME_CUSTOM( 199?, m4ready__s, m4ready, "drr02dr.p1", 0x0000, 0x010000, CRC(c05eef66) SHA1(ac5966ea0ff036d9c9179df6bc7aabd149f41d6c), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2RD)" ) -GAME_CUSTOM( 199?, m4ready__t, m4ready, "drr02dy.p1", 0x0000, 0x010000, CRC(6a700473) SHA1(4025a99aa9e87a80875d150e965650d339d2a143), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2YD)" ) +GAME_CUSTOM( 199?, m4ready__q, m4ready, "drr02d.p1", 0x0000, 0x010000, CRC(60940b5a) SHA1(a4d293944e0e65f99dea9391d9d7e1066aa7b83d), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2 D)" ) +GAME_CUSTOM( 199?, m4ready__m, m4ready, "drr02ad.p1", 0x0000, 0x010000, CRC(5acc5189) SHA1(abf66b90f4a64c3fb9ac4bf16f3bba2758f54482), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2 AD)" ) +GAME_CUSTOM( 199?, m4ready__o, m4ready, "drr02bd.p1", 0x0000, 0x010000, CRC(70c5b183) SHA1(b1431d0c2c48941d1ff6d6115c8d1ab026d71f63), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2 BD)" ) +GAME_CUSTOM( 199?, m4ready__r, m4ready, "drr02dk.p1", 0x0000, 0x010000, CRC(0335775e) SHA1(4d943c3e522f5c42ddd2104c316f75eec90f494f), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2 KD)" ) +GAME_CUSTOM( 199?, m4ready__s, m4ready, "drr02dr.p1", 0x0000, 0x010000, CRC(c05eef66) SHA1(ac5966ea0ff036d9c9179df6bc7aabd149f41d6c), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2 RD)" ) +GAME_CUSTOM( 199?, m4ready__t, m4ready, "drr02dy.p1", 0x0000, 0x010000, CRC(6a700473) SHA1(4025a99aa9e87a80875d150e965650d339d2a143), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (DRR 0.2 YD)" ) // "(C)1991 BARCREST" and "HJJ 0.1" GAME_CUSTOM( 199?, m4ready__y, m4ready, "hjj.hex", 0x0000, 0x010000, CRC(48ab2375) SHA1(4d9360a89e97a6bb7bdb099940d73f425eadd63d), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.1)" ) // "(C)1991 BARCREST" and "HJJ 0.2" GAME_CUSTOM( 199?, m4ready__9, m4ready, "hjj02s.p1", 0x0000, 0x010000, CRC(39de9801) SHA1(c29e883c45ed6b272d65c7922b1871199a424244), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2)" ) -GAME_CUSTOM( 199?, m4ready__0, m4ready, "hjj02b.p1", 0x0000, 0x010000, CRC(778ec121) SHA1(98454562da1da56d57ce3e6279805207671d7337), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2B)" ) -GAME_CUSTOM( 199?, m4ready__2, m4ready, "hjj02c.p1", 0x0000, 0x010000, CRC(fbb149fc) SHA1(6a8305a3ef4a1818a12dab3d380e79b7e642a904), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2C)" ) -GAME_CUSTOM( 199?, m4ready__7, m4ready, "hjj02k.p1", 0x0000, 0x010000, CRC(c224c58a) SHA1(5f9b5ff92e2f1b0438380d635b255ec8b4fc080f), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2K)" ) -GAME_CUSTOM( 199?, m4ready__8, m4ready, "hjj02r.p1", 0x0000, 0x010000, CRC(32fefefe) SHA1(f58e228a1496b0858903c2d850c8453835b6f24b), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2R)" ) -GAME_CUSTOM( 199?, m4ready__aa, m4ready, "hjj02y.p1", 0x0000, 0x010000, CRC(0178cc91) SHA1(d618ff2eb0a1992b88f3b5427ffc54d34bf8c124), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2Y)" ) +GAME_CUSTOM( 199?, m4ready__0, m4ready, "hjj02b.p1", 0x0000, 0x010000, CRC(778ec121) SHA1(98454562da1da56d57ce3e6279805207671d7337), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2 B)" ) +GAME_CUSTOM( 199?, m4ready__2, m4ready, "hjj02c.p1", 0x0000, 0x010000, CRC(fbb149fc) SHA1(6a8305a3ef4a1818a12dab3d380e79b7e642a904), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2 C)" ) +GAME_CUSTOM( 199?, m4ready__7, m4ready, "hjj02k.p1", 0x0000, 0x010000, CRC(c224c58a) SHA1(5f9b5ff92e2f1b0438380d635b255ec8b4fc080f), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2 K)" ) +GAME_CUSTOM( 199?, m4ready__8, m4ready, "hjj02r.p1", 0x0000, 0x010000, CRC(32fefefe) SHA1(f58e228a1496b0858903c2d850c8453835b6f24b), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2 R)" ) +GAME_CUSTOM( 199?, m4ready__aa, m4ready, "hjj02y.p1", 0x0000, 0x010000, CRC(0178cc91) SHA1(d618ff2eb0a1992b88f3b5427ffc54d34bf8c124), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2 Y)" ) // datapak sets -GAME_CUSTOM( 199?, m4ready__3, m4ready, "hjj02d.p1", 0x0000, 0x010000, CRC(9e657e28) SHA1(3eaf9f8a0511f4533e9b47105d4417c71248fab2), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2D)" ) -GAME_CUSTOM( 199?, m4ready__z, m4ready, "hjj02ad.p1", 0x0000, 0x010000, CRC(9f787e01) SHA1(d6cae1c1ae15b74285076e87c7fd8105f6a114ae), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2AD)" ) -GAME_CUSTOM( 199?, m4ready__1, m4ready, "hjj02bd.p1", 0x0000, 0x010000, CRC(7e8dbab0) SHA1(5b40536503b2d62792f874535367f5658acf8d2e), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2BD)" ) -GAME_CUSTOM( 199?, m4ready__4, m4ready, "hjj02dk.p1", 0x0000, 0x010000, CRC(2e1bab77) SHA1(76a2784bc183c6d79a845bb7306eae687ced82a0), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2KD)" ) -GAME_CUSTOM( 199?, m4ready__5, m4ready, "hjj02dr.p1", 0x0000, 0x010000, CRC(9d26064f) SHA1(6596b3a671ab8e38b8357023f8994948ef1c1f0f), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2RD)" ) -GAME_CUSTOM( 199?, m4ready__6, m4ready, "hjj02dy.p1", 0x0000, 0x010000, CRC(0ab388b6) SHA1(cc8f157a8a91e3fb8bd1fbdd35989d72c8684c50), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2YD)" ) +GAME_CUSTOM( 199?, m4ready__3, m4ready, "hjj02d.p1", 0x0000, 0x010000, CRC(9e657e28) SHA1(3eaf9f8a0511f4533e9b47105d4417c71248fab2), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2 D)" ) +GAME_CUSTOM( 199?, m4ready__z, m4ready, "hjj02ad.p1", 0x0000, 0x010000, CRC(9f787e01) SHA1(d6cae1c1ae15b74285076e87c7fd8105f6a114ae), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2 AD)" ) +GAME_CUSTOM( 199?, m4ready__1, m4ready, "hjj02bd.p1", 0x0000, 0x010000, CRC(7e8dbab0) SHA1(5b40536503b2d62792f874535367f5658acf8d2e), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2 BD)" ) +GAME_CUSTOM( 199?, m4ready__4, m4ready, "hjj02dk.p1", 0x0000, 0x010000, CRC(2e1bab77) SHA1(76a2784bc183c6d79a845bb7306eae687ced82a0), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2 KD)" ) +GAME_CUSTOM( 199?, m4ready__5, m4ready, "hjj02dr.p1", 0x0000, 0x010000, CRC(9d26064f) SHA1(6596b3a671ab8e38b8357023f8994948ef1c1f0f), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2 RD)" ) +GAME_CUSTOM( 199?, m4ready__6, m4ready, "hjj02dy.p1", 0x0000, 0x010000, CRC(0ab388b6) SHA1(cc8f157a8a91e3fb8bd1fbdd35989d72c8684c50), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (HJJ 0.2 YD)" ) // "(C)1991 BARCREST" and "PPL 0.2" GAME_CUSTOM( 199?, m4ready__ak, m4ready, "ppl02s.p1", 0x0000, 0x010000, CRC(40c1d256) SHA1(abd55dcc06b49d54976743c610ad3de21278ac2d), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2)" ) -GAME_CUSTOM( 199?, m4ready__ac, m4ready, "ppl02b.p1", 0x0000, 0x010000, CRC(dbd56cf1) SHA1(968c1d09626e493c51d7637e19a7f092047b283f), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2B)" ) -GAME_CUSTOM( 199?, m4ready__ae, m4ready, "ppl02c.p1", 0x0000, 0x010000, CRC(ad6f5c6d) SHA1(91f3d7bad3cdb7014ff3caa1631e6567cb95f47e), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2C)" ) -GAME_CUSTOM( 199?, m4ready__ai, m4ready, "ppl02k.p1", 0x0000, 0x010000, CRC(7fcc03d7) SHA1(359743edec7ca54bd9a780f81ac25d314ada2d7e), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2K)" ) -GAME_CUSTOM( 199?, m4ready__aj, m4ready, "ppl02r.p1", 0x0000, 0x010000, CRC(e35580e3) SHA1(397bd2ce068aa45f3c55a3ddd97ae3e09391a7da), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2R)" ) -GAME_CUSTOM( 199?, m4ready__al, m4ready, "ppl02y.p1", 0x0000, 0x010000, CRC(7802f70c) SHA1(c96758c02bebff4b85436a93ae012c80c6cb2963), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2Y)" ) +GAME_CUSTOM( 199?, m4ready__ac, m4ready, "ppl02b.p1", 0x0000, 0x010000, CRC(dbd56cf1) SHA1(968c1d09626e493c51d7637e19a7f092047b283f), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2 B)" ) +GAME_CUSTOM( 199?, m4ready__ae, m4ready, "ppl02c.p1", 0x0000, 0x010000, CRC(ad6f5c6d) SHA1(91f3d7bad3cdb7014ff3caa1631e6567cb95f47e), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2 C)" ) +GAME_CUSTOM( 199?, m4ready__ai, m4ready, "ppl02k.p1", 0x0000, 0x010000, CRC(7fcc03d7) SHA1(359743edec7ca54bd9a780f81ac25d314ada2d7e), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2 K)" ) +GAME_CUSTOM( 199?, m4ready__aj, m4ready, "ppl02r.p1", 0x0000, 0x010000, CRC(e35580e3) SHA1(397bd2ce068aa45f3c55a3ddd97ae3e09391a7da), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2 R)" ) +GAME_CUSTOM( 199?, m4ready__al, m4ready, "ppl02y.p1", 0x0000, 0x010000, CRC(7802f70c) SHA1(c96758c02bebff4b85436a93ae012c80c6cb2963), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2 Y)" ) // datapak sets -GAME_CUSTOM( 199?, m4ready__af, m4ready, "ppl02d.p1", 0x0000, 0x010000, CRC(041f0fd8) SHA1(8e32c88f7b0a541a9460926a2fec0318a7239279), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2D)" ) -GAME_CUSTOM( 199?, m4ready__ab, m4ready, "ppl02ad.p1", 0x0000, 0x010000, CRC(d8b3be27) SHA1(95d1d979b439303817670fd686b5df324feb618f), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2AD)" ) -GAME_CUSTOM( 199?, m4ready__ad, m4ready, "ppl02bd.p1", 0x0000, 0x010000, CRC(eeafd36d) SHA1(68c314e937d24a59ca305facc409218c63bef24e), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2BD)" ) -GAME_CUSTOM( 199?, m4ready__ag, m4ready, "ppl02dk.p1", 0x0000, 0x010000, CRC(632ecd46) SHA1(9e90279db99aa22923a79e309b053b35b70c9f8e), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2KD)" ) -GAME_CUSTOM( 199?, m4ready__ah, m4ready, "ppl02dy.p1", 0x0000, 0x010000, CRC(4fb07726) SHA1(f234018ea18511217d176023b489254cf5a5a15e), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2YD)" ) +GAME_CUSTOM( 199?, m4ready__af, m4ready, "ppl02d.p1", 0x0000, 0x010000, CRC(041f0fd8) SHA1(8e32c88f7b0a541a9460926a2fec0318a7239279), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2 D)" ) +GAME_CUSTOM( 199?, m4ready__ab, m4ready, "ppl02ad.p1", 0x0000, 0x010000, CRC(d8b3be27) SHA1(95d1d979b439303817670fd686b5df324feb618f), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2 AD)" ) +GAME_CUSTOM( 199?, m4ready__ad, m4ready, "ppl02bd.p1", 0x0000, 0x010000, CRC(eeafd36d) SHA1(68c314e937d24a59ca305facc409218c63bef24e), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2 BD)" ) +GAME_CUSTOM( 199?, m4ready__ag, m4ready, "ppl02dk.p1", 0x0000, 0x010000, CRC(632ecd46) SHA1(9e90279db99aa22923a79e309b053b35b70c9f8e), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2 KD)" ) +GAME_CUSTOM( 199?, m4ready__ah, m4ready, "ppl02dy.p1", 0x0000, 0x010000, CRC(4fb07726) SHA1(f234018ea18511217d176023b489254cf5a5a15e), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (PPL 0.2 YD)" ) // "(C)1991 BARCREST" and "RGT 1.0" GAME_CUSTOM( 199?, m4ready__a4, m4ready, "rgt10s.p1", 0x0000, 0x010000, CRC(dd289204) SHA1(431f73cb45d248c672c50dc8fbc579209e41207d), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0)" ) -GAME_CUSTOM( 199?, m4ready__av, m4ready, "rgt10b.p1", 0x0000, 0x010000, CRC(5d86b45a) SHA1(a7553848a1e4304acaf72f9d293123ca2af629f0), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0B)" ) -GAME_CUSTOM( 199?, m4ready__ax, m4ready, "rgt10c.p1", 0x0000, 0x010000, CRC(91f28aa6) SHA1(42c21d11df3145a0919f7aef53a5621b2beca353), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0C)" ) -GAME_CUSTOM( 199?, m4ready__a2, m4ready, "rgt10k.p1", 0x0000, 0x010000, CRC(78d6eff1) SHA1(d3172ffc9ef3a4f60680081d993e1487e4229625), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0K)" ) -GAME_CUSTOM( 199?, m4ready__a3, m4ready, "rgt10r.p1", 0x0000, 0x010000, CRC(1992945e) SHA1(716b62ca8edc5523fd83355e650982b50b4f9458), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0R)" ) -GAME_CUSTOM( 199?, m4ready__a5, m4ready, "rgt10y.p1", 0x0000, 0x010000, CRC(8dab3aca) SHA1(0fe8f87a17acd8df0b7b75b852b58eb1e273eb27), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0Y)" ) +GAME_CUSTOM( 199?, m4ready__av, m4ready, "rgt10b.p1", 0x0000, 0x010000, CRC(5d86b45a) SHA1(a7553848a1e4304acaf72f9d293123ca2af629f0), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0 B)" ) +GAME_CUSTOM( 199?, m4ready__ax, m4ready, "rgt10c.p1", 0x0000, 0x010000, CRC(91f28aa6) SHA1(42c21d11df3145a0919f7aef53a5621b2beca353), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0 C)" ) +GAME_CUSTOM( 199?, m4ready__a2, m4ready, "rgt10k.p1", 0x0000, 0x010000, CRC(78d6eff1) SHA1(d3172ffc9ef3a4f60680081d993e1487e4229625), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0 K)" ) +GAME_CUSTOM( 199?, m4ready__a3, m4ready, "rgt10r.p1", 0x0000, 0x010000, CRC(1992945e) SHA1(716b62ca8edc5523fd83355e650982b50b4f9458), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0 R)" ) +GAME_CUSTOM( 199?, m4ready__a5, m4ready, "rgt10y.p1", 0x0000, 0x010000, CRC(8dab3aca) SHA1(0fe8f87a17acd8df0b7b75b852b58eb1e273eb27), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0 Y)" ) // datapak sets -GAME_CUSTOM( 199?, m4ready__ay, m4ready, "rgt10d.p1", 0x0000, 0x010000, CRC(abd4a67e) SHA1(183746cd2cd661587854a80ad5455074fcf143cc), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0D)" ) -GAME_CUSTOM( 199?, m4ready__au, m4ready, "rgt10ad.p1", 0x0000, 0x010000, CRC(22f65e05) SHA1(d488e4c65059b3b7e8e88e39a05e0cc9eae2d836), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0AD)" ) -GAME_CUSTOM( 199?, m4ready__aw, m4ready, "rgt10bd.p1", 0x0000, 0x010000, CRC(6280594e) SHA1(d2b666aaac8ebe94bfab1c4404d0e42bd6c8b176), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0BD)" ) -GAME_CUSTOM( 199?, m4ready__az, m4ready, "rgt10dk.p1", 0x0000, 0x010000, CRC(63ee9525) SHA1(e1fa5348672d05149e6ab26f31af047e38192f2c), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0KD)" ) -GAME_CUSTOM( 199?, m4ready__a0, m4ready, "rgt10dr.p1", 0x0000, 0x010000, CRC(481ffebc) SHA1(3608faa929b703d2e45ea37b4f7051d5bb37f073), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0RD)" ) -GAME_CUSTOM( 199?, m4ready__a1, m4ready, "rgt10dy.p1", 0x0000, 0x010000, CRC(fe2498e9) SHA1(bd81c775daf860c2484af88a8b11b75df00ccaaa), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0YD)" ) +GAME_CUSTOM( 199?, m4ready__ay, m4ready, "rgt10d.p1", 0x0000, 0x010000, CRC(abd4a67e) SHA1(183746cd2cd661587854a80ad5455074fcf143cc), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0 D)" ) +GAME_CUSTOM( 199?, m4ready__au, m4ready, "rgt10ad.p1", 0x0000, 0x010000, CRC(22f65e05) SHA1(d488e4c65059b3b7e8e88e39a05e0cc9eae2d836), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0 AD)" ) +GAME_CUSTOM( 199?, m4ready__aw, m4ready, "rgt10bd.p1", 0x0000, 0x010000, CRC(6280594e) SHA1(d2b666aaac8ebe94bfab1c4404d0e42bd6c8b176), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0 BD)" ) +GAME_CUSTOM( 199?, m4ready__az, m4ready, "rgt10dk.p1", 0x0000, 0x010000, CRC(63ee9525) SHA1(e1fa5348672d05149e6ab26f31af047e38192f2c), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0 KD)" ) +GAME_CUSTOM( 199?, m4ready__a0, m4ready, "rgt10dr.p1", 0x0000, 0x010000, CRC(481ffebc) SHA1(3608faa929b703d2e45ea37b4f7051d5bb37f073), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0 RD)" ) +GAME_CUSTOM( 199?, m4ready__a1, m4ready, "rgt10dy.p1", 0x0000, 0x010000, CRC(fe2498e9) SHA1(bd81c775daf860c2484af88a8b11b75df00ccaaa), "Barcrest","Ready Steady Go (Barcrest) (type 2) (MPU4) (RGT 1.0 YD)" ) #define M4MAG7S_EXTRA_ROMS \ From 6a1ac985d4aafc48bacc1715b6fd927c3e4e2787 Mon Sep 17 00:00:00 2001 From: Curt Coder Date: Sun, 14 Aug 2016 17:32:19 +0300 Subject: [PATCH 043/116] victor9k: WIP. (nw) --- src/lib/formats/victor9k_dsk.h | 2 ++ src/mame/drivers/victor9k.cpp | 2 ++ src/mame/machine/victor9k_fdc.cpp | 30 ++++++++++++++++++++++-------- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/lib/formats/victor9k_dsk.h b/src/lib/formats/victor9k_dsk.h index 5664e66155b..c463803b781 100644 --- a/src/lib/formats/victor9k_dsk.h +++ b/src/lib/formats/victor9k_dsk.h @@ -13,6 +13,8 @@ #include "flopimg.h" +//#define USE_SCP 1 + class victor9k_format : public floppy_image_format_t { public: struct format { diff --git a/src/mame/drivers/victor9k.cpp b/src/mame/drivers/victor9k.cpp index 92407d21c33..415f1592496 100644 --- a/src/mame/drivers/victor9k.cpp +++ b/src/mame/drivers/victor9k.cpp @@ -493,6 +493,7 @@ void victor9k_state::machine_start() save_item(NAME(m_kbrdy)); save_item(NAME(m_kbackctl)); +#ifndef USE_SCP // patch out SCP self test m_rom->base()[0x11ab] = 0xc3; @@ -501,6 +502,7 @@ void victor9k_state::machine_start() m_rom->base()[0x1d52] = 0x90; m_rom->base()[0x1d53] = 0x90; m_rom->base()[0x1d54] = 0x90; +#endif } void victor9k_state::machine_reset() diff --git a/src/mame/machine/victor9k_fdc.cpp b/src/mame/machine/victor9k_fdc.cpp index 1b23cb75962..c88d8e4b713 100644 --- a/src/mame/machine/victor9k_fdc.cpp +++ b/src/mame/machine/victor9k_fdc.cpp @@ -51,7 +51,11 @@ #define LOG 0 #define LOG_VIA 0 +#ifdef USE_SCP +#define LOG_SCP 1 +#else #define LOG_SCP 0 +#endif #define LOG_BITS 0 #define I8048_TAG "5d" @@ -353,12 +357,12 @@ void victor_9000_fdc_t::device_timer(emu_timer &timer, device_timer_id id, int p case TM_TACH0: m_tach0 = !m_tach0; - if (LOG_SCP) logerror("TACH0 %u\n", m_tach0); + if (LOG_SCP) logerror("%s TACH0 %u\n", machine().time().as_string(), m_tach0); break; case TM_TACH1: m_tach1 = !m_tach1; - if (LOG_SCP) logerror("TACH1 %u\n", m_tach1); + if (LOG_SCP) logerror("%s TACH1 %u\n", machine().time().as_string(), m_tach1); break; } } @@ -500,12 +504,12 @@ WRITE8_MEMBER( victor_9000_fdc_t::floppy_p2_w ) m_start0 = start0; m_stop0 = stop0; m_sel0 = sel0; - //update_spindle_motor(m_floppy0->get_device(), t_tach0, m_start0, m_stop0, m_sel0, m_da0); + update_spindle_motor(m_floppy0->get_device(), t_tach0, m_start0, m_stop0, m_sel0, m_da0); m_start1 = start1; m_stop1 = stop1; m_sel1 = sel1; - //update_spindle_motor(m_floppy1->get_device(), t_tach1, m_start1, m_stop1, m_sel1, m_da1); + update_spindle_motor(m_floppy1->get_device(), t_tach1, m_start1, m_stop1, m_sel1, m_da1); checkpoint(); @@ -574,6 +578,7 @@ void victor_9000_fdc_t::update_stepper_motor(floppy_image_device *floppy, int st void victor_9000_fdc_t::update_spindle_motor(floppy_image_device *floppy, emu_timer *t_tach, bool start, bool stop, bool sel, UINT8 &da) { +#ifdef USE_SCP if (start && !stop && floppy->mon_r()) { if (LOG_SCP) logerror("%s: motor start\n", floppy->tag()); floppy->mon_w(0); @@ -594,18 +599,23 @@ void victor_9000_fdc_t::update_spindle_motor(floppy_image_device *floppy, emu_ti floppy->set_rpm(rpm[da]); } } +#endif } void victor_9000_fdc_t::set_rdy0(int state) { - //m_rdy0 = state; - //m_via5->write_ca2(m_rdy0); +#ifdef USE_SCP + m_rdy0 = state; + m_via5->write_ca2(m_rdy0); +#endif } void victor_9000_fdc_t::set_rdy1(int state) { - //m_rdy1 = state; - //m_via5->write_cb2(m_rdy1); +#ifdef USE_SCP + m_rdy1 = state; + m_via5->write_cb2(m_rdy1); +#endif } @@ -667,6 +677,7 @@ WRITE8_MEMBER( victor_9000_fdc_t::via4_pa_w ) m_l0ms = data & 0x0f; +#ifndef USE_SCP { // HACK to bypass SCP if (m_floppy0->get_device()) { @@ -676,6 +687,7 @@ WRITE8_MEMBER( victor_9000_fdc_t::via4_pa_w ) m_rdy0 = (m_l0ms == 0xf) ? 0 : 1; m_via5->write_ca2(m_rdy0); } +#endif UINT8 st0 = data >> 4; @@ -730,6 +742,7 @@ WRITE8_MEMBER( victor_9000_fdc_t::via4_pb_w ) m_l1ms = data & 0x0f; +#ifndef USE_SCP { // HACK to bypass SCP if (m_floppy1->get_device()) { @@ -739,6 +752,7 @@ WRITE8_MEMBER( victor_9000_fdc_t::via4_pb_w ) m_rdy1 = (m_l1ms == 0xf) ? 0 : 1; m_via5->write_cb2(m_rdy1); } +#endif UINT8 st1 = data >> 4; From 5a8a6070496c02eb5ea460da7c046eea67a02a72 Mon Sep 17 00:00:00 2001 From: David Haywood Date: Sun, 14 Aug 2016 15:34:37 +0100 Subject: [PATCH 044/116] new clones Super Street Fighter II X: Grand Master Challenge (Japan 940311) [undamned, ShouTime] --- src/mame/drivers/cps2.cpp | 48 +++++++++++++++++++++++++++++++++++---- src/mame/mame.lst | 5 ++-- 2 files changed, 46 insertions(+), 7 deletions(-) diff --git a/src/mame/drivers/cps2.cpp b/src/mame/drivers/cps2.cpp index e7d0f7601ce..0ae3e7505ac 100644 --- a/src/mame/drivers/cps2.cpp +++ b/src/mame/drivers/cps2.cpp @@ -8154,6 +8154,43 @@ ROM_START( ssf2th ) ROM_END ROM_START( ssf2xj ) + ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */ + ROM_LOAD16_WORD_SWAP( "sfxj.03d", 0x000000, 0x80000, CRC(50b52b37) SHA1(dc0330fcbffbc0077faa20d34a28d6a49b04639e) ) + ROM_LOAD16_WORD_SWAP( "sfxj.04a", 0x080000, 0x80000, CRC(af7767b4) SHA1(61e7364408bf07c01634913c112b6245acce48ab) ) + ROM_LOAD16_WORD_SWAP( "sfxj.05", 0x100000, 0x80000, CRC(f4ff18f5) SHA1(aa713c9e1a2eba35bf1c9b40bb262ff7e46b9ce4) ) + ROM_LOAD16_WORD_SWAP( "sfxj.06b", 0x180000, 0x80000, CRC(413477c2) SHA1(63bf120566db0c23cc726e7cdbf78428582c694f) ) + ROM_LOAD16_WORD_SWAP( "sfxj.07a", 0x200000, 0x80000, CRC(a18b3d83) SHA1(f08dd30a1b864fdd5d05d58a0b43e65077702d32) ) + ROM_LOAD16_WORD_SWAP( "sfxj.08", 0x280000, 0x80000, CRC(2de76f10) SHA1(8cbe96dfeaa41306caa2819b82272ce3b0b9f926) ) + ROM_LOAD16_WORD_SWAP( "sfx.09", 0x300000, 0x80000, CRC(642fae3f) SHA1(746df99b826b9837bba267104132161153c1daff) ) + + ROM_REGION( 0x1000000, "gfx", 0 ) + ROMX_LOAD( "sfx.13m", 0x000000, 0x200000, CRC(cf94d275) SHA1(bf2a6d98a656d1cb5734da7836686242d3211137) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sfx.15m", 0x000002, 0x200000, CRC(5eb703af) SHA1(4b302dbb66e8a5c2ad92798699391e981bada427) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sfx.17m", 0x000004, 0x200000, CRC(ffa60e0f) SHA1(b21b1c749a8241440879bf8e7cb33968ccef97e5) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sfx.19m", 0x000006, 0x200000, CRC(34e825c5) SHA1(4d320fc96d1ef0b9928a8ce801734245a4c097a5) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sfx.14m", 0x800000, 0x100000, CRC(b7cc32e7) SHA1(0f4d26af338dab5dce5b7b34d32ad0c573434ace) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sfx.16m", 0x800002, 0x100000, CRC(8376ad18) SHA1(f4456833fb396e6501f4174c0fe5fd63ea40a188) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sfx.18m", 0x800004, 0x100000, CRC(f5b1b336) SHA1(4b060501e56b9d61294748da5387cdae5280ec4d) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sfx.20m", 0x800006, 0x100000, CRC(459d5c6b) SHA1(32b11ba7a12004aff810d719bff7508204c7b7c0) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sfx.21m", 0xc00000, 0x100000, CRC(e32854af) SHA1(1a5e11e9caa2b96108d89ae660ef1f6bcb469a74) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sfx.23m", 0xc00002, 0x100000, CRC(760f2927) SHA1(491e28e14ee06821fc9e709efa7b91313bc0c2db) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sfx.25m", 0xc00004, 0x100000, CRC(1ee90208) SHA1(83df1d9953560edddc2951ea426d29fb014e6a8a) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sfx.27m", 0xc00006, 0x100000, CRC(f814400f) SHA1(ad6921af36d0bd5dfb89b1fb53c3ca3fd92d7204) , ROM_GROUPWORD | ROM_SKIP(6) ) + + ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */ + ROM_LOAD( "sfx.01", 0x00000, 0x08000, CRC(b47b8835) SHA1(c8b2d50fe3a329bd0592ea160d505155d873dab1) ) + ROM_CONTINUE( 0x10000, 0x18000 ) + ROM_LOAD( "sfx.02", 0x28000, 0x20000, CRC(0022633f) SHA1(cab3afc79da53e3887eb1ccd1f4d19790728e6cd) ) + + ROM_REGION( 0x400000, "qsound", 0 ) /* QSound samples */ + ROM_LOAD16_WORD_SWAP( "sfx.11m", 0x000000, 0x200000, CRC(9bdbd476) SHA1(a8520f77f30b97aae36408e0c4ca1ebbde1808a5) ) + ROM_LOAD16_WORD_SWAP( "sfx.12m", 0x200000, 0x200000, CRC(a05e3aab) SHA1(d4eb9cae66c74e956569fea8b815156fbd420f83) ) + + SSF2T_JAPAN_KEY +ROM_END + + +ROM_START( ssf2xjr1 ) ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_WORD_SWAP( "sfxj.03c", 0x000000, 0x80000, CRC(a7417b79) SHA1(189c3ed546bb2844e9fa9fe7e9aacef728bc8939) ) ROM_LOAD16_WORD_SWAP( "sfxj.04a", 0x080000, 0x80000, CRC(af7767b4) SHA1(61e7364408bf07c01634913c112b6245acce48ab) ) @@ -8190,7 +8227,7 @@ ROM_START( ssf2xj ) ROM_END // interesting version, yellow case (rental?), shows OP instead of AM on startup, uses a different (unique) key to the usual Japan set -ROM_START( ssf2xjr ) +ROM_START( ssf2xjr1r ) ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_WORD_SWAP( "sfxo.03c", 0x000000, 0x80000, CRC(2ba33dc6) SHA1(ab31046c1604eae30e55eb0e03804c98765d578e) ) ROM_LOAD16_WORD_SWAP( "sfxo.04a", 0x080000, 0x80000, CRC(ba663dd7) SHA1(46baf0a48e4fd807098aa48e34625964b279a223) ) @@ -9568,8 +9605,9 @@ GAME( 1994, ssf2ta, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, GAME( 1994, ssf2th, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II Turbo (Hispanic 940223)", MACHINE_SUPPORTS_SAVE ) GAME( 1994, ssf2tu, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II Turbo (USA 940323)", MACHINE_SUPPORTS_SAVE ) GAME( 1994, ssf2tur1, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II Turbo (USA 940223)", MACHINE_SUPPORTS_SAVE ) -GAME( 1994, ssf2xj, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II X: Grand Master Challenge (Japan 940223)", MACHINE_SUPPORTS_SAVE ) -GAME( 1994, ssf2xjr, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II X: Grand Master Challenge (Japan 940223 rent version)", MACHINE_SUPPORTS_SAVE ) +GAME( 1994, ssf2xj, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II X: Grand Master Challenge (Japan 940311)", MACHINE_SUPPORTS_SAVE ) +GAME( 1994, ssf2xjr1, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II X: Grand Master Challenge (Japan 940223)", MACHINE_SUPPORTS_SAVE ) +GAME( 1994, ssf2xjr1r, ssf2t, cps2, cps2_2p6b, cps_state, cps2, ROT0, "Capcom", "Super Street Fighter II X: Grand Master Challenge (Japan 940223 rent version)", MACHINE_SUPPORTS_SAVE ) GAME( 1994, avsp, 0, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Alien vs. Predator (Euro 940520)", MACHINE_SUPPORTS_SAVE ) GAME( 1994, avspu, avsp, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Alien vs. Predator (USA 940520)", MACHINE_SUPPORTS_SAVE ) GAME( 1994, avspj, avsp, cps2, cps2_3p3b, cps_state, cps2, ROT0, "Capcom", "Alien vs. Predator (Japan 940520)", MACHINE_SUPPORTS_SAVE ) @@ -10752,7 +10790,7 @@ ROM_START( ssf2tbd ) CPS2_DEAD_KEY ROM_END -ROM_START( ssf2xjd ) +ROM_START( ssf2xjr1d ) ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_WORD_SWAP( "sfxjd.03c", 0x000000, 0x80000, CRC(316de996) SHA1(4036539a554a9ccd8b5fc364dfc4c97f3d5efa96) ) ROM_LOAD16_WORD_SWAP( "sfxjd.04a", 0x080000, 0x80000, CRC(9bf3bb2e) SHA1(4bdc6fa585cc67d3b6695f390c95c518cba2bea6) ) @@ -11249,7 +11287,7 @@ GAME( 1994, avspd, avsp, dead_cps2, cps2_3p3b, cps_state, cps2, ROT0, GAME( 1994, dstlku1d, dstlk, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Darkstalkers: The Night Warriors (USA 940705 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE ) GAME( 1994, ringdstd, ringdest, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Ring of Destruction: Slammasters II (Euro 940902 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE ) GAME( 1994, ssf2tad, ssf2t, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Super Street Fighter II Turbo (Asia 940223 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE ) -GAME( 1994, ssf2xjd, ssf2t, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Super Street Fighter II X: Grand Master Challenge (Japan 940223 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE ) +GAME( 1994, ssf2xjr1d,ssf2t, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Super Street Fighter II X: Grand Master Challenge (Japan 940223 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE ) GAME( 1994, xmcotar1d,xmcota, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "X-Men: Children of the Atom (Euro 950105 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE ) GAME( 1995, mshud, msh, dead_cps2, cps2_2p6b, cps_state, cps2, ROT0, "bootleg", "Marvel Super Heroes (US 951024 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE ) GAME( 1995, cybotsud, cybots, dead_cps2, cybots, cps_state, cps2, ROT0, "bootleg", "Cyberbots: Fullmetal Madness (USA 950424 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index e02a1ba2fb7..7e225b8f0b5 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -10144,8 +10144,9 @@ ssf2tur1 // 23/02/1994 (c) 1994 (USA) ssf2u // 11/09/1993 (c) 1993 (USA) ssf2ud // ssf2xj // 23/02/1994 (c) 1994 (Japan) -ssf2xjd // -ssf2xjr // 23/02/1994 (c) 1994 (Japan) +ssf2xjr1 // 23/02/1994 (c) 1994 (Japan) +ssf2xjr1d // +ssf2xjr1r // 23/02/1994 (c) 1994 (Japan) uecology // 03/12/1993 (c) 1994 (Japan) vampj // 05/07/1994 (c) 1994 (Japan) vampja // 05/07/1994 (c) 1994 (Japan) From 99b21ab04738c896a4a4da887a3a0b1b54d4ce16 Mon Sep 17 00:00:00 2001 From: Curt Coder Date: Sun, 14 Aug 2016 18:27:11 +0300 Subject: [PATCH 045/116] victor9k: WIP. (nw) --- src/mame/machine/victor9k_fdc.cpp | 45 ++++++++++++++++++------------- src/mame/machine/victor9k_fdc.h | 1 + 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/src/mame/machine/victor9k_fdc.cpp b/src/mame/machine/victor9k_fdc.cpp index c88d8e4b713..407e85079ef 100644 --- a/src/mame/machine/victor9k_fdc.cpp +++ b/src/mame/machine/victor9k_fdc.cpp @@ -75,7 +75,7 @@ // TACH = RPM / 60 * SPINDLE RATIO * MOTOR POLES // 256 = 300 / 60 * 6.4 * 8 #define SPINDLE_RATIO 6.4 -#define MOTOR_POLES 8 +#define MOTOR_POLES 8.0 // TODO wrong values here! motor speed is controlled by an LM2917, with help from the spindle TACH and a DAC0808 whose value is set by the SCP 8048 const int victor_9000_fdc_t::rpm[] = { 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 254, 255, 257, 259, 260, 262, 264, 266, 267, 269, 271, 273, 275, 276, 278, 280, 282, 284, 286, 288, 290, 291, 293, 295, 297, 299, 301, 303, 305, 307, 309, 311, 313, 315, 318, 320, 322, 324, 326, 328, 330, 333, 335, 337, 339, 342, 344, 346, 348, 351, 353, 355, 358, 360, 362, 365, 367, 370, 372, 375, 377, 380, 382, 385, 387, 390, 392, 395, 398, 400, 403, 406, 408, 411, 414, 416, 419, 422, 425, 428, 430, 433, 436, 439, 442, 445, 448, 451, 454, 457, 460, 463, 466, 469, 472, 475, 478, 482, 485, 488, 491, 494, 498, 501, 504, 508, 511, 514, 518, 521, 525, 528, 532, 535, 539, 542, 546, 550, 553, 557, 561, 564, 568, 572, 576, 579, 583, 587, 591, 595, 599, 603, 607, 611, 615, 619, 623, 627, 631, 636, 640, 644, 648, 653, 657, 661, 666, 670, 674, 679, 683, 688, 693, 697, 702, 706, 711, 716, 721, 725, 730, 735, 740, 745, 750, 755, 760, 765, 770, 775, 780, 785, 790, 796, 801, 806, 812, 817, 822, 828, 833, 839, 844, 850, 856, 861, 867, 873, 878, 884 }; @@ -505,11 +505,13 @@ WRITE8_MEMBER( victor_9000_fdc_t::floppy_p2_w ) m_stop0 = stop0; m_sel0 = sel0; update_spindle_motor(m_floppy0->get_device(), t_tach0, m_start0, m_stop0, m_sel0, m_da0); + update_rpm(m_floppy0->get_device(), t_tach0, m_sel0, m_da0); m_start1 = start1; m_stop1 = stop1; m_sel1 = sel1; update_spindle_motor(m_floppy1->get_device(), t_tach1, m_start1, m_stop1, m_sel1, m_da1); + update_rpm(m_floppy1->get_device(), t_tach1, m_sel1, m_da1); checkpoint(); @@ -532,6 +534,7 @@ WRITE8_MEMBER( victor_9000_fdc_t::floppy_p2_w ) READ8_MEMBER( victor_9000_fdc_t::tach0_r ) { + if (LOG_SCP) logerror("%s %s Read TACH0 %u\n", machine().time().as_string(), machine().describe_context(), m_tach0); return m_tach0; } @@ -542,6 +545,7 @@ READ8_MEMBER( victor_9000_fdc_t::tach0_r ) READ8_MEMBER( victor_9000_fdc_t::tach1_r ) { + if (LOG_SCP) logerror("%s %s Read TACH1 %u\n", machine().time().as_string(), machine().describe_context(), m_tach1); return m_tach1; } @@ -582,22 +586,30 @@ void victor_9000_fdc_t::update_spindle_motor(floppy_image_device *floppy, emu_ti if (start && !stop && floppy->mon_r()) { if (LOG_SCP) logerror("%s: motor start\n", floppy->tag()); floppy->mon_w(0); + t_tach->enable(true); } else if (stop && !floppy->mon_r()) { if (LOG_SCP) logerror("%s: motor stop\n", floppy->tag()); floppy->mon_w(1); - t_tach->reset(); + t_tach->enable(false); } +#endif +} +void victor_9000_fdc_t::update_rpm(floppy_image_device *floppy, emu_timer *t_tach, bool sel, UINT8 &da) +{ +#ifdef USE_SCP if (sel) { da = m_da; - if (!floppy->mon_r()) { - float tach = rpm[da] / 60 * SPINDLE_RATIO * MOTOR_POLES; - if (LOG_SCP) logerror("%s: motor speed %u rpm / tach %0.1f hz (DA %02x)\n", floppy->tag(), rpm[da], (double) tach, da); + float tach = rpm[da] / 60.0 * SPINDLE_RATIO * MOTOR_POLES; - t_tach->adjust(attotime::from_hz(tach*2), 0, attotime::from_hz(tach*2)); - floppy->set_rpm(rpm[da]); - } + if (LOG_SCP) logerror("%s: motor speed %u rpm / tach %0.1f hz %0.9f s (DA %02x)\n", floppy->tag(), rpm[da], (double) tach, 1.0/(double)tach, da); + + floppy->set_rpm(rpm[da]); + + bool enabled = t_tach->enabled(); + t_tach->adjust(attotime::from_hz(tach*2), 0, attotime::from_hz(tach*2)); + t_tach->enable(enabled); } #endif } @@ -625,17 +637,14 @@ void victor_9000_fdc_t::set_rdy1(int state) WRITE8_MEMBER( victor_9000_fdc_t::da_w ) { - if (LOG_SCP) logerror("%s %s DA %02x\n", machine().time().as_string(), machine().describe_context(), data); + if (LOG_SCP) logerror("%s %s DA %02x SEL0 %u SEL1 %u\n", machine().time().as_string(), machine().describe_context(), data, m_sel0, m_sel1); - if (m_da != data) - { - live_sync(); - m_da = data; - if (m_floppy0->get_device()) update_spindle_motor(m_floppy0->get_device(), t_tach0, m_start0, m_stop0, m_sel0, m_da0); - if (m_floppy1->get_device()) update_spindle_motor(m_floppy1->get_device(), t_tach1, m_start1, m_stop1, m_sel1, m_da1); - checkpoint(); - live_run(); - } + live_sync(); + m_da = data; + if (m_floppy0->get_device()) update_rpm(m_floppy0->get_device(), t_tach0, m_sel0, m_da0); + if (m_floppy1->get_device()) update_rpm(m_floppy1->get_device(), t_tach1, m_sel1, m_da1); + checkpoint(); + live_run(); } READ8_MEMBER( victor_9000_fdc_t::via4_pa_r ) diff --git a/src/mame/machine/victor9k_fdc.h b/src/mame/machine/victor9k_fdc.h index a5abc00bf93..2580c110cff 100644 --- a/src/mame/machine/victor9k_fdc.h +++ b/src/mame/machine/victor9k_fdc.h @@ -165,6 +165,7 @@ private: void update_stepper_motor(floppy_image_device *floppy, int stp, int old_st, int st); void update_spindle_motor(floppy_image_device *floppy, emu_timer *t_tach, bool start, bool stop, bool sel, UINT8 &da); + void update_rpm(floppy_image_device *floppy, emu_timer *t_tach, bool sel, UINT8 &da); void set_rdy0(int state); void set_rdy1(int state); From cffa62ee36a7c775b8199669b5e8afad137a5598 Mon Sep 17 00:00:00 2001 From: David Haywood Date: Sun, 14 Aug 2016 17:20:02 +0100 Subject: [PATCH 046/116] correct mame.lst comment (nw) --- src/mame/mame.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 7e225b8f0b5..994d928326c 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -10143,7 +10143,7 @@ ssf2tu // 23/03/1994 (c) 1994 (USA) ssf2tur1 // 23/02/1994 (c) 1994 (USA) ssf2u // 11/09/1993 (c) 1993 (USA) ssf2ud // -ssf2xj // 23/02/1994 (c) 1994 (Japan) +ssf2xj // 11/03/1994 (c) 1994 (Japan) ssf2xjr1 // 23/02/1994 (c) 1994 (Japan) ssf2xjr1d // ssf2xjr1r // 23/02/1994 (c) 1994 (Japan) From f207e98a9505bf3859ebf1ae2408d85931c77bcb Mon Sep 17 00:00:00 2001 From: r09 Date: Sun, 14 Aug 2016 19:44:37 +0200 Subject: [PATCH 047/116] pc98_cd.xml: added more disks + FM Towns hybrids - Added 7 new dumps sourced from P2P - Added entries from fmtowns_cd.xml that are hybrid CDs and work on PC-98x1 --- hash/pc98_cd.xml | 615 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 612 insertions(+), 3 deletions(-) diff --git a/hash/pc98_cd.xml b/hash/pc98_cd.xml index 232bb8a450c..eb303876c4a 100644 --- a/hash/pc98_cd.xml +++ b/hash/pc98_cd.xml @@ -354,6 +354,26 @@ + + + + Angel Halo + 1996 + アクティブ (Active) + + + + + + + + + Ayumi-chan Monogatari Jissha-ban + 1995 + 白夜書房 (Byakuya-Shobo) + + + + + + + + + Brandish 2 - The Planet Buster - Campaign-ban + 1996 + 日本ファルコム (Nihon Falcom) + + + + + + + + + + Classic Road 4 + 1996 + ビクターエンタテインメント (Victor Entertainment) + + + + + + + + + + + + Crystal Rinal + 1994 + ディー・オー (D.O.) + + + + + + + + + + + D.O. Kanshuu Premium Box - Touch My Heart + 1995 + ディー・オー (D.O.) + + + + + + + + + + + Eimmy to Yobanaide + 1995 + シーズウェア (C's Ware) + + + + + + + + + + + Etsuraku no Gakuen + 1994 + シーズウェア (C's Ware) + + + + + + + + + + + + Uchuu Kaitou Funny Bee + 1994 + アリスソフト (AliceSoft) + + + + + + + + + + + + + + + + + Gunblaze + 1994 + アクティブ (Active) + + + + + + + + + + + Hanafuda de Pon! + 1996 + アクティブ (Active) + + + + + + + + + + + + Heart de Ron!! + 1995 + ディー・オー (D.O.) + + + + + + + + + + + + Hoshi no Suna Monogatari 3 + 1995 + ディー・オー (D.O.) + + + + + + + + + + + Kindan no Ketsuzoku + 1993 + シーズウェア (C's Ware) + + + + + + + + + + + + Koko wa Rakuensou + 1996 + フォスター (Foster) + + + + + + + + + + + + Koko wa Rakuensou 2 + 1996 + フォスター (Foster) + + + + + + + + + Magical Panic + 1996 + パールソフト (Pearl Soft) + + + + + + + + + + + + Mahjong de Pon! + 1994 + アクティブ (Active) + + + + + + + + + My Home Dream 2 + 1995 + ビクターエンタテインメント (Victor Entertainment) + + + + + + + + + + + Ikazuchi no Senshi Raidy + 1994 + ジックス (ZyX) + + + + + + + + + + + Ikazuchi no Senshi Raidy 2 + 1996 + ジックス (ZyX) + + + + + + + + + Rance 4.1 / 4.2 Hint Disk + 1995 + アリスソフト (AliceSoft) + + + + + + + + + + + + Rance 4.1 - Okusuri Koujou wo Sukue! + 1995 + アリスソフト (AliceSoft) + + + + + + + + + + + + + Rance 4.2 - Angel-gumi + 1995 + アリスソフト (AliceSoft) + + + + + + + + + + + + Ring Out!! + 1995 + ジックス (ZyX) + + + + + + + + + Revival Xanadu 2 Remix + 1996 + 日本ファルコム (Nihon Falcom) + + + + + + + + + + + Star Cruiser II - The Odysseus Project + 1994 + JHV + + + + + + + + + + + Takamizawa Kyosuke - Nekketsu!! Kyouiku Kenshuu + 1995 + ジックス (ZyX) + + + + + + + + + + + Xenon + 1995 + シーズウェア (C's Ware) + + + + + + + + + + + Zatsuon Ryouiki + 1995 + ディー・オー (D.O.) + + + + + + +