summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2022-03-26 22:17:12 +1100
committer Robbbert <Robbbert@users.noreply.github.com>2022-03-26 22:17:12 +1100
commita229f29182a122814801c06165fb65625eec9da9 (patch)
treec271c906604bd5e82360db1ded88e0b9f4574042
parent62e60b54caa5fd5738a352635bebd4b895e88e66 (diff)
parent2593201bc3ede22769221bc92c9a3f88fee5ceb0 (diff)
Merge remote-tracking branch 'upstream/master'
-rw-r--r--hash/famibox.xml770
-rw-r--r--hash/ibm5150.xml18
-rw-r--r--hash/neogeo.xml4
-rw-r--r--hash/nes.xml40
-rw-r--r--scripts/target/mame/arcade.lua1
-rw-r--r--src/mame/arcade.flt1
-rw-r--r--src/mame/drivers/8080bw.cpp4
-rw-r--r--src/mame/drivers/bfmsys85.cpp4
-rw-r--r--src/mame/drivers/cosmos_playc8f.cpp110
-rw-r--r--src/mame/drivers/cps1.cpp254
-rw-r--r--src/mame/drivers/jpmimpctsw.cpp12
-rw-r--r--src/mame/drivers/jpmsys5sw.cpp2
-rw-r--r--src/mame/drivers/kaypro.cpp17
-rw-r--r--src/mame/drivers/nes.cpp1
-rw-r--r--src/mame/drivers/newton.cpp26
-rw-r--r--src/mame/drivers/playch10.cpp12
-rw-r--r--src/mame/drivers/taitottl.cpp89
-rw-r--r--src/mame/includes/cps1.h4
-rw-r--r--src/mame/includes/playch10.h3
-rw-r--r--src/mame/machine/playch10.cpp26
-rw-r--r--src/mame/mame.lst10
-rw-r--r--src/mame/video/cps1.cpp42
22 files changed, 1375 insertions, 75 deletions
diff --git a/hash/famibox.xml b/hash/famibox.xml
new file mode 100644
index 00000000000..65f5d366580
--- /dev/null
+++ b/hash/famibox.xml
@@ -0,0 +1,770 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<!--
+license:CC0
+-->
+<softwarelist name="famibox" description="Nintendo FamicomBox cartridges">
+
+<!-- At least 38 cartridges were released for the FamicomBox/FamicomStation. The cartridges are
+similar to NES cartridges, though with unique PCBs, and generally contain the same data as
+Famicom games. Several games have unique dumps for the system. This includes: Pro Wres and
+Volleyball, which never had FDS to cart conversions in Japan otherwise, and Gradius and TwinBee.
+Some other games have minor header and padding changes, including: Argos no Senshi, Fighting Golf,
+Knight Rider, and Ninja Ryukenden.
+
+PCB info
+========
+ All known board labels follow the pattern SSS-type-revision, where type can also include an
+additional hyphen, and revision is a two digit number. PRG and CHR game data is stored in both
+mask ROMs and EPROMs, and some games may be found in either variation or a mix. In addition to other
+requisite board-specific logic and 'mapper' chips, boards also all feature a 3198A CIC lockout chip.
+
+Known PCBs
+==========
+SSS-NROM-256-0*: these have solder pads to select either 32K (256 kilobit) or 16K (128 kilobit) PRG ROM,
+and H/V solder pads to select mirroring.
+
+SSS-CNROM-0*: these have H/V solder pads to select mirroring.
+
+SSS-UNROM-01, SSS-UN1ROM-01, SSS-UNEPROM-02: these have 8K VRAM, and H/V solder pads to select mirroring.
+
+SSS-SLROM-0*: MMC1 boards.
+
+SSS-PNROM-01: MMC2 board.
+
+SSS-TLEPROM-01: EPROM variant of a TLROM board with MMC3.
+
+
+TODO
+====
+Unverified dumps: 1943, Devil World, Donald Land, Donkey Kong Jr., Excitebike, Ice Climber, Kame no Ongaeshi
+
+Missing dumps: Punch-Out!!
+
+Unverified PCB info: Bomberman, Devil World, Donald Land, Donkey Kong, Donkey Kong Jr., Fighting Golf,
+Gomoku Narabe Renju, Hogan's Alley, Ice Climber, Ice Hockey, Kame no Ongaeshi - Urashima Densetsu,
+Knight Rider, Mike Tyson's Punch-Out!!, Ninja Ryukenden, Punch-Out!!, Rockman, Senjou no Ookami,
+Soccer League - Winner's Cup, Tennis, Wild Gunman, Wrecking Crew
+-->
+
+ <software name="1943">
+ <description>1943 - The Battle of Valhalla</description>
+ <year>1988</year>
+ <publisher>Capcom</publisher>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="uxrom" />
+ <feature name="pcb" value="SSS-UNEPROM-02" />
+ <feature name="mirroring" value="horizontal" /> <!-- real dump is vertical? -->
+ <dataarea name="prg" size="0x20000">
+ <rom name="sss-43 prg" size="0x20000" crc="4e42f13a" sha1="619c8c45c14bb26fee93d0f8646127f30e336128" status="baddump" /> <!-- dump taken from Famicom -->
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="0x2000">
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="argos">
+ <description>Argos no Senshi - Hachamecha Daishingeki</description>
+ <year>1987</year>
+ <publisher>Tecmo</publisher>
+ <info name="alt_title" value="アルゴスの戦士 はちゃめちゃ大進撃"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="uxrom" />
+ <feature name="pcb" value="SSS-UNROM-01" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="sss-ah-0 prg" size="0x20000" crc="fba8113b" sha1="511a4ad60b87e3def630c45910b41eee1f45b850" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="0x2000">
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="baseball">
+ <description>Baseball</description>
+ <year>1983</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="ベースボール"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-04" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="sss-ba prg" size="0x4000" crc="d18a3dde" sha1="91f7d3e4c9d18c1969ca1fffdc811b763508a0a2" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="sss-ba chr" size="0x2000" crc="c27eef20" sha1="d5bd643b3ba98846e520b4d3f38aae45a29cf250" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="bombman">
+ <description>Bomberman</description>
+ <year>1985</year>
+ <publisher>Hudson Soft</publisher>
+ <info name="alt_title" value="ボンバーマン"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-04" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="hfc-bm-0 prg" size="0x4000" crc="9684657f" sha1="055db2dc8cec0448f3845da1626e108c7692cfc6" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="hfc-bm-0 chr" size="0x2000" crc="a775822e" sha1="b0584f9f4172b9e111ae275d8de6644b76372b32" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="devlwrld">
+ <description>Devil World</description>
+ <year>1984</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="デビルワールド"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-??" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="hvc-dd-1 prg" size="0x4000" crc="b97afb85" sha1="05ec5ba36646ea62ecc877dac8aa6a7747d81c4d" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="hvc-dd-0 chr" size="0x2000" crc="3a9aa7a1" sha1="7af9c7ee2e1dff8f4260f11cdb2acec613313093" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="donaldl">
+ <description>Donald Land</description>
+ <year>1988</year>
+ <publisher>Data East</publisher>
+ <info name="alt_title" value="ドナルドランド"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="SSS-SLROM-??" />
+ <feature name="mmc1_type" value="MMC1?" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="dfc-dx-0 prg" size="0x20000" crc="6fd39bd7" sha1="4cfe705617cdd0a50c14ef2176d99f40e0360c3c" />
+ </dataarea>
+ <dataarea name="chr" size="0x20000">
+ <rom name="dfc-dx-0 chr" size="0x20000" crc="e9fc32a9" sha1="22023c08a505c94a5a996d70e3831dcac4454515" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dkong">
+ <description>Donkey Kong</description>
+ <year>1983</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="ドンキーコング"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-03" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="hvc-dk-1 prg" size="0x4000" crc="f56a5b10" sha1="2c4b1d653194df0996d54d9de9188b270d0337d9" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="hvc-dk-0 chr" size="0x2000" crc="a21d7c2e" sha1="97c16cd6b1f3656428b682a23e6e4248c1ca3607" offset="00000" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="dkongjr">
+ <description>Donkey Kong Jr.</description>
+ <year>1983</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="ドンキーコングJr"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-??" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="hvc-jr-1 prg" size="0x4000" crc="cf6c88b6" sha1="cefc276e7601d14c6a20e545f334281b7a9fe8db" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="hvc-jr-0 chr" size="0x2000" crc="852778ab" sha1="307f2245cce164491012f75897eb984af0c3f456" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="duckhunt">
+ <description>Duck Hunt</description>
+ <year>1984</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="ダックハント"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-04" />
+ <feature name="mirroring" value="vertical" />
+ <feature name="peripheral" value="zapper" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="hvc-dh-0 prg" size="0x4000" crc="90ca616d" sha1="b742576317cd6a04caac25252d5593844c9a0bb6" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="hvc-dh-0 chr" size="0x2000" crc="4e049e03" sha1="ffad32a3bab2fb3826bc554b1b9838e837513576" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="excitebk">
+ <description>Excitebike</description>
+ <year>1984</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="エキサイトバイク"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-03" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="hvc-eb-0 prg" size="0x4000" crc="3a94fa0b" sha1="6239e91ccefdc017d233cbae388c6568a17ed04b" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="hvc-eb-0 chr" size="0x2000" crc="e5f72401" sha1="a8bf028e1a62677e48e88cf421bb2a8051eb800c" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="f1race">
+ <description>F-1 Race</description>
+ <year>1984</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="F1レース"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-04" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="sss-fr prg" size="0x4000" crc="57970078" sha1="c212294be2a3b8f89ff440df821324fa0d522a55" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="sss-fr chr" size="0x2000" crc="e653dbcb" sha1="f9758fcc8e07890bd733af127defc86bb70f179e" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="fightglf">
+ <description>Fighting Golf</description>
+ <year>1988</year>
+ <publisher>SNK</publisher>
+ <info name="alt_title" value="ファイティングゴルフ"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="SSS-SLROM-01" />
+ <feature name="mmc1_type" value="MMC1A" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="sfx-fi-0 prg" size="0x20000" crc="08aab933" sha1="1f31996f84ac44c61358a91a76d20ce10247ff6d" /> <!-- internal header differs from Famicom version -->
+ </dataarea>
+ <dataarea name="chr" size="0x20000">
+ <rom name="sfx-fi-0 chr" size="0x20000" crc="4d3c6798" sha1="637461bd05f75d45829d4fd8f7998adf9ba0eabf" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="golf">
+ <description>Golf</description>
+ <year>1984</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="ゴルフ"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-04" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="sss-gf prg" size="0x4000" crc="9c7e6421" sha1="e67e9ff5ee81fbd1af8d7439b86a9ad98499b9dc" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="sss-gf chr" size="0x2000" crc="7dfa75a8" sha1="ee016d37f4c54bea8cbbb9ae125bff4c7e14bfb3" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gomokunr">
+ <description>Gomoku Narabe Renju</description>
+ <year>1983</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="五目ならべ 連珠"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-??" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="hvc-go-0 prg" size="0x4000" crc="5603f579" sha1="f2b007e3b13a777f9f88ff58f87ead6ae8f26327" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="hvc-go-0 chr" size="0x2000" crc="97ea7144" sha1="47d354c654285275d0a9420cc6eb3564f0453eb0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="gradius">
+ <description>Gradius</description>
+ <year>1986</year>
+ <publisher>Konami</publisher>
+ <info name="alt_title" value="グラディウス"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="cnrom" />
+ <feature name="pcb" value="SSS-CNROM-01" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="sss gr-0 prg" size="0x8000" crc="cfe41c0c" sha1="d030d1010ec8e97e8f2fa0ef4cb5b76201db4268" />
+ </dataarea>
+ <dataarea name="chr" size="0x8000">
+ <rom name="sss gr-0 chr" size="0x8000" crc="de963bec" sha1="ecb76b5897658ebac31a07516bb2a5820279474f" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="hogalley">
+ <description>Hogan's Alley</description>
+ <year>1984</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="ホーガンズアレイ"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-??" />
+ <feature name="mirroring" value="vertical" />
+ <feature name="peripheral" value="zapper" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="hvc-ha-0 prg" size="0x4000" crc="8963ae6e" sha1="bca489ed0fb58e1e99f36c427bc0d7d805b6c61a" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="hvc-ha-0 chr" size="0x2000" crc="5df42fc4" sha1="4fcf23151d9f11c1ef1b1007dd8058f5d5fe9ab8" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="iceclimb">
+ <description>Ice Climber</description>
+ <year>1985</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="アイスクライマー"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-??" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="0.prg" size="0x4000" crc="d548307f" sha1="e323ebaa2c0be5b9a31a21743ddfe7f3d1580672" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="0.chr" size="0x2000" crc="fd98f4d3" sha1="43720585fe38b24e3bde1560a4ca9945489031a5" />
+ </dataarea>
+ </part>
+ </software>
+
+<!-- matches US NES release -->
+ <software name="icehocky">
+ <description>Ice Hockey</description>
+ <year>1988</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="アイスホッケー"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-03" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="sss hy-0 prg" size="0x8000" crc="82dff13d" sha1="4edbf555d319dfe1c2a08dc28f484d4344a228ba" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="sss hy-0 chr" size="0x2000" crc="f10fc90a" sha1="1a2a657267de1f5bdf284d1b69ed7d4895dfb281" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="urashima">
+ <description>Kame no Ongaeshi - Urashima Densetsu</description>
+ <year>1988</year>
+ <publisher>Hudson Soft</publisher>
+ <info name="alt_title" value="亀の恩返し ウラシマ伝説"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="SSS-SLROM-??" />
+ <feature name="mmc1_type" value="MMC1?" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="hfc-ko-0 prg" size="0x20000" crc="2a601192" sha1="8daed535bb95d12440b4be30f0882f890e359957" />
+ </dataarea>
+ <dataarea name="chr" size="0x20000">
+ <rom name="hfc-ko-0 chr" size="0x20000" crc="520b6bb8" sha1="2cb3effe313da3817c1fc2982b34771520f88a3b" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="knightr">
+ <description>Knight Rider</description>
+ <year>1988</year>
+ <publisher>Pack-In-Video</publisher>
+ <info name="alt_title" value="ナイトライダー"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="SSS-SLROM-02" />
+ <feature name="mmc1_type" value="MMC1B2" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="sss-nr-0 prg" size="0x20000" crc="231af1e9" sha1="2cab201416eb767c4055b78591add1b826f68c4c" /> <!-- internal header differs from Famicom version and it has 64K of initial $FF padding -->
+ </dataarea>
+ <dataarea name="chr" size="0x20000">
+ <rom name="sss-nr-0 chr" size="0x20000" crc="7dde11ec" sha1="7fed61552f8af80c9891e457441ebcaa94b461d2" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="mahjong">
+ <description>Mahjong</description>
+ <year>1983</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="麻雀"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-03" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="hvc mj-1 prg" size="0x4000" crc="f86d8d8a" sha1="2904137a030ae2370a8cd3e068078a1d59a4f229" offset="0x0000" /> <!-- also found on EPROM with label: SSS-MJ PRG -->
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="hvc mj-1 chr" size="0x2000" crc="6bb45576" sha1="5974787496dfa27a4b7fe6023473fae930ea41dc" /> <!-- also found on EPROM with label: SSS-MJ CHR -->
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="makaimur">
+ <description>Makaimura</description>
+ <year>1986</year>
+ <publisher>Capcom</publisher>
+ <info name="alt_title" value="魔界村"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="uxrom" />
+ <feature name="pcb" value="SSS-UNEPROM-02" /> <!-- also found on: SSS-UNROM-01 -->
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="cap-mk prg" size="0x20000" crc="bf3635cf" sha1="f8b38262c2ac00cf4e3e653f2987bdadc86f839e" /> <!-- also found with label: SSS-MK PRG -->
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="0x2000">
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="mario">
+ <description>Mario Bros.</description>
+ <year>1983</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="マリオブラザーズ"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-02" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="0.prg" size="0x4000" crc="75f6a9f3" sha1="b6f88f7a2f9a49cc9182a244571730198f1edc4b" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="0.chr" size="0x2000" crc="10f77435" sha1="a646c3443832ada84d31a3a8a4b34aebc17cecd5" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="tysonpo">
+ <description>Mike Tyson's Punch-Out!!</description>
+ <year>1987</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="マイクタイソン・パンチアウト!!"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="pxrom" />
+ <feature name="pcb" value="SSS-PNROM-01" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="sss-pt-1 prg" size="0x20000" crc="f1d861ef" sha1="203be0765e89234ce6986c6fc52f5d44216edf49" />
+ </dataarea>
+ <dataarea name="chr" size="0x20000">
+ <rom name="sss-pt-0 chr" size="0x20000" crc="570b48ea" sha1="33de517b16b61625909d2eb5307c08b337b542c4" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="nryukend">
+ <description>Ninja Ryukenden</description>
+ <year>1988</year>
+ <publisher>Tecmo</publisher>
+ <info name="alt_title" value="忍者龍剣伝"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="SSS-SLROM-??" />
+ <feature name="mmc1_type" value="MMC1?" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="tcf-ny-0 prg" size="0x20000" crc="bf273877" sha1="c62e5548a5b26dedbd521e120a23ed37825b2259" />
+ </dataarea>
+ <dataarea name="chr" size="0x20000">
+ <rom name="tcf-ny-0 chr" size="0x20000" crc="d9c285e1" sha1="a39ce82ef1238ff429b81d3d190c34da7ae5e4ce" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="prowres">
+ <description>Pro Wres</description>
+ <year>1986</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="プロレス"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="uxrom" />
+ <feature name="pcb" value="SSS-UNROM-01" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="sss-pw-0 prg" size="0x20000" crc="01609f57" sha1="6522d58f58e57ef293d1d9df1e36b95e9266148b" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="0x2000">
+ </dataarea>
+ </part>
+ </software>
+
+<!--
+ <software name="punchout">
+ <description>Punch-Out!!</description>
+ <year>1990</year>
+ <publisher>Nintendo</publisher>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="pxrom" />
+ <feature name="pcb" value="SSS-PNROM??" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="nes-qp-0 prg" size="0x20000" crc="" sha1="" />
+ </dataarea>
+ <dataarea name="chr" size="0x20000">
+ <rom name="nes-qp-0 chr" size="0x20000" crc="" sha1="" />
+ </dataarea>
+ </part>
+ </software>
+-->
+
+ <software name="rockman">
+ <description>Rockman</description>
+ <year>1987</year>
+ <publisher>Capcom</publisher>
+ <info name="alt_title" value="ロックマン"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="uxrom" />
+ <feature name="pcb" value="SSS-UNROM-??" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="cap-rx-0 prg" size="0x20000" crc="d31dc910" sha1="ea93f3f2fd561c1cee59ad51cfcb10f3dd83766f" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="0x2000">
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="senjokam">
+ <description>Senjou no Ookami</description>
+ <year>1986</year>
+ <publisher>Capcom</publisher>
+ <info name="alt_title" value="戦場の狼"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="un1rom" />
+ <feature name="pcb" value="SSS-UN1ROM-01" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="cap-sj-0 prg" size="0x20000" crc="441aeae6" sha1="3eb406f0518dbdf513c0c192f09695f4e4f9cda2" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="0x2000">
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="senjokama" cloneof="senjokam">
+ <description>Senjou no Ookami (UNEPROM PCB)</description>
+ <year>1986</year>
+ <publisher>Capcom</publisher>
+ <info name="alt_title" value="戦場の狼"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="uxrom" />
+ <feature name="pcb" value="SSS-UNEPROM-02" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="sss-sj prg" size="0x20000" crc="7c2cbb96" sha1="1e6ef6615c6c45f366263ac39f54f312a37c134f" />
+ </dataarea>
+ <!-- 8k VRAM on cartridge -->
+ <dataarea name="vram" size="0x2000">
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="soccerlg">
+ <description>Soccer League - Winner's Cup</description>
+ <year>1988</year>
+ <publisher>Data East</publisher>
+ <info name="alt_title" value="サッカーリーグ ウィナーズカップ"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="sxrom" />
+ <feature name="pcb" value="SSS-SLROM-??" />
+ <feature name="mmc1_type" value="MMC1?" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="dfc-wn-0 prg" size="0x20000" crc="5a7fd507" sha1="0c9a4d06fadb694e1a16ddb2f6d97c0b870daf68" />
+ </dataarea>
+ <dataarea name="chr" size="0x20000">
+ <rom name="dfc-wn-0 chr" size="0x20000" crc="b152fb6c" sha1="c7775feb543a2acfbe9d421bc3f1b99b06d547d0" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="supchin2">
+ <description>Super Chinese 2 - Dragon Kid</description>
+ <year>1989</year>
+ <publisher>Culture Brain</publisher>
+ <info name="alt_title" value="スーパーチャイニーズ2 ドラゴンキッド"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="txrom" />
+ <feature name="pcb" value="SSS-TLEPROM-01" />
+ <feature name="mmc3_type" value="MMC3B" />
+ <dataarea name="prg" size="0x20000">
+ <rom name="sss-c2 prg" size="0x20000" crc="47a57fc3" sha1="d173e8614c9d91fe4de246bbeb005bb63a305b7f" />
+ </dataarea>
+ <dataarea name="chr" size="0x20000">
+ <rom name="sss-c2 chr" size="0x20000" crc="0659da91" sha1="4a53ac90cd1bc966cb8ad9a8542dc43814724964" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="smb">
+ <description>Super Mario Bros.</description>
+ <year>1985</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="スーパーマリオブラザーズ"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-03" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="hvc sm-0 prg" size="0x8000" crc="5cf548d3" sha1="fefa1097449a3a11ebf8c6199e905996c5dc8fbd" /> <!-- also found with label: SSS-SM PRG -->
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="hvc sm-0 chr" size="0x2000" crc="867b51ad" sha1="394badaf0b0bdd0ea279a1bca89a9d9ddc00b1b5" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="takahash">
+ <description>Takahashi Meijin no Boukenjima</description>
+ <year>1986</year>
+ <publisher>Hudson Soft</publisher>
+ <info name="alt_title" value="高橋名人の冒険島"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="cnrom" />
+ <feature name="pcb" value="SSS-CNROM-02" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="hfc-tb prg" size="0x8000" crc="8090e3d6" sha1="28ef646255dc7c2fcf2165b8b4df9bdc9f7d9d67" /> <!-- also found with label: SSS-TB PRG -->
+ </dataarea>
+ <dataarea name="chr" size="0x8000">
+ <rom name="hfc-tb chr" size="0x8000" crc="a90fb063" sha1="4b70c8bf1ac4a13e18df9b70b248065c5b0cf90c" /> <!-- also found with label: SSS-TB CHR -->
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="tennis">
+ <description>Tennis</description>
+ <year>1984</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="テニス"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-03" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="hvc-te-0 prg" size="0x4000" crc="8b2e3e81" sha1="e54274c0b0d651458c5459d41872b1f99904d0fb" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="hvc-te-0 chr" size="0x2000" crc="3a34c45b" sha1="2cc26a01c38ead50503dccb3ee929ba7a2b6772c" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="twinbee">
+ <description>TwinBee</description>
+ <year>1986</year>
+ <publisher>Konami</publisher>
+ <info name="alt_title" value="ツインビー"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="cnrom" />
+ <feature name="pcb" value="SSS-CNROM-01" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="tw-0" size="0x8000" crc="77756583" sha1="d0c3c21d1ec1d8a00df41f3d92757bc2b86d2869" />
+ </dataarea>
+ <dataarea name="chr" size="0x4000">
+ <rom name="sss tw-0 chr" size="0x4000" crc="ebf022eb" sha1="2d1af6ed9411ce41594dcd92387aeb801983467b" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="volley">
+ <description>Volleyball</description>
+ <year>1986</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="バレーボール"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-02" />
+ <feature name="mirroring" value="vertical" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="sss vb-0 prg" size="0x8000" crc="9ce5c242" sha1="4cbd1b58333bee32259b9b71bc21877b80ba08ca" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="sss vb-0 chr" size="0x2000" crc="213e3193" sha1="52a477bac8c35ef1c38872070ed11beba0d64025" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="wildgunm">
+ <description>Wild Gunman</description>
+ <year>1984</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="ワイルドガンマン"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-03" />
+ <feature name="mirroring" value="vertical" />
+ <feature name="peripheral" value="zapper" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="hvc-wg-1 prg" size="0x4000" crc="389960db" sha1="6b38f2c86ef27f653a2bdb9c682ac0bc981c7db6" offset="0x0000" />
+ <rom size="0x4000" offset="0x4000" loadflag="reload" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="hvc-wg-0 chr" size="0x2000" crc="a5e04856" sha1="9194d89a34f687742216889cbb3e717a9ae81c92" />
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="wrecking">
+ <description>Wrecking Crew</description>
+ <year>1985</year>
+ <publisher>Nintendo</publisher>
+ <info name="alt_title" value="レッキングクルー"/>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" />
+ <feature name="pcb" value="SSS-NROM-256-03" />
+ <feature name="mirroring" value="horizontal" />
+ <dataarea name="prg" size="0x8000">
+ <rom name="hvc-wr-0 prg" size="0x8000" crc="4328b273" sha1="764d68f05f4a6e43fb26d7e654e237d2b0258fe4" />
+ </dataarea>
+ <dataarea name="chr" size="0x2000">
+ <rom name="hvc-wr-0 chr" size="0x2000" crc="23f0b9fd" sha1="c7f2d4f5f555490847654b8458687f94fba3bd12" />
+ </dataarea>
+ </part>
+ </software>
+
+</softwarelist>
diff --git a/hash/ibm5150.xml b/hash/ibm5150.xml
index ba0049801fe..a3ed8216717 100644
--- a/hash/ibm5150.xml
+++ b/hash/ibm5150.xml
@@ -5926,12 +5926,28 @@ has been replaced with an all-zero block. -->
</part>
</software>
- <software name="msdos32" supported="no">
+ <software name="msdos32">
<description>MS-DOS (Version 3.2)</description>
<year>1985</year>
<publisher>Microsoft</publisher>
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="368640">
+ <rom name="disk1.img" size="368640" crc="f7c4b665" sha1="ba3491076e0af4cf8ce754c5e2cd7da31bfb2954"/>
+ </dataarea>
+ </part>
+ <part name="flop2" interface="floppy_5_25">
+ <dataarea name="flop" size="368640">
+ <rom name="disk2.img" size="368640" crc="620f3653" sha1="ee67a0bb2a397ba1a78991ca20f977cb18bd2288"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="msdos32a" supported="no" cloneof="msdos32">
+ <description>MS-DOS (Version 3.2) (alt.)</description>
+ <year>1985</year>
+ <publisher>Microsoft</publisher>
+ <part name="flop1" interface="floppy_5_25">
+ <dataarea name="flop" size="368640">
<rom name="disk1.img" size="368640" crc="136579c0" sha1="dc50472d5355b7c29fab0361c262ef83dde6a2ea"/>
</dataarea>
</part>
diff --git a/hash/neogeo.xml b/hash/neogeo.xml
index bbfa1907bed..be5afa91f4c 100644
--- a/hash/neogeo.xml
+++ b/hash/neogeo.xml
@@ -6780,7 +6780,7 @@ license:CC0
<publisher>SNK</publisher>
<info name="serial" value="NGM-2340"/>
<info name="release" value="19971205"/>
- <info name="alt_title" value=""/>
+ <info name="alt_title" value="幕末浪漫 月華の剣士"/>
<sharedfeat name="release" value="MVS" />
<sharedfeat name="compatibility" value="MVS,AES" />
<part name="cart" interface="neo_cart">
@@ -6817,7 +6817,7 @@ license:CC0
<year>1997</year>
<publisher>SNK</publisher>
<info name="serial" value="NGH-2340"/>
- <info name="release" value="19900129"/>
+ <info name="release" value="19980129"/>
<info name="alt_title" value="幕末浪漫 月華の剣士"/>
<sharedfeat name="release" value="AES" />
<sharedfeat name="compatibility" value="MVS,AES" />
diff --git a/hash/nes.xml b/hash/nes.xml
index 462f286e7fe..b4a57e275ed 100644
--- a/hash/nes.xml
+++ b/hash/nes.xml
@@ -86179,6 +86179,25 @@ that the real dumps might surface -->
</part>
</software>
+ <software name="mc_g500a" supported="no">
+ <description>Game 500 in 1 (alt)</description>
+ <year>201?</year>
+ <publisher>&lt;pirate&gt;</publisher>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="nrom" /> <!-- FIXME: really unemulated mapper 176 submapper 5 -->
+ <feature name="pcb_model" value="HST-162" />
+ <dataarea name="prg" size="33554432">
+ <rom name="game 500-in-1.prg" size="33554432" crc="b50d8fbc" sha1="a782669be175ea235663dd8764f3d24d3a54c2eb" status="baddump" />
+ </dataarea>
+ <!-- 128k VRAM on cartridge -->
+ <dataarea name="vram" size="131072">
+ </dataarea>
+ <!-- 8k WRAM on cartridge -->
+ <dataarea name="wram" size="8192">
+ </dataarea>
+ </part>
+ </software>
+
<software name="mc_pg150" supported="partial">
<description>Pocket Games 150 in 1</description>
<year>2015</year>
@@ -86240,6 +86259,27 @@ that the real dumps might surface -->
</part>
</software>
+<!-- Same game set as parent but Rad Racer is replaced with Terra Cresta -->
+ <software name="mc_sg143a" cloneof="mc_sg143" supported="partial">
+ <description>Super Games 143 in 1 (HKMK-143)</description>
+ <year>201?</year>
+ <publisher>&lt;pirate&gt;</publisher>
+ <part name="cart" interface="nes_cart">
+ <feature name="slot" value="smd133" />
+ <feature name="smd133-addr" value="6K" />
+ <dataarea name="prg" size="33554432">
+ <rom name="super game 143-in-1 (hkmk-143).prg" size="33554432" crc="6a18daff" sha1="54604a69c47d8e740f944fec2069b431d9bad817" status="baddump" />
+ </dataarea>
+ <!-- 256k VRAM on cartridge -->
+ <dataarea name="vram" size="262144">
+ </dataarea>
+ <!-- 8k WRAM on cartridge, battery backed up -->
+ <dataarea name="bwram" size="8192">
+ <rom value="0x00" size="8192" offset="0" loadflag="fill" />
+ </dataarea>
+ </part>
+ </software>
+
<software name="mc_sg218" supported="partial">
<description>Super Game 218 in 1 (JF2181)</description>
<year>201?</year>
diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua
index 8a3dd0697b5..fdc2b97fb27 100644
--- a/scripts/target/mame/arcade.lua
+++ b/scripts/target/mame/arcade.lua
@@ -4828,6 +4828,7 @@ files {
MAME_DIR .. "src/mame/drivers/cointek.cpp",
MAME_DIR .. "src/mame/drivers/comebaby.cpp",
MAME_DIR .. "src/mame/drivers/compucranes.cpp",
+ MAME_DIR .. "src/mame/drivers/cosmos_playc8f.cpp",
MAME_DIR .. "src/mame/drivers/cowtipping.cpp",
MAME_DIR .. "src/mame/drivers/crazybal.cpp",
MAME_DIR .. "src/mame/drivers/cromptons.cpp",
diff --git a/src/mame/arcade.flt b/src/mame/arcade.flt
index 587f4a9f3c9..2acacd3acbb 100644
--- a/src/mame/arcade.flt
+++ b/src/mame/arcade.flt
@@ -266,6 +266,7 @@ copsnrob.cpp
corona.cpp
cosmic.cpp
cosmicg.cpp
+cosmos_playc8f.cpp
cowtipping.cpp
cps1.cpp
cps1bl_5205.cpp
diff --git a/src/mame/drivers/8080bw.cpp b/src/mame/drivers/8080bw.cpp
index fd0791f535c..c2e7e0f866b 100644
--- a/src/mame/drivers/8080bw.cpp
+++ b/src/mame/drivers/8080bw.cpp
@@ -1419,7 +1419,9 @@ static INPUT_PORTS_START( rollingc )
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_MODIFY("IN2")
- PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x00, "SW1:4" )
+ PORT_DIPNAME( 0x08, 0x08, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:4")
+ PORT_DIPSETTING( 0x08, "RC=3000 / MB=1000" )
+ PORT_DIPSETTING( 0x00, "RC=5000 / MB=2000" )
INPUT_PORTS_END
MACHINE_START_MEMBER(_8080bw_state,rollingc)
diff --git a/src/mame/drivers/bfmsys85.cpp b/src/mame/drivers/bfmsys85.cpp
index 338c764a3dd..f3c4a0f610b 100644
--- a/src/mame/drivers/bfmsys85.cpp
+++ b/src/mame/drivers/bfmsys85.cpp
@@ -796,9 +796,9 @@ GAME( 1989, b85clbpm, 0, bfmsys85, bfmsys85, bfmsys85_state, init_dec
// PROJECT NUMBER 5116 HI LO SILVER DX GAME No 39-350-049 - 27-FEB-1987 10:49:08
-GAME( 1987, b85hilo, 0, bfmsys85, bfmsys85, bfmsys85_state, init_decode, 0, "BFM", "Hi Lo Silver (System 85, set 1)", MACHINE_FLAGS )
+GAME( 1987, b85hilo, 0, bfmsys85, bfmsys85, bfmsys85_state, init_decode, 0, "BFM", "Hi-Lo Silver (System 85, set 1)", MACHINE_FLAGS )
// PROJECT NUMBER 5407 HI LO SILVER 2P GAME No 39-350-142 - 12-OCT-1988 09:39:26
-GAME( 1988, b85hiloa, b85hilo, bfmsys85, bfmsys85, bfmsys85_state, init_decode, 0, "BFM", "Hi Lo Silver (System 85, set 2)", MACHINE_FLAGS )
+GAME( 1988, b85hiloa, b85hilo, bfmsys85, bfmsys85, bfmsys85_state, init_decode, 0, "BFM", "Hi-Lo Silver (System 85, set 2)", MACHINE_FLAGS )
// PROJECT NUMBER 5104 THE RITZ 10P PLAY GAME No 39-350-084 - 28-AUG-1987 08:44:30
diff --git a/src/mame/drivers/cosmos_playc8f.cpp b/src/mame/drivers/cosmos_playc8f.cpp
new file mode 100644
index 00000000000..eecc3931f91
--- /dev/null
+++ b/src/mame/drivers/cosmos_playc8f.cpp
@@ -0,0 +1,110 @@
+// license:BSD-3-Clause
+// copyright-holders:
+/*********************************************************************************************************************************************
+
+ Skeleton driver for Cosmos PLAYC8F/PLAYC8E hardware based electromechanical machines.
+
+ Known machines on this hardware:
+
+ Dumped Manufacturer Machine Notes
+ ------ --------------------------------------------------------------- ------------------ -----------------------------------------------
+ Yes Benchmark Games, Inc. Basketball PLAYC8F + SY-MUSIC01 (music)
+ Yes Benchmark Games, Inc. Ten Strike Classic PLAYC8F (mechanical sound, no sound/music PCBs)
+ No Universal Space Amusement (HK) Co., Ltd Mr. Wolf PLAYC8F
+ No HomingGame Gold Fort PLAYC8F + SOUND03H (music, STC11F08XE-based)
+ No Family Fun Companies, Inc. Basket Fortune PLAYC8F + SY-MUSIC01 (music)
+ No Family Fun Companies, Inc. Pharaoh’s Treasure PLAYC8F + SY-MUSIC01 (music) + SC52 (sound)
+ No Family Fun Companies, Inc. Football Fortune PLAYC8F + SY-MUSIC01 (music)
+ No Universal Space Amusement Equipment Ltd. Bed Monsters PLAYC8F + SY-MUSIC01 (music)
+ No Universal Space Amusement Equipment Ltd. Colorama 4 Player PLAYC8F + SY-MUSIC01 (music)
+ No Universal Space Amusement Equipment Ltd. / Bromley Incorporated Ghost Hunter PLAYC8E + SY-MUSIC01 (music)
+
+***********************************************************************************************************************************************/
+
+#include "emu.h"
+#include "cpu/m6805/m68hc05.h"
+#include "cpu/mcs51/mcs51.h"
+#include "sound/okim9810.h"
+#include "speaker.h"
+
+namespace
+{
+
+class cosmos_playc8f_state : public driver_device
+{
+public:
+ cosmos_playc8f_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_soundcpu(*this, "soundcpu")
+ {
+ }
+
+ void playc8f(machine_config &config);
+ void playc8f_symusic01(machine_config &config);
+
+private:
+ required_device<m68hc05_device> m_maincpu;
+ optional_device<mcs51_cpu_device> m_soundcpu;
+};
+
+static INPUT_PORTS_START(playc8f)
+INPUT_PORTS_END
+
+// PLAYC8F + SY-MUSIC01 (music)
+void cosmos_playc8f_state::playc8f_symusic01(machine_config &config)
+{
+ M68HC705C8A(config, m_maincpu, 4_MHz_XTAL);
+
+ I80C51(config, m_soundcpu, 6_MHz_XTAL); // Actually an AT89C51
+
+ SPEAKER(config, "mono").front_center();
+
+ okim9810_device &oki(OKIM9810(config, "oki", 4.096_MHz_XTAL)); // Actually an OKI M9811
+ oki.add_route(ALL_OUTPUTS, "mono", 0.50);
+}
+
+// PLAYC8F (without sound hardware)
+void cosmos_playc8f_state::playc8f(machine_config &config)
+{
+ M68HC705C8A(config, m_maincpu, 4_MHz_XTAL);
+}
+
+ROM_START(bgbasketb)
+ ROM_REGION(0x002000, "maincpu", 0)
+ ROM_LOAD("basketball_2004-01-22.u13", 0x000000, 0x002000, CRC(5dd80da6) SHA1(5671d7166c7131ce0ad415da16842f271cc7ac3f)) // MC68HC705C8P
+
+ ROM_REGION(0x001000, "soundcpu", 0)
+ ROM_LOAD("mglqj-y-3-3_2004-10-22.u2", 0x000000, 0x001000, NO_DUMP) // AT89C51, protected
+
+ ROM_REGION(0x200000, "samples", 0)
+ ROM_LOAD("mglqj-y-1-3_2004-10-22.rom1", 0x000000, 0x100000, CRC(ca8ac968) SHA1(c974e16d86f0d5fbc5fe663aa81dff82b8678813)) // 27C801
+ ROM_LOAD("mglqj-y-2-3_2004-10-22.rom2", 0x100000, 0x100000, CRC(b4987ea2) SHA1(77f42740bea08a72fc1a201a0ed7946c380141cf)) // 27C801
+ROM_END
+
+ROM_START(bgbasketbb)
+ ROM_REGION(0x002000, "maincpu", 0)
+ ROM_LOAD("srlqj02-2-01_2013-03-23.u13", 0x000000, 0x002000, CRC(9ab77de9) SHA1(c3507636dfe963023d5894403b850b65da2613b4)) // MC705C8ACPE
+
+ ROM_REGION(0x001000, "soundcpu", 0)
+ ROM_LOAD("mglqj-y-3-3_2004-10-22.u2", 0x000000, 0x001000, NO_DUMP) // AT89C51, protected
+
+ ROM_REGION(0x200000, "samples", 0)
+ ROM_LOAD("mglqj-y-1-3_2004-10-22.rom1", 0x000000, 0x100000, CRC(ca8ac968) SHA1(c974e16d86f0d5fbc5fe663aa81dff82b8678813)) // 27C801
+ ROM_LOAD("mglqj-y-2-3_2004-10-22.rom2", 0x100000, 0x100000, CRC(b4987ea2) SHA1(77f42740bea08a72fc1a201a0ed7946c380141cf)) // 27C801
+ROM_END
+
+// This is a reissue and copy of the 1957 Williams Ten Strike
+ROM_START(tenstrikc)
+ ROM_REGION(0x002000, "maincpu", 0)
+ ROM_LOAD("gdblq_2003-5-17.u13", 0x000000, 0x002000, CRC(dc345c3b) SHA1(50edbecf20e038f35556d315447a9d370d125ea7)) // MC68HC705C8A
+
+ // No sound hardware (just mechanical sounds triggered by relays)
+ROM_END
+
+} // anonymous namespace
+
+// YEAR NAME PARENT MACHINE INPUT CLASS INIT ROT COMPANY FULLNAME FLAGS
+GAME(2013, bgbasketb, 0, playc8f_symusic01, playc8f, cosmos_playc8f_state, empty_init, ROT0, "Benchmark Games, Inc.", "Basketball (Benchmark Games, set 1)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(2004, bgbasketbb, bgbasketb, playc8f_symusic01, playc8f, cosmos_playc8f_state, empty_init, ROT0, "Benchmark Games, Inc.", "Basketball (Benchmark Games, set 2)", MACHINE_IS_SKELETON_MECHANICAL)
+GAME(2003, tenstrikc, 0, playc8f, playc8f, cosmos_playc8f_state, empty_init, ROT0, "Benchmark Games, Inc.", "Ten Strike Classic", MACHINE_IS_SKELETON_MECHANICAL)
diff --git a/src/mame/drivers/cps1.cpp b/src/mame/drivers/cps1.cpp
index d42cb8714f2..61a101d22fd 100644
--- a/src/mame/drivers/cps1.cpp
+++ b/src/mame/drivers/cps1.cpp
@@ -3081,6 +3081,70 @@ static INPUT_PORTS_START( pang3b )
PORT_DIPUNUSED( 0x80, 0x80 )
INPUT_PORTS_END
+/* The bootleggers hacked main code (@ 0x300 and 0xe0000) to use dip switches instead of the usual pang3 93C46 serial EPROM */
+static INPUT_PORTS_START( pang3b4 )
+ // Though service mode shows diagonal inputs, the flyer and manual both specify 4-way joysticks
+ PORT_INCLUDE( cps1_2b_4way )
+
+ PORT_MODIFY("IN0")
+ PORT_SERVICE_NO_TOGGLE( 0x40, IP_ACTIVE_LOW )
+
+ // As manual states, "Push 2 is not used," and is not even shown in service mode
+ PORT_MODIFY("IN1")
+ PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Shot")
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
+ PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME("P2 Shot")
+ PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("DSWA")
+ CPS1_COINAGE_2( "DIP-A" )
+ PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "DIP-A:4" )
+ PORT_DIPUNUSED_DIPLOC( 0x10, 0x10, "DIP-A:5" )
+ PORT_DIPUNUSED_DIPLOC( 0x20, 0x20, "DIP-A:6" )
+ PORT_DIPUNUSED_DIPLOC( 0x40, 0x40, "DIP-A:7" )
+ PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "DIP-A:8" )
+
+ PORT_START("DSWB")
+ PORT_DIPNAME( 0x07, 0x04, "Game level" ) PORT_DIPLOCATION("DIP-B:1,2,3")
+ PORT_DIPSETTING( 0x07, "Easy 3" )
+ PORT_DIPSETTING( 0x06, "Easy 2" )
+ PORT_DIPSETTING( 0x05, "Easy 1" )
+ PORT_DIPSETTING( 0x04, "Normal" )
+ PORT_DIPSETTING( 0x03, "Hard 1" )
+ PORT_DIPSETTING( 0x02, "Hard 2" )
+ PORT_DIPSETTING( 0x01, "Hard 3" )
+ PORT_DIPSETTING( 0x00, "Hard 4" )
+ PORT_DIPNAME( 0x18, 0x18, "Player" ) PORT_DIPLOCATION("DIP-B:4,5")
+ PORT_DIPSETTING( 0x08, "1" )
+ PORT_DIPSETTING( 0x10, "2" )
+ PORT_DIPSETTING( 0x18, "3" )
+ PORT_DIPSETTING( 0x00, "4" )
+ PORT_DIPNAME( 0x60, 0x20, "Extend" ) PORT_DIPLOCATION("DIP-B:6,7")
+ PORT_DIPSETTING( 0x00, "30K, 250K, 1M, 3M, 7M" )
+ PORT_DIPSETTING( 0x20, "80K, 500k, 2M, 5M, 10M" )
+ PORT_DIPSETTING( 0x40, "250K, 1M, 3M, 7M, 15M" )
+ PORT_DIPSETTING( 0x60, "Not extend" )
+ PORT_DIPNAME( 0x80, 0x80, "Free play" ) PORT_DIPLOCATION("DIP-B:8")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("DSWC")
+ PORT_DIPUNUSED_DIPLOC( 0x01, 0x01, "DIP-C:1" )
+ PORT_DIPUNUSED_DIPLOC( 0x02, 0x02, "DIP-C:2" )
+ PORT_DIPUNUSED_DIPLOC( 0x04, 0x04, "DIP-C:3" )
+ PORT_DIPUNUSED_DIPLOC( 0x08, 0x08, "DIP-C:4" ) // Missing freeze code @ 0x020B74
+ PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DIP-C:5")
+ PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x20, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("DIP-C:6")
+ PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, DEF_STR( Allow_Continue ) ) PORT_DIPLOCATION("DIP-C:7")
+ PORT_DIPSETTING( 0x40, DEF_STR( No ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Yes ) )
+ PORT_DIPUNUSED_DIPLOC( 0x80, 0x80, "DIP-C:8" )
+INPUT_PORTS_END
+
// Note: if you have service mode stuck then start button doesn't get recognized on title screen.
static INPUT_PORTS_START( gulunpa )
PORT_INCLUDE( cps1_2b )
@@ -13294,6 +13358,131 @@ ROM_START( pang3b3 )
ROM_LOAD( "cp1b9k.9k", 0x0000, 0x0117, CRC(a754bdc3) SHA1(9267b24cbddee4858b219468cc92f9df8f5fd0ef) )
ROM_END
+/* This bootleg uses a bootlegged B board nearly identical to that used in sf2ceblp.
+ In my set:
+ - Board-A is missing so I don't know if a normal or a dash board was used.
+ - Board-C is an hacked 88622-C-5 with an unusual CPS-B-12 and clearly it's not its C-board because
+ code analisys led to identify the CPS_B_21_DEF as the right configuration.
+ - Board-B has some missing components:
+ - audio cpu code EPROM @B13 (pang3b pa3_11.11f used instead)
+ - 28 pin DIP component @F8, probably a PIC16C55/7 looking the pinout (VCC on pin2, GND on pin 4, ...)
+
+ The program code is almost the same as of pang3b with some minor, yet interesting, hacks:
+ - Dip switch use for board configuration (code@ 0x000300, 0xe0000) instead of a serial EPROM
+ - Removed freeze from dip switch (code@ 020B74)
+ - Some code to handle the PIC (protection?).
+ Read and write to addresses 0x5762b0 and 0x57a2b0 occurs in the code but the return value is never really used (nop or bra skips relevant parts)
+ and so seems that the PIC protection is ineffective.
+ - Read and write to port 0x80017a (EEPROM in pang3) still are present in the code, but are filtered by the PAL16V8 @ E13 so there is no need to
+ create a port for that address here in mame (altough this causes a popmessage "CPS-B read port 3A contact MAMEDEV" to occurr at startup if compiled with
+ DEBUG=1)
+
+ Board-B has five PALs:
+ - PALCE16V8 @A2
+ - PAL16L8 @E11
+ - PALCE16V8 @E13
+ - PAL16L8 @J8
+ - PALCE22V10 @J8
+
+*/
+ROM_START( pang3b4 )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_BYTE( "22.u30", 0x00000, 0x20000, CRC(bf3ebe68) SHA1(10f3eb3f6e747eaed1821c611fa19350c3528362) )
+ ROM_LOAD16_BYTE( "26.u35", 0x00001, 0x20000, CRC(d20db83c) SHA1(ac97ad76848bb6069e6d07d1f2feb2c328578228) )
+ ROM_LOAD16_BYTE( "23.u31", 0x40000, 0x20000, CRC(94d494c2) SHA1(33a2c1ea041a68655b7c3c44b1c5d58dec3add89) )
+ ROM_LOAD16_BYTE( "27.u36", 0x40001, 0x20000, CRC(38e43390) SHA1(ae346c5e21b3aad86b118a0c99a550304916debf) )
+ ROM_LOAD16_BYTE( "20.u28", 0x80000, 0x20000, CRC(8daf3814) SHA1(a83a0434b9f281c70dae35362741f52a8b3ea622) )
+ ROM_LOAD16_BYTE( "24.u33", 0x80001, 0x20000, CRC(bb34e444) SHA1(2cfb135dbd763f327fe3c5ed2d8d291fd97118c2) )
+ ROM_LOAD16_BYTE( "21.u29", 0xC0000, 0x20000, CRC(54d0b680) SHA1(5527673286dc9db82eed357cda1f53ccdd3e2d1f) )
+ ROM_LOAD16_BYTE( "25.u34", 0xC0001, 0x20000, CRC(d666ec70) SHA1(3305fa5c6c78bdfc5ef5393f001e710ce3c4d28a) )
+
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROM_LOAD64_BYTE( "14.u25", 0x000000, 0x40000, CRC(d2b764a9) SHA1(bb13821a1a3059c2f98d5c36f830116b87583312) )
+ ROM_LOAD64_BYTE( "06.u15", 0x000001, 0x40000, CRC(fb68be4e) SHA1(5d7e34bfa5427a1b05b64e174dd26e2153b56ec0) )
+ ROM_LOAD64_BYTE( "13.u24", 0x200000, 0x40000, CRC(0c73a1c7) SHA1(c3d3f9115b24805f038bb4b808beef342c87eff3) )
+ ROM_LOAD64_BYTE( "05.u14", 0x200001, 0x40000, CRC(475a5ef1) SHA1(0dcd8d747a84037e27c5b360733a4c3d03cc43fa) )
+
+ ROM_LOAD64_BYTE( "10.u21", 0x000004, 0x40000, CRC(79673708) SHA1(9b4d972d7ef6592763271976349d65519e0d0dfa) )
+ ROM_LOAD64_BYTE( "02.u11", 0x000005, 0x40000, CRC(f706b466) SHA1(ecdfe160bdfa9c5d4533c43f52868f4e71ee6c8b) )
+ ROM_LOAD64_BYTE( "09.u20", 0x200004, 0x40000, CRC(6e36e963) SHA1(2e46c57516603322ee16e7a7ffa4792c3569f087) )
+ ROM_LOAD64_BYTE( "01.u10", 0x200005, 0x40000, CRC(7d15b9d7) SHA1(b6b39bffb2440c4cfedcdda19e6bcb0a85038ee3) )
+
+ ROM_LOAD64_BYTE( "16.u27", 0x000002, 0x40000, CRC(3e293482) SHA1(c5896b92126f05cfcef46a1d6e4a8986c054d1db) )
+ ROM_LOAD64_BYTE( "08.u17", 0x000003, 0x40000, CRC(7e0ca927) SHA1(eee7df6f8fc11dda0d403b7d43934e3233cf257e) )
+ ROM_LOAD64_BYTE( "15.u26", 0x200002, 0x40000, CRC(a933434f) SHA1(60807e16b87f3e07f59fd14d29a5c54efe54f4af) )
+ ROM_LOAD64_BYTE( "07.u16", 0x200003, 0x40000, CRC(83b3fa5e) SHA1(95c79cfe88902a36a60ebd73490b435c57c9d60e) )
+
+ ROM_LOAD64_BYTE( "12.u23", 0x000006, 0x40000, CRC(3c4dfb4f) SHA1(638078080d49edb8c711dfb10ee6029c58e82801) )
+ ROM_LOAD64_BYTE( "04.u13", 0x000007, 0x40000, CRC(44cd5e95) SHA1(53ba6dd7ab2313b5a0ee1210a1ec24e57d1d5d86) )
+ ROM_LOAD64_BYTE( "11.u22", 0x200006, 0x40000, CRC(29194b90) SHA1(479bbfbc26cd18440fdf9b71f85e3776add61cc4) )
+ ROM_LOAD64_BYTE( "03.u12", 0x200007, 0x40000, CRC(7e28974e) SHA1(d1eb177fe37784c6bcd5cb7df3b06b55c4d069b8) )
+
+ ROM_REGION( 0x18000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "pa3_11.11f", 0x00000, 0x08000, BAD_DUMP CRC(cb1423a2) SHA1(3191bf5d340168647881738cb2aed09b1d86146e) ) // 19.u9 missing, used pang3b audio code instead
+ ROM_IGNORE( 0x18000 )
+
+ ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
+ ROM_LOAD( "pa3_05.10d", 0x00000, 0x20000, CRC(73a10d5d) SHA1(999465e4fbc35a34746d2db61ad49f61403d5af7) ) // 18.u18 has the same content of pa3_05.10d from pang3 romset
+ ROM_LOAD( "pa3_06.11d", 0x20000, 0x20000, CRC(affa4f82) SHA1(27b9292bbc121cf585f53297a79fe8f0d0a729ae) ) // 17.u19 has the same content of pa3_06.11d from pang3 romset
+
+ ROM_REGION( 0x0400, "bboardplds", 0 )
+ ROM_LOAD( "pal16l8.11e", 0x0000, 0x0117, CRC(27617943) SHA1(eb34cfba18fcc2b67ee214c681ea86bfe1bb75e0) ) // Bruteforced
+ ROM_LOAD( "pal16v8.1a", 0x0000, 0x0117, CRC(78c3161f) SHA1(7ae85dfca59387f4874b0ef1218bfd14c393fb85) ) // Bruteforced
+ ROM_LOAD( "pal16v8.13e", 0x0000, 0x0117, CRC(5406caf1) SHA1(6bebafd4a4bad9ed766abce2fef9c30cbf61772e) ) // Bruteforced
+ ROM_LOAD( "pal22v10.j8", 0x0000, 0x02dd, CRC(a9445f88) SHA1(caacee5f3d5502cd51060c0769914cad4317838c) ) // Bruteforced
+ ROM_LOAD( "pal16l8.j8", 0x0000, 0x0117, NO_DUMP ) // Bad PAL, all outputs are fixed high
+ROM_END
+
+/* B-Board Mitchell 94916-10 */
+/* This set comes from an encrypted bootleg that uses a very well reproduced Mitchell 94916-10 B-Board surmounted by an
+ original Capcom 90631C-5 C-Board taken from a Knights of the round board (there's a sticker on it).
+ Protection chip MACH215 is present. */
+ROM_START( pang3b5 )
+ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
+ ROM_LOAD16_WORD_SWAP( "pa3e_17.11l", 0x00000, 0x80000, CRC(d7041d32) SHA1(b021f3defe7fc58030ba907125c713f987724187) ) // 17.11l has the same content of pa3e_17.11l from pang3r1 romset
+ ROM_LOAD16_WORD_SWAP( "pa3e_16.10l", 0x80000, 0x80000, CRC(1be9a483) SHA1(6cff1dd15ca163237bc82fb4a3e1d469d35e7be8) ) // 16.10l has the same content of pa3e_16.10l from pang3r1 romset
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROM_LOAD64_WORD( "1.2c", 0x000000, 0x80000, CRC(22c934c4) SHA1(93a3c3cfdbfd1321b785f08d1da30d9b1445e14b) )
+ ROM_LOAD64_WORD( "7.2f", 0x000002, 0x80000, CRC(51031180) SHA1(a38a77da2ca452843a3b0cb02baaaf7df2e3d9a4) )
+ ROM_LOAD64_WORD( "3.4c", 0x000004, 0x80000, CRC(ac119a46) SHA1(e8a07349b6106f712a7543ab52e9d5ced756fdbd) )
+ ROM_LOAD64_WORD( "9.4f", 0x000006, 0x80000, CRC(2e1d35f2) SHA1(1b4a9cf9ed91fed532d44582c598982dae06253c) )
+ ROM_LOAD64_WORD( "2.3c", 0x200000, 0x80000, CRC(07c85e9b) SHA1(5b9bc1f5708d03c2458a1dbb781084c2af8f91ee) )
+ ROM_LOAD64_WORD( "8.3f", 0x200002, 0x80000, CRC(325cc0b7) SHA1(ef464abfbadb680eac51daab4adf0bb239785679) )
+ ROM_LOAD64_WORD( "4.5c", 0x200004, 0x80000, CRC(4ad13297) SHA1(59565f9819e1cdd405103d5e3621c747116f653c) )
+ ROM_LOAD64_WORD( "10.5f", 0x200006, 0x80000, CRC(026d0cd2) SHA1(44f7718851e0b1f43682afafcbd844e6b1ce3430) )
+
+
+ ROM_REGION( 0x18000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
+ ROM_LOAD( "pa3_11.11f", 0x00000, 0x08000, CRC(cb1423a2) SHA1(3191bf5d340168647881738cb2aed09b1d86146e) ) // == 11.11f has the same content of pa3w_16.10l from pang3 romset
+ ROM_IGNORE( 0x18000 )
+
+ ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
+ ROM_LOAD( "pa3_05.10d", 0x00000, 0x20000, CRC(73a10d5d) SHA1(999465e4fbc35a34746d2db61ad49f61403d5af7) ) // 5.10c has the same content of pa3_05.10d from pang3 romset
+ ROM_LOAD( "pa3_06.11d", 0x20000, 0x20000, CRC(affa4f82) SHA1(27b9292bbc121cf585f53297a79fe8f0d0a729ae) ) // 6.11c has the same content of pa3_06.11d from pang3 romset
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD( "prg1", 0x0000, 0x0117, CRC(f1129744) SHA1(a5300f301c1a08a7da768f0773fa0fe3f683b237) )
+ ROM_LOAD( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+ ROM_LOAD( "sou1", 0x0000, 0x0117, CRC(84f4b2fe) SHA1(dcc9e86cc36316fe42eace02d6df75d08bc8bb6d) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD( "cp1b1f_boot.1f", 0x0000, 0x0117, CRC(658849dc) SHA1(4fc386fa33322ce52334dee1391d617e0754bde0) )
+ ROM_LOAD( "cp1b8k.8k", 0x0000, 0x0117, CRC(8a52ea7a) SHA1(47a59abc54a83292cfd6faa2d293c8f948c7ea03) ) // I was not able to dump the original PAL. Tryied to swap it with a legit CP1B8K on real hw
+ // and it's working, so I suppose they're functionally equivalent
+ ROM_LOAD( "cp1b9ka.9k", 0x0000, 0x0117, CRC(238d3ff4) SHA1(597f429d6a0ea485746322592604188c1ec87595) ) // The PAL @ 9k was bruteforced and verified to be to be functionally equivalent to a standard cp1b9ka
+
+ ROM_REGION( 0x0200, "cboardplds", 0 )
+ ROM_LOAD( "ioc1.ic7", 0x0000, 0x0104, CRC(a399772d) SHA1(55471189db573dd61e3087d12c55564291672c77) )
+ ROM_LOAD( "c632.ic1", 0x0000, 0x0117, CRC(0fbd9270) SHA1(d7e737b20c44d41e29ca94be56114b31934dde81) )
+ROM_END
+
+
+
+
/* B-Board 91635B-2 */
/* Note that this USA set seems to be the only one where GFX are stored into EPROMs instead of the usual mask ROMs. */
ROM_START( megaman )
@@ -13956,6 +14145,69 @@ void cps_state::init_pang3()
init_pang3b();
}
+/*
+Pang 3b4 - code accesso to $5762b0 and $57a2b0 (PIC)
+
+--------- Dip switch decoding ---------
+0E001A: move.b $80001c.l, D0 ; !Dip switch B
+0E0020: not.b D0 ; Dip switch B
+0E0022: move.b D0, D1 ; D1 = D0 - Save DSWB for later use
+0E0024: andi.b #$7, D0 ; D0 = D0 & $7 - first 3 bits - Game level -- 7<= D0 <= 0
+0E0028: move.w D0, $5762b0.l ; [$5762b0] = D0
+0E002E: nop ;
+0E0030: move.w $57a2b0.l, D2 ; D2 = [$57a2b0]
+0E0036: move.b D1, D0 ; D0 = D1 - restore value read from DSWB
+0E0038: andi.w #$60, D0 ; D0 = D0 & $60 - bit 5, 6
+
+--------- Copy protection ? ---------
+000300: move.w #$17, $5762b0.l ; [5762B0] = 17 (Pic?)
+000308: nop ;
+00030A: move.w #$3, D2 ; D2 = 3
+00030E: move.w $57a2b0.l, D0 ; D0 = [$57A2B0]
+000314: cmpi.w #$7321, D0 ; DO <= $7321 (not used?)
+000318: bra $360 ; jmp 360
+; unused code
+00031A: dbra D2, $30e ; loop until D2=0 to $30E
+00031E: move.l #$0, $ff10fa.l ; [$ff10fa] = 0 ; reset values initialized at 238F0-23922
+000328: move.l #$0, $ff113a.l ; [$ff113a] = 0 ; reset values initialized at 238F0-23922
+000332: move.l #$0, $ff10fe.l ; [$ff10fe] = 0 ; reset values initialized at 238F0-23922
+00033C: move.l #$0, $ff113e.l ; [$ff113e] = 0 ; reset values initialized at 238F0-23922
+000346: move.l #$0, $ff10d2.l ; [$ff10d2] = 0 ; reset values initialized at 238F0-23922
+000350: move.l #$0, $ff1112.l ; [$ff1112] = 0 ; reset values initialized at 238F0-23922
+00035A: jmp $20acc.l ; jmp $20ACC
+; unused code [END]
+000360: jmp $e0000.l ; jmp $E0000
+*/
+uint16_t cps_state::pang3b4_prot_r()
+{
+
+ if ((pang3b4_prot & 0xFF) >=0 && (pang3b4_prot & 0xFF) <=7)
+ return (pang3b4_prot & 0xFF)+0x20; // Game level + extend
+ if (pang3b4_prot == 0x17)
+ return 0x7321; // Guessed from code @0x314
+ return 0xFFFF;
+}
+
+void cps_state::pang3b4_prot_w(uint16_t data)
+{
+ pang3b4_prot = data;
+}
+
+
+void cps_state::init_pang3b4()
+{
+ m_maincpu->space(AS_PROGRAM).install_write_handler(0x5762b0, 0x5762b1, write16smo_delegate(*this, FUNC(cps_state::pang3b4_prot_w)));
+ m_maincpu->space(AS_PROGRAM).install_read_handler(0x57A2b0, 0x57A2b1, read16smo_delegate(*this, FUNC(cps_state::pang3b4_prot_r)));
+
+ /* In pang3 the Mach215 security chip outputs 2 control signals (pins 4, 6) which switch the eeprom in/out serial data lines onto the main 68k data bus when required
+ They're mapped in the CPS-B address range but there is not the EPROM on the board
+ Read and write to port 0x80017a still are present in the code, but they are filtered by the PAL16V8 @ E13 */
+ m_maincpu->space(AS_PROGRAM).nop_readwrite(0x80017a, 0x80017b);
+
+ init_cps1();
+}
+
+
uint16_t cps_state::ganbare_ram_r(offs_t offset, uint16_t mem_mask)
{
uint16_t result = 0xffff;
@@ -14283,6 +14535,8 @@ GAME( 1995, pang3j, pang3, pang3, pang3, cps_state, init_pang3
GAME( 1995, pang3b, pang3, pang3, pang3b, cps_state, init_pang3b, ROT0, "bootleg", "Pang! 3 (bootleg, set 1)", MACHINE_SUPPORTS_SAVE ) // 950511 - based on Euro version
GAME( 1995, pang3b2, pang3, pang3, pang3, cps_state, init_pang3, ROT0, "bootleg", "Pang! 3 (bootleg, set 2)", MACHINE_SUPPORTS_SAVE ) // 950601 - based on Euro version
GAME( 1995, pang3b3, pang3, pang3, pang3, cps_state, init_pang3, ROT0, "bootleg", "Pang! 3 (bootleg, set 3)", MACHINE_SUPPORTS_SAVE ) // 950511 - based on Euro version, hacked to use cps-b-17
+GAME( 1995, pang3b4, pang3, cps1_12MHz, pang3b4, cps_state, init_pang3b4, ROT0, "bootleg", "Pang! 3 (bootleg, set 4)", MACHINE_SUPPORTS_SAVE ) // 950601 - based on Euro version, unencrypted, protection PIC, no serial EPROM
+GAME( 1995, pang3b5, pang3, pang3, pang3, cps_state, init_pang3, ROT0, "bootleg", "Pang! 3 (bootleg, set 5)", MACHINE_SUPPORTS_SAVE ) // 950511 - based on Euro version
/* Home 'CPS Changer' Unit */
diff --git a/src/mame/drivers/jpmimpctsw.cpp b/src/mame/drivers/jpmimpctsw.cpp
index f81b5d2b606..92eeec3456e 100644
--- a/src/mame/drivers/jpmimpctsw.cpp
+++ b/src/mame/drivers/jpmimpctsw.cpp
@@ -11780,12 +11780,12 @@ GAMEL( 199?, j6hapyhr, 0, impact_nonvideo_disc, j6hapyhr, jpmimpct_
GAMEL( 199?, j6hapyhra, j6hapyhr, impact_nonvideo_disc, j6hapyhr, jpmimpct_state, empty_init, ROT0, "JPM", "Happy Hour (JPM) (IMPACT) (HH2 C5) (set 2)", GAME_FLAGS_WORKING, layout_j6hapyhrb )
GAMEL( 199?, j6hapyhrb, j6hapyhr, impact_nonvideo_disc, j6hapyhr, jpmimpct_state, empty_init, ROT0, "JPM", "Happy Hour (JPM) (IMPACT) (HH2 C5) (set 3)", GAME_FLAGS_WORKING, layout_j6hapyhrb )
-GAME( 199?, j6hilosv, 0, impact_nonvideo, j6hilosv, jpmimpct_state, empty_init, ROT0, "JPM", "Hi Lo Silver (JPM) (IMPACT) (set 1)", GAME_FLAGS )
-GAME( 199?, j6hilosva, j6hilosv, impact_nonvideo, j6hilosv, jpmimpct_state, empty_init, ROT0, "JPM", "Hi Lo Silver (JPM) (IMPACT) (set 2)", GAME_FLAGS )
-GAME( 199?, j6hilosvb, j6hilosv, impact_nonvideo, j6hilosv, jpmimpct_state, empty_init, ROT0, "JPM", "Hi Lo Silver (JPM) (IMPACT) (set 3)", GAME_FLAGS )
-GAME( 199?, j6hilosvc, j6hilosv, impact_nonvideo, j6hilosv, jpmimpct_state, empty_init, ROT0, "JPM", "Hi Lo Silver (JPM) (IMPACT) (set 4, Whitbread)", GAME_FLAGS )
-GAME( 199?, j6hilosvd, j6hilosv, impact_nonvideo, j6hilosv, jpmimpct_state, empty_init, ROT0, "JPM", "Hi Lo Silver (JPM) (IMPACT) (set 5)", GAME_FLAGS ) // incomplete pair
-GAME( 199?, j6hilosve, j6hilosv, impact_nonvideo, j6hilosv, jpmimpct_state, empty_init, ROT0, "JPM", "Hi Lo Silver (JPM) (IMPACT) (set 6)", GAME_FLAGS ) // incomplete pair
+GAME( 199?, j6hilosv, 0, impact_nonvideo, j6hilosv, jpmimpct_state, empty_init, ROT0, "JPM", "Hi-Lo Silver (JPM) (IMPACT) (set 1)", GAME_FLAGS )
+GAME( 199?, j6hilosva, j6hilosv, impact_nonvideo, j6hilosv, jpmimpct_state, empty_init, ROT0, "JPM", "Hi-Lo Silver (JPM) (IMPACT) (set 2)", GAME_FLAGS )
+GAME( 199?, j6hilosvb, j6hilosv, impact_nonvideo, j6hilosv, jpmimpct_state, empty_init, ROT0, "JPM", "Hi-Lo Silver (JPM) (IMPACT) (set 3)", GAME_FLAGS )
+GAME( 199?, j6hilosvc, j6hilosv, impact_nonvideo, j6hilosv, jpmimpct_state, empty_init, ROT0, "JPM", "Hi-Lo Silver (JPM) (IMPACT) (set 4, Whitbread)", GAME_FLAGS )
+GAME( 199?, j6hilosvd, j6hilosv, impact_nonvideo, j6hilosv, jpmimpct_state, empty_init, ROT0, "JPM", "Hi-Lo Silver (JPM) (IMPACT) (set 5)", GAME_FLAGS ) // incomplete pair
+GAME( 199?, j6hilosve, j6hilosv, impact_nonvideo, j6hilosv, jpmimpct_state, empty_init, ROT0, "JPM", "Hi-Lo Silver (JPM) (IMPACT) (set 6)", GAME_FLAGS ) // incomplete pair
GAMEL( 199?, j6impuls, 0, impact_nonvideo, j6impuls, jpmimpct_state, empty_init, ROT0, "JPM", "Impulse (JPM) (IMPACT) (IP 5 C13) (set 1)", GAME_FLAGS_WORKING, layout_j6impuls15 )
GAMEL( 199?, j6impulsa, j6impuls, impact_nonvideo, j6impulsa,jpmimpct_state, empty_init, ROT0, "JPM", "Impulse (JPM) (IMPACT) (IP 6 C14) (set 2)", GAME_FLAGS_WORKING, layout_j6impuls )
diff --git a/src/mame/drivers/jpmsys5sw.cpp b/src/mame/drivers/jpmsys5sw.cpp
index 95d985b4dba..4c188005b41 100644
--- a/src/mame/drivers/jpmsys5sw.cpp
+++ b/src/mame/drivers/jpmsys5sw.cpp
@@ -1632,4 +1632,4 @@ GAME( 199?, j5revoa, j5revo, jpmsys5_ym, popeye, jpmsys5_state, empty_init,
GAMEL( 199?, j5sizl, 0, jpmsys5_ym, popeye, jpmsys5_state, empty_init, ROT0, "JPM", "Sizzling (JPM) (SYSTEM5)", GAME_FLAGS, layout_j5sizl )
-GAME( 199?, j5hilos, 0, jpmsys5_ym, popeye, jpmsys5_state, empty_init, ROT0, "JPM", "Hi Lo Silver (JPM) (SYSTEM5)", GAME_FLAGS )
+GAME( 1990, j5hilos, 0, jpmsys5_ym, popeye, jpmsys5_state, empty_init, ROT0, "JPM", "Hi-Ho Silver (JPM) (SYSTEM5)", GAME_FLAGS )
diff --git a/src/mame/drivers/kaypro.cpp b/src/mame/drivers/kaypro.cpp
index 237c7703e74..e3b036f9ff8 100644
--- a/src/mame/drivers/kaypro.cpp
+++ b/src/mame/drivers/kaypro.cpp
@@ -2,22 +2,25 @@
// copyright-holders:Robbbert
/*************************************************************************************************
-
The Kaypro 2/83 computer - the very first Kaypro II - 2 full height floppy drives.
Each disk was single sided, and could hold 191k. The computer had 2x pio
and 1x sio. One of the sio ports communicated with the keyboard with a coiled
telephone cord, complete with modular plug on each end. The keyboard carries
its own Intel 87C51 processor and is an intelligent device.
-
+
+ Kaypro 5 notes:
+ The Kaycomp Kay Pro V / Non-Linear Systems Kaypro 5: https://retrocmp.de/kaypro/kay-p1_vers.htm#kay-5,
+ a version of the Kaypro II, but with a 5MB harddisk instead of one of the floppy drives, was announced
+ in December 1982, but apart from the relevant articles of the time, only one photo can be found.
+
Kaypro 10 notes:
- - This machine comes with a 10MB hard drive, split into 2 5MB partitions. It also
- has one floppy drive. The drive letters change depending on what drive it was booted
- from. The boot drive is always A:.
- If booted from floppy:
+ This machine comes with a 10MB hard drive, split into 2 5MB partitions. It also has one floppy drive.
+ The drive letters change depending on what drive it was booted from. The boot drive is always A:.
+ - If booted from floppy:
A: floppy
B: HD partition 1
C: HD partition 2
- If booted from HD (presumably partition 1)
+ - If booted from HD (presumably partition 1)
A: HD partition 1
B: HD partition 2
C: floppy
diff --git a/src/mame/drivers/nes.cpp b/src/mame/drivers/nes.cpp
index 303ef932de7..ba80fe08043 100644
--- a/src/mame/drivers/nes.cpp
+++ b/src/mame/drivers/nes.cpp
@@ -85,6 +85,7 @@ void nes_state::nes(machine_config &config)
SOFTWARE_LIST(config, "ntb_list").set_original("nes_ntbrom"); // Sunsoft Nantettate! Baseball mini-carts
SOFTWARE_LIST(config, "kstudio_list").set_original("nes_kstudio"); // Bandai Karaoke Studio expansion carts
SOFTWARE_LIST(config, "datach_list").set_original("nes_datach"); // Bandai Datach Joint ROM System mini-carts
+ SOFTWARE_LIST(config, "famibox_list").set_compatible("famibox"); // FamicomBox/FamicomStation carts
}
void nes_state::nespal(machine_config &config)
diff --git a/src/mame/drivers/newton.cpp b/src/mame/drivers/newton.cpp
index 86401cb91e5..f9c6f787516 100644
--- a/src/mame/drivers/newton.cpp
+++ b/src/mame/drivers/newton.cpp
@@ -5,18 +5,18 @@
Apple Newton devices skeleton driver
CPUs:
- MessagePad: ARM 610 (20MHz)
+ Newton MessagePad: ARM 610 (20MHz)
ExpertPad PI-7000: ARM 610 (20MHz)
- MessagePad 100: ARM 610 (20MHz)
- MessagePad 110: ARM 610 (20MHz)
- MessagePad 120: ARM 610 (20MHz)
+ Newton MessagePad 100: ARM 610 (20MHz)
+ Newton MessagePad 110: ARM 610 (20MHz)
+ Newton MessagePad 120: ARM 610 (20MHz)
Marco: ARM 610 (20MHz)
- MessagePad 130: ARM 610 (20MHz)
+ Newton MessagePad 130: ARM 610 (20MHz)
eMate 300: ARM 710a (25MHz)
- MessagePad 2000: StrongARM SA-110 (162MHz)
- MessagePad 2100: StrongARM SA-110 (162MHz)
+ Newton MessagePad 2000: StrongARM SA-110 (162MHz)
+ Newton MessagePad 2100: StrongARM SA-110 (162MHz)
****************************************************************************/
@@ -183,12 +183,12 @@ ROM_END
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
CONS( 1992, newtnotp, 0, 0, gen1, newton, newton_state, empty_init, "Apple Computer", "Newton Notepad (prototype)", MACHINE_IS_SKELETON )
-CONS( 1993, newtonmp, 0, 0, gen1, newton, newton_state, empty_init, "Apple Computer", "MessagePad", MACHINE_IS_SKELETON )
+CONS( 1993, newtonmp, 0, 0, gen1, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad", MACHINE_IS_SKELETON )
CONS( 1993, spi7000, 0, 0, gen1, newton, newton_state, empty_init, "Sharp", "ExpertPad PI-7000", MACHINE_IS_SKELETON )
-CONS( 1994, mp110, 0, 0, gen1, newton, newton_state, empty_init, "Apple Computer", "MessagePad 110", MACHINE_IS_SKELETON )
-CONS( 1995, mp120, 0, 0, mp120, newton, newton_state, empty_init, "Apple Computer", "MessagePad 120", MACHINE_IS_SKELETON )
+CONS( 1994, mp110, 0, 0, gen1, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 110", MACHINE_IS_SKELETON )
+CONS( 1995, mp120, 0, 0, mp120, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 120", MACHINE_IS_SKELETON )
CONS( 1995, motmarco, 0, 0, marco, newton, newton_state, empty_init, "Motorola", "Marco", MACHINE_IS_SKELETON )
-CONS( 1996, mp130, 0, 0, mp130, newton, newton_state, empty_init, "Apple Computer", "MessagePad 130", MACHINE_IS_SKELETON )
+CONS( 1996, mp130, 0, 0, mp130, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 130", MACHINE_IS_SKELETON )
CONS( 1997, emate, 0, 0, emate, newton, newton_state, empty_init, "Apple Computer", "eMate 300", MACHINE_IS_SKELETON )
-CONS( 1997, mp2000, 0, 0, mp2000, newton, newton_state, empty_init, "Apple Computer", "MessagePad 2000", MACHINE_IS_SKELETON )
-CONS( 1997, mp2100, 0, 0, mp2100, newton, newton_state, empty_init, "Apple Computer", "MessagePad 2100", MACHINE_IS_SKELETON )
+CONS( 1997, mp2000, 0, 0, mp2000, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 2000", MACHINE_IS_SKELETON )
+CONS( 1997, mp2100, 0, 0, mp2100, newton, newton_state, empty_init, "Apple Computer", "Newton MessagePad 2100", MACHINE_IS_SKELETON )
diff --git a/src/mame/drivers/playch10.cpp b/src/mame/drivers/playch10.cpp
index fbe82e1b953..35cf16131ae 100644
--- a/src/mame/drivers/playch10.cpp
+++ b/src/mame/drivers/playch10.cpp
@@ -1433,7 +1433,7 @@ ROM_START( pc_virus ) /* Virus (from location test board) */
ROM_RELOAD( 0x18000, 0x08000 )
ROM_REGION( 0x10, "rp5h01", 0 ) /* rp5h01 data */
- ROM_LOAD( "security.u6", 0x00, 0x10, CRC(5b4f6930) SHA1(bd152d6907fe55f80125b34360fdb44cfc348906) )
+ ROM_LOAD( "security.u6", 0x00, 0x10, CRC(b69309ab) SHA1(a11ae46ed4c6ae5c22bab36593a53535a257fd4f) )
ROM_END
ROM_START( pc_bload ) /* Bases Loaded (from location test board) */
@@ -1449,7 +1449,7 @@ ROM_START( pc_bload ) /* Bases Loaded (from location test board) */
ROM_LOAD( "u1", 0x00000, 0x20000, CRC(02ff6ae9) SHA1(ba15b91f917c9e722d1d8b24b5783bd5eac6a4e7) )
ROM_REGION( 0x10, "rp5h01", 0 ) /* rp5h01 data */
- ROM_LOAD( "security.u6", 0x00, 0x10, CRC(5b4f6930) SHA1(bd152d6907fe55f80125b34360fdb44cfc348906) )
+ ROM_LOAD( "security.u6", 0x00, 0x10, CRC(b69309ab) SHA1(a11ae46ed4c6ae5c22bab36593a53535a257fd4f) )
ROM_END
ROM_START( pc_ftqst ) /* Fester's Quest */
@@ -1638,7 +1638,7 @@ ROM_START( pc_ttoon ) /* Tiny Toon Adventures */
ROM_LOAD( "tt-chr.u1", 0x00000, 0x20000, CRC(a024ae14) SHA1(2e797a173161a61c14ce299e3c5a31c6029f2b50) )
ROM_REGION( 0x10, "rp5h01", 0 ) /* rp5h01 data */
- ROM_LOAD( "security.u6", 0x00, 0x10, CRC(5b4f6930) SHA1(bd152d6907fe55f80125b34360fdb44cfc348906) )
+ ROM_LOAD( "security.u6", 0x00, 0x10, CRC(b69309ab) SHA1(a11ae46ed4c6ae5c22bab36593a53535a257fd4f) )
ROM_END
@@ -1898,10 +1898,10 @@ GAME( 1989, pc_tmnt, playch10, playch10_f, playch10, playch10_state, init_pcfbo
GAME( 1989, pc_ftqst, playch10, playch10_f, playch10, playch10_state, init_pcfboard, ROT0, "Sunsoft (Nintendo of America license)", "Uncle Fester's Quest: The Addams Family (PlayChoice-10)", 0 )
GAME( 1989, pc_bstar, playch10, playch10_f2,playch10, playch10_state, init_pcfboard, ROT0, "SNK (Nintendo of America license)", "Baseball Stars: Be a Champ! (PlayChoice-10)", MACHINE_IMPERFECT_GRAPHICS )
GAME( 1989, pc_tbowl, playch10, playch10_f, playch10, playch10_state, init_pcfboard, ROT0, "Tecmo (Nintendo of America license)", "Tecmo Bowl (PlayChoice-10)", 0 )
-GAME( 1990, pc_virus, pc_drmro, playch10_f, playch10, playch10_state, init_virus, ROT0, "Nintendo", "Virus (Dr. Mario prototype, PlayChoice-10)", 0 )
+GAME( 1990, pc_virus, pc_drmro, playch10_f, playch10, playch10_state, init_pcfboard, ROT0, "Nintendo", "Virus (Dr. Mario prototype, PlayChoice-10)", 0 )
GAME( 1990, pc_rrngr, playch10, playch10_f, playch10, playch10_state, init_pcfboard, ROT0, "Capcom USA (Nintendo of America license)", "Chip'n Dale: Rescue Rangers (PlayChoice-10)", 0 )
GAME( 1990, pc_drmro, playch10, playch10_f, playch10, playch10_state, init_pcfboard, ROT0, "Nintendo", "Dr. Mario (PlayChoice-10)", 0 )
-GAME( 1990, pc_bload, playch10, playch10_f, playch10, playch10_state, init_virus, ROT0, "Jaleco (Nintendo of America license)", "Bases Loaded (Prototype, PlayChoice-10)", 0 )
+GAME( 1990, pc_bload, playch10, playch10_f, playch10, playch10_state, init_pcfboard, ROT0, "Jaleco (Nintendo of America license)", "Bases Loaded (Prototype, PlayChoice-10)", 0 )
GAME( 1990, pc_ynoid, playch10, playch10_f, playch10, playch10_state, init_pcfboard, ROT0, "Capcom USA (Nintendo of America license)", "Yo! Noid (PlayChoice-10)", 0 )
// G-Board Games
@@ -1915,7 +1915,7 @@ GAME( 1990, pc_ngai2, playch10, playch10_g, playch10, playch10_state, init_pcgbo
GAME( 1991, pc_ngai3, playch10, playch10_g, playch10, playch10_state, init_pcgboard, ROT0, "Tecmo (Nintendo of America license)", "Ninja Gaiden Episode III: The Ancient Ship of Doom (PlayChoice-10)", 0 )
GAME( 1991, pc_pwbld, playch10, playch10_g, playch10, playch10_state, init_pcgboard, ROT0, "Taito (Nintendo of America license)", "Power Blade (PlayChoice-10)", 0 )
GAME( 1991, pc_rkats, playch10, playch10_g, playch10, playch10_state, init_pcgboard, ROT0, "Atlus (Nintendo of America license)", "Rockin' Kats (PlayChoice-10)", 0 )
-GAME( 1991, pc_ttoon, playch10, playch10_g, playch10, playch10_state, init_ttoon, ROT0, "Konami (Nintendo of America license)", "Tiny Toon Adventures (prototype) (PlayChoice-10)", 0 ) // Code is final USA NES version of the game, (which is MMC3C according to nes.xml, but this cart has MMC3B)
+GAME( 1991, pc_ttoon, playch10, playch10_g, playch10, playch10_state, init_pcgboard, ROT0, "Konami (Nintendo of America license)", "Tiny Toon Adventures (prototype) (PlayChoice-10)", 0 ) // Code is final USA NES version of the game, (which is MMC3C according to nes.xml, but this cart has MMC3B)
// variant with 4 screen mirror
GAME( 1990, pc_radr2, playch10, playch10_g, playch10, playch10_state, init_pcgboard_type2, ROT0, "Square (Nintendo of America license)", "Rad Racer II (PlayChoice-10)", MACHINE_IMPERFECT_GRAPHICS )
diff --git a/src/mame/drivers/taitottl.cpp b/src/mame/drivers/taitottl.cpp
index 14b95ae69b8..a1002445770 100644
--- a/src/mame/drivers/taitottl.cpp
+++ b/src/mame/drivers/taitottl.cpp
@@ -360,10 +360,87 @@ ROM_START( zzblock )
ROM_LOAD( "tz03.6f", 0x0000, 0x0020, CRC(1ba385b1) SHA1(b70c356174a1748723c0116ae8dd74b25e1fe6b4) )
ROM_END
+//****************************************************************
+//******** GAMES AND CLONES NOT FROM TAITO ***********************
-GAME( 1977, fisco400, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Cisco/Fisco 400 [TTL]", MACHINE_IS_SKELETON )
-GAME( 1977, gunman, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Gunman [TTL]", MACHINE_IS_SKELETON )
-GAME( 1977, missilex, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Missile-X [TTL]", MACHINE_IS_SKELETON )
-GAME( 1977, ttblock, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "T.T Block [TTL]", MACHINE_IS_SKELETON )
-GAME( 1978, ttsracec, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "T.T. Speed Race CL [TTL]", MACHINE_IS_SKELETON )
-GAME( 1979, zzblock, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Zun Zun Block [TTL]", MACHINE_IS_SKELETON )
+/*
+Super Road Champions (1978), from Model Racing
+
+7 PCBs:
+
+CS219A (road PCB):
+ 1 x 22x2 edge connector
+ 6 x trimmer (VR1-VR6)
+ 2 x 1 DIP switch bank (SW1-SW2)
+ ROMs:
+ 1 x 6301
+ 1 x 6331
+
+CS220:
+ 1 x 22x2 edge connector
+ 3 x trimmer (VR1-VR3)
+ 1 x F32582DC 64x7x5 Character Generator (not dumped)
+ ROMs:
+ 3 x 6331
+
+CS221 (sound):
+ 1 x 22x2 edge connector
+ 17 x trimmer (VR1-VR17)
+ 1 x 1 DIP switch bank (SW)
+ 1 x LM324 Quad Operational Amplifier (sound)
+ 1 x MM5837N Digital Noise Source (sound)
+ 1 x N50241 13-Note Top Octave Generator (sound)
+ 2 x TBA810 Audio Amplifier (sound)
+ ROMs:
+ 1 x 6301
+
+CS222 (main):
+ 2 x 22x2 edge connector
+ 1 x LM324 Quad Operational Amplifier (sound)
+ ROMs:
+ 8 x 6301
+
+CS223 (base)
+
+CS224 (power supply):
+ 2x 22x2 edge connector
+ 3x trimmer (VR1-VR3)
+
+CS225 (high score):
+ 1x 11x2 edge connector
+*/
+ROM_START( srdchamp )
+ ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
+
+ ROM_REGION( 0x0400, "roms", ROMREGION_ERASE00 )
+ ROM_LOAD( "cs219_mr31.5d", 0x000, 0x020, CRC(332efd4f) SHA1(dc858b02d92d2a6f466fd4b0a8a2e415050286a5) )
+ ROM_LOAD( "cs219_mr32.4j", 0x000, 0x100, CRC(08a808e3) SHA1(11e279e5f80d702155850612b1fe299af5f62167) )
+
+ ROM_LOAD( "cs220_f32582dc.3f", 0x000, 0x400, NO_DUMP ) // CGROM size unknown
+ ROM_LOAD( "cs220_mr39.3e", 0x000, 0x020, CRC(46bb17ff) SHA1(14d3b675613e9e13943d5fd38dbaab827f4d7a48) )
+ ROM_LOAD( "cs220_mr40.3g", 0x000, 0x020, CRC(65fc450c) SHA1(d75f59775a3d6c82f942245b550be9cec2183848) )
+ ROM_LOAD( "cs220_mr41.3h", 0x000, 0x020, CRC(b46a4389) SHA1(260a965b0219feae29bef0891bc96858995894a1) )
+
+ ROM_LOAD( "cs221_mr42.5a", 0x000, 0x100, CRC(9d24a1a8) SHA1(f98b55316dfc00c43830aff77c257265b0b5403d) )
+
+ ROM_LOAD( "cs222_mr33.3c", 0x000, 0x100, CRC(cc2ba2ea) SHA1(80fabb1b0b828f24012285525493f241e1b51a9f) )
+ ROM_LOAD( "cs222_mr33.3g", 0x000, 0x100, CRC(cc2ba2ea) SHA1(80fabb1b0b828f24012285525493f241e1b51a9f) )
+ ROM_LOAD( "cs222_mr34.3b", 0x000, 0x100, CRC(ce321649) SHA1(2ec5b25e03807ca49ab72dab13173e3d0445b1ac) )
+ ROM_LOAD( "cs222_mr34.3h", 0x000, 0x100, CRC(ce321649) SHA1(2ec5b25e03807ca49ab72dab13173e3d0445b1ac) )
+
+ ROM_LOAD( "cs222_mr35.9g", 0x000, 0x100, CRC(f434cc57) SHA1(f2cf604d4d5cd55de31032abea5c35f3179121b0) )
+ ROM_LOAD( "cs222_mr36.11f", 0x000, 0x100, CRC(8edc7993) SHA1(bc21ef568d6ee5ba33cefe015269ac2853dc0594) )
+ ROM_LOAD( "cs222_mr37.12f", 0x000, 0x100, CRC(85573385) SHA1(db1feef3525247926316743f54e626e0c3da3f2b) )
+ ROM_LOAD( "cs222_mr38.11j", 0x000, 0x100, CRC(fb775d23) SHA1(8dd3fca4d08c235c0999bd3623127331eed004d9) )
+ROM_END
+
+
+GAME( 1977, fisco400, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Cisco/Fisco 400 [TTL]", MACHINE_IS_SKELETON )
+GAME( 1977, gunman, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Gunman [TTL]", MACHINE_IS_SKELETON )
+GAME( 1977, missilex, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Missile-X [TTL]", MACHINE_IS_SKELETON )
+GAME( 1977, ttblock, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "T.T Block [TTL]", MACHINE_IS_SKELETON )
+GAME( 1978, ttsracec, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "T.T. Speed Race CL [TTL]", MACHINE_IS_SKELETON )
+GAME( 1979, zzblock, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Taito", "Zun Zun Block [TTL]", MACHINE_IS_SKELETON )
+
+// Not from Taito
+GAME( 1978, srdchamp, 0, taitottl, 0, taitottl_state, empty_init, ROT0, "Model Racing", "Super Road Champions [TTL]", MACHINE_IS_SKELETON )
diff --git a/src/mame/includes/cps1.h b/src/mame/includes/cps1.h
index c4265f9ec5f..05deeda3fd0 100644
--- a/src/mame/includes/cps1.h
+++ b/src/mame/includes/cps1.h
@@ -154,6 +154,7 @@ public:
void init_pang3();
void init_ganbare();
void init_pang3b();
+ void init_pang3b4();
void init_sf2rb();
void init_sf2rb2();
void init_sf2thndr();
@@ -202,6 +203,8 @@ protected:
void sf2m3_layer_w(offs_t offset, uint16_t data);
uint16_t dinohunt_sound_r();
void varthb2_cps_a_w(offs_t offset, uint16_t data);
+ uint16_t pang3b4_prot_r();
+ void pang3b4_prot_w(uint16_t data);
TILEMAP_MAPPER_MEMBER(tilemap0_scan);
TILEMAP_MAPPER_MEMBER(tilemap1_scan);
@@ -235,6 +238,7 @@ protected:
// game-specific
uint16_t sf2ceblp_prot;
+ uint16_t pang3b4_prot;
/* video-related */
tilemap_t *m_bg_tilemap[3];
diff --git a/src/mame/includes/playch10.h b/src/mame/includes/playch10.h
index 3792442f102..c5cda00572a 100644
--- a/src/mame/includes/playch10.h
+++ b/src/mame/includes/playch10.h
@@ -55,9 +55,6 @@ public:
void init_pcdboard();
void init_pceboard();
void init_pcfboard();
- void init_rp5h01_fix();
- void init_virus();
- void init_ttoon();
void init_pcgboard();
void init_pcgboard_type2();
void init_pchboard();
diff --git a/src/mame/machine/playch10.cpp b/src/mame/machine/playch10.cpp
index 6de92fd0aa1..7e625b4df08 100644
--- a/src/mame/machine/playch10.cpp
+++ b/src/mame/machine/playch10.cpp
@@ -154,16 +154,6 @@ void playch10_state::pc10_prot_w(uint8_t data)
}
}
-// Some prototypes/location test games need this
-void playch10_state::init_rp5h01_fix()
-{
- u8 *ROM = memregion("rp5h01")->base();
- u32 len = memregion("rp5h01")->bytes();
-
- for (int i = 0; i < len; i++)
- ROM[i] = ~bitswap<8>(ROM[i], 0, 1, 2, 3, 4, 5, 6, 7);
-}
-
/*************************************
*
* Input Ports
@@ -657,14 +647,6 @@ void playch10_state::init_pcfboard()
init_prg_banking();
}
-void playch10_state::init_virus()
-{
- // common init
- init_pcfboard();
-
- init_rp5h01_fix();
-}
-
//**********************************************************************************
// G Board (MMC3) games (Super Mario Bros. 3, etc)
@@ -792,14 +774,6 @@ void playch10_state::init_pcgboard_type2()
m_mirroring = PPU_MIRROR_4SCREEN;
}
-void playch10_state::init_ttoon()
-{
- // common init
- init_pcgboard();
-
- init_rp5h01_fix();
-}
-
//**********************************************************************************
// H Board games (PinBot)
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 9f41553cb10..03601e58f37 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -10885,6 +10885,11 @@ cosmicgi // bootleg (Inder)
@source:cosmicos.cpp
cosmicos //
+@source:cosmos_playc8f.cpp
+bgbasketb // (c) 2013 Benchmark Games
+bgbasketbb // (c) 2004 Benchmark Games
+tenstrikc // (c) 2003 Benchmark Games
+
@source:cowtipping.cpp
cowtipp //
cowtippa //
@@ -10991,6 +10996,8 @@ pang3b2 // bootleg
pang3b3 // bootleg
pang3j // 11/05/1995 (c) 1995 Mitchell (Japan) not listed on Capcom's site
pang3r1 // 11/05/1995 (c) 1995 Mitchell (Euro) not listed on Capcom's site
+pang3b4 // bootleg
+pang3b5 // bootleg
pnickj // 08/06/1994 (c) 1994 Compile + Capcom license (Japan) not listed on Capcom's site
punisher // 22/04/1993 (c) 1993 (World) (CPS1 + QSound)
punisherbz // bootleg
@@ -17325,7 +17332,6 @@ atleta //
brvteam //
canasta //
corsario //
-gunshot //
ind250cc //
lapbylap //
larana //
@@ -39627,6 +39633,7 @@ spinner // bootleg
bushido //
bushidoa //
bushidob //
+gunshot //
jolypark //
mach2 //
mach2a //
@@ -40983,6 +40990,7 @@ wwestern1 // WW (c) 1982 Taito Corporation
fisco400 // (c) 1977 Taito
gunman // (c) 1977 Taito
missilex // (c) 1977 Taito
+srdchamp // (c) 1978 Model Racing
ttblock // (c) 1977 Taito
ttsracec // (c) 1978 Taito
zzblock // (c) 1979 Taito
diff --git a/src/mame/video/cps1.cpp b/src/mame/video/cps1.cpp
index 49639eb078a..583d2cb834f 100644
--- a/src/mame/video/cps1.cpp
+++ b/src/mame/video/cps1.cpp
@@ -1529,6 +1529,26 @@ static const struct gfx_range mapper_CP1B1F_table[] =
{ 0 }
};
+#define mapper_CP1B1F_boot { 0x10000, 0x10000, 0, 0 }, mapper_CP1B1F_boot_table
+static const struct gfx_range mapper_CP1B1F_boot_table[] =
+{
+ // verified from PAL dump:
+ // pin 15 (ROMs 1-4,7-10 /oe)
+ // bank0 = pin 16 (ROMs 1,7 /ce)
+ // pin 18 (ROMs 3,9 /ce)
+ // bank1 = pin 17 (ROMs 2,8 /ce)
+ // pin 19 (ROMs 4,10 /ce)
+ // An a19 line is available on pin 13 for 32MBit roms (pin 44 of the EPROM) but is unused.
+ // pin 14 is fixed high in 16Mbit mode and is driven by gfx_chnl (CPS B-21 pin 108) if 32Mbit mode is selected
+
+ /* type start end bank */
+ { GFXTYPE_SPRITES | GFXTYPE_SCROLL1 | GFXTYPE_SCROLL2 | GFXTYPE_SCROLL3, 0x00000, 0x07fff, 0 },
+ { GFXTYPE_SPRITES | GFXTYPE_SCROLL1 | GFXTYPE_SCROLL2 | GFXTYPE_SCROLL3, 0x10000, 0x17fff, 0 },
+ { GFXTYPE_SPRITES | GFXTYPE_SCROLL1 | GFXTYPE_SCROLL2 | GFXTYPE_SCROLL3, 0x08000, 0x0ffff, 1 },
+ { GFXTYPE_SPRITES | GFXTYPE_SCROLL1 | GFXTYPE_SCROLL2 | GFXTYPE_SCROLL3, 0x18000, 0x1ffff, 1 },
+ { 0 }
+};
+
/* unverified, no dump */
#define mapper_sfzch { 0x20000, 0, 0, 0 }, mapper_sfzch_table
@@ -1675,6 +1695,26 @@ static const struct gfx_range mapper_pokonyan_table[] =
{ 0 }
};
+// pang3b4, PAL16V8@1A
+#define mapper_pang3b4 { 0x8000, 0x8000, 0, 0 }, mapper_pang3b4_table
+static const struct gfx_range mapper_pang3b4_table[] =
+{
+ // verified from PAL dump:
+ // bank0 = pin 14 (ROMs 2,4,6,8,10,12,14,16)
+ // bank1 = pin 12 (ROMs 1,3,5,7,9,11,13,15)
+ // pins 13,15,16,17,18,19 are always enabled
+
+ /* type start end bank */
+ { GFXTYPE_SPRITES, 0x0000, 0x7fff, 0 },
+ { GFXTYPE_SCROLL2, 0x0000, 0x7fff, 0 },
+
+ { GFXTYPE_SPRITES, 0x8000, 0xffff, 1 },
+ { GFXTYPE_SCROLL1, 0x8000, 0xffff, 1 },
+ { GFXTYPE_SCROLL2, 0x8000, 0xffff, 1 },
+ { GFXTYPE_SCROLL3, 0x8000, 0xffff, 1 },
+ { 0 }
+};
+
// a game without an entry here defaults to cps2 mapper (eg. some games in fcrash.cpp)
static const struct CPS1config cps1_config_table[]=
{
@@ -1924,6 +1964,8 @@ static const struct CPS1config cps1_config_table[]=
{"pang3b", CPS_B_21_DEF, mapper_CP1B1F }, /* EEPROM port is among the CPS registers (handled by DRIVER_INIT) */
{"pang3b2", CPS_B_21_DEF, mapper_CP1B1F }, /* EEPROM port is among the CPS registers (handled by DRIVER_INIT) */
{"pang3b3", CPS_B_17, mapper_CP1B1F }, /* EEPROM port is among the CPS registers (handled by DRIVER_INIT) */
+ {"pang3b4", CPS_B_21_DEF, mapper_pang3b4 },
+ {"pang3b5", CPS_B_21_DEF, mapper_CP1B1F_boot }, /* EEPROM port is among the CPS registers (handled by DRIVER_INIT) */
{"ganbare", CPS_B_21_DEF, mapper_GBPR2 },
{"gulunpa", CPS_B_21_DEF, mapper_gulunpa }, // wrong