diff --git a/docs/source/advanced/ctrlr_config.rst b/docs/source/advanced/ctrlr_config.rst
index 7fb531b604cd2..1f19924e7410b 100644
--- a/docs/source/advanced/ctrlr_config.rst
+++ b/docs/source/advanced/ctrlr_config.rst
@@ -71,8 +71,10 @@ with a ``version`` attribute specifying the configuration format version
(currently ``10`` – MAME will not load a file using a different version). The
``mameconfig`` element contains one or more ``system`` elements, each of which
has a ``name`` attribute specifying the system(s) it applies to. Each
-``system`` element contains an ``input`` element which holds the actual
+``system`` element may contain an ``input`` element which holds the actual
``remap`` and ``port`` configuration elements, which will be described later.
+Each ``system`` element may also contain a ``pointer_input`` element to set
+pointer input options for systems with interactive artwork.
When launching an emulated system, MAME will apply configuration from ``system``
elements where the value of the ``name`` attribute meets one of the following
@@ -261,3 +263,45 @@ MAME applies ``mapdevice`` elements found inside the first applicable ``system``
element only. To avoid confusion, it’s simplest to place the ``system`` element
applying to all systems (``name`` attribute set to ``default``) first in the
file, and use it to assign input device numbers.
+
+
+.. _ctrlrcfg-pointers:
+
+Setting pointer input options
+-----------------------------
+
+A ``pointer_input`` element may contain ``target`` elements to set pointer input
+options for each output screen or window. Each ``target`` element must have an
+``index`` attribute containing the zero-based index of the screen to which it
+applies.
+
+Each ``target`` element may have an ``activity_timeout`` attribute to set the
+time after which a mouse pointer that has not moved and has no buttons pressed
+will be considered inactive. The value is specified in seconds, and must be in
+the range of 0.1 seconds to 10 seconds, inclusive.
+
+Each ``target`` element may have a ``hide_inactive`` element to set whether
+inactive pointers may be hidden. If the value is ``0`` (zero), inactive
+pointers will not be hidden. If the value is ``1``, inactive pointers may be
+hidden, but layout views can still specify that inactive pointers should not be
+hidden.
+
+Here’s an example demonstrating the use of this feature:
+
+.. code-block:: XML
+
+
+
+
+
+
+
+
+
+
+
+
+For all systems, pointers over the first output screen or window will be
+considered inactive after not moving for 1.5 seconds with no buttons pressed.
+For systems defined in ``intellec4.cpp``, inactive pointers over the first
+window will not be hidden.
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 3ab96db14b5a3..4f5f06b3e5284 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -63,9 +63,9 @@
# built documents.
#
# The short X.Y version.
-version = '0.264'
+version = '0.265'
# The full version, including alpha/beta/rc tags.
-release = '0.264'
+release = '0.265'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/hash/apple2_flop_clcracked.xml b/hash/apple2_flop_clcracked.xml
index 66fa0066d9dc7..1835211e6e2f1 100644
--- a/hash/apple2_flop_clcracked.xml
+++ b/hash/apple2_flop_clcracked.xml
@@ -13843,19 +13843,6 @@ license:CC0-1.0
-
- MECC-A149 Mastering Math Diagnostic System (version 1.2) (cleanly cracked)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
MECC-A153 Word Munchers (version 1.1) (cleanly cracked)
1985
@@ -13884,19 +13871,6 @@ license:CC0-1.0
-
- MECC-A173 Dataquest Sampler (version 1.0) (cleanly cracked)
- 1986
- MECC
-
-
-
-
-
-
-
-
-
MECC-A197 MECC Dataquest - The World Community (version 1.0) (cleanly cracked)
1987
@@ -13923,33 +13897,6 @@ license:CC0-1.0
-
- MECC-A202 Fraction Concepts, Inc. (version 1.1) (cleanly cracked)
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
- MECC-A203 Fraction Practice Unlimited (version 1.2) (cleanly cracked)
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
MECC-A211 Mystery Objects (version 1.1) (cleanly cracked)
1988
@@ -14041,19 +13988,6 @@ license:CC0-1.0
-
- MECC-A248 CommuniKeys (version 1.0) (cleanly cracked)
- 1989
- MECC
-
-
-
-
-
-
-
-
-
MECC-A253 MECC Dataquest - Europe and Soviet Union (version 1.0) (cleanly cracked)
1990
@@ -14100,26 +14034,6 @@ license:CC0-1.0
-
- MECC-A314 Dr. Livingstone, I Presume (version 1.0) (cleanly cracked)
- ????
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
MECC-A316 Exploring Chaos (version 1.0) (cleanly cracked)
1992
@@ -14354,19 +14268,6 @@ license:CC0-1.0
-
- MECC-A758 Computer Generated Mathematics Materials Problem Solving Vol. 2 (version 1.0) (cleanly cracked)
- 1983
- MECC
-
-
-
-
-
-
-
-
-
MECC-A761 Health Immunization (version 1.1) (cleanly cracked)
1984
@@ -14380,19 +14281,6 @@ license:CC0-1.0
-
- MECC-A774 Adventures with Fractions (version 1.0) (cleanly cracked)
- 1983
- MECC
-
-
-
-
-
-
-
-
-
MECC-A779 The Friendly Computer (version 1.0) (cleanly cracked)
1983
@@ -14434,19 +14322,6 @@ license:CC0-1.0
-
- MECC-A788 Early Addition (version 1.0) (cleanly cracked)
- 1983
- MECC
-
-
-
-
-
-
-
-
-
MECC-A811 The Three R's of Microcomputing (version 1.1) (cleanly cracked)
1983
@@ -16951,39 +16826,6 @@ license:CC0-1.0
-
- Phantasie (cleanly cracked)
- 1984
- Strategic Simulations
-
-
-
-
-
-
-
-
-
-
- Phantasie II (cleanly cracked)
- 1986
- Strategic Simulations
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
PHM Pegasus (cleanly cracked)
1987
@@ -18167,19 +18009,6 @@ license:CC0-1.0
-
- Dueling Digits (cleanly cracked)
- 1982
- Broderbund Software
-
-
-
-
-
-
-
-
-
Eggs-It (cleanly cracked)
1982
@@ -33517,19 +33346,6 @@ license:CC0-1.0
-
- MECC-A757 Computer Generated Mathematics Materials Volume 1: Problem Solving (version 1.3) (cleanly cracked)
- 1982
- MECC
-
-
-
-
-
-
-
-
-
Dinosaur Construction Kit: Tyrannosaurus Rex (cleanly cracked)
1987
@@ -35535,19 +35351,6 @@ license:CC0-1.0
-
- MECC-A109 Circus Math (version 1.0) (cleanly cracked)
- 1984
- MECC
-
-
-
-
-
-
-
-
-
MECC-A110 Exploring Sorting Routines (version 1.1) (cleanly cracked)
1984
@@ -35595,20 +35398,6 @@ license:CC0-1.0
-
- MECC-A131 MECC Keyboarding Master: Games and Drills (version 1.1) (cleanly cracked)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
MECC-A132 MECC Writer (version 1.1) (cleanly cracked)
1985
@@ -35910,20 +35699,6 @@ license:CC0-1.0
-
- MECC-A125 Addition Logician (version 1.0) (cleanly cracked)
- 1984
- MECC
-
-
-
-
-
-
-
-
-
-
MECC-A126 Study Guide (version 1.5) (cleanly cracked)
1984
@@ -36002,156 +35777,6 @@ license:CC0-1.0
-
- MECC-A204 Conquering Fractions (Addition, Subtraction) (version 1.0) (cleanly cracked)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- MECC-A204 Conquering Fractions (Addition, Subtraction) (version 1.1) (cleanly cracked)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- MECC-A205 Conquering Fractions (Multiplication, Division) (version 1.0) (cleanly cracked)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- MECC-A205 Conquering Fractions (Multiplication, Division) (version 1.1) (cleanly cracked)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- MECC-A206 Decimal Concepts (version 1.0) (cleanly cracked)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- MECC-A207 Conquering Decimals (Addition, Subtraction) (version 1.0) (cleanly cracked)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- MECC-A208 Conquering Decimals (Multiplication, Division) (version 1.0) (cleanly cracked)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- MECC-A208 Conquering Decimals (Multiplication, Division) (version 1.1) (cleanly cracked)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- MECC-A209 Conquering Ratios and Proportions (version 1.0) (cleanly cracked)
- 1989
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- MECC-A210 Conquering Percents (version 1.0) (cleanly cracked)
- 1989
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A351 Get Well, Woolly! (version 1.0) (cleanly cracked)
1994
@@ -36167,21 +35792,6 @@ license:CC0-1.0
-
- MECC-A210 Conquering Percents (version 1.1) (cleanly cracked)
- 1989
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A211 Mystery Objects (version 1.0) (cleanly cracked)
1988
@@ -36272,21 +35882,6 @@ license:CC0-1.0
-
- MECC-A216 Backyard Birds (version 1.0) (cleanly cracked)
- 1989
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A217 Weeds to Trees (version 1.0) (cleanly cracked)
1989
@@ -36317,21 +35912,6 @@ license:CC0-1.0
-
- MECC-A251 Chemistry: The Periodic Table (version 1.1) (cleanly cracked)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A219 Five-Star Forecast (version 1.0) (cleanly cracked)
1990
@@ -36496,20 +36076,6 @@ license:CC0-1.0
-
- MECC-A401 Energy House (version 1.0) (cleanly cracked)
- 1984
- MECC
-
-
-
-
-
-
-
-
-
-
MECC-A230 Spelling Workout (version 1.0) (cleanly cracked)
1988
@@ -36660,21 +36226,6 @@ license:CC0-1.0
-
- MECC-A402 Elementary Genetics (version 1.1) (cleanly cracked)
- 1986
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A232 Spelling Press (version 1.0) (cleanly cracked)
1988
@@ -36690,21 +36241,6 @@ license:CC0-1.0
-
- MECC-A240 Computer Inspector (version 1.0) (cleanly cracked)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A241 LabelMaker (version 1.0) (cleanly cracked)
1988
@@ -36800,21 +36336,6 @@ license:CC0-1.0
-
- MECC-A248 CommuniKeys (version 1.1) (cleanly cracked)
- 1989
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A250 MECC Dataquest: North American Mammals (version 1.0) (cleanly cracked)
1988
@@ -36829,20 +36350,6 @@ license:CC0-1.0
-
- MECC-A403 Logic Gates (version 1.0) (cleanly cracked)
- 1984
- MECC
-
-
-
-
-
-
-
-
-
-
MECC-A250 MECC Dataquest: North American Mammals (version 1.1) (cleanly cracked)
1988
@@ -36886,21 +36393,6 @@ license:CC0-1.0
-
- MECC-A256 Bluegrass Bluff (version 1.0) (cleanly cracked)
- 1991
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A257 Problem Solving with Nim (version 1.0) (cleanly cracked)
1991
@@ -36946,21 +36438,6 @@ license:CC0-1.0
-
- MECC-A260 Conquering Math Worksheet Generator (version 1.0) (cleanly cracked)
- 1989
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A262 Probability Lab (version 1.0) (cleanly cracked)
1990
@@ -36991,45 +36468,6 @@ license:CC0-1.0
-
- MECC-A405 Sports Stats (version 1.0) (cleanly cracked)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
-
- MECC-A405 Sports Stats (version 1.0) (imperfect clean crack)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
MECC-A271 Grammar Toy Shop (version 1.0) (cleanly cracked)
1990
@@ -37112,21 +36550,6 @@ license:CC0-1.0
-
- MECC-A280 Chemistry: Balancing Equations (version 1.0) (cleanly cracked)
- 1990
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A281 Paper Plane Pilot (version 1.0) (cleanly cracked)
1991
@@ -37142,21 +36565,6 @@ license:CC0-1.0
-
- MECC-A282 Cleanwater Detectives (version 1.0) (cleanly cracked)
- 1991
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A283 Woolly Bounce (version 1.0) (cleanly cracked)
1991
@@ -37172,35 +36580,6 @@ license:CC0-1.0
-
- MECC-A284 Cavity Busters (version 1.0) (cleanly cracked)
- 1991
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- MECC-A406 Create-A-Base (version 1.0) (cleanly cracked)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
MECC-A290 Space Station Freedom (version 1.0) (cleanly cracked)
1990
@@ -37327,21 +36706,6 @@ license:CC0-1.0
-
- MECC-A304 Eerieville Library (version 1.0) (cleanly cracked)
- 1993
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A306 Grammar Gobble (version 1.0) (cleanly cracked)
1992
@@ -37372,20 +36736,6 @@ license:CC0-1.0
-
- MECC-A407 Book Worm (version 1.0) (cleanly cracked)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
MECC-A309 Woolly's Garden (version 1.0) (cleanly cracked)
1992
@@ -37546,63 +36896,6 @@ license:CC0-1.0
-
- MECC-A164 Fun from A to Z (version 1.0) (cleanly cracked)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
- MECC-A334 Electrifying Adventures (version 1.0) (cleanly cracked)
- 1993
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- MECC-A165 Counting Critters (version 1.0) (cleanly cracked)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
- MECC-A166 Arithmetic Critters (version 1.0) (cleanly cracked)
- 1986
- MECC
-
-
-
-
-
-
-
-
-
-
MECC-A167 Quickflash (version 1.0) (cleanly cracked)
1986
@@ -37617,20 +36910,6 @@ license:CC0-1.0
-
- MECC-A168 Clock Works (version 1.0) (cleanly cracked)
- 1986
- MECC
-
-
-
-
-
-
-
-
-
-
MECC-A169 Speedway Math (version 1.0) (cleanly cracked)
1986
@@ -37729,21 +37008,6 @@ license:CC0-1.0
-
- MECC-A336 Amazing Arithmetricks (version 1.0) (cleanly cracked)
- 1993
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A175 Phonics Prime Time: Initial Consonants (version 1.0) (cleanly cracked)
1986
@@ -37969,34 +37233,6 @@ license:CC0-1.0
-
- MECC-A192 Coordinate Math (version 1.0) (cleanly cracked)
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
-
- MECC-A192 Coordinate Math (version 1.1) (cleanly cracked)
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
MECC-A193 Equation Math (version 1.0) (cleanly cracked)
1987
@@ -38039,21 +37275,6 @@ license:CC0-1.0
-
- MECC-A340 CryptoQuest (version 1.0) (cleanly cracked)
- 1993
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A195 Money Works (version 1.1) (cleanly cracked)
1987
@@ -38117,90 +37338,6 @@ license:CC0-1.0
-
- MECC-A201 Conquering Whole Numbers (version 1.0) (cleanly cracked)
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
-
- MECC-A201 Conquering Whole Numbers (version 1.1) (cleanly cracked)
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
-
- MECC-A202 Fraction Concepts, Inc. (version 1.0) (cleanly cracked)
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
-
- MECC-A202 Fraction Concepts, Inc. (version 1.2) (cleanly cracked)
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
-
- MECC-A203 Fraction Practice Unlimited (version 1.0) (cleanly cracked)
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
-
- MECC-A203 Fraction Practice Unlimited (version 1.1) (cleanly cracked)
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
MECC-A712 Music Theory: Music Fundamentals (version 1.0) (cleanly cracked)
1979
@@ -38645,34 +37782,6 @@ license:CC0-1.0
-
- MECC-A757 Computer Generated Mathematics Materials Volume 1: Problem Solving (version 1.1) (cleanly cracked)
- 1983
- MECC
-
-
-
-
-
-
-
-
-
-
-
- MECC-A758 Computer Generated Mathematics Materials Volume 2: Problem Solving (version 1.1) (cleanly cracked)
- 1983
- MECC
-
-
-
-
-
-
-
-
-
-
MECC-A771 Grade Manager (version 1.0) (cleanly cracked)
1983
@@ -38801,21 +37910,6 @@ license:CC0-1.0
-
- MECC-A774 Adventures with Fractions (version 1.1) (cleanly cracked)
- 1983
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A775 EZ Logo (version 2.0) (cleanly cracked)
1985
@@ -38951,36 +38045,6 @@ license:CC0-1.0
-
- MECC-A788 Early Addition (version 1.1) (cleanly cracked)
- 1983
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- MECC-A788 Early Addition (version 1.3) (cleanly cracked)
- 1983
- MECC
-
-
-
-
-
-
-
-
-
-
-
MECC-A810 Experiencing Procedures (version 1.0) (cleanly cracked)
1983
@@ -44089,6 +43153,42 @@ license:CC0-1.0
+
+ Adventures with Fractions (A-774 version 1.0) (4am crack)
+ 1983
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adventures with Fractions (A-774 version 1.1) (4am crack)
+ 1983
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Alfred's Basic Band Computer Tutor (version 5/6/85) (4am crack)
1985
@@ -44632,6 +43732,24 @@ license:CC0-1.0
+
+ Amazing Arithmetricks (A-336 version 1.0) (4am crack)
+ 1993
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
American Government (Intellectual Software) (4am crack)
1985
@@ -44858,6 +43976,24 @@ license:CC0-1.0
+
+ Backyard Birds (A-216 version 1.0) (4am crack)
+ 1989
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Bake & Taste (4am crack)
1986
@@ -45060,6 +44196,42 @@ license:CC0-1.0
+
+ Bluegrass Bluff (A-256 version 1.0) (4am crack)
+ 1991
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Book Worm (A-407 version 1.0) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Broadsides (revision 1) (4am crack)
1983
@@ -45440,6 +44612,24 @@ license:CC0-1.0
+
+ Cavity Busters (A-284 version 1.0) (4am crack)
+ 1991
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Change Maker (4am crack)
1981
@@ -45456,6 +44646,42 @@ license:CC0-1.0
+
+ Chemistry: Balancing Equations (A-280 version 1.0) (4am crack)
+ 1990
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ >Chemistry: The Periodic Table (A-251 version 1.1) (4am crack)
+ 1988
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Child Development 2: Theories of Child Development (4am crack)
1986
@@ -45573,6 +44799,42 @@ license:CC0-1.0
+
+ Cleanwater Detectives (A-282 version 1.0) (4am crack)
+ 1991
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Clock Works (A-168 version 1.0) (4am crack)
+ 1986
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Clowning Around (revision 1) (4am crack)
1985
@@ -45638,6 +44900,42 @@ license:CC0-1.0
+
+ CommuniKeys (A-248 version 1.0) (4am crack)
+ 1989
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CommuniKeys (A-248 version 1.1) (4am crack)
+ 1989
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Comparison Kitchen (4am crack)
1984
@@ -45801,10 +45099,101 @@ license:CC0-1.0
+
+ Computer Generated Mathematics Materials Volume 1: Problem Solving (A-757 version 1.1) (4am crack)
+ 1982
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Computer Generated Mathematics Materials Volume 1: Problem Solving (A-757 version 1.3) (4am crack)
+ 1982
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Computer Generated Mathematics Materials Volume 2: Problem Solving (A-758 version 1.0) (4am crack)
+ 1983
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Computer Generated Mathematics Materials Volume 2: Problem Solving (A-758 version 1.1) (4am crack)
+ 1983
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Computer Inspector (A-240 version 1.0) (4am crack)
+ 1988
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Computers in Government (A-122 version 1.0) (4am crack)
1984
MECC
+
@@ -45818,6 +45207,366 @@ license:CC0-1.0
+
+ Conquering Math Series: Conquering Decimals (+, -) (A-207 version 1.0) (4am crack)
+ 1988
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Conquering Decimals (×, ÷) (A-208 version 1.0) (4am crack)
+ 1988
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Conquering Decimals (×, ÷) (A-208 version 1.1) (4am crack)
+ 1988
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Conquering Fractions (+, -) (A-204 version 1.0) (4am crack)
+ 1988
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Conquering Fractions (+, -) (A-204 version 1.1) (4am crack)
+ 1988
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Conquering Fractions (×, ÷) (A-205 version 1.0) (4am crack)
+ 1988
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Conquering Fractions (×, ÷) (A-205 version 1.1) (4am crack)
+ 1988
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Conquering Math Worksheet Generator (A-260 version 1.0) (4am crack)
+ 1989
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Conquering Percents (A-210 version 1.0) (4am crack)
+ 1989
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Conquering Percents (A-210 version 1.1) (4am crack)
+ 1989
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Conquering Ratios and Proportions (A-209 version 1.0) (4am crack)
+ 1989
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Conquering Whole Numbers (A-201 version 1.0) (4am crack)
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Conquering Whole Numbers (A-201 version 1.1) (4am crack)
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Decimal Concepts (A-206 version 1.0) (4am crack)
+ 1988
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Fraction Concepts, Inc. (A-202 version 1.0) (4am crack)
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Fraction Concepts, Inc. (A-202 version 1.1) (4am crack)
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Fraction Concepts, Inc. (A-202 version 1.2) (4am crack)
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Fraction Practice Unlimited (A-203 version 1.0) (4am crack)
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Fraction Practice Unlimited (A-203 version 1.1) (4am crack)
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Fraction Practice Unlimited (A-203 version 1.2) (4am crack)
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Continents and Countries (4am crack)
1985
@@ -45834,6 +45583,42 @@ license:CC0-1.0
+
+ Coordinate Math (A-192 version 1.0) (4am crack)
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Coordinate Math (A-192 version 1.1) (4am crack)
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Copy II Plus (version 1.0) (4am crack)
1981
@@ -45927,6 +45712,24 @@ license:CC0-1.0
+
+ Create-A-Base (A-406 version 1.0) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Cribbage/Solitaire (4am crack)
1982
@@ -46080,6 +45883,24 @@ license:CC0-1.0
+
+ CryptoQuest (A-340 version 1.0) (4am crack)
+ 1993
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Crystal Caverns (revision 0) (4am crack)
1982
@@ -46186,50 +46007,20 @@ license:CC0-1.0
-
- Dataquest: The Presidents (A-140 version 1.1) (4am crack)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Dataquest: The Presidents (A-140 version 1.2) (4am crack)
- 1985
+
+ Dataquest: Sampler (A-173 version 1.0) (4as crack)
+ 1986
MECC
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
@@ -46552,6 +46343,48 @@ license:CC0-1.0
+
+ Dr. Livingstone, I Presume? (A-314 version 1.0) (4am crack)
+ 1992
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dueling Digits (4am and san inc crack)
+ 1982
+ Brøderbund Software
+
+
+
+
+
+
+
+
+
+
+
+
+
Dyno-Quest (4am crack)
1984
@@ -46732,6 +46565,24 @@ license:CC0-1.0
+
+ Eerieville Library (A-304 version 1.0) (4am crack)
+ 1993
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Effective Study Skills (4am crack)
1983
@@ -46785,6 +46636,61 @@ license:CC0-1.0
+
+ Electrifying Adventures (A-334 version 1.0) (4am crack)
+ 1993
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Elementary Genetics (A-402 version 1.1) (4am crack)
+ 1986
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Energy House (A-401 version 1.0) (4am crack)
+ 1984
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Equations I (4am crack)
1983
@@ -47283,6 +47189,29 @@ license:CC0-1.0
+
+ From The Beginning... Contraception (4am crack)
+ 1985
+ Orange Juice Software Systems
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Fun with Directions (version 1984) (4am crack)
1984
@@ -47618,12 +47547,11 @@ license:CC0-1.0
MECC
-
+
-
@@ -47636,7 +47564,7 @@ license:CC0-1.0
MECC
-
+
@@ -48761,6 +48689,24 @@ license:CC0-1.0
+
+ Logic Gates (A-403 version 1.0) (4am crack)
+ 1984
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Lucky's Magic Hat (4am crack)
1984
@@ -49349,6 +49295,276 @@ license:CC0-1.0
+
+ Mastering Math Series 1: Early Addition (A-788 version 1.0) (4am crack)
+ 1983
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mastering Math Series 1: Early Addition (A-788 version 1.1) (4am crack)
+ 1983
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mastering Math Series 1: Early Addition (A-788 version 1.3) (4am crack)
+ 1983
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mastering Math Series 2: Circus Math (A-109 version 1.0) (4am crack)
+ 1984
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mastering Math Series 3: Addition Logician (A-125 version 1.0) (4am crack)
+ 1984
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mastering Math Series 4: Space Subtraction (A-145 version 1.0) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mastering Math Series 5: Subtraction Puzzles (A-146 version 1.0) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mastering Math Series 6: Multiplication Puzzles (A-147 version 1.0) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mastering Math Series 7: Quotient Quest (A-148 version 1.0) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mastering Math Series: Diagnostic System (A-149 version 1.1) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mastering Math Series: Diagnostic System (A-149 version 1.2) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mastering Math Series: Management System (A-150 version 1.0) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mastering Math Series: Management System (A-150 version 1.1) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mastering Math Series: Worksheet Generator (A-151 version 1.0) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mastering Math Series: Worksheet Generator (A-151 version 1.1) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
MasterType (version 1.7) (4am crack)
1983
@@ -49890,6 +50106,126 @@ license:CC0-1.0
+
+ MECC Dataquest: The Presidents (A-140 version 1.1) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MECC Dataquest: The Presidents (A-140 version 1.2) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MECC Early Learning Series: Arithmetic Critters (A-166 version 1.0) (4am crack)
+ 1986
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MECC Early Learning Series: Counting Critters (A-165 version 1.0) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MECC Early Learning Series: Fun from A to Z (A-164 version 1.0) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MECC Keyboarding Master: Games and Drills (Student Program) (A-131 version 1.1) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Medalist Series: Black Americans (version 04.13.84) (4am crack)
1983
@@ -50032,7 +50368,7 @@ license:CC0-1.0
-
+
@@ -50069,7 +50405,7 @@ license:CC0-1.0
-
+
@@ -50157,7 +50493,7 @@ license:CC0-1.0
MECC
-
+
@@ -50785,6 +51121,54 @@ license:CC0-1.0
+
+ Phantasie (version 1.0) (4am and san inc crack)
+ 1984
+ Strategic Simulations
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Phantasie II: Descent Into The Netherworld (version 2/5/86) (4am and san inc crack)
+ 1986
+ Strategic Simulations
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Phi Beta Filer (4am crack)
1983
@@ -50941,12 +51325,12 @@ license:CC0-1.0
- Polls and Politics (A-820 version 1.0) (4am crack)
+ Polls and Politics Volume 1 (A-820 version 1.0) (4am crack)
1984
MECC
-
+
@@ -51315,7 +51699,7 @@ license:CC0-1.0
-
+
@@ -51352,7 +51736,7 @@ license:CC0-1.0
-
+
@@ -52826,6 +53210,25 @@ license:CC0-1.0
+
+ Sports Stats (A-405 version 1.0) (4am crack)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Square Pairs (version 1.0) (4am and san inc crack)
1983
diff --git a/hash/apple2_flop_orig.xml b/hash/apple2_flop_orig.xml
index 1423bbf4f60aa..2d33861d19f42 100644
--- a/hash/apple2_flop_orig.xml
+++ b/hash/apple2_flop_orig.xml
@@ -4637,21 +4637,6 @@ license:CC0-1.0
-
- Dueling Digits
- 1982
- Brøderbund Software
-
-
-
-
-
-
-
-
-
-
-
Elite
1985
@@ -12792,21 +12777,6 @@ license:CC0-1.0
-
- Conquering Fractions (+, -) (version 1.0)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
Bag of Tricks (version 2.1)
1987
@@ -12953,21 +12923,6 @@ license:CC0-1.0
-
- Amazing Arithmetricks (version 1.0)
- 1993
- MECC
-
-
-
-
-
-
-
-
-
-
-
Wonderland Puzzles (version 1.0)
1992
@@ -12983,21 +12938,6 @@ license:CC0-1.0
-
- Conquering Fractions (×, ÷) (version 1.0)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
Treasures for Sale (version 1.0)
1993
@@ -13088,88 +13028,6 @@ license:CC0-1.0
-
- CryptoQuest (version 1.0)
- 1993
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Electrifying Adventures (version 1.0)
- 1993
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Eerieville Library (version 1.0)
- 1993
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Dr. Livingstone, I Presume? (version 1.0)
- 1992
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Decimal Concepts (version 1.0)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
Picture a Story (version 1.0)
1992
@@ -13230,21 +13088,6 @@ license:CC0-1.0
-
- Cavity Busters (version 1.0)
- 1991
- MECC
-
-
-
-
-
-
-
-
-
-
-
Sun and Seasons (version 1.0)
1990
@@ -13320,21 +13163,6 @@ license:CC0-1.0
-
- Conquering Decimals (×, ÷) (version 1.0)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
Grammar Toy Shop (version 1.0)
1990
@@ -13350,21 +13178,6 @@ license:CC0-1.0
-
- Cleanwater Detectives (version 1.0)
- 1991
- MECC
-
-
-
-
-
-
-
-
-
-
-
Murphy's Minerals (version 1.0)
1990
@@ -13485,21 +13298,6 @@ license:CC0-1.0
-
- Conquering Decimals (+, -) (version 1.0)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
Exploring Gas Laws (version 1.0)
1989
@@ -13530,36 +13328,6 @@ license:CC0-1.0
-
- Backyard Birds (version 1.0)
- 1989
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Bluegrass Bluff (version 1.0)
- 1991
- MECC
-
-
-
-
-
-
-
-
-
-
-
Time Navigator Around The World (version 1.0)
1991
@@ -13642,36 +13410,6 @@ license:CC0-1.0
-
- CommuniKeys (version 1.1)
- 1989
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Fraction Practice Unlimited (version 1.1)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
Measure Works (version 1.0)
1989
@@ -16579,114 +16317,18 @@ license:CC0-1.0
-
- Arithmetic Critters (version 1.0) (800K 3.5")
- 1986
- MECC
-
-
-
-
+
+ VCR Companion (version 1.1) (800K 3.5")
+ 1988
+ Brøderbund Software
+
+
+
+
-
-
-
-
-
-
-
- Clock Works (version 1.0) (800K 3.5")
- 1986
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
-
- Backyard Birds (version 1.0) (800K 3.5")
- 1989
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
-
- Chemistry: Balancing Equations (version 1.0) (800K 3.5")
- 1990
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
-
- Cleanwater Detectives (800K 3.5")
- 1991
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
-
- Circus Math (version 1.0) (800K 3.5")
- 1984
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
-
- VCR Companion (version 1.1) (800K 3.5")
- 1988
- Brøderbund Software
-
-
-
-
-
-
-
-
+
+
@@ -17305,38 +16947,6 @@ license:CC0-1.0
-
- Nibbles Away ][ (version C3)
- 1983
- COMPUTER:applications
-
-
-
-
-
-
-
-
-
-
-
-
-
- Essential Data Duplicator (version 4.4)
- 1986
- Utilico Microware
-
-
-
-
-
-
-
-
-
-
-
-
Beauty and the Beast and The Little Mermaid (800K 3.5")
1992
@@ -18047,29 +17657,6 @@ license:CC0-1.0
-
- Nibbles Away III (version 1.25B)
- 1985
- COMPUTER:applications
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Star League Baseball
1984
@@ -19102,22 +18689,6 @@ license:CC0-1.0
-
- Cryptoquest (version 1.0) (800K 3.5")
- 1993
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
Science Giants (version 1.0) (800K 3.5")
1994
@@ -19278,38 +18849,6 @@ license:CC0-1.0
-
- Caravans to Timbuktu! (version 1.0) (800K 3.5")
- 1994
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
-
- Amazing Arithmetricks (version 1.0) (800K 3.5")
- 1993
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
Picture a Story (version 1.0) (800K 3.5")
1992
@@ -19390,22 +18929,6 @@ license:CC0-1.0
-
- Dueling Digits (version 1.0) (800K 3.5")
- 1993
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
History Makers (version 1.0) (800K 3.5")
1992
@@ -19422,38 +18945,6 @@ license:CC0-1.0
-
- Dr. Livingstone, I Presume? (version 1.0) (800K 3.5")
- 1992
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
-
- Eerieville Library (version 1.0) (800K 3.5")
- 1992
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
Fish School (version 1.0) (800K 3.5")
1992
@@ -19886,22 +19377,6 @@ license:CC0-1.0
-
- Fraction Concepts, Inc. (version 1.2) (800K 3.5")
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
Story Starters: Science (800K 3.5")
1990
@@ -19966,22 +19441,6 @@ license:CC0-1.0
-
- CommuniKeys (version 1.1) (800K 3.5")
- 1989
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
Fraction Munchers (version 1.0) (800K 3.5")
1987
@@ -19998,133 +19457,69 @@ license:CC0-1.0
-
- Conquering Decimals (+, -) (version 1.1) (800K 3.5")
- 1988
+
+ Instant Survey (version 1.0) (800K 3.5")
+ 1989
MECC
-
+
-
-
+
+
+
+
+
+
+
+
+
-
- Conquering Fractions (+, -) (version 1.1) (800K 3.5")
- 1988
- MECC
+
+ Story Starters: Social Studies (800K 3.5")
+ 1990
+ Pelican Software
-
+
-
-
+
+
-
- Conquering Decimals (x, /) (version 1.1) (800K 3.5")
+
+ Spellevator (version 1.3) (800K 3.5")
1988
MECC
-
+
-
-
+
+
-
- Conquering Fractions (x, /) (version 1.1) (800K 3.5")
- 1988
+
+ Spelling Puzzles and Tests (800K 3.5")
+ 1990
MECC
-
-
-
-
-
-
-
-
-
-
- Instant Survey (version 1.0) (800K 3.5")
- 1989
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Story Starters: Social Studies (800K 3.5")
- 1990
- Pelican Software
-
-
-
-
-
-
-
-
-
-
-
-
-
- Spellevator (version 1.3) (800K 3.5")
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
-
- Spelling Puzzles and Tests (800K 3.5")
- 1990
- MECC
-
-
-
-
+
@@ -20519,22 +19914,6 @@ license:CC0-1.0
-
- Conquering Whole Numbers (version 1.1) (800K 3.5")
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
Galactic Quest
1980
@@ -20583,22 +19962,6 @@ license:CC0-1.0
-
- Mastering Math Worksheet Generator (version 1.1) (800K 3.5")
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
Odell Lake (version 1.2) (800K 3.5")
1986
@@ -20773,54 +20136,6 @@ license:CC0-1.0
-
- Essential Data Duplicator (version 3.0-1984-02-06)
- 1984
- Utilico Microware
-
-
-
-
-
-
-
-
-
-
-
-
-
- Essential Data Duplicator (version 3.0-1984-05-25)
- 1984
- Utilico Microware
-
-
-
-
-
-
-
-
-
-
-
-
-
- Back It Up (version 3.6)
- 1983
- Sensible Software
-
-
-
-
-
-
-
-
-
-
-
-
Super Disk Copy (version 3.6)
1981
@@ -23281,10 +22596,10 @@ license:CC0-1.0
The Factory (800K 3.5")
1990
WINGS for learning
-
+
-
+
@@ -24345,51 +23660,6 @@ license:CC0-1.0
-
- Addition Logician (version 1.0) (800K 3.5")
- 1984
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Coordinate Math (version 1.1) (800K 3.5")
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Fun from A to Z (version 1.0) (800K 3.5")
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
Phonics Prime Time: Blends and Digraphs (version 1.0) (800K 3.5")
1987
@@ -24420,21 +23690,6 @@ license:CC0-1.0
-
- Fraction Practice Unlimited (version 1.2) (800K 3.5")
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
-
The Market Place (version 1.0) (800K 3.5")
1984
@@ -25849,36 +25104,6 @@ license:CC0-1.0
-
- Computer Inspector (version 1.0)
- 1988
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Addition Logician (version 1.0)
- 1984
- MECC
-
-
-
-
-
-
-
-
-
-
-
The Lurking Horror (Release 203 / 870506-M)
1987
@@ -25894,194 +25119,74 @@ license:CC0-1.0
-
- Adventures with Fractions (version 1.0)
- 1983
+
+ Elementary Volume 3: Social Studies (version 4.8)
+ 1980
MECC
-
+
-
-
+
+
-
- Automotive Technician Mathematics Volume 1: Whole Numbers and Fractions (version 1.0)
- 1983
+
+ Elementary Volume 5: Language Arts (Prefixes) (version 1.5)
+ 1980
MECC
-
+
-
-
+
+
-
- Automotive Technician Mathematics Volume 2: Decimals and Percents (version 1.0)
- 1983
+
+ Elementary Volume 8: Geometry (Points and Angles) (version 1.0)
+ 1981
MECC
-
-
+
+
-
-
+
+
-
- Circus Math (version 1.0)
- 1984
+
+ Elementary Volume 9: Geometry (Lines and Triangles) (version 2.1)
+ 1981
MECC
-
-
+
+
-
-
+
+
-
- Computer Generated Mathematics Materials Volume 1: Problem Solving (version 1.1)
- 1982
+
+ Elementary Volume 10: Geometry (Quadrilaterals: Area and Perimeter) (version 1.0)
+ 1981
MECC
-
-
-
-
-
-
-
-
-
-
- Computer Generated Mathematics Materials Volume 1: Problem Solving (version 1.3)
- 1982
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Create-A-Base (version 1.0)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Early Addition (version 1.3)
- 1983
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Elementary Volume 3: Social Studies (version 4.8)
- 1980
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Elementary Volume 5: Language Arts (Prefixes) (version 1.5)
- 1980
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Elementary Volume 8: Geometry (Points and Angles) (version 1.0)
- 1981
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Elementary Volume 9: Geometry (Lines and Triangles) (version 2.1)
- 1981
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Elementary Volume 10: Geometry (Quadrilaterals: Area and Perimeter) (version 1.0)
- 1981
- MECC
-
-
-
-
+
+
@@ -26239,21 +25344,6 @@ license:CC0-1.0
-
- Logic Gates (version 1.0)
- 1984
- MECC
-
-
-
-
-
-
-
-
-
-
-
Master Spell (version 1.3)
1984
@@ -26389,21 +25479,6 @@ license:CC0-1.0
-
- Sports Stats (version 1.0)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
The Three Rs of Microcomputing (version 1.1)
1983
@@ -26419,66 +25494,6 @@ license:CC0-1.0
-
- Arithmetic Critters (version 1.0)
- 1986
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Clock Works (version 1.0)
- 1986
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Counting Critters (version 1.0)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Fun from A to Z (version 1.0)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
Jenny's Journeys (version 1.0)
1984
@@ -26524,21 +25539,6 @@ license:CC0-1.0
-
- Multiplication Puzzles (version 1.0)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
Odell Lake (version 1.0)
1986
@@ -26569,36 +25569,6 @@ license:CC0-1.0
-
- Quotient Quest (version 1.0)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Space Subtraction (version 1.0)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
Study Guide (version 1.5)
1984
@@ -26621,21 +25591,6 @@ license:CC0-1.0
-
- Subtraction Puzzles (version 1.0)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
The Market Place (version 1.0)
1984
@@ -26695,194 +25650,44 @@ license:CC0-1.0
-
- Chemistry: Balancing Equations (version 1.0)
- 1990
+
+ Equation Math (version 1.0)
+ 1987
MECC
-
+
-
-
+
+
-
- Chemistry: The Periodic Table (version 1.0)
- 1988
+
+ Estimation: Quick Solve II (version 1.0)
+ 1990
MECC
-
+
-
-
+
+
-
- CommuniKeys (version 1.0)
- 1989
+
+ Ghost Writer (version 1.0)
+ 1985
MECC
-
-
-
-
-
-
-
-
-
-
- Conquering Math Worksheet Generator (version 1.0)
- 1989
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Conquering Percents (version 1.0)
- 1989
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Conquering Ratios and Proportions (version 1.1)
- 1989
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Coordinate Math (version 1.0)
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Dataquest: Sampler (version 1.0)
- 1986
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Equation Math (version 1.0)
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Estimation: Quick Solve II (version 1.0)
- 1990
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Fraction Concepts, Inc. (version 1.2)
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Fraction Practice Unlimited (version 1.0)
- 1987
- MECC
-
-
-
-
-
-
-
-
-
-
-
-
- Ghost Writer (version 1.0)
- 1985
- MECC
-
-
-
-
+
+
@@ -26912,21 +25717,6 @@ license:CC0-1.0
-
- Keyboarding Master (version 1.0)
- 1985
- MECC
-
-
-
-
-
-
-
-
-
-
-
LabelMaker (version 1.0)
1988
@@ -28008,6 +26798,24 @@ license:CC0-1.0
+
+ Adventures with Fractions (A-774 version 1.0)
+ 1983
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Alphabet Fun: Big and Little Letters
1991
@@ -28040,6 +26848,42 @@ license:CC0-1.0
+
+ Amazing Arithmetricks (A-336 version 1.0)
+ 1993
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Amazing Arithmetricks (A-336 version 1.0) (800K 3.5")
+ 1993
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
American Government (Micro Learningware)
1984
@@ -28055,6 +26899,22 @@ license:CC0-1.0
+
+ Anchorman
+ 1988
+ Virginia Real Software
+
+
+
+
+
+
+
+
+
+
+
+
Animal Stories IV
1990
@@ -28103,6 +26963,7 @@ license:CC0-1.0
+
@@ -28161,1292 +27022,2696 @@ license:CC0-1.0
-
- Beach Landing
- 1984
- Optimum Resource
-
-
-
-
-
+
+ Automotive Technician Mathematics Volume 1: Whole Numbers and Fractions (A-762 version 1.0)
+ 1983
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Black Belt (revision 1)
- 1984
- Earthware Computer Services
-
+
+ Automotive Technician Mathematics Volume 2: Decimals and Percents (A-763 version 1.0)
+ 1983
+ MECC
+
+
-
+
-
-
+
+
-
-
+
+
-
- Car Builder (800K 3.5")
- 1985
- Optimum Resource
-
-
-
-
-
-
-
-
+
+ Back It Up III (version 3.4)
+ 1983
+ Sensible Software
+
+
+
+
+
+
+
+
+
+
-
- Cause and Effect: What Makes It Happen
- 1988
- Troll Associates
-
-
-
-
-
-
-
-
+
+ Back It Up III (version 3.6)
+ 1983
+ Sensible Software
+
+
+
+
+
+
+
+
+
-
- Computers in Government (A-122 version 1.0)
- 1984
+
+ Backyard Birds (A-216 version 1.0)
+ 1989
MECC
-
-
+
+
+
-
-
+
+
-
-
+
+
-
- Copy II Plus (version 1.0)
- 1981
- Central Point Software
-
-
+
+ Backyard Birds (A-216 version 1.0) (800K 3.5")
+ 1989
+ MECC
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
- Copy II Plus (version 2.0)
- 1981
- Central Point Software
-
-
-
-
-
-
-
+
+ Beach Landing
+ 1984
+ Optimum Resource
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 2.2)
- 1981
- Central Point Software
-
-
-
-
-
-
+
+ Black Belt (revision 1)
+ 1984
+ Earthware Computer Services
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 3.0)
- 1981
- Central Point Software
-
-
-
-
-
-
+
+ Bluegrass Bluff (A-256 version 1.0)
+ 1991
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 3.1)
- 1981
- Central Point Software
-
-
-
-
-
-
+
+ Candy Land
+ 1988
+ GameTek
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
-
- Copy II Plus (version 4.1)
- 1982
- Central Point Software
-
-
-
-
-
-
-
-
+
+ Car Builder (800K 3.5")
+ 1985
+ Optimum Resource
+
+
+
+
+
+
+
+
-
- Copy II Plus (version 4.3)
- 1982
- Central Point Software
-
-
-
-
-
-
-
-
+
+ Caravans to Timbuktu! (A-345 version 1.0) (800K 3.5")
+ 1994
+ MECC
+
+
+
+
+
+
+
+
+
+
+
-
- Copy II Plus (version 4.4B)
- 1982
- Central Point Software
-
-
-
-
-
+
+ Cause and Effect: What Makes It Happen
+ 1988
+ Troll Associates
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 4.4C)
- 1982
- Central Point Software
-
-
-
-
-
+
+ Cavity Busters (A-284 version 1.0)
+ 1991
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 4.4D)
- 1982
- Central Point Software
-
-
-
-
-
+
+ Chemistry: Balancing Equations (A-280 version 1.0)
+ 1990
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 5.0)
- 1985
- Central Point Software
-
-
-
-
-
-
-
-
+
+ Chemistry: Balancing Equations (A-280 version 1.0) (800K 3.5")
+ 1990
+ MECC
+
+
+
+
+
+
+
+
+
+
-
- Copy II Plus (version 5.1)
- 1985
- Central Point Software
-
-
-
-
-
+
+ Chemistry: The Periodic Table (A-251 version 1.0)
+ 1988
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 5.2)
- 1985
- Central Point Software
-
-
+
+ Chuck Yeager's Advanced Flight Trainer
+ 1987
+ Electronic Arts
+
+
-
-
+
+
-
-
+
+
+
-
-
-
- Copy II Plus (version 5.4)
- 1985
- Central Point Software
-
-
-
-
-
-
-
-
+
+
+
+
-
- Copy II Plus (version 5.5)
- 1985
- Central Point Software
-
-
-
-
-
+
+ Cleanwater Detectives (A-282 version 1.0)
+ 1991
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 6.0 Beta 1)
- 1985
- Central Point Software
-
-
-
-
-
-
-
-
+
+ Cleanwater Detectives (A-282 version 1.0) (800K 3.5")
+ 1991
+ MECC
+
+
+
+
+
+
+
+
+
+
-
- Copy II Plus (version 6.0 Beta 2)
- 1985
- Central Point Software
+
+ Clock Works (A-168 version 1.0)
+ 1986
+ MECC
+
+
-
+
-
-
+
+
-
-
+
+
-
- Copy II Plus (version 6.0)
- 1985
- Central Point Software
-
-
+
+ Clock Works (A-168 version 1.0) (800K 3.5")
+ 1986
+ MECC
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
- Copy II Plus (version 6.1)
- 1986
- Central Point Software
-
-
-
-
-
+
+ CommuniKeys (A-248 version 1.0)
+ 1989
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 6.2)
- 1986
- Central Point Software
-
-
-
-
-
+
+ CommuniKeys (A-248 version 1.1)
+ 1989
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 6.3)
- 1986
- Central Point Software
-
-
-
-
-
-
-
-
+
+ CommuniKeys (A-248 version 1.1) (800K 3.5")
+ 1989
+ MECC
+
+
+
+
+
+
+
+
+
+
-
- Copy II Plus (version 6.4)
- 1986
- Central Point Software
-
-
+
+ Computer Generated Mathematics Materials Volume 1: Problem Solving (A-757 version 1.1)
+ 1982
+ MECC
+
+
+
+
-
-
+
+
-
-
+
+
-
- Copy II Plus (version 6.5)
- 1986
- Central Point Software
-
-
+
+ Computer Generated Mathematics Materials Volume 1: Problem Solving (A-757 version 1.3)
+ 1982
+ MECC
+
+
+
+
-
-
+
+
-
-
+
+
-
- Copy II Plus (version 6.6)
- 1986
- Central Point Software
-
-
+
+ Computer Inspector (A-240 version 1.0)
+ 1988
+ MECC
+
+
+
+
-
-
+
+
-
-
+
+
-
- Copy II Plus (version 7.1)
- 1986
- Central Point Software
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copy II Plus (version 7.2)
- 1986
- Central Point Software
-
-
+
+ Computers in Government (A-122 version 1.0)
+ 1984
+ MECC
+
+
+
+
-
-
+
+
-
-
+
+
-
- Copy II Plus (version 7.3)
- 1987
- Central Point Software
-
-
-
-
-
+
+ Conquering Math Series: Conquering Decimals (+, -) (A-207 version 1.0)
+ 1988
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 7.4)
- 1987
- Central Point Software
-
-
-
-
-
-
-
-
+
+ Conquering Math Series: Conquering Decimals (+, -) (A-207 version 1.1) (800K 3.5")
+ 1988
+ MECC
+
+
+
+
+
+
+
+
+
+
-
- Copy II Plus (version 8.1)
- 1987
- Central Point Software
-
-
-
-
-
+
+ Conquering Math Series: Conquering Decimals (×, ÷) (A-208 version 1.0)
+ 1988
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 8.1) (800K 3.5")
- 1987
- Central Point Software
-
-
-
-
-
+
+ Conquering Math Series: Conquering Decimals (×, ÷) (A-208 version 1.1) (800K 3.5")
+ 1988
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 8.2)
+
+ Conquering Math Series: Conquering Fractions (+, -) (A-204 version 1.0)
1988
- Central Point Software
-
-
-
-
-
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 8.2) (800K 3.5")
+
+ Conquering Math Series: Conquering Fractions (+, -) (A-204 version 1.1) (800K 3.5")
1988
- Central Point Software
-
-
-
-
-
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 8.3)
+
+ Conquering Math Series: Conquering Fractions (×, ÷) (A-205 version 1.0)
1988
- Central Point Software
-
-
-
-
-
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 8.3) (800K 3.5")
+
+ Conquering Math Series: Conquering Fractions (×, ÷) (A-205 version 1.1) (800K 3.5")
1988
- Central Point Software
-
-
-
-
-
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 8.4)
+
+ Conquering Math Series: Conquering Math Worksheet Generator (A-260 version 1.0)
1989
- Central Point Software
-
-
-
-
-
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Copy II Plus (version 8.4) (800K 3.5")
+
+ Conquering Math Series: Conquering Percents (A-210 version 1.0)
1989
- Central Point Software
-
-
-
-
-
-
-
-
+ MECC
+
+
+
+
+
+
+
+
+
+
-
- Copy II Plus (version 9.0 Beta 1)
+
+ Conquering Math Series: Conquering Ratios and Proportions (A-209 version 1.1)
1989
- Central Point Software
-
-
-
-
-
+ MECC
+
+
+
+
+
+
+
-
-
-
+
+
-
-
-
-
+
+
+
+ Conquering Math Series: Conquering Whole Numbers (A-201 version 1.1) (800K 3.5")
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
-
- Copy II Plus (version 9.0)
- 1989
- Central Point Software
-
-
-
-
+
+ Conquering Math Series: Decimal Concepts (A-206 version 1.0)
+ 1988
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Fraction Concepts, Inc. (A-202 version 1.2)
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Fraction Concepts, Inc. (A-202 version 1.2) (800K 3.5")
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Fraction Practice Unlimited (A-203 version 1.0)
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Fraction Practice Unlimited (A-203 version 1.1)
+ 1988
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Conquering Math Series: Fraction Practice Unlimited (A-203 version 1.2) (800K 3.5")
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Coordinate Math (A-192 version 1.0)
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Coordinate Math (A-192 version 1.1) (800K 3.5")
+ 1987
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 1.0)
+ 1981
+ Central Point Software
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
- Copy II Plus (version 9.0) (800K 3.5")
- 1989
+
+ Copy II Plus (version 2.0)
+ 1981
Central Point Software
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
-
- Copy II Plus (version 9.1)
- 1990
+
+ Copy II Plus (version 2.2)
+ 1981
Central Point Software
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 3.0)
+ 1981
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 3.1)
+ 1981
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 3.3)
+ 1982
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 4.1)
+ 1982
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 4.3)
+ 1982
+ Central Point Software
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+ Copy II Plus (version 4.4B)
+ 1982
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 4.4C)
+ 1982
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 4.4D)
+ 1982
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 5.0)
+ 1985
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 5.1)
+ 1985
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 5.2)
+ 1985
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 5.4)
+ 1985
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 5.5)
+ 1985
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 6.0 Beta 1)
+ 1985
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 6.0 Beta 2)
+ 1985
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 6.0)
+ 1985
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 6.1)
+ 1986
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 6.2)
+ 1986
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 6.3)
+ 1986
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 6.4)
+ 1986
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 6.5)
+ 1986
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 6.6)
+ 1986
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 7.1)
+ 1986
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 7.2)
+ 1986
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 7.3)
+ 1987
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 7.4)
+ 1987
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 8.1)
+ 1987
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 8.1) (800K 3.5")
+ 1987
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 8.2)
+ 1988
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 8.2) (800K 3.5")
+ 1988
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 8.3)
+ 1988
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 8.3) (800K 3.5")
+ 1988
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 8.4)
+ 1989
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 8.4) (800K 3.5")
+ 1989
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 9.0 Beta 1)
+ 1989
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 9.0)
+ 1989
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 9.0) (800K 3.5")
+ 1989
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 9.1)
+ 1990
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Copy II Plus (version 9.1) (800K 3.5")
+ 1990
+ Central Point Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cotton Tales (version 1990) (800K 3.5")
+ 1990
+ Mindplay
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create-A-Base (A-406 version 1.0)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cribbage/Solitaire
+ 1982
+ Datamost
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Crosscountry California (revision 2, 1991)
+ 1991
+ Didatech Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Crosscountry USA (revision 1, 1991)
+ 1991
+ Didatech Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CryptoQuest (A-340 version 1.0)
+ 1993
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CryptoQuest (A-340 version 1.0) (800K 3.5")
+ 1993
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Crystal Caverns
+ 1982
+ Hayden Book Company
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cyborg (version 2)
+ 1981
+ Sentient Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dataquest: Sampler (A-173 version 1.0)
+ 1986
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dino Dig: Dictionary Skills
+ 1992
+ Troll Associates
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dog Sled Ambassadors (A-339 version 1.0)
+ 1993
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dog Sled Ambassadors (A-339 version 1.0) (800K 3.5")
+ 1993
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dr. Livingstone, I Presume? (A-314 version 1.0)
+ 1992
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dr. Livingstone, I Presume? (A-314 version 1.0) (800K 3.5")
+ 1992
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dueling Digits
+ 1982
+ Brøderbund Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dueling Digits (A-338 version 1.0) (800K 3.5")
+ 1993
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Eerieville Library (A-304 version 1.0)
+ 1993
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Eerieville Library (A-304 version 1.0) (800K 3.5")
+ 1992
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Electrifying Adventures (A-334 version 1.0)
+ 1993
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Essential Data Duplicator III (version 3.0-1984-02-06)
+ 1984
+ Utilico Microware
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Essential Data Duplicator III (version 3.0-1984-05-25)
+ 1984
+ Utilico Microware
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Essential Data Duplicator 4 (version 4.4)
+ 1986
+ Utilico Microware
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Essential Data Duplicator 4 Plus (version 4.1)
+ 1986
+ Utilico Microware
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Fay: The Word Hunter (800K 3.5")
+ 1991
+ Didatech Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Galactic Gladiators
+ 1983
+ Strategic Simulations
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Genesis
+ 1983
+ Datasoft
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Graphing (A-817 version 1.0)
+ 1983
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hard Hat Mack
+ 1983
+ Electronic Arts
+
+
+
+
+
+
+
+
+
+
+
+
+
+ In Search of The Most Amazing Thing (revsion 1)
+ 1983
+ Spinnaker Software
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+ Inferential Anne: Level II
+ 1987
+ Micrograms Publishing
+
+
+
+
+
+
+
+
-
- Copy II Plus (version 9.1) (800K 3.5")
- 1990
- Central Point Software
-
-
-
-
-
-
-
-
+
+ J-Bird
+ 1983
+ Orion Software
+
+
+
+
+
+
+
+
-
- Cotton Tales (version 1990) (800K 3.5")
+
+ Jumblezzz (version 1990) (800K 3.5")
1990
Mindplay
-
+
-
-
+
+
-
-
+
+
-
- Cribbage/Solitaire
- 1982
- Datamost
-
-
-
-
+
+ Lancaster
+ 1983
+ Silicon Valley Systems
+
+
+
+
-
-
+
+
-
- Crosscountry California (revision 2, 1991)
- 1991
- Didatech Software
-
-
-
-
-
+
+ Logic Gates (A-403 version 1.0)
+ 1984
+ MECC
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
-
- Crosscountry USA (revision 1, 1991)
- 1991
- Didatech Software
-
+
+ Magic Spells (1981) (Apple)
+ 1981
+ Apple Computer
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
+
+
-
- Crystal Caverns
- 1982
- Hayden Book Company
-
-
-
-
-
-
-
-
-
+
+ Magic Spells (version 2.3) (800K 3.5")
+ 1985
+ The Learning Company
+
+
+
+
+
+
+
+
+
+
-
- Cyborg (version 2)
- 1981
- Sentient Software
-
+
+ Mastering Math Series 1: Early Addition (A-788 version 1.3)
+ 1983
+ MECC
+
+
-
+
-
-
+
+
-
-
+
+
-
- Dataquest: The Presidents (A-140 version 1.1)
- 1985
+
+ Mastering Math Series 2: Circus Math (A-109 version 1.0)
+ 1984
MECC
-
-
-
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
+
+
-
- Dataquest: The Presidents (A-140 version 1.2)
- 1985
+
+ Mastering Math Series 2: Circus Math (A-109 version 1.0) (800K 3.5")
+ 1984
MECC
-
-
-
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
-
- Dino Dig: Dictionary Skills
- 1992
- Troll Associates
-
+
+ Mastering Math Series 3: Addition Logician (A-125 version 1.0)
+ 1984
+ MECC
+
+
+
-
+
-
-
+
+
-
- Dog Sled Ambassadors (A-339 version 1.0)
- 1993
+
+ Mastering Math Series 3: Addition Logician (A-125 version 1.0) (800K 3.5")
+ 1984
MECC
-
-
-
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
-
- Dog Sled Ambassadors (A-339 version 1.0) (800K 3.5")
- 1993
+
+ Mastering Math Series 4: Space Subtraction (A-145 version 1.0)
+ 1985
MECC
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
- Fay: The Word Hunter (800K 3.5")
- 1991
- Didatech Software
-
-
+
+ Mastering Math Series 5: Subtraction Puzzles (A-146 version 1.0)
+ 1985
+ MECC
+
+
+
+
-
+
-
-
-
+
+
+
-
- Galactic Gladiators
- 1983
- Strategic Simulations
-
-
+
+ Mastering Math Series 6: Multiplication Puzzles (A-147 version 1.0)
+ 1985
+ MECC
+
+
+
+
-
-
+
+
-
-
+
+
-
- Genesis
- 1983
- Datasoft
-
-
-
-
-
+
+ Mastering Math Series 7: Quotient Quest (A-148 version 1.0)
+ 1985
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Graphing (A-817 version 1.0)
- 1983
+
+ Mastering Math Series: Worksheet Generator (A-151 version 1.1) (800K 3.5")
+ 1985
MECC
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
- Hard Hat Mack
- 1983
- Electronic Arts
-
-
-
-
-
+
+ MasterType (version 2.1)
+ 1984
+ Scarborough Systems
+
+
+
+
+
+
+
+
-
-
+
+
-
- In Search of The Most Amazing Thing (revsion 1)
- 1983
- Spinnaker Software
-
-
-
-
-
+
+ Math Word Problems Volume 1: Careers (800K 3.5")
+ 1988
+ Optimum Resource
+
-
+
-
-
-
+
+
+
-
- Inferential Anne: Level II
- 1987
- Micrograms Publishing
-
-
-
-
+
+ Math Word Problems Volume 2: Money (800K 3.5")
+ 1988
+ Optimum Resource
+
+
+
-
-
-
+
+
+
-
- J-Bird
- 1983
- Orion Software
-
-
-
-
-
-
-
-
+
+ Math Word Problems Volume 3: Sports (800K 3.5")
+ 1988
+ Optimum Resource
+
+
+
+
+
+
+
-
- Jumblezzz (version 1990) (800K 3.5")
- 1990
- Mindplay
-
-
-
+
+ Math Word Problems Volume 4: Travel (800K 3.5")
+ 1988
+ Optimum Resource
+
-
-
+
+
-
-
+
+
-
- Lancaster
- 1983
- Silicon Valley Systems
-
-
-
-
-
-
-
-
+
+ Math Word Problems Volume 6: Our Nation's Capital Washington D.C. (800K 3.5")
+
+ 1988
+ Optimum Resource
+
+
+
+
+
+
+
-
- Magic Spells (1981) (Apple)
- 1981
- Apple Computer
-
-
-
-
+
+ MECC Dataquest: The Presidents (A-140 version 1.1)
+ 1985
+ MECC
+
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
-
- Magic Spells (version 2.3) (800K 3.5")
+
+ MECC Dataquest: The Presidents (A-140 version 1.2)
1985
- The Learning Company
-
-
-
-
-
-
+ MECC
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
-
- MasterType (version 2.1)
- 1984
- Scarborough Systems
-
-
-
-
-
-
-
-
+
+ MECC Early Learning Series: Arithmetic Critters (A-166 version 1.0)
+ 1986
+ MECC
+
+
+
+
+
+
+
-
-
+
+
-
- Math Word Problems Volume 1: Careers (800K 3.5")
- 1988
- Optimum Resource
-
+
+ MECC Early Learning Series: Arithmetic Critters (A-166 version 1.0) (800K 3.5")
+ 1986
+ MECC
+
+
+
+
-
+
-
-
+
+
-
- Math Word Problems Volume 2: Money (800K 3.5")
- 1988
- Optimum Resource
-
+
+ MECC Early Learning Series: Counting Critters (A-165 version 1.0)
+ 1985
+ MECC
+
+
+
+
-
+
-
-
-
+
+
+
-
- Math Word Problems Volume 3: Sports (800K 3.5")
- 1988
- Optimum Resource
-
+
+ MECC Early Learning Series: Fun from A to Z (A-164 version 1.0)
+ 1985
+ MECC
+
+
+
+
-
+
-
-
-
+
+
+
-
- Math Word Problems Volume 4: Travel (800K 3.5")
- 1988
- Optimum Resource
-
+
+ MECC Early Learning Series: Fun from A to Z (A-164 version 1.0) (800K 3.5")
+ 1985
+ MECC
+
+
+
+
-
-
+
+
-
- Math Word Problems Volume 6: Our Nation's Capital Washington D.C. (800K 3.5")
-
- 1988
- Optimum Resource
-
-
-
+
+ MECC Keyboarding Master: Games and Drills (Student Program) (A-131 version 1.0)
+ 1985
+ MECC
+
+
+
+
+
+
-
-
-
+
+
+
@@ -29489,7 +29754,7 @@ license:CC0-1.0
MECC
-
+
@@ -29535,13 +29800,89 @@ license:CC0-1.0
+
+ Nibbles Away (version B2)
+ 1981
+ COMPUTER:applications
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nibbles Away ][ (version A1)
+ 1981
+ COMPUTER:applications
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nibbles Away ][ (version C3)
+ 1983
+ COMPUTER:applications
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nibbles Away III (version 1.25B)
+ 1985
+ COMPUTER:applications
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- Polls and Politics (A-820 version 1.0)
+ Polls and Politics Volume 1 (A-820 version 1.0)
1984
MECC
-
+
@@ -29559,7 +29900,7 @@ license:CC0-1.0
-
+
@@ -29570,11 +29911,58 @@ license:CC0-1.0
+
+ Questmaster I: The Prism of Heheutotol
+ 1989
+ Miles Computing
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Reading Comprehension Volume 2: Sports (800K 3.5")
1988
Optimum Resource
-
+
@@ -29589,7 +29977,7 @@ license:CC0-1.0
Reading Comprehension Volume 3: Geography (800K 3.5")
1988
Optimum Resource
-
+
@@ -29604,7 +29992,7 @@ license:CC0-1.0
Reading Comprehension Volume 4: History in the Making (800K 3.5")
1988
Optimum Resource
-
+
@@ -29620,7 +30008,7 @@ license:CC0-1.0
1988
Optimum Resource
-
+
@@ -29636,7 +30024,7 @@ license:CC0-1.0
1988
Optimum Resource
-
+
@@ -29652,7 +30040,7 @@ license:CC0-1.0
1988
Optimum Resource
-
+
@@ -29735,7 +30123,7 @@ license:CC0-1.0
1989
Optimum Resource
-
+
@@ -29801,7 +30189,7 @@ license:CC0-1.0
Spelling Rules (version 1989) (800K 3.5")
1989
Optimum Resource
-
+
@@ -29814,6 +30202,25 @@ license:CC0-1.0
+
+ Sports Stats (A-405 version 1.0)
+ 1985
+ MECC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Stickybear BASIC
1985
@@ -29918,7 +30325,7 @@ license:CC0-1.0
1988
Optimum Resource
-
+
@@ -29953,7 +30360,7 @@ license:CC0-1.0
1988
Optimum Resource
-
+
@@ -30045,7 +30452,7 @@ license:CC0-1.0
1989
Optimum Resource
-
+
@@ -30178,7 +30585,7 @@ license:CC0-1.0
1989
Optimum Resource
-
+
@@ -30212,7 +30619,7 @@ license:CC0-1.0
1988
Optimum Resource
-
+
@@ -30246,7 +30653,7 @@ license:CC0-1.0
1988
Optimum Resource
-
+
@@ -30280,7 +30687,7 @@ license:CC0-1.0
1988
Optimum Resource
-
+
@@ -30314,7 +30721,7 @@ license:CC0-1.0
1986
Optimum Resource
-
+
@@ -30432,7 +30839,7 @@ license:CC0-1.0
Vocabulary Development (800K 3.5")
1988
Optimum Resource
-
+
@@ -30459,6 +30866,86 @@ license:CC0-1.0
+
+ Wizimore: Catacombs of Vlad
+ 1987
+ Backstreet Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Wizimore: Nihonbashi
+ 1987
+ Backstreet Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Wizimore: O'Connor's Mine
+ 1985
+ Backstreet Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Wizimore: The Emperor's Seal
+ 1987
+ Backstreet Software
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Wizimore: The Scarlet Brotherhood of Hsi Ho
+ 1985
+ Backstreet Software
+
+
+
+
+
+
+
+
+
+
+
+
Zenith
1982
diff --git a/hash/apple2gs_flop_clcracked.xml b/hash/apple2gs_flop_clcracked.xml
index 054d1c870b1b5..e9e7a80a83480 100644
--- a/hash/apple2gs_flop_clcracked.xml
+++ b/hash/apple2gs_flop_clcracked.xml
@@ -252,19 +252,17 @@ license:CC0-1.0
- Calendar Crafter (version 1.2) (cleanly cracked)
+ Calendar Crafter (A-194 version 1.2) (trex crack)
1987
MECC
-
+
-
-
-
-
-
-
-
+
+
+
+
+
@@ -475,19 +473,17 @@ license:CC0-1.0
- Designer Prints (version 1.0) (cleanly cracked)
+ Designer Prints (A-252 version 1.0) (trex crack)
1989
MECC
-
+
-
-
-
-
-
+
+
+
+
-
@@ -503,19 +499,17 @@ license:CC0-1.0
- Designer Puzzles (version 1.0) (cleanly cracked)
+ Designer Puzzles (A-223 version 1.0) (trex crack)
1989
MECC
-
+
-
-
-
-
-
+
+
+
+
-
diff --git a/hash/apple2gs_flop_orig.xml b/hash/apple2gs_flop_orig.xml
index d1ccb3b7eafe1..c15123d924e40 100644
--- a/hash/apple2gs_flop_orig.xml
+++ b/hash/apple2gs_flop_orig.xml
@@ -3096,16 +3096,16 @@ license:CC0-1.0
- Calendar Crafter (version 1.2)
+ Calendar Crafter (A-194 version 1.2)
1987
MECC
-
+
-
-
+
+
@@ -3114,10 +3114,10 @@ license:CC0-1.0
- Designer Prints (version 1.0)
+ Designer Prints (A-252 version 1.0)
1989
MECC
-
+
@@ -3139,7 +3139,7 @@ license:CC0-1.0
- Designer Puzzles (version 1.0)
+ Designer Puzzles (A-223 version 1.0)
1990
MECC
diff --git a/hash/coleco_homebrew.xml b/hash/coleco_homebrew.xml
index 9b6b44151d00b..8f3385335d6a8 100644
--- a/hash/coleco_homebrew.xml
+++ b/hash/coleco_homebrew.xml
@@ -23,6 +23,17 @@ Unoffical software releases for the Coleco Colecovision
+
+ 421
+ 2002
+ Mathieu Proulx
+
+
+
+
+
+
+
63 Games in 1 Cartridge v1.0
2013
@@ -36,6 +47,17 @@ Unoffical software releases for the Coleco Colecovision
+
+ Aerial
+ 2022
+ Inufuto
+
+
+
+
+
+
+
A.E. - Anti-Environment Encounter
2011
@@ -58,6 +80,29 @@ Unoffical software releases for the Coleco Colecovision
+
+ Asteroids
+ 2022
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Astrostorm
+ 2021
+ Analogkid
+
+
+
+
+
+
+
Bank Panic
2011
@@ -69,12 +114,34 @@ Unoffical software releases for the Coleco Colecovision
-
-
+
+ Bankruptcy Builder
+ 2013
+ Good Deal Games
+
+
+
+
+
+
+
+
+ Bejeweled
+ 2002
+ Amy Marie Bienvenu
+
+
+
+
+
+
+
+
The Black Onyx
2013
Team Pixelboy
+
@@ -93,18 +160,40 @@ Unoffical software releases for the Coleco Colecovision
-
-
+
+ Bootskell
+ 2022
+ Inufuto
+
+
+
+
+
+
+
+
Boxxle
2015
Team Pixelboy
+
+
+ Breakout
+ 1999
+ Amy Marie Bienvenu
+
+
+
+
+
+
+
Buck Rogers Super Game
2013
@@ -129,13 +218,13 @@ Unoffical software releases for the Coleco Colecovision
-
- C-So!
- 2018
- Team Pixelboy
+
+ Canadian Mini Games
+ 2008
+ Amy Marie Bienvenu
-
-
+
+
@@ -164,6 +253,17 @@ Unoffical software releases for the Coleco Colecovision
+
+ Cavit
+ 2022
+ Inufuto
+
+
+
+
+
+
+
Caverns of Titan
2017
@@ -176,248 +276,1546 @@ Unoffical software releases for the Coleco Colecovision
-
- Diamond Dash II
- 2021
- Under4Mhz
+
+ Children of the Night
+ 2018
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Circus Charlie
+ 2011
+ Team Pixelboy
-
+
-
- Flapee Byrd
- 2014
- CollectorVision Games
+
+ Cold Blood
+ 2017
+ Team Pixelboy
+
-
-
+
+
-
- Klondike Solitaire v1.0
+
+ Crazy Climber Redux
2021
- Under4Mhz
+ 8-bit Milli Games
-
+
-
- Kobashi
- 2010
- CollectorVision Games
+
+ C-So!
+ 2018
+ Team Pixelboy
-
-
+
+
-
- Kung-Fu Master
- 2016
- CollectorVision Games
-
+
+ DacMan
+ 2000
+ Amy Marie Bienvenu
-
-
-
+
+
-
- Mahjong Solitaire v1.0
- 2021
- Under4Mhz
+
+ Danger Tower
+ 2017
+ Team Pixelboy
+
-
+
-
- Mario Bros.
- 2009
- CollectorVision Games
+
+ Deep Dungeon Adventure
+ 2017
+ Team Pixelboy
+
-
-
+
+
-
- Minesweeper v1.0
- 2021
- Under4Mhz
+
+ Deflektor Kollection
+ 2003
+ Atariage
+
-
-
+
+
-
- Mr Chin
- 2008
- CollectorVision Games
+
+ Destructor S.C.E.
+ 2010
+ Team Pixelboy
-
+
-
- Pegged v1.0
+
+ Diamond Dash II
2021
Under4Mhz
-
+
-
- Pillars
- 2021
- Under4Mhz
+
+ Dragon's Lair
+ 2012
+ Team Pixelboy
+
-
-
+
+
+
-
- Pitman
- 2021
- Under4Mhz
+
+ Flapee Byrd
+ 2014
+ CollectorVision Games
-
-
+
+
-
- Pooyan
- 2009
- CollectorVision Games
+
+ Flicky
+ 2018
+ Team Pixelboy
-
+
-
- Champion Pro Wrestling
- 2020
- Team Pixelboy
+
+ Flora and the Ghost Mirror
+ 2012
+ Amy Marie Bienvenu
-
-
+
+
-
- Pyramid Warp + Battle Ship Clapton II
- 2009
- CollectorVision Games
+
+ Frog Feast
+ 2007
+ <unknown>
+
+
+
+
+
+
+
+
+ Front Line S.C.E.
+ 2015
+ Team Pixelboy
-
+
-
- Snake
- 2021
- Under4Mhz
+
+ Frostbite
+ 2017
+ Team Pixelboy
-
-
+
+
-
- Spunky's Super Car!
- 2014
- CollectorVision Games
+
+ Gauntlet
+ 2019
+ Team Pixelboy
+
-
-
+
+
+
-
- Vexed
- 2021
- Under4Mhz
+
+ Ghostblaster
+ 2006
+ Amy Marie Bienvenu
-
-
+
+
-
- Winky Trap
- 2007
- CollectorVision Games
+
+ Ghostbusters
+ 2018
+ Team Pixelboy
+
-
-
+
+
+
-
- Zippy Race
- 2009
- CollectorVision Games
+
+ Girl's Garden
+ 2010
+ Team Pixelboy
-
-
+
+
-
- Zombie Calavera Prologue
- 2021
- CollectorVision Games
+
+ Golgo 13
+ 2011
+ Team Pixelboy
-
+
-
- Zombie Near
+
+ The Goonies
2012
- CollectorVision Games
+ Team Pixelboy
+
-
+
+
+
+
+
+
+ GP World
+ 2021
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Gulkave
+ 2010
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Heroes Arena
+ 2017
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Impetus
+ 2022
+ Inufuto
+
+
+
+
+
+
+
+
+ Insane Pickin' Sticks VIII
+ 2010
+ Amy Marie Bienvenu
+
+
+
+
+
+
+
+
+ Jeepers Creepers
+ 2010
+ Amy Marie Bienvenu
+
+
+
+
+
+
+
+
+
+ Jetp4k
+ ????
+ HDK
+
+
+
+
+
+
+
+
+ J.E.T.P.A.C.
+ 2017
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Kaboom!
+ 2017
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Kevtris
+ 1996
+ Kevin Horton
+
+
+
+
+
+
+
+
+ King & Balloon
+ 2018
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ King's Valley
+ 2012
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Klondike Solitaire v1.0
+ 2021
+ Under4Mhz
+
+
+
+
+
+
+
+
+ Knight Lore
+ 2016
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Knightmare
+ 2015
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Kobashi
+ 2010
+ CollectorVision Games
+
+
+
+
+
+
+
+
+ Konami's Ping-Pong
+ 2011
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Kralizec Tetris
+ 2017
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Kung-Fu Master
+ 2016
+ CollectorVision Games
+
+
+
+
+
+
+
+
+
+
+ Lift
+ 2022
+ Inufuto
+
+
+
+
+
+
+
+
+ Magical Tree
+ 2006
+ Opcode Games
+
+
+
+
+
+
+
+
+ Mahjong Solitaire v1.0
+ 2021
+ Under4Mhz
+
+
+
+
+
+
+
+
+ Majikazo
+ 2016
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Mappy
+ 2016
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Mario Bros.
+ 2009
+ CollectorVision Games
+
+
+
+
+
+
+
+
+
+ Maze Maniac
+ 2006
+ Charles-Mathieu Boyer
+
+
+
+
+
+
+
+
+ Mazy
+ 2022
+ Inufuto
+
+
+
+
+
+
+
+
+ Mecha 9
+ 2016
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Mikie
+ 2021
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Minesweeper v1.0
+ 2021
+ Under4Mhz
+
+
+
+
+
+
+
+
+ Missle Strike
+ 2021
+ AnalogKid
+
+
+
+
+
+
+
+
+ Module Man
+ 2013
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Monaco GP
+ 2021
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Mopiranger
+ 2012
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Mr Chin
+ 2008
+ CollectorVision Games
+
+
+
+
+
+
+
+
+ Ms. Space Fury
+ 2001
+ Amy Marie Bienvenu
+
+
+
+
+
+
+
+
+ Multiverse
+ 2019
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Neuras
+ 2022
+ Inufuto
+
+
+
+
+
+
+
+
+ Ninja Princess
+ 2011
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ N-Sub
+ 2021
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Operation Wolf
+ 2016
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Pacar
+ 2017
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Pac-Man Collection
+ 2008
+ Opcode Games
+
+
+
+
+
+
+
+
+
+ Peek-A-Boo
+ 2010
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Pegged v1.0
+ 2021
+ Under4Mhz
+
+
+
+
+
+
+
+
+ Pillars
+ 2021
+ Under4Mhz
+
+
+
+
+
+
+
+
+ Pitfall II Arcade
+ 2010
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Pitman
+ 2021
+ Under4Mhz
+
+
+
+
+
+
+
+
+ Pooyan
+ 2009
+ CollectorVision Games
+
+
+
+
+
+
+
+
+ Princess Quest
+ 2012
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Champion Pro Wrestling
+ 2020
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Purple Dinosaur Massacre
+ 1996
+ Classic Game Creations
+
+
+
+
+
+
+
+
+ Pyramid Warp + Battle Ship Clapton II
+ 2009
+ CollectorVision Games
+
+
+
+
+
+
+
+
+ Qbiqs
+ 2019
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Quest for the Golden Chalice
+ 2012
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Rally-X
+ 2016
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Remember the Flag
+ 2017
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Reversi & Diamond Dash
+ 2004
+ Amy Marie Bienvenu
+
+
+
+
+
+
+
+
+ Road Fighter
+ 2007
+ Opcode Games
+
+
+
+
+
+
+
+
+ Ruptus
+ 2022
+ Inufuto
+
+
+
+
+
+
+
+
+ Search for the Stolen Crown Jewels 3 (Demo)
+ 2013
+ Good Deal Games
+
+
+
+
+
+
+
+
+ Secret of the Moai
+ 2018
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Sega Flipper
+ 2021
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Shmup!
+ 2017
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Shouganai
+ 2017
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Sindbad Mystery
+ 2021
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Sky Jaguar
+ 2004
+ Opcode Games
+
+
+
+
+
+
+
+
+ Snake
+ 2021
+ Under4Mhz
+
+
+
+
+
+
+
+
+ Space Invaders Collection
+ 2003
+ Opcode Games
+
+
+
+
+
+
+
+
+ Space Invasion
+ 1998
+ Classic Game Creations
+
+
+
+
+
+
+
+
+ Space Shuttle: A Journey Into Space
+ 2022
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Space Shuttle: A Journey Into Space (64k)
+ 2022
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Spelunker
+ 2015
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Spunky's Super Car!
+ 2014
+ CollectorVision Games
+
+
+
+
+
+
+
+
+
+ Squares
+ 2008
+ Atariage
+
+
+
+
+
+
+
+
+ Star Castle
+ 2021
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Star Fire
+ 2021
+ Chris Oberth
+
+
+
+
+
+
+
+
+
+ Star Force
+ 2011
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Star Fortess
+ 1998
+ Classic Game Creations
+
+
+
+
+
+
+
+
+ Star Jacker
+ 2021
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Steamroller
+ 2000
+ Retrotopia
+
+
+
+
+
+
+
+
+ The Stone of Wisdom
+ 2015
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Stray Cat
+ 2017
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Subroc Super Game
+ 2014
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Sudoku
+ 2017
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Super Pac-Man
+ 2016
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Super Space Acer
+ 2011
+ Mike Brent
+
+
+
+
+
+
+
+
+
+ Thexder
+ 2012
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Track & Field
+ 2010
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Traffic Jam
+ 2017
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Turmoil 2022
+ 2021
+ 8-bit Milli Games
+
+
+
+
+
+
+
+
+ TwinBee
+ 2014
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Txupinazo!
+ 2017
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+ Uridium
+ 2019
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Utopia
+ 2023
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Vexed
+ 2021
+ Under4Mhz
+
+
+
+
+
+
+
+
+ Vectorollerpede
+ 2023
+ Côté Gamers
+
+
+
+
+
+
+
+
+
+ War
+ 2014
+ Gerry Brophy
+
+
+
+
+
+
+
+
+ Waterville Rescue
+ 2009
+ Mike Brent
+
+
+
+
+
+
+
+
+ Winky Trap
+ 2007
+ CollectorVision Games
+
+
+
+
+
+
+
+
+ Wonder Boy
+ 2012
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Wizard of Wor
+ 2018
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Yie Ar Kung-Fu
+ 2005
+ Opcode Games
+
+
+
+
+
+
+
+
+ Zaxxon II
+ 2021
+ Team Pixelboy
+
+
+
+
+
+
+
+
+ Zaxxon Super Game
+ 2012
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Zippy Race
+ 2009
+ CollectorVision Games
+
+
+
+
+
+
+
+
+ Zombie Calavera Prologue
+ 2021
+ CollectorVision Games
+
+
+
+
+
+
+
+
+ Zombie Incident
+ 2021
+ Team Pixelboy
+
+
+
+
+
+
+
+
+
+
+ Zombie Near
+ 2012
+ CollectorVision Games
+
+
+
+
+
+
+
+
+
+ Zoom 909
+ 2021
+ Team Pixelboy
+
+
+
diff --git a/hash/gameking.xml b/hash/gameking.xml
index 2a2f2a270d217..409f22db4ffea 100644
--- a/hash/gameking.xml
+++ b/hash/gameking.xml
@@ -342,7 +342,7 @@ S1: is on some carts directly connected to VCC
- 4 in 1 - Three Battles + Light Sword + Risker + Metal Deform (512KB cartridge)
+ 4 in 1 - Three Battles + Light Sword + Risker + Metal Deform (512KB cartridge, set 1)
200?
TimeTop
@@ -353,6 +353,17 @@ S1: is on some carts directly connected to VCC
+ 4 in 1 - Three Battles + Light Sword + Risker + Metal Deform (512KB cartridge, set 2)
+ 200?
+ TimeTop
+
+
+
+
+
+
+
+
4 in 1 - Three Battles + Light Sword + Risker + Metal Deform (1MB cartridge)
200?
TimeTop
diff --git a/hash/gameking3.xml b/hash/gameking3.xml
index 9d9785fefe4d1..417167b6c810a 100644
--- a/hash/gameking3.xml
+++ b/hash/gameking3.xml
@@ -50,7 +50,9 @@ see gameking.xml for information about cartridge types
-
+
+
+
@@ -88,4 +90,26 @@ see gameking.xml for information about cartridge types
+
+ Diamond
+ 200?
+ TimeTop
+
+
+
+
+
+
+
+
+ Hemic Battle
+ 200?
+ TimeTop
+
+
+
+
+
+
+
diff --git a/hash/rx78_cart.xml b/hash/rx78_cart.xml
index 247fe798f4cfc..aee502c508957 100644
--- a/hash/rx78_cart.xml
+++ b/hash/rx78_cart.xml
@@ -9,9 +9,10 @@ tape through audio line-in ports to use with tape recorders; these ports were pr
Animation Graphics, Creative Graphics, Japanese Word Processor, Music Master and Z80 Assembler carts.
The system could use up to two carts or devices at the same time.
-There were a total of 20 games released for the system, plus educational and productivity software, and peripheral
-devices. One additional game and three expansion cards were announced but never released. The official translations
-printed in the game carts or tapes are used below where available. Names in brackets are unofficial translations.
+There were a total of 20 games released for the system, plus educational and productivity software, peripheral
+devices, and one in-store demonstration cart. An additional game and three expansion carts were announced,
+but never released. The official translations printed in the game carts or tapes are used below where available.
+Names in brackets are unofficial translations.
+========+=========+=======+=========+==============================================================================+
| Format | Serial | Type | Overlay | Title |
@@ -28,6 +29,7 @@ printed in the game carts or tapes are used below where available. Names in brac
| Cart | 0201011 | Game | No | ハンバーガー ショップ / Hamburger Shop
| Cart | 0201012 | Game | Yes | 戦え!ウルトラマン / Tatakae! Ultraman
| Cart | 0201013 | Game | No | ザ・プロレス / The Pro Wrestling
+| Cart | 0201014 | Learn | Yes | ABC 単語ゲーム / ABC Word Game
| Cart | 0201016 | Tool | No | RX-78 P.I/F / Printer Interface
| Cart | 0201018 | Game | Yes | 連合艦隊 / Rengo Kantai
| Cart | 0201019 | Game | Yes | スペースエネミー / Space Enemy
@@ -46,14 +48,14 @@ printed in the game carts or tapes are used below where available. Names in brac
| Tape | 0201041 | Game | Unknown | ドンジャラ [Donjara] (**)
| Cart | 02010?? | Game | Yes | カード・ワールド / Card World
| Tape | 02010?? | Game | Unknown | ひつじや~い [Hitsujiya~i]
-| Cart | 02010?? | Learn | Yes | ABC 単語ゲーム / ABC Word Game
| ? | 02010?? | Learn | Unknown | 算数つまづき [Sansu Tsuma Zuki]
-| Cart | 02010?? | Tool | Yes | BS-BASIC Version 1.0
+| Cart | None | Tool | Yes | BS-BASIC Version 1.0
| Cart | 02010?? | Tool | Yes | 漢字ワープロ / Japanese Word Processor
| ? | 02010?? | Tool | Unknown | Z-80 アセンブラー (RX-78 Z-80 用アセンブラー)
| Cart | ??????? | Tool | Unknown | バッテリーバックアップ RAM [Battery Backup RAM] (Announced)
| Cart | ??????? | Tool | Unknown | ミュージック・インターフェイス [Music Interface] (Announced)
| Cart | ??????? | Tool | Unknown | 専用フロッピイ・ヂイスクドライブ [Floppy Disk Drive] (Announced)
+| Cart | None | Demo | No | デモンストレーション 店頭用非売品 No. 1 [Demonstration - Not For Resale]
| ? | ??????? | Game | Unknown | キム・キム・ダン・ダン [Kim Kim Dan Dan] (Announced)
|========+=========+=======+========================================================================================+
@@ -100,6 +102,8 @@ The monitor will expect you to load a program from cassette.
ABC Word Game
1983
Bandai
+
+
@@ -109,14 +113,16 @@ The monitor will expect you to load a program from cassette.
-
- Burger Shop
+
+ Cannon Ball
1983
Bandai
-
+
+
+
-
+
@@ -125,6 +131,8 @@ The monitor will expect you to load a program from cassette.
Challenge Golf
1983
Bandai
+
+
@@ -138,6 +146,8 @@ The monitor will expect you to load a program from cassette.
Champion Racer
1983
Bandai
+
+
@@ -150,6 +160,8 @@ The monitor will expect you to load a program from cassette.
Creative Graphics
1983
Bandai
+
+
@@ -161,6 +173,8 @@ The monitor will expect you to load a program from cassette.
Excite Baseball
1983
Bandai
+
+
@@ -174,6 +188,8 @@ The monitor will expect you to load a program from cassette.
Excite Tennis
1983
Bandai
+
+
@@ -183,10 +199,25 @@ The monitor will expect you to load a program from cassette.
+
+ Hamburger Shop
+ 1983
+ Bandai
+
+
+
+
+
+
+
+
+
+
Mobile Suit Gundam: Lunar 2 no Tatakai
1983
Bandai
+
@@ -201,6 +232,8 @@ The monitor will expect you to load a program from cassette.
Perfect Mah-jongg
1983
Bandai
+
+
@@ -213,6 +246,8 @@ The monitor will expect you to load a program from cassette.
Rengo Kantai
1983
Bandai
+
+
@@ -227,6 +262,8 @@ The monitor will expect you to load a program from cassette.
Sekigahara
1983
Bandai
+
+
@@ -242,6 +279,8 @@ The monitor will expect you to load a program from cassette.
Super Motocross
1983
Bandai
+
+
@@ -255,6 +294,8 @@ The monitor will expect you to load a program from cassette.
Space Enemy
1983
Bandai
+
+
@@ -265,9 +306,11 @@ The monitor will expect you to load a program from cassette.
- The Prowrestling
+ The Pro-Wrestling
1983
Bandai
+
+
@@ -277,9 +320,11 @@ The monitor will expect you to load a program from cassette.
- Ultraman
+ Tatakae! Ultraman
1983
Bandai
+
+
@@ -292,6 +337,8 @@ The monitor will expect you to load a program from cassette.
Zerosen
1983
Bandai
+
+
@@ -300,6 +347,8 @@ The monitor will expect you to load a program from cassette.
+
+
Aerial
2021
@@ -310,6 +359,7 @@ The monitor will expect you to load a program from cassette.
+
Battlot
2021
@@ -320,6 +370,7 @@ The monitor will expect you to load a program from cassette.
+
Bootskell
2021
@@ -330,6 +381,7 @@ The monitor will expect you to load a program from cassette.
+
Cavit
2021
@@ -340,6 +392,7 @@ The monitor will expect you to load a program from cassette.
+
Lift
2021
@@ -350,6 +403,7 @@ The monitor will expect you to load a program from cassette.
+
Neuras
2021
@@ -360,6 +414,7 @@ The monitor will expect you to load a program from cassette.
+
Ruptus
2021
@@ -370,6 +425,7 @@ The monitor will expect you to load a program from cassette.
+
Xchase
2021
diff --git a/scripts/src/bus.lua b/scripts/src/bus.lua
index ed8419d7b6cf8..79c00329c85e8 100644
--- a/scripts/src/bus.lua
+++ b/scripts/src/bus.lua
@@ -1180,6 +1180,8 @@ if (BUSES["COLECO_CART"]~=null) then
files {
MAME_DIR .. "src/devices/bus/coleco/cartridge/exp.cpp",
MAME_DIR .. "src/devices/bus/coleco/cartridge/exp.h",
+ MAME_DIR .. "src/devices/bus/coleco/cartridge/activision.cpp",
+ MAME_DIR .. "src/devices/bus/coleco/cartridge/activision.h",
MAME_DIR .. "src/devices/bus/coleco/cartridge/megacart.cpp",
MAME_DIR .. "src/devices/bus/coleco/cartridge/megacart.h",
MAME_DIR .. "src/devices/bus/coleco/cartridge/std.cpp",
@@ -4648,6 +4650,8 @@ if (BUSES["QBUS"]~=null) then
MAME_DIR .. "src/devices/bus/qbus/qg640.h",
MAME_DIR .. "src/devices/bus/qbus/qtx.cpp",
MAME_DIR .. "src/devices/bus/qbus/qtx.h",
+ MAME_DIR .. "src/devices/bus/qbus/uknc_kmd.cpp",
+ MAME_DIR .. "src/devices/bus/qbus/uknc_kmd.h",
}
end
diff --git a/scripts/src/formats.lua b/scripts/src/formats.lua
index aee4329959d7a..c1f9c86d15c29 100644
--- a/scripts/src/formats.lua
+++ b/scripts/src/formats.lua
@@ -436,6 +436,18 @@ if opt_tool(FORMATS, "BASICDSK") then
}
end
+--------------------------------------------------
+--
+--@src/lib/formats/bk0010_dsk.h,FORMATS["BK0010_DSK"] = true
+--------------------------------------------------
+
+if opt_tool(FORMATS, "BK0010_DSK") then
+ files {
+ MAME_DIR.. "src/lib/formats/bk0010_dsk.cpp",
+ MAME_DIR.. "src/lib/formats/bk0010_dsk.h",
+ }
+end
+
--------------------------------------------------
--
--@src/lib/formats/bw12_dsk.h,FORMATS["BW12_DSK"] = true
diff --git a/scripts/src/machine.lua b/scripts/src/machine.lua
index 5ca9f9d977d67..d38de5d429365 100644
--- a/scripts/src/machine.lua
+++ b/scripts/src/machine.lua
@@ -5354,3 +5354,14 @@ if (MACHINES["UPD7261"]~=null) then
MAME_DIR .. "src/devices/machine/upd7261.h",
}
end
+
+---------------------------------------------------
+--
+--@src/devices/machine/cat702.h,MACHINES["CAT702"] = true
+---------------------------------------------------
+if (MACHINES["CAT702"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/machine/cat702.cpp",
+ MAME_DIR .. "src/devices/machine/cat702.h",
+ }
+end
diff --git a/scripts/src/sound.lua b/scripts/src/sound.lua
index b53cd0b10a8df..ccbab43419ce0 100644
--- a/scripts/src/sound.lua
+++ b/scripts/src/sound.lua
@@ -550,6 +550,20 @@ end
+---------------------------------------------------
+-- Micronas DAC 3550A Stereo Audio DAC
+--@src/devices/sound/dac3350a.h,SOUNDS["DAC3350A"] = true
+---------------------------------------------------
+
+if (SOUNDS["DAC3350A"]~=null) then
+ files {
+ MAME_DIR .. "src/devices/sound/dac3350a.cpp",
+ MAME_DIR .. "src/devices/sound/dac3350a.h",
+ }
+end
+
+
+
---------------------------------------------------
-- MEA8000 Voice Synthesizer
--@src/devices/sound/mea8000.h,SOUNDS["MEA8000"] = true
diff --git a/src/devices/bus/coleco/cartridge/activision.cpp b/src/devices/bus/coleco/cartridge/activision.cpp
new file mode 100644
index 0000000000000..4741efc11b43a
--- /dev/null
+++ b/src/devices/bus/coleco/cartridge/activision.cpp
@@ -0,0 +1,132 @@
+// license: BSD-3-Clause
+// copyright-holders: Dirk Best
+/**********************************************************************
+
+ ColecoVision 'Activision' cartridge emulation
+
+**********************************************************************/
+
+#include "emu.h"
+#include "activision.h"
+
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(COLECOVISION_ACTIVISION, colecovision_activision_cartridge_device, "coleco_activision", "ColecoVision Activision Cartridge")
+DEFINE_DEVICE_TYPE(COLECOVISION_ACTIVISION_256B, colecovision_activision_256b_cartridge_device, "coleco_activision_256b", "ColecoVision Activision Cartridge (256B EEPROM)")
+DEFINE_DEVICE_TYPE(COLECOVISION_ACTIVISION_32K, colecovision_activision_32k_cartridge_device, "coleco_activision_32k", "ColecoVision Activision Cartridge (32K EEPROM)")
+
+colecovision_activision_cartridge_device::colecovision_activision_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, COLECOVISION_ACTIVISION, tag, owner, clock),
+ device_colecovision_cartridge_interface(mconfig, *this),
+ m_eeprom(*this, "eeprom"),
+ m_active_bank(0)
+{
+}
+
+colecovision_activision_cartridge_device::colecovision_activision_cartridge_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
+ device_colecovision_cartridge_interface(mconfig, *this),
+ m_eeprom(*this, "eeprom"),
+ m_active_bank(0)
+{
+}
+
+colecovision_activision_256b_cartridge_device::colecovision_activision_256b_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ colecovision_activision_cartridge_device(mconfig, COLECOVISION_ACTIVISION_256B, tag, owner, clock)
+{
+}
+
+colecovision_activision_32k_cartridge_device::colecovision_activision_32k_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ colecovision_activision_cartridge_device(mconfig, COLECOVISION_ACTIVISION_32K, tag, owner, clock)
+{
+}
+
+
+//**************************************************************************
+// MACHINE DEFINITIONS
+//**************************************************************************
+
+void colecovision_activision_256b_cartridge_device::device_add_mconfig(machine_config &config)
+{
+ I2C_24C02(config, m_eeprom, 0);
+}
+
+void colecovision_activision_32k_cartridge_device::device_add_mconfig(machine_config &config)
+{
+ I2C_24C256(config, m_eeprom, 0);
+}
+
+
+//**************************************************************************
+// MACHINE EMULATION
+//**************************************************************************
+
+void colecovision_activision_cartridge_device::device_start()
+{
+ // register for save states
+ save_item(NAME(m_active_bank));
+}
+
+uint8_t colecovision_activision_cartridge_device::read(offs_t offset, int _8000, int _a000, int _c000, int _e000)
+{
+ uint8_t data = 0xff;
+
+ if (!_8000 || !_a000 || !_c000 || !_e000)
+ {
+ if (offset < 0x4000)
+ {
+ // fixed first rom bank
+ data = m_rom[offset];
+ }
+ else if (offset == 0x7f80)
+ {
+ // eeprom data
+ if (m_eeprom.found())
+ data = m_eeprom->read_sda();
+ else
+ data = 0xff;
+ }
+ else if (offset > 0x7f80)
+ {
+ // "dead" area
+ data = 0xff;
+ }
+ else
+ {
+ // bankswitched rom
+ data = m_rom[(m_active_bank << 14) | (offset & 0x3fff)];
+ }
+ }
+
+ return data;
+}
+
+void colecovision_activision_cartridge_device::write(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000)
+{
+ switch (offset)
+ {
+ // bankswitch
+ case 0x7f90:
+ case 0x7fa0:
+ case 0x7fb0:
+ m_active_bank = (offset >> 4) & 0x03;
+ break;
+
+ // eeprom scl
+ case 0x7fc0:
+ case 0x7fd0:
+ if (m_eeprom.found())
+ m_eeprom->write_scl(BIT(offset, 4));
+ break;
+
+ // eeprom sda
+ case 0x7fe0:
+ case 0x7ff0:
+ if (m_eeprom.found())
+ m_eeprom->write_sda(BIT(offset, 4));
+ break;
+ }
+}
diff --git a/src/devices/bus/coleco/cartridge/activision.h b/src/devices/bus/coleco/cartridge/activision.h
new file mode 100644
index 0000000000000..c36a77880ac9e
--- /dev/null
+++ b/src/devices/bus/coleco/cartridge/activision.h
@@ -0,0 +1,65 @@
+// license: BSD-3-Clause
+// copyright-holders: Dirk Best
+/**********************************************************************
+
+ ColecoVision 'Activision' cartridge emulation
+
+**********************************************************************/
+
+#ifndef MAME_BUS_COLECO_CARTRIDGE_ACTIVISION_H
+#define MAME_BUS_COLECO_CARTRIDGE_ACTIVISION_H
+
+#pragma once
+
+#include "exp.h"
+#include "machine/i2cmem.h"
+
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+class colecovision_activision_cartridge_device : public device_t, public device_colecovision_cartridge_interface
+{
+public:
+ colecovision_activision_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ colecovision_activision_cartridge_device(const machine_config &mconfig, device_type type, const char* tag, device_t* owner, uint32_t clock);
+
+ optional_device m_eeprom;
+
+ virtual void device_start() override;
+
+ // cartridge interface
+ virtual uint8_t read(offs_t offset, int _8000, int _a000, int _c000, int _e000) override;
+ virtual void write(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000) override;
+
+private:
+ uint8_t m_active_bank;
+};
+
+class colecovision_activision_256b_cartridge_device : public colecovision_activision_cartridge_device
+{
+public:
+ colecovision_activision_256b_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
+};
+
+class colecovision_activision_32k_cartridge_device : public colecovision_activision_cartridge_device
+{
+public:
+ colecovision_activision_32k_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ virtual void device_add_mconfig(machine_config &config) override;
+};
+
+// device type declaration
+DECLARE_DEVICE_TYPE(COLECOVISION_ACTIVISION, colecovision_activision_cartridge_device)
+DECLARE_DEVICE_TYPE(COLECOVISION_ACTIVISION_256B, colecovision_activision_256b_cartridge_device)
+DECLARE_DEVICE_TYPE(COLECOVISION_ACTIVISION_32K, colecovision_activision_32k_cartridge_device)
+
+#endif // MAME_BUS_COLECO_CARTRIDGE_ACTIVISION_H
diff --git a/src/devices/bus/coleco/cartridge/exp.cpp b/src/devices/bus/coleco/cartridge/exp.cpp
index 49be28be699be..21fcfd9708ae6 100644
--- a/src/devices/bus/coleco/cartridge/exp.cpp
+++ b/src/devices/bus/coleco/cartridge/exp.cpp
@@ -121,23 +121,36 @@ std::string colecovision_cartridge_slot_device::get_default_card_software(get_de
//-------------------------------------------------
-// bd_r - cartridge data read
+// read - cartridge data read
//-------------------------------------------------
-
-uint8_t colecovision_cartridge_slot_device::bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000)
+uint8_t colecovision_cartridge_slot_device::read(offs_t offset, int _8000, int _a000, int _c000, int _e000)
{
+ uint8_t data = 0xff;
+
if (m_card)
- data = m_card->bd_r(offset , data, _8000, _a000, _c000, _e000);
+ data = m_card->read(offset, _8000, _a000, _c000, _e000);
return data;
}
+//-------------------------------------------------
+// write - cartridge data write
+//-------------------------------------------------
+
+void colecovision_cartridge_slot_device::write(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000)
+{
+ if (m_card)
+ m_card->write(offset, data, _8000, _a000, _c000, _e000);
+}
+
+
//-------------------------------------------------
// SLOT_INTERFACE( colecovision_cartridges )
//-------------------------------------------------
+#include "activision.h"
#include "megacart.h"
#include "std.h"
#include "xin1.h"
@@ -145,6 +158,9 @@ uint8_t colecovision_cartridge_slot_device::bd_r(offs_t offset, uint8_t data, in
void colecovision_cartridges(device_slot_interface &device)
{
// the following need ROMs from the software list
+ device.option_add_internal("activision", COLECOVISION_ACTIVISION);
+ device.option_add_internal("activision_256b", COLECOVISION_ACTIVISION_256B);
+ device.option_add_internal("activision_32k", COLECOVISION_ACTIVISION_32K);
device.option_add_internal("megacart", COLECOVISION_MEGACART);
device.option_add_internal("standard", COLECOVISION_STANDARD);
device.option_add_internal("xin1", COLECOVISION_XIN1);
diff --git a/src/devices/bus/coleco/cartridge/exp.h b/src/devices/bus/coleco/cartridge/exp.h
index ee66204cf92c7..0861f9f39b125 100644
--- a/src/devices/bus/coleco/cartridge/exp.h
+++ b/src/devices/bus/coleco/cartridge/exp.h
@@ -65,7 +65,8 @@ class colecovision_cartridge_slot_device : public device_t,
colecovision_cartridge_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// computer interface
- uint8_t bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000);
+ uint8_t read(offs_t offset, int _8000, int _a000, int _c000, int _e000);
+ void write(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000);
protected:
// device_t implementation
@@ -92,7 +93,8 @@ class device_colecovision_cartridge_interface : public device_interface
friend class colecovision_cartridge_slot_device;
public:
- virtual uint8_t bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000) { return 0xff; }
+ virtual uint8_t read(offs_t offset, int _8000, int _a000, int _c000, int _e000) { return 0xff; }
+ virtual void write(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000) { }
void rom_alloc(size_t size);
diff --git a/src/devices/bus/coleco/cartridge/megacart.cpp b/src/devices/bus/coleco/cartridge/megacart.cpp
index 68b84af653beb..1cb6b471bb043 100644
--- a/src/devices/bus/coleco/cartridge/megacart.cpp
+++ b/src/devices/bus/coleco/cartridge/megacart.cpp
@@ -62,15 +62,17 @@ void colecovision_megacart_cartridge_device::device_reset()
// read - cartridge data read
//-------------------------------------------------
-uint8_t colecovision_megacart_cartridge_device::bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000)
+uint8_t colecovision_megacart_cartridge_device::read(offs_t offset, int _8000, int _a000, int _c000, int _e000)
{
+ uint8_t data = 0xff;
+
if (!_8000 || !_a000 || !_c000 || !_e000)
{
if (m_bankcount > 2)
{
// offset as passed to us is a delta from address 0x8000.
- if (offset >= 0x7FC0)
+ if (offset >= 0x7fc0)
{
// Reads within the final 64 bytes select which megacart bank is active.
m_activebank = offset & (m_bankcount - 1);
diff --git a/src/devices/bus/coleco/cartridge/megacart.h b/src/devices/bus/coleco/cartridge/megacart.h
index 6a0b73f512469..7d259ef50f474 100644
--- a/src/devices/bus/coleco/cartridge/megacart.h
+++ b/src/devices/bus/coleco/cartridge/megacart.h
@@ -34,7 +34,7 @@ class colecovision_megacart_cartridge_device : public device_t,
virtual void device_reset() override;
// device_colecovision_cartridge_interface overrides
- virtual uint8_t bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000) override;
+ virtual uint8_t read(offs_t offset, int _8000, int _a000, int _c000, int _e000) override;
private:
uint32_t m_bankcount;
diff --git a/src/devices/bus/coleco/cartridge/std.cpp b/src/devices/bus/coleco/cartridge/std.cpp
index 24bb815834e0a..638a1b36fd53f 100644
--- a/src/devices/bus/coleco/cartridge/std.cpp
+++ b/src/devices/bus/coleco/cartridge/std.cpp
@@ -47,14 +47,14 @@ void colecovision_standard_cartridge_device::device_start()
// read - cartridge data read
//-------------------------------------------------
-uint8_t colecovision_standard_cartridge_device::bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000)
+uint8_t colecovision_standard_cartridge_device::read(offs_t offset, int _8000, int _a000, int _c000, int _e000)
{
+ uint8_t data = 0xff;
+
if (!_8000 || !_a000 || !_c000 || !_e000)
{
if (offset < m_rom_size)
data = m_rom[offset];
- else
- data = 0xff;
}
return data;
diff --git a/src/devices/bus/coleco/cartridge/std.h b/src/devices/bus/coleco/cartridge/std.h
index 6e0c5206ada6d..fc39e94acdc7d 100644
--- a/src/devices/bus/coleco/cartridge/std.h
+++ b/src/devices/bus/coleco/cartridge/std.h
@@ -33,7 +33,7 @@ class colecovision_standard_cartridge_device : public device_t,
virtual void device_start() override;
// device_colecovision_expansion_card_interface overrides
- virtual uint8_t bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000) override;
+ virtual uint8_t read(offs_t offset, int _8000, int _a000, int _c000, int _e000) override;
};
diff --git a/src/devices/bus/coleco/cartridge/xin1.cpp b/src/devices/bus/coleco/cartridge/xin1.cpp
index 954c4a6e483a9..6a3ba70d512ed 100644
--- a/src/devices/bus/coleco/cartridge/xin1.cpp
+++ b/src/devices/bus/coleco/cartridge/xin1.cpp
@@ -59,8 +59,10 @@ void colecovision_xin1_cartridge_device::device_reset()
// read - cartridge data read
//-------------------------------------------------
-uint8_t colecovision_xin1_cartridge_device::bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000)
+uint8_t colecovision_xin1_cartridge_device::read(offs_t offset, int _8000, int _a000, int _c000, int _e000)
{
+ uint8_t data = 0xff;
+
if (!_8000 || !_a000 || !_c000 || !_e000)
{
data = m_rom[m_current_offset + offset];
diff --git a/src/devices/bus/coleco/cartridge/xin1.h b/src/devices/bus/coleco/cartridge/xin1.h
index 0e8a7813c9fed..c5ce426ff4c05 100644
--- a/src/devices/bus/coleco/cartridge/xin1.h
+++ b/src/devices/bus/coleco/cartridge/xin1.h
@@ -34,7 +34,7 @@ class colecovision_xin1_cartridge_device : public device_t,
virtual void device_reset() override;
// device_colecovision_expansion_card_interface overrides
- virtual uint8_t bd_r(offs_t offset, uint8_t data, int _8000, int _a000, int _c000, int _e000) override;
+ virtual uint8_t read(offs_t offset, int _8000, int _a000, int _c000, int _e000) override;
private:
uint32_t m_current_offset;
diff --git a/src/devices/bus/qbus/qbus.cpp b/src/devices/bus/qbus/qbus.cpp
index 7a375ad9032c0..565bab97e9289 100644
--- a/src/devices/bus/qbus/qbus.cpp
+++ b/src/devices/bus/qbus/qbus.cpp
@@ -17,6 +17,7 @@
#include "pc11.h"
#include "qg640.h"
#include "qtx.h"
+#include "uknc_kmd.h"
void qbus_cards(device_slot_interface &device)
@@ -26,6 +27,7 @@ void qbus_cards(device_slot_interface &device)
device.option_add("dsd4432", DSD4432);
device.option_add("kgd", DVK_KGD);
device.option_add("mx", DVK_MX);
+ device.option_add("mz", UKNC_KMD);
device.option_add("qg640", MATROX_QG640);
}
diff --git a/src/devices/bus/qbus/uknc_kmd.cpp b/src/devices/bus/qbus/uknc_kmd.cpp
new file mode 100644
index 0000000000000..ddef50aee2f76
--- /dev/null
+++ b/src/devices/bus/qbus/uknc_kmd.cpp
@@ -0,0 +1,87 @@
+// license:BSD-3-Clause
+// copyright-holders:Sergey Svishchev
+/***************************************************************************
+
+ UKNC floppy controller (device driver MZ.SYS)
+
+***************************************************************************/
+
+#include "emu.h"
+#include "uknc_kmd.h"
+
+#include "machine/pdp11.h"
+
+#include "formats/bk0010_dsk.h"
+
+
+namespace {
+
+void uknc_floppies(device_slot_interface &device)
+{
+ device.option_add("525qd", FLOPPY_525_QD);
+}
+
+void uknc_floppy_formats(format_registration &fr)
+{
+ fr.add_mfm_containers();
+ fr.add(FLOPPY_BK0010_FORMAT);
+}
+
+} // anonymous namespace
+
+
+//**************************************************************************
+// DEVICE DEFINITIONS
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(UKNC_KMD, uknc_kmd_device, "uknc_kmd", "UKNC floppy")
+
+
+//**************************************************************************
+// LIVE DEVICE
+//**************************************************************************
+
+//-------------------------------------------------
+// uknc_kmd_device - constructor
+//-------------------------------------------------
+
+uknc_kmd_device::uknc_kmd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, UKNC_KMD, tag, owner, clock)
+ , device_qbus_card_interface(mconfig, *this)
+ , m_fdc(*this, "fdc")
+{
+}
+
+void uknc_kmd_device::device_add_mconfig(machine_config &config)
+{
+ K1801VP128(config, m_fdc, XTAL(4'000'000));
+ m_fdc->ds_in_callback().set(
+ [] (uint16_t data) -> uint16_t
+ {
+ switch (data & 02003)
+ {
+ case 02000: return 3;
+ case 02001: return 2;
+ case 02002: return 1;
+ case 02003: return 0;
+ default: return -1;
+ }
+ });
+ FLOPPY_CONNECTOR(config, "fdc:0", uknc_floppies, "525qd", uknc_floppy_formats);
+ FLOPPY_CONNECTOR(config, "fdc:1", uknc_floppies, "525qd", uknc_floppy_formats);
+ FLOPPY_CONNECTOR(config, "fdc:2", uknc_floppies, "525qd", uknc_floppy_formats);
+ FLOPPY_CONNECTOR(config, "fdc:3", uknc_floppies, "525qd", uknc_floppy_formats);
+}
+
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void uknc_kmd_device::device_start()
+{
+ m_bus->install_device(0177130, 0177133,
+ emu::rw_delegate(m_fdc, FUNC(k1801vp128_device::read)),
+ emu::rw_delegate(m_fdc, FUNC(k1801vp128_device::write)));
+}
+
diff --git a/src/devices/bus/qbus/uknc_kmd.h b/src/devices/bus/qbus/uknc_kmd.h
new file mode 100644
index 0000000000000..fc7b8ece7b9bf
--- /dev/null
+++ b/src/devices/bus/qbus/uknc_kmd.h
@@ -0,0 +1,43 @@
+// license:BSD-3-Clause
+// copyright-holders:Sergey Svishchev
+/***************************************************************************
+
+ UKNC floppy controller (device driver MZ.SYS)
+
+***************************************************************************/
+
+#ifndef MAME_BUS_QBUS_UKNC_KMD_H
+#define MAME_BUS_QBUS_UKNC_KMD_H
+
+#pragma once
+
+#include "qbus.h"
+
+#include "machine/1801vp128.h"
+
+
+/***************************************************************************
+ TYPE DEFINITIONS
+***************************************************************************/
+
+// ======================> uknc_kmd_device
+
+class uknc_kmd_device : public device_t, public device_qbus_card_interface
+{
+public:
+ // construction/destruction
+ uknc_kmd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ // device_t implementation
+ virtual void device_start() override;
+ virtual void device_add_mconfig(machine_config &config) override;
+
+ required_device m_fdc;
+};
+
+
+// device type definition
+DECLARE_DEVICE_TYPE(UKNC_KMD, uknc_kmd_device)
+
+#endif // MAME_BUS_QBUS_UKNC_KMD_H
diff --git a/src/devices/bus/svi3x8/expander/sv603.cpp b/src/devices/bus/svi3x8/expander/sv603.cpp
index e8d3dd81b3b48..d64b5ef13a2ce 100644
--- a/src/devices/bus/svi3x8/expander/sv603.cpp
+++ b/src/devices/bus/svi3x8/expander/sv603.cpp
@@ -105,17 +105,17 @@ uint8_t sv603_device::mreq_r(offs_t offset)
uint8_t data = 0xff;
// ls138 (active low)
- int ccs1 = ((offset >> 13) == 0) ? 0 : 1;
- int ccs2 = ((offset >> 13) == 1) ? 0 : 1;
- int ccs3 = ((offset >> 13) == 2) ? 0 : 1;
- int ccs4 = ((offset >> 13) == 3) ? 0 : 1;
- int bios = ((offset >> 13) == 4) ? 0 : 1;
+ const int ccs1 = ((offset >> 13) == 0) ? 0 : 1;
+ const int ccs2 = ((offset >> 13) == 1) ? 0 : 1;
+ const int ccs3 = ((offset >> 13) == 2) ? 0 : 1;
+ const int ccs4 = ((offset >> 13) == 3) ? 0 : 1;
+ const int bios = ((offset >> 13) == 4) ? 0 : 1;
// 5, 6, 7: not connected
m_expander->romdis_w(0);
m_expander->ramdis_w(bios);
- data &= m_cart->bd_r(offset, data, ccs1, ccs2, ccs3, ccs4);
+ data &= m_cart->read(offset, ccs1, ccs2, ccs3, ccs4);
if (bios == 0)
data &= m_bios->as_u8(offset & 0x1fff);
@@ -125,7 +125,16 @@ uint8_t sv603_device::mreq_r(offs_t offset)
void sv603_device::mreq_w(offs_t offset, uint8_t data)
{
+ const int ccs1 = ((offset >> 13) == 0) ? 0 : 1;
+ const int ccs2 = ((offset >> 13) == 1) ? 0 : 1;
+ const int ccs3 = ((offset >> 13) == 2) ? 0 : 1;
+ const int ccs4 = ((offset >> 13) == 3) ? 0 : 1;
+ const int bios = ((offset >> 13) == 4) ? 0 : 1;
+
m_expander->romdis_w(0);
+ m_expander->ramdis_w(bios);
+
+ m_cart->write(offset, data, ccs1, ccs2, ccs3, ccs4);
}
uint8_t sv603_device::iorq_r(offs_t offset)
diff --git a/src/devices/cpu/m6800/m6801.cpp b/src/devices/cpu/m6800/m6801.cpp
index 8e44e9c40a590..260333574a630 100644
--- a/src/devices/cpu/m6800/m6801.cpp
+++ b/src/devices/cpu/m6800/m6801.cpp
@@ -898,8 +898,20 @@ void hd6301x_cpu_device::increment_counter(int amount)
void m6801_cpu_device::eat_cycles()
{
- while (m_icount > 0)
- increment_counter(1);
+ int cycles_to_eat = std::min(int(m_timer_next - CTD), m_icount);
+ if (cycles_to_eat > 0)
+ increment_counter(cycles_to_eat);
+}
+
+void hd6301x_cpu_device::eat_cycles()
+{
+ if (BIT(m_tcsr3, 4))
+ {
+ while (m_icount > 0 && m_wai_state & (M6800_WAI | M6800_SLP))
+ increment_counter(1);
+ }
+ else
+ m6801_cpu_device::eat_cycles();
}
/* cleanup high-word of counters */
diff --git a/src/devices/cpu/m6800/m6801.h b/src/devices/cpu/m6800/m6801.h
index aa1518487ff16..12d618856c2b3 100644
--- a/src/devices/cpu/m6800/m6801.h
+++ b/src/devices/cpu/m6800/m6801.h
@@ -400,6 +400,7 @@ class hd6301x_cpu_device : public hd6301_cpu_device
virtual void check_irq2() override;
virtual void set_timer_event() override;
virtual void modified_counters() override;
+ virtual void eat_cycles() override;
virtual void increment_counter(int amount) override;
virtual void check_timer_event() override;
virtual void cleanup_counters() override;
diff --git a/src/devices/machine/1801vp128.cpp b/src/devices/machine/1801vp128.cpp
index 2c1f089f55765..de63cbe0dd7f4 100644
--- a/src/devices/machine/1801vp128.cpp
+++ b/src/devices/machine/1801vp128.cpp
@@ -45,7 +45,7 @@
// DEVICE DEFINITIONS
//**************************************************************************
-DEFINE_DEVICE_TYPE(K1801VP128, k1801vp128_device, "1801vp1-128", "1801VP1-128")
+DEFINE_DEVICE_TYPE(K1801VP128, k1801vp128_device, "1801vp1_128", "1801VP1-128 FDC")
diff --git a/src/mame/sony/cat702.cpp b/src/devices/machine/cat702.cpp
similarity index 67%
rename from src/mame/sony/cat702.cpp
rename to src/devices/machine/cat702.cpp
index 067be2f0edcf1..80e548bb8712b 100644
--- a/src/mame/sony/cat702.cpp
+++ b/src/devices/machine/cat702.cpp
@@ -87,21 +87,24 @@
#include "emu.h"
#include "cat702.h"
+static constexpr uint8_t initial_sbox[8] = { 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x7f };
+
DEFINE_DEVICE_TYPE(CAT702, cat702_device, "cat702", "CAT702")
+DEFINE_DEVICE_TYPE(CAT702_PIU, cat702_piu_device, "cat702_piu", "CAT702_PIU")
-cat702_device::cat702_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, CAT702, tag, owner, clock),
- m_region(*this, DEVICE_SELF),
+cat702_device_base::cat702_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, type, tag, owner, clock),
m_select(1),
m_clock(1),
m_datain(1),
m_state(0),
m_bit(0),
- m_dataout_handler(*this)
+ m_dataout_handler(*this),
+ m_region(*this, DEVICE_SELF)
{
}
-void cat702_device::device_start()
+void cat702_device_base::device_start()
{
memset(m_transform, 0xff, sizeof(m_transform));
@@ -132,55 +135,70 @@ void cat702_device::device_start()
#if 0
static int c_linear(uint8_t x, uint8_t a)
{
- int i;
- uint8_t r;
x &= a;
- r = 0;
- for(i=0; i<8; i++)
- if(x & (1<> 7)^(r >> 6)) & 1);
- if(bit != 7)
+ uint8_t r = compute_sbox_coef((sel - 1) & 7, (bit - 1) & 7);
+ r = (r << 1) | (BIT(r, 7) ^ BIT(r, 6));
+ if (bit != 7)
return r;
return r ^ compute_sbox_coef(sel, 0);
}
// Apply the sbox for a input 0 bit
-void cat702_device::apply_bit_sbox(int sel)
+void cat702_device_base::apply_bit_sbox(int sel)
{
- int i;
uint8_t r = 0;
- for(i=0; i<8; i++)
- if(m_state & (1<> m_bit) & 1) != 0);
+ m_dataout_handler(BIT(m_state, m_bit));
}
if (state && !m_clock && !m_select)
@@ -220,14 +236,75 @@ void cat702_device::write_clock(int state)
if (!m_datain)
apply_bit_sbox(m_bit);
- m_bit++;
- m_bit&=7;
+ m_bit = (m_bit + 1) & 7;
}
m_clock = state;
}
-void cat702_device::write_datain(int state)
+
+///////////////
+
+cat702_piu_device::cat702_piu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ cat702_device_base(mconfig, CAT702_PIU, tag, owner, clock)
{
- m_datain = state;
+}
+
+void cat702_piu_device::write_select(int state)
+{
+ if (m_select != state)
+ {
+ if (!state)
+ {
+ m_state = 0xfc;
+ m_bit = 0;
+
+ apply_sbox(initial_sbox);
+ }
+ else
+ {
+ m_dataout_handler(1);
+ }
+
+ m_select = state;
+ }
+}
+
+void cat702_piu_device::write_clock(int state)
+{
+ /*
+ Pump It Up uses a CAT702 but accesses it directly and in a way that
+ seems conflicting with how the ZN uses it through the PS1's SIO.
+
+ This is the sequence performed with clock and data lines write and read data:
+ write unkbit 0
+ write unkbit 1
+ write select 0
+ loop for all bits that need to be transferred:
+ write clk = 0, data = x
+ write clk = x, data = 0/1
+ write clk = 1, data = x
+ read data
+ write select 1
+
+ Modifying the old code to work with PIU breaks ZN games.
+ */
+ if (state && !m_clock && !m_select)
+ {
+ // Compute the output and change the state
+ if (!m_datain)
+ apply_bit_sbox(m_bit);
+
+ m_bit = (m_bit + 1) & 7;
+
+ if (m_bit == 0)
+ {
+ // Apply the initial sbox
+ apply_sbox(initial_sbox);
+ }
+
+ m_dataout_handler(BIT(m_state, m_bit));
+ }
+
+ m_clock = state;
}
diff --git a/src/mame/sony/cat702.h b/src/devices/machine/cat702.h
similarity index 56%
rename from src/mame/sony/cat702.h
rename to src/devices/machine/cat702.h
index febddbc1d4540..306ca94abf5ec 100644
--- a/src/mame/sony/cat702.h
+++ b/src/devices/machine/cat702.h
@@ -2,37 +2,31 @@
// copyright-holders:smf
/* CAT702 security chip */
-#ifndef MAME_SONY_CAT702_H
-#define MAME_SONY_CAT702_H
+#ifndef MAME_MACHINE_CAT702_H
+#define MAME_MACHINE_CAT702_H
#pragma once
DECLARE_DEVICE_TYPE(CAT702, cat702_device)
+DECLARE_DEVICE_TYPE(CAT702_PIU, cat702_piu_device)
-class cat702_device : public device_t
+class cat702_device_base : public device_t
{
public:
- cat702_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
-
// configuration helpers
auto dataout_handler() { return m_dataout_handler.bind(); }
- void write_select(int state);
void write_datain(int state);
- void write_clock(int state);
protected:
+ cat702_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+
virtual void device_start() override;
-private:
- uint8_t compute_sbox_coef(int sel, int bit);
void apply_bit_sbox(int sel);
void apply_sbox(const uint8_t *sbox);
- optional_memory_region m_region;
- uint8_t m_transform[8];
-
int m_select;
int m_clock;
int m_datain;
@@ -40,6 +34,30 @@ class cat702_device : public device_t
uint8_t m_bit;
devcb_write_line m_dataout_handler;
+
+private:
+ uint8_t compute_sbox_coef(int sel, int bit);
+
+ optional_memory_region m_region;
+ uint8_t m_transform[8];
+};
+
+class cat702_device : public cat702_device_base
+{
+public:
+ cat702_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ void write_select(int state);
+ void write_clock(int state);
+};
+
+class cat702_piu_device : public cat702_device_base
+{
+public:
+ cat702_piu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ void write_select(int state);
+ void write_clock(int state);
};
-#endif // MAME_SONY_CAT702_H
+#endif // MAME_MACHINE_CAT702_H
diff --git a/src/devices/machine/i2cmem.cpp b/src/devices/machine/i2cmem.cpp
index 625ecb1cabe9c..1197eb00c0ca2 100644
--- a/src/devices/machine/i2cmem.cpp
+++ b/src/devices/machine/i2cmem.cpp
@@ -75,6 +75,8 @@ DEFINE_DEVICE_TYPE(I2C_X2404P, i2c_x2404p_device, "x2404p", "X2404P I2C Memor
DEFINE_DEVICE_TYPE(I2C_24C08, i2c_24c08_device, "24c08", "24C08 I2C Memory")
DEFINE_DEVICE_TYPE(I2C_24C16, i2c_24c16_device, "24c16", "24C16 I2C Memory")
DEFINE_DEVICE_TYPE(I2C_24C64, i2c_24c64_device, "24c64", "24C64 I2C Memory")
+DEFINE_DEVICE_TYPE(I2C_24C128, i2c_24c128_device, "24c128", "24C128 I2C Memory")
+DEFINE_DEVICE_TYPE(I2C_24C256, i2c_24c256_device, "24c256", "24C256 I2C Memory")
DEFINE_DEVICE_TYPE(I2C_24C512, i2c_24c512_device, "24c512", "24C512 I2C Memory")
//**************************************************************************
@@ -183,6 +185,16 @@ i2c_24c64_device::i2c_24c64_device(const machine_config &mconfig, const char *ta
{
}
+i2c_24c128_device::i2c_24c128_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ i2cmem_device(mconfig, I2C_24C128, tag, owner, clock, 0, 64, 0x4000)
+{
+}
+
+i2c_24c256_device::i2c_24c256_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ i2cmem_device(mconfig, I2C_24C256, tag, owner, clock, 0, 64, 0x8000)
+{
+}
+
i2c_24c512_device::i2c_24c512_device(const machine_config& mconfig, const char* tag, device_t* owner, uint32_t clock) :
i2cmem_device(mconfig, I2C_24C512, tag, owner, clock, 0, 128, 0x10000)
{
diff --git a/src/devices/machine/i2cmem.h b/src/devices/machine/i2cmem.h
index 07aebfa78ab0d..f907a96d1b159 100644
--- a/src/devices/machine/i2cmem.h
+++ b/src/devices/machine/i2cmem.h
@@ -115,9 +115,11 @@ DECLARE_I2C_DEVICE(x2404p);
DECLARE_I2C_DEVICE(24c08);
DECLARE_I2C_DEVICE(24c16);
DECLARE_I2C_DEVICE(24c64);
+DECLARE_I2C_DEVICE(24c128);
+DECLARE_I2C_DEVICE(24c256);
DECLARE_I2C_DEVICE(24c512);
-// device type definition
+// device type declaration
DECLARE_DEVICE_TYPE(I2C_X24C01, i2c_x24c01_device)
DECLARE_DEVICE_TYPE(I2C_24C01, i2c_24c01_device)
DECLARE_DEVICE_TYPE(I2C_PCF8570, i2c_pcf8570_device)
@@ -130,6 +132,8 @@ DECLARE_DEVICE_TYPE(I2C_X2404P, i2c_x2404p_device)
DECLARE_DEVICE_TYPE(I2C_24C08, i2c_24c08_device)
DECLARE_DEVICE_TYPE(I2C_24C16, i2c_24c16_device)
DECLARE_DEVICE_TYPE(I2C_24C64, i2c_24c64_device)
+DECLARE_DEVICE_TYPE(I2C_24C128, i2c_24c128_device)
+DECLARE_DEVICE_TYPE(I2C_24C256, i2c_24c256_device)
DECLARE_DEVICE_TYPE(I2C_24C512, i2c_24c512_device)
#endif // MAME_MACHINE_I2CMEM_H
diff --git a/src/devices/machine/intelfsh.cpp b/src/devices/machine/intelfsh.cpp
index 93f558b3d3c56..d4a417567e1d3 100644
--- a/src/devices/machine/intelfsh.cpp
+++ b/src/devices/machine/intelfsh.cpp
@@ -82,54 +82,56 @@ enum
//**************************************************************************
// device type definition
-DEFINE_DEVICE_TYPE(INTEL_28F016S5, intel_28f016s5_device, "intel_28f016s5", "Intel 28F016S5 Flash")
-DEFINE_DEVICE_TYPE(SHARP_LH28F016S, sharp_lh28f016s_device, "sharp_lh28f016s", "Sharp LH28F016S Flash")
-DEFINE_DEVICE_TYPE(SHARP_LH28F016S_16BIT, sharp_lh28f016s_16bit_device, "sharp_lh28f016s_16bit", "Sharp LH28F016S Flash (16-bit)")
-DEFINE_DEVICE_TYPE(ATMEL_29C010, atmel_29c010_device, "atmel_29c010", "Atmel 29C010 Flash")
-DEFINE_DEVICE_TYPE(AMD_29F010, amd_29f010_device, "amd_29f010", "AMD 29F010 Flash")
-DEFINE_DEVICE_TYPE(AMD_29F040, amd_29f040_device, "amd_29f040", "AMD 29F040 Flash")
-DEFINE_DEVICE_TYPE(AMD_29F080, amd_29f080_device, "amd_29f080", "AMD 29F080 Flash")
-DEFINE_DEVICE_TYPE(AMD_29F400T, amd_29f400t_device, "amd_29f400t", "AMD 29F400T Flash")
-DEFINE_DEVICE_TYPE(AMD_29F800T, amd_29f800t_device, "amd_29f800t", "AMD 29F800T Flash")
-DEFINE_DEVICE_TYPE(AMD_29F800B_16BIT, amd_29f800b_16bit_device, "amd_29f800b_16bit", "AMD 29F800B Flash (16-bit)")
-DEFINE_DEVICE_TYPE(AMD_29LV200T, amd_29lv200t_device, "amd_29lv200t", "AMD 29LV200T Flash")
-DEFINE_DEVICE_TYPE(FUJITSU_29F160TE, fujitsu_29f160te_device, "mbm29f160te", "Fujitsu MBM29F160TE Flash")
-DEFINE_DEVICE_TYPE(FUJITSU_29F160TE_16BIT,fujitsu_29f160te_16bit_device,"mbm29f160te_16bit", "Fujitsu MBM29F160TE Flash (16-bit)")
-DEFINE_DEVICE_TYPE(FUJITSU_29F016A, fujitsu_29f016a_device, "mbm29f016a", "Fujitsu MBM29F016A Flash")
-DEFINE_DEVICE_TYPE(FUJITSU_29DL164BD, fujitsu_29dl164bd_device, "mbm29dl164bd", "Fujitsu MBM29DL164BD Flash")
-DEFINE_DEVICE_TYPE(FUJITSU_29LV002TC, fujitsu_29lv002tc_device, "mbm29lv002tc", "Fujitsu MBM29LV002TC Flash")
-DEFINE_DEVICE_TYPE(FUJITSU_29LV800B, fujitsu_29lv800b_device, "mbm29lv800b", "Fujitsu MBM29LV800B Flash")
-DEFINE_DEVICE_TYPE(INTEL_E28F400B, intel_e28f400b_device, "intel_e28f400b", "Intel E28F400B Flash")
-DEFINE_DEVICE_TYPE(MACRONIX_29F008TC, macronix_29f008tc_device, "macronix_29f008tc", "Macronix 29F008TC Flash")
-DEFINE_DEVICE_TYPE(MACRONIX_29L001MC, macronix_29l001mc_device, "macronix_29l001mc", "Macronix 29L001MC Flash")
-DEFINE_DEVICE_TYPE(MACRONIX_29LV160TMC, macronix_29lv160tmc_device, "macronix_29lv160tmc", "Macronix 29LV160TMC Flash")
-DEFINE_DEVICE_TYPE(TMS_29F040, tms_29f040_device, "tms_29f040", "Texas Instruments 29F040 Flash")
-
-DEFINE_DEVICE_TYPE(PANASONIC_MN63F805MNP, panasonic_mn63f805mnp_device, "panasonic_mn63f805mnp", "Panasonic MN63F805MNP Flash")
-DEFINE_DEVICE_TYPE(SANYO_LE26FV10N1TS, sanyo_le26fv10n1ts_device, "sanyo_le26fv10n1ts", "Sanyo LE26FV10N1TS Flash")
-DEFINE_DEVICE_TYPE(SST_28SF040, sst_28sf040_device, "sst_28sf040", "SST 28SF040 Flash")
-DEFINE_DEVICE_TYPE(SST_39SF040, sst_39sf040_device, "sst_39sf040", "SST 39SF040 Flash")
-DEFINE_DEVICE_TYPE(SST_39VF020, sst_39vf020_device, "sst_39vf020", "SST 39VF020 Flash")
-DEFINE_DEVICE_TYPE(SST_49LF020, sst_49lf020_device, "sst_49lf020", "SST 49LF020 Flash")
-
-DEFINE_DEVICE_TYPE(SHARP_LH28F400, sharp_lh28f400_device, "sharp_lh28f400", "Sharp LH28F400 Flash")
-DEFINE_DEVICE_TYPE(INTEL_E28F008SA, intel_e28f008sa_device, "intel_e28f008sa", "Intel E28F008SA Flash")
-DEFINE_DEVICE_TYPE(INTEL_TE28F160, intel_te28f160_device, "intel_te28f160", "Intel TE28F160 Flash")
-DEFINE_DEVICE_TYPE(SHARP_LH28F160S3, sharp_lh28f160s3_device, "sharp_lh28f160s3", "Sharp LH28F160S3 Flash")
-DEFINE_DEVICE_TYPE(INTEL_TE28F320, intel_te28f320_device, "intel_te28f320", "Intel TE28F320 Flash")
-DEFINE_DEVICE_TYPE(SHARP_LH28F320BF, sharp_lh28f320bf_device, "sharp_lh28f320bf", "Sharp LH28F320BFHE-PBTL Flash")
-DEFINE_DEVICE_TYPE(INTEL_28F320J3D, intel_28f320j3d_device, "intel_28f320j3d", "Intel 28F320J3D Flash")
-DEFINE_DEVICE_TYPE(SPANSION_S29GL064S, spansion_s29gl064s_device, "spansion_s29gl064s", "Spansion / Cypress S29GL064S Flash")
-DEFINE_DEVICE_TYPE(INTEL_28F320J5, intel_28f320j5_device, "intel_28f320j5", "Intel 28F320J5 Flash")
-DEFINE_DEVICE_TYPE(INTEL_28F640J5, intel_28f640j5_device, "intel_28f640j5", "Intel 28F640J5 Flash")
-
-DEFINE_DEVICE_TYPE(SST_39VF400A, sst_39vf400a_device, "sst_39vf400a", "SST 39VF400A Flash")
-
-DEFINE_DEVICE_TYPE(ATMEL_49F4096, atmel_49f4096_device, "atmel_49f4096", "Atmel AT49F4096 Flash")
-
-DEFINE_DEVICE_TYPE(CAT28F020, cat28f020_device, "cat28f020", "CSI CAT28F020 Flash")
-
-DEFINE_DEVICE_TYPE(TC58FVT800, tc58fvt800_device, "tc58fvt800", "Toshiba TC58FVT800 Flash")
+DEFINE_DEVICE_TYPE(INTEL_28F016S5, intel_28f016s5_device, "intel_28f016s5", "Intel 28F016S5 Flash")
+DEFINE_DEVICE_TYPE(SHARP_LH28F016S, sharp_lh28f016s_device, "sharp_lh28f016s", "Sharp LH28F016S Flash")
+DEFINE_DEVICE_TYPE(SHARP_LH28F016S_16BIT, sharp_lh28f016s_16bit_device, "sharp_lh28f016s_16bit", "Sharp LH28F016S Flash (16-bit)")
+DEFINE_DEVICE_TYPE(ATMEL_29C010, atmel_29c010_device, "atmel_29c010", "Atmel 29C010 Flash")
+DEFINE_DEVICE_TYPE(AMD_29F010, amd_29f010_device, "amd_29f010", "AMD 29F010 Flash")
+DEFINE_DEVICE_TYPE(AMD_29F040, amd_29f040_device, "amd_29f040", "AMD 29F040 Flash")
+DEFINE_DEVICE_TYPE(AMD_29F080, amd_29f080_device, "amd_29f080", "AMD 29F080 Flash")
+DEFINE_DEVICE_TYPE(AMD_29F400T, amd_29f400t_device, "amd_29f400t", "AMD 29F400T Flash")
+DEFINE_DEVICE_TYPE(AMD_29F800T, amd_29f800t_device, "amd_29f800t", "AMD 29F800T Flash")
+DEFINE_DEVICE_TYPE(AMD_29F800B_16BIT, amd_29f800b_16bit_device, "amd_29f800b_16bit", "AMD 29F800B Flash (16-bit)")
+DEFINE_DEVICE_TYPE(AMD_29LV200T, amd_29lv200t_device, "amd_29lv200t", "AMD 29LV200T Flash")
+DEFINE_DEVICE_TYPE(FUJITSU_29F160TE, fujitsu_29f160te_device, "mbm29f160te", "Fujitsu MBM29F160TE Flash")
+DEFINE_DEVICE_TYPE(FUJITSU_29F160TE_16BIT, fujitsu_29f160te_16bit_device, "mbm29f160te_16bit", "Fujitsu MBM29F160TE Flash (16-bit)")
+DEFINE_DEVICE_TYPE(FUJITSU_29F016A, fujitsu_29f016a_device, "mbm29f016a", "Fujitsu MBM29F016A Flash")
+DEFINE_DEVICE_TYPE(FUJITSU_29DL164BD, fujitsu_29dl164bd_device, "mbm29dl164bd", "Fujitsu MBM29DL164BD Flash")
+DEFINE_DEVICE_TYPE(FUJITSU_29LV002TC, fujitsu_29lv002tc_device, "mbm29lv002tc", "Fujitsu MBM29LV002TC Flash")
+DEFINE_DEVICE_TYPE(FUJITSU_29LV800B, fujitsu_29lv800b_device, "mbm29lv800b", "Fujitsu MBM29LV800B Flash")
+DEFINE_DEVICE_TYPE(INTEL_E28F400B, intel_e28f400b_device, "intel_e28f400b", "Intel E28F400B Flash")
+DEFINE_DEVICE_TYPE(MACRONIX_29F008TC, macronix_29f008tc_device, "macronix_29f008tc", "Macronix 29F008TC Flash")
+DEFINE_DEVICE_TYPE(MACRONIX_29F1610MC, macronix_29f1610mc_device, "macronix_29f1610mc", "Macronix 29F1610MC Flash")
+DEFINE_DEVICE_TYPE(MACRONIX_29F1610MC_16BIT, macronix_29f1610mc_16bit_device, "macronix_29f1610mc_16bit", "Macronix 29F1610MC Flash (16-bit)")
+DEFINE_DEVICE_TYPE(MACRONIX_29L001MC, macronix_29l001mc_device, "macronix_29l001mc", "Macronix 29L001MC Flash")
+DEFINE_DEVICE_TYPE(MACRONIX_29LV160TMC, macronix_29lv160tmc_device, "macronix_29lv160tmc", "Macronix 29LV160TMC Flash")
+DEFINE_DEVICE_TYPE(TMS_29F040, tms_29f040_device, "tms_29f040", "Texas Instruments 29F040 Flash")
+
+DEFINE_DEVICE_TYPE(PANASONIC_MN63F805MNP, panasonic_mn63f805mnp_device, "panasonic_mn63f805mnp", "Panasonic MN63F805MNP Flash")
+DEFINE_DEVICE_TYPE(SANYO_LE26FV10N1TS, sanyo_le26fv10n1ts_device, "sanyo_le26fv10n1ts", "Sanyo LE26FV10N1TS Flash")
+DEFINE_DEVICE_TYPE(SST_28SF040, sst_28sf040_device, "sst_28sf040", "SST 28SF040 Flash")
+DEFINE_DEVICE_TYPE(SST_39SF040, sst_39sf040_device, "sst_39sf040", "SST 39SF040 Flash")
+DEFINE_DEVICE_TYPE(SST_39VF020, sst_39vf020_device, "sst_39vf020", "SST 39VF020 Flash")
+DEFINE_DEVICE_TYPE(SST_49LF020, sst_49lf020_device, "sst_49lf020", "SST 49LF020 Flash")
+
+DEFINE_DEVICE_TYPE(SHARP_LH28F400, sharp_lh28f400_device, "sharp_lh28f400", "Sharp LH28F400 Flash")
+DEFINE_DEVICE_TYPE(INTEL_E28F008SA, intel_e28f008sa_device, "intel_e28f008sa", "Intel E28F008SA Flash")
+DEFINE_DEVICE_TYPE(INTEL_TE28F160, intel_te28f160_device, "intel_te28f160", "Intel TE28F160 Flash")
+DEFINE_DEVICE_TYPE(SHARP_LH28F160S3, sharp_lh28f160s3_device, "sharp_lh28f160s3", "Sharp LH28F160S3 Flash")
+DEFINE_DEVICE_TYPE(INTEL_TE28F320, intel_te28f320_device, "intel_te28f320", "Intel TE28F320 Flash")
+DEFINE_DEVICE_TYPE(SHARP_LH28F320BF, sharp_lh28f320bf_device, "sharp_lh28f320bf", "Sharp LH28F320BFHE-PBTL Flash")
+DEFINE_DEVICE_TYPE(INTEL_28F320J3D, intel_28f320j3d_device, "intel_28f320j3d", "Intel 28F320J3D Flash")
+DEFINE_DEVICE_TYPE(SPANSION_S29GL064S, spansion_s29gl064s_device, "spansion_s29gl064s", "Spansion / Cypress S29GL064S Flash")
+DEFINE_DEVICE_TYPE(INTEL_28F320J5, intel_28f320j5_device, "intel_28f320j5", "Intel 28F320J5 Flash")
+DEFINE_DEVICE_TYPE(INTEL_28F640J5, intel_28f640j5_device, "intel_28f640j5", "Intel 28F640J5 Flash")
+
+DEFINE_DEVICE_TYPE(SST_39VF400A, sst_39vf400a_device, "sst_39vf400a", "SST 39VF400A Flash")
+
+DEFINE_DEVICE_TYPE(ATMEL_49F4096, atmel_49f4096_device, "atmel_49f4096", "Atmel AT49F4096 Flash")
+
+DEFINE_DEVICE_TYPE(CAT28F020, cat28f020_device, "cat28f020", "CSI CAT28F020 Flash")
+
+DEFINE_DEVICE_TYPE(TC58FVT800, tc58fvt800_device, "tc58fvt800", "Toshiba TC58FVT800 Flash")
@@ -236,6 +238,12 @@ intel_e28f008sa_device::intel_e28f008sa_device(const machine_config &mconfig, co
macronix_29f008tc_device::macronix_29f008tc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: intelfsh8_device(mconfig, MACRONIX_29F008TC, tag, owner, clock, 0x100000, MFG_MACRONIX, 0x81) { m_sector_is_4k = true; }
+macronix_29f1610mc_device::macronix_29f1610mc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : intelfsh8_device(mconfig, MACRONIX_29F1610MC, tag, owner, clock, 0x200000, MFG_MACRONIX, 0xfa) { }
+
+macronix_29f1610mc_16bit_device::macronix_29f1610mc_16bit_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : intelfsh16_device(mconfig, MACRONIX_29F1610MC_16BIT, tag, owner, clock, 0x100000, MFG_MACRONIX, 0xfa) { }
+
macronix_29l001mc_device::macronix_29l001mc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: intelfsh8_device(mconfig, MACRONIX_29L001MC, tag, owner, clock, 0x20000, MFG_MACRONIX, 0x51) { }
diff --git a/src/devices/machine/intelfsh.h b/src/devices/machine/intelfsh.h
index 168b5e7baa0bd..9f17487c6be53 100644
--- a/src/devices/machine/intelfsh.h
+++ b/src/devices/machine/intelfsh.h
@@ -136,12 +136,6 @@ class fujitsu_29lv002tc_device : public intelfsh8_device
fujitsu_29lv002tc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
};
-class fujitsu_29lv800b_device : public intelfsh16_device
-{
-public:
- fujitsu_29lv800b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
-};
-
class atmel_29c010_device : public intelfsh8_device
{
public:
@@ -178,12 +172,6 @@ class amd_29f800t_device : public intelfsh8_device
amd_29f800t_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
};
-class amd_29f800b_16bit_device : public intelfsh16_device
-{
-public:
- amd_29f800b_16bit_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
-};
-
class amd_29lv200t_device : public intelfsh8_device
{
public:
@@ -196,12 +184,6 @@ class sharp_lh28f016s_device : public intelfsh8_device
sharp_lh28f016s_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
};
-class sharp_lh28f016s_16bit_device : public intelfsh16_device
-{
-public:
- sharp_lh28f016s_16bit_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
-};
-
class intel_e28f008sa_device : public intelfsh8_device
{
public:
@@ -214,6 +196,12 @@ class macronix_29f008tc_device : public intelfsh8_device
macronix_29f008tc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
};
+class macronix_29f1610mc_device : public intelfsh8_device
+{
+public:
+ macronix_29f1610mc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+};
+
class macronix_29l001mc_device : public intelfsh8_device
{
public:
@@ -268,6 +256,12 @@ class tms_29f040_device : public intelfsh8_device
tms_29f040_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
};
+class cat28f020_device : public intelfsh8_device
+{
+public:
+ cat28f020_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+};
+
// 16-bit variants
class fujitsu_29f160te_16bit_device : public intelfsh16_device
{
@@ -347,63 +341,83 @@ class atmel_49f4096_device : public intelfsh16_device
atmel_49f4096_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
};
-class cat28f020_device : public intelfsh8_device
+class tc58fvt800_device : public intelfsh16_device
{
public:
- cat28f020_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ tc58fvt800_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
};
-class tc58fvt800_device : public intelfsh16_device
+class fujitsu_29lv800b_device : public intelfsh16_device
{
public:
- tc58fvt800_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+ fujitsu_29lv800b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+};
+
+class amd_29f800b_16bit_device : public intelfsh16_device
+{
+public:
+ amd_29f800b_16bit_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+};
+
+class sharp_lh28f016s_16bit_device : public intelfsh16_device
+{
+public:
+ sharp_lh28f016s_16bit_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+};
+
+class macronix_29f1610mc_16bit_device : public intelfsh16_device
+{
+public:
+ macronix_29f1610mc_16bit_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
};
// device type definition
-DECLARE_DEVICE_TYPE(INTEL_28F016S5, intel_28f016s5_device)
-DECLARE_DEVICE_TYPE(SHARP_LH28F016S, sharp_lh28f016s_device)
-DECLARE_DEVICE_TYPE(SHARP_LH28F016S_16BIT, sharp_lh28f016s_16bit_device)
-DECLARE_DEVICE_TYPE(ATMEL_29C010, atmel_29c010_device)
-DECLARE_DEVICE_TYPE(AMD_29F010, amd_29f010_device)
-DECLARE_DEVICE_TYPE(AMD_29F040, amd_29f040_device)
-DECLARE_DEVICE_TYPE(AMD_29F080, amd_29f080_device)
-DECLARE_DEVICE_TYPE(AMD_29F400T, amd_29f400t_device)
-DECLARE_DEVICE_TYPE(AMD_29F800T, amd_29f800t_device)
-DECLARE_DEVICE_TYPE(AMD_29F800B_16BIT, amd_29f800b_16bit_device)
-DECLARE_DEVICE_TYPE(AMD_29LV200T, amd_29lv200t_device)
-DECLARE_DEVICE_TYPE(FUJITSU_29F160TE, fujitsu_29f160te_device)
-DECLARE_DEVICE_TYPE(FUJITSU_29F160TE_16BIT,fujitsu_29f160te_16bit_device)
-DECLARE_DEVICE_TYPE(FUJITSU_29F016A, fujitsu_29f016a_device)
-DECLARE_DEVICE_TYPE(FUJITSU_29DL164BD, fujitsu_29dl164bd_device)
-DECLARE_DEVICE_TYPE(FUJITSU_29LV002TC, fujitsu_29lv002tc_device)
-DECLARE_DEVICE_TYPE(FUJITSU_29LV800B, fujitsu_29lv800b_device)
-DECLARE_DEVICE_TYPE(INTEL_E28F400B, intel_e28f400b_device)
-DECLARE_DEVICE_TYPE(MACRONIX_29F008TC, macronix_29f008tc_device)
-DECLARE_DEVICE_TYPE(MACRONIX_29L001MC, macronix_29l001mc_device)
-DECLARE_DEVICE_TYPE(MACRONIX_29LV160TMC, macronix_29lv160tmc_device)
-DECLARE_DEVICE_TYPE(TMS_29F040, tms_29f040_device)
-
-DECLARE_DEVICE_TYPE(PANASONIC_MN63F805MNP, panasonic_mn63f805mnp_device)
-DECLARE_DEVICE_TYPE(SANYO_LE26FV10N1TS, sanyo_le26fv10n1ts_device)
-DECLARE_DEVICE_TYPE(SST_28SF040, sst_28sf040_device)
-DECLARE_DEVICE_TYPE(SST_39SF040, sst_39sf040_device)
-DECLARE_DEVICE_TYPE(SST_39VF020, sst_39vf020_device)
-DECLARE_DEVICE_TYPE(SST_49LF020, sst_49lf020_device)
-
-DECLARE_DEVICE_TYPE(SHARP_LH28F400, sharp_lh28f400_device)
-DECLARE_DEVICE_TYPE(INTEL_E28F008SA, intel_e28f008sa_device)
-DECLARE_DEVICE_TYPE(INTEL_TE28F160, intel_te28f160_device)
-DECLARE_DEVICE_TYPE(SHARP_LH28F160S3, sharp_lh28f160s3_device)
-DECLARE_DEVICE_TYPE(INTEL_TE28F320, intel_te28f320_device)
-DECLARE_DEVICE_TYPE(SPANSION_S29GL064S, spansion_s29gl064s_device)
-DECLARE_DEVICE_TYPE(SHARP_LH28F320BF, sharp_lh28f320bf_device)
-DECLARE_DEVICE_TYPE(INTEL_28F320J3D, intel_28f320j3d_device)
-DECLARE_DEVICE_TYPE(INTEL_28F320J5, intel_28f320j5_device)
-DECLARE_DEVICE_TYPE(INTEL_28F640J5, intel_28f640j5_device)
-DECLARE_DEVICE_TYPE(SST_39VF400A, sst_39vf400a_device)
-DECLARE_DEVICE_TYPE(ATMEL_49F4096, atmel_49f4096_device)
-DECLARE_DEVICE_TYPE(CAT28F020, cat28f020_device)
-DECLARE_DEVICE_TYPE(TC58FVT800, tc58fvt800_device)
+DECLARE_DEVICE_TYPE(INTEL_28F016S5, intel_28f016s5_device)
+DECLARE_DEVICE_TYPE(SHARP_LH28F016S, sharp_lh28f016s_device)
+DECLARE_DEVICE_TYPE(SHARP_LH28F016S_16BIT, sharp_lh28f016s_16bit_device)
+DECLARE_DEVICE_TYPE(ATMEL_29C010, atmel_29c010_device)
+DECLARE_DEVICE_TYPE(AMD_29F010, amd_29f010_device)
+DECLARE_DEVICE_TYPE(AMD_29F040, amd_29f040_device)
+DECLARE_DEVICE_TYPE(AMD_29F080, amd_29f080_device)
+DECLARE_DEVICE_TYPE(AMD_29F400T, amd_29f400t_device)
+DECLARE_DEVICE_TYPE(AMD_29F800T, amd_29f800t_device)
+DECLARE_DEVICE_TYPE(AMD_29F800B_16BIT, amd_29f800b_16bit_device)
+DECLARE_DEVICE_TYPE(AMD_29LV200T, amd_29lv200t_device)
+DECLARE_DEVICE_TYPE(FUJITSU_29F160TE, fujitsu_29f160te_device)
+DECLARE_DEVICE_TYPE(FUJITSU_29F160TE_16BIT, fujitsu_29f160te_16bit_device)
+DECLARE_DEVICE_TYPE(FUJITSU_29F016A, fujitsu_29f016a_device)
+DECLARE_DEVICE_TYPE(FUJITSU_29DL164BD, fujitsu_29dl164bd_device)
+DECLARE_DEVICE_TYPE(FUJITSU_29LV002TC, fujitsu_29lv002tc_device)
+DECLARE_DEVICE_TYPE(FUJITSU_29LV800B, fujitsu_29lv800b_device)
+DECLARE_DEVICE_TYPE(INTEL_E28F400B, intel_e28f400b_device)
+DECLARE_DEVICE_TYPE(MACRONIX_29F008TC, macronix_29f008tc_device)
+DECLARE_DEVICE_TYPE(MACRONIX_29F1610MC, macronix_29f1610mc_device)
+DECLARE_DEVICE_TYPE(MACRONIX_29F1610MC_16BIT,macronix_29f1610mc_16bit_device)
+DECLARE_DEVICE_TYPE(MACRONIX_29L001MC, macronix_29l001mc_device)
+DECLARE_DEVICE_TYPE(MACRONIX_29LV160TMC, macronix_29lv160tmc_device)
+DECLARE_DEVICE_TYPE(TMS_29F040, tms_29f040_device)
+
+DECLARE_DEVICE_TYPE(PANASONIC_MN63F805MNP, panasonic_mn63f805mnp_device)
+DECLARE_DEVICE_TYPE(SANYO_LE26FV10N1TS, sanyo_le26fv10n1ts_device)
+DECLARE_DEVICE_TYPE(SST_28SF040, sst_28sf040_device)
+DECLARE_DEVICE_TYPE(SST_39SF040, sst_39sf040_device)
+DECLARE_DEVICE_TYPE(SST_39VF020, sst_39vf020_device)
+DECLARE_DEVICE_TYPE(SST_49LF020, sst_49lf020_device)
+
+DECLARE_DEVICE_TYPE(SHARP_LH28F400, sharp_lh28f400_device)
+DECLARE_DEVICE_TYPE(INTEL_E28F008SA, intel_e28f008sa_device)
+DECLARE_DEVICE_TYPE(INTEL_TE28F160, intel_te28f160_device)
+DECLARE_DEVICE_TYPE(SHARP_LH28F160S3, sharp_lh28f160s3_device)
+DECLARE_DEVICE_TYPE(INTEL_TE28F320, intel_te28f320_device)
+DECLARE_DEVICE_TYPE(SPANSION_S29GL064S, spansion_s29gl064s_device)
+DECLARE_DEVICE_TYPE(SHARP_LH28F320BF, sharp_lh28f320bf_device)
+DECLARE_DEVICE_TYPE(INTEL_28F320J3D, intel_28f320j3d_device)
+DECLARE_DEVICE_TYPE(INTEL_28F320J5, intel_28f320j5_device)
+DECLARE_DEVICE_TYPE(INTEL_28F640J5, intel_28f640j5_device)
+DECLARE_DEVICE_TYPE(SST_39VF400A, sst_39vf400a_device)
+DECLARE_DEVICE_TYPE(ATMEL_49F4096, atmel_49f4096_device)
+DECLARE_DEVICE_TYPE(CAT28F020, cat28f020_device)
+DECLARE_DEVICE_TYPE(TC58FVT800, tc58fvt800_device)
#endif // MAME_MACHINE_INTELFSH_H
diff --git a/src/devices/machine/spi_sdcard.cpp b/src/devices/machine/spi_sdcard.cpp
index 4fc97be27736c..e0da9b8c63f87 100644
--- a/src/devices/machine/spi_sdcard.cpp
+++ b/src/devices/machine/spi_sdcard.cpp
@@ -136,28 +136,17 @@ void spi_sdcard_device::latch_in()
if (m_cur_bit == 8)
{
LOGMASKED(LOG_SPI, "SDCARD: got %02x\n", m_in_latch);
- for (u8 i = 0; i < 5; i++)
+ if (m_state == SD_STATE_WRITE_WAITFE)
{
- m_cmd[i] = m_cmd[i + 1];
- }
- m_cmd[5] = m_in_latch;
-
- switch (m_state)
- {
- case SD_STATE_IDLE:
- do_command();
- break;
-
- case SD_STATE_WRITE_WAITFE:
if (m_in_latch == 0xfe)
{
m_state = SD_STATE_WRITE_DATA;
m_out_latch = 0xff;
m_write_ptr = 0;
}
- break;
-
- case SD_STATE_WRITE_DATA:
+ }
+ else if (m_state == SD_STATE_WRITE_DATA)
+ {
m_data[m_write_ptr++] = m_in_latch;
if (m_write_ptr == (m_blksize + 2))
{
@@ -174,26 +163,28 @@ void spi_sdcard_device::latch_in()
send_data(2, SD_STATE_IDLE);
}
- break;
+ }
+ else // receive CMD
+ {
+ std::memmove(m_cmd, m_cmd + 1, 5);
+ m_cmd[5] = m_in_latch;
- case SD_STATE_DATA_MULTI:
- do_command();
- if (m_state == SD_STATE_DATA_MULTI && m_out_count == 0)
+ if (m_state == SD_STATE_DATA_MULTI)
{
- m_data[0] = 0xfe; // data token
- m_image->read(m_blknext++, &m_data[1]);
- util::crc16_t crc16 = util::crc16_creator::simple(&m_data[1], m_blksize);
- put_u16be(&m_data[m_blksize + 1], crc16);
- send_data(1 + m_blksize + 2, SD_STATE_DATA_MULTI);
+ do_command();
+ if (m_state == SD_STATE_DATA_MULTI && m_out_count == 0)
+ {
+ m_data[0] = 0xfe; // data token
+ m_image->read(m_blknext++, &m_data[1]);
+ util::crc16_t crc16 = util::crc16_creator::simple(&m_data[1], m_blksize);
+ put_u16be(&m_data[m_blksize + 1], crc16);
+ send_data(1 + m_blksize + 2, SD_STATE_DATA_MULTI);
+ }
}
- break;
-
- default:
- if (((m_cmd[0] & 0x70) == 0x40) || (m_out_count == 0)) // CMD0 - GO_IDLE_STATE
+ else if ((m_state == SD_STATE_IDLE) || (((m_cmd[0] & 0x70) == 0x40) || (m_out_count == 0))) // CMD0 - GO_IDLE_STATE
{
do_command();
}
- break;
}
}
}
@@ -445,28 +436,16 @@ void spi_sdcard_device::do_command()
break;
default:
- LOGMASKED(LOG_COMMAND, "SDCARD: Unsupported %02x\n", m_cmd[0] & 0x3f);
+ LOGMASKED(LOG_COMMAND, "SDCARD: Unsupported CMD%02d\n", m_cmd[0] & 0x3f);
clean_cmd = false;
break;
}
// if this is command 55, that's a prefix indicating the next command is an "app command" or "ACMD"
- if ((m_cmd[0] & 0x3f) == 55)
- {
- m_bACMD = true;
- }
- else
- {
- m_bACMD = false;
- }
+ m_bACMD = (m_cmd[0] & 0x3f) == 55;
if (clean_cmd)
- {
- for (u8 i = 0; i < 6; i++)
- {
- m_cmd[i] = 0xff;
- }
- }
+ memset(m_cmd, 0xff, 6);
}
}
diff --git a/src/devices/sound/dac3350a.cpp b/src/devices/sound/dac3350a.cpp
new file mode 100644
index 0000000000000..77e91650a6445
--- /dev/null
+++ b/src/devices/sound/dac3350a.cpp
@@ -0,0 +1,332 @@
+// license:BSD-3-Clause
+// copyright-holders:windyfairy
+/*
+ Micronas DAC 3550A Stereo Audio DAC
+ i2c code based on mas3507d
+
+ Accepts 8-bit and 16-bit I2C write operations and has no read operations
+*/
+
+#include "emu.h"
+#include "dac3350a.h"
+
+#define VERBOSE (LOG_GENERAL)
+
+#include "logmacro.h"
+
+enum
+{
+ CMD_DEV_WRITE = 0x9a,
+};
+
+enum
+{
+ IDLE = 0,
+ STARTED,
+ NAK,
+ ACK,
+ ACK2,
+};
+
+enum
+{
+ UNKNOWN = 0,
+ VALIDATED,
+ WRONG,
+};
+
+enum
+{
+ REG_UNKNOWN = 0,
+ REG_SR = 1,
+ REG_AVOL,
+ REG_GCFG,
+};
+
+enum
+{
+ // sample rate control register
+ SR_LR_SEL_BIT = 4, // L/R-bit
+ SR_LR_SEL_LEFT = 0, // (WSI = 0 -> left channel
+ SR_LR_SEL_RIGHT = 1, // (WSI = 0 -> right channel
+
+ SR_SP_SEL_BIT = 3, // delay bit
+ SR_SP_SEL_NO_DELAY = 0,
+ SR_SP_SEL_1_BIT_DELAY = 1,
+
+ SR_SRC_BIT = 0, // 3 bits wide, sample rate control
+ SR_SRC_48 = 0, // 32-48 kHz
+ SR_SRC_32, // 26-32 kHz
+ SR_SRC_24, // 20-26 kHz
+ SR_SRC_16, // 14-20 kHz
+ SR_SRC_12, // 10-14 kHz
+ SR_SRC_8, // 8-10 kHz
+ SR_SRC_A, // autoselect
+};
+
+enum
+{
+ // analog volume register
+ AVOL_DEEM_BIT = 14, // deemphasis on/off
+ AVOL_DEEM_OFF = 0,
+ AVOL_DEEM_ON = 1,
+
+ AVOL_L_BIT = 8, // 6 bits wide, analog audio volume level left
+ AVOL_R_BIT = 0, // 6 bits wide, analog audio volume level right
+};
+
+enum
+{
+ // global configuration register
+ GCFG_SEL_53V_BIT = 6, // select 3V-5V mode
+ GCFG_SEL_53V_3V = 0,
+ GCFG_SEL_53V_5V = 1,
+
+ GCFG_PWMD_BIT = 5, // power-mode
+ GCFG_PWMD_NORMAL = 0,
+ GCFG_PWMD_LOW_POWER = 1,
+
+ GCFG_INSEL_AUX2_BIT = 4, // AUX2 select
+ GCFG_INSEL_AUX2_OFF = 0,
+ GCFG_INSEL_AUX2_ON = 1,
+
+ GCFG_INSEL_AUX1_BIT = 3, // AUX1 select
+ GCFG_INSEL_AUX1_OFF = 0,
+ GCFG_INSEL_AUX1_ON = 1,
+
+ GCFG_INSEL_DAC_BIT = 2, // DAC select
+ GCFG_INSEL_DAC_OFF = 0,
+ GCFG_INSEL_DAC_ON = 1,
+
+ GCFG_AUX_MS_BIT = 1, // aux-mono/stereo
+ GCFG_AUX_MS_STEREO = 0,
+ GCFG_AUX_MS_MONO = 1,
+
+ GCFG_IPRA_BIT = 0, // invert right power amplifier
+ GCFG_IPRA_NOT_INVERTED = 0,
+ GCFG_IPRA_INVERTED = 1,
+};
+
+
+DEFINE_DEVICE_TYPE(DAC3350A, dac3350a_device, "dac3350a", "Micronas DAC 3550A Stereo Audio DAC")
+
+dac3350a_device::dac3350a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, DAC3350A, tag, owner, clock)
+ , device_sound_interface(mconfig, *this)
+{
+}
+
+void dac3350a_device::device_start()
+{
+ // TODO: use configured clock for sample rate and respond to device_clock_changed
+ m_stream = stream_alloc(2, 2, 44100);
+
+ save_item(NAME(m_i2c_bus_state));
+ save_item(NAME(m_i2c_bus_address));
+ save_item(NAME(m_i2c_scli));
+ save_item(NAME(m_i2c_sdai));
+ save_item(NAME(m_i2c_bus_curbit));
+ save_item(NAME(m_i2c_bus_curval));
+ save_item(NAME(m_i2c_bytecount));
+
+ save_item(NAME(m_i2c_subadr));
+ save_item(NAME(m_i2c_data));
+
+ save_item(NAME(m_dac_enable));
+ save_item(NAME(m_volume));
+}
+
+void dac3350a_device::device_reset()
+{
+ m_i2c_scli = m_i2c_sdai = 1;
+ m_i2c_bus_state = IDLE;
+ m_i2c_bus_address = UNKNOWN;
+ m_i2c_bus_curbit = -1;
+ m_i2c_bus_curval = 0;
+
+ m_i2c_subadr = 0;
+ m_i2c_data = 0;
+
+ m_dac_enable = true;
+
+ std::fill(std::begin(m_volume), std::end(m_volume), 1.0);
+}
+
+void dac3350a_device::i2c_scl_w(int line)
+{
+ if (line == m_i2c_scli)
+ return;
+
+ m_i2c_scli = line;
+
+ if (m_i2c_scli)
+ {
+ if (m_i2c_bus_state == STARTED)
+ {
+ m_i2c_bus_curval |= m_i2c_sdai << m_i2c_bus_curbit;
+ m_i2c_bus_curbit--;
+
+ if (m_i2c_bus_curbit == -1)
+ {
+ if (m_i2c_bus_address == UNKNOWN)
+ {
+ if (m_i2c_bus_curval == CMD_DEV_WRITE)
+ {
+ m_i2c_bus_state = ACK;
+ m_i2c_bus_address = VALIDATED;
+ m_i2c_bus_curval = 0;
+ }
+ else
+ {
+ m_i2c_bus_state = NAK;
+ m_i2c_bus_address = WRONG;
+ }
+ }
+ else if (m_i2c_bus_address == VALIDATED)
+ {
+ if (m_i2c_bytecount < 3)
+ {
+ m_i2c_bus_state = ACK;
+
+ if (m_i2c_bytecount == 0)
+ {
+ m_i2c_subadr = m_i2c_bus_curval;
+ }
+ else
+ {
+ m_i2c_data <<= 8;
+ m_i2c_data |= m_i2c_bus_curval;
+ }
+
+ m_i2c_bytecount++;
+ }
+ else
+ {
+ // Only accept 8-bit and 16-bit writes
+ m_i2c_bus_state = NAK;
+ }
+ }
+ }
+ }
+ else if (m_i2c_bus_state == ACK)
+ {
+ m_i2c_bus_state = ACK2;
+ }
+ }
+ else
+ {
+ if (m_i2c_bus_state == ACK2)
+ {
+ m_i2c_bus_state = STARTED;
+ m_i2c_bus_curbit = 7;
+ m_i2c_bus_curval = 0;
+ }
+ }
+}
+
+void dac3350a_device::i2c_sda_w(int line)
+{
+ if (line == m_i2c_sdai)
+ return;
+
+ m_i2c_sdai = line;
+
+ if (m_i2c_scli)
+ {
+ if (m_i2c_sdai)
+ i2c_device_handle_write();
+
+ m_i2c_bus_state = m_i2c_sdai ? IDLE : STARTED;
+ m_i2c_bus_address = UNKNOWN;
+ m_i2c_bus_curbit = 7;
+ m_i2c_bus_curval = 0;
+ }
+}
+
+void dac3350a_device::i2c_device_handle_write()
+{
+ const auto bytecount = m_i2c_bytecount;
+
+ m_i2c_bytecount = 0;
+
+ if (bytecount < 2) // not a valid command, ignore
+ return;
+
+ // const int mcs = BIT(m_i2c_subadr, 6, 2); // chip select, 3 = MPEG mode
+ const int reg_adr = BIT(m_i2c_subadr, 0, 2);
+
+ if (reg_adr == REG_SR)
+ {
+ // sample rate control
+ const int sample_rate = BIT(m_i2c_data, SR_SRC_BIT, 3);
+ const int delay = BIT(m_i2c_data, SR_SP_SEL_BIT);
+ const int lr = BIT(m_i2c_data, SR_LR_SEL_BIT);
+
+ LOG("DAC: SR register %d %d %d\n", sample_rate, delay, lr);
+ }
+ else if (reg_adr == REG_AVOL)
+ {
+ // set volume, requires 2 bytes
+ if (bytecount <= 2)
+ logerror("AVOL command requires 2 bytes of data, found %d\n", bytecount);
+
+ const int vol_r = BIT(m_i2c_data, AVOL_R_BIT, 6);
+ const int vol_l = BIT(m_i2c_data, AVOL_L_BIT, 6);
+ const int deemph = BIT(m_i2c_data, AVOL_DEEM_BIT);
+
+ m_volume[0] = calculate_volume(vol_l);
+ m_volume[1] = calculate_volume(vol_r);
+
+ LOG("DAC: AVOL register %d %d %d (%f %f)\n", vol_r, vol_l, deemph, m_volume[0], m_volume[1]);
+ }
+ else if (reg_adr == REG_GCFG)
+ {
+ // global configuration
+ const int ipra = BIT(m_i2c_data, GCFG_IPRA_BIT);
+ const int aux_ms = BIT(m_i2c_data, GCFG_AUX_MS_BIT);
+ const int insel_dac = BIT(m_i2c_data, GCFG_INSEL_DAC_BIT);
+ const int insel_aux1 = BIT(m_i2c_data, GCFG_INSEL_AUX1_BIT);
+ const int insel_aux2 = BIT(m_i2c_data, GCFG_INSEL_AUX2_BIT);
+ const int pwmd = BIT(m_i2c_data, GCFG_PWMD_BIT);
+ const int sel_53v = BIT(m_i2c_data, GCFG_SEL_53V_BIT);
+
+ LOG("DAC: GCFG register %d %d %d %d %d %d %d\n", ipra, aux_ms, insel_dac, insel_aux1, insel_aux2, pwmd, sel_53v);
+ }
+ else
+ {
+ LOG("DAC: Unknown register selected! %d\n", reg_adr);
+ }
+}
+
+float dac3350a_device::calculate_volume(int val)
+{
+ if (val == 0)
+ return 0.0; // mute
+
+ double db = 0;
+ if (val <= 7)
+ {
+ // -75 dB ... -54 dB: 3 dB steps
+ db = -54 - ((8 - val) * 3);
+ }
+ else
+ {
+ // -54 dB ... +18 dB: 1.5 dB steps
+ db = -54 + ((val - 8) * 1.5);
+ }
+
+ db = std::clamp(db, -75.0, 18.0); // range is +18 dB to -75 dB
+
+ return powf(10.0, db / 20.0);
+}
+
+void dac3350a_device::sound_stream_update(sound_stream &stream, std::vector const &inputs, std::vector &outputs)
+{
+ const stream_buffer::sample_t enable_scale = m_dac_enable ? 1.0 : 0.0;
+
+ for (int channel = 0; channel < 2 && channel < outputs.size(); channel++)
+ {
+ for (int sampindex = 0; sampindex < outputs[channel].samples(); sampindex++)
+ outputs[channel].put(sampindex, inputs[channel].get(sampindex) * enable_scale * m_volume[channel]);
+ }
+}
diff --git a/src/devices/sound/dac3350a.h b/src/devices/sound/dac3350a.h
new file mode 100644
index 0000000000000..59e5bc90ea7b2
--- /dev/null
+++ b/src/devices/sound/dac3350a.h
@@ -0,0 +1,46 @@
+// license:BSD-3-Clause
+// copyright-holders:windyfairy
+#ifndef MAME_SOUND_DAC3350A_H
+#define MAME_SOUND_DAC3350A_H
+
+#pragma once
+
+class dac3350a_device : public device_t, public device_sound_interface
+{
+public:
+ dac3350a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+
+ void i2c_scl_w(int line);
+ void i2c_sda_w(int line);
+
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ virtual void sound_stream_update(sound_stream &stream, std::vector const &inputs, std::vector &outputs) override;
+
+private:
+ void i2c_device_handle_write();
+ float calculate_volume(int val);
+
+ sound_stream *m_stream;
+
+ uint8_t m_i2c_bus_state;
+ uint8_t m_i2c_bus_address;
+
+ uint8_t m_i2c_scli, m_i2c_sdai;
+ int32_t m_i2c_bus_curbit;
+ uint8_t m_i2c_bus_curval;
+ uint32_t m_i2c_bytecount;
+
+ uint8_t m_i2c_subadr;
+ uint16_t m_i2c_data;
+
+ bool m_dac_enable;
+
+ float m_volume[2];
+};
+
+DECLARE_DEVICE_TYPE(DAC3350A, dac3350a_device)
+
+#endif // MAME_SOUND_DAC3350A_H
diff --git a/src/devices/sound/mas3507d.cpp b/src/devices/sound/mas3507d.cpp
index 3780dd4e79242..25f9d2ab1af5c 100644
--- a/src/devices/sound/mas3507d.cpp
+++ b/src/devices/sound/mas3507d.cpp
@@ -80,7 +80,6 @@ void mas3507d_device::device_start()
save_item(NAME(i2c_io_count));
save_item(NAME(i2c_io_val));
save_item(NAME(i2c_sdao_data));
- save_item(NAME(playback_status));
save_item(NAME(frame_channels));
@@ -95,9 +94,15 @@ void mas3507d_device::device_reset()
i2c_bus_address = UNKNOWN;
i2c_bus_curbit = -1;
i2c_bus_curval = 0;
+ i2c_bytecount = 0;
+ i2c_io_bank = 0;
+ i2c_io_adr = 0;
+ i2c_io_count = 0;
+ i2c_io_val = 0;
+ i2c_sdao_data = 0;
is_muted = false;
- gain_ll = gain_rr = 0;
+ gain_ll = gain_rr = 1.0;
frame_channels = 2;
@@ -344,7 +349,8 @@ int mas3507d_device::gain_to_db(double val) {
return round(20 * log10((0x100000 - val) / 0x80000));
}
-float mas3507d_device::gain_to_percentage(int val) {
+float mas3507d_device::gain_to_percentage(int val)
+{
if(val == 0)
return 0; // Special case for muting it seems
@@ -362,10 +368,6 @@ void mas3507d_device::mem_write(int bank, uint32_t adr, uint32_t val)
case 0x107f8:
gain_ll = gain_to_percentage(val);
LOGCONFIG("MAS3507D: left->left gain = %05x (%d dB, %f%%)\n", val, gain_to_db(val), gain_ll);
-
- if(!is_muted) {
- set_output_gain(0, gain_ll);
- }
break;
case 0x107f9:
LOGCONFIG("MAS3507D: left->right gain = %05x (%d dB, %f%%)\n", val, gain_to_db(val), gain_to_percentage(val));
@@ -376,10 +378,6 @@ void mas3507d_device::mem_write(int bank, uint32_t adr, uint32_t val)
case 0x107fb:
gain_rr = gain_to_percentage(val);
LOGCONFIG("MAS3507D: right->right gain = %05x (%d dB, %f%%)\n", val, gain_to_db(val), gain_rr);
-
- if(!is_muted) {
- set_output_gain(1, gain_rr);
- }
break;
default: LOGCONFIG("MAS3507D: %d:%04x = %05x\n", bank, adr, val); break;
}
@@ -391,8 +389,7 @@ void mas3507d_device::reg_write(uint32_t adr, uint32_t val)
case 0x8e: LOGCONFIG("MAS3507D: DCCF = %05x\n", val); break;
case 0xaa:
LOGCONFIG("MAS3507D: Mute/bypass = %05x\n", val);
- set_output_gain(0, val == 1 ? 0 : gain_ll);
- set_output_gain(1, val == 1 ? 0 : gain_rr);
+ is_muted = val == 1;
break;
case 0xe6: LOGCONFIG("MAS3507D: StartupConfig = %05x\n", val); break;
case 0xe7: LOGCONFIG("MAS3507D: Kprescale = %05x\n", val); break;
@@ -437,7 +434,7 @@ void mas3507d_device::fill_buffer()
mp3data_count--;
}
- cb_demand(mp3data_count < mp3data.size());
+ cb_demand(1); // always request more data when nothing could be decoded to force potentially stale data out of the buffer
return;
}
@@ -454,15 +451,17 @@ void mas3507d_device::fill_buffer()
void mas3507d_device::append_buffer(std::vector &outputs, int &pos, int scount)
{
- int s1 = scount - pos;
- int bytes_per_sample = std::min(frame_channels, 2); // More than 2 channels is unsupported here
-
- if(s1 > sample_count)
- s1 = sample_count;
+ const int bytes_per_sample = std::min(frame_channels, 2); // More than 2 channels is unsupported here
+ const int s1 = std::min(scount - pos, sample_count);
+ const stream_buffer::sample_t sample_scale = 1.0 / 32768.0;
+ const stream_buffer::sample_t mute_scale = is_muted ? 0.0 : 1.0;
for(int i = 0; i < s1; i++) {
- outputs[0].put_int(pos, samples[samples_idx * bytes_per_sample], 32768);
- outputs[1].put_int(pos, samples[samples_idx * bytes_per_sample + (bytes_per_sample >> 1)], 32768);
+ const stream_buffer::sample_t lsamp_mixed = stream_buffer::sample_t(samples[samples_idx * bytes_per_sample]) * sample_scale * mute_scale * gain_ll;
+ const stream_buffer::sample_t rsamp_mixed = stream_buffer::sample_t(samples[samples_idx * bytes_per_sample + (bytes_per_sample >> 1)]) * sample_scale * mute_scale * gain_rr;
+
+ outputs[0].put(pos, lsamp_mixed);
+ outputs[1].put(pos, rsamp_mixed);
samples_idx++;
pos++;
diff --git a/src/devices/sound/mas3507d.h b/src/devices/sound/mas3507d.h
index 4d8eac3153942..4402e8941d33b 100644
--- a/src/devices/sound/mas3507d.h
+++ b/src/devices/sound/mas3507d.h
@@ -23,8 +23,6 @@ class mas3507d_device : public device_t, public device_sound_interface
void sid_w(uint8_t byte);
- void update_stream() { stream->update(); }
-
void reset_playback();
protected:
@@ -90,8 +88,6 @@ class mas3507d_device : public device_t, public device_sound_interface
bool is_muted;
float gain_ll, gain_rr;
- uint32_t playback_status;
-
std::unique_ptr mp3dec;
};
diff --git a/src/emu/xtal.cpp b/src/emu/xtal.cpp
index 592cb52275659..ab4f13f11cf82 100644
--- a/src/emu/xtal.cpp
+++ b/src/emu/xtal.cpp
@@ -118,6 +118,7 @@ const double XTAL::known_xtals[] = {
4'433'619, /* 4.433619_MHz_XTAL PAL color subcarrier (technically 4.43361875mhz)*/
4'608'000, /* 4.608_MHz_XTAL Luxor ABC-77 keyboard (Keytronic custom part #48-300-107 is equivalent) */
4'915'200, /* 4.9152_MHz_XTAL - */
+ 4'952'000, /* 4.952_MHz_XTAL IGS M036 based mahjong games, for TT5665 sound chip */
5'000'000, /* 5_MHz_XTAL Mutant Night */
5'068'800, /* 5.0688_MHz_XTAL Usually used as MC2661 or COM8116 baud rate clock */
5'185'000, /* 5.185_MHz_XTAL Intel INTELLEC® 4 */
@@ -209,7 +210,6 @@ const double XTAL::known_xtals[] = {
12'292'000, /* 12.292_MHz_XTAL Northwest Digitial Systems GP-19 */
12'324'000, /* 12.324_MHz_XTAL Otrona Attache */
12'335'600, /* 12.3356_MHz_XTAL RasterOps ColorBoard 264 (~784x NTSC line rate) */
- 12'432'000, /* 12.432_MHz_XTAL Kaneko Fly Boy/Fast Freddie Hardware */
12'472'500, /* 12.4725_MHz_XTAL Bonanza's Mini Boy 7 */
12'480'000, /* 12.48_MHz_XTAL TRS-80 Model II */
12'500'000, /* 12.5_MHz_XTAL Red Alert audio board */
diff --git a/src/frontend/mame/ui/ui.cpp b/src/frontend/mame/ui/ui.cpp
index 0c4af7b8ba526..e697f861da26f 100644
--- a/src/frontend/mame/ui/ui.cpp
+++ b/src/frontend/mame/ui/ui.cpp
@@ -48,7 +48,6 @@
#include "../osd/modules/lib/osdlib.h"
#include "../osd/modules/lib/osdobj_common.h"
-#include
#include
#include
@@ -189,6 +188,28 @@ struct mame_ui_manager::active_pointer
};
+struct mame_ui_manager::pointer_options
+{
+ pointer_options()
+ : timeout(std::chrono::seconds(3))
+ , hide_inactive(true)
+ , timeout_set(false)
+ , hide_inactive_set(false)
+ {
+ }
+
+ bool options_set() const
+ {
+ return timeout_set || hide_inactive_set;
+ }
+
+ std::chrono::steady_clock::duration timeout;
+ bool hide_inactive;
+ bool timeout_set;
+ bool hide_inactive_set;
+};
+
+
//-------------------------------------------------
// ctor - set up the user interface
//-------------------------------------------------
@@ -252,8 +273,12 @@ void mame_ui_manager::init()
machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(&mame_ui_manager::exit, this));
machine().configuration().config_register(
"ui_warnings",
- configuration_manager::load_delegate(&mame_ui_manager::config_load, this),
- configuration_manager::save_delegate(&mame_ui_manager::config_save, this));
+ configuration_manager::load_delegate(&mame_ui_manager::config_load_warnings, this),
+ configuration_manager::save_delegate(&mame_ui_manager::config_save_warnings, this));
+ machine().configuration().config_register(
+ "pointer_input",
+ configuration_manager::load_delegate(&mame_ui_manager::config_load_pointers, this),
+ configuration_manager::save_delegate(&mame_ui_manager::config_save_pointers, this));
// create mouse bitmap
uint32_t *dst = &m_mouse_bitmap.pix(0);
@@ -311,10 +336,14 @@ void mame_ui_manager::exit()
//-------------------------------------------------
-// config_load - load configuration data
+// config_load_warnings - load info on last time
+// emulation status warnings showed
//-------------------------------------------------
-void mame_ui_manager::config_load(config_type cfg_type, config_level cfg_level, util::xml::data_node const *parentnode)
+void mame_ui_manager::config_load_warnings(
+ config_type cfg_type,
+ config_level cfg_level,
+ util::xml::data_node const *parentnode)
{
// make sure it's relevant and there's data available
if (config_type::SYSTEM == cfg_type)
@@ -352,10 +381,13 @@ void mame_ui_manager::config_load(config_type cfg_type, config_level cfg_level,
//-------------------------------------------------
-// config_save - save configuration data
+// config_save_warnings - save information on
+// last time emulation status warnings showed
//-------------------------------------------------
-void mame_ui_manager::config_save(config_type cfg_type, util::xml::data_node *parentnode)
+void mame_ui_manager::config_save_warnings(
+ config_type cfg_type,
+ util::xml::data_node *parentnode)
{
// only save system-level configuration when times are valid
if ((config_type::SYSTEM == cfg_type) && (std::time_t(-1) != m_last_launch_time) && (std::time_t(-1) != m_last_warning_time))
@@ -382,6 +414,101 @@ void mame_ui_manager::config_save(config_type cfg_type, util::xml::data_node *pa
}
+//-------------------------------------------------
+// config_load_pointers - load pointer input
+// settings
+//-------------------------------------------------
+
+void mame_ui_manager::config_load_pointers(
+ config_type cfg_type,
+ config_level cfg_level,
+ util::xml::data_node const *parentnode)
+{
+ switch (cfg_type)
+ {
+ case config_type::INIT:
+ {
+ int last(-1);
+ for (auto const &target : machine().render().targets())
+ {
+ assert(target.index() >= 0);
+ if (!target.hidden())
+ last = (std::max)(target.index(), last);
+ }
+ m_pointer_options.resize(last + 1);
+ }
+ break;
+
+ case config_type::CONTROLLER:
+ case config_type::SYSTEM:
+ if (!parentnode)
+ break;
+ for (auto const *targetnode = parentnode->get_child("target"); targetnode; targetnode = targetnode->get_next_sibling("target"))
+ {
+ auto const index(targetnode->get_attribute_int("index", -1));
+ if ((0 <= index) && (m_pointer_options.size() > index))
+ {
+ auto const timeout(targetnode->get_attribute_float("activity_timeout", -1.0F));
+ auto const ms(std::lround(timeout * 1000.0F));
+ if ((100 <= ms) && (10'000 >= ms))
+ {
+ m_pointer_options[index].timeout = std::chrono::milliseconds(ms);
+ if (config_type::SYSTEM == cfg_type)
+ m_pointer_options[index].timeout_set = true;
+ }
+
+ auto const hide(targetnode->get_attribute_int("hide_inactive", -1));
+ if (0 <= hide)
+ {
+ m_pointer_options[index].hide_inactive = hide != 0;
+ if (config_type::SYSTEM == cfg_type)
+ m_pointer_options[index].hide_inactive_set = true;
+ }
+ }
+ }
+ break;
+
+ case config_type::DEFAULT:
+ case config_type::FINAL:
+ break;
+ }
+}
+
+
+//-------------------------------------------------
+// config_save_pointers - save pointer input
+// settings
+//-------------------------------------------------
+
+void mame_ui_manager::config_save_pointers(
+ config_type cfg_type,
+ util::xml::data_node *parentnode)
+{
+ if (config_type::SYSTEM == cfg_type)
+ {
+ for (std::size_t i = 0; m_pointer_options.size() > i; ++i)
+ {
+ pointer_options const &options(m_pointer_options[i]);
+ if (options.options_set())
+ {
+ util::xml::data_node *const targetnode = parentnode->add_child("target", nullptr);
+ if (targetnode)
+ {
+ targetnode->set_attribute_int("index", i);
+ if (options.timeout_set)
+ {
+ auto const ms(std::chrono::duration_cast(options.timeout));
+ targetnode->set_attribute_float("activity_timeout", float(ms.count()) * 0.001F);
+ }
+ if (options.hide_inactive_set)
+ targetnode->set_attribute_int("hide_inactive", options.hide_inactive);
+ }
+ }
+ }
+ }
+}
+
+
//-------------------------------------------------
// initialize - initialize ui lists
//-------------------------------------------------
@@ -1381,14 +1508,23 @@ uint32_t mame_ui_manager::handler_ingame(render_container &container)
display_pointer_vector pointers;
pointers.reserve(m_active_pointers.size());
auto const now(std::chrono::steady_clock::now());
+ auto expiry(now);
+ render_target *target(nullptr);
+ layout_view const *view(nullptr);
+ bool hide_inactive(true);
for (auto const &pointer : m_active_pointers)
{
- layout_view const &view(pointer.target->current_view());
- if (view.show_pointers())
+ if (pointer.target != target)
+ {
+ target = pointer.target;
+ view = &target->current_view();
+ hide_inactive = m_pointer_options[target->index()].hide_inactive && view->hide_inactive_pointers();
+ expiry = now - m_pointer_options[target->index()].timeout;
+ }
+ if (view->show_pointers())
{
- // TODO: make timeout configurable
- if (!view.hide_inactive_pointers() || (osd::ui_event_handler::pointer::PEN == pointer.type) || ((now - pointer.updated) <= std::chrono::seconds(3)))
- pointers.emplace_back(display_pointer{ *pointer.target, pointer.type, pointer.x, pointer.y });
+ if (!hide_inactive || (osd::ui_event_handler::pointer::PEN == pointer.type) || (pointer.updated >= expiry))
+ pointers.emplace_back(display_pointer{ *target, pointer.type, pointer.x, pointer.y });
}
}
set_pointers(pointers.begin(), pointers.end());
@@ -1590,6 +1726,70 @@ void mame_ui_manager::request_quit()
}
+//-------------------------------------------------
+// set_pointer_activity_timeout - set per-target
+// pointer activity timeout
+//-------------------------------------------------
+
+void mame_ui_manager::set_pointer_activity_timeout(int target, std::chrono::steady_clock::duration timeout) noexcept
+{
+ assert((0 <= target) && (m_pointer_options.size() > target));
+ if ((0 <= target) && (m_pointer_options.size() > target))
+ {
+ m_pointer_options[target].timeout = timeout;
+ m_pointer_options[target].timeout_set = true;
+ }
+}
+
+
+//-------------------------------------------------
+// set_hide_inactive_pointers - set per-target
+// hide inactive pointers setting
+//-------------------------------------------------
+
+void mame_ui_manager::set_hide_inactive_pointers(int target, bool hide) noexcept
+{
+ assert((0 <= target) && (m_pointer_options.size() > target));
+ if ((0 <= target) && (m_pointer_options.size() > target))
+ {
+ m_pointer_options[target].hide_inactive = hide;
+ m_pointer_options[target].hide_inactive_set = true;
+ }
+}
+
+
+//-------------------------------------------------
+// pointer_activity_timeout - get per-target
+// pointer activity timeout
+//-------------------------------------------------
+
+std::chrono::steady_clock::duration mame_ui_manager::pointer_activity_timeout(int target) const noexcept
+{
+ assert((0 <= target) && (m_pointer_options.size() > target));
+ if ((0 <= target) && (m_pointer_options.size() > target))
+ return m_pointer_options[target].timeout;
+ else
+ return pointer_options().timeout;
+}
+
+
+
+//-------------------------------------------------
+// hide_inactive_pointers - get per-target hide
+// inactive pointers setting
+//-------------------------------------------------
+
+bool mame_ui_manager::hide_inactive_pointers(int target) const noexcept
+{
+ assert((0 <= target) && (m_pointer_options.size() > target));
+ if ((0 <= target) && (m_pointer_options.size() > target))
+ return m_pointer_options[target].hide_inactive;
+ else
+ return pointer_options().hide_inactive;
+}
+
+
+
/***************************************************************************
SLIDER CONTROLS
***************************************************************************/
diff --git a/src/frontend/mame/ui/ui.h b/src/frontend/mame/ui/ui.h
index d213d861f34c8..128300576e568 100644
--- a/src/frontend/mame/ui/ui.h
+++ b/src/frontend/mame/ui/ui.h
@@ -26,6 +26,7 @@
#include
#include
+#include
#include
#include
#include
@@ -164,13 +165,21 @@ class mame_ui_manager : public ui_manager
void display_startup_screens(bool first_time);
virtual void set_startup_text(const char *text, bool force) override;
bool update_and_render(render_container &container);
+
+ // getting display font and metrics
render_font *get_font();
float get_line_height(float scale = 1.0F);
+ float target_font_height() const { return m_target_font_height; }
float get_char_width(char32_t ch);
float get_string_width(std::string_view s);
float get_string_width(std::string_view s, float text_size);
+ float box_lr_border() const { return target_font_height() * 0.25f; }
+ float box_tb_border() const { return target_font_height() * 0.25f; }
+
+ // drawing boxes and text
void draw_outlined_box(render_container &container, float x0, float y0, float x1, float y1, rgb_t backcolor);
void draw_outlined_box(render_container &container, float x0, float y0, float x1, float y1, rgb_t fgcolor, rgb_t bgcolor);
+ void draw_textured_box(render_container &container, float x0, float y0, float x1, float y1, rgb_t backcolor, rgb_t linecolor, render_texture *texture = nullptr, uint32_t flags = PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
void draw_text(render_container &container, std::string_view buf, float x, float y);
void draw_text_full(render_container &container, std::string_view origs, float x, float y, float origwrapwidth, ui::text_layout::text_justify justify, ui::text_layout::word_wrapping wrap, draw_mode draw, rgb_t fgcolor, rgb_t bgcolor, float *totalwidth = nullptr, float *totalheight = nullptr);
void draw_text_full(render_container &container, std::string_view origs, float x, float y, float origwrapwidth, ui::text_layout::text_justify justify, ui::text_layout::word_wrapping wrap, draw_mode draw, rgb_t fgcolor, rgb_t bgcolor, float *totalwidth, float *totalheight, float text_size);
@@ -197,13 +206,17 @@ class mame_ui_manager : public ui_manager
bool can_paste();
bool found_machine_warnings() const { return m_has_warnings; }
void image_handler_ingame();
- void increase_frameskip();
- void decrease_frameskip();
void request_quit();
+ void set_pointer_activity_timeout(int target, std::chrono::steady_clock::duration timeout) noexcept;
+ void set_hide_inactive_pointers(int target, bool hide) noexcept;
+ std::chrono::steady_clock::duration pointer_activity_timeout(int target) const noexcept;
+ bool hide_inactive_pointers(int target) const noexcept;
+
+ // drawing informational overlays
void draw_fps_counter(render_container &container);
void draw_profiler(render_container &container);
- // pointer display
+ // pointer display for UI handlers
template
void set_pointers(T first, T last)
{
@@ -238,9 +251,6 @@ class mame_ui_manager : public ui_manager
std::vector &get_slider_list();
// metrics
- float target_font_height() const { return m_target_font_height; }
- float box_lr_border() const { return target_font_height() * 0.25f; }
- float box_tb_border() const { return target_font_height() * 0.25f; }
void update_target_font_height();
// other
@@ -248,9 +258,6 @@ class mame_ui_manager : public ui_manager
ui::text_layout create_layout(render_container &container, float width = 1.0, ui::text_layout::text_justify justify = ui::text_layout::text_justify::LEFT, ui::text_layout::word_wrapping wrap = ui::text_layout::word_wrapping::WORD);
void set_image_display_enabled(bool image_display_enabled) { m_image_display_enabled = image_display_enabled; }
bool image_display_enabled() const { return m_image_display_enabled; }
-
- // draw an outlined box with given line color and filled with a texture
- void draw_textured_box(render_container &container, float x0, float y0, float x1, float y1, rgb_t backcolor, rgb_t linecolor, render_texture *texture = nullptr, uint32_t flags = PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
virtual void popup_time_string(int seconds, std::string message) override;
virtual void menu_reset() override;
@@ -275,11 +282,13 @@ class mame_ui_manager : public ui_manager
enum class ui_callback_type : int;
struct active_pointer;
+ struct pointer_options;
using handler_callback_func = delegate;
using device_feature_set = std::set >;
using session_data_map = std::unordered_map;
using active_pointer_vector = std::vector;
+ using pointer_options_vector = std::vector;
using display_pointer_vector = std::vector;
// instance variables
@@ -294,6 +303,7 @@ class mame_ui_manager : public ui_manager
osd_ticks_t m_popup_text_end;
std::unique_ptr m_non_char_keys_down;
+ pointer_options_vector m_pointer_options;
active_pointer_vector m_active_pointers;
display_pointer_vector m_display_pointers;
bitmap_argb32 m_mouse_bitmap;
@@ -328,8 +338,12 @@ class mame_ui_manager : public ui_manager
void set_handler(ui_callback_type callback_type, handler_callback_func &&callback);
void frame_update();
void exit();
- void config_load(config_type cfg_type, config_level cfg_level, util::xml::data_node const *parentnode);
- void config_save(config_type cfg_type, util::xml::data_node *parentnode);
+ void increase_frameskip();
+ void decrease_frameskip();
+ void config_load_warnings(config_type cfg_type, config_level cfg_level, util::xml::data_node const *parentnode);
+ void config_save_warnings(config_type cfg_type, util::xml::data_node *parentnode);
+ void config_load_pointers(config_type cfg_type, config_level cfg_level, util::xml::data_node const *parentnode);
+ void config_save_pointers(config_type cfg_type, util::xml::data_node *parentnode);
template void slider_alloc(Params &&...args) { m_sliders.push_back(std::make_unique(std::forward(args)...)); }
// slider controls
diff --git a/src/frontend/mame/ui/videoopt.cpp b/src/frontend/mame/ui/videoopt.cpp
index 84ae6b6867d55..a179a2ec16fee 100644
--- a/src/frontend/mame/ui/videoopt.cpp
+++ b/src/frontend/mame/ui/videoopt.cpp
@@ -15,6 +15,8 @@
#include "rendlay.h"
#include "rendutil.h"
+#include
+
namespace ui {
@@ -24,6 +26,7 @@ constexpr uintptr_t ITEM_ROTATE = 0x00000100;
constexpr uintptr_t ITEM_ZOOM = 0x00000101;
constexpr uintptr_t ITEM_UNEVENSTRETCH = 0x00000102;
constexpr uintptr_t ITEM_KEEPASPECT = 0x00000103;
+constexpr uintptr_t ITEM_POINTERTIMEOUT = 0x00000104;
constexpr uintptr_t ITEM_TOGGLE_FIRST = 0x00000200;
constexpr uintptr_t ITEM_VIEW_FIRST = 0x00000300;
@@ -192,6 +195,29 @@ void menu_video_options::populate()
item_append_on_off(_("Maintain Aspect Ratio"), m_target.keepaspect(), 0, reinterpret_cast(ITEM_KEEPASPECT));
}
+ // add pointer display options
+ if (!m_target.hidden())
+ {
+ item_append(menu_item_type::SEPARATOR);
+
+ // use millisecond precision for timeout display
+ auto const timeout = std::chrono::duration_cast(ui().pointer_activity_timeout(m_target.index()));
+ bool const hide = ui().hide_inactive_pointers(m_target.index());
+ if (hide)
+ {
+ int const precision = (timeout.count() % 10) ? 3 : (timeout.count() % 100) ? 2 : 1;
+ item_append(
+ _("Hide Inactive Pointers After Delay"),
+ util::string_format(_("%1$.*2$f s"), timeout.count() * 1e-3, precision),
+ ((timeout > std::chrono::milliseconds(100)) ? FLAG_LEFT_ARROW : 0) | FLAG_RIGHT_ARROW,
+ reinterpret_cast(ITEM_POINTERTIMEOUT));
+ }
+ else
+ {
+ item_append(_("Hide Inactive Pointers After Delay"), _("Never"), FLAG_LEFT_ARROW, reinterpret_cast(ITEM_POINTERTIMEOUT));
+ }
+ }
+
item_append(menu_item_type::SEPARATOR);
}
@@ -211,6 +237,7 @@ bool menu_video_options::handle(event const *ev)
});
bool const snap_lockout(m_snapshot && machine().video().is_recording());
bool changed(false);
+ set_process_flags((reinterpret_cast(get_selection_ref()) == ITEM_POINTERTIMEOUT) ? PROCESS_LR_REPEAT : 0);
// process the menu
if (ev && uintptr_t(ev->itemref))
@@ -306,7 +333,7 @@ bool menu_video_options::handle(event const *ev)
}
break;
- // keep aspect handles left/right keys the same (toggle)
+ // keep aspect handles left/right keys identically (toggle)
case ITEM_KEEPASPECT:
if ((ev->iptkey == IPT_UI_LEFT) || (ev->iptkey == IPT_UI_RIGHT))
{
@@ -317,6 +344,58 @@ bool menu_video_options::handle(event const *ev)
}
break;
+ // pointer inactivity timeout
+ case ITEM_POINTERTIMEOUT:
+ if (ev->iptkey == IPT_UI_SELECT)
+ {
+ // toggle hide after delay
+ ui().set_hide_inactive_pointers(m_target.index(), !ui().hide_inactive_pointers(m_target.index()));
+ changed = true;
+ }
+ else if (ev->iptkey == IPT_UI_LEFT)
+ {
+ if (!ui().hide_inactive_pointers(m_target.index()))
+ {
+ ui().set_hide_inactive_pointers(m_target.index(), true);
+ ui().set_pointer_activity_timeout(m_target.index(), std::chrono::milliseconds(10'000));
+ changed = true;
+ }
+ else
+ {
+ bool const ctrl_pressed = machine().input().code_pressed(KEYCODE_LCONTROL) || machine().input().code_pressed(KEYCODE_RCONTROL);
+ std::chrono::milliseconds const increment(ctrl_pressed ? 1'000 : 100);
+ auto timeout = ui().pointer_activity_timeout(m_target.index());
+ auto const remainder = timeout % increment;
+ timeout -= remainder.count() ? remainder : increment;
+ if (std::chrono::milliseconds(100) <= timeout)
+ {
+ ui().set_pointer_activity_timeout(m_target.index(), timeout);
+ changed = true;
+ }
+ }
+ }
+ else if (ev->iptkey == IPT_UI_RIGHT)
+ {
+ if (ui().hide_inactive_pointers(m_target.index()))
+ {
+ auto const timeout = ui().pointer_activity_timeout(m_target.index());
+ if (std::chrono::milliseconds(10'000) <= timeout)
+ {
+ ui().set_hide_inactive_pointers(m_target.index(), false);
+ }
+ else
+ {
+ bool const ctrl_pressed = machine().input().code_pressed(KEYCODE_LCONTROL) || machine().input().code_pressed(KEYCODE_RCONTROL);
+ int const increment(ctrl_pressed ? 1'000 : 100);
+ ui().set_pointer_activity_timeout(
+ m_target.index(),
+ std::chrono::milliseconds((1 + (timeout / std::chrono::milliseconds(increment))) * increment));
+ }
+ changed = true;
+ }
+ }
+ break;
+
// anything else is a view item
default:
if (reinterpret_cast(ev->itemref) >= ITEM_VIEW_FIRST)
diff --git a/src/lib/formats/bk0010_dsk.cpp b/src/lib/formats/bk0010_dsk.cpp
new file mode 100644
index 0000000000000..8922b144fcdc9
--- /dev/null
+++ b/src/lib/formats/bk0010_dsk.cpp
@@ -0,0 +1,39 @@
+// license:BSD-3-Clause
+// copyright-holders:Sergey Svishchev
+/*********************************************************************
+
+ formats/bk0010_dsk.cpp
+
+ Floppies used by BK (BY: device), DVK (MY: device) and UKNC
+ (MZ: device)
+
+*********************************************************************/
+
+#include "formats/bk0010_dsk.h"
+
+bk0010_format::bk0010_format() : wd177x_format(formats)
+{
+}
+
+// gap sizes taken from BKBTL emulator
+const bk0010_format::format bk0010_format::formats[] = {
+ {
+ floppy_image::FF_525, floppy_image::SSQD, floppy_image::MFM,
+ 2000, // 2us, 300rpm
+ 10, 80, 1,
+ 512, {},
+ 1, {},
+ 42, 22, 36
+ },
+ {
+ floppy_image::FF_525, floppy_image::DSQD, floppy_image::MFM,
+ 2000, // 2us, 300rpm
+ 10, 80, 2,
+ 512, {},
+ 1, {},
+ 42, 22, 36
+ },
+ {}
+};
+
+const bk0010_format FLOPPY_BK0010_FORMAT;
diff --git a/src/lib/formats/bk0010_dsk.h b/src/lib/formats/bk0010_dsk.h
new file mode 100644
index 0000000000000..96b00ebede7de
--- /dev/null
+++ b/src/lib/formats/bk0010_dsk.h
@@ -0,0 +1,30 @@
+// license:BSD-3-Clause
+// copyright-holders:Sergey Svishchev
+/*********************************************************************
+
+ formats/bk0010_dsk.h
+
+*********************************************************************/
+#ifndef MAME_FORMATS_BK0010_DSK_H
+#define MAME_FORMATS_BK0010_DSK_H
+
+#pragma once
+
+#include "wd177x_dsk.h"
+
+class bk0010_format : public wd177x_format
+{
+public:
+ bk0010_format();
+
+ virtual const char *name() const noexcept override { return "bk0010"; }
+ virtual const char *description() const noexcept override { return "BK-0010 disk image"; }
+ virtual const char *extensions() const noexcept override { return "img,bkd"; }
+
+private:
+ static const format formats[];
+};
+
+extern const bk0010_format FLOPPY_BK0010_FORMAT;
+
+#endif // MAME_FORMATS_BK0010_DSK_H
diff --git a/src/mame/bmc/bmcpokr.cpp b/src/mame/bmc/bmcpokr.cpp
index a199ee2717833..63331cebcb53e 100644
--- a/src/mame/bmc/bmcpokr.cpp
+++ b/src/mame/bmc/bmcpokr.cpp
@@ -50,6 +50,7 @@ class bmcpokr_state : public driver_device
m_pixram(*this, "pixram"),
m_priority(*this, "priority"),
m_layerctrl(*this, "layerctrl"),
+ m_backpen(*this, "backpen"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"),
m_dsw(*this, "DSW%u", 1U),
@@ -78,6 +79,7 @@ class bmcpokr_state : public driver_device
required_shared_ptr m_pixram;
required_shared_ptr m_priority;
required_shared_ptr m_layerctrl;
+ required_shared_ptr m_backpen;
required_device m_gfxdecode;
required_device m_palette;
@@ -283,7 +285,7 @@ uint32_t bmcpokr_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
}
#endif
- bitmap.fill(m_palette->black_pen(), cliprect);
+ bitmap.fill(*m_backpen, cliprect);
if (layers_ctrl & 2) draw_layer(screen, bitmap, cliprect, 2);
/*
@@ -424,7 +426,7 @@ void bmcpokr_state::bmcpokr_mem(address_map &map)
map(0x340009, 0x340009).w(FUNC(bmcpokr_state::irq_enable_w));
map(0x34000e, 0x34000f).ram().share(m_priority); // 34000f.b, w (priority?)
map(0x340017, 0x340017).w(FUNC(bmcpokr_state::pixpal_w));
- map(0x340018, 0x340019).ram(); // 340019.b, w
+ map(0x340018, 0x340019).ram().share(m_backpen); // 340019.b, w
map(0x34001a, 0x34001b).r(FUNC(bmcpokr_state::unk_r)).nopw();
map(0x34001c, 0x34001d).ram(); // 34001d.b, w(0)
@@ -508,7 +510,7 @@ void bmcpokr_state::mjmaglmp_map(address_map &map)
map(0x3ca009, 0x3ca009).w(FUNC(bmcpokr_state::irq_enable_w));
map(0x3ca00e, 0x3ca00f).ram().share(m_priority); // 3ca00f.b, w (priority?)
map(0x3ca017, 0x3ca017).w(FUNC(bmcpokr_state::pixpal_w));
- map(0x3ca018, 0x3ca019).ram(); // 3ca019.b, w
+ map(0x3ca018, 0x3ca019).ram().share(m_backpen); // 3ca019.b, w
map(0x3ca01a, 0x3ca01b).r(FUNC(bmcpokr_state::unk_r)).nopw();
map(0x3ca01c, 0x3ca01d).ram(); // 3ca01d.b, w(0)
}
@@ -540,7 +542,7 @@ void bmcpokr_state::shendeng_map(address_map &map)
map(0x370009, 0x370009).w(FUNC(bmcpokr_state::irq_enable_w));
map(0x37000e, 0x37000f).ram().share(m_priority); // 37000f.b, w (priority?)
map(0x370017, 0x370017).w(FUNC(bmcpokr_state::pixpal_w));
- map(0x370018, 0x370019).ram(); // 370019.b, w
+ map(0x370018, 0x370019).ram().share(m_backpen); // 370019.b, w
map(0x37001a, 0x37001b).r(FUNC(bmcpokr_state::unk_r)).nopw();
map(0x37001c, 0x37001d).ram(); // 3ca01d.b, w(0)
map(0x380001, 0x380001).w("ramdac", FUNC(ramdac_device::index_w));
diff --git a/src/mame/bmc/koftball.cpp b/src/mame/bmc/koftball.cpp
index d6f5ac4489d97..44a5e681cd53c 100644
--- a/src/mame/bmc/koftball.cpp
+++ b/src/mame/bmc/koftball.cpp
@@ -7,15 +7,12 @@ King Of Football (c)1995 BMC
preliminary driver by Tomasz Slanina
TODO:
-- uses a 'pixmap' like bmc/bmcpokr.cpp. Noted uses are for jxzh's test mode and bookkeeping.
- For now implementation is just copied over, but it needs to be adapted;
- lots of unknown writes / reads;
- one of the customs could contain a VIA6522-like core. bmc/bmcbowl.cpp uses the VIA6522 and the
accesses are similar;
- probably jxzh also supports the mahjong keyboard. Check if one of the dips enable it and where it
is read;
- better understanding of the koftball protection;
-- hardware has a lot in common with that in bmc/bmcpokr.cpp. Merge?
--
@@ -91,33 +88,35 @@ class koftball_state : public driver_device
protected:
virtual void machine_start() override;
virtual void video_start() override;
- virtual void device_post_load() override;
private:
required_device m_maincpu;
- optional_shared_ptr m_main_ram;
- required_shared_ptr_array m_videoram;
- required_shared_ptr m_pixram;
+ optional_shared_ptr m_main_ram;
+ required_shared_ptr_array m_videoram;
+ required_shared_ptr m_pixram;
required_device m_gfxdecode;
required_device m_palette;
tilemap_t *m_tilemap[4]{};
- uint16_t m_prot_data = 0;
- uint8_t m_irq_enable = 0;
- uint8_t m_gfx_ctrl = 0;
- uint8_t m_priority = 0;
+ u16 m_prot_data = 0;
+ u8 m_irq_enable = 0;
+ u8 m_gfx_ctrl = 0;
+ u8 m_priority = 0;
+ u8 m_backpen = 0;
std::unique_ptr m_pixbitmap;
- uint8_t m_pixpal = 0;
-
- void irq_ack_w(uint8_t data);
- uint16_t random_number_r();
- uint16_t prot_r();
- void prot_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- void pixbitmap_redraw();
- void pixram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- void pixpal_w(offs_t offset, uint8_t data, uint8_t mem_mask = ~0);
- template void videoram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- template TILE_GET_INFO_MEMBER(get_tile_info);
- uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ u8 m_pixpal = 0;
+
+ void irq_ack_w(u8 data);
+ u16 random_number_r();
+ u16 prot_r();
+ void prot_w(offs_t offset, u16 data, u16 mem_mask = ~0);
+ void pixpal_w(offs_t offset, u8 data, u8 mem_mask = ~0);
+ template void videoram_w(offs_t offset, u16 data, u16 mem_mask = ~0);
+
+
+ template TILE_GET_INFO_MEMBER(get_tile_info);
+ void draw_pixlayer(bitmap_ind16 &bitmap, const rectangle &cliprect);
+ u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
TIMER_DEVICE_CALLBACK_MEMBER(interrupt);
void jxzh_mem(address_map &map);
void koftball_mem(address_map &map);
@@ -133,68 +132,20 @@ void koftball_state::machine_start()
save_item(NAME(m_irq_enable));
save_item(NAME(m_gfx_ctrl));
save_item(NAME(m_priority));
+ save_item(NAME(m_backpen));
save_item(NAME(m_pixpal));
}
-template
+template
TILE_GET_INFO_MEMBER(koftball_state::get_tile_info)
{
int const data = m_videoram[Which][tile_index];
tileinfo.set(0, data, 0, 0);
}
-// TODO: the following 'pixpal' methods were copied from bmc/bmcpokr.cpp. They need adapting.
-
-void koftball_state::pixram_w(offs_t offset, uint16_t data, uint16_t mem_mask)
-{
- COMBINE_DATA(&m_pixram[offset]);
-
- int const x = (offset & 0xff) << 2;
- int const y = (offset >> 8);
-
- uint16_t const pixpal = (m_pixpal & 0xf) << 4;
-
- uint16_t pen;
- if (ACCESSING_BITS_8_15)
- {
- pen = (data >> 12) & 0xf; m_pixbitmap->pix(y, x + 0) = pen ? pixpal + pen : 0;
- pen = (data >> 8) & 0xf; m_pixbitmap->pix(y, x + 1) = pen ? pixpal + pen : 0;
- }
- if (ACCESSING_BITS_0_7)
- {
- pen = (data >> 4) & 0xf; m_pixbitmap->pix(y, x + 2) = pen ? pixpal + pen : 0;
- pen = (data >> 0) & 0xf; m_pixbitmap->pix(y, x + 3) = pen ? pixpal + pen : 0;
- }
-}
-
-void koftball_state::pixbitmap_redraw()
-{
- uint16_t const pixpal = (m_pixpal & 0xf) << 4;
- int offset = 0;
- for (int y = 0; y < 512; y++)
- {
- for (int x = 0; x < 1024; x += 4)
- {
- uint16_t const data = m_pixram[offset++];
- uint16_t pen;
- pen = (data >> 12) & 0xf; m_pixbitmap->pix(y, x + 0) = pen ? pixpal + pen : 0;
- pen = (data >> 8) & 0xf; m_pixbitmap->pix(y, x + 1) = pen ? pixpal + pen : 0;
- pen = (data >> 4) & 0xf; m_pixbitmap->pix(y, x + 2) = pen ? pixpal + pen : 0;
- pen = (data >> 0) & 0xf; m_pixbitmap->pix(y, x + 3) = pen ? pixpal + pen : 0;
- }
- }
-}
-
-void koftball_state::pixpal_w(offs_t offset, uint8_t data, uint8_t mem_mask)
+void koftball_state::pixpal_w(offs_t offset, u8 data, u8 mem_mask)
{
- uint8_t const old = m_pixpal;
- if (old != COMBINE_DATA(&m_pixpal))
- pixbitmap_redraw();
-}
-
-void koftball_state::device_post_load()
-{
- pixbitmap_redraw();
+ COMBINE_DATA(&m_pixpal);
}
void koftball_state::video_start()
@@ -207,10 +158,34 @@ void koftball_state::video_start()
m_tilemap[0]->set_transparent_pen(0);
m_tilemap[2]->set_transparent_pen(0);
- m_pixbitmap = std::make_unique(0x400, 0x200);
+ m_tilemap[1]->set_transparent_pen(0);
+ m_tilemap[3]->set_transparent_pen(0);
+
+ m_pixbitmap = std::make_unique(512, 256);
+}
+
+// linear 512x256x4bpp
+void koftball_state::draw_pixlayer(bitmap_ind16 &bitmap, const rectangle &cliprect)
+{
+ const u8 pix_bank = (m_pixpal & 0xf) << 4;
+
+ for (int y = cliprect.min_y; y <= cliprect.max_y; y++)
+ {
+ const u16 pitch = y * 0x80;
+ for (int x = cliprect.min_x; x <= cliprect.max_x >> 2; x++)
+ {
+ const u16 tile_data = m_pixram[(pitch + x) & 0xffff];
+ for (int xi = 0; xi < 4; xi++)
+ {
+ const u8 nibble = (tile_data >> ((3 - xi) * 4)) & 0xf;
+ if (nibble)
+ bitmap.pix(y, (x << 2) + xi) = pix_bank | nibble;
+ }
+ }
+ }
}
-uint32_t koftball_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+u32 koftball_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
/*
TODO:
@@ -238,10 +213,16 @@ uint32_t koftball_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
girl select after coin up prev screen prev screen over under 0x13 0x3a
*/
+ m_pixbitmap->fill(0, cliprect);
+ draw_pixlayer(*m_pixbitmap, cliprect);
+
+ bitmap.fill(m_backpen, cliprect);
+
if (BIT(m_priority, 3))
copyscrollbitmap_trans(bitmap, *m_pixbitmap, 0, 0, 0, 0, cliprect, 0);
- if (BIT(m_gfx_ctrl, 5)) // TODO: or bit 1?
+ // TODO: or bit 1?
+ if (BIT(m_gfx_ctrl, 5))
{
m_tilemap[3]->draw(screen, bitmap, cliprect, 0, 0);
m_tilemap[2]->draw(screen, bitmap, cliprect, 0, 0);
@@ -258,13 +239,13 @@ uint32_t koftball_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
-uint16_t koftball_state::random_number_r()
+u16 koftball_state::random_number_r()
{
return machine().rand();
}
-uint16_t koftball_state::prot_r()
+u16 koftball_state::prot_r()
{
switch (m_prot_data)
{
@@ -278,25 +259,26 @@ uint16_t koftball_state::prot_r()
return machine().rand();
}
-void koftball_state::prot_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+void koftball_state::prot_w(offs_t offset, u16 data, u16 mem_mask)
{
COMBINE_DATA(&m_prot_data);
}
-template
-void koftball_state::videoram_w(offs_t offset, uint16_t data, uint16_t mem_mask)
+template
+void koftball_state::videoram_w(offs_t offset, u16 data, u16 mem_mask)
{
COMBINE_DATA(&m_videoram[Which][offset]);
m_tilemap[Which]->mark_tile_dirty(offset);
}
-void koftball_state::irq_ack_w(uint8_t data)
+void koftball_state::irq_ack_w(u8 data)
{
for (int i = 1; i < 8; i++)
if (BIT(data, i))
m_maincpu->set_input_line(i, CLEAR_LINE);
}
+// FIXME: merge video maps
void koftball_state::koftball_mem(address_map &map)
{
map(0x000000, 0x01ffff).rom();
@@ -308,11 +290,12 @@ void koftball_state::koftball_mem(address_map &map)
map(0x263000, 0x263fff).ram().w(FUNC(koftball_state::videoram_w<3>)).share(m_videoram[3]);
map(0x268000, 0x26ffff).ram();
- map(0x280000, 0x29ffff).ram().w(FUNC(koftball_state::pixram_w)).share(m_pixram);
+ map(0x280000, 0x29ffff).ram().share(m_pixram);
map(0x2a0007, 0x2a0007).w(FUNC(koftball_state::irq_ack_w));
- map(0x2a0009, 0x2a0009).lw8(NAME([this] (uint8_t data) { m_irq_enable = data; }));
- map(0x2a000f, 0x2a000f).lw8(NAME([this] (uint8_t data) { m_priority = data; LOGGFX("GFX ctrl 2a000f %02x\n", data); }));
+ map(0x2a0009, 0x2a0009).lw8(NAME([this] (u8 data) { m_irq_enable = data; }));
+ map(0x2a000f, 0x2a000f).lw8(NAME([this] (u8 data) { m_priority = data; LOGGFX("GFX ctrl $2a000f (priority) %02x\n", data); }));
map(0x2a0017, 0x2a0017).w(FUNC(koftball_state::pixpal_w));
+ map(0x2a0019, 0x2a0019).lw8(NAME([this] (u8 data) { m_backpen = data; LOGGFX("GFX ctrl $2a0019 (backpen) %02x\n", data); }));
map(0x2a001a, 0x2a001b).nopw();
map(0x2a0000, 0x2a001f).r(FUNC(koftball_state::random_number_r));
map(0x2b0000, 0x2b0001).portr("DSW");
@@ -327,7 +310,7 @@ void koftball_state::koftball_mem(address_map &map)
map(0x2dc000, 0x2dc000).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
map(0x2f0000, 0x2f0003).portr("INPUTS");
map(0x300000, 0x300001).nopw();
- map(0x320000, 0x320000).lw8(NAME([this] (uint8_t data) { m_gfx_ctrl = data; LOGGFX("GFX ctrl 320000 %02x\n", data); }));
+ map(0x320000, 0x320000).lw8(NAME([this] (u8 data) { m_gfx_ctrl = data; LOGGFX("GFX ctrl $320000 (layer enable) %02x\n", data); }));
map(0x340000, 0x340001).r(FUNC(koftball_state::prot_r));
map(0x360000, 0x360001).w(FUNC(koftball_state::prot_w));
}
@@ -344,11 +327,12 @@ void koftball_state::jxzh_mem(address_map &map)
map(0x264b00, 0x264dff).ram(); // TODO: writes here at least at girl selection after coin up. Some kind of effect?
map(0x268000, 0x26ffff).ram();
- map(0x280000, 0x29ffff).ram().w(FUNC(koftball_state::pixram_w)).share(m_pixram);
+ map(0x280000, 0x29ffff).ram().share(m_pixram);
map(0x2a0007, 0x2a0007).w(FUNC(koftball_state::irq_ack_w));
- map(0x2a0009, 0x2a0009).lw8(NAME([this] (uint8_t data) { m_irq_enable = data; }));
- map(0x2a000f, 0x2a000f).lw8(NAME([this] (uint8_t data) { m_priority = data; LOGGFX("GFX ctrl 2a000f %02x\n", data); }));
+ map(0x2a0009, 0x2a0009).lw8(NAME([this] (u8 data) { m_irq_enable = data; }));
+ map(0x2a000f, 0x2a000f).lw8(NAME([this] (u8 data) { m_priority = data; LOGGFX("GFX ctrl $2a000f (priority) %02x\n", data); }));
map(0x2a0017, 0x2a0017).w(FUNC(koftball_state::pixpal_w));
+ map(0x2a0019, 0x2a0019).lw8(NAME([this] (u8 data) { m_backpen = data; LOGGFX("GFX ctrl $2a0019 (backpen) %02x\n", data); }));
map(0x2a001a, 0x2a001d).nopw();
map(0x2a0000, 0x2a001f).r(FUNC(koftball_state::random_number_r));
map(0x2b0000, 0x2b0001).portr("DSW");
@@ -362,7 +346,7 @@ void koftball_state::jxzh_mem(address_map &map)
map(0x2dc000, 0x2dc000).rw("oki", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
map(0x2f0000, 0x2f0001).portr("INPUTS");
map(0x300000, 0x300001).nopw();
- map(0x320000, 0x320000).lw8(NAME([this] (uint8_t data) { m_gfx_ctrl = data; LOGGFX("GFX ctrl 320000 %02x\n", data); }));
+ map(0x320000, 0x320000).lw8(NAME([this] (u8 data) { m_gfx_ctrl = data; LOGGFX("GFX ctrl $320000 (layer enable) %02x\n", data); }));
map(0x340000, 0x340001).r(FUNC(koftball_state::prot_r));
map(0x360000, 0x360001).w(FUNC(koftball_state::prot_w));
map(0x380000, 0x380001).w(FUNC(koftball_state::prot_w));
@@ -672,7 +656,7 @@ ROM_END
#if NVRAM_HACK
-static const uint16_t nvram[]=
+static const u16 nvram[]=
{
0x0000,0x5555,0x0000,0x5555,0x0000,0x5555,0x0000,0x5555,
0x0000,0x5555,0x0000,0x0000,0x0000,0x0000,0x5555,0x5555,
diff --git a/src/mame/capcom/cps2.cpp b/src/mame/capcom/cps2.cpp
index a80fc3b86b529..9bf510b315cea 100644
--- a/src/mame/capcom/cps2.cpp
+++ b/src/mame/capcom/cps2.cpp
@@ -12685,7 +12685,7 @@ GAME( 1996, megaman2, 0, cps2, cps2_2p3b, cps2_state, init_cps2,
GAME( 1996, megaman2a, megaman2, cps2, cps2_2p3b, cps2_state, init_cps2, ROT0, "Capcom", "Mega Man 2: The Power Fighters (Asia 960708)", MACHINE_SUPPORTS_SAVE )
GAME( 1996, rockman2j, megaman2, cps2, cps2_2p3b, cps2_state, init_cps2, ROT0, "Capcom", "Rockman 2: The Power Fighters (Japan 960708)", MACHINE_SUPPORTS_SAVE )
GAME( 1996, megaman2h, megaman2, cps2, cps2_2p3b, cps2_state, init_cps2, ROT0, "Capcom", "Mega Man 2: The Power Fighters (Hispanic 960712)", MACHINE_SUPPORTS_SAVE )
-GAME( 1996, qndream, 0, cps2, qndream, cps2_state, init_cps2, ROT0, "Capcom", "Quiz Nanairo Dreams: Nijiirochou no Kiseki (Japan 96086)", MACHINE_SUPPORTS_SAVE )
+GAME( 1996, qndream, 0, cps2, qndream, cps2_state, init_cps2, ROT0, "Capcom", "Quiz Nanairo Dreams: Nijiirochou no Kiseki (Japan 960826)", MACHINE_SUPPORTS_SAVE )
GAME( 1996, xmvsf, 0, cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Euro 961004)", MACHINE_SUPPORTS_SAVE )
GAME( 1996, xmvsfr1, xmvsf, cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (Euro 960910)", MACHINE_SUPPORTS_SAVE )
GAME( 1996, xmvsfu, xmvsf, cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "Capcom", "X-Men Vs. Street Fighter (USA 961023)", MACHINE_SUPPORTS_SAVE )
@@ -12727,7 +12727,7 @@ GAME( 1997, cscluba, csclub, cps2, cps2_2p3b, cps2_state, init_cps2,
GAME( 1997, csclubj, csclub, cps2, cps2_2p3b, cps2_state, init_cps2, ROT0, "Capcom", "Capcom Sports Club (Japan 970722)", MACHINE_SUPPORTS_SAVE )
GAME( 1997, csclubjy, csclub, cps2, cps2_2p3b, cps2_state, init_cps2, ROT0, "Capcom", "Capcom Sports Club (Japan 970722, yellow case)", MACHINE_SUPPORTS_SAVE )
GAME( 1997, csclubh, csclub, cps2, cps2_2p3b, cps2_state, init_cps2, ROT0, "Capcom", "Capcom Sports Club (Hispanic 970722)", MACHINE_SUPPORTS_SAVE )
-GAME( 1997, sgemf, 0, cps2, cps2_2p3b, cps2_state, init_cps2, ROT0, "Capcom", "Super Gem Fighter Mini Mix (USA 970904)", MACHINE_SUPPORTS_SAVE )
+GAME( 1997, sgemf, 0, cps2, cps2_2p3b, cps2_state, init_cps2, ROT0, "Capcom", "Super Gem Fighter: Mini Mix (USA 970904)", MACHINE_SUPPORTS_SAVE )
GAME( 1997, pfghtj, sgemf, cps2, cps2_2p3b, cps2_state, init_cps2, ROT0, "Capcom", "Pocket Fighter (Japan 970904)", MACHINE_SUPPORTS_SAVE )
GAME( 1997, sgemfa, sgemf, cps2, cps2_2p3b, cps2_state, init_cps2, ROT0, "Capcom", "Super Gem Fighter: Mini Mix (Asia 970904)", MACHINE_SUPPORTS_SAVE )
GAME( 1997, sgemfh, sgemf, cps2, cps2_2p3b, cps2_state, init_cps2, ROT0, "Capcom", "Super Gem Fighter: Mini Mix (Hispanic 970904)", MACHINE_SUPPORTS_SAVE )
@@ -12815,7 +12815,7 @@ GAME( 1994, ringdstd, ringdest, dead_cps2, cps2_2p6b, cps2_state, init_cps
GAME( 1994, ssf2tad, ssf2t, dead_cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "bootleg", "Super Street Fighter II Turbo (Asia 940223 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1994, ssf2xjr1d, ssf2t, dead_cps2, cps2_2p6b, cps2_state, init_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, cps2_state, init_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, cps2_state, init_cps2, ROT0, "bootleg", "Marvel Super Heroes (US 951024 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1995, mshud, msh, dead_cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "bootleg", "Marvel Super Heroes (USA 951024 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1995, cybotsud, cybots, dead_cps2, cybots, cps2_state, init_cps2, ROT0, "bootleg", "Cyberbots: Fullmetal Madness (USA 950424 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1995, cybotsjd, cybots, dead_cps2, cybots, cps2_state, init_cps2, ROT0, "bootleg", "Cyberbots: Fullmetal Madness (Japan 950424) (decrypted bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1995, nwarrud, nwarr, dead_cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "bootleg", "Night Warriors: Darkstalkers' Revenge (USA 950406 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
@@ -12833,7 +12833,7 @@ GAME( 1996, xmvsfu1d, xmvsf, dead_cps2, cps2_2p6b, cps2_state, init_cps
GAME( 1997, batcird, batcir, dead_cps2, cps2_4p2b, cps2_state, init_cps2, ROT0, "bootleg", "Battle Circuit (Euro 970319 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1997, csclub1d, csclub, dead_cps2, cps2_2p3b, cps2_state, init_cps2, ROT0, "bootleg", "Capcom Sports Club (Euro 970722 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1997, mshvsfu1d, mshvsf, dead_cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "bootleg", "Marvel Super Heroes Vs. Street Fighter (USA 970625 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
-GAME( 1997, sgemfd, sgemf, dead_cps2, cps2_2p3b, cps2_state, init_cps2, ROT0, "bootleg", "Super Gem Fighter Mini Mix (USA 970904 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1997, sgemfd, sgemf, dead_cps2, cps2_2p3b, cps2_state, init_cps2, ROT0, "bootleg", "Super Gem Fighter: Mini Mix (USA 970904 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1997, vsavd, vsav, dead_cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "bootleg", "Vampire Savior: The Lord of Vampire (Euro 970519 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1997, vhunt2d, vhunt2, dead_cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "bootleg", "Vampire Hunter 2: Darkstalkers Revenge (Japan 970913 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
GAME( 1997, vsav2d, vsav2, dead_cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "bootleg", "Vampire Savior 2: The Lord of Vampire (Japan 970913 Phoenix Edition) (bootleg)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/coleco/adam.cpp b/src/mame/coleco/adam.cpp
index bf06c612cc8e2..f924754026320 100644
--- a/src/mame/coleco/adam.cpp
+++ b/src/mame/coleco/adam.cpp
@@ -457,7 +457,7 @@ uint8_t adam_state::mreq_r(offs_t offset)
}
}
- data = m_cart->bd_r(offset & 0x7fff, data, cs1, cs2, cs3, cs4);
+ data &= m_cart->read(offset & 0x7fff, cs1, cs2, cs3, cs4);
data = m_slot[0]->bd_r(offset & 0xff, data, 1, biorq, 1, 1, 1);
data = m_slot[1]->bd_r(offset, data, bmreq, biorq, aux_rom_cs, 1, cas2);
data = m_slot[2]->bd_r(offset, data, 1, 1, 1, cas1, cas2);
@@ -516,6 +516,7 @@ void adam_state::mreq_w(offs_t offset, uint8_t data)
m_ram->pointer()[offset] = data;
}
+ // TODO: cartridge slot write
m_slot[0]->bd_w(offset & 0xff, data, 1, biorq, 1, 1, 1);
m_slot[1]->bd_w(offset, data, bmreq, biorq, aux_rom_cs, 1, cas2);
m_slot[2]->bd_w(offset, data, 1, 1, 1, cas1, cas2);
diff --git a/src/mame/coleco/coleco.cpp b/src/mame/coleco/coleco.cpp
index 74f4fd732ef6d..2dc1aeb8b541c 100644
--- a/src/mame/coleco/coleco.cpp
+++ b/src/mame/coleco/coleco.cpp
@@ -164,7 +164,7 @@ void coleco_state::coleco_map(address_map &map)
{
map(0x0000, 0x1fff).rom();
map(0x6000, 0x63ff).ram().mirror(0x1c00);
- map(0x8000, 0xffff).rom();
+ map(0x8000, 0xffff).rw(FUNC(coleco_state::cart_r), FUNC(coleco_state::cart_w));
}
void bit90_state::bit90_map(address_map &map)
@@ -173,7 +173,7 @@ void bit90_state::bit90_map(address_map &map)
map(0x2000, 0x3fff).rom();
map(0x4000, 0x5fff).rom(); // Decoded through pin 5 of the Bit90 expansion port
map(0x6000, 0x67ff).ram().mirror(0x1800);
- map(0x8000, 0xffff).ram();
+ map(0x8000, 0xffff).rw(FUNC(coleco_state::cart_r), FUNC(coleco_state::cart_w));
}
void coleco_state::coleco_io_map(address_map &map)
@@ -416,7 +416,12 @@ TIMER_DEVICE_CALLBACK_MEMBER(coleco_state::paddle_update_callback)
uint8_t coleco_state::cart_r(offs_t offset)
{
- return m_cart->bd_r(offset & 0x7fff, 0, 0, 0, 0, 0);
+ return m_cart->read(offset, 0, 0, 0, 0);
+}
+
+void coleco_state::cart_w(offs_t offset, uint8_t data)
+{
+ m_cart->write(offset, data, 0, 0, 0, 0);
}
uint8_t coleco_state::coleco_scan_paddles(uint8_t *joy_status0, uint8_t *joy_status1)
@@ -524,9 +529,6 @@ void coleco_state::machine_start()
m_joy_analog_state[port] = 0;
}
- if (m_cart->exists())
- m_maincpu->space(AS_PROGRAM).install_read_handler(0x8000, 0xffff, read8sm_delegate(*this, FUNC(coleco_state::cart_r)));
-
save_item(NAME(m_joy_mode));
save_item(NAME(m_last_nmi_state));
save_item(NAME(m_joy_irq_state));
diff --git a/src/mame/coleco/coleco.h b/src/mame/coleco/coleco.h
index 671767017a0a0..05855804e6c7a 100644
--- a/src/mame/coleco/coleco.h
+++ b/src/mame/coleco/coleco.h
@@ -44,6 +44,8 @@ class coleco_state : public driver_device
virtual void machine_reset() override;
uint8_t cart_r(offs_t offset);
+ void cart_w(offs_t offset, uint8_t data);
+
uint8_t paddle_1_r();
uint8_t paddle_2_r();
void paddle_off_w(uint8_t data);
diff --git a/src/mame/commodore/kim1.cpp b/src/mame/commodore/kim1.cpp
index b3568238f2d4c..4d8072496b70b 100644
--- a/src/mame/commodore/kim1.cpp
+++ b/src/mame/commodore/kim1.cpp
@@ -26,6 +26,20 @@ How to use cassette:
1873 press GO to load tape
NOTE: save end address is next address from program end
+How to use the console:
+Enable using Input Settings/Toggle Inputs TTY On.
+Connect to the console at 2400 bps 8N2 (speeds from 110 to 9600 bps should work).
+Hit or on the console and it should display "KIM"
+and accept monitor commands:
+
+ Show data at
+ . Write to current address
+ Advance to next address
+ Move to previous address
+ Terminate memory edit
+L Load program from paper tape
+Q Save memory to paper tape (saves from current address to $17F7, $17F8)
+G Go from current address
Keyboard and Display logic
==========================
@@ -59,7 +73,6 @@ Paste test:
TODO:
- LEDs should be dark at startup (RS key to activate)
-- add TTY support
******************************************************************************/
@@ -67,6 +80,7 @@ Paste test:
#include "bus/kim1/cards.h"
#include "bus/kim1/kim1bus.h"
+#include "bus/rs232/rs232.h"
#include "cpu/m6502/m6502.h"
#include "imagedev/cassette.h"
#include "machine/mos6530.h"
@@ -96,6 +110,7 @@ class kim1_state : public driver_device
, m_miot(*this, "miot%u", 0)
, m_digit_pwm(*this, "digit_pwm")
, m_cass(*this, "cassette")
+ , m_rs232(*this, "rs232")
, m_row(*this, "ROW%u", 0U)
, m_special(*this, "SPECIAL")
{ }
@@ -113,11 +128,13 @@ class kim1_state : public driver_device
required_device_array m_miot;
required_device m_digit_pwm;
required_device m_cass;
- required_ioport_array<3> m_row;
+ required_device m_rs232;
+ required_ioport_array<4> m_row;
required_ioport m_special;
int m_sync_state = 0;
bool m_k7 = false;
+ bool m_tty_in = false;
uint8_t m_u2_port_b = 0;
uint8_t m_311_output = 0;
uint32_t m_cassette_high_count = 0;
@@ -134,6 +151,7 @@ class kim1_state : public driver_device
void u2_write_b(uint8_t data);
TIMER_DEVICE_CALLBACK_MEMBER(cassette_input);
+ void tty_callback(int data);
};
void kim1_state::machine_start()
@@ -141,6 +159,7 @@ void kim1_state::machine_start()
// Register for save states
save_item(NAME(m_sync_state));
save_item(NAME(m_k7));
+ save_item(NAME(m_tty_in));
save_item(NAME(m_u2_port_b));
save_item(NAME(m_311_output));
save_item(NAME(m_cassette_high_count));
@@ -153,6 +172,15 @@ void kim1_state::machine_reset()
}
+static DEVICE_INPUT_DEFAULTS_START(terminal)
+ DEVICE_INPUT_DEFAULTS("RS232_RXBAUD", 0xff, RS232_BAUD_2400)
+ DEVICE_INPUT_DEFAULTS("RS232_TXBAUD", 0xff, RS232_BAUD_2400)
+ DEVICE_INPUT_DEFAULTS("RS232_DATABITS", 0xff, RS232_DATABITS_8)
+ DEVICE_INPUT_DEFAULTS("RS232_PARITY", 0xff, RS232_PARITY_NONE)
+ DEVICE_INPUT_DEFAULTS("RS232_STOPBITS", 0xff, RS232_STOPBITS_2)
+DEVICE_INPUT_DEFAULTS_END
+
+
//**************************************************************************
// I/O
//**************************************************************************
@@ -195,10 +223,13 @@ uint8_t kim1_state::u2_read_a()
// Read from keyboard
offs_t const sel = (m_u2_port_b >> 1) & 0x0f;
- if (3U > sel)
+ if (4U > sel)
data = m_row[sel]->read() & 0x7f;
- return data | 0x80;
+ // Read from serial console
+ data = data | (m_rs232->rxd_r() << 7);
+
+ return data;
}
void kim1_state::u2_write_a(uint8_t data)
@@ -226,6 +257,9 @@ void kim1_state::u2_write_b(uint8_t data)
// Cassette write/speaker update
if (data & 0x20)
m_cass->output((data & 0x80) ? -1.0 : 1.0);
+
+ // Write bit 0 to serial console. The hardware ANDs it with TTY in.
+ m_rs232->write_txd(BIT(data, 0) & (m_tty_in ? 1 : 0));
}
TIMER_DEVICE_CALLBACK_MEMBER(kim1_state::cassette_input)
@@ -266,6 +300,17 @@ void kim1_state::sync_map(address_map &map)
map(0x0000, 0xffff).r(FUNC(kim1_state::sync_r));
}
+// Called when serial data comes in from console.
+void kim1_state::tty_callback(int data)
+{
+ // Save state as it is needed by u2_write_b()
+ m_tty_in = data;
+
+ // Send data back to terminal to simulate the KIM-1 hardware
+ // echo. The hardware ANDs this with U2 port B port 0.
+ m_rs232->write_txd(data & BIT(m_u2_port_b, 0));
+}
+
//**************************************************************************
// INPUT PORTS
@@ -299,6 +344,9 @@ static INPUT_PORTS_START( kim1 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_F) PORT_CHAR('F')
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_E) PORT_CHAR('E')
+ PORT_START("ROW3")
+ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_CODE(KEYCODE_T) PORT_TOGGLE PORT_NAME("TTY")
+
PORT_START("SPECIAL")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_S) PORT_CHAR('S') PORT_NAME("ST") PORT_CHANGED_MEMBER(DEVICE_SELF, kim1_state, trigger_nmi, 0)
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_CODE(KEYCODE_R) PORT_CHAR('R') PORT_NAME("RS") PORT_CHANGED_MEMBER(DEVICE_SELF, kim1_state, trigger_reset, 0)
@@ -338,6 +386,11 @@ void kim1_state::kim1(machine_config &config)
m_cass->add_route(ALL_OUTPUTS, "mono", 0.05);
m_cass->set_interface("kim1_cass");
+ // serial console/tty
+ rs232_port_device &m_rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
+ m_rs232.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal));
+ m_rs232.rxd_handler().set(FUNC(kim1_state::tty_callback));
+
SPEAKER(config, "mono").front_center();
TIMER(config, "cassette_timer").configure_periodic(FUNC(kim1_state::cassette_input), attotime::from_hz(44100));
diff --git a/src/mame/dataeast/deco32.cpp b/src/mame/dataeast/deco32.cpp
index c7726ecfc850c..66a801a042fef 100644
--- a/src/mame/dataeast/deco32.cpp
+++ b/src/mame/dataeast/deco32.cpp
@@ -393,13 +393,13 @@ void captaven_state::captaven_map(address_map &map)
map(0x000000, 0x0fffff).rom();
map(0x100000, 0x100007).r(FUNC(captaven_state::_71_r));
map(0x100000, 0x100003).w(FUNC(captaven_state::buffer_spriteram_w<0>));
- map(0x108000, 0x108003).nopw(); /* ? */
+ map(0x108000, 0x108003).nopw(); // ?
map(0x110000, 0x111fff).rw(FUNC(captaven_state::spriteram_r<0>), FUNC(captaven_state::spriteram_w<0>));
- map(0x120000, 0x127fff).ram(); /* Main RAM */
+ map(0x120000, 0x127fff).ram(); // Main RAM
map(0x128000, 0x12ffff).rw(FUNC(captaven_state::ioprot_r), FUNC(captaven_state::ioprot_w)).umask32(0x0000ffff);
map(0x130000, 0x131fff).ram().w(m_palette, FUNC(palette_device::write32)).share("palette");
map(0x148000, 0x14800f).m(m_deco_irq, FUNC(deco_irq_device::map)).umask32(0x000000ff);
- map(0x160000, 0x167fff).ram(); /* Extra work RAM */
+ map(0x160000, 0x167fff).ram(); // Extra work RAM
map(0x168000, 0x168000).lr8(NAME([this] () { return m_io_dsw[0]->read(); }));
map(0x168001, 0x168001).lr8(NAME([this] () { return m_io_dsw[1]->read(); }));
map(0x168002, 0x168002).lr8(NAME([this] () { return m_io_dsw[2]->read(); }));
@@ -407,7 +407,7 @@ void captaven_state::captaven_map(address_map &map)
map(0x178000, 0x178003).w(FUNC(captaven_state::pri_w));
map(0x180000, 0x18001f).rw("tilegen1", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
map(0x190000, 0x191fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
- map(0x192000, 0x193fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w)); /* Mirror address - bug in program code */
+ map(0x192000, 0x193fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w)); // Mirror address - bug in program code
map(0x194000, 0x195fff).rw("tilegen1", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
map(0x1a0000, 0x1a3fff).ram().w(FUNC(captaven_state::pf_rowscroll_w<0>)).share("pf1_rowscroll32");
map(0x1a4000, 0x1a5fff).ram().w(FUNC(captaven_state::pf_rowscroll_w<1>)).share("pf2_rowscroll32");
@@ -448,7 +448,7 @@ void fghthist_state::fghthist_map(address_map &map)
map(0x1d4000, 0x1d5fff).ram().w(FUNC(fghthist_state::pf_rowscroll_w<3>)).share("pf4_rowscroll32");
map(0x1e0000, 0x1e001f).rw("tilegen2", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
map(0x200000, 0x207fff).rw(FUNC(fghthist_state::ioprot_r), FUNC(fghthist_state::ioprot_w)).umask32(0xffff0000).share("prot32ram"); // only maps on 16-bits
- map(0x208800, 0x208803).nopw(); /* ? */
+ map(0x208800, 0x208803).nopw(); // ?
}
void fghthist_state::fghthsta_memmap(address_map &map)
@@ -484,7 +484,7 @@ void dragngun_state::namcosprite_map(address_map &map)
map(0x20c000, 0x20cfff).ram().share("lay1");
map(0x210000, 0x217fff).ram().share("look0");
map(0x218000, 0x21ffff).ram().share("look1");
- map(0x220000, 0x221fff).ram().share("spriteram"); /* Main spriteram */
+ map(0x220000, 0x221fff).ram().share("spriteram"); // Main spriteram
map(0x228000, 0x2283ff).ram().share("spindex"); // sprite index (just a table 0x00-0xff here)
map(0x230000, 0x230003).w(FUNC(dragngun_state::spriteram_dma_w));
}
@@ -499,7 +499,7 @@ void dragngun_state::dragngun_map(address_map &map)
// map(0x01204c0, 0x01204c3).w(FUNC(dragngun_state::sound_w));
map(0x0128000, 0x012800f).m(m_deco_irq, FUNC(deco_irq_device::map)).umask32(0x000000ff);
map(0x0130000, 0x0131fff).ram().w(FUNC(dragngun_state::buffered_palette_w)).share("paletteram");
- map(0x0138000, 0x0138003).noprw(); /* Palette dma complete in bit 0x8? ack? return 0 else tight loop */
+ map(0x0138000, 0x0138003).noprw(); // Palette dma complete in bit 0x8? ack? return 0 else tight loop
map(0x0138008, 0x013800b).w(FUNC(dragngun_state::palette_dma_w));
// map(0x0150000, 0x0150003).nopw(); // Unknown; Masking related?
// map(0x0160000, 0x0160003).w(FUNC(dragngun_state::pri_w)); // priority
@@ -540,7 +540,7 @@ void dragngun_state::dragngun_map(address_map &map)
void dragngun_state::lockloadu_map(address_map &map)
{
dragngun_map(map);
- map(0x0170000, 0x0170007).r(FUNC(dragngun_state::lockload_gun_mirror_r)); /* Not on Dragongun */
+ map(0x0170000, 0x0170007).r(FUNC(dragngun_state::lockload_gun_mirror_r)); // Not on Dragongun
}
void dragngun_state::lockload_map(address_map &map)
@@ -552,8 +552,8 @@ void dragngun_state::lockload_map(address_map &map)
map(0x130000, 0x131fff).ram().w(FUNC(dragngun_state::buffered_palette_w)).share("paletteram");
map(0x138000, 0x138003).readonly().nopw(); //palette dma complete in bit 0x8? ack? return 0 else tight loop
map(0x138008, 0x13800b).w(FUNC(dragngun_state::palette_dma_w));
- map(0x170000, 0x170007).r(FUNC(dragngun_state::lockload_gun_mirror_r)); /* Not on Dragongun */
- map(0x178008, 0x17800f).w(FUNC(dragngun_state::gun_irq_ack_w)); /* Gun read ACK's */
+ map(0x170000, 0x170007).r(FUNC(dragngun_state::lockload_gun_mirror_r)); // Not on Dragongun
+ map(0x178008, 0x17800f).w(FUNC(dragngun_state::gun_irq_ack_w)); // Gun read ACK's
map(0x180000, 0x18001f).rw("tilegen1", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
map(0x190000, 0x191fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
map(0x194000, 0x195fff).rw("tilegen1", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
@@ -575,55 +575,55 @@ void dragngun_state::lockload_map(address_map &map)
map(0x500000, 0x500003).w(FUNC(dragngun_state::sprite_control_w));
}
-void nslasher_state::tattass_map(address_map &map)
+void tattass_state::tattass_map(address_map &map)
{
map(0x000000, 0x0f7fff).rom();
map(0x0f8000, 0x0fffff).rom().nopw();
map(0x100000, 0x11ffff).ram();
- map(0x120000, 0x120003).noprw(); /* ACIA (unused) */
- map(0x130000, 0x130003).nopw(); /* Coin port (unused?) */
- map(0x140000, 0x140003).w(FUNC(nslasher_state::vblank_ack_w));
- map(0x150000, 0x150003).w(FUNC(nslasher_state::tattass_control_w)); /* Volume port/Eprom/Priority */
- map(0x162000, 0x162fff).ram(); /* 'Jack' RAM!? */
- map(0x163000, 0x16309f).rw(m_deco_ace, FUNC(deco_ace_device::ace_r), FUNC(deco_ace_device::ace_w)).umask32(0x0000ffff); /* 'Ace' RAM */
- map(0x164000, 0x164000).w(FUNC(nslasher_state::tilemap_color_bank_w));
- map(0x164004, 0x164004).w(FUNC(nslasher_state::sprite1_color_bank_w));
- map(0x164008, 0x164008).w(FUNC(nslasher_state::sprite2_color_bank_w));
+ map(0x120000, 0x120003).noprw(); // ACIA (unused)
+ map(0x130000, 0x130003).nopw(); // Coin port (unused?)
+ map(0x140000, 0x140003).w(FUNC(tattass_state::vblank_ack_w));
+ map(0x150000, 0x150003).w(FUNC(tattass_state::tattass_control_w)); // Volume port/Eprom/Priority
+ map(0x162000, 0x162fff).ram(); // 'Jack' RAM!?
+ map(0x163000, 0x16309f).rw(m_deco_ace, FUNC(deco_ace_device::ace_r), FUNC(deco_ace_device::ace_w)).umask32(0x0000ffff); // 'Ace' RAM
+ map(0x164000, 0x164000).w(FUNC(tattass_state::tilemap_color_bank_w));
+ map(0x164004, 0x164004).w(FUNC(tattass_state::sprite1_color_bank_w));
+ map(0x164008, 0x164008).w(FUNC(tattass_state::sprite2_color_bank_w));
map(0x16400c, 0x16400f).nopw();
map(0x168000, 0x169fff).rw(m_deco_ace, FUNC(deco_ace_device::buffered_palette_r), FUNC(deco_ace_device::buffered_palette_w));
map(0x16c000, 0x16c003).nopw();
map(0x16c008, 0x16c00b).w(m_deco_ace, FUNC(deco_ace_device::palette_dma_w));
- map(0x170000, 0x171fff).rw(FUNC(nslasher_state::spriteram_r<0>), FUNC(nslasher_state::spriteram_w<0>));
- map(0x174000, 0x174003).nopw(); /* Sprite DMA mode (2) */
- map(0x174010, 0x174013).w(FUNC(nslasher_state::buffer_spriteram_w<0>));
- map(0x174018, 0x17401b).nopw(); /* Sprite 'CPU' (unused) */
- map(0x178000, 0x179fff).rw(FUNC(nslasher_state::spriteram_r<1>), FUNC(nslasher_state::spriteram_w<1>));
- map(0x17c000, 0x17c003).nopw(); /* Sprite DMA mode (2) */
- map(0x17c010, 0x17c013).w(FUNC(nslasher_state::buffer_spriteram_w<1>));
- map(0x17c018, 0x17c01b).nopw(); /* Sprite 'CPU' (unused) */
+ map(0x170000, 0x171fff).rw(FUNC(tattass_state::spriteram_r<0>), FUNC(tattass_state::spriteram_w<0>));
+ map(0x174000, 0x174003).nopw(); // Sprite DMA mode (2)
+ map(0x174010, 0x174013).w(FUNC(tattass_state::buffer_spriteram_w<0>));
+ map(0x174018, 0x17401b).nopw(); // Sprite 'CPU' (unused)
+ map(0x178000, 0x179fff).rw(FUNC(tattass_state::spriteram_r<1>), FUNC(tattass_state::spriteram_w<1>));
+ map(0x17c000, 0x17c003).nopw(); // Sprite DMA mode (2)
+ map(0x17c010, 0x17c013).w(FUNC(tattass_state::buffer_spriteram_w<1>));
+ map(0x17c018, 0x17c01b).nopw(); // Sprite 'CPU' (unused)
map(0x182000, 0x183fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
map(0x184000, 0x185fff).rw("tilegen1", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
- map(0x192000, 0x193fff).ram().w(FUNC(nslasher_state::pf_rowscroll_w<0>)).share("pf1_rowscroll32");
- map(0x194000, 0x195fff).ram().w(FUNC(nslasher_state::pf_rowscroll_w<1>)).share("pf2_rowscroll32");
+ map(0x192000, 0x193fff).ram().w(FUNC(tattass_state::pf_rowscroll_w<0>)).share("pf1_rowscroll32");
+ map(0x194000, 0x195fff).ram().w(FUNC(tattass_state::pf_rowscroll_w<1>)).share("pf2_rowscroll32");
map(0x1a0000, 0x1a001f).rw("tilegen1", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
map(0x1c2000, 0x1c3fff).rw("tilegen2", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
map(0x1c4000, 0x1c5fff).rw("tilegen2", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
- map(0x1d2000, 0x1d3fff).ram().w(FUNC(nslasher_state::pf_rowscroll_w<2>)).share("pf3_rowscroll32");
- map(0x1d4000, 0x1d5fff).ram().w(FUNC(nslasher_state::pf_rowscroll_w<3>)).share("pf4_rowscroll32");
+ map(0x1d2000, 0x1d3fff).ram().w(FUNC(tattass_state::pf_rowscroll_w<2>)).share("pf3_rowscroll32");
+ map(0x1d4000, 0x1d5fff).ram().w(FUNC(tattass_state::pf_rowscroll_w<3>)).share("pf4_rowscroll32");
map(0x1e0000, 0x1e001f).rw("tilegen2", FUNC(deco16ic_device::pf_control_dword_r), FUNC(deco16ic_device::pf_control_dword_w));
- map(0x200000, 0x207fff).rw(FUNC(nslasher_state::ioprot_r), FUNC(nslasher_state::ioprot_w)).umask32(0xffff0000);
- map(0x200000, 0x207fff).r(FUNC(nslasher_state::nslasher_debug_r)).umask32(0x0000ffff);
+ map(0x200000, 0x207fff).rw(FUNC(tattass_state::ioprot_r), FUNC(tattass_state::ioprot_w)).umask32(0xffff0000);
+ map(0x200000, 0x207fff).r(FUNC(tattass_state::nslasher_debug_r)).umask32(0x0000ffff);
}
void nslasher_state::nslasher_map(address_map &map)
{
map(0x000000, 0x0fffff).rom();
map(0x100000, 0x11ffff).ram();
- map(0x120000, 0x1200ff).noprw(); /* ACIA (unused) */
+ map(0x120000, 0x1200ff).noprw(); // ACIA (unused)
map(0x140000, 0x140003).w(FUNC(nslasher_state::vblank_ack_w));
map(0x150000, 0x150000).w(FUNC(nslasher_state::eeprom_w));
map(0x150001, 0x150001).w(FUNC(nslasher_state::volume_w));
- map(0x163000, 0x16309f).rw(m_deco_ace, FUNC(deco_ace_device::ace_r), FUNC(deco_ace_device::ace_w)).umask32(0x0000ffff); /* 'Ace' RAM */
+ map(0x163000, 0x16309f).rw(m_deco_ace, FUNC(deco_ace_device::ace_r), FUNC(deco_ace_device::ace_w)).umask32(0x0000ffff); // 'Ace' RAM
map(0x164000, 0x164000).w(FUNC(nslasher_state::tilemap_color_bank_w));
map(0x164004, 0x164004).w(FUNC(nslasher_state::sprite1_color_bank_w));
map(0x164008, 0x164008).w(FUNC(nslasher_state::sprite2_color_bank_w));
@@ -632,13 +632,13 @@ void nslasher_state::nslasher_map(address_map &map)
map(0x16c000, 0x16c003).nopw();
map(0x16c008, 0x16c00b).w(m_deco_ace, FUNC(deco_ace_device::palette_dma_w));
map(0x170000, 0x171fff).rw(FUNC(nslasher_state::spriteram_r<0>), FUNC(nslasher_state::spriteram_w<0>));
- map(0x174000, 0x174003).nopw(); /* Sprite DMA mode (2) */
+ map(0x174000, 0x174003).nopw(); // Sprite DMA mode (2)
map(0x174010, 0x174013).w(FUNC(nslasher_state::buffer_spriteram_w<0>));
- map(0x174018, 0x17401b).nopw(); /* Sprite 'CPU' (unused) */
+ map(0x174018, 0x17401b).nopw(); // Sprite 'CPU' (unused)
map(0x178000, 0x179fff).rw(FUNC(nslasher_state::spriteram_r<1>), FUNC(nslasher_state::spriteram_w<1>));
- map(0x17c000, 0x17c003).nopw(); /* Sprite DMA mode (2) */
+ map(0x17c000, 0x17c003).nopw(); // Sprite DMA mode (2)
map(0x17c010, 0x17c013).w(FUNC(nslasher_state::buffer_spriteram_w<1>));
- map(0x17c018, 0x17c01b).nopw(); /* Sprite 'CPU' (unused) */
+ map(0x17c018, 0x17c01b).nopw(); // Sprite 'CPU' (unused)
map(0x182000, 0x183fff).rw("tilegen1", FUNC(deco16ic_device::pf1_data_dword_r), FUNC(deco16ic_device::pf1_data_dword_w));
map(0x184000, 0x185fff).rw("tilegen1", FUNC(deco16ic_device::pf2_data_dword_r), FUNC(deco16ic_device::pf2_data_dword_w));
map(0x192000, 0x193fff).ram().w(FUNC(nslasher_state::pf_rowscroll_w<0>)).share("pf1_rowscroll32");
@@ -794,7 +794,7 @@ LC7535_VOLUME_CHANGED( dragngun_state::volume_gun_changed )
m_oki[2]->set_output_gain(ALL_OUTPUTS, m_vol_gun->normalize(attenuation_left));
}
-void nslasher_state::tattass_sound_irq_w(int state)
+void tattass_state::tattass_sound_irq_w(int state)
{
if (state)
{
@@ -967,7 +967,7 @@ u32 dragngun_state::lockload_gun_mirror_r(offs_t offset)
u32 dragngun_state::lightgun_r()
{
- /* Ports 0-3 are read, but seem unused */
+ // Ports 0-3 are read, but seem unused
switch (m_lightgun_port)
{
case 4: return m_io_light_x[0]->read();
@@ -1035,11 +1035,11 @@ void dragngun_state::eeprom_w(u8 data)
m_eeprom->cs_write(BIT(data, 2) ? ASSERT_LINE : CLEAR_LINE);
}
-void nslasher_state::tattass_control_w(offs_t offset, u32 data, u32 mem_mask)
+void tattass_state::tattass_control_w(offs_t offset, u32 data, u32 mem_mask)
{
- /* Eprom in low byte */
+ // Eprom in low byte
if (ACCESSING_BITS_0_7)
- { /* Byte write to low byte only (different from word writing including low byte) */
+ { // Byte write to low byte only (different from word writing including low byte)
/*
The Tattoo Assassins eprom seems strange... It's 1024 bytes in size, and 8 bit
in width, but offers a 'multiple read' mode where a bit stream can be read
@@ -1075,7 +1075,7 @@ void nslasher_state::tattass_control_w(offs_t offset, u32 data, u32 mem_mask)
m_read_bit_count = 0;
}
- /* Eprom has been clocked */
+ // Eprom has been clocked
if (m_last_clock == 0 && BIT(data, 5) && BIT(data, 6))
{
if (m_buf_ptr >= 32)
@@ -1084,7 +1084,7 @@ void nslasher_state::tattass_control_w(offs_t offset, u32 data, u32 mem_mask)
m_buf_ptr = 0;
}
- /* Handle pending read */
+ // Handle pending read
if (m_pending_command == 1)
{
const int d = m_read_bit_count >> 3;
@@ -1099,7 +1099,7 @@ void nslasher_state::tattass_control_w(offs_t offset, u32 data, u32 mem_mask)
return;
}
- /* Handle pending write */
+ // Handle pending write
if (m_pending_command == 2)
{
m_buffer = (m_buffer << 1) | BIT(data, 4);
@@ -1118,10 +1118,10 @@ void nslasher_state::tattass_control_w(offs_t offset, u32 data, u32 mem_mask)
m_buf_ptr++;
if (m_buf_ptr == 24)
{
- /* Decode addr */
+ // Decode addr
m_byte_addr = ((m_buffer & 0x180000) >> 11) | (m_buffer & 0x0000ff);
- /* Check for read command */
+ // Check for read command
if ((m_buffer & 0xc00000) == 0xc00000)
{
m_tattass_eprom_bit = (m_eeprom->internal_read(m_byte_addr) >> 7) & 1;
@@ -1129,7 +1129,7 @@ void nslasher_state::tattass_control_w(offs_t offset, u32 data, u32 mem_mask)
m_pending_command = 1;
}
- /* Check for write command */
+ // Check for write command
else if ((m_buffer & 0xc00000) == 0x0)
{
m_pending_command = 2;
@@ -1152,29 +1152,29 @@ void nslasher_state::tattass_control_w(offs_t offset, u32 data, u32 mem_mask)
m_last_clock = BIT(data, 5);
}
- /* Volume in high byte */
+ // Volume in high byte
if (ACCESSING_BITS_8_15)
{
//TODO: volume attenuation == ((data >> 8) & 0xff);
// TODO: is it really there?
}
- /* Playfield control - Only written in full word memory accesses */
- pri_w(data & 0x7); /* Bit 0 - layer priority toggle, Bit 1 - BG2/3 Joint mode (8bpp), Bit 2 - color fading effect mode (with/without OBJ1)? */
+ // Playfield control - Only written in full word memory accesses
+ pri_w(data & 0x7); // Bit 0 - layer priority toggle, Bit 1 - BG2/3 Joint mode (8bpp), Bit 2 - color fading effect mode (with/without OBJ1)?
- /* Sound board reset control */
+ // Sound board reset control
if (BIT(data, 7))
m_decobsmt->bsmt_reset_line(CLEAR_LINE);
else
m_decobsmt->bsmt_reset_line(ASSERT_LINE);
- /* bit 0x4 fade cancel? */
- /* bit 0x8 ?? */
- /* Bit 0x100 ?? */
+ // bit 0x4 fade cancel?
+ // bit 0x8 ??
+ // Bit 0x100 ??
//logerror("%08x: %08x data\n",data,mem_mask);
}
-u16 nslasher_state::port_b_tattass()
+u16 tattass_state::port_b_tattass()
{
return m_tattass_eprom_bit;
}
@@ -1197,8 +1197,8 @@ u16 nslasher_state::nslasher_debug_r()
u32 captaven_state::_71_r()
{
- /* Bit 0x80 goes high when sprite DMA is complete, and low
- while it's in progress, we don't bother to emulate it */
+ // Bit 0x80 goes high when sprite DMA is complete, and low
+ // while it's in progress, we don't bother to emulate it
return 0xffffffff;
}
@@ -1227,7 +1227,7 @@ void dragngun_state::expand_sprite_data()
int dragngun_state::sprite_bank_callback(int sprite)
{
- /* High bits of the sprite reference into the sprite control bits for banking */
+ // High bits of the sprite reference into the sprite control bits for banking
switch (sprite & 0x3000) {
default:
case 0x0000: sprite = (sprite & 0xfff) | ((m_sprite_ctrl & 0x000f) << 12); break;
@@ -1236,8 +1236,8 @@ int dragngun_state::sprite_bank_callback(int sprite)
case 0x3000: sprite = (sprite & 0xfff) | ((m_sprite_ctrl & 0xf000) << 0); break;
}
- /* Because of the unusual interleaved rom layout, we have to mangle the bank bits
- even further to suit our gfx decode */
+ // Because of the unusual interleaved rom layout, we have to mangle the bank bits
+ // even further to suit our gfx decode
switch (sprite & 0xf000) {
case 0x0000: sprite = 0xc000 | (sprite & 0xfff); break;
case 0x1000: sprite = 0xd000 | (sprite & 0xfff); break;
@@ -1329,12 +1329,12 @@ void dragngun_state::init_lockload()
save_item(NAME(m_oki2_bank));
}
-void nslasher_state::init_tattass()
+void tattass_state::init_tattass()
{
u8 *RAM = memregion("gfx1")->base();
std::vector tmp(0x80000);
- /* Reorder bitplanes to make decoding easier */
+ // Reorder bitplanes to make decoding easier
std::copy(&RAM[0x080000], &RAM[0x100000], tmp.begin());
std::copy(&RAM[0x100000], &RAM[0x180000], &RAM[0x080000]);
std::copy(tmp.begin(), tmp.end(), &RAM[0x100000]);
@@ -1344,8 +1344,8 @@ void nslasher_state::init_tattass()
std::copy(&RAM[0x100000], &RAM[0x180000], &RAM[0x080000]);
std::copy(tmp.begin(), tmp.end(), &RAM[0x100000]);
- deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
- deco56_decrypt_gfx(machine(), "gfx2"); /* 141 */
+ deco56_decrypt_gfx(machine(), "gfx1"); // 141
+ deco56_decrypt_gfx(machine(), "gfx2"); // 141
save_item(NAME(m_tattass_eprom_bit));
save_item(NAME(m_last_clock));
@@ -1361,7 +1361,7 @@ void nslasher_state::init_nslasher()
u8 *RAM = memregion("gfx1")->base();
std::vector tmp(0x80000);
- /* Reorder bitplanes to make decoding easier */
+ // Reorder bitplanes to make decoding easier
std::copy(&RAM[0x080000], &RAM[0x100000], tmp.begin());
std::copy(&RAM[0x100000], &RAM[0x180000], &RAM[0x080000]);
std::copy(tmp.begin(), tmp.end(), &RAM[0x100000]);
@@ -1371,13 +1371,13 @@ void nslasher_state::init_nslasher()
std::copy(&RAM[0x100000], &RAM[0x180000], &RAM[0x080000]);
std::copy(tmp.begin(), tmp.end(), &RAM[0x100000]);
- deco56_decrypt_gfx(machine(), "gfx1"); /* 141 */
+ deco56_decrypt_gfx(machine(), "gfx1"); // 141
deco74_decrypt_gfx(machine(), "gfx2");
deco156_decrypt(machine());
- /* The board for Night Slashers is very close to the Fighter's History and
- Tattoo Assassins boards, but has an encrypted ARM cpu. */
+ // The board for Night Slashers is very close to the Fighter's History and
+ // Tattoo Assassins boards, but has an encrypted ARM cpu.
}
@@ -1607,8 +1607,8 @@ static INPUT_PORTS_START( dragngun )
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
PORT_START("DSW")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED ) /* Would be a dipswitch, but only 1 present on board */
- PORT_DIPNAME( 0x0100, 0x0000, "Reset" ) /* Behaves like Reset */
+ PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED ) // Would be a dipswitch, but only 1 present on board
+ PORT_DIPNAME( 0x0100, 0x0000, "Reset" ) // Behaves like Reset
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0100, DEF_STR( On ) )
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
@@ -1682,7 +1682,7 @@ static INPUT_PORTS_START( lockload )
PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
PORT_START("DSW")
- PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED ) /* Would be a dipswitch, but only 1 present on board */
+ PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED ) // Would be a dipswitch, but only 1 present on board
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Free_Play ) )
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
@@ -1752,7 +1752,7 @@ static INPUT_PORTS_START( tattass )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW )
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) /* 'soundmask' */
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) // 'soundmask'
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
@@ -1790,7 +1790,7 @@ static INPUT_PORTS_START( nslasher )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_SERVICE_NO_TOGGLE( 0x0008, IP_ACTIVE_LOW )
PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_VBLANK("screen")
- PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) /* 'soundmask' */
+ PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) // 'soundmask'
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(3) PORT_8WAY
@@ -1816,7 +1816,7 @@ static const gfx_layout charlayout =
{ RGN_FRAC(1,2)+8, RGN_FRAC(1,2), 8, 0 },
{ STEP8(0,1) },
{ STEP8(0,8*2) },
- 16*8 /* every char takes 8 consecutive bytes */
+ 16*8 // every char takes 8 consecutive bytes
};
static const gfx_layout tilelayout =
@@ -1853,31 +1853,31 @@ static const gfx_layout tilelayout_5bpp =
};
static GFXDECODE_START( gfx_captaven )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 128 ) /* Characters 8x8 */
- GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 128 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx2", 0, tilelayout_8bpp, 0, 8 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 0, 32 ) /* Sprites 16x16 */
+ GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 128 ) // Characters 8x8
+ GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 128 ) // Tiles 16x16
+ GFXDECODE_ENTRY( "gfx2", 0, tilelayout_8bpp, 0, 8 ) // Tiles 16x16
+ GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 0, 32 ) // Sprites 16x16
GFXDECODE_END
static GFXDECODE_START( gfx_fghthist )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 128 ) /* Characters 8x8 */
- GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 128 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 128 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 1024, 32 ) /* Sprites 16x16 */
+ GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 128 ) // Characters 8x8
+ GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 128 ) // Tiles 16x16
+ GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 128 ) // Tiles 16x16
+ GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 1024, 32 ) // Sprites 16x16
GFXDECODE_END
static GFXDECODE_START( gfx_dragngun )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 64 ) /* Characters 8x8 */
- GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 64 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx3", 0, tilelayout_8bpp, 0, 8 ) /* Tiles 16x16 */
+ GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 64 ) // Characters 8x8
+ GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 64 ) // Tiles 16x16
+ GFXDECODE_ENTRY( "gfx3", 0, tilelayout_8bpp, 0, 8 ) // Tiles 16x16
GFXDECODE_END
static GFXDECODE_START( gfx_nslasher )
- GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0x800, 128 ) /* Characters 8x8 */
- GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 128 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 128 ) /* Tiles 16x16 */
- GFXDECODE_ENTRY( "gfx3", 0, tilelayout_5bpp, 0, 16 ) /* Sprites 16x16 */
- GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 0, 16 ) /* Sprites 16x16 */
+ GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0x800, 128 ) // Characters 8x8
+ GFXDECODE_ENTRY( "gfx1", 0, tilelayout, 0, 128 ) // Tiles 16x16
+ GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 0, 128 ) // Tiles 16x16
+ GFXDECODE_ENTRY( "gfx3", 0, tilelayout_5bpp, 0, 16 ) // Sprites 16x16
+ GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 0, 16 ) // Sprites 16x16
GFXDECODE_END
@@ -1887,11 +1887,11 @@ GFXDECODE_END
void captaven_state::captaven(machine_config &config)
{
- /* basic machine hardware */
- ARM(config, m_maincpu, XTAL(28'000'000)/4); /* verified on pcb (Data East 101 custom)*/
+ // basic machine hardware
+ ARM(config, m_maincpu, XTAL(28'000'000)/4); // verified on pcb (Data East 101 custom)*/
m_maincpu->set_addrmap(AS_PROGRAM, &captaven_state::captaven_map);
- h6280_device &audiocpu(H6280(config, m_audiocpu, XTAL(32'220'000)/4/3)); /* pin 10 is 32mhz/4, pin 14 is High so internal divisor is 3 (verified on pcb) */
+ h6280_device &audiocpu(H6280(config, m_audiocpu, XTAL(32'220'000)/4/3)); // pin 10 is 32mhz/4, pin 14 is High so internal divisor is 3 (verified on pcb)
audiocpu.set_addrmap(AS_PROGRAM, &captaven_state::h6280_sound_map);
audiocpu.add_route(ALL_OUTPUTS, "lspeaker", 0); // internal sound unused
audiocpu.add_route(ALL_OUTPUTS, "rspeaker", 0);
@@ -1947,21 +1947,21 @@ void captaven_state::captaven(machine_config &config)
m_ioprot->port_c_cb().set_ioport("IN1");
m_ioprot->soundlatch_irq_cb().set_inputline(m_audiocpu, 0);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
- YM2151(config, m_ym2151, XTAL(32'220'000)/9); /* verified on pcb */
+ YM2151(config, m_ym2151, XTAL(32'220'000)/9); // verified on pcb
m_ym2151->irq_handler().set_inputline(m_audiocpu, 1);
m_ym2151->port_write_handler().set(FUNC(deco32_state::sound_bankswitch_w));
m_ym2151->add_route(0, "lspeaker", 0.42);
m_ym2151->add_route(1, "rspeaker", 0.42);
- OKIM6295(config, m_oki[0], XTAL(32'220'000)/32, okim6295_device::PIN7_HIGH); /* verified on pcb; pin 7 is floating to 2.5V (left unconnected), so I presume High */
+ OKIM6295(config, m_oki[0], XTAL(32'220'000)/32, okim6295_device::PIN7_HIGH); // verified on pcb; pin 7 is floating to 2.5V (left unconnected), so I presume High
m_oki[0]->add_route(ALL_OUTPUTS, "lspeaker", 1.0);
m_oki[0]->add_route(ALL_OUTPUTS, "rspeaker", 1.0);
- OKIM6295(config, m_oki[1], XTAL(32'220'000)/16, okim6295_device::PIN7_HIGH); /* verified on pcb; pin 7 is floating to 2.5V (left unconnected), so I presume High */
+ OKIM6295(config, m_oki[1], XTAL(32'220'000)/16, okim6295_device::PIN7_HIGH); // verified on pcb; pin 7 is floating to 2.5V (left unconnected), so I presume High
m_oki[1]->add_route(ALL_OUTPUTS, "lspeaker", 0.35);
m_oki[1]->add_route(ALL_OUTPUTS, "rspeaker", 0.35);
}
@@ -2025,7 +2025,7 @@ void fghthist_state::fghthist(machine_config &config)
m_ioprot->set_interface_scramble_interleave();
m_ioprot->set_use_magic_read_address_xor(true);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -2081,7 +2081,7 @@ void fghthist_state::fghthistu(machine_config &config)
// DE-0359-2 + Bottom board DE-0360-4
void dragngun_state::dragngun(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
ARM(config, m_maincpu, XTAL(28'000'000) / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &dragngun_state::dragngun_map);
@@ -2099,7 +2099,7 @@ void dragngun_state::dragngun(machine_config &config)
EEPROM_93C46_16BIT(config, m_eeprom);
- /* video hardware */
+ // video hardware
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(XTAL(28'000'000) / 4, 442, 0, 320, 274, 8, 248);
m_screen->set_screen_update(FUNC(dragngun_state::screen_update));
@@ -2149,7 +2149,7 @@ void dragngun_state::dragngun(machine_config &config)
m_ioprot->soundlatch_irq_cb().set_inputline(m_audiocpu, 0);
m_ioprot->set_interface_scramble_reverse();
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -2214,7 +2214,7 @@ void dragngun_state::namco_sprites(machine_config &config)
// DE-0420-1 + Bottom board DE-0421-0
void dragngun_state::lockload(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
ARM(config, m_maincpu, XTAL(28'000'000) / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &dragngun_state::lockload_map);
@@ -2234,11 +2234,11 @@ void dragngun_state::lockload(machine_config &config)
m_deco_irq->vblank_irq_callback().set("irq_merger", FUNC(input_merger_any_high_device::in_w<1>));
m_deco_irq->lightgun_irq_callback().set("irq_merger", FUNC(input_merger_any_high_device::in_w<2>));
- config.set_maximum_quantum(attotime::from_hz(6000)); /* to improve main<->audio comms */
+ config.set_maximum_quantum(attotime::from_hz(6000)); // to improve main<->audio comms
EEPROM_93C46_16BIT(config, m_eeprom);
- /* video hardware */
+ // video hardware
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(XTAL(28'000'000) / 4, 442, 0, 320, 274, 8, 248);
m_screen->set_screen_update(FUNC(dragngun_state::screen_update));
@@ -2283,7 +2283,7 @@ void dragngun_state::lockload(machine_config &config)
m_ioprot->soundlatch_irq_cb().set("sound_irq_merger", FUNC(input_merger_any_high_device::in_w<0>));
m_ioprot->set_interface_scramble_reverse();
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -2306,18 +2306,18 @@ void dragngun_state::lockload(machine_config &config)
m_vol_main->set_volume_callback(FUNC(dragngun_state::volume_main_changed));
}
-void nslasher_state::tattass(machine_config &config)
+void tattass_state::tattass(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
ARM(config, m_maincpu, 28000000/4); // unconfirmed
- m_maincpu->set_addrmap(AS_PROGRAM, &nslasher_state::tattass_map);
+ m_maincpu->set_addrmap(AS_PROGRAM, &tattass_state::tattass_map);
m_maincpu->set_vblank_int("screen", FUNC(deco32_state::irq0_line_assert));
EEPROM_93C76_8BIT(config, m_eeprom);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(XTAL(28'000'000) / 4, 442, 0, 320, 274, 8, 248);
- m_screen->set_screen_update(FUNC(nslasher_state::screen_update_tattass));
+ m_screen->set_screen_update(FUNC(tattass_state::screen_update_tattass));
DECO_ACE(config, m_deco_ace, 0);
@@ -2328,8 +2328,8 @@ void nslasher_state::tattass(machine_config &config)
m_deco_tilegen[0]->set_pf2_col_bank(0x10);
m_deco_tilegen[0]->set_pf1_col_mask(0x0f);
m_deco_tilegen[0]->set_pf2_col_mask(0x0f);
- m_deco_tilegen[0]->set_bank1_callback(FUNC(nslasher_state::bank_callback));
- m_deco_tilegen[0]->set_bank2_callback(FUNC(nslasher_state::bank_callback));
+ m_deco_tilegen[0]->set_bank1_callback(FUNC(tattass_state::bank_callback));
+ m_deco_tilegen[0]->set_bank2_callback(FUNC(tattass_state::bank_callback));
m_deco_tilegen[0]->set_pf12_8x8_bank(0);
m_deco_tilegen[0]->set_pf12_16x16_bank(1);
m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
@@ -2341,9 +2341,9 @@ void nslasher_state::tattass(machine_config &config)
m_deco_tilegen[1]->set_pf2_col_bank(0x30);
m_deco_tilegen[1]->set_pf1_col_mask(0x0f);
m_deco_tilegen[1]->set_pf2_col_mask(0x0f);
- m_deco_tilegen[1]->set_bank1_callback(FUNC(nslasher_state::bank_callback));
- m_deco_tilegen[1]->set_bank2_callback(FUNC(nslasher_state::bank_callback));
- m_deco_tilegen[1]->set_mix_callback(FUNC(nslasher_state::mix_callback));
+ m_deco_tilegen[1]->set_bank1_callback(FUNC(tattass_state::bank_callback));
+ m_deco_tilegen[1]->set_bank2_callback(FUNC(tattass_state::bank_callback));
+ m_deco_tilegen[1]->set_mix_callback(FUNC(tattass_state::mix_callback));
m_deco_tilegen[1]->set_pf12_8x8_bank(0);
m_deco_tilegen[1]->set_pf12_16x16_bank(2);
m_deco_tilegen[1]->set_gfxdecode_tag(m_gfxdecode);
@@ -2360,18 +2360,23 @@ void nslasher_state::tattass(machine_config &config)
DECO104PROT(config, m_ioprot, 0);
m_ioprot->port_a_cb().set_ioport("IN0");
- m_ioprot->port_b_cb().set(FUNC(nslasher_state::port_b_tattass));
+ m_ioprot->port_b_cb().set(FUNC(tattass_state::port_b_tattass));
m_ioprot->port_c_cb().set_ioport("IN1");
- m_ioprot->soundlatch_irq_cb().set(FUNC(nslasher_state::tattass_sound_irq_w));
+ m_ioprot->soundlatch_irq_cb().set(FUNC(tattass_state::tattass_sound_irq_w));
m_ioprot->set_interface_scramble_interleave();
- /* sound hardware */
+ // sound hardware
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
DECOBSMT(config, m_decobsmt, 0);
+ m_decobsmt->add_route(0, "lspeaker", 1.0);
+ m_decobsmt->add_route(1, "rspeaker", 1.0);
}
void nslasher_state::nslasher(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
ARM(config, m_maincpu, XTAL(28'322'000) / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &nslasher_state::nslasher_map);
m_maincpu->set_vblank_int("screen", FUNC(deco32_state::irq0_line_assert));
@@ -2382,7 +2387,7 @@ void nslasher_state::nslasher(machine_config &config)
INPUT_MERGER_ANY_HIGH(config, "sound_irq_merger").output_handler().set_inputline("audiocpu", INPUT_LINE_IRQ0);
- config.set_maximum_quantum(attotime::from_hz(6000)); /* to improve main<->audio comms */
+ config.set_maximum_quantum(attotime::from_hz(6000)); // to improve main<->audio comms
EEPROM_93C46_16BIT(config, m_eeprom);
@@ -2436,7 +2441,7 @@ void nslasher_state::nslasher(machine_config &config)
m_ioprot->soundlatch_irq_cb().set("sound_irq_merger", FUNC(input_merger_any_high_device::in_w<0>));
m_ioprot->set_interface_scramble_interleave();
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
@@ -2483,8 +2488,8 @@ void nslasher_state::nslasheru(machine_config &config)
#define ROM_LOAD40_WORD(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_SKIP(3))
#define ROM_LOAD40_WORD_SWAP(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_REVERSE | ROM_SKIP(3))
-ROM_START( captaven ) /* DE-0351-x PCB (x=3 or 4) */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
+ROM_START( captaven ) // DE-0351-x PCB (x=3 or 4)
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
ROM_LOAD32_BYTE( "hn_00-4.1e", 0x000000, 0x20000, CRC(147fb094) SHA1(6bd759c42f4b7f9e1c3f2d3ece0b3ec72de1a982) )
ROM_LOAD32_BYTE( "hn_01-4.1h", 0x000001, 0x20000, CRC(11ecdb95) SHA1(832b56f05ae7e15e67fbdd321da8c1cc5e7629a0) )
ROM_LOAD32_BYTE( "hn_02-4.1k", 0x000002, 0x20000, CRC(35d2681f) SHA1(3af7d959dc4842238a7f79926adf449cb7f0b2e9) )
@@ -2494,35 +2499,35 @@ ROM_START( captaven ) /* DE-0351-x PCB (x=3 or 4) */
ROM_LOAD32_BYTE( "man-14.3k", 0x080002, 0x20000, CRC(7cb9a4bd) SHA1(0af1a7bf0fcfa3cc14b38d92f19e97ad6e5541dd) )
ROM_LOAD32_BYTE( "man-15.3m", 0x080003, 0x20000, CRC(c7854fe8) SHA1(ffa87dcda44fa0111de6ab317b77dd2bde015890) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "hj_08.17k", 0x00000, 0x10000, CRC(361fbd16) SHA1(c4bbaf74e09c263044be74bb2c98caf6cfcab618) )
ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) /* Encrypted tiles */
+ ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) // Encrypted tiles
ROM_REGION( 0x500000, "gfx2", 0 )
- ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) /* Encrypted tiles */
+ ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) // Encrypted tiles
ROM_CONTINUE( 0x140000, 0x40000 )
ROM_CONTINUE( 0x280000, 0x40000 )
ROM_CONTINUE( 0x3c0000, 0x40000 )
- ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) /* Encrypted tiles */
+ ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) // Encrypted tiles
ROM_CONTINUE( 0x180000, 0x40000 )
ROM_CONTINUE( 0x2c0000, 0x40000 )
ROM_CONTINUE( 0x400000, 0x40000 )
- ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) /* Encrypted tiles */
+ ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) // Encrypted tiles
ROM_CONTINUE( 0x1c0000, 0x40000 )
ROM_CONTINUE( 0x300000, 0x40000 )
ROM_CONTINUE( 0x440000, 0x40000 )
- ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) /* Encrypted tiles */
+ ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) // Encrypted tiles
ROM_CONTINUE( 0x200000, 0x40000 )
ROM_CONTINUE( 0x340000, 0x40000 )
ROM_CONTINUE( 0x480000, 0x40000 )
- ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) /* Encrypted tiles */
+ ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) // Encrypted tiles
ROM_CONTINUE( 0x240000, 0x40000 )
ROM_CONTINUE( 0x380000, 0x40000 )
ROM_CONTINUE( 0x4c0000, 0x40000 )
- ROM_REGION( 0x400000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x400000, "gfx3", 0 ) // Sprites
ROM_LOAD( "man-06.17a", 0x200000, 0x100000, CRC(a9a64297) SHA1(e4cb441207b1907461c90c32c05a461c9bd30756) )
ROM_LOAD( "man-07.18a", 0x000000, 0x100000, CRC(b1db200c) SHA1(970bb15e90194dd285f53594aca5dec3405e75d5) )
ROM_LOAD( "man-08.17c", 0x300000, 0x100000, CRC(28e98e66) SHA1(55dbbd945eada81f7dcc874fdcb0b9e62ea453f0) )
@@ -2540,8 +2545,8 @@ ROM_START( captaven ) /* DE-0351-x PCB (x=3 or 4) */
ROM_LOAD( "ts-02.12l", 0x0400, 0x01bf, CRC(6f26528c) SHA1(2cf869b2a789a9b0646162a61c147bcbb13c9141) )
ROM_END
-ROM_START( captavena ) /* DE-0351-x PCB (x=3 or 4) */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
+ROM_START( captavena ) // DE-0351-x PCB (x=3 or 4)
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
ROM_LOAD32_BYTE( "hn_00.e1", 0x000000, 0x20000, CRC(12dd0c71) SHA1(77bd0e5f1b105ec70de5e76cb9c8138f02a496be) )
ROM_LOAD32_BYTE( "hn_01.h1", 0x000001, 0x20000, CRC(ac5ea492) SHA1(e08fa2b3e3a40cba6dcdf07049d67056d59ed72a) )
ROM_LOAD32_BYTE( "hn_02.k1", 0x000002, 0x20000, CRC(0c5e13f6) SHA1(d9ebf503db7da8663f45fe307e432545651cfc13) )
@@ -2551,35 +2556,35 @@ ROM_START( captavena ) /* DE-0351-x PCB (x=3 or 4) */
ROM_LOAD32_BYTE( "man-14.3k", 0x080002, 0x20000, CRC(7cb9a4bd) SHA1(0af1a7bf0fcfa3cc14b38d92f19e97ad6e5541dd) )
ROM_LOAD32_BYTE( "man-15.3m", 0x080003, 0x20000, CRC(c7854fe8) SHA1(ffa87dcda44fa0111de6ab317b77dd2bde015890) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "hj_08.17k", 0x00000, 0x10000, CRC(361fbd16) SHA1(c4bbaf74e09c263044be74bb2c98caf6cfcab618) )
ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) /* Encrypted tiles */
+ ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) // Encrypted tiles
ROM_REGION( 0x500000, "gfx2", 0 )
- ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) /* Encrypted tiles */
+ ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) // Encrypted tiles
ROM_CONTINUE( 0x140000, 0x40000 )
ROM_CONTINUE( 0x280000, 0x40000 )
ROM_CONTINUE( 0x3c0000, 0x40000 )
- ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) /* Encrypted tiles */
+ ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) // Encrypted tiles
ROM_CONTINUE( 0x180000, 0x40000 )
ROM_CONTINUE( 0x2c0000, 0x40000 )
ROM_CONTINUE( 0x400000, 0x40000 )
- ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) /* Encrypted tiles */
+ ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) // Encrypted tiles
ROM_CONTINUE( 0x1c0000, 0x40000 )
ROM_CONTINUE( 0x300000, 0x40000 )
ROM_CONTINUE( 0x440000, 0x40000 )
- ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) /* Encrypted tiles */
+ ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) // Encrypted tiles
ROM_CONTINUE( 0x200000, 0x40000 )
ROM_CONTINUE( 0x340000, 0x40000 )
ROM_CONTINUE( 0x480000, 0x40000 )
- ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) /* Encrypted tiles */
+ ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) // Encrypted tiles
ROM_CONTINUE( 0x240000, 0x40000 )
ROM_CONTINUE( 0x380000, 0x40000 )
ROM_CONTINUE( 0x4c0000, 0x40000 )
- ROM_REGION( 0x400000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x400000, "gfx3", 0 ) // Sprites
ROM_LOAD( "man-06.17a", 0x200000, 0x100000, CRC(a9a64297) SHA1(e4cb441207b1907461c90c32c05a461c9bd30756) )
ROM_LOAD( "man-07.18a", 0x000000, 0x100000, CRC(b1db200c) SHA1(970bb15e90194dd285f53594aca5dec3405e75d5) )
ROM_LOAD( "man-08.17c", 0x300000, 0x100000, CRC(28e98e66) SHA1(55dbbd945eada81f7dcc874fdcb0b9e62ea453f0) )
@@ -2597,8 +2602,8 @@ ROM_START( captavena ) /* DE-0351-x PCB (x=3 or 4) */
ROM_LOAD( "ts-02.12l", 0x0400, 0x01bf, CRC(6f26528c) SHA1(2cf869b2a789a9b0646162a61c147bcbb13c9141) )
ROM_END
-ROM_START( captavene ) /* DE-0351-x PCB (x=3 or 4) */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
+ROM_START( captavene ) // DE-0351-x PCB (x=3 or 4)
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
ROM_LOAD32_BYTE( "hg_00-4.1e", 0x000000, 0x20000, CRC(7008d43c) SHA1(a39143e13075ebc58ecc576391f04d2649675dfb) )
ROM_LOAD32_BYTE( "hg_01-4.1h", 0x000001, 0x20000, CRC(53dc1042) SHA1(4547ad20e5bc3b9cedae53f73f1628fa3493aafa) )
ROM_LOAD32_BYTE( "hg_02-4.1k", 0x000002, 0x20000, CRC(9e3f9ee2) SHA1(a56a68bdac58a337be48b346b6939c3f68da8e9d) )
@@ -2608,35 +2613,35 @@ ROM_START( captavene ) /* DE-0351-x PCB (x=3 or 4) */
ROM_LOAD32_BYTE( "man-14.3k", 0x080002, 0x20000, CRC(7cb9a4bd) SHA1(0af1a7bf0fcfa3cc14b38d92f19e97ad6e5541dd) )
ROM_LOAD32_BYTE( "man-15.3m", 0x080003, 0x20000, CRC(c7854fe8) SHA1(ffa87dcda44fa0111de6ab317b77dd2bde015890) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "hj_08.17k", 0x00000, 0x10000, CRC(361fbd16) SHA1(c4bbaf74e09c263044be74bb2c98caf6cfcab618) )
ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) /* Encrypted tiles */
+ ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) // Encrypted tiles
ROM_REGION( 0x500000, "gfx2", 0 )
- ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) /* Encrypted tiles */
+ ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) // Encrypted tiles
ROM_CONTINUE( 0x140000, 0x40000 )
ROM_CONTINUE( 0x280000, 0x40000 )
ROM_CONTINUE( 0x3c0000, 0x40000 )
- ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) /* Encrypted tiles */
+ ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) // Encrypted tiles
ROM_CONTINUE( 0x180000, 0x40000 )
ROM_CONTINUE( 0x2c0000, 0x40000 )
ROM_CONTINUE( 0x400000, 0x40000 )
- ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) /* Encrypted tiles */
+ ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) // Encrypted tiles
ROM_CONTINUE( 0x1c0000, 0x40000 )
ROM_CONTINUE( 0x300000, 0x40000 )
ROM_CONTINUE( 0x440000, 0x40000 )
- ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) /* Encrypted tiles */
+ ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) // Encrypted tiles
ROM_CONTINUE( 0x200000, 0x40000 )
ROM_CONTINUE( 0x340000, 0x40000 )
ROM_CONTINUE( 0x480000, 0x40000 )
- ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) /* Encrypted tiles */
+ ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) // Encrypted tiles
ROM_CONTINUE( 0x240000, 0x40000 )
ROM_CONTINUE( 0x380000, 0x40000 )
ROM_CONTINUE( 0x4c0000, 0x40000 )
- ROM_REGION( 0x400000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x400000, "gfx3", 0 ) // Sprites
ROM_LOAD( "man-06.17a", 0x200000, 0x100000, CRC(a9a64297) SHA1(e4cb441207b1907461c90c32c05a461c9bd30756) )
ROM_LOAD( "man-07.18a", 0x000000, 0x100000, CRC(b1db200c) SHA1(970bb15e90194dd285f53594aca5dec3405e75d5) )
ROM_LOAD( "man-08.17c", 0x300000, 0x100000, CRC(28e98e66) SHA1(55dbbd945eada81f7dcc874fdcb0b9e62ea453f0) )
@@ -2652,11 +2657,11 @@ ROM_START( captavene ) /* DE-0351-x PCB (x=3 or 4) */
ROM_LOAD( "ts-00.4h", 0x0000, 0x0117, CRC(ebc2908e) SHA1(dca14a55abd1d88ee09092d4122614e55c3e7f53) )
ROM_LOAD( "ts-01.5h", 0x0200, 0x0117, CRC(c776a980) SHA1(cd4bdcfb755f561fefa4c88fab5d6d2397332aa7) )
ROM_LOAD( "ts-02.12l", 0x0400, 0x01bf, CRC(6f26528c) SHA1(2cf869b2a789a9b0646162a61c147bcbb13c9141) )
- ROM_LOAD( "pal16r8b.14c", 0x0600, 0x0104, NO_DUMP ) /* PAL is read protected */
+ ROM_LOAD( "pal16r8b.14c", 0x0600, 0x0104, NO_DUMP ) // PAL is read protected
ROM_END
-ROM_START( captavenu ) /* DE-0351-x PCB (x=3 or 4) */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
+ROM_START( captavenu ) // DE-0351-x PCB (x=3 or 4)
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
ROM_LOAD32_BYTE( "hh_00-19.1e", 0x000000, 0x20000, CRC(08b870e0) SHA1(44c837e3c5dfc9764d89b0ebb3e9b7a40fe4d76f) )
ROM_LOAD32_BYTE( "hh_01-19.1h", 0x000001, 0x20000, CRC(0dc0feca) SHA1(cb1c97aac59dabcf6c37bc1562cf2f62bca951f1) )
ROM_LOAD32_BYTE( "hh_02-19.1k", 0x000002, 0x20000, CRC(26ef94c0) SHA1(985fae62a6a7ca7e1e64dba2db053b08206c65e7) )
@@ -2666,35 +2671,35 @@ ROM_START( captavenu ) /* DE-0351-x PCB (x=3 or 4) */
ROM_LOAD32_BYTE( "man-14.3k", 0x080002, 0x20000, CRC(7cb9a4bd) SHA1(0af1a7bf0fcfa3cc14b38d92f19e97ad6e5541dd) )
ROM_LOAD32_BYTE( "man-15.3m", 0x080003, 0x20000, CRC(c7854fe8) SHA1(ffa87dcda44fa0111de6ab317b77dd2bde015890) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "hj_08.17k", 0x00000, 0x10000, CRC(361fbd16) SHA1(c4bbaf74e09c263044be74bb2c98caf6cfcab618) )
ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) /* Encrypted tiles */
+ ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) // Encrypted tiles
ROM_REGION( 0x500000, "gfx2", 0 )
- ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) /* Encrypted tiles */
+ ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) // Encrypted tiles
ROM_CONTINUE( 0x140000, 0x40000 )
ROM_CONTINUE( 0x280000, 0x40000 )
ROM_CONTINUE( 0x3c0000, 0x40000 )
- ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) /* Encrypted tiles */
+ ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) // Encrypted tiles
ROM_CONTINUE( 0x180000, 0x40000 )
ROM_CONTINUE( 0x2c0000, 0x40000 )
ROM_CONTINUE( 0x400000, 0x40000 )
- ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) /* Encrypted tiles */
+ ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) // Encrypted tiles
ROM_CONTINUE( 0x1c0000, 0x40000 )
ROM_CONTINUE( 0x300000, 0x40000 )
ROM_CONTINUE( 0x440000, 0x40000 )
- ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) /* Encrypted tiles */
+ ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) // Encrypted tiles
ROM_CONTINUE( 0x200000, 0x40000 )
ROM_CONTINUE( 0x340000, 0x40000 )
ROM_CONTINUE( 0x480000, 0x40000 )
- ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) /* Encrypted tiles */
+ ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) // Encrypted tiles
ROM_CONTINUE( 0x240000, 0x40000 )
ROM_CONTINUE( 0x380000, 0x40000 )
ROM_CONTINUE( 0x4c0000, 0x40000 )
- ROM_REGION( 0x400000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x400000, "gfx3", 0 ) // Sprites
ROM_LOAD( "man-06.17a", 0x200000, 0x100000, CRC(a9a64297) SHA1(e4cb441207b1907461c90c32c05a461c9bd30756) )
ROM_LOAD( "man-07.18a", 0x000000, 0x100000, CRC(b1db200c) SHA1(970bb15e90194dd285f53594aca5dec3405e75d5) )
ROM_LOAD( "man-08.17c", 0x300000, 0x100000, CRC(28e98e66) SHA1(55dbbd945eada81f7dcc874fdcb0b9e62ea453f0) )
@@ -2712,8 +2717,8 @@ ROM_START( captavenu ) /* DE-0351-x PCB (x=3 or 4) */
ROM_LOAD( "ts-02.12l", 0x0400, 0x01bf, CRC(6f26528c) SHA1(2cf869b2a789a9b0646162a61c147bcbb13c9141) )
ROM_END
-ROM_START( captavenuu ) /* DE-0351-x PCB (x=3 or 4) */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
+ROM_START( captavenuu ) // DE-0351-x PCB (x=3 or 4)
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
ROM_LOAD32_BYTE( "hh-00.1e", 0x000000, 0x20000, CRC(c34da654) SHA1(a1988a6a45991db6dee10b484049f6703b4671c9) )
ROM_LOAD32_BYTE( "hh-01.1h", 0x000001, 0x20000, CRC(55abe63f) SHA1(98772eff3ebb5a4f243c7a77d398eb142d1505cb) )
ROM_LOAD32_BYTE( "hh-02.1k", 0x000002, 0x20000, CRC(6096a9fb) SHA1(aa81189b9c185dc5d59f888afcb17a1e4935c241) )
@@ -2723,35 +2728,35 @@ ROM_START( captavenuu ) /* DE-0351-x PCB (x=3 or 4) */
ROM_LOAD32_BYTE( "man-14.3k", 0x080002, 0x20000, CRC(7cb9a4bd) SHA1(0af1a7bf0fcfa3cc14b38d92f19e97ad6e5541dd) )
ROM_LOAD32_BYTE( "man-15.3m", 0x080003, 0x20000, CRC(c7854fe8) SHA1(ffa87dcda44fa0111de6ab317b77dd2bde015890) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "hj_08.17k", 0x00000, 0x10000, CRC(361fbd16) SHA1(c4bbaf74e09c263044be74bb2c98caf6cfcab618) )
ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) /* Encrypted tiles */
+ ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) // Encrypted tiles
ROM_REGION( 0x500000, "gfx2", 0 )
- ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) /* Encrypted tiles */
+ ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) // Encrypted tiles
ROM_CONTINUE( 0x140000, 0x40000 )
ROM_CONTINUE( 0x280000, 0x40000 )
ROM_CONTINUE( 0x3c0000, 0x40000 )
- ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) /* Encrypted tiles */
+ ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) // Encrypted tiles
ROM_CONTINUE( 0x180000, 0x40000 )
ROM_CONTINUE( 0x2c0000, 0x40000 )
ROM_CONTINUE( 0x400000, 0x40000 )
- ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) /* Encrypted tiles */
+ ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) // Encrypted tiles
ROM_CONTINUE( 0x1c0000, 0x40000 )
ROM_CONTINUE( 0x300000, 0x40000 )
ROM_CONTINUE( 0x440000, 0x40000 )
- ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) /* Encrypted tiles */
+ ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) // Encrypted tiles
ROM_CONTINUE( 0x200000, 0x40000 )
ROM_CONTINUE( 0x340000, 0x40000 )
ROM_CONTINUE( 0x480000, 0x40000 )
- ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) /* Encrypted tiles */
+ ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) // Encrypted tiles
ROM_CONTINUE( 0x240000, 0x40000 )
ROM_CONTINUE( 0x380000, 0x40000 )
ROM_CONTINUE( 0x4c0000, 0x40000 )
- ROM_REGION( 0x400000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x400000, "gfx3", 0 ) // Sprites
ROM_LOAD( "man-06.17a", 0x200000, 0x100000, CRC(a9a64297) SHA1(e4cb441207b1907461c90c32c05a461c9bd30756) )
ROM_LOAD( "man-07.18a", 0x000000, 0x100000, CRC(b1db200c) SHA1(970bb15e90194dd285f53594aca5dec3405e75d5) )
ROM_LOAD( "man-08.17c", 0x300000, 0x100000, CRC(28e98e66) SHA1(55dbbd945eada81f7dcc874fdcb0b9e62ea453f0) )
@@ -2769,8 +2774,8 @@ ROM_START( captavenuu ) /* DE-0351-x PCB (x=3 or 4) */
ROM_LOAD( "ts-02.12l", 0x0400, 0x01bf, CRC(6f26528c) SHA1(2cf869b2a789a9b0646162a61c147bcbb13c9141) )
ROM_END
-ROM_START( captavenua ) /* DE-0351-x PCB (x=3 or 4) */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
+ROM_START( captavenua ) // DE-0351-x PCB (x=3 or 4)
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
ROM_LOAD32_BYTE( "hh_00-4.2e", 0x000000, 0x20000, CRC(0e1acc05) SHA1(7eb6206efad233f9f4ee51102f9fe6b58f0719ea) )
ROM_LOAD32_BYTE( "hh_01-4.2h", 0x000001, 0x20000, CRC(4ff0351d) SHA1(15fc2662ff0d32986c4d4d074b985ad853da34e1) )
ROM_LOAD32_BYTE( "hh_02-4.2k", 0x000002, 0x20000, CRC(e84c0665) SHA1(d846f04315af49abeca00314b3d23e1d8c638dcd) )
@@ -2780,35 +2785,35 @@ ROM_START( captavenua ) /* DE-0351-x PCB (x=3 or 4) */
ROM_LOAD32_BYTE( "man-14.3k", 0x080002, 0x20000, CRC(7cb9a4bd) SHA1(0af1a7bf0fcfa3cc14b38d92f19e97ad6e5541dd) )
ROM_LOAD32_BYTE( "man-15.3m", 0x080003, 0x20000, CRC(c7854fe8) SHA1(ffa87dcda44fa0111de6ab317b77dd2bde015890) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "hj_08.17k", 0x00000, 0x10000, CRC(361fbd16) SHA1(c4bbaf74e09c263044be74bb2c98caf6cfcab618) )
ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) /* Encrypted tiles */
+ ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) // Encrypted tiles
ROM_REGION( 0x500000, "gfx2", 0 )
- ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) /* Encrypted tiles */
+ ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) // Encrypted tiles
ROM_CONTINUE( 0x140000, 0x40000 )
ROM_CONTINUE( 0x280000, 0x40000 )
ROM_CONTINUE( 0x3c0000, 0x40000 )
- ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) /* Encrypted tiles */
+ ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) // Encrypted tiles
ROM_CONTINUE( 0x180000, 0x40000 )
ROM_CONTINUE( 0x2c0000, 0x40000 )
ROM_CONTINUE( 0x400000, 0x40000 )
- ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) /* Encrypted tiles */
+ ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) // Encrypted tiles
ROM_CONTINUE( 0x1c0000, 0x40000 )
ROM_CONTINUE( 0x300000, 0x40000 )
ROM_CONTINUE( 0x440000, 0x40000 )
- ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) /* Encrypted tiles */
+ ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) // Encrypted tiles
ROM_CONTINUE( 0x200000, 0x40000 )
ROM_CONTINUE( 0x340000, 0x40000 )
ROM_CONTINUE( 0x480000, 0x40000 )
- ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) /* Encrypted tiles */
+ ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) // Encrypted tiles
ROM_CONTINUE( 0x240000, 0x40000 )
ROM_CONTINUE( 0x380000, 0x40000 )
ROM_CONTINUE( 0x4c0000, 0x40000 )
- ROM_REGION( 0x400000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x400000, "gfx3", 0 ) // Sprites
ROM_LOAD( "man-06.17a", 0x200000, 0x100000, CRC(a9a64297) SHA1(e4cb441207b1907461c90c32c05a461c9bd30756) )
ROM_LOAD( "man-07.18a", 0x000000, 0x100000, CRC(b1db200c) SHA1(970bb15e90194dd285f53594aca5dec3405e75d5) )
ROM_LOAD( "man-08.17c", 0x300000, 0x100000, CRC(28e98e66) SHA1(55dbbd945eada81f7dcc874fdcb0b9e62ea453f0) )
@@ -2826,8 +2831,8 @@ ROM_START( captavenua ) /* DE-0351-x PCB (x=3 or 4) */
ROM_LOAD( "ts-02.12l", 0x0400, 0x01bf, CRC(6f26528c) SHA1(2cf869b2a789a9b0646162a61c147bcbb13c9141) )
ROM_END
-ROM_START( captavenj ) /* DE-0351-x PCB (x=3 or 4) */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
+ROM_START( captavenj ) // DE-0351-x PCB (x=3 or 4)
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
ROM_LOAD32_BYTE( "hj_00-2.1e", 0x000000, 0x20000, CRC(10b1faaf) SHA1(9d76885200a846b4751c8d44ff591e2aff7c4148) )
ROM_LOAD32_BYTE( "hj_01-2.1h", 0x000001, 0x20000, CRC(62c59f27) SHA1(20bbb7f3ff63a8c795686c1d56d51e90305daa77) )
ROM_LOAD32_BYTE( "hj_02-2.1k", 0x000002, 0x20000, CRC(ce946cad) SHA1(9f1e92f5149e8a8d0236d5a7ba854ee100fd8488) )
@@ -2837,35 +2842,35 @@ ROM_START( captavenj ) /* DE-0351-x PCB (x=3 or 4) */
ROM_LOAD32_BYTE( "man-14.3k", 0x080002, 0x20000, CRC(7cb9a4bd) SHA1(0af1a7bf0fcfa3cc14b38d92f19e97ad6e5541dd) )
ROM_LOAD32_BYTE( "man-15.3m", 0x080003, 0x20000, CRC(c7854fe8) SHA1(ffa87dcda44fa0111de6ab317b77dd2bde015890) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "hj_08.17k", 0x00000, 0x10000, CRC(361fbd16) SHA1(c4bbaf74e09c263044be74bb2c98caf6cfcab618) )
ROM_REGION( 0x80000, "gfx1", 0 )
- ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) /* Encrypted tiles */
+ ROM_LOAD( "man-00.8a", 0x000000, 0x80000, CRC(7855a607) SHA1(fa0be080515482281e5a12fe172eeb9a21af0820) ) // Encrypted tiles
ROM_REGION( 0x500000, "gfx2", 0 )
- ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) /* Encrypted tiles */
+ ROM_LOAD( "man-05.16a", 0x000000, 0x40000, CRC(d44d1995) SHA1(e88e1a59a4b24ad058f21538f6e9bbba94a166b4) ) // Encrypted tiles
ROM_CONTINUE( 0x140000, 0x40000 )
ROM_CONTINUE( 0x280000, 0x40000 )
ROM_CONTINUE( 0x3c0000, 0x40000 )
- ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) /* Encrypted tiles */
+ ROM_LOAD( "man-04.14a", 0x040000, 0x40000, CRC(541492a1) SHA1(2e0ab12555fc46001a815e76e3a0cd21f385f82a) ) // Encrypted tiles
ROM_CONTINUE( 0x180000, 0x40000 )
ROM_CONTINUE( 0x2c0000, 0x40000 )
ROM_CONTINUE( 0x400000, 0x40000 )
- ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) /* Encrypted tiles */
+ ROM_LOAD( "man-03.12a", 0x080000, 0x40000, CRC(2d9c52b2) SHA1(8f6f4fe4f1a63099f889068991b34f9432b04fd7) ) // Encrypted tiles
ROM_CONTINUE( 0x1c0000, 0x40000 )
ROM_CONTINUE( 0x300000, 0x40000 )
ROM_CONTINUE( 0x440000, 0x40000 )
- ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) /* Encrypted tiles */
+ ROM_LOAD( "man-02.11a", 0x0c0000, 0x40000, CRC(07674c05) SHA1(08b33721d7eba4a1ff2e282f77eeb56535a52923) ) // Encrypted tiles
ROM_CONTINUE( 0x200000, 0x40000 )
ROM_CONTINUE( 0x340000, 0x40000 )
ROM_CONTINUE( 0x480000, 0x40000 )
- ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) /* Encrypted tiles */
+ ROM_LOAD( "man-01.10a", 0x100000, 0x40000, CRC(ae714ada) SHA1(b4d5806265d422c8b837489afe93731f584e4adf) ) // Encrypted tiles
ROM_CONTINUE( 0x240000, 0x40000 )
ROM_CONTINUE( 0x380000, 0x40000 )
ROM_CONTINUE( 0x4c0000, 0x40000 )
- ROM_REGION( 0x400000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x400000, "gfx3", 0 ) // Sprites
ROM_LOAD( "man-06.17a", 0x200000, 0x100000, CRC(a9a64297) SHA1(e4cb441207b1907461c90c32c05a461c9bd30756) )
ROM_LOAD( "man-07.18a", 0x000000, 0x100000, CRC(b1db200c) SHA1(970bb15e90194dd285f53594aca5dec3405e75d5) )
ROM_LOAD( "man-08.17c", 0x300000, 0x100000, CRC(28e98e66) SHA1(55dbbd945eada81f7dcc874fdcb0b9e62ea453f0) )
@@ -2884,7 +2889,7 @@ ROM_START( captavenj ) /* DE-0351-x PCB (x=3 or 4) */
ROM_END
ROM_START( dragngun )
- ROM_REGION(0x200000, "maincpu", 0 ) /* ARM 32 bit code */
+ ROM_REGION(0x200000, "maincpu", 0 ) // ARM 32 bit code
ROM_LOAD32_BYTE( "kb02.a9", 0x000000, 0x40000, CRC(4fb9cfea) SHA1(e20fbae32682fc5fdc82070d2d6c73b5b7ac13f8) )
ROM_LOAD32_BYTE( "kb06.c9", 0x000001, 0x40000, CRC(2395efec) SHA1(3c08299a6cdeebf9d3d5d367ab435eec76986194) )
ROM_LOAD32_BYTE( "kb00.a5", 0x000002, 0x40000, CRC(1539ff35) SHA1(6c82fe01f5ebf5cdd3a914cc823499fa6a26f9a9) )
@@ -2894,34 +2899,34 @@ ROM_START( dragngun )
ROM_LOAD32_BYTE( "kb01.a7", 0x100002, 0x40000, CRC(d780ba8d) SHA1(0e315c718c038962b6020945b48bcc632de6f5e1) )
ROM_LOAD32_BYTE( "kb05.c7", 0x100003, 0x40000, CRC(fbad737b) SHA1(04e16abe8c4cec4f172bea29516535511db9db90) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "kb10.n25", 0x00000, 0x10000, CRC(ec56f560) SHA1(feb9491683ba7f1000edebb568d6b3471fcc87fb) )
ROM_REGION( 0x020000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "kb08.a15", 0x00000, 0x10000, CRC(8fe4e5f5) SHA1(922b94f8ce0c35e965259c11e95891ef4be913d4) ) /* Encrypted tiles */
+ ROM_LOAD16_BYTE( "kb08.a15", 0x00000, 0x10000, CRC(8fe4e5f5) SHA1(922b94f8ce0c35e965259c11e95891ef4be913d4) ) // Encrypted tiles
ROM_LOAD16_BYTE( "kb09.a17", 0x00001, 0x10000, CRC(e9dcac3f) SHA1(0621e601ffae73bbf69623042c9c8ab0526c3de6) )
ROM_REGION( 0x120000, "gfx2", 0 )
- ROM_LOAD( "mar-00.bin", 0x000000, 0x80000, CRC(d0491a37) SHA1(cc0ae1e9e5f42ba30159fb79bccd2e237cd037d0) ) /* Encrypted tiles */
+ ROM_LOAD( "mar-00.bin", 0x000000, 0x80000, CRC(d0491a37) SHA1(cc0ae1e9e5f42ba30159fb79bccd2e237cd037d0) ) // Encrypted tiles
ROM_LOAD( "mar-01.bin", 0x090000, 0x80000, CRC(d5970365) SHA1(729baf1efbef15c9f3e1d700717f5ba4f10d3014) )
ROM_REGION( 0x400000, "gfx3", 0 )
- ROM_LOAD( "mar-02.bin", 0x000000, 0x40000, CRC(c6cd4baf) SHA1(350286829a330b64f463d0a9cbbfdb71eecf5188) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x100000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x200000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x300000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mar-03.bin", 0x040000, 0x40000, CRC(793006d7) SHA1(7d8aba2fe75917f580a3a931a7defe5939a0874e) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x140000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x240000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x340000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mar-04.bin", 0x080000, 0x40000, CRC(56631a2b) SHA1(0fa3d6215df8ce923c153b96f39161ba88b2dd53) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x180000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x280000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x380000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mar-05.bin", 0x0c0000, 0x40000, CRC(ac16e7ae) SHA1(dca32e0a677a99f47a7b8e8f105483c57382f218) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x1c0000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x2c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x3c0000, 0x40000 ) /* 3/4 */
+ ROM_LOAD( "mar-02.bin", 0x000000, 0x40000, CRC(c6cd4baf) SHA1(350286829a330b64f463d0a9cbbfdb71eecf5188) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x100000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x200000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x300000, 0x40000 ) // 3/4
+ ROM_LOAD( "mar-03.bin", 0x040000, 0x40000, CRC(793006d7) SHA1(7d8aba2fe75917f580a3a931a7defe5939a0874e) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x140000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x240000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x340000, 0x40000 ) // 3/4
+ ROM_LOAD( "mar-04.bin", 0x080000, 0x40000, CRC(56631a2b) SHA1(0fa3d6215df8ce923c153b96f39161ba88b2dd53) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x180000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x280000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x380000, 0x40000 ) // 3/4
+ ROM_LOAD( "mar-05.bin", 0x0c0000, 0x40000, CRC(ac16e7ae) SHA1(dca32e0a677a99f47a7b8e8f105483c57382f218) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x1c0000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x2c0000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x3c0000, 0x40000 ) // 3/4
ROM_REGION( 0x800000*2, "c355spr", ROMREGION_ERASE00 )
ROM_LOAD32_BYTE( "mar-15.bin", 0x000000, 0x100000, CRC(ec976b20) SHA1(c120b3c56d5e02162e41dc7f726c260d0f8d2f1a) )
@@ -2935,7 +2940,7 @@ ROM_START( dragngun )
// this is standard DVI data, see http://www.fileformat.info/format/dvi/egff.htm
// there are DVI headers at 0x000000, 0x580000, 0x800000, 0xB10000, 0xB80000
- ROM_REGION32_LE( 0x1000000, "dvi", 0 ) /* Video data - unused for now */
+ ROM_REGION32_LE( 0x1000000, "dvi", 0 ) // Video data - unused for now
ROM_LOAD32_BYTE( "mar-17.bin", 0x000003, 0x100000, CRC(7799ed23) SHA1(ae28ad4fa6033a3695fa83356701b3774b26e6b0) ) // 56 V / 41 A
ROM_LOAD32_BYTE( "mar-20.bin", 0x000002, 0x100000, CRC(fa0462f0) SHA1(1a52617ad4d7abebc0f273dd979f4cf2d6a0306b) ) // 44 D / 56 V
ROM_LOAD32_BYTE( "mar-28.bin", 0x000001, 0x100000, CRC(5a2ec71d) SHA1(447c404e6bb696f7eb7c61992a99b9be56f5d6b0) ) // 56 V / 53 S
@@ -2964,7 +2969,7 @@ ROM_START( dragngun )
ROM_END
ROM_START( dragngunj )
- ROM_REGION(0x200000, "maincpu", 0 ) /* ARM 32 bit code */
+ ROM_REGION(0x200000, "maincpu", 0 ) // ARM 32 bit code
ROM_LOAD32_BYTE( "ka-02.a9", 0x000000, 0x40000, CRC(402a03f9) SHA1(cdd5da9e35191bd716eb6245360702adb6078a94) )
ROM_LOAD32_BYTE( "ka-06.c9", 0x000001, 0x40000, CRC(26822853) SHA1(8a9e61c9ac9a5aa4b21f063f700acfebac8d408b) )
ROM_LOAD32_BYTE( "ka-00.a5", 0x000002, 0x40000, CRC(cc9e321b) SHA1(591d5f13a558960dbf286ca4541be0e42b234f2f) )
@@ -2974,34 +2979,34 @@ ROM_START( dragngunj )
ROM_LOAD32_BYTE( "ka-01.a7", 0x100002, 0x40000, CRC(1b52364c) SHA1(151365adc26bc7d71a4d2fc73bca598d3aa09f81) )
ROM_LOAD32_BYTE( "ka-05.c7", 0x100003, 0x40000, CRC(4c975f52) SHA1(3c6b287c77a049e3f8822ed9d545733e8ea3357b) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "ka-10.n25", 0x00000, 0x10000, CRC(ec56f560) SHA1(feb9491683ba7f1000edebb568d6b3471fcc87fb) )
ROM_REGION( 0x020000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "ka-08.a15", 0x00000, 0x10000, CRC(8fe4e5f5) SHA1(922b94f8ce0c35e965259c11e95891ef4be913d4) ) /* Encrypted tiles */
+ ROM_LOAD16_BYTE( "ka-08.a15", 0x00000, 0x10000, CRC(8fe4e5f5) SHA1(922b94f8ce0c35e965259c11e95891ef4be913d4) ) // Encrypted tiles
ROM_LOAD16_BYTE( "ka-09.a17", 0x00001, 0x10000, CRC(e9dcac3f) SHA1(0621e601ffae73bbf69623042c9c8ab0526c3de6) )
ROM_REGION( 0x120000, "gfx2", 0 )
- ROM_LOAD( "mar-00.bin", 0x000000, 0x80000, CRC(d0491a37) SHA1(cc0ae1e9e5f42ba30159fb79bccd2e237cd037d0) ) /* Encrypted tiles */
+ ROM_LOAD( "mar-00.bin", 0x000000, 0x80000, CRC(d0491a37) SHA1(cc0ae1e9e5f42ba30159fb79bccd2e237cd037d0) ) // Encrypted tiles
ROM_LOAD( "mar-01.bin", 0x090000, 0x80000, CRC(d5970365) SHA1(729baf1efbef15c9f3e1d700717f5ba4f10d3014) )
ROM_REGION( 0x400000, "gfx3", 0 )
- ROM_LOAD( "mar-02.bin", 0x000000, 0x40000, CRC(c6cd4baf) SHA1(350286829a330b64f463d0a9cbbfdb71eecf5188) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x100000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x200000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x300000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mar-03.bin", 0x040000, 0x40000, CRC(793006d7) SHA1(7d8aba2fe75917f580a3a931a7defe5939a0874e) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x140000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x240000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x340000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mar-04.bin", 0x080000, 0x40000, CRC(56631a2b) SHA1(0fa3d6215df8ce923c153b96f39161ba88b2dd53) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x180000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x280000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x380000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mar-05.bin", 0x0c0000, 0x40000, CRC(ac16e7ae) SHA1(dca32e0a677a99f47a7b8e8f105483c57382f218) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x1c0000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x2c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x3c0000, 0x40000 ) /* 3/4 */
+ ROM_LOAD( "mar-02.bin", 0x000000, 0x40000, CRC(c6cd4baf) SHA1(350286829a330b64f463d0a9cbbfdb71eecf5188) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x100000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x200000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x300000, 0x40000 ) // 3/4
+ ROM_LOAD( "mar-03.bin", 0x040000, 0x40000, CRC(793006d7) SHA1(7d8aba2fe75917f580a3a931a7defe5939a0874e) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x140000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x240000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x340000, 0x40000 ) // 3/4
+ ROM_LOAD( "mar-04.bin", 0x080000, 0x40000, CRC(56631a2b) SHA1(0fa3d6215df8ce923c153b96f39161ba88b2dd53) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x180000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x280000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x380000, 0x40000 ) // 3/4
+ ROM_LOAD( "mar-05.bin", 0x0c0000, 0x40000, CRC(ac16e7ae) SHA1(dca32e0a677a99f47a7b8e8f105483c57382f218) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x1c0000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x2c0000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x3c0000, 0x40000 ) // 3/4
ROM_REGION( 0x800000*2, "c355spr", ROMREGION_ERASE00 )
ROM_LOAD32_BYTE( "mar-15.bin", 0x000000, 0x100000, CRC(ec976b20) SHA1(c120b3c56d5e02162e41dc7f726c260d0f8d2f1a) )
@@ -3013,7 +3018,7 @@ ROM_START( dragngunj )
ROM_LOAD32_BYTE( "mar-12.bin", 0x400002, 0x100000, CRC(4c412512) SHA1(ccd5014bc9f9648cf5fa56bb8d54fc72a7099ca3) )
ROM_LOAD32_BYTE( "mar-10.bin", 0x400003, 0x100000, CRC(73126fbc) SHA1(9b9c31335e4db726863b219072c83810008f88f9) )
- ROM_REGION32_LE( 0x1000000, "dvi", 0 ) /* Video data - unused for now */
+ ROM_REGION32_LE( 0x1000000, "dvi", 0 ) // Video data - unused for now
ROM_LOAD32_BYTE( "mar-17.bin", 0x000003, 0x100000, CRC(7799ed23) SHA1(ae28ad4fa6033a3695fa83356701b3774b26e6b0) ) // 56 V / 41 A
ROM_LOAD32_BYTE( "mar-20.bin", 0x000002, 0x100000, CRC(fa0462f0) SHA1(1a52617ad4d7abebc0f273dd979f4cf2d6a0306b) ) // 44 D / 56 V
ROM_LOAD32_BYTE( "mar-28.bin", 0x000001, 0x100000, CRC(5a2ec71d) SHA1(447c404e6bb696f7eb7c61992a99b9be56f5d6b0) ) // 56 V / 53 S
@@ -3037,21 +3042,21 @@ ROM_START( dragngunj )
ROM_LOAD( "mar-07.n19", 0x000000, 0x80000, CRC(40287d62) SHA1(c00cb08bcdae55bcddc14c38e88b0484b1bc9e3e) )
ROM_END
-ROM_START( fghthist ) /* DE-0395-1 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "lc00-1.1f", 0x000000, 0x80000, CRC(61a76a16) SHA1(b69cd3e11cf133f1b14a017391035855a5038d46) ) /* Version 43-09, Overseas */
+ROM_START( fghthist ) // DE-0395-1 PCB
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
+ ROM_LOAD32_WORD( "lc00-1.1f", 0x000000, 0x80000, CRC(61a76a16) SHA1(b69cd3e11cf133f1b14a017391035855a5038d46) ) // Version 43-09, Overseas
ROM_LOAD32_WORD( "lc01-1.2f", 0x000002, 0x80000, CRC(6f2740d1) SHA1(4fa1fe4714236028ef70d42e15a58cfd25e45363) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "lc02-1.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) // Encrypted tiles
ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) // Encrypted tiles
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x800000, "gfx3", 0 ) // Sprites
ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
@@ -3064,29 +3069,29 @@ ROM_START( fghthist ) /* DE-0395-1 PCB */
ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
+ ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) // MB7124H type prom
ROM_REGION( 0x0400, "plds", 0 )
ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
ROM_LOAD( "ve-01a.4d", 0x0200, 0x0117, CRC(109613c8) SHA1(5991e010c1bc2a827c8ee2c85a9b40e00a3167b3) )
- /* PAL16L8BCN at 8J is unpopulated */
+ // PAL16L8BCN at 8J is unpopulated
ROM_END
-ROM_START( fghthista ) /* DE-0380-2 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "kx00-3.1f", 0x000000, 0x80000, CRC(fe5eaba1) SHA1(c8a3784af487a1bbd2150abf4b1c8f3ad33da8a4) ) /* Version 43-07, Overseas */
+ROM_START( fghthista ) // DE-0380-2 PCB
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
+ ROM_LOAD32_WORD( "kx00-3.1f", 0x000000, 0x80000, CRC(fe5eaba1) SHA1(c8a3784af487a1bbd2150abf4b1c8f3ad33da8a4) ) // Version 43-07, Overseas
ROM_LOAD32_WORD( "kx01-3.2f", 0x000002, 0x80000, CRC(3fb8d738) SHA1(2fca7a3ea483f01c97fb28a0adfa6d7980d8236c) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "kx02.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) // Encrypted tiles
ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) // Encrypted tiles
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x800000, "gfx3", 0 ) // Sprites
ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
@@ -3099,28 +3104,28 @@ ROM_START( fghthista ) /* DE-0380-2 PCB */
ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
+ ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) // MB7124H type prom
ROM_REGION( 0x0400, "plds", 0 )
ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
ROM_LOAD( "ve-01.4d", 0x0200, 0x0117, CRC(4ba7e6a9) SHA1(b65d696a3519e792df226f9f148c759cdb0e1e43) )
ROM_END
-ROM_START( fghthistb ) /* DE-0380-2 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "kx00-2.1f", 0x000000, 0x80000, CRC(a7c36bbd) SHA1(590937818343da53a6bccbd3ea1d7102abd4f27e) ) /* Version 43-05, Overseas */
+ROM_START( fghthistb ) // DE-0380-2 PCB
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
+ ROM_LOAD32_WORD( "kx00-2.1f", 0x000000, 0x80000, CRC(a7c36bbd) SHA1(590937818343da53a6bccbd3ea1d7102abd4f27e) ) // Version 43-05, Overseas
ROM_LOAD32_WORD( "kx01-2.2f", 0x000002, 0x80000, CRC(bdc60bb1) SHA1(e621c5cf357f49aa62deef4da1e2227021f552ce) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "kx02.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) // Encrypted tiles
ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) // Encrypted tiles
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x800000, "gfx3", 0 ) // Sprites
ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
@@ -3133,29 +3138,29 @@ ROM_START( fghthistb ) /* DE-0380-2 PCB */
ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
+ ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) // MB7124H type prom
ROM_REGION( 0x0400, "plds", 0 )
ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
ROM_LOAD( "ve-01.4d", 0x0200, 0x0117, CRC(4ba7e6a9) SHA1(b65d696a3519e792df226f9f148c759cdb0e1e43) )
- /* PAL16L8BCN at 8J is unpopulated */
+ // PAL16L8BCN at 8J is unpopulated
ROM_END
-ROM_START( fghthistu ) /* DE-0396-0 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "lj00-3.1f", 0x000000, 0x80000, CRC(17543d60) SHA1(ff206e8552587b41d075b3c99f9ad733f1c2b5e0) ) /* Version 42-09, US */
+ROM_START( fghthistu ) // DE-0396-0 PCB
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
+ ROM_LOAD32_WORD( "lj00-3.1f", 0x000000, 0x80000, CRC(17543d60) SHA1(ff206e8552587b41d075b3c99f9ad733f1c2b5e0) ) // Version 42-09, US
ROM_LOAD32_WORD( "lj01-3.2f", 0x000002, 0x80000, CRC(e255d48f) SHA1(30444832cfed7eeb6082010eb219362adbafb826) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "lj02-.17k", 0x00000, 0x10000, CRC(146a1063) SHA1(d16734c2443bf38add54040b9dd2628ba523638d) )
ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) // Encrypted tiles
ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) // Encrypted tiles
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x800000, "gfx3", 0 ) // Sprites
ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
@@ -3168,29 +3173,29 @@ ROM_START( fghthistu ) /* DE-0396-0 PCB */
ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
+ ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) // MB7124H type prom
ROM_REGION( 0x0400, "plds", 0 )
ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
ROM_LOAD( "ve-01.4d", 0x0200, 0x0117, CRC(4ba7e6a9) SHA1(b65d696a3519e792df226f9f148c759cdb0e1e43) )
- /* PAL16L8BCN at 8J is unpopulated */
+ // PAL16L8BCN at 8J is unpopulated
ROM_END
-ROM_START( fghthistua ) /* DE-0395-1 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "le00-1.1f", 0x000000, 0x80000, CRC(fccacafb) SHA1(b7236a90a09dbd5870a16aa4e4eac5ab5c098418) ) /* Version 42-06, US */
+ROM_START( fghthistua ) // DE-0395-1 PCB
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
+ ROM_LOAD32_WORD( "le00-1.1f", 0x000000, 0x80000, CRC(fccacafb) SHA1(b7236a90a09dbd5870a16aa4e4eac5ab5c098418) ) // Version 42-06, US
ROM_LOAD32_WORD( "le01-1.2f", 0x000002, 0x80000, CRC(06a3c326) SHA1(3d8842fb69def93fc544e89fd0e56ada416157dc) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "le02.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) // Encrypted tiles
ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) // Encrypted tiles
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x800000, "gfx3", 0 ) // Sprites
ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
@@ -3203,29 +3208,29 @@ ROM_START( fghthistua ) /* DE-0395-1 PCB */
ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
+ ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) // MB7124H type prom
ROM_REGION( 0x0400, "plds", 0 )
ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
ROM_LOAD( "ve-01a.4d", 0x0200, 0x0117, CRC(109613c8) SHA1(5991e010c1bc2a827c8ee2c85a9b40e00a3167b3) )
- /* PAL16L8BCN at 8J is unpopulated */
+ // PAL16L8BCN at 8J is unpopulated
ROM_END
-ROM_START( fghthistub ) /* DE-0395-1 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "le00.1f", 0x000000, 0x80000, CRC(a5c410eb) SHA1(e2b0cb2351782e1155ecc4029010beb7326fd874) ) /* Version 42-05, US */
+ROM_START( fghthistub ) // DE-0395-1 PCB
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
+ ROM_LOAD32_WORD( "le00.1f", 0x000000, 0x80000, CRC(a5c410eb) SHA1(e2b0cb2351782e1155ecc4029010beb7326fd874) ) // Version 42-05, US
ROM_LOAD32_WORD( "le01.2f", 0x000002, 0x80000, CRC(7e148aa2) SHA1(b21e16604c4d29611f91d629deb9f041eaf41e9b) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "le02.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) // Encrypted tiles
ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) // Encrypted tiles
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x800000, "gfx3", 0 ) // Sprites
ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
@@ -3238,29 +3243,29 @@ ROM_START( fghthistub ) /* DE-0395-1 PCB */
ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
+ ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) // MB7124H type prom
ROM_REGION( 0x0400, "plds", 0 )
ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
ROM_LOAD( "ve-01a.4d", 0x0200, 0x0117, CRC(109613c8) SHA1(5991e010c1bc2a827c8ee2c85a9b40e00a3167b3) )
- /* PAL16L8BCN at 8J is unpopulated */
+ // PAL16L8BCN at 8J is unpopulated
ROM_END
-ROM_START( fghthistuc ) /* DE-0380-2 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "kz00-1.1f", 0x000000, 0x80000, CRC(3a3dd15c) SHA1(689b51adf73402b12191a75061b8e709468c91bc) ) /* Version 42-03, US */
+ROM_START( fghthistuc ) // DE-0380-2 PCB
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
+ ROM_LOAD32_WORD( "kz00-1.1f", 0x000000, 0x80000, CRC(3a3dd15c) SHA1(689b51adf73402b12191a75061b8e709468c91bc) ) // Version 42-03, US
ROM_LOAD32_WORD( "kz01-1.2f", 0x000002, 0x80000, CRC(86796cd6) SHA1(c397c07d7a1d03ba96ccb2fe7a0ad25b8331e945) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "kz02.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) // Encrypted tiles
ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) // Encrypted tiles
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x800000, "gfx3", 0 ) // Sprites
ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
@@ -3273,29 +3278,29 @@ ROM_START( fghthistuc ) /* DE-0380-2 PCB */
ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
+ ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) // MB7124H type prom
ROM_REGION( 0x0400, "plds", 0 )
ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
ROM_LOAD( "ve-01.4d", 0x0200, 0x0117, CRC(4ba7e6a9) SHA1(b65d696a3519e792df226f9f148c759cdb0e1e43) )
- /* PAL16L8BCN at 8J is unpopulated */
+ // PAL16L8BCN at 8J is unpopulated
ROM_END
-ROM_START( fghthistj ) /* DE-0395-1 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "lb00.1f", 0x000000, 0x80000, CRC(321099ad) SHA1(c5f8cedc1d349fb24b0d7b942dcda02190b1b536) ) /* Version 41-07, Japan */
+ROM_START( fghthistj ) // DE-0395-1 PCB
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
+ ROM_LOAD32_WORD( "lb00.1f", 0x000000, 0x80000, CRC(321099ad) SHA1(c5f8cedc1d349fb24b0d7b942dcda02190b1b536) ) // Version 41-07, Japan
ROM_LOAD32_WORD( "lb01.2f", 0x000002, 0x80000, CRC(22f45755) SHA1(02ba35b557085e379be98705ca5395b677a264fd) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "lb02.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) // Encrypted tiles
ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) // Encrypted tiles
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x800000, "gfx3", 0 ) // Sprites
ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
@@ -3308,29 +3313,29 @@ ROM_START( fghthistj ) /* DE-0395-1 PCB */
ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
+ ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) // MB7124H type prom
ROM_REGION( 0x0400, "plds", 0 )
ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
ROM_LOAD( "ve-01a.4d", 0x0200, 0x0117, CRC(109613c8) SHA1(5991e010c1bc2a827c8ee2c85a9b40e00a3167b3) )
- /* PAL16L8BCN at 8J is unpopulated */
+ // PAL16L8BCN at 8J is unpopulated
ROM_END
-ROM_START( fghthistja ) /* DE-0380-2 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "kw00-3.1f", 0x000000, 0x80000, CRC(ade9581a) SHA1(c1302e921f119ff9baeb52f9c338df652e64a9ee) ) /* Version 41-05, Japan */
+ROM_START( fghthistja ) // DE-0380-2 PCB
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
+ ROM_LOAD32_WORD( "kw00-3.1f", 0x000000, 0x80000, CRC(ade9581a) SHA1(c1302e921f119ff9baeb52f9c338df652e64a9ee) ) // Version 41-05, Japan
ROM_LOAD32_WORD( "kw01-3.2f", 0x000002, 0x80000, CRC(63580acf) SHA1(03372b168fe461542dd1cf64b4021d948d07e15c) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "kw02-.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) // Encrypted tiles
ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) // Encrypted tiles
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x800000, "gfx3", 0 ) // Sprites
ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
@@ -3343,29 +3348,29 @@ ROM_START( fghthistja ) /* DE-0380-2 PCB */
ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
+ ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) // MB7124H type prom
ROM_REGION( 0x0400, "plds", 0 )
ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
ROM_LOAD( "ve-01.4d", 0x0200, 0x0117, CRC(4ba7e6a9) SHA1(b65d696a3519e792df226f9f148c759cdb0e1e43) )
- /* PAL16L8BCN at 8J is unpopulated */
+ // PAL16L8BCN at 8J is unpopulated
ROM_END
-ROM_START( fghthistjb ) /* DE-0380-1 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
- ROM_LOAD32_WORD( "kw00-2.1f", 0x000000, 0x80000, CRC(f4749806) SHA1(acdbd19b350d5d8670db879c446633a991e28c05) ) /* Version 41-04, Japan */
+ROM_START( fghthistjb ) // DE-0380-1 PCB
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
+ ROM_LOAD32_WORD( "kw00-2.1f", 0x000000, 0x80000, CRC(f4749806) SHA1(acdbd19b350d5d8670db879c446633a991e28c05) ) // Version 41-04, Japan
ROM_LOAD32_WORD( "kw01-2.2f", 0x000002, 0x80000, CRC(7e0ee66a) SHA1(d62321eb9942bfe8629010fabeb42356cf7dd4d6) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "kw02-.18k", 0x00000, 0x10000, CRC(5fd2309c) SHA1(2fb7af54d5cd9bf7dd6fb4f6b82aa52b03294f1f) )
ROM_REGION( 0x100000, "gfx1", 0 )
- ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf00-8.8a", 0x000000, 0x100000, CRC(d3e9b580) SHA1(fc4676e0ecc6c32441ff66fa1f990cc3158237db) ) // Encrypted tiles
ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) /* Encrypted tiles */
+ ROM_LOAD( "mbf01-8.9a", 0x000000, 0x100000, CRC(0c6ed2eb) SHA1(8e37ef4b1f0b6d3370a08758bfd602cb5f221282) ) // Encrypted tiles
- ROM_REGION( 0x800000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x800000, "gfx3", 0 ) // Sprites
ROM_LOAD( "mbf02-16.16d", 0x000000, 0x200000, CRC(c19c5953) SHA1(e6ed26f932c6c86bbd1fc4c000aa2f510c268009) )
ROM_LOAD( "mbf03-16.17d", 0x200000, 0x200000, CRC(37d25c75) SHA1(8219d31091b4317190618edd8acc49f97cba6a1e) )
ROM_LOAD( "mbf04-16.18d", 0x400000, 0x200000, CRC(f6a23fd7) SHA1(74e5559f17cd591aa25d2ed6c34ac9ed89e2e9ba) )
@@ -3378,65 +3383,65 @@ ROM_START( fghthistjb ) /* DE-0380-1 PCB */
ROM_LOAD( "mbf07.16k", 0x000000, 0x80000, CRC(51d4adc7) SHA1(22106ed7a05db94adc5a783ce34529e29d24d41a) )
ROM_REGION(512, "proms", 0 )
- ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) /* MB7124H type prom */
+ ROM_LOAD( "kt-00.8j", 0, 512, CRC(7294354b) SHA1(14fe42ad5d26d022c0fe9a46a4a9017af2296f40) ) // MB7124H type prom
ROM_REGION( 0x0400, "plds", 0 )
ROM_LOAD( "ve-00.3d", 0x0000, 0x0117, CRC(384d316c) SHA1(61b50c695d4210c199cf6f7bbe50c8a5ecd1d21c) )
ROM_LOAD( "ve-01.4d", 0x0200, 0x0117, CRC(4ba7e6a9) SHA1(b65d696a3519e792df226f9f148c759cdb0e1e43) )
- /* PAL16L8BCN at 8J is unpopulated */
+ // PAL16L8BCN at 8J is unpopulated
ROM_END
-ROM_START( lockload ) /* Board No. DE-0420-1 + Bottom board DE-0421-0 slightly different hardware, a unique PCB and not a Dragongun conversion */
- ROM_REGION(0x200000, "maincpu", 0 ) /* ARM 32 bit code */
+ROM_START( lockload ) // Board No. DE-0420-1 + Bottom board DE-0421-0 slightly different hardware, a unique PCB and not a Dragongun conversion
+ ROM_REGION(0x200000, "maincpu", 0 ) // ARM 32 bit code
ROM_LOAD32_BYTE( "nl-00-1.a6", 0x000002, 0x80000, CRC(7a39bf8d) SHA1(8b1a6407bab74b3960a243a6c04c0005a82126f1) )
ROM_LOAD32_BYTE( "nl-01-1.a8", 0x000000, 0x80000, CRC(d23afcb7) SHA1(de7b5bc936a87cc6511d588b0bf082bbf745581c) )
ROM_LOAD32_BYTE( "nl-02-1.d6", 0x000003, 0x80000, CRC(730e0168) SHA1(fdfa0d335c03c2c528326f90948e642f9ea43150) )
ROM_LOAD32_BYTE( "nl-03-1.d8", 0x000001, 0x80000, CRC(51a53ece) SHA1(ee2c8858844a47fa1e83c30c06d78cf49219dc33) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "nm-06-.p22", 0x00000, 0x10000, CRC(31d1c245) SHA1(326e35e7ebd8ea761d90e856c50d86512327f2a5) )
ROM_REGION( 0x020000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "nl-04-.a15", 0x00000, 0x10000, CRC(f097b3d9) SHA1(5748de9a796afddd78dad7f5c184269ee533c51c) ) /* Encrypted tiles */
+ ROM_LOAD16_BYTE( "nl-04-.a15", 0x00000, 0x10000, CRC(f097b3d9) SHA1(5748de9a796afddd78dad7f5c184269ee533c51c) ) // Encrypted tiles
ROM_LOAD16_BYTE( "nl-05-.a17", 0x00001, 0x10000, CRC(448fec1e) SHA1(9a107959621cbb3688fd3ad9a8320aa5584f7d13) )
ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbm-00.d15", 0x00000, 0x80000, CRC(b97de8ff) SHA1(59508f7135af22c2ac89db78874b1e8a68c53434) ) /* Encrypted tiles */
+ ROM_LOAD( "mbm-00.d15", 0x00000, 0x80000, CRC(b97de8ff) SHA1(59508f7135af22c2ac89db78874b1e8a68c53434) ) // Encrypted tiles
ROM_LOAD( "mbm-01.d17", 0x80000, 0x80000, CRC(6d4b8fa0) SHA1(56e2b9adb4d010ba2592eccba654a24141441141) )
ROM_REGION( 0x800000, "gfx3", 0 )
- ROM_LOAD( "mbm-02.b21", 0x000000, 0x40000, CRC(e723019f) SHA1(15361d3e6db5707a7f0ead4254463c50163c864c) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x200000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x400000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x600000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x040000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x240000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x440000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x640000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-03.b22", 0x080000, 0x40000, CRC(e0d09894) SHA1(be2faa81cf92b6fadfb2ec4ca2173157b05071ec) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x280000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x480000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x680000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x0c0000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x2c0000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x4c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x6c0000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-04.e21", 0x100000, 0x40000, CRC(9e12466f) SHA1(51eaadfaf45d02d72b61052a606f97f36b3964fd) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x300000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x500000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x700000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x140000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x340000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x540000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x740000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-05.e22", 0x180000, 0x40000, CRC(6ff02dc0) SHA1(5862e2189a09f963d5ec58ca4aa1c06210a3c7ef) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x380000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x580000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x780000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x1c0000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x3c0000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x5c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x7c0000, 0x40000 ) /* 3/4 */
+ ROM_LOAD( "mbm-02.b21", 0x000000, 0x40000, CRC(e723019f) SHA1(15361d3e6db5707a7f0ead4254463c50163c864c) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x200000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x400000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x600000, 0x40000 ) // 3/4
+ ROM_CONTINUE( 0x040000, 0x40000 ) // Next block 2bpp 0/4
+ ROM_CONTINUE( 0x240000, 0x40000 ) // 1/4
+ ROM_CONTINUE( 0x440000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x640000, 0x40000 ) // 3/4
+ ROM_LOAD( "mbm-03.b22", 0x080000, 0x40000, CRC(e0d09894) SHA1(be2faa81cf92b6fadfb2ec4ca2173157b05071ec) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x280000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x480000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x680000, 0x40000 ) // 3/4
+ ROM_CONTINUE( 0x0c0000, 0x40000 ) // Next block 2bpp 0/4
+ ROM_CONTINUE( 0x2c0000, 0x40000 ) // 1/4
+ ROM_CONTINUE( 0x4c0000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x6c0000, 0x40000 ) // 3/4
+ ROM_LOAD( "mbm-04.e21", 0x100000, 0x40000, CRC(9e12466f) SHA1(51eaadfaf45d02d72b61052a606f97f36b3964fd) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x300000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x500000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x700000, 0x40000 ) // 3/4
+ ROM_CONTINUE( 0x140000, 0x40000 ) // Next block 2bpp 0/4
+ ROM_CONTINUE( 0x340000, 0x40000 ) // 1/4
+ ROM_CONTINUE( 0x540000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x740000, 0x40000 ) // 3/4
+ ROM_LOAD( "mbm-05.e22", 0x180000, 0x40000, CRC(6ff02dc0) SHA1(5862e2189a09f963d5ec58ca4aa1c06210a3c7ef) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x380000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x580000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x780000, 0x40000 ) // 3/4
+ ROM_CONTINUE( 0x1c0000, 0x40000 ) // Next block 2bpp 0/4
+ ROM_CONTINUE( 0x3c0000, 0x40000 ) // 1/4
+ ROM_CONTINUE( 0x5c0000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x7c0000, 0x40000 ) // 3/4
ROM_REGION( 0x800000*2, "c355spr", ROMREGION_ERASE00 )
ROM_LOAD32_BYTE( "mbm-14.a23", 0x000000, 0x100000, CRC(5aaaf929) SHA1(5ee30db9b83db664d77e6b5e0988ce3366460df6) )
@@ -3455,57 +3460,57 @@ ROM_START( lockload ) /* Board No. DE-0420-1 + Bottom board DE-0421-0 slightly d
ROM_LOAD( "mbm-06.n17", 0x00000, 0x100000, CRC(f34d5999) SHA1(265b5f4e8598bcf9183bf9bd95db69b01536acb2) )
ROM_END
-ROM_START( gunhard ) /* Board No. DE-0420-1 + Bottom board DE-0421-0 slightly different hardware, a unique PCB and not a Dragongun conversion */
- ROM_REGION(0x200000, "maincpu", 0 ) /* ARM 32 bit code */
+ROM_START( gunhard ) // Board No. DE-0420-1 + Bottom board DE-0421-0 slightly different hardware, a unique PCB and not a Dragongun conversion
+ ROM_REGION(0x200000, "maincpu", 0 ) // ARM 32 bit code
ROM_LOAD32_BYTE( "nf-00-1.a6", 0x000002, 0x80000, CRC(2c8045d4) SHA1(4c900951d56bd22e30905969b8eb687d9b4363bd) )
ROM_LOAD32_BYTE( "nf-01-1.a8", 0x000000, 0x80000, CRC(6f160117) SHA1(05738f61890e9d6d2b25330958c0e7369f2ff4a6) )
ROM_LOAD32_BYTE( "nf-02-1.d6", 0x000003, 0x80000, CRC(bd353948) SHA1(ddcc12b3d1c8919eb7eb961d61f6286e6b37a58e) )
ROM_LOAD32_BYTE( "nf-03-1.d8", 0x000001, 0x80000, CRC(118a9a72) SHA1(e0b2fd21f477e531d6a04256767874f13e031a48) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "nj-06-1.p22", 0x00000, 0x10000, CRC(31d1c245) SHA1(326e35e7ebd8ea761d90e856c50d86512327f2a5) )
ROM_REGION( 0x020000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "nf-04-1.a15", 0x00000, 0x10000, CRC(f097b3d9) SHA1(5748de9a796afddd78dad7f5c184269ee533c51c) ) /* Encrypted tiles */
+ ROM_LOAD16_BYTE( "nf-04-1.a15", 0x00000, 0x10000, CRC(f097b3d9) SHA1(5748de9a796afddd78dad7f5c184269ee533c51c) ) // Encrypted tiles
ROM_LOAD16_BYTE( "nf-05-1.a17", 0x00001, 0x10000, CRC(448fec1e) SHA1(9a107959621cbb3688fd3ad9a8320aa5584f7d13) )
ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbm-00.d15", 0x00000, 0x80000, CRC(b97de8ff) SHA1(59508f7135af22c2ac89db78874b1e8a68c53434) ) /* Encrypted tiles */
+ ROM_LOAD( "mbm-00.d15", 0x00000, 0x80000, CRC(b97de8ff) SHA1(59508f7135af22c2ac89db78874b1e8a68c53434) ) // Encrypted tiles
ROM_LOAD( "mbm-01.d17", 0x80000, 0x80000, CRC(6d4b8fa0) SHA1(56e2b9adb4d010ba2592eccba654a24141441141) )
ROM_REGION( 0x800000, "gfx3", 0 )
- ROM_LOAD( "mbm-02.b21", 0x000000, 0x40000, CRC(e723019f) SHA1(15361d3e6db5707a7f0ead4254463c50163c864c) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x200000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x400000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x600000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x040000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x240000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x440000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x640000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-03.b22", 0x080000, 0x40000, CRC(e0d09894) SHA1(be2faa81cf92b6fadfb2ec4ca2173157b05071ec) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x280000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x480000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x680000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x0c0000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x2c0000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x4c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x6c0000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-04.e21", 0x100000, 0x40000, CRC(9e12466f) SHA1(51eaadfaf45d02d72b61052a606f97f36b3964fd) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x300000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x500000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x700000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x140000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x340000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x540000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x740000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-05.e22", 0x180000, 0x40000, CRC(6ff02dc0) SHA1(5862e2189a09f963d5ec58ca4aa1c06210a3c7ef) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x380000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x580000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x780000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x1c0000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x3c0000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x5c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x7c0000, 0x40000 ) /* 3/4 */
+ ROM_LOAD( "mbm-02.b21", 0x000000, 0x40000, CRC(e723019f) SHA1(15361d3e6db5707a7f0ead4254463c50163c864c) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x200000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x400000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x600000, 0x40000 ) // 3/4
+ ROM_CONTINUE( 0x040000, 0x40000 ) // Next block 2bpp 0/4
+ ROM_CONTINUE( 0x240000, 0x40000 ) // 1/4
+ ROM_CONTINUE( 0x440000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x640000, 0x40000 ) // 3/4
+ ROM_LOAD( "mbm-03.b22", 0x080000, 0x40000, CRC(e0d09894) SHA1(be2faa81cf92b6fadfb2ec4ca2173157b05071ec) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x280000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x480000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x680000, 0x40000 ) // 3/4
+ ROM_CONTINUE( 0x0c0000, 0x40000 ) // Next block 2bpp 0/4
+ ROM_CONTINUE( 0x2c0000, 0x40000 ) // 1/4
+ ROM_CONTINUE( 0x4c0000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x6c0000, 0x40000 ) // 3/4
+ ROM_LOAD( "mbm-04.e21", 0x100000, 0x40000, CRC(9e12466f) SHA1(51eaadfaf45d02d72b61052a606f97f36b3964fd) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x300000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x500000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x700000, 0x40000 ) // 3/4
+ ROM_CONTINUE( 0x140000, 0x40000 ) // Next block 2bpp 0/4
+ ROM_CONTINUE( 0x340000, 0x40000 ) // 1/4
+ ROM_CONTINUE( 0x540000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x740000, 0x40000 ) // 3/4
+ ROM_LOAD( "mbm-05.e22", 0x180000, 0x40000, CRC(6ff02dc0) SHA1(5862e2189a09f963d5ec58ca4aa1c06210a3c7ef) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x380000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x580000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x780000, 0x40000 ) // 3/4
+ ROM_CONTINUE( 0x1c0000, 0x40000 ) // Next block 2bpp 0/4
+ ROM_CONTINUE( 0x3c0000, 0x40000 ) // 1/4
+ ROM_CONTINUE( 0x5c0000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x7c0000, 0x40000 ) // 3/4
ROM_REGION( 0x800000*2, "c355spr", ROMREGION_ERASE00 )
ROM_LOAD32_BYTE( "mbm-14.a23", 0x000000, 0x100000, CRC(5aaaf929) SHA1(5ee30db9b83db664d77e6b5e0988ce3366460df6) )
@@ -3524,57 +3529,57 @@ ROM_START( gunhard ) /* Board No. DE-0420-1 + Bottom board DE-0421-0 slightly di
ROM_LOAD( "mbm-06.n17", 0x00000, 0x100000, CRC(f34d5999) SHA1(265b5f4e8598bcf9183bf9bd95db69b01536acb2) )
ROM_END
-ROM_START( lockloadu ) /* Board No. DE-0359-2 + Bottom board DE-0360-4, a Dragongun conversion */
- ROM_REGION(0x200000, "maincpu", 0 ) /* ARM 32 bit code */
+ROM_START( lockloadu ) // Board No. DE-0359-2 + Bottom board DE-0360-4, a Dragongun conversion
+ ROM_REGION(0x200000, "maincpu", 0 ) // ARM 32 bit code
ROM_LOAD32_BYTE( "nh-00-0.b5", 0x000002, 0x80000, CRC(b8a57164) SHA1(b700a08db2ad1aa1bf0a32635ffbd5d3f08713ee) )
ROM_LOAD32_BYTE( "nh-01-0.b8", 0x000000, 0x80000, CRC(e371ac50) SHA1(c448b54bc8962844b490994607b21b0c806d7714) )
ROM_LOAD32_BYTE( "nh-02-0.d5", 0x000003, 0x80000, CRC(3e361e82) SHA1(b5445d44f2a775c141fdc561d5489234c39445a4) )
ROM_LOAD32_BYTE( "nh-03-0.d8", 0x000001, 0x80000, CRC(d08ee9c3) SHA1(9a85710a11940df047e83e8d5977a23d6c67d665) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "nh-06-0.n25", 0x00000, 0x10000, CRC(7a1af51d) SHA1(54e6b16d3f5b787d3c6eb7203d8854e6e0fb9803) )
ROM_REGION( 0x020000, "gfx1", 0 )
- ROM_LOAD16_BYTE( "nh-04-0.b15", 0x00000, 0x10000, CRC(f097b3d9) SHA1(5748de9a796afddd78dad7f5c184269ee533c51c) ) /* Encrypted tiles */
+ ROM_LOAD16_BYTE( "nh-04-0.b15", 0x00000, 0x10000, CRC(f097b3d9) SHA1(5748de9a796afddd78dad7f5c184269ee533c51c) ) // Encrypted tiles
ROM_LOAD16_BYTE( "nh-05-0.b17", 0x00001, 0x10000, CRC(448fec1e) SHA1(9a107959621cbb3688fd3ad9a8320aa5584f7d13) )
ROM_REGION( 0x100000, "gfx2", 0 )
- ROM_LOAD( "mbm-00.d15", 0x00000, 0x80000, CRC(b97de8ff) SHA1(59508f7135af22c2ac89db78874b1e8a68c53434) ) /* Encrypted tiles */
+ ROM_LOAD( "mbm-00.d15", 0x00000, 0x80000, CRC(b97de8ff) SHA1(59508f7135af22c2ac89db78874b1e8a68c53434) ) // Encrypted tiles
ROM_LOAD( "mbm-01.d17", 0x80000, 0x80000, CRC(6d4b8fa0) SHA1(56e2b9adb4d010ba2592eccba654a24141441141) )
ROM_REGION( 0x800000, "gfx3", 0 )
- ROM_LOAD( "mbm-02.b23", 0x000000, 0x40000, CRC(e723019f) SHA1(15361d3e6db5707a7f0ead4254463c50163c864c) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x200000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x400000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x600000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x040000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x240000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x440000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x640000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-03.b26", 0x080000, 0x40000, CRC(e0d09894) SHA1(be2faa81cf92b6fadfb2ec4ca2173157b05071ec) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x280000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x480000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x680000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x0c0000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x2c0000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x4c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x6c0000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-04.e23", 0x100000, 0x40000, CRC(9e12466f) SHA1(51eaadfaf45d02d72b61052a606f97f36b3964fd) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x300000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x500000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x700000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x140000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x340000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x540000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x740000, 0x40000 ) /* 3/4 */
- ROM_LOAD( "mbm-05.e26", 0x180000, 0x40000, CRC(6ff02dc0) SHA1(5862e2189a09f963d5ec58ca4aa1c06210a3c7ef) ) /* Encrypted tiles 0/4 */
- ROM_CONTINUE( 0x380000, 0x40000 ) /* 2 bpp per 0x40000 chunk, 1/4 */
- ROM_CONTINUE( 0x580000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x780000, 0x40000 ) /* 3/4 */
- ROM_CONTINUE( 0x1c0000, 0x40000 ) /* Next block 2bpp 0/4 */
- ROM_CONTINUE( 0x3c0000, 0x40000 ) /* 1/4 */
- ROM_CONTINUE( 0x5c0000, 0x40000 ) /* 2/4 */
- ROM_CONTINUE( 0x7c0000, 0x40000 ) /* 3/4 */
+ ROM_LOAD( "mbm-02.b23", 0x000000, 0x40000, CRC(e723019f) SHA1(15361d3e6db5707a7f0ead4254463c50163c864c) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x200000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x400000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x600000, 0x40000 ) // 3/4
+ ROM_CONTINUE( 0x040000, 0x40000 ) // Next block 2bpp 0/4
+ ROM_CONTINUE( 0x240000, 0x40000 ) // 1/4
+ ROM_CONTINUE( 0x440000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x640000, 0x40000 ) // 3/4
+ ROM_LOAD( "mbm-03.b26", 0x080000, 0x40000, CRC(e0d09894) SHA1(be2faa81cf92b6fadfb2ec4ca2173157b05071ec) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x280000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x480000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x680000, 0x40000 ) // 3/4
+ ROM_CONTINUE( 0x0c0000, 0x40000 ) // Next block 2bpp 0/4
+ ROM_CONTINUE( 0x2c0000, 0x40000 ) // 1/4
+ ROM_CONTINUE( 0x4c0000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x6c0000, 0x40000 ) // 3/4
+ ROM_LOAD( "mbm-04.e23", 0x100000, 0x40000, CRC(9e12466f) SHA1(51eaadfaf45d02d72b61052a606f97f36b3964fd) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x300000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x500000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x700000, 0x40000 ) // 3/4
+ ROM_CONTINUE( 0x140000, 0x40000 ) // Next block 2bpp 0/4
+ ROM_CONTINUE( 0x340000, 0x40000 ) // 1/4
+ ROM_CONTINUE( 0x540000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x740000, 0x40000 ) // 3/4
+ ROM_LOAD( "mbm-05.e26", 0x180000, 0x40000, CRC(6ff02dc0) SHA1(5862e2189a09f963d5ec58ca4aa1c06210a3c7ef) ) // Encrypted tiles 0/4
+ ROM_CONTINUE( 0x380000, 0x40000 ) // 2 bpp per 0x40000 chunk, 1/4
+ ROM_CONTINUE( 0x580000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x780000, 0x40000 ) // 3/4
+ ROM_CONTINUE( 0x1c0000, 0x40000 ) // Next block 2bpp 0/4
+ ROM_CONTINUE( 0x3c0000, 0x40000 ) // 1/4
+ ROM_CONTINUE( 0x5c0000, 0x40000 ) // 2/4
+ ROM_CONTINUE( 0x7c0000, 0x40000 ) // 3/4
ROM_REGION( 0x800000*2, "c355spr", ROMREGION_ERASE00 )
ROM_LOAD32_BYTE( "mbm-14.a23", 0x000000, 0x100000, CRC(5aaaf929) SHA1(5ee30db9b83db664d77e6b5e0988ce3366460df6) )
@@ -3586,7 +3591,7 @@ ROM_START( lockloadu ) /* Board No. DE-0359-2 + Bottom board DE-0360-4, a Dragon
ROM_LOAD32_BYTE( "mbm-11.a20", 0x400002, 0x100000, CRC(8a2a2a9f) SHA1(d11e0ea2785e35123bc56a8f18ce22f58432b599) )
ROM_LOAD32_BYTE( "mbm-09.a16", 0x400003, 0x100000, CRC(2cce162f) SHA1(db5795465a36971861e8fb7436db0805717ad101) )
- ROM_REGION32_LE( 0x1000000, "dvi", ROMREGION_ERASE00 ) /* Video data - same as Dragongun, probably leftover from a conversion */
+ ROM_REGION32_LE( 0x1000000, "dvi", ROMREGION_ERASE00 ) // Video data - same as Dragongun, probably leftover from a conversion
// ROM_LOAD( "mar-17.bin", 0x00000, 0x100000, CRC(7799ed23) SHA1(ae28ad4fa6033a3695fa83356701b3774b26e6b0) )
// ROM_LOAD( "mar-18.bin", 0x00000, 0x100000, CRC(ded66da9) SHA1(5134cb47043cc190a35ebdbf1912166669f9c055) )
// ROM_LOAD( "mar-19.bin", 0x00000, 0x100000, CRC(bdd1ed20) SHA1(2435b23210b8fee4d39c30d4d3c6ea40afaa3b93) )
@@ -3612,11 +3617,11 @@ ROM_START( lockloadu ) /* Board No. DE-0359-2 + Bottom board DE-0360-4, a Dragon
ROM_END
ROM_START( tattass )
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
ROM_LOAD32_WORD( "pp44.cpu", 0x000000, 0x80000, CRC(c3ca5b49) SHA1(c6420b0c20df1ae166b279504880ade65b1d8048) )
ROM_LOAD32_WORD( "pp45.cpu", 0x000002, 0x80000, CRC(d3f30de0) SHA1(5a0aa0f96d29299b3b337b4b51bc84e447eb74d0) )
- ROM_REGION(0x10000, "soundcpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "decobsmt:soundcpu", 0 ) // Sound CPU
ROM_LOAD( "u7.snd", 0x00000, 0x10000, CRC(6947be8a) SHA1(4ac6c3c7f54501f23c434708cea6bf327bc8cf95) )
ROM_REGION( 0x200000, "gfx1", 0 )
@@ -3674,7 +3679,7 @@ ROM_START( tattass )
ROM_LOAD16_BYTE( "ob2_c2.b3", 0x700000, 0x80000, CRC(90fe5f4f) SHA1(2149e9eae152556c632ebd4d0b2de49e40916a77) )
ROM_LOAD16_BYTE( "ob2_c3.b3", 0x700001, 0x80000, CRC(e3517e6e) SHA1(68ac60570423d8f0d7cff3db1901c9c050d0be91) )
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD( "u17.snd", 0x000000, 0x80000, CRC(b945c18d) SHA1(6556bbb4a7057df3680132f24687fa944006c784) )
ROM_LOAD( "u21.snd", 0x080000, 0x80000, CRC(10b2110c) SHA1(83e5938ed22da2874022e1dc8df76c72d95c448d) )
ROM_LOAD( "u36.snd", 0x100000, 0x80000, CRC(3b73abe2) SHA1(195096e2302e84123b23b4ccd982fb3ab9afe42c) )
@@ -3685,11 +3690,11 @@ ROM_START( tattass )
ROM_END
ROM_START( tattassa )
- ROM_REGION(0x100000, "maincpu", 0 ) /* ARM 32 bit code */
+ ROM_REGION(0x100000, "maincpu", 0 ) // ARM 32 bit code
ROM_LOAD32_WORD( "rev232a.000", 0x000000, 0x80000, CRC(1a357112) SHA1(d7f78f90970fd56ca1452a4c138168568b06d868) )
ROM_LOAD32_WORD( "rev232a.001", 0x000002, 0x80000, CRC(550245d4) SHA1(c1b2b31768da9becebd907a8622d05aa68ecaa29) )
- ROM_REGION(0x10000, "soundcpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "decobsmt:soundcpu", 0 ) // Sound CPU
ROM_LOAD( "u7.snd", 0x00000, 0x10000, CRC(6947be8a) SHA1(4ac6c3c7f54501f23c434708cea6bf327bc8cf95) )
ROM_REGION( 0x200000, "gfx1", 0 )
@@ -3747,7 +3752,7 @@ ROM_START( tattassa )
ROM_LOAD16_BYTE( "ob2_c2.b3", 0x700000, 0x80000, CRC(90fe5f4f) SHA1(2149e9eae152556c632ebd4d0b2de49e40916a77) )
ROM_LOAD16_BYTE( "ob2_c3.b3", 0x700001, 0x80000, CRC(e3517e6e) SHA1(68ac60570423d8f0d7cff3db1901c9c050d0be91) )
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD( "u17.snd", 0x000000, 0x80000, CRC(b945c18d) SHA1(6556bbb4a7057df3680132f24687fa944006c784) )
ROM_LOAD( "u21.snd", 0x080000, 0x80000, CRC(10b2110c) SHA1(83e5938ed22da2874022e1dc8df76c72d95c448d) )
ROM_LOAD( "u36.snd", 0x100000, 0x80000, CRC(3b73abe2) SHA1(195096e2302e84123b23b4ccd982fb3ab9afe42c) )
@@ -3757,21 +3762,21 @@ ROM_START( tattassa )
ROM_LOAD( "eeprom-tattass.bin", 0x0000, 0x0400, CRC(7140f40c) SHA1(4fb7897933046b6adaf00b4626d5fd23d0e8a666) )
ROM_END
-ROM_START( nslasher ) /* DE-0397-0 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* Encrypted ARM 32 bit code */
+ROM_START( nslasher ) // DE-0397-0 PCB
+ ROM_REGION(0x100000, "maincpu", 0 ) // Encrypted ARM 32 bit code
ROM_LOAD32_WORD( "mainprg.1f", 0x000000, 0x80000, CRC(507acbae) SHA1(329a2bb244f2f3adb8d75cab5aa2dcb129d70712) )
ROM_LOAD32_WORD( "mainprg.2f", 0x000002, 0x80000, CRC(931fc7ee) SHA1(54eb12abfa3f332ce9b43a45ec424aaee88641a6) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "sndprg.17l", 0x00000, 0x10000, CRC(18939e92) SHA1(50b37a78d9d2259d4b140dd17393c4e5ca92bca5) )
ROM_REGION( 0x200000, "gfx1", 0 )
- ROM_LOAD( "mbh-00.8c", 0x000000, 0x200000, CRC(a877f8a3) SHA1(79253525f360a73161894f31e211e4d6b38d307a) ) /* Encrypted tiles */
+ ROM_LOAD( "mbh-00.8c", 0x000000, 0x200000, CRC(a877f8a3) SHA1(79253525f360a73161894f31e211e4d6b38d307a) ) // Encrypted tiles
ROM_REGION( 0x200000, "gfx2", 0 )
- ROM_LOAD( "mbh-01.9c", 0x000000, 0x200000, CRC(1853dafc) SHA1(b1183c0db301cbed9f079c782202dbfc553b198e) ) /* Encrypted tiles */
+ ROM_LOAD( "mbh-01.9c", 0x000000, 0x200000, CRC(1853dafc) SHA1(b1183c0db301cbed9f079c782202dbfc553b198e) ) // Encrypted tiles
- ROM_REGION( 0x640000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x640000, "gfx3", 0 ) // Sprites
ROM_LOAD40_WORD_SWAP( "mbh-02.14c", 0x000003, 0x200000, CRC(b2f158a1) SHA1(4f8c0b324813db198fe1dad7fff4185b828b94de) )
ROM_LOAD40_WORD_SWAP( "mbh-04.16c", 0x000001, 0x200000, CRC(eecfe06d) SHA1(2df817fe5e2ea31207b217bb03dc58979c05d0d2) )
ROM_LOAD40_BYTE( "mbh-06.18c", 0x000000, 0x100000, CRC(038c2127) SHA1(5bdb215305f1a419fde27a83b623a38b9328e560) )
@@ -3779,7 +3784,7 @@ ROM_START( nslasher ) /* DE-0397-0 PCB */
ROM_LOAD40_WORD_SWAP( "mbh-05.17c", 0x500001, 0x080000, CRC(1d2b7c17) SHA1(ae0b8e0448a1a8180fb424fb0bc8a4302f8ff602) )
ROM_LOAD40_BYTE( "mbh-07.19c", 0x500000, 0x040000, CRC(bbd22323) SHA1(6ab665b2e6d04cdadc48c52e15098e978b61fe10) )
- ROM_REGION( 0x100000, "gfx4", 0 ) /* Sprites */
+ ROM_REGION( 0x100000, "gfx4", 0 ) // Sprites
ROM_LOAD( "mbh-08.16e", 0x000000, 0x80000, CRC(cdd7f8cb) SHA1(910bbe8783c0ba722e9d6399b332d658fa059fdb) )
ROM_LOAD( "mbh-09.18e", 0x080000, 0x80000, CRC(33fa2121) SHA1(eb0e99d29b1ad9995df28e5b7cfc89d53efb53c3) )
@@ -3793,26 +3798,26 @@ ROM_START( nslasher ) /* DE-0397-0 PCB */
ROM_LOAD( "ln-00.j7", 0x000000, 0x200, CRC(5e83eaf3) SHA1(95f5eb8e56dff6c2dce7c39a6dd458bfc38fe1cf) )
ROM_REGION( 0x0600, "plds", 0 )
- ROM_LOAD( "vm-00.3d", 0x0000, 0x0117, NO_DUMP ) /* 16L8ACN is read protected */
- ROM_LOAD( "vm-01.4d", 0x0200, 0x0117, NO_DUMP ) /* 16L8ACN is read protected */
+ ROM_LOAD( "vm-00.3d", 0x0000, 0x0117, NO_DUMP ) // 16L8ACN is read protected
+ ROM_LOAD( "vm-01.4d", 0x0200, 0x0117, NO_DUMP ) // 16L8ACN is read protected
ROM_LOAD( "vm-02.8j", 0x0400, 0x0117, CRC(53692426) SHA1(b8f8cf6b1f6b637fcd1fcd62474e637f5d4a6901) )
ROM_END
-ROM_START( nslasherj ) /* DE-0397-0 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* Encrypted ARM 32 bit code */
+ROM_START( nslasherj ) // DE-0397-0 PCB
+ ROM_REGION(0x100000, "maincpu", 0 ) // Encrypted ARM 32 bit code
ROM_LOAD32_WORD( "lx-00.1f", 0x000000, 0x80000, CRC(6ed5fb88) SHA1(84350da7939a479968a523c84e254e3ee54b8da2) )
ROM_LOAD32_WORD( "lx-01.2f", 0x000002, 0x80000, CRC(a6df2152) SHA1(6fe7e0b2e71c5f807951dcc81a6a3cff55247961) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "sndprg.17l", 0x00000, 0x10000, CRC(18939e92) SHA1(50b37a78d9d2259d4b140dd17393c4e5ca92bca5) )
ROM_REGION( 0x200000, "gfx1", 0 )
- ROM_LOAD( "mbh-00.8c", 0x000000, 0x200000, CRC(a877f8a3) SHA1(79253525f360a73161894f31e211e4d6b38d307a) ) /* Encrypted tiles */
+ ROM_LOAD( "mbh-00.8c", 0x000000, 0x200000, CRC(a877f8a3) SHA1(79253525f360a73161894f31e211e4d6b38d307a) ) // Encrypted tiles
ROM_REGION( 0x200000, "gfx2", 0 )
- ROM_LOAD( "mbh-01.9c", 0x000000, 0x200000, CRC(1853dafc) SHA1(b1183c0db301cbed9f079c782202dbfc553b198e) ) /* Encrypted tiles */
+ ROM_LOAD( "mbh-01.9c", 0x000000, 0x200000, CRC(1853dafc) SHA1(b1183c0db301cbed9f079c782202dbfc553b198e) ) // Encrypted tiles
- ROM_REGION( 0x640000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x640000, "gfx3", 0 ) // Sprites
ROM_LOAD40_WORD_SWAP( "mbh-02.14c", 0x000003, 0x200000, CRC(b2f158a1) SHA1(4f8c0b324813db198fe1dad7fff4185b828b94de) )
ROM_LOAD40_WORD_SWAP( "mbh-04.16c", 0x000001, 0x200000, CRC(eecfe06d) SHA1(2df817fe5e2ea31207b217bb03dc58979c05d0d2) )
ROM_LOAD40_BYTE( "mbh-06.18c", 0x000000, 0x100000, CRC(038c2127) SHA1(5bdb215305f1a419fde27a83b623a38b9328e560) )
@@ -3820,7 +3825,7 @@ ROM_START( nslasherj ) /* DE-0397-0 PCB */
ROM_LOAD40_WORD_SWAP( "mbh-05.17c", 0x500001, 0x080000, CRC(1d2b7c17) SHA1(ae0b8e0448a1a8180fb424fb0bc8a4302f8ff602) )
ROM_LOAD40_BYTE( "mbh-07.19c", 0x500000, 0x040000, CRC(bbd22323) SHA1(6ab665b2e6d04cdadc48c52e15098e978b61fe10) )
- ROM_REGION( 0x100000, "gfx4", 0 ) /* Sprites */
+ ROM_REGION( 0x100000, "gfx4", 0 ) // Sprites
ROM_LOAD( "mbh-08.16e", 0x000000, 0x80000, CRC(cdd7f8cb) SHA1(910bbe8783c0ba722e9d6399b332d658fa059fdb) )
ROM_LOAD( "mbh-09.18e", 0x080000, 0x80000, CRC(33fa2121) SHA1(eb0e99d29b1ad9995df28e5b7cfc89d53efb53c3) )
@@ -3834,26 +3839,26 @@ ROM_START( nslasherj ) /* DE-0397-0 PCB */
ROM_LOAD( "ln-00.j7", 0x000000, 0x200, CRC(5e83eaf3) SHA1(95f5eb8e56dff6c2dce7c39a6dd458bfc38fe1cf) )
ROM_REGION( 0x0600, "plds", 0 )
- ROM_LOAD( "vm-00.3d", 0x0000, 0x0117, NO_DUMP ) /* 16L8ACN is read protected */
- ROM_LOAD( "vm-01.4d", 0x0200, 0x0117, NO_DUMP ) /* 16L8ACN is read protected */
+ ROM_LOAD( "vm-00.3d", 0x0000, 0x0117, NO_DUMP ) // 16L8ACN is read protected
+ ROM_LOAD( "vm-01.4d", 0x0200, 0x0117, NO_DUMP ) // 16L8ACN is read protected
ROM_LOAD( "vm-02.8j", 0x0400, 0x0117, CRC(53692426) SHA1(b8f8cf6b1f6b637fcd1fcd62474e637f5d4a6901) )
ROM_END
-ROM_START( nslashers ) /* DE-0397-0 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* Encrypted ARM 32 bit code */
+ROM_START( nslashers ) // DE-0397-0 PCB
+ ROM_REGION(0x100000, "maincpu", 0 ) // Encrypted ARM 32 bit code
ROM_LOAD32_WORD( "ly-00.1f", 0x000000, 0x80000, CRC(fa0646f9) SHA1(7f9633bda230a0ced59171cdc5ab40a6d56c3d34) )
ROM_LOAD32_WORD( "ly-01.2f", 0x000002, 0x80000, CRC(ae508149) SHA1(3592949e5fb2770adb9c9daa4e38c4e75f3e2554) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "sndprg.17l", 0x00000, 0x10000, CRC(18939e92) SHA1(50b37a78d9d2259d4b140dd17393c4e5ca92bca5) )
ROM_REGION( 0x200000, "gfx1", 0 )
- ROM_LOAD( "mbh-00.8c", 0x000000, 0x200000, CRC(a877f8a3) SHA1(79253525f360a73161894f31e211e4d6b38d307a) ) /* Encrypted tiles */
+ ROM_LOAD( "mbh-00.8c", 0x000000, 0x200000, CRC(a877f8a3) SHA1(79253525f360a73161894f31e211e4d6b38d307a) ) // Encrypted tiles
ROM_REGION( 0x200000, "gfx2", 0 )
- ROM_LOAD( "mbh-01.9c", 0x000000, 0x200000, CRC(1853dafc) SHA1(b1183c0db301cbed9f079c782202dbfc553b198e) ) /* Encrypted tiles */
+ ROM_LOAD( "mbh-01.9c", 0x000000, 0x200000, CRC(1853dafc) SHA1(b1183c0db301cbed9f079c782202dbfc553b198e) ) // Encrypted tiles
- ROM_REGION( 0x640000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x640000, "gfx3", 0 ) // Sprites
ROM_LOAD40_WORD_SWAP( "mbh-02.14c", 0x000003, 0x200000, CRC(b2f158a1) SHA1(4f8c0b324813db198fe1dad7fff4185b828b94de) )
ROM_LOAD40_WORD_SWAP( "mbh-04.16c", 0x000001, 0x200000, CRC(eecfe06d) SHA1(2df817fe5e2ea31207b217bb03dc58979c05d0d2) )
ROM_LOAD40_BYTE( "mbh-06.18c", 0x000000, 0x100000, CRC(038c2127) SHA1(5bdb215305f1a419fde27a83b623a38b9328e560) )
@@ -3861,7 +3866,7 @@ ROM_START( nslashers ) /* DE-0397-0 PCB */
ROM_LOAD40_WORD_SWAP( "mbh-05.17c", 0x500001, 0x080000, CRC(1d2b7c17) SHA1(ae0b8e0448a1a8180fb424fb0bc8a4302f8ff602) )
ROM_LOAD40_BYTE( "mbh-07.19c", 0x500000, 0x040000, CRC(bbd22323) SHA1(6ab665b2e6d04cdadc48c52e15098e978b61fe10) )
- ROM_REGION( 0x100000, "gfx4", 0 ) /* Sprites */
+ ROM_REGION( 0x100000, "gfx4", 0 ) // Sprites
ROM_LOAD( "mbh-08.16e", 0x000000, 0x80000, CRC(cdd7f8cb) SHA1(910bbe8783c0ba722e9d6399b332d658fa059fdb) )
ROM_LOAD( "mbh-09.18e", 0x080000, 0x80000, CRC(33fa2121) SHA1(eb0e99d29b1ad9995df28e5b7cfc89d53efb53c3) )
@@ -3875,26 +3880,26 @@ ROM_START( nslashers ) /* DE-0397-0 PCB */
ROM_LOAD( "ln-00.j7", 0x000000, 0x200, CRC(5e83eaf3) SHA1(95f5eb8e56dff6c2dce7c39a6dd458bfc38fe1cf) )
ROM_REGION( 0x0600, "plds", 0 )
- ROM_LOAD( "vm-00.3d", 0x0000, 0x0117, NO_DUMP ) /* 16L8ACN is read protected */
- ROM_LOAD( "vm-01.4d", 0x0200, 0x0117, NO_DUMP ) /* 16L8ACN is read protected */
+ ROM_LOAD( "vm-00.3d", 0x0000, 0x0117, NO_DUMP ) // 16L8ACN is read protected
+ ROM_LOAD( "vm-01.4d", 0x0200, 0x0117, NO_DUMP ) // 16L8ACN is read protected
ROM_LOAD( "vm-02.8j", 0x0400, 0x0117, CRC(53692426) SHA1(b8f8cf6b1f6b637fcd1fcd62474e637f5d4a6901) )
ROM_END
-ROM_START( nslasheru ) /* DE-0395-1 PCB */
- ROM_REGION(0x100000, "maincpu", 0 ) /* Encrypted ARM 32 bit code */
+ROM_START( nslasheru ) // DE-0395-1 PCB
+ ROM_REGION(0x100000, "maincpu", 0 ) // Encrypted ARM 32 bit code
ROM_LOAD32_WORD( "00.f1", 0x000000, 0x80000, CRC(944f3329) SHA1(7e7909e203b9752de3d3d798c6f84ac6ae824a07) )
ROM_LOAD32_WORD( "01.f2", 0x000002, 0x80000, CRC(ac12d18a) SHA1(7cd4e843bf575c70c5c39a8afa78b803106f59b0) )
- ROM_REGION(0x10000, "audiocpu", 0 ) /* Sound CPU */
+ ROM_REGION(0x10000, "audiocpu", 0 ) // Sound CPU
ROM_LOAD( "02.l18", 0x00000, 0x10000, CRC(5e63bd91) SHA1(a6ac3c8c50f44cf2e6cf029aef1c974d1fc16ed5) )
ROM_REGION( 0x200000, "gfx1", 0 )
- ROM_LOAD( "mbh-00.8c", 0x000000, 0x200000, CRC(a877f8a3) SHA1(79253525f360a73161894f31e211e4d6b38d307a) ) /* Encrypted tiles */
+ ROM_LOAD( "mbh-00.8c", 0x000000, 0x200000, CRC(a877f8a3) SHA1(79253525f360a73161894f31e211e4d6b38d307a) ) // Encrypted tiles
ROM_REGION( 0x200000, "gfx2", 0 )
- ROM_LOAD( "mbh-01.9c", 0x000000, 0x200000, CRC(1853dafc) SHA1(b1183c0db301cbed9f079c782202dbfc553b198e) ) /* Encrypted tiles */
+ ROM_LOAD( "mbh-01.9c", 0x000000, 0x200000, CRC(1853dafc) SHA1(b1183c0db301cbed9f079c782202dbfc553b198e) ) // Encrypted tiles
- ROM_REGION( 0x640000, "gfx3", 0 ) /* Sprites */
+ ROM_REGION( 0x640000, "gfx3", 0 ) // Sprites
ROM_LOAD40_WORD_SWAP( "mbh-02.14c", 0x000003, 0x200000, CRC(b2f158a1) SHA1(4f8c0b324813db198fe1dad7fff4185b828b94de) )
ROM_LOAD40_WORD_SWAP( "mbh-04.16c", 0x000001, 0x200000, CRC(eecfe06d) SHA1(2df817fe5e2ea31207b217bb03dc58979c05d0d2) )
ROM_LOAD40_BYTE( "mbh-06.18c", 0x000000, 0x100000, CRC(038c2127) SHA1(5bdb215305f1a419fde27a83b623a38b9328e560) )
@@ -3902,7 +3907,7 @@ ROM_START( nslasheru ) /* DE-0395-1 PCB */
ROM_LOAD40_WORD_SWAP( "mbh-05.17c", 0x500001, 0x080000, CRC(1d2b7c17) SHA1(ae0b8e0448a1a8180fb424fb0bc8a4302f8ff602) )
ROM_LOAD40_BYTE( "mbh-07.19c", 0x500000, 0x040000, CRC(bbd22323) SHA1(6ab665b2e6d04cdadc48c52e15098e978b61fe10) )
- ROM_REGION( 0x100000, "gfx4", 0 ) /* Sprites */
+ ROM_REGION( 0x100000, "gfx4", 0 ) // Sprites
ROM_LOAD( "mbh-08.16e", 0x000000, 0x80000, CRC(cdd7f8cb) SHA1(910bbe8783c0ba722e9d6399b332d658fa059fdb) )
ROM_LOAD( "mbh-09.18e", 0x080000, 0x80000, CRC(33fa2121) SHA1(eb0e99d29b1ad9995df28e5b7cfc89d53efb53c3) )
@@ -3957,8 +3962,8 @@ GAME( 1994, nslashers, nslasher, nslasher, nslasher, nslasher_state, init_nsla
// DE-0395-1 PCB sets (HuC6280 for sound)
GAME( 1994, nslasheru, nslasher, nslasheru, nslasher, nslasher_state, init_nslasher, ROT0, "Data East Corporation", "Night Slashers (US Rev 1.2, DE-0395-1 PCB)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1994, tattass, 0, tattass, tattass, nslasher_state, init_tattass, ROT0, "Data East Pinball", "Tattoo Assassins (US prototype, Mar 14 1995)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
-GAME( 1994, tattassa, tattass, tattass, tattass, nslasher_state, init_tattass, ROT0, "Data East Pinball", "Tattoo Assassins (Asia prototype, Mar 14 1995)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+GAME( 1994, tattass, 0, tattass, tattass, tattass_state, init_tattass, ROT0, "Data East Pinball", "Tattoo Assassins (US prototype, Mar 14 1995)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
+GAME( 1994, tattassa, tattass, tattass, tattass, tattass_state, init_tattass, ROT0, "Data East Pinball", "Tattoo Assassins (Asia prototype, Mar 14 1995)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
// Dragon Gun / Locked 'n Loaded have very different sprite hardware
GAME( 1993, dragngun, 0, dragngun, dragngun, dragngun_state, init_dragngun, ROT0, "Data East Corporation", "Dragon Gun (US)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // OKI3 Bankswitching aren't verified
diff --git a/src/mame/dataeast/deco32.h b/src/mame/dataeast/deco32.h
index 3b5d37e730f6c..3fc9decf9e63d 100644
--- a/src/mame/dataeast/deco32.h
+++ b/src/mame/dataeast/deco32.h
@@ -39,7 +39,6 @@ class deco32_state : public driver_device
, m_screen(*this, "screen")
, m_palette(*this, "palette")
, m_deco_irq(*this, "irq")
- , m_decobsmt(*this, "decobsmt")
, m_eeprom(*this, "eeprom")
, m_ioprot(*this, "ioprot")
, m_ym2151(*this, "ymsnd")
@@ -85,7 +84,6 @@ class deco32_state : public driver_device
required_device m_screen;
optional_device m_palette;
optional_device m_deco_irq;
- optional_device m_decobsmt;
optional_device m_eeprom;
required_device m_ioprot;
optional_device m_ym2151;
@@ -123,13 +121,14 @@ class captaven_state : public deco32_state
void init_captaven();
+protected:
+ virtual void video_start() override;
+
private:
required_ioport_array<3> m_io_dsw;
u32 _71_r();
u8 captaven_soundcpu_status_r();
- virtual void video_start() override;
-
u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void tile_callback(u32 &tile, u32 &colour, int layer, bool is_8x8);
@@ -153,13 +152,14 @@ class fghthist_state : public deco32_state
void init_fghthist();
+protected:
+ virtual void video_start() override;
+
private:
required_ioport_array<2> m_io_in;
// void sound_w(u32 data);
u32 unk_status_r();
- virtual void video_start() override;
-
u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECO16IC_BANK_CB_MEMBER(bank_callback);
@@ -170,7 +170,7 @@ class fghthist_state : public deco32_state
private:
};
-// nslasher, tattass
+// nslasher
class nslasher_state : public deco32_state
{
public:
@@ -180,38 +180,58 @@ class nslasher_state : public deco32_state
{ }
void nslasheru(machine_config &config);
- void tattass(machine_config &config);
void nslasher(machine_config &config);
- void init_tattass();
void init_nslasher();
-private:
+protected:
+ virtual void video_start() override;
+
required_device m_deco_ace;
void tilemap_color_bank_w(u8 data);
void sprite1_color_bank_w(u8 data);
void sprite2_color_bank_w(u8 data);
- void tattass_control_w(offs_t offset, u32 data, u32 mem_mask = ~0);
- void tattass_sound_irq_w(int state);
u16 nslasher_debug_r();
- virtual void video_start() override;
-
u32 screen_update_nslasher(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- u32 screen_update_tattass(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
- u16 port_b_tattass();
DECO16IC_BANK_CB_MEMBER(bank_callback);
u16 mix_callback(u16 p, u16 p2);
void nslasher_map(address_map &map);
- void tattass_map(address_map &map);
void mix_nslasher(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, gfx_element *gfx0, gfx_element *gfx1, int mixAlphaTilemap);
- void mix_tattass(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, gfx_element *gfx0, gfx_element *gfx1, int mixAlphaTilemap);
std::unique_ptr m_tilemap_alpha_bitmap;
+};
+
+// tattass
+class tattass_state : public nslasher_state
+{
+public:
+ tattass_state(const machine_config &mconfig, device_type type, const char *tag)
+ : nslasher_state(mconfig, type, tag)
+ , m_decobsmt(*this, "decobsmt")
+ { }
+
+ void tattass(machine_config &config);
+
+ void init_tattass();
+
+private:
+ required_device m_decobsmt;
+
+ void tattass_control_w(offs_t offset, u32 data, u32 mem_mask = ~0);
+ void tattass_sound_irq_w(int state);
+
+ u32 screen_update_tattass(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+
+ u16 port_b_tattass();
+
+ void tattass_map(address_map &map);
+
+ void mix_tattass(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, gfx_element *gfx0, gfx_element *gfx1, int mixAlphaTilemap);
int m_tattass_eprom_bit = 0;
int m_last_clock = 0;
@@ -251,6 +271,9 @@ class dragngun_state : public deco32_state
DECLARE_INPUT_CHANGED_MEMBER(lockload_gun_trigger);
+protected:
+ virtual void video_start() override;
+
private:
required_device m_sprgenzoom;
required_device m_spriteram;
@@ -289,8 +312,6 @@ class dragngun_state : public deco32_state
void lockload_okibank_lo_w(u8 data);
void lockload_okibank_hi_w(u8 data); // lockload
- virtual void video_start() override;
-
int sprite_bank_callback(int sprite);
u16 read_spritetile(int lookupram_offset);
u16 read_spriteformat(int spriteformatram_offset, u8 attr);
diff --git a/src/mame/dataeast/deco32_v.cpp b/src/mame/dataeast/deco32_v.cpp
index d91df0b5e8128..e9231fb700bb3 100644
--- a/src/mame/dataeast/deco32_v.cpp
+++ b/src/mame/dataeast/deco32_v.cpp
@@ -509,7 +509,7 @@ u32 nslasher_state::screen_update_nslasher(screen_device &screen, bitmap_rgb32 &
// different alpha blending behavior, priority? TODO : verify behavior from real hardware
// reference : https://www.youtube.com/watch?v=ax-_P3meUiA (review)
-void nslasher_state::mix_tattass(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, gfx_element *gfx0, gfx_element *gfx1, int mixAlphaTilemap)
+void tattass_state::mix_tattass(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect, gfx_element *gfx0, gfx_element *gfx1, int mixAlphaTilemap)
{
const pen_t *pens = m_deco_ace->pens();
const pen_t *pal0 = &pens[gfx0->colorbase()];
@@ -649,7 +649,7 @@ void nslasher_state::mix_tattass(screen_device &screen, bitmap_rgb32 &bitmap, co
}
}
-u32 nslasher_state::screen_update_tattass(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+u32 tattass_state::screen_update_tattass(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
bool alphaTilemap = false;
m_deco_tilegen[0]->pf_update(m_pf_rowscroll[0].get(), m_pf_rowscroll[1].get());
diff --git a/src/mame/dataeast/karnov.cpp b/src/mame/dataeast/karnov.cpp
index c21c64e90f667..f5ddb0b8c331c 100644
--- a/src/mame/dataeast/karnov.cpp
+++ b/src/mame/dataeast/karnov.cpp
@@ -842,8 +842,8 @@ void karnov_state::chelnovjbl(machine_config &config)
*
*************************************/
-ROM_START( karnov ) /* DE-0248-3 main board, DE-259-0 sub/rom board */
- ROM_REGION( 0x60000, "maincpu", 0 ) /* 6*64k for 68000 code */
+ROM_START( karnov ) // DE-0248-3 main board, DE-259-0 sub/rom board
+ ROM_REGION( 0x60000, "maincpu", 0 ) // 6*64k for 68000 code
ROM_LOAD16_BYTE( "dn08-6.j15", 0x00000, 0x10000, CRC(4c60837f) SHA1(6886e6ee1d1563c3011b8fea79e7435f983a3ee0) )
ROM_LOAD16_BYTE( "dn11-6.j20", 0x00001, 0x10000, CRC(cd4abb99) SHA1(b4482175f5d90941ad3aec6c2269a50f57a465ed) )
ROM_LOAD16_BYTE( "dn07-.j14", 0x20000, 0x10000, CRC(fc14291b) SHA1(c92207cf70d4c887cd0f53208e8090c7f614c1d3) )
@@ -851,7 +851,7 @@ ROM_START( karnov ) /* DE-0248-3 main board, DE-259-0 sub/rom board */
ROM_LOAD16_BYTE( "dn06-5.j13", 0x40000, 0x10000, CRC(29d64e42) SHA1(c07ff5f29b7ccd5fc97b5086bcae57ab6eb29330) )
ROM_LOAD16_BYTE( "dn09-5.j17", 0x40001, 0x10000, CRC(072d7c49) SHA1(92195b89274d066a9c1f87dd810683ea66edaff4) )
- ROM_REGION( 0x10000, "audiocpu", 0 ) /* 6502 Sound CPU */
+ ROM_REGION( 0x10000, "audiocpu", 0 ) // 6502 Sound CPU
ROM_LOAD( "dn05-5.f3", 0x8000, 0x8000, CRC(fa1a31a8) SHA1(5007a625be03c546d2a78444d72c28761b10cdb0) )
ROM_REGION( 0x1000, "mcu", 0 ) // i8751 MCU (Note: Dump taken from a Rev 5 board)
@@ -877,14 +877,14 @@ ROM_START( karnov ) /* DE-0248-3 main board, DE-259-0 sub/rom board */
ROM_LOAD( "dn19-5.f18", 0x58000, 0x08000, CRC(8fd4fa40) SHA1(1870fb0c5c64fbc53a10115f0f3c7624cf2465db) )
ROM_REGION( 0x0800, "proms", 0 )
- ROM_LOAD( "dn-21.k8", 0x0000, 0x0400, CRC(aab0bb93) SHA1(545707fbb1007fca1fe297c5fce61e485e7084fc) ) /* MB7132E BPROM */
- ROM_LOAD( "dn-20.l6", 0x0400, 0x0400, CRC(02f78ffb) SHA1(cb4dd8b0ce3c404195321b17e10f51352f506958) ) /* MB7122E BPROM */
+ ROM_LOAD( "dn-21.k8", 0x0000, 0x0400, CRC(aab0bb93) SHA1(545707fbb1007fca1fe297c5fce61e485e7084fc) ) // MB7132E BPROM
+ ROM_LOAD( "dn-20.l6", 0x0400, 0x0400, CRC(02f78ffb) SHA1(cb4dd8b0ce3c404195321b17e10f51352f506958) ) // MB7122E BPROM
ROM_END
-ROM_START( karnova ) /* DE-0248-3 main board, DE-259-0 sub/rom board */
- ROM_REGION( 0x60000, "maincpu", 0 ) /* 6*64k for 68000 code */
- ROM_LOAD16_BYTE( "dn08-5.j15", 0x00000, 0x10000, CRC(db92c264) SHA1(bd4bcd984a3455eedd2b78dc2090c9d625025671) ) /* also known to be labeled DN08-5E */
- ROM_LOAD16_BYTE( "dn11-5.j20", 0x00001, 0x10000, CRC(05669b4b) SHA1(c78d0da5afc66750dd9841a7d4f8f244d878c081) ) /* also known to be labeled DN11-5E */
+ROM_START( karnova ) // DE-0248-3 main board, DE-259-0 sub/rom board
+ ROM_REGION( 0x60000, "maincpu", 0 ) // 6*64k for 68000 code
+ ROM_LOAD16_BYTE( "dn08-5.j15", 0x00000, 0x10000, CRC(db92c264) SHA1(bd4bcd984a3455eedd2b78dc2090c9d625025671) ) // also known to be labeled DN08-5E
+ ROM_LOAD16_BYTE( "dn11-5.j20", 0x00001, 0x10000, CRC(05669b4b) SHA1(c78d0da5afc66750dd9841a7d4f8f244d878c081) ) // also known to be labeled DN11-5E
ROM_LOAD16_BYTE( "dn07-.j14", 0x20000, 0x10000, CRC(fc14291b) SHA1(c92207cf70d4c887cd0f53208e8090c7f614c1d3) )
ROM_LOAD16_BYTE( "dn10-.j18", 0x20001, 0x10000, CRC(a4a34e37) SHA1(f40b680cc7312c844f81d01997f9a47c48d36e88) )
ROM_LOAD16_BYTE( "dn06-5.j13", 0x40000, 0x10000, CRC(29d64e42) SHA1(c07ff5f29b7ccd5fc97b5086bcae57ab6eb29330) )
@@ -916,24 +916,24 @@ ROM_START( karnova ) /* DE-0248-3 main board, DE-259-0 sub/rom board */
ROM_LOAD( "dn19-5.f18", 0x58000, 0x08000, CRC(8fd4fa40) SHA1(1870fb0c5c64fbc53a10115f0f3c7624cf2465db) )
ROM_REGION( 0x0800, "proms", 0 )
- ROM_LOAD( "dn-21.k8", 0x0000, 0x0400, CRC(aab0bb93) SHA1(545707fbb1007fca1fe297c5fce61e485e7084fc) ) /* MB7132E BPROM */
- ROM_LOAD( "dn-20.l6", 0x0400, 0x0400, CRC(02f78ffb) SHA1(cb4dd8b0ce3c404195321b17e10f51352f506958) ) /* MB7122E BPROM */
+ ROM_LOAD( "dn-21.k8", 0x0000, 0x0400, CRC(aab0bb93) SHA1(545707fbb1007fca1fe297c5fce61e485e7084fc) ) // MB7132E BPROM
+ ROM_LOAD( "dn-20.l6", 0x0400, 0x0400, CRC(02f78ffb) SHA1(cb4dd8b0ce3c404195321b17e10f51352f506958) ) // MB7122E BPROM
ROM_END
-ROM_START( karnovj ) /* DE-0248-3 main board, DE-259-0 sub/rom board */
- ROM_REGION( 0x60000, "maincpu", 0 ) /* 6*64k for 68000 code */
- ROM_LOAD16_BYTE( "kar8.j15", 0x00000, 0x10000, CRC(3e17e268) SHA1(3a63928bb0148175519540f9d891b03590094dfb) )
- ROM_LOAD16_BYTE( "kar11.j20", 0x00001, 0x10000, CRC(417c936d) SHA1(d31f9291f18c3d5e3c4430768396e1ac10fd9ea3) )
+ROM_START( karnovj ) // DE-0248-3 main board, DE-259-0 sub/rom board
+ ROM_REGION( 0x60000, "maincpu", 0 ) // 6*64k for 68000 code
+ ROM_LOAD16_BYTE( "dn08-.j15", 0x00000, 0x10000, CRC(3e17e268) SHA1(3a63928bb0148175519540f9d891b03590094dfb) )
+ ROM_LOAD16_BYTE( "dn11-.j20", 0x00001, 0x10000, CRC(417c936d) SHA1(d31f9291f18c3d5e3c4430768396e1ac10fd9ea3) )
ROM_LOAD16_BYTE( "dn07-.j14", 0x20000, 0x10000, CRC(fc14291b) SHA1(c92207cf70d4c887cd0f53208e8090c7f614c1d3) )
ROM_LOAD16_BYTE( "dn10-.j18", 0x20001, 0x10000, CRC(a4a34e37) SHA1(f40b680cc7312c844f81d01997f9a47c48d36e88) )
- ROM_LOAD16_BYTE( "kar6.j13", 0x40000, 0x10000, CRC(c641e195) SHA1(fa7a2eba70e730f72a8d868160af9c41f9b2e5b0) )
- ROM_LOAD16_BYTE( "kar9.j17", 0x40001, 0x10000, CRC(d420658d) SHA1(4c7e67a80e419b8b94eb015f7f0af0a01f00c28e) )
+ ROM_LOAD16_BYTE( "dn06-.j13", 0x40000, 0x10000, CRC(c641e195) SHA1(fa7a2eba70e730f72a8d868160af9c41f9b2e5b0) )
+ ROM_LOAD16_BYTE( "dn09-.j17", 0x40001, 0x10000, CRC(d420658d) SHA1(4c7e67a80e419b8b94eb015f7f0af0a01f00c28e) )
- ROM_REGION( 0x10000, "audiocpu", 0 ) /* 6502 Sound CPU */
- ROM_LOAD( "kar5.f3", 0x8000, 0x8000, CRC(7c9158f1) SHA1(dfba7b3abd6b8d6991f0207cd252ee652a6050c2) )
+ ROM_REGION( 0x10000, "audiocpu", 0 ) // 6502 Sound CPU
+ ROM_LOAD( "dn05-.f3", 0x8000, 0x8000, CRC(7c9158f1) SHA1(dfba7b3abd6b8d6991f0207cd252ee652a6050c2) )
- ROM_REGION( 0x1000, "mcu", 0 ) // i8751 MCU (BAD_DUMP because it was created from the US version)
- ROM_LOAD( "karnovj_i8751.k14", 0x0000, 0x1000, BAD_DUMP CRC(5a8c4d28) SHA1(58cc912d91e569503d5a20fa3180fbdca595e39f) )
+ ROM_REGION( 0x1000, "mcu", 0 ) // i8751 MCU - seen with DN-3 label on Japanese PCB, "3" is handwritten
+ ROM_LOAD( "dn-3.k14", 0x0000, 0x1000, BAD_DUMP CRC(5a8c4d28) SHA1(58cc912d91e569503d5a20fa3180fbdca595e39f) ) // hand-crafted based on US version
ROM_REGION( 0x08000, "char", 0 )
ROM_LOAD( "dn00-.c5", 0x00000, 0x08000, CRC(0ed77c6d) SHA1(4ec86ac56c01c158a580dc13dea3e5cbdf90d0e9) )
diff --git a/src/mame/dynax/dynax.cpp b/src/mame/dynax/dynax.cpp
index 2e19d10a33e48..99b62d91ca459 100644
--- a/src/mame/dynax/dynax.cpp
+++ b/src/mame/dynax/dynax.cpp
@@ -44,6 +44,7 @@ Year + Game Main Board Sub Board CPU Sound
94 Castle Of Dracula Z80 M6295 PROM Blitter is an FPGA
94 Mj Reach CS166P002 TLCS YM2149F YM2413 M6242 PROM Battery
94 Mj Reach (bootleg) bootleg TLCS AY8910 YM2413 M6242 PROM Battery
+94 Mj Reach Part II D8810138L1 TLCS YM2149F YM2413 M6242 PROM Battery
94 Maya Z80 YM2203 PROM Blitter is an FPGA
9? Inca Z80 YM2203 PROM
---------------------------------------------------------------------------------------------------------------------
@@ -1259,6 +1260,13 @@ void dynax_state::tenkai_banked_map(address_map &map)
map(0x90000, 0x97fff).rw(FUNC(dynax_state::tenkai_palette_r), FUNC(dynax_state::tenkai_palette_w));
}
+void dynax_state::mjreachp2_map(address_map &map)
+{
+ tenkai_map(map);
+
+ map(0x10058, 0x10058).w(FUNC(dynax_state::dynax_blit_romregion_w));
+}
+
void dynax_state::ougonhai_map(address_map &map) // TODO: verify once the protection is beaten
{
map(0x00000, 0x05fff).rom();
@@ -5048,6 +5056,26 @@ void dynax_state::gekisha(machine_config &config)
YM2413(config, "ym2413", XTAL(24'000'000) / 8).add_route(ALL_OUTPUTS, "mono", 1.0); // ?
}
+/***************************************************************************
+ Mahjong Reach Part II
+***************************************************************************/
+
+void dynax_state::mjreachp2_p8_w(uint8_t data)
+{
+ m_rombank = (data & 0x08) ? (m_rombank & 0x0f) : (m_rombank & 0x0f) | 0x10;
+ tenkai_update_rombank();
+}
+
+
+void dynax_state::mjreachp2(machine_config &config)
+{
+ mjreach(config);
+
+ m_maincpu->set_addrmap(AS_PROGRAM, &dynax_state::mjreachp2_map);
+
+ tmp91640_device &tmp = downcast(*m_maincpu);
+ tmp.port_write<8>().set(FUNC(dynax_state::mjreachp2_p8_w));
+}
/***************************************************************************
@@ -6716,6 +6744,20 @@ ROM_START( mjreachbl )
ROM_RELOAD( 0x180000, 0x80000 )
ROM_END
+ROM_START( mjreachp2 ) // BTANB: typo on title screen shows 'Mahjong Reach Rart II' (verified with reference pics)
+ ROM_REGION( 0x50000, "maincpu", 0 )
+ ROM_LOAD( "880q.wc", 0x00000, 0x40000, CRC(a92954bc) SHA1(473778eabd0ecc7b66c7e66ab7eb3d8b40554434) )
+ ROM_RELOAD( 0x10000, 0x40000 )
+ ROM_LOAD( "mjreach2-mcu.5b", 0x00000, 0x02000, CRC(091a85dc) SHA1(964ccbc13466464c2feee10f807078ec517bed5c) ) // MCU has pins 9 to 12 & 15 to 16 stripped out
+
+ ROM_REGION( 0x200000, "blitter", 0 ) // blitter data
+ ROM_LOAD( "8802.13b", 0x000000, 0x80000, CRC(90f6036f) SHA1(f92aafd0316dc235e58d615825f3110806bc2cf9) )
+ ROM_LOAD( "8803.15b", 0x080000, 0x40000, CRC(ce1fb102) SHA1(ad7da2054b860277fac23da72d261f880224541e) )
+ ROM_RELOAD( 0x0c0000, 0x40000 )
+ ROM_LOAD( "8802.13b", 0x100000, 0x80000, CRC(90f6036f) SHA1(f92aafd0316dc235e58d615825f3110806bc2cf9) )
+ ROM_RELOAD( 0x180000, 0x80000 )
+ROM_END
+
/***************************************************************************
Mahjong Tenkaigen
@@ -7405,8 +7447,9 @@ GAME( 1991, ougonhai, 0, ougonhai, tenkai, dynax_state, empty
GAME( 1991, ougonhaib1, ougonhai, ougonhaib1, tenkai, dynax_state, empty_init, ROT0, "bootleg", "Mahjong Ougon no Hai (Japan bootleg set 1, medal)", MACHINE_SUPPORTS_SAVE )
GAME( 1991, ougonhaib2, ougonhai, ougonhaib1, tenkai, dynax_state, empty_init, ROT0, "bootleg", "Mahjong Ougon no Hai (Japan bootleg set 2, medal)", MACHINE_SUPPORTS_SAVE )
GAME( 1991, ougonhaib3, ougonhai, ougonhaib1, tenkai, dynax_state, empty_init, ROT0, "bootleg", "Mahjong Ougon no Hai (Japan bootleg set 3, medal)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
-GAME( 1994, mjreach, 0, mjreach, mjreach, dynax_state, empty_init, ROT0, "Dynax", "Mahjong Reach", MACHINE_SUPPORTS_SAVE )
-GAME( 1994, mjreachbl, mjreach, mjreach, mjreach, dynax_state, empty_init, ROT0, "bootleg", "Mahjong Reach (bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, mjreach, 0, mjreach, mjreach, dynax_state, empty_init, ROT0, "Dynax", "Mahjong Reach (Ver. 1.00)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, mjreachbl, mjreach, mjreach, mjreach, dynax_state, empty_init, ROT0, "bootleg", "Mahjong Reach (Ver 1.00, bootleg)", MACHINE_SUPPORTS_SAVE )
+GAME( 1994, mjreachp2, mjreach, mjreachp2, mjreach, dynax_state, empty_init, ROT0, "Dynax", "Mahjong Reach Part II (Ver. D88)", MACHINE_SUPPORTS_SAVE )
GAME( 1994, cdracula, 0, cdracula, cdracula, cdracula_state, empty_init, ROT0, "Yun Sung (Escape license)", "Castle Of Dracula", MACHINE_SUPPORTS_SAVE ) // not a Dynax board
GAME( 1995, shpeng, 0, sprtmtch, drgpunch, dynax_state, empty_init, ROT0, "WSAC Systems?", "Sea Hunter Penguin", MACHINE_NO_COCKTAIL | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // not a Dynax board. PROMs?
GAME( 1995, intrgirl, 0, sprtmtch, drgpunch, dynax_state, empty_init, ROT0, "Barko", "Intergirl", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE ) // not a Dynax board.
diff --git a/src/mame/dynax/dynax.h b/src/mame/dynax/dynax.h
index 1505131d443ab..c6dacb0c371b2 100644
--- a/src/mame/dynax/dynax.h
+++ b/src/mame/dynax/dynax.h
@@ -12,12 +12,12 @@
#include "dynax_blitter_rev2.h"
+#include "machine/74259.h"
#include "machine/bankdev.h"
#include "machine/gen_latch.h"
#include "machine/rstbuf.h"
#include "sound/msm5205.h"
#include "sound/okim6295.h"
-#include "machine/74259.h"
#include "emupal.h"
#include "screen.h"
@@ -45,6 +45,7 @@ class dynax_state : public driver_device
void ougonhai(machine_config &config);
void ougonhaib1(machine_config &config);
void mjreach(machine_config &config);
+ void mjreachp2(machine_config &config);
void mjdialq2(machine_config &config);
void sprtmtch(machine_config &config);
@@ -163,6 +164,7 @@ class dynax_state : public driver_device
void tenkai_p8_w(uint8_t data);
uint8_t tenkai_p8_r();
void ougonhai_p7_w(uint8_t data);
+ void mjreachp2_p8_w(uint8_t data);
void tenkai_6c_w(int state);
void tenkai_70_w(int state);
void tenkai_blit_romregion_w(uint8_t data);
@@ -216,6 +218,8 @@ class dynax_state : public driver_device
void gekisha_map(address_map &map) ATTR_COLD;
void gekisha_banked_map(address_map &map) ATTR_COLD;
+ void mjreachp2_map(address_map &map) ATTR_COLD;
+
// misc
int m_rombank = 0;
uint8_t m_tenkai_p5_val = 0U;
diff --git a/src/mame/galaxian/fastfred.cpp b/src/mame/galaxian/fastfred.cpp
index be27e83eb9318..322c0b0c1de13 100644
--- a/src/mame/galaxian/fastfred.cpp
+++ b/src/mame/galaxian/fastfred.cpp
@@ -137,7 +137,6 @@ uint8_t fastfred_state::boggy84_custom_io_r(offs_t offset)
Imago sprites DMA
*/
-
MACHINE_START_MEMBER(fastfred_state,imago)
{
machine_start();
@@ -613,10 +612,10 @@ INTERRUPT_GEN_MEMBER(fastfred_state::sound_timer_irq)
void fastfred_state::fastfred(machine_config &config)
{
/* basic machine hardware */
- Z80(config, m_maincpu, XTAL(12'432'000)/4); /* 3.108 MHz; xtal from pcb pics, divider not verified */
+ Z80(config, m_maincpu, 18.432_MHz_XTAL/3/2);
m_maincpu->set_addrmap(AS_PROGRAM, &fastfred_state::fastfred_map);
- Z80(config, m_audiocpu, XTAL(12'432'000)/8); /* 1.554 MHz; xtal from pcb pics, divider not verified */
+ Z80(config, m_audiocpu, 18.432_MHz_XTAL/3/2);
m_audiocpu->set_addrmap(AS_PROGRAM, &fastfred_state::sound_map);
m_audiocpu->set_periodic_int(FUNC(fastfred_state::sound_timer_irq), attotime::from_hz(4*60));
@@ -634,7 +633,7 @@ void fastfred_state::fastfred(machine_config &config)
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); //CLOCK/16/60
+ m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0)); // CLOCK/16/60
m_screen->set_size(32*8, 32*8);
m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
m_screen->set_screen_update(FUNC(fastfred_state::screen_update_fastfred));
@@ -651,9 +650,8 @@ void fastfred_state::fastfred(machine_config &config)
GENERIC_LATCH_8(config, "soundlatch");
- AY8910(config, "ay8910.1", XTAL(12'432'000)/8).add_route(ALL_OUTPUTS, "mono", 0.25); /* 1.554 MHz; xtal from pcb pics, divider not verified */
-
- AY8910(config, "ay8910.2", XTAL(12'432'000)/8).add_route(ALL_OUTPUTS, "mono", 0.25); /* 1.554 MHz; xtal from pcb pics, divider not verified */
+ AY8910(config, "ay8910.1", 18.432_MHz_XTAL/3/4).add_route(ALL_OUTPUTS, "mono", 0.25);
+ AY8910(config, "ay8910.2", 18.432_MHz_XTAL/3/4).add_route(ALL_OUTPUTS, "mono", 0.25);
}
void fastfred_state::jumpcoas(machine_config &config)
diff --git a/src/mame/galaxian/galaxian.cpp b/src/mame/galaxian/galaxian.cpp
index 6d0de404ee626..d4ce540bf4b1d 100644
--- a/src/mame/galaxian/galaxian.cpp
+++ b/src/mame/galaxian/galaxian.cpp
@@ -12504,6 +12504,23 @@ ROM_START( bongo )
ROM_LOAD( "b-clr.bin", 0x0000, 0x0020, CRC(c4761ada) SHA1(067d12b2d3635ffa6337ed234ba42717447bea00) )
ROM_END
+ROM_START( bongoa )
+ ROM_REGION( 0x6000, "maincpu", 0 )
+ ROM_LOAD( "1-2532.bin", 0x0000, 0x1000, CRC(ebcc50bb) SHA1(6d9deb561c3eb3e21abeda3180a29d21a2848e07) )
+ ROM_LOAD( "2-2532.bin", 0x1000, 0x1000, CRC(a19da662) SHA1(a2674392d489c5e5eeb9abc51572a37cc6045220) )
+ ROM_LOAD( "3-2532.bin", 0x2000, 0x1000, CRC(684db826) SHA1(753d9f0f9e1d047d567f47a9890f99ee72531b6e) )
+ ROM_LOAD( "4-2532.bin", 0x3000, 0x1000, CRC(f80372d2) SHA1(078e2c8b947103c168c0c85430f8ebc9d09f8ba7) )
+ ROM_LOAD( "5-2532.bin", 0x4000, 0x1000, BAD_DUMP CRC(fc92eade) SHA1(f4012a1c4631388a3e8109a8381bc4084ddc8757) ) // Bad on this set, taken from 'bongo'
+ ROM_LOAD( "6-2532.bin", 0x5000, 0x1000, CRC(561d9e5d) SHA1(68d7fab3cfb5b3360fe8064c70bf21bb1341032f) )
+
+ ROM_REGION( 0x2000, "gfx1", 0 )
+ ROM_LOAD( "2732.hj", 0x0000, 0x1000, CRC(fc79d103) SHA1(dac1152221ebdc4cd9bf353b4cc5d45021ca5d9e) )
+ ROM_LOAD( "2732.kl", 0x1000, 0x1000, CRC(94d17bf3) SHA1(2a70968249946de52c5a4cfabafbbf4ecda844a8) )
+
+ ROM_REGION( 0x0020, "proms", 0 )
+ ROM_LOAD( "82s123.6l", 0x0000, 0x0020, CRC(c5f12bc3) SHA1(b746ba06b596d4227fdc730a23bdf495f84e6a72) )
+ROM_END
+
/*
@@ -16477,7 +16494,9 @@ GAME( 1980, galactica2, moonal2, mooncrst, moonal2, galaxian_state, init_
// Larger romspace, interrupt enable moved
GAME( 198?, thepitm, thepit, thepitm, thepitm, galaxian_state, init_mooncrsu, ROT90, "bootleg (KZH)", "The Pit (bootleg on Moon Quasar hardware)", MACHINE_SUPPORTS_SAVE ) // on an original MQ-2FJ PCB, even if the memory map appears closer to Moon Cresta
-GAME( 1983, bongo, 0, bongo, bongo, galaxian_state, init_kong, ROT90, "Jetsoft", "Bongo", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, bongo, 0, bongo, bongo, galaxian_state, init_kong, ROT90, "Jetsoft", "Bongo (set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, bongoa, bongo, bongo, bongo, galaxian_state, init_kong, ROT90, "Jetsoft", "Bongo (set 2)", MACHINE_SUPPORTS_SAVE ) // on an original Namco PCB
+
// Crazy Kong & Bagman bootlegs on galaxian/mooncrst hardware
GAME( 1981, ckongg, ckong, ckongg, ckongg, galaxian_state, init_ckongs, ROT90, "bootleg", "Crazy Kong (bootleg on Galaxian hardware)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/handheld/hh_tms1k.cpp b/src/mame/handheld/hh_tms1k.cpp
index b97d658da26aa..aaed167331a4b 100644
--- a/src/mame/handheld/hh_tms1k.cpp
+++ b/src/mame/handheld/hh_tms1k.cpp
@@ -11551,7 +11551,7 @@ ROM_END
- World: Computerized Arcade, Radio Shack brand, model 60-2159A, COP421 MCU,
see hh_cop400.cpp driver
- World: Computerized Arcade, Radio Shack brand, model 60-2495, 28-pin Motorola
- LSC417570DW, 6805 family or custom?
+ LSC417570DW, should be 68HC05 family
- Mexico: Fabuloso Fred, published by Ensueño Toys (also released as
9-button version, a clone of Mego Fabulous Fred)
diff --git a/src/mame/igs/igs009.cpp b/src/mame/igs/igs009.cpp
index 1e373f26159bc..f1fd46e304b7b 100644
--- a/src/mame/igs/igs009.cpp
+++ b/src/mame/igs/igs009.cpp
@@ -63,6 +63,7 @@ class igs009_state : public driver_device
void init_jingbell();
void init_jingbelli();
+ void init_animalhjb();
int hopper_r();
@@ -975,6 +976,34 @@ ROM_START( jingbelli )
ROM_LOAD( "palce22v10h-ch-jin-u27.u27", 0x000, 0x2dd, NO_DUMP )
ROM_END
+/* Animal House.
+ Recording from the real hardware: https://youtu.be/ibd8_nsklTY */
+ROM_START( animalhjb )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "27c512.u44", 0x00000, 0x10000, CRC(d11d191f) SHA1(113e22d69a2b8ceb213d72ec8cee021b1a5507e5) )
+
+ ROM_REGION( 0x8000, "data", 0 )
+ ROM_LOAD( "tms27c256.u43", 0x00000, 0x08000, CRC(af67f687) SHA1(8f43a693358612880389b238ec7040f78b0164bb) )
+
+ ROM_REGION( 0x30000, "reels", 0 )
+ ROM_LOAD( "am27c512.u17", 0x00000, 0x10000, CRC(cadd7910) SHA1(aa514ddb29c8c9a77478d56bea4ae71995fdd518) )
+ ROM_LOAD( "am27c512.u16", 0x10000, 0x10000, CRC(a9e1f5aa) SHA1(68d7f4e9e9a5bbce0904e406ee6fe82e9e52a9ba) )
+ ROM_LOAD( "am27c512.u15", 0x20000, 0x10000, CRC(865b7d3a) SHA1(c1dff3a27d747ee499aaee0c4468534f0249a3e5) )
+ ROM_REGION( 0xc0000, "tiles", 0 )
+ ROM_LOAD( "at27c020.u25", 0x00000, 0x40000, CRC(5f8abeaf) SHA1(99c4a795cb9b4d94867c12ca99cba04f9c05e129) )
+ ROM_LOAD( "at27c020.u24", 0x40000, 0x40000, CRC(58efe5a8) SHA1(fb4cba3965052e5cdd24a7e93966c597855caa68) )
+ ROM_LOAD( "at27c020.u23", 0x80000, 0x40000, CRC(e6249be1) SHA1(f49383c587061a8a5531381dc80c8ebd7c94d61d) )
+
+ ROM_REGION( 0x40000, "oki", 0 )
+ ROM_LOAD( "tms27c010a.u38", 0x00000, 0x20000, CRC(a42d73b1) SHA1(93157e9630d5c8bb34c71186415d0aa8c5d51951) )
+
+ ROM_REGION( 0x2dd, "plds", 0 )
+ ROM_LOAD( "gal16v8d.u12", 0x00000, 0x00117, CRC(b59340ed) SHA1(8678f2efedf7d17aec18b6ffeb0d4ef6b943df3c) )
+ ROM_LOAD( "gal16v8d.u33", 0x00000, 0x00117, CRC(83547e35) SHA1(a8d3622905cbd54af39c01070048f07be1b0257a) )
+ ROM_LOAD( "pal22v10.u26", 0x00000, 0x002dd, CRC(808381b5) SHA1(15802edd7d28ca4a73fb4d7757c80040393daf8d) )
+ ROM_LOAD( "pal22v10.u27", 0x00000, 0x002dd, CRC(848a42fc) SHA1(2cfeecbf934b81e9fbf3018efc00cc431a14b266) )
+ROM_END
+
void igs009_state::decrypt_jingbell()
{
uint8_t *rom = (uint8_t *)memregion("maincpu")->base();
@@ -1009,6 +1038,15 @@ void igs009_state::init_jingbelli()
rom[0x01f19] = 0x18;
}
+void igs009_state::init_animalhjb()
+{
+ decrypt_jingbell();
+
+ // protection patch
+ uint8_t *rom = (uint8_t *)memregion("maincpu")->base();
+ rom[0x01f21] = 0x18;
+}
+
void igs009_state::init_jingbell()
{
decrypt_jingbell();
@@ -1111,11 +1149,12 @@ ROM_END
} // anonymous namespace
-// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS
-GAME( 1997, jingbell, 0, jingbell, jingbell, igs009_state, init_jingbell, ROT0, "IGS", "Jingle Bell (US, V157US)", MACHINE_SUPPORTS_SAVE )
-GAME( 1997, jingbella, jingbell, jingbell, jingbell, igs009_state, init_jingbell, ROT0, "IGS", "Jingle Bell (EU, V155UE)", MACHINE_SUPPORTS_SAVE ) // Shows V154UE in test mode!
-GAME( 1997, jingbellb, jingbell, jingbell, jingbell, igs009_state, init_jingbell, ROT0, "IGS", "Jingle Bell (EU, V153UE)", MACHINE_SUPPORTS_SAVE )
-GAME( 1995, jingbellc, jingbell, jingbell, jingbell, igs009_state, init_jingbelli, ROT0, "IGS", "Jingle Bell (EU, V141UE)", MACHINE_SUPPORTS_SAVE )
-GAME( 1995?, jingbelli, jingbell, jingbell, jingbell, igs009_state, init_jingbelli, ROT0, "IGS", "Jingle Bell (Italy, V133I)", MACHINE_SUPPORTS_SAVE )
-GAME( 1998, gp98, 0, gp98, jingbell, igs009_state, empty_init, ROT0, "Romtec Co. Ltd", "Grand Prix '98 (V100K, set 1)", MACHINE_SUPPORTS_SAVE )
-GAME( 1998, gp98a, gp98, gp98, jingbell, igs009_state, empty_init, ROT0, "Romtec Co. Ltd", "Grand Prix '98 (V100K, set 2)", MACHINE_SUPPORTS_SAVE ) // "V100K JINGLEBELL" string on program ROM
+// YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS
+GAME( 1997, jingbell, 0, jingbell, jingbell, igs009_state, init_jingbell, ROT0, "IGS", "Jingle Bell (US, V157US)", MACHINE_SUPPORTS_SAVE )
+GAME( 1997, jingbella, jingbell, jingbell, jingbell, igs009_state, init_jingbell, ROT0, "IGS", "Jingle Bell (EU, V155UE)", MACHINE_SUPPORTS_SAVE ) // Shows V154UE in test mode!
+GAME( 1997, jingbellb, jingbell, jingbell, jingbell, igs009_state, init_jingbell, ROT0, "IGS", "Jingle Bell (EU, V153UE)", MACHINE_SUPPORTS_SAVE )
+GAME( 1995, jingbellc, jingbell, jingbell, jingbell, igs009_state, init_jingbelli, ROT0, "IGS", "Jingle Bell (EU, V141UE)", MACHINE_SUPPORTS_SAVE )
+GAME( 1995?, jingbelli, jingbell, jingbell, jingbell, igs009_state, init_jingbelli, ROT0, "IGS", "Jingle Bell (Italy, V133I)", MACHINE_SUPPORTS_SAVE )
+GAME( 1995?, animalhjb, jingbell, jingbell, jingbell, igs009_state, init_animalhjb, ROT0, "bootleg", "Animal House (bootleg of Jingle Bell)", MACHINE_SUPPORTS_SAVE )
+GAME( 1998, gp98, 0, gp98, jingbell, igs009_state, empty_init, ROT0, "Romtec Co. Ltd", "Grand Prix '98 (V100K, set 1)", MACHINE_SUPPORTS_SAVE )
+GAME( 1998, gp98a, gp98, gp98, jingbell, igs009_state, empty_init, ROT0, "Romtec Co. Ltd", "Grand Prix '98 (V100K, set 2)", MACHINE_SUPPORTS_SAVE ) // "V100K JINGLEBELL" string on program ROM
diff --git a/src/mame/igs/igs_m036.cpp b/src/mame/igs/igs_m036.cpp
index 7943d4d941461..11781fba3399a 100644
--- a/src/mame/igs/igs_m036.cpp
+++ b/src/mame/igs/igs_m036.cpp
@@ -1,5 +1,6 @@
// license:BSD-3-Clause
-// copyright-holders:David Haywood
+// copyright-holders: David Haywood
+
/* IGS Gambling games using IGS036 CPU
pgm2.cpp also uses this CPU
@@ -58,11 +59,17 @@ check more info and photo from cjdh2.zip!!!
*/
#include "emu.h"
+
+#include "igs036crypt.h"
+
#include "cpu/arm7/arm7.h"
#include "cpu/arm7/arm7core.h"
-#include "igs036crypt.h"
+#include "sound/okim6295.h"
+#include "sound/tt5665.h"
+
#include "emupal.h"
#include "screen.h"
+#include "speaker.h"
namespace {
@@ -193,7 +200,7 @@ ROM_START( cjddzsp )
ROM_REGION32_LE( 0x200000, "user1", 0 ) // external ARM data / prg
ROM_LOAD( "cjddzsp_s122cn.u18", 0x000000, 0x200000, CRC(4a42aad6) SHA1(96805e5bfbd50686177fe50020229ea8787ade17) )
- ROM_REGION( 0x800100, "oki", 0 ) // TT5665 samples
+ ROM_REGION( 0x800100, "tt5665", 0 ) // samples
ROM_LOAD( "cjddzsp_s122cn.u27", 0x000000, 0x800100, CRC(797e5ba3) SHA1(784fae513ac8cfd1143f0d0ce0936f74e2e64e48))
ROM_REGION( 0x800100*2, "gfx", 0 )
@@ -202,6 +209,75 @@ ROM_START( cjddzsp )
ROM_END
+/*******************************************************************
+Long Hu Zheng Ba Te Bie Ban, IGS, 2009
+Que Huang Zheng Ba, IGS, 2007
+(Year not shown on title screens but date shown on error screen when program ROM removed)
+Hardware Info by Guru
+---------------------
+
+PCB-0701-01-IU (Que Huang Zheng Ba)
+PCB-0799-02-IU-1 (Long Hu Zheng Ba Te Bie Ban)
+|----| |-------------------------------| |------|
+| |--| JAMMA |--| |
+| ULN2004 TDA1519 |
+|-| 7407 ULN2004 VOL |
+ | LV245 LV245 4.952MHz |
+|-| LV245 LV245 EPM3032 |------| UPC844|
+| 20MHz |TT5665| U43|
+|1 |------| |------| QS3257 |
+|8 |IGS036| QS3257 |
+|W | | |
+|A |------| U27 CON3|
+|Y 7404 32.768kHz |
+| 7404 U28 |
+|-| HC132 U18 |
+ | SW4 16LV1024 U29 |
+ | LV245 JP8|
+|-| BATT U30 |
+| 1117-18 SW1 |
+|10 TYN408G SW2 U31 |
+|WAY 1084-33 SW3 |
+| JP7|
+|-------------------------------------------------|
+Notes:
+ IGS036 - Custom SOC in BGA package with internal ROM. SOC is possibly ARM-based. Clock input 20.000MHz
+ TT5665 - Tontek Design Technology TT5665 8-Channel (or 4-Channel L/R Stereo) ADPCM Voice Synthesis LSI
+ Clock input 4.952MHz, pin 25 (SS) high, S0 and S1 low. Game sound is very low quality.
+ EPM3032 - Altera EPM3032 CPLD in PLCC44 package
+ Sticker on Que Huang Zheng Ba: "IU U23"
+ Sticker on Long Hu Zheng Ba Te Bie Ban: "IU-1 U23"
+ TDA1519 - NXP TDA1519 6W Stereo Power Amplifier IC
+ UPC844 - NEC uPC844 Quad Operational Amplifier
+ QS3257 - IDT QS3257 Mux/Demux (=74LS257)
+ ULN2004 - Texas Instruments ULN2004 Darlington Array
+ LV245 - 74LV245A Octal Bus Transceiver
+ 7407 - 7407D Hex Buffer
+ 7404 - 7404D Hex Inverter
+ HC132 - 74HC132D Quadruple 2-Input Positive-NAND Schmitt Trigger
+ 16LV1024 - Chiplus CS16LV10243GCR70 64kBx16-bit SRAM
+ U43 - PS/2 Port (not populated on PCB-0799)
+ CON3 - DB9 Port (not populated on PCB-0799)
+ JP7 - 4-pin power connector
+ JP8 - 10-pin connector (not populated, might be for JTAG programming)
+ BATT - 3V Coin Battery
+ SW1-3 - 8-position DIP Switch
+ SW4 - SPDT Switch (clears high scores/NVRAM)
+ 1117-18 - 1.8V 800mA LDO Regulator
+ 1084-33 - 3.3V 5A LDO Regulator
+ TYN408G - ST TYN408G SCR
+ U18 - EV29LV160AB 2Mx8-bit/1Mx16-bit DIP42 3.3V Flash ROM. ROM data is 16-bit.
+ The ROM is not pin compatible with 27C160 and must be dumped using a custom adapter.
+ This ROM is the game-specific program code. There is common code inside the IGS036 SOC because
+ if the program ROM is removed and booted the screen shows 'PROGRAM ROM ERROR'
+ - Que Huang Zheng Ba: V100CN_U18.U18
+ - Long Hu Zheng Ba Te Bie Ban: S101CN_U18.U18
+ U27-U31 - EV29LV640MT 8Mx8-bit/4Mx16-bit DIP48 Flash ROM (U29 & U31 not populated). ROM data is 16-bit.
+ U27 - Audio Samples for TT5665
+ Other ROMs - Graphics
+
+*******************************************************************/
+
ROM_START( lhtb ) // PCB-0799-02-IU-1, every ROM label starts with 龍虎特別版
ROM_REGION( 0x04000, "maincpu", 0 )
// Internal ROM of IGS036 ARM based MCU
@@ -210,13 +286,31 @@ ROM_START( lhtb ) // PCB-0799-02-IU-1, every ROM label starts with 龍虎特別
ROM_REGION32_LE( 0x200000, "user1", 0 ) // external ARM data / prg
ROM_LOAD( "s-101cn.u18", 0x000000, 0x200000, CRC(1020f4b5) SHA1(953bb776a804738c624a1dca336e42beb10238f7) )
- ROM_REGION( 0x800100, "oki", 0 ) // TT5665 samples
- ROM_LOAD( "s101cn_u27.u27", 0x000000, 0x800100, CRC(1b114177) SHA1(acd9969806a49fd6696782fd629b24bbc22f43af) ) // 1xxxxxxxxxxxxxxxxxxxxxxx = 0x00
+ ROM_REGION( 0x800000, "tt5665", 0 ) // samples
+ ROM_LOAD( "s101cn_u27.u27", 0x000000, 0x800000, CRC(8db377ae) SHA1(769c146104d8577b337d5aa8b388b9c8b726dd21) )
- ROM_REGION( 0x800100*2, "gfx", 0 )
- ROM_LOAD( "s101cn_u28.u28", 0x000000, 0x800100, CRC(d823ccba) SHA1(b1c69536baab36331dc5ed9ea12dad4f53b7422e) ) // 1xxxxxxxxxxxxxxxxxxxxxxx = 0x00
+ ROM_REGION( 0x800000*2, "gfx", 0 )
+ ROM_LOAD( "s101cn_u28.u28", 0x000000, 0x800000, CRC(75029040) SHA1(d1d0fd696a6c2819034b089e5d2e97b6d5ccc5f9) )
+ // u29 not populated
+ ROM_LOAD( "s101cn_u30.u30", 0x800000, 0x800000, CRC(4024bd96) SHA1(c3f1c616c9783560a5ea0f8727e39c20c64d46f2) )
+ // u31 not populated, etched CG1-L on PCB
+ROM_END
+
+ROM_START( qhzb ) // PCB-0701-01-IU
+ ROM_REGION( 0x04000, "maincpu", 0 )
+ // Internal ROM of IGS036 ARM based MCU
+ ROM_LOAD( "qhzb_igs036", 0x00000, 0x4000, NO_DUMP )
+
+ ROM_REGION32_LE( 0x200000, "user1", 0 ) // external ARM data / prg
+ ROM_LOAD( "v100cn_u18.u18", 0x000000, 0x200000, CRC(8c2733b7) SHA1(226768eead8d7754b2468384e5e691812d0ac96d) )
+
+ ROM_REGION( 0x800000, "tt5665", 0 ) // samples
+ ROM_LOAD( "sp_u27.u27", 0x000000, 0x800000, CRC(624ff81a) SHA1(99f06f725b761418e88198493276982e367bd432) ) // 1xxxxxxxxxxxxxxxxxxxxxx = 0x00
+
+ ROM_REGION( 0x800000*2, "gfx", 0 )
+ ROM_LOAD( "cg_u28.u28", 0x000000, 0x800000, CRC(04105f6f) SHA1(e917825c2304bba3362aecbfab73d2e2b340478e) ) // FIXED BITS (xxxxxxxx0000xxxx)
// u29 not populated
- ROM_LOAD( "s101cn_u30.u30", 0x800100, 0x800100, CRC(3077bca5) SHA1(3850cd108f8704be549de82af20b385ccc7f999e) ) // 1xxxxxxxxxxxxxxxxxxxxxxx = 0x00
+ ROM_LOAD( "cg_u30.u30", 0x800000, 0x800000, CRC(37c7d442) SHA1(81682aa1ba6912919c85ee8f68c2e9821f4a3171) )
// u31 not populated, etched CG1-L on PCB
ROM_END
@@ -229,13 +323,13 @@ ROM_START( lhzb3in1 )
ROM_REGION32_LE( 0x200000, "user1", 0 ) // external ARM data / prg
ROM_LOAD( "lhzb3in1_v100cn.u17", 0x000000, 0x200000, CRC(03caaba4) SHA1(701b97d791e9329bad2ddc4d365748e65c430758) )
- ROM_REGION( 0x1000000, "oki", 0 ) // TT5665 samples
+ ROM_REGION( 0x1000000, "tt5665", 0 ) // samples
ROM_LOAD( "lhzb3in1_v100cn.u29", 0x000000, 0x800000, CRC(d8c160a9) SHA1(4b567571764db679a265ae075136128db495acdd) )
- ROM_LOAD( "lhzb3in1_v100cn.u28", 0x800000, 0x800000, CRC(68624630) SHA1(56e638d59c4533136f69db22f562b39120b516c1) )
+ ROM_LOAD( "lhzb3in1_v100cn.u28", 0x800000, 0x800000, CRC(68624630) SHA1(56e638d59c4533136f69db22f562b39120b516c1) ) // 11xxxxxxxxxxxxxxxxxxxxx = 0x00
ROM_REGION( 0x2000000, "gfx", 0 )
ROM_LOAD( "lhzb3in1_v100cn.u30", 0x0000000, 0x800000, CRC(fb4124d7) SHA1(324fe2ade17b0ee9833decf2cab9dd4654a04cec) )
- ROM_LOAD( "lhzb3in1_v100cn.u31", 0x0800000, 0x800000, CRC(4572ff90) SHA1(5d4a40ddec1505edc8a1e35130abd7f2c97b1094) )
+ ROM_LOAD( "lhzb3in1_v100cn.u31", 0x0800000, 0x800000, CRC(4572ff90) SHA1(5d4a40ddec1505edc8a1e35130abd7f2c97b1094) ) // FIXED BITS (xxxxxxxx0000xxxx)
ROM_LOAD( "lhzb3in1_v100cn.u32", 0x1000000, 0x800000, CRC(04fe8ca2) SHA1(039009dd535e1388236bd0fd699eeaf593ae5323) )
ROM_LOAD( "lhzb3in1_v100cn.u33", 0x1800000, 0x800000, CRC(9afa55d1) SHA1(0a19e1c54b271b21fb9931e7c81a9e7d9e77295a) )
ROM_END
@@ -249,10 +343,11 @@ ROM_START( igsm312 )
ROM_REGION32_LE( 0x200000, "user1", 0 ) // external ARM data / prg
ROM_LOAD( "m312cn.rom", 0x000000, 0x200000, CRC(5069c310) SHA1(d53a2e8acddfbb7afc27c68c0b3167419a3ec3e6) )
- ROM_REGION( 0x800100, "oki", ROMREGION_ERASE00 ) // TT5665 samples
- /* missing */
+ ROM_REGION( 0x800100, "tt5665", ROMREGION_ERASE00 ) // samples
+ // missing
+
ROM_REGION( 0x800100*2, "gfx", ROMREGION_ERASE00 )
- /* missing */
+ // missing
ROM_END
@@ -265,7 +360,7 @@ ROM_START( mghammer )
ROM_REGION32_LE( 0x200000, "user1", 0 ) // external ARM data / prg
ROM_LOAD( "v_100jp.u26", 0x000000, 0x200000, CRC(d78a4dbb) SHA1(149e68c1294b31f4b039d2cd36d36f17873c247e) )
- ROM_REGION( 0x1000000, "oki", ROMREGION_ERASE00 ) // TT5665 samples
+ ROM_REGION( 0x1000000, "tt5665", ROMREGION_ERASE00 ) // samples
ROM_LOAD( "sp_u17.u17", 0x000000, 0x800000, CRC(dd9b43b6) SHA1(5fa3191a2ebb0ea7fb737e44b1f651987c6c1bbb) )
ROM_LOAD( "sp_u18.u18", 0x800000, 0x800000, CRC(0998e0c6) SHA1(bfa2b42248dc52f83682bbdec7bb7aaa53b4ac29) )
@@ -321,7 +416,7 @@ void igs_m036_state::pgm_create_dummy_internal_arm_region(void)
void igs_m036_state::igs_m036(machine_config &config)
{
- IGS036(config, m_maincpu, 20'000'000);
+ IGS036(config, m_maincpu, 20_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &igs_m036_state::igs_m036_map);
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
@@ -333,13 +428,15 @@ void igs_m036_state::igs_m036(machine_config &config)
screen.set_palette("palette");
PALETTE(config, "palette").set_entries(0x200);
- // sound hardware (OKI)
+
+ SPEAKER(config, "speaker").front_center();
+ OKIM6295(config, "oki", 1'000'000, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "speaker", 1.0); // clock and pin 7 not verified
}
void igs_m036_state::igs_m036_tt(machine_config &config)
{
- IGS036(config, m_maincpu, 20'000'000);
+ IGS036(config, m_maincpu, 20_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &igs_m036_state::igs_m036_map);
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
@@ -351,7 +448,9 @@ void igs_m036_state::igs_m036_tt(machine_config &config)
screen.set_palette("palette");
PALETTE(config, "palette").set_entries(0x200);
- // sound hardware (TT5665)
+
+ SPEAKER(config, "speaker").front_center();
+ TT5665(config, "tt5665", 4.952_MHz_XTAL, tt5665_device::ss_state::SS_HIGH, 0).add_route(1, "speaker", 1.0);
}
@@ -401,7 +500,9 @@ GAME( 200?, cjdh2c, cjdh2, igs_m036, igs_m036, igs_m036_state, init_cjdh2,
GAME( 200?, cjddzsp, 0, igs_m036_tt, igs_m036, igs_m036_state, init_cjddzsp, ROT0, "IGS", "Super Dou Di Zhu Special (V122CN)", MACHINE_IS_SKELETON )
-GAME( 200?, lhtb, 0, igs_m036_tt, igs_m036, igs_m036_state, init_cjddzsp, ROT0, "IGS", "Long Hu Tebie Ban (V101CN)", MACHINE_IS_SKELETON ) // 龍虎特別版 - Lónghǔ tèbié bǎn
+GAME( 2007, qhzb, 0, igs_m036_tt, igs_m036, igs_m036_state, init_cjddzsp, ROT0, "IGS", "Que Huang Zheng Ba (V100CN)", MACHINE_IS_SKELETON )
+
+GAME( 2009, lhtb, 0, igs_m036_tt, igs_m036, igs_m036_state, init_cjddzsp, ROT0, "IGS", "Long Hu Tebie Ban (V101CN)", MACHINE_IS_SKELETON ) // 龍虎特別版 - Lónghǔ tèbié bǎn
GAME( 200?, lhzb3in1, 0, igs_m036_tt, igs_m036, igs_m036_state, init_cjddzsp, ROT0, "IGS", "Long Hu Zhengba San He Yi (V100CN)", MACHINE_IS_SKELETON ) // 龙虎争霸三合一
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 562a77f335a3c..f7079f0d66366 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -17461,6 +17461,7 @@ mjembase // "38" Mahjong Electromagnetic Base 1989 Dynax
mjfriday // "26" (c) 1989 Dynax
mjreach // (c) 1994 Dynax
mjreachbl // (c) 1994 bootleg
+mjreachp2 // (c) 1994 Dynax
neruton // "45" Mahjong Neruton Haikujiradan 1990 Dynax
nerutona // "45" Mahjong Neruton Haikujiradan 1990 Dynax
ougonhai // "62" (c) 1991 Dynax
@@ -18486,6 +18487,7 @@ blkhole // TDS (Tokyo Denshi Sekkei) & MINTS
bmxstunts // (c) 1985 Jetsoft
bomber //
bongo // (c) 1983 Jetsoft
+bongoa // (c) 1983 Jetsoft
calipso // (c) 1982 Tago
catacomb // 1982 MTM Games
checkman // (c) 1982 Zilec-Zenitone
@@ -20067,6 +20069,7 @@ wcat3a //
wcherry // bootleg
@source:igs/igs009.cpp
+animalhjb // bootleg
gp98 // (c) 1998
gp98a // (c) 1998
jingbell // (c) 1997
@@ -20152,9 +20155,10 @@ cjdh2a // (c) 200?
cjdh2b // (c) 200?
cjdh2c // (c) 200?
igsm312 // (c) 200?
-lhtb // (c) 200?
+lhtb // (c) 2009
lhzb3in1 // (c) 200?
mghammer // (c) 2015
+qhzb // (c) 2007
@source:igs/igspoker.cpp
chleague // (c) 199? IGS
@@ -34141,6 +34145,7 @@ tubepb // (c) 1984 + bootleg
@source:nichibutsu/wiping.cpp
rugrats // (c) 1983
+shettle // (c) 1984
wiping // (c) 1982
@source:nintendo/aleck64.cpp
diff --git a/src/mame/midw8080/8080bw.cpp b/src/mame/midw8080/8080bw.cpp
index ef006cc5fa429..52432706bd656 100644
--- a/src/mame/midw8080/8080bw.cpp
+++ b/src/mame/midw8080/8080bw.cpp
@@ -249,7 +249,7 @@ static INPUT_PORTS_START( sicv_base )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN ) // sicv has a DIP switch connected here
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) // tied high via 1k resistor on schematic
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) // tied high via 1k resistor on schematic
- PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) // tied high via 1k resistor on schematic (shard with IN1 bit 3)
+ PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNUSED ) // tied high via 1k resistor on schematic (shared with IN1 bit 3)
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED ) // tied high via 1k resistor on schematic
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) // not connected (floating) on schematic)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) // tied high via 1k resistor on schematic
@@ -356,7 +356,7 @@ static INPUT_PORTS_START( alieninv )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN2")
- PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x01, "3" )
PORT_DIPNAME( 0x02, 0x02, "Pence Coinage" ) PORT_DIPLOCATION("SW1:2")
@@ -1555,6 +1555,10 @@ static INPUT_PORTS_START( rollingc )
PORT_INCLUDE( sicv_base )
PORT_MODIFY("IN0")
+ // bit 0: Looks like simple protection for moonbase, see routine at $0EB1, gets called at $0DD2.
+ // It checks for score overflow, and the game ends with message "YOU ARE TOO STRONG" when score
+ // overflows from 99990 to 0. If bit 0 value = 1, the game ends prematurely when score hits 1000.
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x06, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_CUSTOM_MEMBER(rollingc_state, game_select_r)
PORT_MODIFY("IN1")
@@ -4111,7 +4115,7 @@ void cane_state::cane(machine_config &config)
CANE_AUDIO(config, "soundboard");
}
-void cane_state::cane_unknown_port0_w(u8 data)
+void cane_state::cane_unknown_port0_w(uint8_t data)
{
logerror("Unmapped io memory write to 00 = 00 %u\n", data);
}
@@ -4140,13 +4144,13 @@ void cane_state::cane_unknown_port0_w(u8 data)
***********************************************************************************************************************************/
-u8 orbite_state::orbite_scattered_colorram_r(address_space &space, offs_t offset, u8 mem_mask)
+uint8_t orbite_state::orbite_scattered_colorram_r(address_space &space, offs_t offset, uint8_t mem_mask)
{
return m_scattered_colorram[(offset & 0x1f) | ((offset & 0x1f80) >> 2)];
}
-void orbite_state::orbite_scattered_colorram_w(address_space &space, offs_t offset, u8 data, u8 mem_mask)
+void orbite_state::orbite_scattered_colorram_w(address_space &space, offs_t offset, uint8_t data, uint8_t mem_mask)
{
m_scattered_colorram[(offset & 0x1f) | ((offset & 0x1f80) >> 2)] = data;
}
diff --git a/src/mame/midw8080/8080bw.h b/src/mame/midw8080/8080bw.h
index a6e6b08be1d0f..2a528f58a4325 100644
--- a/src/mame/midw8080/8080bw.h
+++ b/src/mame/midw8080/8080bw.h
@@ -437,9 +437,10 @@ class rollingc_state : public _8080bw_state // TODO: untangle the invadpt2 sound
class ozmawars_state : public _8080bw_state
{
public:
- ozmawars_state(const machine_config &mconfig, device_type type, const char *tag)
- : _8080bw_state(mconfig, type, tag)
- { }
+ ozmawars_state(const machine_config &mconfig, device_type type, const char *tag) :
+ _8080bw_state(mconfig, type, tag)
+ {
+ }
void ozmawars(machine_config &config);
void ozmawars_samples_audio(machine_config &config);
@@ -449,8 +450,8 @@ class ozmawars_state : public _8080bw_state
void ozmawars_port04_w(uint8_t data);
void ozmawars_port05_w(uint8_t data);
void ozmawars_io_map(address_map &map);
- u8 m_port03 = 0;
- u8 m_port05 = 0;
+ uint8_t m_port03 = 0;
+ uint8_t m_port05 = 0;
bool m_sound_enable = 0;
};
@@ -578,7 +579,7 @@ class cane_state : public mw8080bw_state
void cane_audio(machine_config &config);
protected:
- void cane_unknown_port0_w(u8 data);
+ void cane_unknown_port0_w(uint8_t data);
private:
void cane_io_map(address_map &map);
@@ -606,8 +607,8 @@ class orbite_state : public invaders_clone_palette_state
protected:
virtual void machine_start() override;
- u8 orbite_scattered_colorram_r(address_space &space, offs_t offset, u8 mem_mask = 0xff);
- void orbite_scattered_colorram_w(address_space &space, offs_t offset, u8 data, u8 mem_mask = 0xff);
+ uint8_t orbite_scattered_colorram_r(address_space &space, offs_t offset, uint8_t mem_mask = 0xff);
+ void orbite_scattered_colorram_w(address_space &space, offs_t offset, uint8_t data, uint8_t mem_mask = 0xff);
private:
void orbite_io_map(address_map &map);
diff --git a/src/mame/midway/atlantis.cpp b/src/mame/midway/atlantis.cpp
index f0d7867e0bfb6..49af22b22cc48 100644
--- a/src/mame/midway/atlantis.cpp
+++ b/src/mame/midway/atlantis.cpp
@@ -57,6 +57,7 @@
#include "video/zeus2.h"
#include "emupal.h"
+#include "speaker.h"
#define LOG_RTC (1U << 1)
#define LOG_PORT (1U << 2)
@@ -839,12 +840,23 @@ void atlantis_state::mwskins(machine_config &config)
m_screen->set_screen_update("zeus2", FUNC(zeus2_device::screen_update));
/* sound hardware */
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
DCS2_AUDIO_DENVER_2CH(config, m_dcs, 0);
+ m_dcs->set_maincpu_tag(m_maincpu);
m_dcs->set_dram_in_mb(4);
m_dcs->set_polling_offset(0xe33);
+ m_dcs->add_route(0, "rspeaker", 1.0);
+ m_dcs->add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_STANDARD);
m_ioasic->set_yearoffs(80);
m_ioasic->set_upper(342); // 325
m_ioasic->irq_handler().set(FUNC(atlantis_state::ioasic_irq));
diff --git a/src/mame/midway/midtunit.cpp b/src/mame/midway/midtunit.cpp
index 9fb4e43277d02..443a22e679de1 100644
--- a/src/mame/midway/midtunit.cpp
+++ b/src/mame/midway/midtunit.cpp
@@ -626,6 +626,7 @@ void midtunit_state::tunit_adpcm(machine_config &config)
/* basic machine hardware */
SPEAKER(config, "speaker").front_center();
+
WILLIAMS_ADPCM_SOUND(config, m_adpcm_sound, 0).add_route(ALL_OUTPUTS, "speaker", 1.0);
}
@@ -635,7 +636,11 @@ void midtunit_state::tunit_dcs(machine_config &config)
tunit_core(config);
/* basic machine hardware */
+ SPEAKER(config, "speaker").front_center();
+
DCS_AUDIO_2K(config, m_dcs, 0);
+ m_dcs->set_maincpu_tag(m_maincpu);
+ m_dcs->add_route(0, "speaker", 1.0);
}
diff --git a/src/mame/midway/midvunit.cpp b/src/mame/midway/midvunit.cpp
index 955591532ef52..6113d9b113a5d 100644
--- a/src/mame/midway/midvunit.cpp
+++ b/src/mame/midway/midvunit.cpp
@@ -30,6 +30,8 @@
#include "cpu/adsp2100/adsp2100.h"
#include "machine/nvram.h"
+#include "speaker.h"
+
#include "crusnusa.lh"
@@ -1105,7 +1107,11 @@ void midvunit_state::midvunit(machine_config &config)
m_adc->ch3_callback().set_ioport("BRAKE");
/* sound hardware */
- DCS_AUDIO_2K(config, "dcs", 0);
+ SPEAKER(config, "mono").front_center();
+
+ DCS_AUDIO_2K(config, m_dcs, 0);
+ m_dcs->set_maincpu_tag(m_maincpu);
+ m_dcs->add_route(0, "mono", 1.0);
}
@@ -1141,14 +1147,25 @@ void midvunit_state::midvplus(machine_config &config)
ATA_INTERFACE(config, m_ata).options(ata_devices, "hdd", nullptr, true);
MIDWAY_IOASIC(config, m_midway_ioasic, 0);
+ m_midway_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_midway_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_midway_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_midway_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_midway_ioasic->set_dcs_tag(m_dcs);
m_midway_ioasic->set_shuffle(0);
m_midway_ioasic->set_upper(452); /* no alternates */
m_midway_ioasic->set_yearoffs(94);
/* sound hardware */
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
DCS2_AUDIO_2115(config, m_dcs, 0);
+ m_dcs->set_maincpu_tag(m_maincpu);
m_dcs->set_dram_in_mb(2);
m_dcs->set_polling_offset(0x3839);
+ m_dcs->add_route(0, "rspeaker", 1.0);
+ m_dcs->add_route(1, "lspeaker", 1.0);
}
diff --git a/src/mame/midway/midwayic.cpp b/src/mame/midway/midwayic.cpp
index 67538fa78a345..5395ba13aaf93 100644
--- a/src/mame/midway/midwayic.cpp
+++ b/src/mame/midway/midwayic.cpp
@@ -35,7 +35,7 @@
*
*************************************/
-#define FIFO_SIZE 512
+static constexpr uint32_t FIFO_SIZE = 512;
/*************************************
*
@@ -93,8 +93,8 @@ void midway_serial_pic_device::generate_serial_data(int upper)
m_data[12] = machine().rand() & 0xff;
m_data[13] = machine().rand() & 0xff;
- m_data[14] = 0; /* ??? */
- m_data[15] = 0; /* ??? */
+ m_data[14] = 0; // ???
+ m_data[15] = 0; // ???
temp = 0x174 * (year - 1980) + 0x1f * (month - 1) + day;
m_data[10] = (temp >> 8) & 0xff;
@@ -208,13 +208,13 @@ void midway_serial_pic_device::write(u8 data)
{
LOGPIC("%s:security W = %04X\n", machine().describe_context(), data);
- /* status seems to reflect the clock bit */
+ // status seems to reflect the clock bit
m_status = (data >> 4) & 1;
- /* on the falling edge, clock the next data byte through */
+ // on the falling edge, clock the next data byte through
if (!m_status)
{
- /* the self-test writes 1F, 0F, and expects to read an F in the low 4 bits */
+ // the self-test writes 1F, 0F, and expects to read an F in the low 4 bits
if (data & 0x0f)
m_buff = data & 0xf;
else
@@ -247,8 +247,12 @@ DEFINE_DEVICE_TYPE(MIDWAY_SERIAL_PIC_EMU, midway_serial_pic_emu_device, "midway_
//-------------------------------------------------
midway_serial_pic_emu_device::midway_serial_pic_emu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, MIDWAY_SERIAL_PIC_EMU, tag, owner, clock)
- , m_pic(*this, "pic")
+ device_t(mconfig, MIDWAY_SERIAL_PIC_EMU, tag, owner, clock),
+ m_pic(*this, "pic"),
+ m_command(0),
+ m_data_out(0),
+ m_clk(0),
+ m_status(0)
{
}
@@ -309,7 +313,7 @@ void midway_serial_pic_emu_device::write_c(u8 data)
void midway_serial_pic_emu_device::device_add_mconfig(machine_config &config)
{
- PIC16C57(config, m_pic, 4000000); /* ? Mhz */
+ PIC16C57(config, m_pic, 4000000); // ? Mhz
m_pic->read_a().set([this]() { return m_command; });
m_pic->write_b().set([this](u8 data) { m_data_out = data; });
m_pic->read_c().set(FUNC(midway_serial_pic_emu_device::read_c));
@@ -357,9 +361,9 @@ midway_serial_pic2_device::midway_serial_pic2_device(const machine_config &mconf
m_time_write_timer(nullptr)
{
memset(m_buffer,0,sizeof(m_buffer));
- memset(m_time_buf,0,sizeof(m_time_buf));
memset(m_nvram,0,sizeof(m_nvram));
memset(m_default_nvram,0,sizeof(m_default_nvram));
+ memset(m_time_buf,0,sizeof(m_time_buf));
}
@@ -417,7 +421,7 @@ u8 midway_serial_pic2_device::status_r()
if (!machine().side_effects_disabled())
{
- /* if we're still holding the data ready bit high, do it */
+ // if we're still holding the data ready bit high, do it
if (m_latch & 0xf00)
{
if (machine().time() > m_latch_expire_time)
@@ -437,15 +441,15 @@ u8 midway_serial_pic2_device::read()
{
uint8_t result = 0;
- /* PIC data register */
+ // PIC data register
if (!machine().side_effects_disabled())
LOGPIC("%s:PIC data read (index=%d total=%d latch=%03X) =", machine().describe_context(), m_index, m_total, m_latch);
- /* return the current result */
+ // return the current result
if (m_latch & 0xf00)
result = m_latch & 0xff;
- /* otherwise, return 0xff if we have data ready */
+ // otherwise, return 0xff if we have data ready
else if (m_index < m_total)
result = 0xff;
@@ -457,13 +461,13 @@ u8 midway_serial_pic2_device::read()
void midway_serial_pic2_device::write(u8 data)
{
- /* PIC command register */
+ // PIC command register
if (m_state == 0)
LOGPIC("%s:PIC command %02X\n", machine().describe_context(), data);
else
LOGPIC("%s:PIC data %02X\n", machine().describe_context(), data);
- /* store in the latch, along with a bit to indicate we have data */
+ // store in the latch, along with a bit to indicate we have data
m_latch = (data & 0x00f) | 0x480;
m_latch_expire_time = machine().time() + attotime::from_msec(1);
if (data & 0x10)
@@ -471,15 +475,15 @@ void midway_serial_pic2_device::write(u8 data)
int cmd = m_state ? (m_state & 0x0f) : (m_latch & 0x0f);
switch (cmd)
{
- /* written to latch the next byte of data */
+ // written to latch the next byte of data
case 0:
if (m_index < m_total)
m_latch = 0x400 | m_buffer[m_index++];
break;
- /* fetch the serial number */
+ // fetch the serial number
case 1:
- /* note: Biofreaks assumes that it can latch the next byte this way */
+ // note: Biofreaks assumes that it can latch the next byte this way
if (m_index < m_total)
m_latch = 0x400 | m_buffer[m_index++];
else
@@ -491,16 +495,16 @@ void midway_serial_pic2_device::write(u8 data)
}
break;
- /* read the clock */
+ // read the clock
case 3:
{
- /* stuff it into the data bytes */
+ // stuff it into the data bytes
m_index = 0;
m_total = 0;
- /* if we haven't written a new time recently, use the real live time */
if (!m_time_just_written)
{
+ // if we haven't written a new time recently, use the real live time
system_time systime;
machine().base_datetime(systime);
@@ -512,10 +516,9 @@ void midway_serial_pic2_device::write(u8 data)
m_buffer[m_total++] = make_bcd(systime.local_time.month + 1);
m_buffer[m_total++] = make_bcd(systime.local_time.year - 1900 - m_yearoffs);
}
-
- /* otherwise, just parrot back what was written to pass self tests */
else
{
+ // otherwise, just parrot back what was written to pass self tests
m_buffer[m_total++] = m_time_buf[0];
m_buffer[m_total++] = m_time_buf[1];
m_buffer[m_total++] = m_time_buf[2];
@@ -527,33 +530,32 @@ void midway_serial_pic2_device::write(u8 data)
break;
}
- /* write the clock */
+ // write the clock
case 4:
- /* if coming from state 0, go to state 1 (this is just the command byte) */
if (m_state == 0)
{
+ // if coming from state 0, go to state 1 (this is just the command byte)
m_state = 0x14;
m_time_index = 0;
}
-
- /* if in states 1-2 put data in the buffer until it's full */
else if (m_state == 0x14)
{
+ // if in states 1-2 put data in the buffer until it's full
m_time_buf[m_time_index] = m_latch & 0x0f;
m_state = 0x24;
}
else if (m_state == 0x24)
{
m_time_buf[m_time_index++] |= m_latch << 4;
-
- /* if less than 7 bytes accumulated, go back to state 1 */
if (m_time_index < 7)
+ {
+ // if less than 7 bytes accumulated, go back to state 1
m_state = 0x14;
-
- /* otherwise, flag the time as having just been written for 1/2 second */
+ }
else
{
+ // otherwise, flag the time as having just been written for 1/2 second
m_time_write_timer->adjust(attotime::from_msec(500));
m_time_just_written = 1;
m_state = 0;
@@ -561,60 +563,56 @@ void midway_serial_pic2_device::write(u8 data)
}
break;
- /* write to NVRAM */
+ // write to NVRAM
case 5:
-
- /* if coming from state 0, go to state 1 (this is just the command byte) */
if (m_state == 0)
+ {
+ // if coming from state 0, go to state 1 (this is just the command byte)
m_state = 0x15;
-
- /* coming from state 1, go to state 2 and latch the low 4 address bits */
+ }
else if (m_state == 0x15)
{
+ // coming from state 1, go to state 2 and latch the low 4 address bits
m_nvram_addr = m_latch & 0x0f;
m_state = 0x25;
}
-
- /* coming from state 2, go to state 3 and latch the high 4 address bits */
else if (m_state == 0x25)
{
+ // coming from state 2, go to state 3 and latch the high 4 address bits
m_state = 0x35;
m_nvram_addr |= m_latch << 4;
}
-
- /* coming from state 3, go to state 4 and write the low 4 bits */
else if (m_state == 0x35)
{
+ // coming from state 3, go to state 4 and write the low 4 bits
m_state = 0x45;
m_nvram[m_nvram_addr] = m_latch & 0x0f;
}
-
- /* coming from state 4, reset the states and write the upper 4 bits */
else if (m_state == 0x45)
{
+ // coming from state 4, reset the states and write the upper 4 bits
m_state = 0;
m_nvram[m_nvram_addr] |= m_latch << 4;
LOGNVRAM("Write byte %02X = %02X\n", m_nvram_addr, m_nvram[m_nvram_addr]);
}
break;
- /* read from NVRAM */
+ // read from NVRAM
case 6:
-
- /* if coming from state 0, go to state 1 (this is just the command byte) */
if (m_state == 0)
+ {
+ // if coming from state 0, go to state 1 (this is just the command byte)
m_state = 0x16;
-
- /* coming from state 1, go to state 2 and latch the low 4 address bits */
+ }
else if (m_state == 0x16)
{
+ // coming from state 1, go to state 2 and latch the low 4 address bits
m_nvram_addr = m_latch & 0x0f;
m_state = 0x26;
}
-
- /* coming from state 2, reset the states and make the data available */
else if (m_state == 0x26)
{
+ // coming from state 2, reset the states and make the data available
m_state = 0;
m_nvram_addr |= m_latch << 4;
@@ -625,7 +623,7 @@ void midway_serial_pic2_device::write(u8 data)
}
break;
- /* reflect inverted? (Cruisin' Exotica) */
+ // reflect inverted? (Cruisin' Exotica)
case 8:
m_latch = 0x400 | (~cmd & 0xff);
break;
@@ -661,22 +659,22 @@ bool midway_serial_pic2_device::nvram_write(util::write_stream &file)
enum
{
- IOASIC_PORT0, /* 0: input port 0 */
- IOASIC_PORT1, /* 1: input port 1 */
- IOASIC_PORT2, /* 2: input port 2 */
- IOASIC_PORT3, /* 3: input port 3 */
- IOASIC_UARTCONTROL, /* 4: controls some UART behavior */
- IOASIC_UARTOUT, /* 5: UART output */
- IOASIC_UARTIN, /* 6: UART input */
- IOASIC_COIN, /* 7: triggered on coin insertion */
- IOASIC_SOUNDCTL, /* 8: sound communications control */
- IOASIC_SOUNDOUT, /* 9: sound output port */
- IOASIC_SOUNDSTAT, /* a: sound status port */
- IOASIC_SOUNDIN, /* b: sound input port */
- IOASIC_PICOUT, /* c: PIC output port */
- IOASIC_PICIN, /* d: PIC input port */
- IOASIC_INTSTAT, /* e: interrupt status */
- IOASIC_INTCTL /* f: interrupt control */
+ IOASIC_PORT0, // 0: input port 0
+ IOASIC_PORT1, // 1: input port 1
+ IOASIC_PORT2, // 2: input port 2
+ IOASIC_PORT3, // 3: input port 3
+ IOASIC_UARTCONTROL, // 4: controls some UART behavior
+ IOASIC_UARTOUT, // 5: UART output
+ IOASIC_UARTIN, // 6: UART input
+ IOASIC_COIN, // 7: triggered on coin insertion
+ IOASIC_SOUNDCTL, // 8: sound communications control
+ IOASIC_SOUNDOUT, // 9: sound output port
+ IOASIC_SOUNDSTAT, // a: sound status port
+ IOASIC_SOUNDIN, // b: sound input port
+ IOASIC_PICOUT, // c: PIC output port
+ IOASIC_PICIN, // d: PIC input port
+ IOASIC_INTSTAT, // e: interrupt status
+ IOASIC_INTCTL // f: interrupt control
};
void midway_ioasic_device::ioasic_register_state()
@@ -703,20 +701,17 @@ DEFINE_DEVICE_TYPE(MIDWAY_IOASIC, midway_ioasic_device, "midway_ioasic", "Midway
midway_ioasic_device::midway_ioasic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
midway_serial_pic2_device(mconfig, MIDWAY_IOASIC, tag, owner, clock),
- m_io_dips(*this, ":DIPS"),
- m_io_system(*this, ":SYSTEM"),
- m_io_in1(*this, ":IN1"),
- m_io_in2(*this, ":IN2"),
+ m_cage(*this, finder_base::DUMMY_TAG),
+ m_dcs(*this, finder_base::DUMMY_TAG),
+ m_irq_callback(*this),
+ m_input_cb(*this, 0),
m_serial_tx_cb(*this),
m_aux_output_cb(*this),
- m_has_dcs(0),
- m_has_cage(0),
m_dcs_cpu(nullptr),
m_shuffle_type(0),
m_shuffle_default(0),
m_shuffle_active(0),
m_shuffle_map(nullptr),
- m_irq_callback(*this),
m_irq_state(0),
m_sound_irq_state(0),
m_auto_ack(0),
@@ -724,9 +719,7 @@ midway_ioasic_device::midway_ioasic_device(const machine_config &mconfig, const
m_fifo_in(0),
m_fifo_out(0),
m_fifo_bytes(0),
- m_fifo_force_buffer_empty_pc(0),
- m_cage(*this, ":cage"),
- m_dcs(*this, ":dcs")
+ m_fifo_force_buffer_empty_pc(0)
{
memset(m_fifo,0,sizeof(m_fifo));
memset(m_reg,0,sizeof(m_reg));
@@ -742,41 +735,38 @@ void midway_ioasic_device::device_start()
{
static const uint8_t shuffle_maps[][16] =
{
- { 0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xb,0xc,0xd,0xe,0xf }, /* WarGods, WG3DH, SFRush, MK4 */
- { 0x4,0x5,0x6,0x7,0xb,0xa,0x9,0x8,0x3,0x2,0x1,0x0,0xf,0xe,0xd,0xc }, /* Blitz, Blitz99 */
- { 0x7,0x3,0x2,0x0,0x1,0xc,0xd,0xe,0xf,0x4,0x5,0x6,0x8,0x9,0xa,0xb }, /* Carnevil */
- { 0x8,0x9,0xa,0xb,0x0,0x1,0x2,0x3,0xf,0xe,0xc,0xd,0x4,0x5,0x6,0x7 }, /* Calspeed, Gauntlet Legends */
- { 0xf,0xe,0xd,0xc,0x4,0x5,0x6,0x7,0x9,0x8,0xa,0xb,0x2,0x3,0x1,0x0 }, /* Mace */
- { 0xc,0xd,0xe,0xf,0x0,0x1,0x2,0x3,0x7,0x8,0x9,0xb,0xa,0x5,0x6,0x4 }, /* Gauntlet Dark Legacy */
- { 0x7,0x4,0x5,0x6,0x2,0x0,0x1,0x3,0x8,0x9,0xa,0xb,0xd,0xc,0xe,0xf }, /* Vapor TRX */
- { 0x7,0x4,0x5,0x6,0x2,0x0,0x1,0x3,0x8,0x9,0xa,0xb,0xd,0xc,0xe,0xf }, /* San Francisco Rush: The Rock */
- { 0x1,0x2,0x3,0x0,0x4,0x5,0x6,0x7,0xa,0xb,0x8,0x9,0xc,0xd,0xe,0xf }, /* Hyperdrive */
+ { 0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9,0xa,0xb,0xc,0xd,0xe,0xf }, // WarGods, WG3DH, SFRush, MK4
+ { 0x4,0x5,0x6,0x7,0xb,0xa,0x9,0x8,0x3,0x2,0x1,0x0,0xf,0xe,0xd,0xc }, // Blitz, Blitz99
+ { 0x7,0x3,0x2,0x0,0x1,0xc,0xd,0xe,0xf,0x4,0x5,0x6,0x8,0x9,0xa,0xb }, // Carnevil
+ { 0x8,0x9,0xa,0xb,0x0,0x1,0x2,0x3,0xf,0xe,0xc,0xd,0x4,0x5,0x6,0x7 }, // Calspeed, Gauntlet Legends
+ { 0xf,0xe,0xd,0xc,0x4,0x5,0x6,0x7,0x9,0x8,0xa,0xb,0x2,0x3,0x1,0x0 }, // Mace
+ { 0xc,0xd,0xe,0xf,0x0,0x1,0x2,0x3,0x7,0x8,0x9,0xb,0xa,0x5,0x6,0x4 }, // Gauntlet Dark Legacy
+ { 0x7,0x4,0x5,0x6,0x2,0x0,0x1,0x3,0x8,0x9,0xa,0xb,0xd,0xc,0xe,0xf }, // Vapor TRX
+ { 0x7,0x4,0x5,0x6,0x2,0x0,0x1,0x3,0x8,0x9,0xa,0xb,0xd,0xc,0xe,0xf }, // San Francisco Rush: The Rock
+ { 0x1,0x2,0x3,0x0,0x4,0x5,0x6,0x7,0xa,0xb,0x8,0x9,0xc,0xd,0xe,0xf }, // Hyperdrive
};
ioasic_register_state();
- /* do we have a DCS2 sound chip connected? */
- m_has_dcs = (m_dcs != nullptr);
- m_has_cage = (m_cage != nullptr);
-
- if (m_has_dcs)
+ // do we have a DCS2 sound chip connected?
+ if (m_dcs)
{
m_dcs_cpu = m_dcs->get_cpu();
}
m_shuffle_map = &shuffle_maps[m_shuffle_type][0];
- /* initialize the PIC */
+ // initialize the PIC
midway_serial_pic2_device::device_start();
- /* reset the chip */
+ // reset the chip
ioasic_reset();
m_reg[IOASIC_SOUNDCTL] = 0x0001;
- /* configure the fifo */
- if (m_has_dcs)
+ // configure the fifo
+ if (m_dcs)
{
m_dcs->set_fifo_callbacks(
read16smo_delegate(*this, FUNC(midway_ioasic_device::fifo_r)),
@@ -801,7 +791,7 @@ void midway_ioasic_device::ioasic_reset()
m_shuffle_active = m_shuffle_default;
m_sound_irq_state = 0x0080;
m_reg[IOASIC_INTCTL] = 0;
- if (m_has_dcs)
+ if (m_dcs)
fifo_reset_w(1);
update_ioasic_irq();
midway_serial_pic_device::reset_w(1);
@@ -879,31 +869,34 @@ uint16_t midway_ioasic_device::fifo_r()
{
uint16_t result = 0;
- /* we can only read data if there's some to read! */
+ // we can only read data if there's some to read!
if (m_fifo_bytes != 0)
{
- /* fetch the data from the buffer and update the IOASIC state */
- result = m_fifo[m_fifo_out++ % FIFO_SIZE];
- m_fifo_bytes--;
- update_ioasic_irq();
+ // fetch the data from the buffer and update the IOASIC state
+ result = m_fifo[m_fifo_out];
+ if (!machine().side_effects_disabled())
+ {
+ m_fifo_out = (m_fifo_out + 1) % FIFO_SIZE;
+ m_fifo_bytes--;
+ update_ioasic_irq();
- if (m_fifo_bytes < 4 || m_fifo_bytes >= FIFO_SIZE - 4)
- LOGFIFO("fifo_r(%04X): FIFO bytes = %d!\n", result, m_fifo_bytes);
+ if (m_fifo_bytes < 4 || m_fifo_bytes >= FIFO_SIZE - 4)
+ LOGFIFO("fifo_r(%04X): FIFO bytes = %d!\n", result, m_fifo_bytes);
- /* if we just cleared the buffer, this may generate an IRQ on the master CPU */
- /* because of the way the streaming code works, we need to make sure that the */
- /* next status read indicates an empty buffer, even if we've timesliced and the */
- /* main CPU is handling the I/O ASIC interrupt */
- if (m_fifo_bytes == 0 && m_has_dcs)
- {
- m_fifo_force_buffer_empty_pc = m_dcs_cpu->pc();
- LOGFIFO("fifo_r(%04X): FIFO empty, PC = %04X\n", result, m_fifo_force_buffer_empty_pc);
+ // if we just cleared the buffer, this may generate an IRQ on the master CPU
+ // because of the way the streaming code works, we need to make sure that the
+ // next status read indicates an empty buffer, even if we've timesliced and the
+ // main CPU is handling the I/O ASIC interrupt
+ if (m_fifo_bytes == 0 && m_dcs)
+ {
+ m_fifo_force_buffer_empty_pc = m_dcs_cpu->pc();
+ LOGFIFO("fifo_r(%04X): FIFO empty, PC = %04X\n", result, m_fifo_force_buffer_empty_pc);
+ }
}
}
- else
- {
+ else if (!machine().side_effects_disabled())
LOGFIFO("fifo_r(): nothing to read!\n");
- }
+
return result;
}
@@ -927,17 +920,20 @@ uint16_t midway_ioasic_device::fifo_status_r(address_space &space)
{
uint16_t result = get_fifo_status();
- // kludge alert: if we're reading this from the DCS CPU itself, and we recently cleared
- // the FIFO, and we're within 16 instructions of the read that cleared the FIFO, make
- // sure the FIFO clear bit is set
- if (m_fifo_force_buffer_empty_pc && &space.device() == m_dcs_cpu)
+ if (!machine().side_effects_disabled())
{
- offs_t currpc = m_dcs_cpu->pc();
- if (currpc >= m_fifo_force_buffer_empty_pc && currpc < m_fifo_force_buffer_empty_pc + 0x10)
+ // kludge alert: if we're reading this from the DCS CPU itself, and we recently cleared
+ // the FIFO, and we're within 16 instructions of the read that cleared the FIFO, make
+ // sure the FIFO clear bit is set
+ if (m_fifo_force_buffer_empty_pc && &space.device() == m_dcs_cpu)
{
- m_fifo_force_buffer_empty_pc = 0;
- result |= 0x08;
- LOGFIFO("ioasic_fifo_status_r(%04X): force empty, PC = %04X\n", result, currpc);
+ offs_t currpc = m_dcs_cpu->pc();
+ if (currpc >= m_fifo_force_buffer_empty_pc && currpc < m_fifo_force_buffer_empty_pc + 0x10)
+ {
+ m_fifo_force_buffer_empty_pc = 0;
+ result |= 0x08;
+ LOGFIFO("ioasic_fifo_status_r(%04X): force empty, PC = %04X\n", result, currpc);
+ }
}
}
@@ -947,7 +943,7 @@ uint16_t midway_ioasic_device::fifo_status_r(address_space &space)
void midway_ioasic_device::fifo_reset_w(int state)
{
- /* on the high state, reset the FIFO data */
+ // on the high state, reset the FIFO data
if (state)
{
m_fifo_in = 0;
@@ -962,7 +958,7 @@ void midway_ioasic_device::fifo_reset_w(int state)
void midway_ioasic_device::fifo_w(uint16_t data)
{
- /* if we have room, add it to the FIFO buffer */
+ // if we have room, add it to the FIFO buffer
if (m_fifo_bytes < FIFO_SIZE)
{
m_fifo[m_fifo_in++ % FIFO_SIZE] = data;
@@ -1020,46 +1016,50 @@ uint32_t midway_ioasic_device::read(address_space &space, offs_t offset)
// bits 15:13 == 001
if (!m_shuffle_active)
{
- /* blitz99 wants bit bits 13-15 to be 1 */
+ // blitz99 wants bit bits 13-15 to be 1
result = 0x2001;
}
- else {
- result = m_io_dips->read();
+ else
+ {
+ result = m_input_cb[0]();
}
break;
case IOASIC_PORT1:
- result = m_io_system->read();
+ result = m_input_cb[1]();
break;
case IOASIC_PORT2:
- result = m_io_in1->read();
+ result = m_input_cb[2]();
break;
case IOASIC_PORT3:
- result = m_io_in2->read();
+ result = m_input_cb[3]();
break;
case IOASIC_UARTIN:
- m_reg[offset] &= ~0x1000;
- if (result & 0x1000)
- LOGUART("%s: ioasic_r(%d) = %08X\n", machine().describe_context(), offset, result);
- // Add lf
- if ((result & 0xff)==0x0d)
- m_reg[offset] = 0x300a;
- update_ioasic_irq();
+ if (!machine().side_effects_disabled())
+ {
+ m_reg[offset] &= ~0x1000;
+ if (result & 0x1000)
+ LOGUART("%s: ioasic_r(%d) = %08X\n", machine().describe_context(), offset, result);
+ // Add lf
+ if ((result & 0xff)==0x0d)
+ m_reg[offset] = 0x300a;
+ update_ioasic_irq();
+ }
break;
case IOASIC_SOUNDSTAT:
- /* status from sound CPU */
+ // status from sound CPU
result = 0;
- if (m_has_dcs)
+ if (m_dcs)
{
result |= ((m_dcs->control_r() >> 4) ^ 0x40) & 0x00c0;
result |= fifo_status_r(space) & 0x0038;
result |= m_dcs->data2_r() & 0xff00;
}
- else if (m_has_cage)
+ else if (m_cage)
{
result |= (m_cage->control_r() << 6) ^ 0x80;
}
@@ -1069,13 +1069,16 @@ uint32_t midway_ioasic_device::read(address_space &space, offs_t offset)
case IOASIC_SOUNDIN:
result = 0;
- if (m_has_dcs)
+ if (m_dcs)
{
result = m_dcs->data_r();
- if (m_auto_ack)
- m_dcs->ack_w();
+ if (!machine().side_effects_disabled())
+ {
+ if (m_auto_ack)
+ m_dcs->ack_w();
+ }
}
- else if (m_has_cage)
+ else if (m_cage)
result = m_cage->main_r();
else
{
@@ -1126,15 +1129,13 @@ void midway_ioasic_device::serial_rx_w(u8 data)
void midway_ioasic_device::write(offs_t offset, uint32_t data, uint32_t mem_mask)
{
- uint32_t oldreg, newreg;
-
offset = m_shuffle_active ? m_shuffle_map[offset & 15] : offset;
- oldreg = m_reg[offset];
+ uint32_t const oldreg = m_reg[offset];
// Block register updates until ioasic is unlocked
// mwskins and thegrid use this as test to see if the ioasic is unlocked
if (m_shuffle_active)
COMBINE_DATA(&m_reg[offset]);
- newreg = m_reg[offset];
+ uint32_t const newreg = m_reg[offset];
if (offset != IOASIC_SOUNDOUT)
LOGIOASIC("%s ioasic_w(%d) = %08X\n", machine().describe_context(), offset, data);
@@ -1142,19 +1143,19 @@ void midway_ioasic_device::write(offs_t offset, uint32_t data, uint32_t mem_mask
switch (offset)
{
case IOASIC_PORT0:
- /* the last write here seems to turn on shuffling */
+ // the last write here seems to turn on shuffling
if (data == 0xe2)
{
m_shuffle_active = 1;
logerror("*** I/O ASIC unlocked!\n");
m_reg[IOASIC_INTCTL] = 0;
- m_reg[IOASIC_UARTCONTROL] = 0; /* bug in 10th Degree assumes this */
+ m_reg[IOASIC_UARTCONTROL] = 0; // bug in 10th Degree assumes this
}
break;
case IOASIC_PORT2:
case IOASIC_PORT3:
- /* ignore writes here if we're not shuffling yet */
+ // ignore writes here if we're not shuffling yet
if (!m_shuffle_active)
break;
break;
@@ -1166,11 +1167,12 @@ void midway_ioasic_device::write(offs_t offset, uint32_t data, uint32_t mem_mask
case IOASIC_UARTOUT:
if (m_reg[IOASIC_UARTCONTROL] & 0x800)
{
- /* we're in loopback mode -- copy to the input */
+ // we're in loopback mode -- copy to the input
m_reg[IOASIC_UARTIN] = (newreg & 0x00ff) | 0x3000;
update_ioasic_irq();
}
- else {
+ else
+ {
m_serial_tx_cb(data);
m_reg[IOASIC_UARTIN] |= 0x2000;
update_ioasic_irq();
@@ -1184,12 +1186,12 @@ void midway_ioasic_device::write(offs_t offset, uint32_t data, uint32_t mem_mask
case IOASIC_SOUNDCTL:
LOGIOASIC("%s: write IOASIC_SOUNDCTL=%04x\n", machine().describe_context(), data);
- /* sound reset? */
- if (m_has_dcs)
+ // sound reset?
+ if (m_dcs)
{
m_dcs->reset_w(newreg & 1);
}
- else if (m_has_cage)
+ else if (m_cage)
{
if ((oldreg ^ newreg) & 1)
{
@@ -1199,44 +1201,44 @@ void midway_ioasic_device::write(offs_t offset, uint32_t data, uint32_t mem_mask
}
}
- /* FIFO reset? */
+ // FIFO reset?
fifo_reset_w(~newreg & 4);
break;
case IOASIC_SOUNDOUT:
- if (m_has_dcs)
+ if (m_dcs)
m_dcs->data_w(newreg);
- else if (m_has_cage)
+ else if (m_cage)
m_cage->main_w(newreg);
break;
case IOASIC_SOUNDIN:
m_dcs->ack_w();
- /* acknowledge data read */
+ // acknowledge data read
break;
case IOASIC_PICOUT:
- if (m_shuffle_type == MIDWAY_IOASIC_VAPORTRX)
+ if (m_shuffle_type == SHUFFLE_VAPORTRX)
midway_serial_pic2_device::write(newreg ^ 0x0a);
- else if (m_shuffle_type == MIDWAY_IOASIC_SFRUSHRK)
+ else if (m_shuffle_type == SHUFFLE_SFRUSHRK)
midway_serial_pic2_device::write(newreg ^ 0x05);
else
midway_serial_pic2_device::write(newreg);
break;
case IOASIC_PICIN:
- /* This is P15 on vegas boards */
+ // This is P15 on vegas boards
m_aux_output_cb(data);
break;
case IOASIC_INTCTL:
- /* interrupt enables */
- /* bit 0 = global interrupt enable */
- /* bit 3 = FIFO empty */
- /* bit 6 = sound input buffer full */
- /* bit 7 = sound output buffer empty */
- /* bit 14 = LED */
- /* bit 15 = TI320Cx Mode Enable */
+ // interrupt enables
+ // bit 0 = global interrupt enable
+ // bit 3 = FIFO empty
+ // bit 6 = sound input buffer full
+ // bit 7 = sound output buffer empty
+ // bit 14 = LED
+ // bit 15 = TI320Cx Mode Enable
if ((oldreg ^ newreg) & 0x3ff6)
LOGMASKED(LOG_IOASIC | LOG_IRQ, "IOASIC interrupt control = %04X\n", data);
update_ioasic_irq();
diff --git a/src/mame/midway/midwayic.h b/src/mame/midway/midwayic.h
index 5a4c06e1696ca..92f10e5ce355e 100644
--- a/src/mame/midway/midwayic.h
+++ b/src/mame/midway/midwayic.h
@@ -5,19 +5,18 @@
Emulation of various Midway ICs
***************************************************************************/
-#ifndef MAME_MIDWAY_MIDWAY_IC_H
-#define MAME_MIDWAY_MIDWAY_IC_H
+#ifndef MAME_MIDWAY_MIDWAYIC_H
+#define MAME_MIDWAY_MIDWAYIC_H
#pragma once
-
#include "cage.h"
#include "dcs.h"
#include "cpu/pic16c5x/pic16c5x.h"
-/* 1st generation Midway serial PIC - simulation*/
+// 1st generation Midway serial PIC - simulation
class midway_serial_pic_device : public device_t
{
@@ -35,7 +34,7 @@ class midway_serial_pic_device : public device_t
protected:
midway_serial_pic_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
+ // device_t implementation
virtual void device_start() override;
virtual void device_reset() override;
virtual ioport_constructor device_input_ports() const override;
@@ -45,21 +44,18 @@ class midway_serial_pic_device : public device_t
required_ioport m_io_serial_digit;
- uint8_t m_data[16]{}; // reused by other devices
- int m_upper = 0;
+ uint8_t m_data[16]; // reused by other devices
+ int m_upper;
private:
- uint8_t m_buff = 0;
- uint8_t m_idx = 0;
- uint8_t m_status = 0;
- uint8_t m_bits = 0;
+ uint8_t m_buff;
+ uint8_t m_idx;
+ uint8_t m_status;
+ uint8_t m_bits;
};
-// device type definition
-DECLARE_DEVICE_TYPE(MIDWAY_SERIAL_PIC, midway_serial_pic_device)
-
-/* 1st generation Midway serial PIC - emulation */
+// 1st generation Midway serial PIC - emulation
class midway_serial_pic_emu_device : public device_t
{
@@ -75,7 +71,7 @@ class midway_serial_pic_emu_device : public device_t
protected:
midway_serial_pic_emu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
+ // device_t implementation
virtual void device_add_mconfig(machine_config &config) override;
virtual void device_start() override;
@@ -85,19 +81,15 @@ class midway_serial_pic_emu_device : public device_t
u8 read_c();
void write_c(u8 data);
- u8 m_command = 0;
- u8 m_data_out = 0;
- u8 m_clk = 0;
- u8 m_status = 0;
+ u8 m_command;
+ u8 m_data_out;
+ u8 m_clk;
+ u8 m_status;
};
-// device type definition
-DECLARE_DEVICE_TYPE(MIDWAY_SERIAL_PIC_EMU, midway_serial_pic_emu_device)
-
-
-/* 2nd generation Midway serial/NVRAM/RTC PIC */
+// 2nd generation Midway serial/NVRAM/RTC PIC
// ======================> midway_serial_pic2_device
@@ -118,10 +110,10 @@ class midway_serial_pic2_device : public midway_serial_pic_device, public device
protected:
midway_serial_pic2_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- // device-level overrides
+ // device_t implementation
virtual void device_start() override;
- // device_nvram_interface overrides
+ // device_nvram_interface implementation
virtual void nvram_default() override;
virtual bool nvram_read(util::read_stream &file) override;
virtual bool nvram_write(util::write_stream &file) override;
@@ -131,36 +123,49 @@ class midway_serial_pic2_device : public midway_serial_pic_device, public device
void pic_register_state();
TIMER_CALLBACK_MEMBER(reset_timer);
- uint16_t m_latch = 0;
+ uint16_t m_latch;
attotime m_latch_expire_time;
- uint8_t m_state = 0;
- uint8_t m_index = 0;
- uint8_t m_total = 0;
- uint8_t m_nvram_addr = 0;
- uint8_t m_buffer[0x10]{};
- uint8_t m_nvram[0x100]{};
- uint8_t m_default_nvram[0x100]{};
- uint8_t m_time_buf[8]{};
- uint8_t m_time_index = 0;
- uint8_t m_time_just_written = 0;
- uint16_t m_yearoffs = 0;
- emu_timer *m_time_write_timer = nullptr;
+ uint8_t m_state;
+ uint8_t m_index;
+ uint8_t m_total;
+ uint8_t m_nvram_addr;
+ uint8_t m_buffer[0x10];
+ uint8_t m_nvram[0x100];
+ uint8_t m_default_nvram[0x100];
+ uint8_t m_time_buf[8];
+ uint8_t m_time_index;
+ uint8_t m_time_just_written;
+ uint16_t m_yearoffs;
+ emu_timer *m_time_write_timer;
};
-// device type definition
-DECLARE_DEVICE_TYPE(MIDWAY_SERIAL_PIC2, midway_serial_pic2_device)
-
-/* I/O ASIC connected to 2nd generation PIC */
+// I/O ASIC connected to 2nd generation PIC
// ======================> midway_ioasic_device
class midway_ioasic_device : public midway_serial_pic2_device
{
public:
+ enum
+ {
+ SHUFFLE_STANDARD = 0,
+ SHUFFLE_BLITZ99,
+ SHUFFLE_CARNEVIL,
+ SHUFFLE_CALSPEED,
+ SHUFFLE_MACE,
+ SHUFFLE_GAUNTDL,
+ SHUFFLE_VAPORTRX,
+ SHUFFLE_SFRUSHRK,
+ SHUFFLE_HYPRDRIV
+ };
+
// construction/destruction
midway_ioasic_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ template auto in_port_cb() { return m_input_cb[Port].bind(); }
+ template void set_cage_tag(T &&tag) { m_cage.set_tag(std::forward(tag)); }
+ template void set_dcs_tag(T &&tag) { m_dcs.set_tag(std::forward(tag)); }
void set_shuffle(uint8_t shuffle) { m_shuffle_type = shuffle; }
void set_shuffle_default(uint8_t shuffle) { m_shuffle_default = shuffle; }
void set_auto_ack(uint8_t auto_ack) { m_auto_ack = auto_ack; }
@@ -191,7 +196,7 @@ class midway_ioasic_device : public midway_serial_pic2_device
void ioasic_reset();
protected:
- // device-level overrides
+ // device_t implementation
virtual void device_start() override;
private:
@@ -199,53 +204,39 @@ class midway_ioasic_device : public midway_serial_pic2_device
void update_ioasic_irq();
uint16_t get_fifo_status();
- required_ioport m_io_dips;
- required_ioport m_io_system;
- required_ioport m_io_in1;
- required_ioport m_io_in2;
-
- devcb_write8 m_serial_tx_cb;
- devcb_write32 m_aux_output_cb;
+ optional_device m_cage;
+ optional_device m_dcs;
- uint32_t m_reg[16]{};
- uint8_t m_has_dcs = 0;
- uint8_t m_has_cage = 0;
- cpu_device *m_dcs_cpu = nullptr;
- uint8_t m_shuffle_type = 0;
- uint8_t m_shuffle_default = 0;
- uint8_t m_shuffle_active = 0;
- const uint8_t * m_shuffle_map = nullptr;
devcb_write8 m_irq_callback;
- uint8_t m_irq_state = 0;
- uint16_t m_sound_irq_state = 0;
- uint8_t m_auto_ack = 0;
- uint8_t m_force_fifo_full = 0;
- uint16_t m_fifo[512]{};
- uint16_t m_fifo_in = 0;
- uint16_t m_fifo_out = 0;
- uint16_t m_fifo_bytes = 0;
- offs_t m_fifo_force_buffer_empty_pc = 0;
+ devcb_read32::array<4> m_input_cb;
- optional_device m_cage;
- optional_device m_dcs;
+ devcb_write8 m_serial_tx_cb;
+ devcb_write32 m_aux_output_cb;
+
+ uint32_t m_reg[16];
+ cpu_device *m_dcs_cpu;
+ uint8_t m_shuffle_type;
+ uint8_t m_shuffle_default;
+ uint8_t m_shuffle_active;
+ const uint8_t * m_shuffle_map;
+ uint8_t m_irq_state;
+ uint16_t m_sound_irq_state;
+ uint8_t m_auto_ack;
+ uint8_t m_force_fifo_full;
+
+ uint16_t m_fifo[512];
+ uint16_t m_fifo_in;
+ uint16_t m_fifo_out;
+ uint16_t m_fifo_bytes;
+ offs_t m_fifo_force_buffer_empty_pc;
};
-// device type definition
+// device type declarations
+DECLARE_DEVICE_TYPE(MIDWAY_SERIAL_PIC, midway_serial_pic_device)
+DECLARE_DEVICE_TYPE(MIDWAY_SERIAL_PIC_EMU, midway_serial_pic_emu_device)
+DECLARE_DEVICE_TYPE(MIDWAY_SERIAL_PIC2, midway_serial_pic2_device)
DECLARE_DEVICE_TYPE(MIDWAY_IOASIC, midway_ioasic_device)
-enum
-{
- MIDWAY_IOASIC_STANDARD = 0,
- MIDWAY_IOASIC_BLITZ99,
- MIDWAY_IOASIC_CARNEVIL,
- MIDWAY_IOASIC_CALSPEED,
- MIDWAY_IOASIC_MACE,
- MIDWAY_IOASIC_GAUNTDL,
- MIDWAY_IOASIC_VAPORTRX,
- MIDWAY_IOASIC_SFRUSHRK,
- MIDWAY_IOASIC_HYPRDRIV
-};
-
-#endif // MAME_MIDWAY_MIDWAY_IC_H
+#endif // MAME_MIDWAY_MIDWAYIC_H
diff --git a/src/mame/midway/midwunit.cpp b/src/mame/midway/midwunit.cpp
index 76309e9bd416d..93e60ac4cb0a2 100644
--- a/src/mame/midway/midwunit.cpp
+++ b/src/mame/midway/midwunit.cpp
@@ -102,7 +102,7 @@ PCB Layout
#include "machine/nvram.h"
#include "screen.h"
-
+#include "speaker.h"
#define PIXEL_CLOCK (8000000)
@@ -649,7 +649,11 @@ void midwunit_state::wunit(machine_config &config)
screen.set_palette(m_palette);
/* sound hardware */
+ SPEAKER(config, "mono").front_center();
+
DCS_AUDIO_8K(config, m_dcs, 0);
+ m_dcs->set_maincpu_tag(m_maincpu);
+ m_dcs->add_route(0, "mono", 1.0);
}
void midwunit_state::wunit_picsim(machine_config &config)
diff --git a/src/mame/midway/midxunit.cpp b/src/mame/midway/midxunit.cpp
index 6369f266cf836..8a22cf77db178 100644
--- a/src/mame/midway/midxunit.cpp
+++ b/src/mame/midway/midxunit.cpp
@@ -117,6 +117,7 @@ ________________________________________________________________
#include "machine/adc0844.h"
#include "screen.h"
+#include "speaker.h"
#define PIXEL_CLOCK (8000000)
@@ -308,7 +309,11 @@ void midxunit_state::midxunit(machine_config &config)
adc.ch6_callback().set_ioport("AN5");
/* sound hardware */
+ SPEAKER(config, "mono").front_center();
+
DCS_AUDIO_2K_UART(config, m_dcs, 0);
+ m_dcs->set_maincpu_tag(m_maincpu);
+ m_dcs->add_route(0, "mono", 1.0);
}
diff --git a/src/mame/midway/midzeus.cpp b/src/mame/midway/midzeus.cpp
index c0eb6ba870bdc..f2e6ab042d8d4 100644
--- a/src/mame/midway/midzeus.cpp
+++ b/src/mame/midway/midzeus.cpp
@@ -40,6 +40,8 @@ The Grid v1.2 10/18/2000
#include "machine/tsb12lv01a.h"
#include "video/zeus2.h"
+#include "speaker.h"
+
#include "crusnexo.lh"
#define LOG_FIREWIRE (1U << 1)
@@ -1279,10 +1281,21 @@ void midzeus_state::midzeus(machine_config &config)
m_screen->set_palette("palette");
/* sound hardware */
- DCS2_AUDIO_2104(config, "dcs", 0);
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
+ dcs.set_maincpu_tag(m_maincpu);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag("dcs");
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_STANDARD);
m_ioasic->set_yearoffs(94);
}
@@ -1318,13 +1331,24 @@ void midzeus2_state::midzeus2(machine_config &config)
m_zeus->irq_callback().set(FUNC(midzeus2_state::zeus_irq));
/* sound hardware */
- DCS2_AUDIO_2104(config, "dcs", 0);
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
+ dcs.set_maincpu_tag(m_maincpu);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
M48T35(config, m_m48t35, 0);
/* I/O hardware */
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag("dcs");
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_STANDARD);
m_ioasic->set_yearoffs(99);
m_ioasic->set_upper(474);
diff --git a/src/mame/midway/seattle.cpp b/src/mame/midway/seattle.cpp
index d9fb1f7de0f05..ae5a1fb52d0a4 100644
--- a/src/mame/midway/seattle.cpp
+++ b/src/mame/midway/seattle.cpp
@@ -2124,12 +2124,24 @@ void seattle_state::flagstaff(machine_config &config)
void seattle_state::wg3dh(machine_config &config)
{
phoenix(config);
- dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(2);
dcs.set_polling_offset(0x3839);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_STANDARD);
m_ioasic->set_upper(310); // no alternates
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq));
@@ -2138,12 +2150,24 @@ void seattle_state::wg3dh(machine_config &config)
void seattle_state::mace(machine_config &config)
{
seattle150(config);
- dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(2);
dcs.set_polling_offset(0x3839);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_MACE);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_MACE);
m_ioasic->set_upper(319); // or 314
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq));
@@ -2159,17 +2183,22 @@ void seattle_state::sfrush(machine_config &config)
SPEAKER(config, "rrspeaker").headrest_right();
//SPEAKER(config, "subwoofer").seat(); Not implemented, Quad Amp PCB output;
- atari_cage_seattle_device &cage(ATARI_CAGE_SEATTLE(config, "cage", 0));
- cage.set_speedup(0x5236);
- cage.irq_handler().set(m_ioasic, FUNC(midway_ioasic_device::cage_irq_handler));
+ ATARI_CAGE_SEATTLE(config, m_cage, 0);
+ m_cage->set_speedup(0x5236);
+ m_cage->irq_handler().set(m_ioasic, FUNC(midway_ioasic_device::cage_irq_handler));
// TODO: copied from atarigt.cpp; Same configurations as T-Mek?
- cage.add_route(0, "frspeaker", 1.0); // Foward Right
- cage.add_route(1, "rlspeaker", 1.0); // Back Left
- cage.add_route(2, "flspeaker", 1.0); // Foward Left
- cage.add_route(3, "rrspeaker", 1.0); // Back Right
+ m_cage->add_route(0, "frspeaker", 1.0); // Foward Right
+ m_cage->add_route(1, "rlspeaker", 1.0); // Back Left
+ m_cage->add_route(2, "flspeaker", 1.0); // Foward Left
+ m_cage->add_route(3, "rrspeaker", 1.0); // Back Right
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_cage_tag(m_cage);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_STANDARD);
m_ioasic->set_upper(315); // no alternates
m_ioasic->set_yearoffs(100);
m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq));
@@ -2186,18 +2215,22 @@ void seattle_state::sfrushrk(machine_config &config)
SPEAKER(config, "rrspeaker").headrest_right();
//SPEAKER(config, "subwoofer").seat(); Not implemented, Quad Amp PCB output;
- atari_cage_seattle_device &cage(ATARI_CAGE_SEATTLE(config, "cage", 0));
- cage.set_speedup(0x5329);
- cage.irq_handler().set(m_ioasic, FUNC(midway_ioasic_device::cage_irq_handler));
+ ATARI_CAGE_SEATTLE(config, m_cage, 0);
+ m_cage->set_speedup(0x5329);
+ m_cage->irq_handler().set(m_ioasic, FUNC(midway_ioasic_device::cage_irq_handler));
// TODO: copied from atarigt.cpp; Same configurations as T-Mek?
- cage.add_route(0, "frspeaker", 1.0); // Foward Right
- cage.add_route(1, "rlspeaker", 1.0); // Back Left
- cage.add_route(2, "flspeaker", 1.0); // Foward Left
- cage.add_route(3, "rrspeaker", 1.0); // Back Right
-
+ m_cage->add_route(0, "frspeaker", 1.0); // Foward Right
+ m_cage->add_route(1, "rlspeaker", 1.0); // Back Left
+ m_cage->add_route(2, "flspeaker", 1.0); // Foward Left
+ m_cage->add_route(3, "rrspeaker", 1.0); // Back Right
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_SFRUSHRK);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_cage_tag(m_cage);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_SFRUSHRK);
m_ioasic->set_upper(331); // no alternates
m_ioasic->set_yearoffs(100);
m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq));
@@ -2207,18 +2240,30 @@ void seattle_state::sfrushrk(machine_config &config)
void seattle_state::sfrushrkw(machine_config &config)
{
sfrushrk(config);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_STANDARD);
}
void seattle_state::calspeed(machine_config &config)
{
seattle150_widget(config);
- dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(2);
dcs.set_polling_offset(0x39c0);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_CALSPEED);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_CALSPEED);
m_ioasic->set_upper(328); // 328 = 27"; may or may not have a 31" ID
m_ioasic->set_yearoffs(100);
m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq));
@@ -2228,12 +2273,24 @@ void seattle_state::calspeed(machine_config &config)
void seattle_state::vaportrx(machine_config &config)
{
seattle200_widget(config);
- dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(2);
dcs.set_polling_offset(0x39c2);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_VAPORTRX);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_VAPORTRX);
m_ioasic->set_upper(324); // or 334
m_ioasic->set_yearoffs(100);
m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq));
@@ -2242,12 +2299,24 @@ void seattle_state::vaportrx(machine_config &config)
void seattle_state::biofreak(machine_config &config)
{
seattle150(config);
- dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(2);
dcs.set_polling_offset(0x3835);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_STANDARD);
m_ioasic->set_upper(231); // no alternates
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq));
@@ -2256,12 +2325,24 @@ void seattle_state::biofreak(machine_config &config)
void seattle_state::blitz(machine_config &config)
{
seattle150(config);
- dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(2);
dcs.set_polling_offset(0x39c2);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_BLITZ99);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_BLITZ99);
m_ioasic->set_upper(444); // or 528
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq));
@@ -2271,12 +2352,24 @@ void seattle_state::blitz(machine_config &config)
void seattle_state::blitz99(machine_config &config)
{
seattle150(config);
- dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(2);
dcs.set_polling_offset(0x0afb);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_BLITZ99);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_BLITZ99);
m_ioasic->set_upper(481); // or 484 or 520
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq));
@@ -2286,12 +2379,24 @@ void seattle_state::blitz99(machine_config &config)
void seattle_state::blitz2k(machine_config &config)
{
seattle150(config);
- dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(2);
dcs.set_polling_offset(0x0b5d);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_BLITZ99);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_BLITZ99);
m_ioasic->set_upper(494); // or 498
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq));
@@ -2303,12 +2408,23 @@ void seattle_state::carnevil(machine_config &config)
seattle150(config);
m_galileo->set_map(3, address_map_constructor(&seattle_state::carnevil_cs3_map, "carnevil_cs3_map", this), this);
- dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(2);
dcs.set_polling_offset(0x0af7);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_CARNEVIL);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_CARNEVIL);
m_ioasic->set_upper(469); // 469 = 25"; 486 = 39";
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq));
@@ -2317,12 +2433,24 @@ void seattle_state::carnevil(machine_config &config)
void seattle_state::hyprdriv(machine_config &config)
{
seattle200_widget(config);
- dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(2);
dcs.set_polling_offset(0x0af7);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_HYPRDRIV);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_HYPRDRIV);
m_ioasic->set_upper(471); // 471 = 25"; 479 = 31"
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(seattle_state::ioasic_irq));
diff --git a/src/mame/midway/vegas.cpp b/src/mame/midway/vegas.cpp
index 7fb69ea254cff..4e5c70096b3e7 100644
--- a/src/mame/midway/vegas.cpp
+++ b/src/mame/midway/vegas.cpp
@@ -292,6 +292,7 @@
#include "video/voodoo_pci.h"
#include "screen.h"
+#include "speaker.h"
#include "sf2049.lh"
@@ -2036,12 +2037,24 @@ void vegas_state::gauntleg(machine_config &config)
// Needs 250MHz MIPS or screen tearing occurs (See MT8064)
// Firmware frequency detection seems to have a bug, console reports 220MHz for a 200MHz cpu and 260MHz for a 250MHz cpu
vegas250(config);
- dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(4);
dcs.set_polling_offset(0x0b5d);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_CALSPEED);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_CALSPEED);
m_ioasic->set_upper(340); // 340=39", 322=27" others?
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
@@ -2052,12 +2065,24 @@ void vegas_state::gauntdl(machine_config &config)
{
// Needs 250MHz MIPS or screen tearing occurs (See MT8064)
vegas250(config);
- dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(4);
dcs.set_polling_offset(0x0b5d);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_GAUNTDL);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_GAUNTDL);
m_ioasic->set_upper(346); // others?
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
@@ -2067,12 +2092,24 @@ void vegas_state::gauntdl(machine_config &config)
void vegas_state::warfa(machine_config &config)
{
vegas250(config);
- dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(4);
dcs.set_polling_offset(0x0b5d);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_MACE);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_MACE);
m_ioasic->set_upper(337); // others?
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
@@ -2082,12 +2119,24 @@ void vegas_state::warfa(machine_config &config)
void vegas_state::tenthdeg(machine_config &config)
{
vegas(config);
- dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2115_device &dcs(DCS2_AUDIO_2115(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(4);
dcs.set_polling_offset(0x0afb);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_GAUNTDL);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_GAUNTDL);
m_ioasic->set_upper(330); // others?
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
@@ -2097,12 +2146,24 @@ void vegas_state::tenthdeg(machine_config &config)
void vegas_state::roadburn(machine_config &config)
{
vegas32m(config);
- dcs2_audio_dsio_device &dcs(DCS2_AUDIO_DSIO(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_dsio_device &dcs(DCS2_AUDIO_DSIO(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(4);
dcs.set_polling_offset(0x0ddd);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_STANDARD);
m_ioasic->set_upper(325); // others?
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
@@ -2112,12 +2173,24 @@ void vegas_state::roadburn(machine_config &config)
void vegas_state::nbashowt(machine_config &config)
{
vegasban(config);
- dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(4);
dcs.set_polling_offset(0x0b5d);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_MACE);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_MACE);
// 528 494 478 development pic, 487 NBA
m_ioasic->set_upper(487); // or 478 or 487
m_ioasic->set_yearoffs(80);
@@ -2129,12 +2202,24 @@ void vegas_state::nbashowt(machine_config &config)
void vegas_state::nbanfl(machine_config &config)
{
vegasban(config);
- dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(4);
dcs.set_polling_offset(0x0b5d);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_BLITZ99);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_BLITZ99);
m_ioasic->set_upper(498); // or 478 or 487
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
@@ -2150,12 +2235,24 @@ void vegas_state::nbagold(machine_config &config)
m_maincpu->set_dcache_size(32768);
m_maincpu->set_system_clock(vegas_state::SYSTEM_CLOCK);
m_nile->set_sdram_size(0, 0x00800000);
- dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(4);
dcs.set_polling_offset(0x0b5d);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_GAUNTDL);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_GAUNTDL);
m_ioasic->set_upper(109); // 494 109 ???
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
@@ -2166,12 +2263,30 @@ void vegas_state::nbagold(machine_config &config)
void vegas_state::sf2049(machine_config &config)
{
denver(config);
- dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, "dcs", 0));
+
+ SPEAKER(config, "flspeaker").front_left();
+ SPEAKER(config, "frspeaker").front_right();
+ SPEAKER(config, "rlspeaker").headrest_left();
+ SPEAKER(config, "rrspeaker").headrest_right();
+ SPEAKER(config, "subwoofer").backrest();
+
+ dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(8);
dcs.set_polling_offset(0x872);
+ dcs.add_route(0, "flspeaker", 1.0);
+ dcs.add_route(1, "frspeaker", 1.0);
+ dcs.add_route(2, "rlspeaker", 1.0);
+ dcs.add_route(3, "rrspeaker", 1.0);
+ dcs.add_route(4, "subwoofer", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_STANDARD);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_STANDARD);
m_ioasic->set_upper(336); // others?
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
@@ -2182,12 +2297,30 @@ void vegas_state::sf2049(machine_config &config)
void vegas_state::sf2049se(machine_config &config)
{
denver(config);
- dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, "dcs", 0));
+
+ SPEAKER(config, "flspeaker").front_left();
+ SPEAKER(config, "frspeaker").front_right();
+ SPEAKER(config, "rlspeaker").headrest_left();
+ SPEAKER(config, "rrspeaker").headrest_right();
+ SPEAKER(config, "subwoofer").backrest();
+
+ dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(8);
dcs.set_polling_offset(0x872);
+ dcs.add_route(0, "flspeaker", 1.0);
+ dcs.add_route(1, "frspeaker", 1.0);
+ dcs.add_route(2, "rlspeaker", 1.0);
+ dcs.add_route(3, "rrspeaker", 1.0);
+ dcs.add_route(4, "subwoofer", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_SFRUSHRK);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_SFRUSHRK);
m_ioasic->set_upper(352); // 352 336 others?
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
@@ -2198,12 +2331,30 @@ void vegas_state::sf2049se(machine_config &config)
void vegas_state::sf2049te(machine_config &config)
{
denver(config);
- dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, "dcs", 0));
+
+ SPEAKER(config, "flspeaker").front_left();
+ SPEAKER(config, "frspeaker").front_right();
+ SPEAKER(config, "rlspeaker").headrest_left();
+ SPEAKER(config, "rrspeaker").headrest_right();
+ SPEAKER(config, "subwoofer").backrest();
+
+ dcs2_audio_denver_5ch_device &dcs(DCS2_AUDIO_DENVER_5CH(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(8);
dcs.set_polling_offset(0x872);
+ dcs.add_route(0, "flspeaker", 1.0);
+ dcs.add_route(1, "frspeaker", 1.0);
+ dcs.add_route(2, "rlspeaker", 1.0);
+ dcs.add_route(3, "rrspeaker", 1.0);
+ dcs.add_route(4, "subwoofer", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_SFRUSHRK);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_SFRUSHRK);
m_ioasic->set_upper(348); // others?
m_ioasic->set_yearoffs(80);
m_ioasic->irq_handler().set(FUNC(vegas_state::ioasic_irq));
@@ -2214,12 +2365,23 @@ void vegas_state::sf2049te(machine_config &config)
void vegas_state::cartfury(machine_config &config)
{
vegasv3(config);
- dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, "dcs", 0));
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
+ dcs2_audio_2104_device &dcs(DCS2_AUDIO_2104(config, m_dcs, 0));
+ dcs.set_maincpu_tag(m_maincpu);
dcs.set_dram_in_mb(4);
dcs.set_polling_offset(0x0b5d);
+ dcs.add_route(0, "rspeaker", 1.0);
+ dcs.add_route(1, "lspeaker", 1.0);
MIDWAY_IOASIC(config, m_ioasic, 0);
- m_ioasic->set_shuffle(MIDWAY_IOASIC_CARNEVIL);
+ m_ioasic->in_port_cb<0>().set_ioport("DIPS");
+ m_ioasic->in_port_cb<1>().set_ioport("SYSTEM");
+ m_ioasic->in_port_cb<2>().set_ioport("IN1");
+ m_ioasic->in_port_cb<3>().set_ioport("IN2");
+ m_ioasic->set_dcs_tag(m_dcs);
+ m_ioasic->set_shuffle(midway_ioasic_device::SHUFFLE_CARNEVIL);
// 433, 495, 490 Development PIC
m_ioasic->set_upper(495/*433, 495 others? */);
m_ioasic->set_yearoffs(80);
diff --git a/src/mame/midway/williams.cpp b/src/mame/midway/williams.cpp
index 1ee2a9aad9175..2b9a1754e85f7 100644
--- a/src/mame/midway/williams.cpp
+++ b/src/mame/midway/williams.cpp
@@ -508,28 +508,19 @@ Reference videos: https://www.youtube.com/watch?v=R5OeC6Wc_yI
*
*************************************/
-void defender_state::main_map(address_map &map)
+void defender_state::defender_main_map(address_map &map)
{
map(0x0000, 0xbfff).ram().share(m_videoram);
map(0xc000, 0xcfff).view(m_rom_view);
m_rom_view[0](0xc000, 0xc00f).mirror(0x03e0).writeonly().share(m_paletteram);
m_rom_view[0](0xc3ff, 0xc3ff).w(FUNC(defender_state::watchdog_reset_w));
m_rom_view[0](0xc010, 0xc01f).mirror(0x03e0).w(FUNC(defender_state::video_control_w));
- m_rom_view[0](0xc400, 0xc4ff).mirror(0x0300).ram().w(FUNC(defender_state::cmos_w)).share("nvram");
+ m_rom_view[0](0xc400, 0xc4ff).mirror(0x0300).ram().w(FUNC(defender_state::cmos_4bit_w)).share("nvram");
m_rom_view[0](0xc800, 0xcbff).r(FUNC(defender_state::video_counter_r));
m_rom_view[0](0xcc00, 0xcc03).mirror(0x03e0).rw(m_pia[1], FUNC(pia6821_device::read), FUNC(pia6821_device::write));
m_rom_view[0](0xcc04, 0xcc07).mirror(0x03e0).rw(m_pia[0], FUNC(pia6821_device::read), FUNC(pia6821_device::write));
- m_rom_view[1](0xc000, 0xcfff).rom().region("maincpu", 0x10000);
- m_rom_view[2](0xc000, 0xcfff).rom().region("maincpu", 0x11000);
- m_rom_view[3](0xc000, 0xcfff).rom().region("maincpu", 0x12000);
- m_rom_view[4](0xc000, 0xcfff).rom().region("maincpu", 0x13000);
- m_rom_view[5](0xc000, 0xcfff).rom().region("maincpu", 0x14000);
- m_rom_view[6](0xc000, 0xcfff).rom().region("maincpu", 0x15000);
- m_rom_view[7](0xc000, 0xcfff).rom().region("maincpu", 0x16000);
- m_rom_view[8](0xc000, 0xcfff).rom().region("maincpu", 0x17000);
- m_rom_view[9](0xc000, 0xcfff).rom().region("maincpu", 0x18000);
map(0xd000, 0xdfff).w(FUNC(defender_state::bank_select_w));
- map(0xd000, 0xffff).rom();
+ map(0xd000, 0xffff).rom().region("maincpu", 0);
}
/*************************************
@@ -538,9 +529,10 @@ void defender_state::main_map(address_map &map)
*
*************************************/
-void mayday_state::main_map(address_map &map)
+void mayday_state::mayday_main_map(address_map &map)
{
- defender_state::main_map(map);
+ defender_main_map(map);
+
// install a handler to catch protection checks
map(0xa190, 0xa191).r(FUNC(mayday_state::protection_r));
}
@@ -564,46 +556,54 @@ void williams_state::main_map(address_map &map)
map(0xca00, 0xca07).mirror(0x00f8).w(FUNC(williams_state::blitter_w));
map(0xcb00, 0xcbff).r(FUNC(williams_state::video_counter_r));
map(0xcbff, 0xcbff).w(FUNC(williams_state::watchdog_reset_w));
- map(0xcc00, 0xcfff).ram().w(FUNC(williams_state::cmos_w)).share("nvram");
+ map(0xcc00, 0xcfff).ram().w(FUNC(williams_state::cmos_4bit_w)).share("nvram");
map(0xd000, 0xffff).rom();
}
+void williams_state::sinistar_main_map(address_map &map)
+{
+ main_map(map);
-/*************************************
- *
- * Sinistar memory handlers
- *
- *************************************/
+ map(0xc900, 0xc9ff).w(FUNC(williams_state::sinistar_vram_select_w));
-void sinistar_state::main_map(address_map &map)
-{
- williams_state::main_map(map);
map(0xd000, 0xdfff).ram();
map(0xe000, 0xffff).rom();
}
+void williams_state::bubbles_main_map(address_map &map)
+{
+ main_map(map);
-/*************************************
- *
- * Speed Ball memory handlers
- *
- *************************************/
+ // bubbles has additional CMOS for a full 8 bits
+ map(0xcc00, 0xcfff).ram().share("nvram");
+}
-void spdball_state::main_map(address_map &map)
+
+void williams_state::spdball_main_map(address_map &map)
{
- williams_state::main_map(map);
+ main_map(map);
+
// install extra input handlers
map(0xc800, 0xc800).portr("AN0");
map(0xc801, 0xc801).portr("AN1");
map(0xc802, 0xc802).portr("AN2");
map(0xc803, 0xc803).portr("AN3");
+
// add a third PIA
map(0xc808, 0xc80b).mirror(0x00f0).rw(m_pia[3], FUNC(pia6821_device::read), FUNC(pia6821_device::write));
}
+void williams_state::alienar_main_map(address_map &map)
+{
+ main_map(map);
+
+ map(0xcbff, 0xcbff).nopw();
+}
+
+
/*************************************
*
@@ -611,7 +611,7 @@ void spdball_state::main_map(address_map &map)
*
*************************************/
-void blaster_state::main_map(address_map &map)
+void blaster_state::blaster_main_map(address_map &map)
{
map(0x0000, 0xbfff).ram().share(m_videoram);
map(0x0000, 0x8fff).view(m_rom_view);
@@ -620,14 +620,14 @@ void blaster_state::main_map(address_map &map)
map(0xc000, 0xc00f).mirror(0x03f0).writeonly().share(m_paletteram);
map(0xc804, 0xc807).mirror(0x00f0).rw(m_pia[0], FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0xc80c, 0xc80f).mirror(0x00f0).rw(m_pia[1], FUNC(pia6821_device::read), FUNC(pia6821_device::write));
- map(0xc900, 0xc93f).w(FUNC(blaster_state::vram_select_w));
+ map(0xc900, 0xc93f).w(FUNC(blaster_state::blaster_vram_select_w));
map(0xc940, 0xc97f).w(FUNC(blaster_state::remap_select_w));
map(0xc980, 0xc9bf).w(FUNC(blaster_state::bank_select_w));
map(0xc9c0, 0xc9ff).w(FUNC(blaster_state::video_control_w));
map(0xca00, 0xca07).mirror(0x00f8).w(FUNC(blaster_state::blitter_w));
map(0xcb00, 0xcbff).r(FUNC(blaster_state::video_counter_r));
map(0xcbff, 0xcbff).w(FUNC(blaster_state::watchdog_reset_w));
- map(0xcc00, 0xcfff).ram().w(FUNC(blaster_state::cmos_w)).share("nvram");
+ map(0xcc00, 0xcfff).ram().w(FUNC(blaster_state::cmos_4bit_w)).share("nvram");
map(0xd000, 0xffff).rom();
}
@@ -660,7 +660,7 @@ void williams2_state::common_map(address_map &map)
map(0xcb80, 0xcb9f).w(FUNC(williams2_state::video_control_w));
map(0xcba0, 0xcbbf).w(FUNC(williams2_state::blit_window_enable_w));
map(0xcbe0, 0xcbef).r(FUNC(williams2_state::video_counter_r));
- map(0xcc00, 0xcfff).ram().w(FUNC(williams2_state::cmos_w)).share("nvram");
+ map(0xcc00, 0xcfff).ram().w(FUNC(williams2_state::cmos_4bit_w)).share("nvram");
}
// mysticm and inferno: D000-DFFF is RAM
@@ -686,14 +686,14 @@ void williams2_state::d000_rom_map(address_map &map)
*
*************************************/
-void defender_state::sound_map(address_map &map)
+void defender_state::defender_sound_map(address_map &map)
{
map(0x0000, 0x007f).ram(); // internal RAM
map(0x0400, 0x0403).mirror(0x8000).rw(m_pia[2], FUNC(pia6821_device::read), FUNC(pia6821_device::write));
map(0xb000, 0xffff).rom();
}
-void defender_state::sound_map_6802(address_map &map)
+void defender_state::defender_sound_map_6802(address_map &map)
{
// 6802 has its RAM declared internally
map(0x0400, 0x0403).mirror(0x8000).rw(m_pia[2], FUNC(pia6821_device::read), FUNC(pia6821_device::write));
@@ -1622,6 +1622,9 @@ void defender_state::defender(machine_config &config)
{
williams_b0(config);
+ m_maincpu->set_addrmap(AS_PROGRAM, &defender_state::defender_main_map);
+ m_soundcpu->set_addrmap(AS_PROGRAM, &defender_state::defender_sound_map);
+
m_screen->set_visarea(12, 304-1, 7, 247-1);
}
@@ -1631,18 +1634,26 @@ void defender_state::defender_6802snd(machine_config &config)
// Some bootlegs use a 6802 CPU for sound
M6802(config.replace(), m_soundcpu, SOUND_CLOCK);
- m_soundcpu->set_addrmap(AS_PROGRAM, &defender_state::sound_map_6802);
+ m_soundcpu->set_addrmap(AS_PROGRAM, &defender_state::defender_sound_map_6802);
}
void defender_state::jin(machine_config &config)
{
defender(config);
+
// needs a different screen size or the credit text is clipped
m_screen->set_visarea(0, 315, 7, 247-1);
}
+void mayday_state::mayday(machine_config &config)
+{
+ defender(config);
+
+ m_maincpu->set_addrmap(AS_PROGRAM, &mayday_state::mayday_main_map);
+}
-void wms_muxed_state::williams_muxed(machine_config &config)
+
+void williams_state::williams_muxed(machine_config &config)
{
// pia
m_pia[0]->readpa_handler().set_ioport("IN0").mask(0x30);
@@ -1653,54 +1664,51 @@ void wms_muxed_state::williams_muxed(machine_config &config)
m_pia[0]->cb2_handler().set("mux_0", FUNC(ls157_device::select_w));
m_pia[0]->cb2_handler().append("mux_1", FUNC(ls157_device::select_w));
- LS157(config, m_mux0, 0); // IC3 on interface board (actually LS257 with OC tied low)
- m_mux0->a_in_callback().set_ioport("INP2");
- m_mux0->b_in_callback().set_ioport("INP1");
+ ls157_device &mux0(LS157(config, "mux_0", 0)); // IC3 on interface board (actually LS257 with OC tied low)
+ mux0.a_in_callback().set_ioport("INP2");
+ mux0.b_in_callback().set_ioport("INP1");
- LS157(config, m_mux1, 0); // IC4 on interface board (actually LS257 with OC tied low)
- m_mux1->a_in_callback().set_ioport("INP2A");
- m_mux1->b_in_callback().set_ioport("INP1A");
+ ls157_device &mux1(LS157(config, "mux_1", 0)); // IC4 on interface board (actually LS257 with OC tied low)
+ mux1.a_in_callback().set_ioport("INP2A");
+ mux1.b_in_callback().set_ioport("INP1A");
}
-void wms_muxed_state::joust(machine_config &config)
+void williams_state::joust(machine_config &config)
{
williams_b1(config);
williams_muxed(config);
}
-void wms_muxed_state::splat(machine_config &config)
+void williams_state::splat(machine_config &config)
{
williams_b2(config);
williams_muxed(config);
}
-
-void spdball_state::spdball(machine_config &config)
+void williams_state::alienar(machine_config &config)
{
- williams_b1(config);
+ joust(config);
- // pia
- PIA6821(config, m_pia[3]);
- m_pia[3]->readpa_handler().set_ioport("IN3");
- m_pia[3]->readpb_handler().set_ioport("IN4");
+ m_maincpu->set_addrmap(AS_PROGRAM, &williams_state::alienar_main_map);
}
-void williams_state::lottofun(machine_config &config)
+
+void williams_state::bubbles(machine_config &config)
{
williams_b1(config);
- // pia
- m_pia[0]->writepb_handler().set("ticket", FUNC(ticket_dispenser_device::motor_w)).bit(7);
- m_pia[0]->ca2_handler().set([this](int state) { machine().bookkeeping().coin_lockout_global_w(state); });
-
- TICKET_DISPENSER(config, "ticket", attotime::from_msec(70), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_HIGH);
+ // Bubbles: 8-bit nvram
+ m_maincpu->set_addrmap(AS_PROGRAM, &williams_state::bubbles_main_map);
}
-void sinistar_state::upright(machine_config &config)
+void williams_state::sinistar_upright(machine_config &config)
{
+ // Sinistar: blitter window clip
williams_b1(config);
m_blitter_clip_address = 0x7400;
+ m_maincpu->set_addrmap(AS_PROGRAM, &williams_state::sinistar_main_map);
+
// pia
m_pia[0]->readpa_handler().set(FUNC(williams_state::port_0_49way_r));
@@ -1711,13 +1719,13 @@ void sinistar_state::upright(machine_config &config)
HC55516(config, "cvsd", 0).add_route(ALL_OUTPUTS, "speaker", 0.8);
}
-void sinistar_state::cockpit(machine_config &config)
+void williams_state::sinistar_cockpit(machine_config &config)
{
- upright(config);
+ sinistar_upright(config);
// basic machine hardware
auto &soundcpu_b(M6808(config, "soundcpu_b", SOUND_CLOCK)); // internal clock divider of 4, effective frequency is 894.886kHz
- soundcpu_b.set_addrmap(AS_PROGRAM, &sinistar_state::sound2_map);
+ soundcpu_b.set_addrmap(AS_PROGRAM, &williams_state::sound2_map);
// additional sound hardware
SPEAKER(config, "rspeaker").rear_center();
@@ -1726,7 +1734,7 @@ void sinistar_state::cockpit(machine_config &config)
// pia
INPUT_MERGER_ANY_HIGH(config, "soundirq_b").output_handler().set_inputline("soundcpu_b", M6808_IRQ_LINE);
- m_pia[1]->writepb_handler().set(FUNC(sinistar_state::cockpit_snd_cmd_w));
+ m_pia[1]->writepb_handler().set(FUNC(williams_state::cockpit_snd_cmd_w));
PIA6821(config, m_pia[3]);
m_pia[3]->writepa_handler().set("rdac", FUNC(dac_byte_interface::data_w));
@@ -1734,7 +1742,7 @@ void sinistar_state::cockpit(machine_config &config)
m_pia[3]->irqb_handler().set("soundirq_b", FUNC(input_merger_any_high_device::in_w<1>));
}
-void playball_state::playball(machine_config &config)
+void williams_state::playball(machine_config &config)
{
williams_b1(config);
@@ -1745,27 +1753,55 @@ void playball_state::playball(machine_config &config)
HC55516(config, "cvsd", 0).add_route(ALL_OUTPUTS, "speaker", 0.8);
// pia
+ m_pia[1]->writepb_handler().set(FUNC(williams_state::playball_snd_cmd_w));
+
m_pia[2]->ca2_handler().set("cvsd", FUNC(hc55516_device::digit_w));
m_pia[2]->cb2_handler().set("cvsd", FUNC(hc55516_device::clock_w));
}
+void williams_state::spdball(machine_config &config)
+{
+ williams_b1(config);
+
+ // Speed Ball: more input ports
+ m_maincpu->set_addrmap(AS_PROGRAM, &williams_state::spdball_main_map);
+
+ // pia
+ PIA6821(config, m_pia[3]);
+ m_pia[3]->readpa_handler().set_ioport("IN3");
+ m_pia[3]->readpb_handler().set_ioport("IN4");
+}
+
+void williams_state::lottofun(machine_config &config)
+{
+ williams_b1(config);
+
+ // pia
+ m_pia[0]->writepb_handler().set("ticket", FUNC(ticket_dispenser_device::motor_w)).bit(7);
+ m_pia[0]->ca2_handler().set([this](int state) { machine().bookkeeping().coin_lockout_global_w(state); });
+
+ TICKET_DISPENSER(config, "ticket", attotime::from_msec(70), TICKET_MOTOR_ACTIVE_LOW, TICKET_STATUS_ACTIVE_HIGH);
+}
+
void blaster_state::blastkit(machine_config &config)
{
williams_b2(config);
m_blitter_clip_address = 0x9700;
+ m_maincpu->set_addrmap(AS_PROGRAM, &blaster_state::blaster_main_map);
+
// video hardware
m_screen->set_screen_update(FUNC(blaster_state::screen_update));
// pia
- m_pia[0]->readpa_handler().set("mux_a", FUNC(ls157_x2_device::output_r));
- m_pia[0]->cb2_handler().set("mux_a", FUNC(ls157_x2_device::select_w));
+ m_pia[0]->readpa_handler().set(m_muxa, FUNC(ls157_x2_device::output_r));
+ m_pia[0]->cb2_handler().set(m_muxa, FUNC(ls157_x2_device::select_w));
// All multiplexers on Blaster interface board are really LS257 with OC tied to GND (which is equivalent to LS157)
LS157_X2(config, m_muxa, 0);
m_muxa->a_in_callback().set_ioport("IN3");
- m_muxa->b_in_callback().set(FUNC(williams_state::port_0_49way_r));
+ m_muxa->b_in_callback().set(FUNC(blaster_state::port_0_49way_r));
}
void blaster_state::blaster(machine_config &config)
@@ -1779,16 +1815,15 @@ void blaster_state::blaster(machine_config &config)
// pia
m_pia[0]->readpb_handler().set("mux_b", FUNC(ls157_device::output_r)).mask(0x0f);
m_pia[0]->readpb_handler().append_ioport("IN1").mask(0xf0);
- m_pia[0]->cb2_handler().set("mux_a", FUNC(ls157_x2_device::select_w));
m_pia[0]->cb2_handler().append("mux_b", FUNC(ls157_device::select_w));
// IC7 (for PA0-PA3) + IC5 (for PA4-PA7)
- m_muxa->a_in_callback().set(FUNC(williams_state::port_0_49way_r));
+ m_muxa->a_in_callback().set(FUNC(blaster_state::port_0_49way_r));
m_muxa->b_in_callback().set_ioport("IN3");
- LS157(config, m_muxb, 0); // IC3
- m_muxb->a_in_callback().set_ioport("INP1");
- m_muxb->b_in_callback().set_ioport("INP2");
+ ls157_device &muxb(LS157(config, "mux_b", 0)); // IC3
+ muxb.a_in_callback().set_ioport("INP1");
+ muxb.b_in_callback().set_ioport("INP2");
INPUT_MERGER_ANY_HIGH(config, "soundirq_b").output_handler().set_inputline("soundcpu_b", M6808_IRQ_LINE);
@@ -1869,10 +1904,11 @@ void williams2_state::williams2_base(machine_config &config)
}
-void inferno_state::inferno(machine_config &config)
+void williams2_state::inferno(machine_config &config)
{
williams2_base(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &inferno_state::d000_ram_map);
+
+ m_maincpu->set_addrmap(AS_PROGRAM, &williams2_state::d000_ram_map);
// pia
m_pia[0]->readpa_handler().set("mux", FUNC(ls157_x2_device::output_r));
@@ -1880,9 +1916,9 @@ void inferno_state::inferno(machine_config &config)
m_pia[2]->set_port_a_input_overrides_output_mask(0xff);
- LS157_X2(config, m_mux, 0); // IC45 (for PA4-PA7) + IC46 (for PA0-PA3) on CPU board
- m_mux->a_in_callback().set_ioport("INP1");
- m_mux->b_in_callback().set_ioport("INP2");
+ ls157_x2_device &mux(LS157_X2(config, "mux", 0)); // IC45 (for PA4-PA7) + IC46 (for PA0-PA3) on CPU board
+ mux.a_in_callback().set_ioport("INP1");
+ mux.b_in_callback().set_ioport("INP2");
}
void mysticm_state::mysticm(machine_config &config)
@@ -1909,9 +1945,9 @@ void tshoot_state::tshoot(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &tshoot_state::d000_rom_map);
// pia
- m_pia[0]->readpa_handler().set("mux", FUNC(ls157_x2_device::output_r));
+ m_pia[0]->readpa_handler().set(m_mux, FUNC(ls157_x2_device::output_r));
m_pia[0]->writepb_handler().set(FUNC(tshoot_state::lamp_w));
- m_pia[0]->ca2_handler().set("mux", FUNC(ls157_x2_device::select_w));
+ m_pia[0]->ca2_handler().set(m_mux, FUNC(ls157_x2_device::select_w));
m_pia[0]->irqa_handler().set("mainirq", FUNC(input_merger_any_high_device::in_w<0>));
m_pia[0]->irqb_handler().set("mainirq", FUNC(input_merger_any_high_device::in_w<1>));
@@ -1937,8 +1973,8 @@ void joust2_state::joust2(machine_config &config)
// pia
m_pia[0]->readpa_handler().set_ioport("IN0").mask(0xf0);
- m_pia[0]->readpa_handler().append("mux", FUNC(ls157_device::output_r)).mask(0x0f);
- m_pia[0]->ca2_handler().set("mux", FUNC(ls157_device::select_w));
+ m_pia[0]->readpa_handler().append(m_mux, FUNC(ls157_device::output_r)).mask(0x0f);
+ m_pia[0]->ca2_handler().set(m_mux, FUNC(ls157_device::select_w));
m_pia[1]->readpa_handler().set_ioport("IN2");
m_pia[1]->writepb_handler().set(FUNC(joust2_state::snd_cmd_w)); // this goes both to the sound cpu AND to the s11 bg cpu
@@ -1966,18 +2002,20 @@ void joust2_state::joust2(machine_config &config)
*************************************/
ROM_START( defender )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "defend.1", 0x0d000, 0x0800, CRC(c3e52d7e) SHA1(a57f5278ffe44248fc73f9925d107f4024ad981a) )
- ROM_LOAD( "defend.4", 0x0d800, 0x0800, CRC(9a72348b) SHA1(ed6ce796702ff32209ced3cb1ba3837dbafa526f) )
- ROM_LOAD( "defend.2", 0x0e000, 0x1000, CRC(89b75984) SHA1(a9481478da38f99efb67f0ecf82d084e14b93b42) )
- ROM_LOAD( "defend.3", 0x0f000, 0x1000, CRC(94f51e9b) SHA1(a24cfc55de56a72758c76fe2a55f1ec6c353b16f) )
- ROM_LOAD( "defend.9", 0x10000, 0x0800, CRC(6870e8a5) SHA1(67ccc194b1753a18af0c85f5e603355549c4f727) )
- ROM_LOAD( "defend.12", 0x10800, 0x0800, CRC(f1f88938) SHA1(26e48dfeefa0766837b1e762695b9532dbc8bc5e) )
- ROM_LOAD( "defend.8", 0x11000, 0x0800, CRC(b649e306) SHA1(9d7bc3c89e5a53c575946f06702c722b864b1ff0) )
- ROM_LOAD( "defend.11", 0x11800, 0x0800, CRC(9deaf6d9) SHA1(59b018ba0f3fe6eadfd387dc180ac281460358bc) )
- ROM_LOAD( "defend.7", 0x12000, 0x0800, CRC(339e092e) SHA1(2f89951dbe55d80df43df8dcf497171f73e726d3) )
- ROM_LOAD( "defend.10", 0x12800, 0x0800, CRC(a543b167) SHA1(9292b94b0d74e57e03aada4852ad1997c34122ff) )
- ROM_LOAD( "defend.6", 0x16000, 0x0800, CRC(65f4efd1) SHA1(a960fd1559ed74b81deba434391e49fc6ec389ca) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "defend.1", 0x0000, 0x0800, CRC(c3e52d7e) SHA1(a57f5278ffe44248fc73f9925d107f4024ad981a) )
+ ROM_LOAD( "defend.4", 0x0800, 0x0800, CRC(9a72348b) SHA1(ed6ce796702ff32209ced3cb1ba3837dbafa526f) )
+ ROM_LOAD( "defend.2", 0x1000, 0x1000, CRC(89b75984) SHA1(a9481478da38f99efb67f0ecf82d084e14b93b42) )
+ ROM_LOAD( "defend.3", 0x2000, 0x1000, CRC(94f51e9b) SHA1(a24cfc55de56a72758c76fe2a55f1ec6c353b16f) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "defend.9", 0x0000, 0x0800, CRC(6870e8a5) SHA1(67ccc194b1753a18af0c85f5e603355549c4f727) )
+ ROM_LOAD( "defend.12", 0x0800, 0x0800, CRC(f1f88938) SHA1(26e48dfeefa0766837b1e762695b9532dbc8bc5e) )
+ ROM_LOAD( "defend.8", 0x1000, 0x0800, CRC(b649e306) SHA1(9d7bc3c89e5a53c575946f06702c722b864b1ff0) )
+ ROM_LOAD( "defend.11", 0x1800, 0x0800, CRC(9deaf6d9) SHA1(59b018ba0f3fe6eadfd387dc180ac281460358bc) )
+ ROM_LOAD( "defend.7", 0x2000, 0x0800, CRC(339e092e) SHA1(2f89951dbe55d80df43df8dcf497171f73e726d3) )
+ ROM_LOAD( "defend.10", 0x2800, 0x0800, CRC(a543b167) SHA1(9292b94b0d74e57e03aada4852ad1997c34122ff) )
+ ROM_LOAD( "defend.6", 0x6000, 0x0800, CRC(65f4efd1) SHA1(a960fd1559ed74b81deba434391e49fc6ec389ca) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "video_sound_rom_1.ic12", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
@@ -1988,18 +2026,20 @@ ROM_START( defender )
ROM_END
ROM_START( defenderg )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "defeng01.bin", 0x0d000, 0x0800, CRC(6111d74d) SHA1(2a335bdce8269f75012df44b446cb261ddd5924c) )
- ROM_LOAD( "defeng04.bin", 0x0d800, 0x0800, CRC(3cfc04ce) SHA1(8ee65c7daed4d6956d0e15ada4dc414c28376012) )
- ROM_LOAD( "defeng02.bin", 0x0e000, 0x1000, CRC(d184ab6b) SHA1(ed61a95b04f6162aedba8a72bc46005b77283955) )
- ROM_LOAD( "defeng03.bin", 0x0f000, 0x1000, CRC(788b76d7) SHA1(92987207770a870b5be61c820e9e229801f1fa7a) )
- ROM_LOAD( "defeng09.bin", 0x10000, 0x0800, CRC(f57caa62) SHA1(c8c91b96fd3bc98eddcc1503159050dae5755001) )
- ROM_LOAD( "defeng12.bin", 0x10800, 0x0800, CRC(33db686f) SHA1(34bc7fa10b7996efcc53d3a891b2983874269828) )
- ROM_LOAD( "defeng08.bin", 0x11000, 0x0800, CRC(9a9eb3d2) SHA1(306a3a24931e1aa5fcfd71e3f117cc726d0920ac) )
- ROM_LOAD( "defeng11.bin", 0x11800, 0x0800, CRC(5ca4e860) SHA1(031188c009b8fca92703a0cc0c2bb44976212ae9) )
- ROM_LOAD( "defeng07.bin", 0x12000, 0x0800, CRC(545c3326) SHA1(98199df5206c261061b0108c68ab9128fa0779eb) )
- ROM_LOAD( "defeng10.bin", 0x12800, 0x0800, CRC(941cf34e) SHA1(411dcb18b67585982672ff687a9249f4890faa1b) )
- ROM_LOAD( "defeng06.bin", 0x16000, 0x0800, CRC(3af34c05) SHA1(71f3ced06a373fa4805c856bd9fc97760787a920) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "defeng01.bin", 0x0000, 0x0800, CRC(6111d74d) SHA1(2a335bdce8269f75012df44b446cb261ddd5924c) )
+ ROM_LOAD( "defeng04.bin", 0x0800, 0x0800, CRC(3cfc04ce) SHA1(8ee65c7daed4d6956d0e15ada4dc414c28376012) )
+ ROM_LOAD( "defeng02.bin", 0x1000, 0x1000, CRC(d184ab6b) SHA1(ed61a95b04f6162aedba8a72bc46005b77283955) )
+ ROM_LOAD( "defeng03.bin", 0x2000, 0x1000, CRC(788b76d7) SHA1(92987207770a870b5be61c820e9e229801f1fa7a) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "defeng09.bin", 0x0000, 0x0800, CRC(f57caa62) SHA1(c8c91b96fd3bc98eddcc1503159050dae5755001) )
+ ROM_LOAD( "defeng12.bin", 0x0800, 0x0800, CRC(33db686f) SHA1(34bc7fa10b7996efcc53d3a891b2983874269828) )
+ ROM_LOAD( "defeng08.bin", 0x1000, 0x0800, CRC(9a9eb3d2) SHA1(306a3a24931e1aa5fcfd71e3f117cc726d0920ac) )
+ ROM_LOAD( "defeng11.bin", 0x1800, 0x0800, CRC(5ca4e860) SHA1(031188c009b8fca92703a0cc0c2bb44976212ae9) )
+ ROM_LOAD( "defeng07.bin", 0x2000, 0x0800, CRC(545c3326) SHA1(98199df5206c261061b0108c68ab9128fa0779eb) )
+ ROM_LOAD( "defeng10.bin", 0x2800, 0x0800, CRC(941cf34e) SHA1(411dcb18b67585982672ff687a9249f4890faa1b) )
+ ROM_LOAD( "defeng06.bin", 0x6000, 0x0800, CRC(3af34c05) SHA1(71f3ced06a373fa4805c856bd9fc97760787a920) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "video_sound_rom_1.ic12", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
@@ -2009,17 +2049,19 @@ ROM_START( defenderg )
ROM_END
ROM_START( defenderb )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "wb01.bin", 0x0d000, 0x1000, CRC(0ee1019d) SHA1(a76247e825b8267abfd195c12f96348fe10d4cbc) )
- ROM_LOAD( "defeng02.bin", 0x0e000, 0x1000, CRC(d184ab6b) SHA1(ed61a95b04f6162aedba8a72bc46005b77283955) )
- ROM_LOAD( "wb03.bin", 0x0f000, 0x1000, CRC(a732d649) SHA1(b681882c02c5870ad613edc77255969a5f796422) )
- ROM_LOAD( "defeng09.bin", 0x10000, 0x0800, CRC(f57caa62) SHA1(c8c91b96fd3bc98eddcc1503159050dae5755001) )
- ROM_LOAD( "defeng12.bin", 0x10800, 0x0800, CRC(33db686f) SHA1(34bc7fa10b7996efcc53d3a891b2983874269828) )
- ROM_LOAD( "defeng08.bin", 0x11000, 0x0800, CRC(9a9eb3d2) SHA1(306a3a24931e1aa5fcfd71e3f117cc726d0920ac) )
- ROM_LOAD( "defeng11.bin", 0x11800, 0x0800, CRC(5ca4e860) SHA1(031188c009b8fca92703a0cc0c2bb44976212ae9) )
- ROM_LOAD( "defeng07.bin", 0x12000, 0x0800, CRC(545c3326) SHA1(98199df5206c261061b0108c68ab9128fa0779eb) )
- ROM_LOAD( "defeng10.bin", 0x12800, 0x0800, CRC(941cf34e) SHA1(411dcb18b67585982672ff687a9249f4890faa1b) )
- ROM_LOAD( "defeng06.bin", 0x16000, 0x0800, CRC(3af34c05) SHA1(71f3ced06a373fa4805c856bd9fc97760787a920) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "wb01.bin", 0x0000, 0x1000, CRC(0ee1019d) SHA1(a76247e825b8267abfd195c12f96348fe10d4cbc) )
+ ROM_LOAD( "defeng02.bin", 0x1000, 0x1000, CRC(d184ab6b) SHA1(ed61a95b04f6162aedba8a72bc46005b77283955) )
+ ROM_LOAD( "wb03.bin", 0x2000, 0x1000, CRC(a732d649) SHA1(b681882c02c5870ad613edc77255969a5f796422) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "defeng09.bin", 0x0000, 0x0800, CRC(f57caa62) SHA1(c8c91b96fd3bc98eddcc1503159050dae5755001) )
+ ROM_LOAD( "defeng12.bin", 0x0800, 0x0800, CRC(33db686f) SHA1(34bc7fa10b7996efcc53d3a891b2983874269828) )
+ ROM_LOAD( "defeng08.bin", 0x1000, 0x0800, CRC(9a9eb3d2) SHA1(306a3a24931e1aa5fcfd71e3f117cc726d0920ac) )
+ ROM_LOAD( "defeng11.bin", 0x1800, 0x0800, CRC(5ca4e860) SHA1(031188c009b8fca92703a0cc0c2bb44976212ae9) )
+ ROM_LOAD( "defeng07.bin", 0x2000, 0x0800, CRC(545c3326) SHA1(98199df5206c261061b0108c68ab9128fa0779eb) )
+ ROM_LOAD( "defeng10.bin", 0x2800, 0x0800, CRC(941cf34e) SHA1(411dcb18b67585982672ff687a9249f4890faa1b) )
+ ROM_LOAD( "defeng06.bin", 0x6000, 0x0800, CRC(3af34c05) SHA1(71f3ced06a373fa4805c856bd9fc97760787a920) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "video_sound_rom_1.ic12", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
@@ -2030,17 +2072,19 @@ ROM_END
// the white set seems to be the source of the defcmnd & startrkd bootlegs
ROM_START( defenderw )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "rom1.bin", 0x0d000, 0x1000, CRC(5af871e3) SHA1(f9a42619b37db2eb07d0302ac9d0ff5c1923c21d) )
- ROM_LOAD( "rom2.bin", 0x0e000, 0x1000, CRC(1126adc9) SHA1(526cf1ca3a7eefd6115d74ac9af1a50774cc258e) )
- ROM_LOAD( "rom3.bin", 0x0f000, 0x1000, CRC(4097b46b) SHA1(8f506dc59b129c9441d813062fc38747619678db) )
- ROM_LOAD( "rom9.bin", 0x10000, 0x0800, CRC(93012991) SHA1(9e06ed4a489b2ed063f83b708d3e7c6a02e45389) )
- ROM_LOAD( "rom12.bin", 0x10800, 0x0800, CRC(4bdd8dc4) SHA1(e7503e68608e8f7bb066c99e1e32c6fe060c1dd3) )
- ROM_LOAD( "rom8.bin", 0x11000, 0x0800, CRC(5227fc0b) SHA1(1e6fd398b5beef0be58667f1f0a789a76edd5eb9) )
- ROM_LOAD( "rom11.bin", 0x11800, 0x0800, CRC(d068f0c5) SHA1(d32a4232756ca05972780cb35b0add12b31e8283) )
- ROM_LOAD( "rom7.bin", 0x12000, 0x0800, CRC(fef4cb77) SHA1(96202e97f3392bc043a252e78d1c42b51c38d269) )
- ROM_LOAD( "rom10.bin", 0x12800, 0x0800, CRC(49b50b40) SHA1(91cf841271a2f7d06f81477b4a450eb4580c7ca5) ) // hand-repaired with startrkd rom, but should be good
- ROM_LOAD( "rom6.bin", 0x16000, 0x0800, CRC(43d42a1b) SHA1(b13d59940646451c00b49bbe4a41b9e2df4d7758) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "rom1.bin", 0x0000, 0x1000, CRC(5af871e3) SHA1(f9a42619b37db2eb07d0302ac9d0ff5c1923c21d) )
+ ROM_LOAD( "rom2.bin", 0x1000, 0x1000, CRC(1126adc9) SHA1(526cf1ca3a7eefd6115d74ac9af1a50774cc258e) )
+ ROM_LOAD( "rom3.bin", 0x2000, 0x1000, CRC(4097b46b) SHA1(8f506dc59b129c9441d813062fc38747619678db) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "rom9.bin", 0x0000, 0x0800, CRC(93012991) SHA1(9e06ed4a489b2ed063f83b708d3e7c6a02e45389) )
+ ROM_LOAD( "rom12.bin", 0x0800, 0x0800, CRC(4bdd8dc4) SHA1(e7503e68608e8f7bb066c99e1e32c6fe060c1dd3) )
+ ROM_LOAD( "rom8.bin", 0x1000, 0x0800, CRC(5227fc0b) SHA1(1e6fd398b5beef0be58667f1f0a789a76edd5eb9) )
+ ROM_LOAD( "rom11.bin", 0x1800, 0x0800, CRC(d068f0c5) SHA1(d32a4232756ca05972780cb35b0add12b31e8283) )
+ ROM_LOAD( "rom7.bin", 0x2000, 0x0800, CRC(fef4cb77) SHA1(96202e97f3392bc043a252e78d1c42b51c38d269) )
+ ROM_LOAD( "rom10.bin", 0x2800, 0x0800, CRC(49b50b40) SHA1(91cf841271a2f7d06f81477b4a450eb4580c7ca5) ) // hand-repaired with startrkd rom, but should be good
+ ROM_LOAD( "rom6.bin", 0x6000, 0x0800, CRC(43d42a1b) SHA1(b13d59940646451c00b49bbe4a41b9e2df4d7758) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "video_sound_rom_1.ic12", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
@@ -2050,17 +2094,19 @@ ROM_START( defenderw )
ROM_END
ROM_START( defenderj )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "df1-1.e3", 0x0d000, 0x1000, CRC(8c04602b) SHA1(a8ed5afd0b276cebb479b1717666eaabbf75c6a5) ) //2532
- ROM_LOAD( "df2-1.e2", 0x0e000, 0x1000, CRC(89b75984) SHA1(a9481478da38f99efb67f0ecf82d084e14b93b42) ) //2532
- ROM_LOAD( "df3-1.e1", 0x0f000, 0x1000, CRC(94f51e9b) SHA1(a24cfc55de56a72758c76fe2a55f1ec6c353b16f) ) //2532
- ROM_LOAD( "df10-1.a1", 0x10000, 0x0800, CRC(12e2bd1c) SHA1(c2fdf2fced003a0acf037aa6fab141b04c1c81bd) ) //2716
- ROM_LOAD( "df7-1.b1", 0x10800, 0x0800, CRC(f1f88938) SHA1(26e48dfeefa0766837b1e762695b9532dbc8bc5e) ) //2716
- ROM_LOAD( "df9-1.a2", 0x11000, 0x0800, CRC(b649e306) SHA1(9d7bc3c89e5a53c575946f06702c722b864b1ff0) ) //2716
- ROM_LOAD( "df6-1.b2", 0x11800, 0x0800, CRC(9deaf6d9) SHA1(59b018ba0f3fe6eadfd387dc180ac281460358bc) ) //2716
- ROM_LOAD( "df8-1.a3", 0x12000, 0x0800, CRC(339e092e) SHA1(2f89951dbe55d80df43df8dcf497171f73e726d3) ) //2716
- ROM_LOAD( "df5-1.b3", 0x12800, 0x0800, CRC(a543b167) SHA1(9292b94b0d74e57e03aada4852ad1997c34122ff) ) //2716
- ROM_LOAD( "df4-1.c1", 0x16000, 0x0800, CRC(65f4efd1) SHA1(a960fd1559ed74b81deba434391e49fc6ec389ca) ) //2716
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "df1-1.e3", 0x0000, 0x1000, CRC(8c04602b) SHA1(a8ed5afd0b276cebb479b1717666eaabbf75c6a5) ) //2532
+ ROM_LOAD( "df2-1.e2", 0x1000, 0x1000, CRC(89b75984) SHA1(a9481478da38f99efb67f0ecf82d084e14b93b42) ) //2532
+ ROM_LOAD( "df3-1.e1", 0x2000, 0x1000, CRC(94f51e9b) SHA1(a24cfc55de56a72758c76fe2a55f1ec6c353b16f) ) //2532
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "df10-1.a1", 0x0000, 0x0800, CRC(12e2bd1c) SHA1(c2fdf2fced003a0acf037aa6fab141b04c1c81bd) ) //2716
+ ROM_LOAD( "df7-1.b1", 0x0800, 0x0800, CRC(f1f88938) SHA1(26e48dfeefa0766837b1e762695b9532dbc8bc5e) ) //2716
+ ROM_LOAD( "df9-1.a2", 0x1000, 0x0800, CRC(b649e306) SHA1(9d7bc3c89e5a53c575946f06702c722b864b1ff0) ) //2716
+ ROM_LOAD( "df6-1.b2", 0x1800, 0x0800, CRC(9deaf6d9) SHA1(59b018ba0f3fe6eadfd387dc180ac281460358bc) ) //2716
+ ROM_LOAD( "df8-1.a3", 0x2000, 0x0800, CRC(339e092e) SHA1(2f89951dbe55d80df43df8dcf497171f73e726d3) ) //2716
+ ROM_LOAD( "df5-1.b3", 0x2800, 0x0800, CRC(a543b167) SHA1(9292b94b0d74e57e03aada4852ad1997c34122ff) ) //2716
+ ROM_LOAD( "df4-1.c1", 0x6000, 0x0800, CRC(65f4efd1) SHA1(a960fd1559ed74b81deba434391e49fc6ec389ca) ) //2716
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "dr12.i3", 0xf800, 0x0800, CRC(f122d9c9) SHA1(70092fc354a2efbe7365be922fa36309b50d5c6f) ) //2716
@@ -2071,28 +2117,32 @@ ROM_START( defenderj )
ROM_END
ROM_START( defndjeu )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "15", 0x0d000, 0x1000, CRC(706a24bd) SHA1(60cef3d4f7204eff42de2c08244863e83bc842b4) )
- ROM_LOAD( "16", 0x0e000, 0x1000, CRC(03201532) SHA1(77e8c10ba0ecb6e7a7cb4229a5025c4b9ea4c73e) )
- ROM_LOAD( "17", 0x0f000, 0x1000, CRC(25287eca) SHA1(ec81181a5a0ac2adf7c0dabbec638f886c13e6ec) )
- ROM_LOAD( "21", 0x10000, 0x1000, CRC(bddb71a3) SHA1(ecba4c09a9d59fd7aa02efa240461df89159d2ec) )
- ROM_LOAD( "20", 0x11000, 0x1000, BAD_DUMP CRC(12fa0788) SHA1(7464386521c9db0153caf1ea05a353f0018651e5) )
- ROM_LOAD( "19", 0x12000, 0x1000, CRC(769f5984) SHA1(0ea49754b45bc214fd2b69846ede738994f07ee3) )
- ROM_LOAD( "18", 0x16000, 0x1000, CRC(e99d5679) SHA1(b4344a32aed6cc64284661c03993a59718289c82) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "15", 0x0000, 0x1000, CRC(706a24bd) SHA1(60cef3d4f7204eff42de2c08244863e83bc842b4) )
+ ROM_LOAD( "16", 0x1000, 0x1000, CRC(03201532) SHA1(77e8c10ba0ecb6e7a7cb4229a5025c4b9ea4c73e) )
+ ROM_LOAD( "17", 0x2000, 0x1000, CRC(25287eca) SHA1(ec81181a5a0ac2adf7c0dabbec638f886c13e6ec) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "21", 0x0000, 0x1000, CRC(bddb71a3) SHA1(ecba4c09a9d59fd7aa02efa240461df89159d2ec) )
+ ROM_LOAD( "20", 0x1000, 0x1000, BAD_DUMP CRC(12fa0788) SHA1(7464386521c9db0153caf1ea05a353f0018651e5) )
+ ROM_LOAD( "19", 0x2000, 0x1000, CRC(769f5984) SHA1(0ea49754b45bc214fd2b69846ede738994f07ee3) )
+ ROM_LOAD( "18", 0x6000, 0x1000, CRC(e99d5679) SHA1(b4344a32aed6cc64284661c03993a59718289c82) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "s", 0xf800, 0x0800, CRC(cb79ae42) SHA1(d22bef68ef62aa012f1919338a33621138c2278b) )
ROM_END
ROM_START( tornado1 )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "torna1.bin", 0x0d000, 0x1000, CRC(706a24bd) SHA1(60cef3d4f7204eff42de2c08244863e83bc842b4) ) // same as defndjeu 15
- ROM_LOAD( "torna3.bin", 0x0e000, 0x1000, CRC(a79213b2) SHA1(ff9a59cb1d28af396a7b93df82a4bb825581bcce) )
- ROM_LOAD( "torna4.bin", 0x0f000, 0x1000, CRC(f96d3d26) SHA1(42a1add3c39c1376aa3292c9b85346bb480d329d) )
- ROM_LOAD( "tornc4.bin", 0x10000, 0x1000, CRC(e30f4c00) SHA1(afdf1877ae52bc027c4cd4a31b861aa50321a094) )
- ROM_LOAD( "tornb3.bin", 0x11000, 0x1000, CRC(0e3fef55) SHA1(d0350c36971b523aa490b29b64345f3777019a8d) )
- ROM_LOAD( "tornb1.bin", 0x12000, 0x1000, CRC(f2bef850) SHA1(78e50c790e3a8ebc4b65f2d827be8bd375bf4ef4) )
- ROM_LOAD( "tornb4.bin", 0x16000, 0x1000, CRC(e99d5679) SHA1(b4344a32aed6cc64284661c03993a59718289c82) ) // same as defndjeu 18
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "torna1.bin", 0x0000, 0x1000, CRC(706a24bd) SHA1(60cef3d4f7204eff42de2c08244863e83bc842b4) ) // same as defndjeu 15
+ ROM_LOAD( "torna3.bin", 0x1000, 0x1000, CRC(a79213b2) SHA1(ff9a59cb1d28af396a7b93df82a4bb825581bcce) )
+ ROM_LOAD( "torna4.bin", 0x2000, 0x1000, CRC(f96d3d26) SHA1(42a1add3c39c1376aa3292c9b85346bb480d329d) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "tornc4.bin", 0x0000, 0x1000, CRC(e30f4c00) SHA1(afdf1877ae52bc027c4cd4a31b861aa50321a094) )
+ ROM_LOAD( "tornb3.bin", 0x1000, 0x1000, CRC(0e3fef55) SHA1(d0350c36971b523aa490b29b64345f3777019a8d) )
+ ROM_LOAD( "tornb1.bin", 0x2000, 0x1000, CRC(f2bef850) SHA1(78e50c790e3a8ebc4b65f2d827be8bd375bf4ef4) )
+ ROM_LOAD( "tornb4.bin", 0x6000, 0x1000, CRC(e99d5679) SHA1(b4344a32aed6cc64284661c03993a59718289c82) ) // same as defndjeu 18
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "tornb6.bin", 0xf800, 0x0800, CRC(3685e033) SHA1(74d16675d9c16a6ea3af09cfbc20c3d6b0ab2311) )
@@ -2101,110 +2151,124 @@ ROM_END
// I suspect this one is a bad dump
ROM_START( tornado2 )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "tto15.bin", 0x0d000, 0x1000, BAD_DUMP CRC(910ac603) SHA1(33705b5ce4242a5865a8b4ecf27aa9e656067ea3) ) // 1ST AND 2ND HALF IDENTICAL
- ROM_LOAD( "to16.bin", 0x0e000, 0x1000, BAD_DUMP CRC(46ccd582) SHA1(4f74edb2c48273fce0531b7de54fd7eb925bf3df) )
- ROM_LOAD( "tto17.bin", 0x0f000, 0x1000, BAD_DUMP CRC(faa3613c) SHA1(79014de2021cd73525ecfe0e8d3e7da25e9ee1f3) )
- ROM_LOAD( "to21.bin", 0x10000, 0x1000, CRC(e30f4c00) SHA1(afdf1877ae52bc027c4cd4a31b861aa50321a094) ) // same as tornado1 tornc4.bin
- ROM_LOAD( "to20.bin", 0x11000, 0x1000, CRC(e90bdcb2) SHA1(591fbad03bfaf371a865d81982c03402acdf0421) ) // 1ST AND 2ND HALF IDENTICAL
- ROM_LOAD( "to19.bin", 0x12000, 0x1000, CRC(42885b4f) SHA1(759319f84ea2cec6808d744d190062a7105d7efc) )
- ROM_LOAD( "to18.bin", 0x16000, 0x1000, CRC(c15ffc03) SHA1(9093a8079b21484a999c965346accdbed91d0273) ) // 1ST AND 2ND HALF IDENTICAL
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "tto15.bin", 0x0000, 0x1000, BAD_DUMP CRC(910ac603) SHA1(33705b5ce4242a5865a8b4ecf27aa9e656067ea3) ) // 1ST AND 2ND HALF IDENTICAL
+ ROM_LOAD( "to16.bin", 0x1000, 0x1000, BAD_DUMP CRC(46ccd582) SHA1(4f74edb2c48273fce0531b7de54fd7eb925bf3df) )
+ ROM_LOAD( "tto17.bin", 0x2000, 0x1000, BAD_DUMP CRC(faa3613c) SHA1(79014de2021cd73525ecfe0e8d3e7da25e9ee1f3) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "to21.bin", 0x0000, 0x1000, CRC(e30f4c00) SHA1(afdf1877ae52bc027c4cd4a31b861aa50321a094) ) // same as tornado1 tornc4.bin
+ ROM_LOAD( "to20.bin", 0x1000, 0x1000, CRC(e90bdcb2) SHA1(591fbad03bfaf371a865d81982c03402acdf0421) ) // 1ST AND 2ND HALF IDENTICAL
+ ROM_LOAD( "to19.bin", 0x2000, 0x1000, CRC(42885b4f) SHA1(759319f84ea2cec6808d744d190062a7105d7efc) )
+ ROM_LOAD( "to18.bin", 0x6000, 0x1000, CRC(c15ffc03) SHA1(9093a8079b21484a999c965346accdbed91d0273) ) // 1ST AND 2ND HALF IDENTICAL
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "to_s.bin", 0xf800, 0x0800, CRC(cb79ae42) SHA1(d22bef68ef62aa012f1919338a33621138c2278b) ) // same as defndjeu s
ROM_END
ROM_START( zero )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "zero-15", 0x0d000, 0x1000, CRC(706a24bd) SHA1(60cef3d4f7204eff42de2c08244863e83bc842b4) )
- ROM_LOAD( "zero-16", 0x0e000, 0x1000, CRC(a79213b2) SHA1(ff9a59cb1d28af396a7b93df82a4bb825581bcce) )
- ROM_LOAD( "zero-17", 0x0f000, 0x1000, CRC(25287eca) SHA1(ec81181a5a0ac2adf7c0dabbec638f886c13e6ec) )
- ROM_LOAD( "zero-21", 0x10000, 0x1000, CRC(7ca35cfd) SHA1(9afa4f6641082f73bfc3e2b800acf82dcc2bafb3) )
- ROM_LOAD( "zero-20", 0x11000, 0x1000, CRC(0757967f) SHA1(445e399f1fc834a9333549440171beb6e19a24a7) )
- ROM_LOAD( "zero-19", 0x12000, 0x1000, CRC(f2bef850) SHA1(78e50c790e3a8ebc4b65f2d827be8bd375bf4ef4) )
- ROM_LOAD( "zero-18", 0x16000, 0x1000, CRC(e99d5679) SHA1(b4344a32aed6cc64284661c03993a59718289c82) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "zero-15", 0x0000, 0x1000, CRC(706a24bd) SHA1(60cef3d4f7204eff42de2c08244863e83bc842b4) )
+ ROM_LOAD( "zero-16", 0x1000, 0x1000, CRC(a79213b2) SHA1(ff9a59cb1d28af396a7b93df82a4bb825581bcce) )
+ ROM_LOAD( "zero-17", 0x2000, 0x1000, CRC(25287eca) SHA1(ec81181a5a0ac2adf7c0dabbec638f886c13e6ec) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "zero-21", 0x0000, 0x1000, CRC(7ca35cfd) SHA1(9afa4f6641082f73bfc3e2b800acf82dcc2bafb3) )
+ ROM_LOAD( "zero-20", 0x1000, 0x1000, CRC(0757967f) SHA1(445e399f1fc834a9333549440171beb6e19a24a7) )
+ ROM_LOAD( "zero-19", 0x2000, 0x1000, CRC(f2bef850) SHA1(78e50c790e3a8ebc4b65f2d827be8bd375bf4ef4) )
+ ROM_LOAD( "zero-18", 0x6000, 0x1000, CRC(e99d5679) SHA1(b4344a32aed6cc64284661c03993a59718289c82) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "video_sound_rom_1.ic12", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
ROM_END
ROM_START( zero2 )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "15me.1a", 0x0d000, 0x1000, CRC(9323eee5) SHA1(727eaf669162a39c763203b925ab6b2cdb4626c1) )
- ROM_LOAD( "to16.3a", 0x0e000, 0x1000, CRC(a79213b2) SHA1(ff9a59cb1d28af396a7b93df82a4bb825581bcce) )
- ROM_LOAD( "17m5.4a", 0x0f000, 0x1000, CRC(16a3c0dd) SHA1(df11e4c7a62db85638d1fdda3602735b0d3f7f80) )
- ROM_LOAD( "21.4c", 0x10000, 0x1000, CRC(7ca35cfd) SHA1(9afa4f6641082f73bfc3e2b800acf82dcc2bafb3) )
- ROM_LOAD( "20m5.3b", 0x11000, 0x1000, CRC(7473955b) SHA1(b27515ca3fd2f938706415425226c4d7113eb276) )
- ROM_LOAD( "to19.1b", 0x12000, 0x1000, CRC(f2bef850) SHA1(78e50c790e3a8ebc4b65f2d827be8bd375bf4ef4) )
- ROM_LOAD( "18m5.4b", 0x16000, 0x1000, CRC(7e4afe43) SHA1(7a4f2128e48ed4d5e83885a3a72756822769fe5d) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "15me.1a", 0x0000, 0x1000, CRC(9323eee5) SHA1(727eaf669162a39c763203b925ab6b2cdb4626c1) )
+ ROM_LOAD( "to16.3a", 0x1000, 0x1000, CRC(a79213b2) SHA1(ff9a59cb1d28af396a7b93df82a4bb825581bcce) )
+ ROM_LOAD( "17m5.4a", 0x2000, 0x1000, CRC(16a3c0dd) SHA1(df11e4c7a62db85638d1fdda3602735b0d3f7f80) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "21.4c", 0x0000, 0x1000, CRC(7ca35cfd) SHA1(9afa4f6641082f73bfc3e2b800acf82dcc2bafb3) )
+ ROM_LOAD( "20m5.3b", 0x1000, 0x1000, CRC(7473955b) SHA1(b27515ca3fd2f938706415425226c4d7113eb276) )
+ ROM_LOAD( "to19.1b", 0x2000, 0x1000, CRC(f2bef850) SHA1(78e50c790e3a8ebc4b65f2d827be8bd375bf4ef4) )
+ ROM_LOAD( "18m5.4b", 0x6000, 0x1000, CRC(7e4afe43) SHA1(7a4f2128e48ed4d5e83885a3a72756822769fe5d) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "to4.6b", 0xf800, 0x0800, CRC(cb79ae42) SHA1(d22bef68ef62aa012f1919338a33621138c2278b) )
ROM_END
ROM_START( defcmnd )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "defcmnda.1", 0x0d000, 0x1000, CRC(68effc1d) SHA1(459fd95cdf94233e1a4302d1c166e0f7cc239579) )
- ROM_LOAD( "defcmnda.2", 0x0e000, 0x1000, CRC(1126adc9) SHA1(526cf1ca3a7eefd6115d74ac9af1a50774cc258e) )
- ROM_LOAD( "defcmnda.3", 0x0f000, 0x1000, CRC(7340209d) SHA1(d2cdab8ac4830ac027655ed7fe54314c5b87fdb3) )
- ROM_LOAD( "defcmnda.10", 0x10000, 0x0800, CRC(3dddae75) SHA1(f45fcf3e5ca9bf3edd692b4ee1e96f9f1d388522) )
- ROM_LOAD( "defcmnda.7", 0x10800, 0x0800, CRC(3f1e7cf8) SHA1(87afb4b1158e64039129bd8a9653bc61ab3e1e37) )
- ROM_LOAD( "defcmnda.9", 0x11000, 0x0800, CRC(8882e1ff) SHA1(9d54a39230acd01e0555f67ba2a3c9c6d66b59a1) )
- ROM_LOAD( "defcmnda.6", 0x11800, 0x0800, CRC(d068f0c5) SHA1(d32a4232756ca05972780cb35b0add12b31e8283) )
- ROM_LOAD( "defcmnda.8", 0x12000, 0x0800, CRC(fef4cb77) SHA1(96202e97f3392bc043a252e78d1c42b51c38d269) )
- ROM_LOAD( "defcmnda.5", 0x12800, 0x0800, CRC(49b50b40) SHA1(91cf841271a2f7d06f81477b4a450eb4580c7ca5) )
- ROM_LOAD( "defcmnda.4", 0x16000, 0x0800, CRC(43d42a1b) SHA1(b13d59940646451c00b49bbe4a41b9e2df4d7758) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "defcmnda.1", 0x0000, 0x1000, CRC(68effc1d) SHA1(459fd95cdf94233e1a4302d1c166e0f7cc239579) )
+ ROM_LOAD( "defcmnda.2", 0x1000, 0x1000, CRC(1126adc9) SHA1(526cf1ca3a7eefd6115d74ac9af1a50774cc258e) )
+ ROM_LOAD( "defcmnda.3", 0x2000, 0x1000, CRC(7340209d) SHA1(d2cdab8ac4830ac027655ed7fe54314c5b87fdb3) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "defcmnda.10", 0x0000, 0x0800, CRC(3dddae75) SHA1(f45fcf3e5ca9bf3edd692b4ee1e96f9f1d388522) )
+ ROM_LOAD( "defcmnda.7", 0x0800, 0x0800, CRC(3f1e7cf8) SHA1(87afb4b1158e64039129bd8a9653bc61ab3e1e37) )
+ ROM_LOAD( "defcmnda.9", 0x1000, 0x0800, CRC(8882e1ff) SHA1(9d54a39230acd01e0555f67ba2a3c9c6d66b59a1) )
+ ROM_LOAD( "defcmnda.6", 0x1800, 0x0800, CRC(d068f0c5) SHA1(d32a4232756ca05972780cb35b0add12b31e8283) )
+ ROM_LOAD( "defcmnda.8", 0x2000, 0x0800, CRC(fef4cb77) SHA1(96202e97f3392bc043a252e78d1c42b51c38d269) )
+ ROM_LOAD( "defcmnda.5", 0x2800, 0x0800, CRC(49b50b40) SHA1(91cf841271a2f7d06f81477b4a450eb4580c7ca5) )
+ ROM_LOAD( "defcmnda.4", 0x6000, 0x0800, CRC(43d42a1b) SHA1(b13d59940646451c00b49bbe4a41b9e2df4d7758) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "defcmnda.snd", 0xf800, 0x0800, CRC(f122d9c9) SHA1(70092fc354a2efbe7365be922fa36309b50d5c6f) )
ROM_END
ROM_START( startrkd )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "st_rom8.bin", 0x0d000, 0x1000, CRC(5af871e3) SHA1(f9a42619b37db2eb07d0302ac9d0ff5c1923c21d) )
- ROM_LOAD( "st_rom9.bin", 0x0e000, 0x1000, CRC(1126adc9) SHA1(526cf1ca3a7eefd6115d74ac9af1a50774cc258e) )
- ROM_LOAD( "st_rom10.bin", 0x0f000, 0x1000, CRC(4097b46b) SHA1(8f506dc59b129c9441d813062fc38747619678db) )
- ROM_LOAD( "st_rom6.bin", 0x10000, 0x0800, CRC(93012991) SHA1(9e06ed4a489b2ed063f83b708d3e7c6a02e45389) )
- ROM_LOAD( "st_rom5.bin", 0x10800, 0x0800, CRC(c6f0c004) SHA1(57c547b804ad3eceb33a9390bbffcfc0b63f16dd) )
- ROM_LOAD( "st_rom4.bin", 0x11000, 0x0800, CRC(b48430bf) SHA1(6572812f3a1e6eede3dff3273f16846799e79ed9) )
- ROM_LOAD( "st_rom3.bin", 0x11800, 0x0800, CRC(d068f0c5) SHA1(d32a4232756ca05972780cb35b0add12b31e8283) )
- ROM_LOAD( "st_rom2.bin", 0x12000, 0x0800, CRC(fef4cb77) SHA1(96202e97f3392bc043a252e78d1c42b51c38d269) )
- ROM_LOAD( "st_rom1.bin", 0x12800, 0x0800, CRC(d23d6cdb) SHA1(2ce9fe269598919f994339c8f8685d6a79e417d8) )
- ROM_LOAD( "st_rom7.bin", 0x16000, 0x0800, CRC(43d42a1b) SHA1(b13d59940646451c00b49bbe4a41b9e2df4d7758) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "st_rom8.bin", 0x0000, 0x1000, CRC(5af871e3) SHA1(f9a42619b37db2eb07d0302ac9d0ff5c1923c21d) )
+ ROM_LOAD( "st_rom9.bin", 0x1000, 0x1000, CRC(1126adc9) SHA1(526cf1ca3a7eefd6115d74ac9af1a50774cc258e) )
+ ROM_LOAD( "st_rom10.bin", 0x2000, 0x1000, CRC(4097b46b) SHA1(8f506dc59b129c9441d813062fc38747619678db) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "st_rom6.bin", 0x0000, 0x0800, CRC(93012991) SHA1(9e06ed4a489b2ed063f83b708d3e7c6a02e45389) )
+ ROM_LOAD( "st_rom5.bin", 0x0800, 0x0800, CRC(c6f0c004) SHA1(57c547b804ad3eceb33a9390bbffcfc0b63f16dd) )
+ ROM_LOAD( "st_rom4.bin", 0x1000, 0x0800, CRC(b48430bf) SHA1(6572812f3a1e6eede3dff3273f16846799e79ed9) )
+ ROM_LOAD( "st_rom3.bin", 0x1800, 0x0800, CRC(d068f0c5) SHA1(d32a4232756ca05972780cb35b0add12b31e8283) )
+ ROM_LOAD( "st_rom2.bin", 0x2000, 0x0800, CRC(fef4cb77) SHA1(96202e97f3392bc043a252e78d1c42b51c38d269) )
+ ROM_LOAD( "st_rom1.bin", 0x2800, 0x0800, CRC(d23d6cdb) SHA1(2ce9fe269598919f994339c8f8685d6a79e417d8) )
+ ROM_LOAD( "st_rom7.bin", 0x6000, 0x0800, CRC(43d42a1b) SHA1(b13d59940646451c00b49bbe4a41b9e2df4d7758) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "video_sound_rom_1.ic12", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
ROM_END
ROM_START( defence )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "1", 0x0d000, 0x1000, CRC(ebc93622) SHA1(bd1c098e91b24409925d01aa25de013451dba8e6) )
- ROM_LOAD( "2", 0x0e000, 0x1000, CRC(2a4f4f44) SHA1(8c0519fcb631e05e967cf0953ab2749183655594) )
- ROM_LOAD( "3", 0x0f000, 0x1000, CRC(a4112f91) SHA1(aad7ae81da7c20c7f4c1ef41697c8900a0c81f8e) )
- ROM_LOAD( "0", 0x10000, 0x0800, CRC(7a1e5998) SHA1(c133f43427540b39a383db7f46298942420d138a) )
- ROM_LOAD( "7", 0x10800, 0x0800, CRC(4c2616a3) SHA1(247411e2bb6618f77df6ea74aef1743fafb491a3) )
- ROM_LOAD( "9", 0x11000, 0x0800, CRC(7b146003) SHA1(04746f1b037bf6549fd53cff8f8c37136fce099e) )
- ROM_LOAD( "6", 0x11800, 0x0800, CRC(6d748030) SHA1(060ddf95eeb1318695a25c8c082a670fcdf117e7) )
- ROM_LOAD( "8", 0x12000, 0x0800, CRC(52d5438b) SHA1(087268ca30a42c00dbeceb4df901ddf80ae50125) )
- ROM_LOAD( "5", 0x12800, 0x0800, CRC(4a270340) SHA1(317fcc3156a099dbe48a0658757a9d6c4c54b23a) )
- ROM_LOAD( "4", 0x16000, 0x0800, CRC(e13f457c) SHA1(c706babc0005dfeb3c1b880047da6ec04bce407d) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "1", 0x0000, 0x1000, CRC(ebc93622) SHA1(bd1c098e91b24409925d01aa25de013451dba8e6) )
+ ROM_LOAD( "2", 0x1000, 0x1000, CRC(2a4f4f44) SHA1(8c0519fcb631e05e967cf0953ab2749183655594) )
+ ROM_LOAD( "3", 0x2000, 0x1000, CRC(a4112f91) SHA1(aad7ae81da7c20c7f4c1ef41697c8900a0c81f8e) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "0", 0x0000, 0x0800, CRC(7a1e5998) SHA1(c133f43427540b39a383db7f46298942420d138a) )
+ ROM_LOAD( "7", 0x0800, 0x0800, CRC(4c2616a3) SHA1(247411e2bb6618f77df6ea74aef1743fafb491a3) )
+ ROM_LOAD( "9", 0x1000, 0x0800, CRC(7b146003) SHA1(04746f1b037bf6549fd53cff8f8c37136fce099e) )
+ ROM_LOAD( "6", 0x1800, 0x0800, CRC(6d748030) SHA1(060ddf95eeb1318695a25c8c082a670fcdf117e7) )
+ ROM_LOAD( "8", 0x2000, 0x0800, CRC(52d5438b) SHA1(087268ca30a42c00dbeceb4df901ddf80ae50125) )
+ ROM_LOAD( "5", 0x2800, 0x0800, CRC(4a270340) SHA1(317fcc3156a099dbe48a0658757a9d6c4c54b23a) )
+ ROM_LOAD( "4", 0x6000, 0x0800, CRC(e13f457c) SHA1(c706babc0005dfeb3c1b880047da6ec04bce407d) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "defcmnda.snd", 0xf800, 0x0800, CRC(f122d9c9) SHA1(70092fc354a2efbe7365be922fa36309b50d5c6f) )
ROM_END
ROM_START( defenderom )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "rom1.bin", 0x0d000, 0x1000, CRC(8c04602b) SHA1(a8ed5afd0b276cebb479b1717666eaabbf75c6a5) )
- ROM_LOAD( "rom2.bin", 0x0e000, 0x1000, CRC(89b75984) SHA1(a9481478da38f99efb67f0ecf82d084e14b93b42) )
- ROM_LOAD( "rom3.bin", 0x0f000, 0x1000, CRC(94f51e9b) SHA1(a24cfc55de56a72758c76fe2a55f1ec6c353b16f) )
- ROM_LOAD( "rom10.bin", 0x10000, 0x0800, CRC(12e2bd1c) SHA1(c2fdf2fced003a0acf037aa6fab141b04c1c81bd) )
- ROM_LOAD( "rom7.bin", 0x10800, 0x0800, CRC(19e1ac79) SHA1(02925bbfab103304d097d778bda1b169b5f98d9c) )
- ROM_LOAD( "rom9.bin", 0x11000, 0x0800, CRC(b8ac5966) SHA1(df9ff8c6585f67dc55e54f07f6ec51158aa35ac3) )
- ROM_LOAD( "rom6.bin", 0x11800, 0x0800, BAD_DUMP CRC(9deaf6d9) SHA1(59b018ba0f3fe6eadfd387dc180ac281460358bc) ) // Bad on the dumped PCB, borrowed from 'defenseb'
- ROM_LOAD( "rom8.bin", 0x12000, 0x0800, BAD_DUMP CRC(339e092e) SHA1(2f89951dbe55d80df43df8dcf497171f73e726d3) ) // Bad on the dumped PCB, borrowed from 'defenseb'
- ROM_LOAD( "rom5.bin", 0x12800, 0x0800, CRC(871f75a0) SHA1(4ded757dbb375a703e930bd0c46281c0d8479a0c) )
- ROM_LOAD( "rom4.bin", 0x16000, 0x0800, CRC(65f4efd1) SHA1(a960fd1559ed74b81deba434391e49fc6ec389ca) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "rom1.bin", 0x0000, 0x1000, CRC(8c04602b) SHA1(a8ed5afd0b276cebb479b1717666eaabbf75c6a5) )
+ ROM_LOAD( "rom2.bin", 0x1000, 0x1000, CRC(89b75984) SHA1(a9481478da38f99efb67f0ecf82d084e14b93b42) )
+ ROM_LOAD( "rom3.bin", 0x2000, 0x1000, CRC(94f51e9b) SHA1(a24cfc55de56a72758c76fe2a55f1ec6c353b16f) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "rom10.bin", 0x0000, 0x0800, CRC(12e2bd1c) SHA1(c2fdf2fced003a0acf037aa6fab141b04c1c81bd) )
+ ROM_LOAD( "rom7.bin", 0x0800, 0x0800, CRC(19e1ac79) SHA1(02925bbfab103304d097d778bda1b169b5f98d9c) )
+ ROM_LOAD( "rom9.bin", 0x1000, 0x0800, CRC(b8ac5966) SHA1(df9ff8c6585f67dc55e54f07f6ec51158aa35ac3) )
+ ROM_LOAD( "rom6.bin", 0x1800, 0x0800, BAD_DUMP CRC(9deaf6d9) SHA1(59b018ba0f3fe6eadfd387dc180ac281460358bc) ) // Bad on the dumped PCB, borrowed from 'defenseb'
+ ROM_LOAD( "rom8.bin", 0x2000, 0x0800, BAD_DUMP CRC(339e092e) SHA1(2f89951dbe55d80df43df8dcf497171f73e726d3) ) // Bad on the dumped PCB, borrowed from 'defenseb'
+ ROM_LOAD( "rom5.bin", 0x2800, 0x0800, CRC(871f75a0) SHA1(4ded757dbb375a703e930bd0c46281c0d8479a0c) )
+ ROM_LOAD( "rom4.bin", 0x6000, 0x0800, CRC(65f4efd1) SHA1(a960fd1559ed74b81deba434391e49fc6ec389ca) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "rom12.bin", 0xf800, 0x0800, CRC(f122d9c9) SHA1(70092fc354a2efbe7365be922fa36309b50d5c6f) )
@@ -2216,17 +2280,19 @@ ROM_END
// 2-PCB stack: BB10A + BB10B
ROM_START( defenseb )
- ROM_REGION( 0x19000, "maincpu", 0 ) // All ROMs but 2 identical to defenderj
- ROM_LOAD( "1.d9", 0x0d000, 0x1000, CRC(8c04602b) SHA1(a8ed5afd0b276cebb479b1717666eaabbf75c6a5) )
- ROM_LOAD( "2.c9", 0x0e000, 0x1000, CRC(89b75984) SHA1(a9481478da38f99efb67f0ecf82d084e14b93b42) )
- ROM_LOAD( "3.d8", 0x0f000, 0x1000, CRC(94f51e9b) SHA1(a24cfc55de56a72758c76fe2a55f1ec6c353b16f) )
- ROM_LOAD( "10.c4", 0x10000, 0x0800, CRC(12e2bd1c) SHA1(c2fdf2fced003a0acf037aa6fab141b04c1c81bd) )
- ROM_LOAD( "7.d5", 0x10800, 0x0800, CRC(88881cc6) SHA1(5fd39a8596aeffc4ba279f9e680ac0ceaa2a179d) ) // unique
- ROM_LOAD( "9.d4", 0x11000, 0x0800, CRC(252605c9) SHA1(74d5a1f66b45193824f496b954d449d7acd68251) ) // unique
- ROM_LOAD( "6.c6", 0x11800, 0x0800, CRC(9deaf6d9) SHA1(59b018ba0f3fe6eadfd387dc180ac281460358bc) )
- ROM_LOAD( "8.c5", 0x12000, 0x0800, CRC(339e092e) SHA1(2f89951dbe55d80df43df8dcf497171f73e726d3) )
- ROM_LOAD( "5.d6", 0x12800, 0x0800, CRC(a543b167) SHA1(9292b94b0d74e57e03aada4852ad1997c34122ff) )
- ROM_LOAD( "4.c7", 0x16000, 0x0800, CRC(65f4efd1) SHA1(a960fd1559ed74b81deba434391e49fc6ec389ca) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE ) // All ROMs but 2 identical to defenderj
+ ROM_LOAD( "1.d9", 0x0000, 0x1000, CRC(8c04602b) SHA1(a8ed5afd0b276cebb479b1717666eaabbf75c6a5) )
+ ROM_LOAD( "2.c9", 0x1000, 0x1000, CRC(89b75984) SHA1(a9481478da38f99efb67f0ecf82d084e14b93b42) )
+ ROM_LOAD( "3.d8", 0x2000, 0x1000, CRC(94f51e9b) SHA1(a24cfc55de56a72758c76fe2a55f1ec6c353b16f) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "10.c4", 0x0000, 0x0800, CRC(12e2bd1c) SHA1(c2fdf2fced003a0acf037aa6fab141b04c1c81bd) )
+ ROM_LOAD( "7.d5", 0x0800, 0x0800, CRC(88881cc6) SHA1(5fd39a8596aeffc4ba279f9e680ac0ceaa2a179d) ) // unique
+ ROM_LOAD( "9.d4", 0x1000, 0x0800, CRC(252605c9) SHA1(74d5a1f66b45193824f496b954d449d7acd68251) ) // unique
+ ROM_LOAD( "6.c6", 0x1800, 0x0800, CRC(9deaf6d9) SHA1(59b018ba0f3fe6eadfd387dc180ac281460358bc) )
+ ROM_LOAD( "8.c5", 0x2000, 0x0800, CRC(339e092e) SHA1(2f89951dbe55d80df43df8dcf497171f73e726d3) )
+ ROM_LOAD( "5.d6", 0x2800, 0x0800, CRC(a543b167) SHA1(9292b94b0d74e57e03aada4852ad1997c34122ff) )
+ ROM_LOAD( "4.c7", 0x6000, 0x0800, CRC(65f4efd1) SHA1(a960fd1559ed74b81deba434391e49fc6ec389ca) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "12.f3.snd", 0xf800, 0x0800, CRC(f122d9c9) SHA1(70092fc354a2efbe7365be922fa36309b50d5c6f) )
@@ -2247,17 +2313,19 @@ ROM_END
// For now we use the defenderb ones.
// PCBs: FAMARESA 590-001, 590-002, 590-003, 590-004
ROM_START( attackf )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "002-1.ic1", 0x0d000, 0x1000, BAD_DUMP CRC(0ee1019d) SHA1(a76247e825b8267abfd195c12f96348fe10d4cbc) )
- ROM_LOAD( "002-2.ic2", 0x0e000, 0x1000, BAD_DUMP CRC(d184ab6b) SHA1(ed61a95b04f6162aedba8a72bc46005b77283955) )
- ROM_LOAD( "002-3.ic3", 0x0f000, 0x1000, BAD_DUMP CRC(a732d649) SHA1(b681882c02c5870ad613edc77255969a5f796422) )
- ROM_LOAD( "002-9.ic12", 0x10000, 0x0800, CRC(f57caa62) SHA1(c8c91b96fd3bc98eddcc1503159050dae5755001) )
- ROM_LOAD( "002-12.ic9", 0x10800, 0x0800, CRC(eb73d8a1) SHA1(f26007839a9eff6c7f77768da150fa26b8c96643) )
- ROM_LOAD( "002-8.ic11", 0x11000, 0x0800, CRC(17f7abde) SHA1(6959ed471687174a3fdc3f980ca7bd993b23d54f) )
- ROM_LOAD( "002-11.ic8", 0x11800, 0x0800, CRC(5ca4e860) SHA1(031188c009b8fca92703a0cc0c2bb44976212ae9) )
- ROM_LOAD( "002-7.ic10", 0x12000, 0x0800, CRC(545c3326) SHA1(98199df5206c261061b0108c68ab9128fa0779eb) )
- ROM_LOAD( "002-10.ic7", 0x12800, 0x0800, CRC(3940d731) SHA1(c867efa48e3ed6a6c3ddcd519aba1fe0a1712400) )
- ROM_LOAD( "002-6.ic6", 0x16000, 0x0800, CRC(3af34c05) SHA1(71f3ced06a373fa4805c856bd9fc97760787a920) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "002-1.ic1", 0x0000, 0x1000, BAD_DUMP CRC(0ee1019d) SHA1(a76247e825b8267abfd195c12f96348fe10d4cbc) )
+ ROM_LOAD( "002-2.ic2", 0x1000, 0x1000, BAD_DUMP CRC(d184ab6b) SHA1(ed61a95b04f6162aedba8a72bc46005b77283955) )
+ ROM_LOAD( "002-3.ic3", 0x2000, 0x1000, BAD_DUMP CRC(a732d649) SHA1(b681882c02c5870ad613edc77255969a5f796422) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "002-9.ic12", 0x0000, 0x0800, CRC(f57caa62) SHA1(c8c91b96fd3bc98eddcc1503159050dae5755001) )
+ ROM_LOAD( "002-12.ic9", 0x0800, 0x0800, CRC(eb73d8a1) SHA1(f26007839a9eff6c7f77768da150fa26b8c96643) )
+ ROM_LOAD( "002-8.ic11", 0x1000, 0x0800, CRC(17f7abde) SHA1(6959ed471687174a3fdc3f980ca7bd993b23d54f) )
+ ROM_LOAD( "002-11.ic8", 0x1800, 0x0800, CRC(5ca4e860) SHA1(031188c009b8fca92703a0cc0c2bb44976212ae9) )
+ ROM_LOAD( "002-7.ic10", 0x2000, 0x0800, CRC(545c3326) SHA1(98199df5206c261061b0108c68ab9128fa0779eb) )
+ ROM_LOAD( "002-10.ic7", 0x2800, 0x0800, CRC(3940d731) SHA1(c867efa48e3ed6a6c3ddcd519aba1fe0a1712400) )
+ ROM_LOAD( "002-6.ic6", 0x6000, 0x0800, CRC(3af34c05) SHA1(71f3ced06a373fa4805c856bd9fc97760787a920) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "003-13.ic12", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
@@ -2267,17 +2335,19 @@ ROM_START( attackf )
ROM_END
ROM_START( galwars2 ) // 2 board stack: CPU and ROM boards
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "9d-1-2532.bin", 0x0d000, 0x1000, CRC(ebc93622) SHA1(bd1c098e91b24409925d01aa25de013451dba8e6) )
- ROM_LOAD( "9c-2-2532.bin", 0x0e000, 0x1000, CRC(2a4f4f44) SHA1(8c0519fcb631e05e967cf0953ab2749183655594) )
- ROM_LOAD( "8d-3-2532.bin", 0x0f000, 0x1000, CRC(a4112f91) SHA1(aad7ae81da7c20c7f4c1ef41697c8900a0c81f8e) )
- ROM_LOAD( "4c-10-2716.bin", 0x10000, 0x0800, CRC(7a1e5998) SHA1(c133f43427540b39a383db7f46298942420d138a) )
- ROM_LOAD( "5d-7-2716.bin", 0x10800, 0x0800, CRC(a9bdacdc) SHA1(aa6f31a127c5e744c1267705fffa659c03c38329) )
- ROM_LOAD( "4d-9-2716.bin", 0x11000, 0x0800, CRC(906dca8f) SHA1(ae77945f1628f5c60040dcc3fa650ace3bbe8720) )
- ROM_LOAD( "6c-6-2716.bin", 0x11800, 0x0800, CRC(6d748030) SHA1(060ddf95eeb1318695a25c8c082a670fcdf117e7) )
- ROM_LOAD( "5c-8-2716.bin", 0x12000, 0x0800, CRC(52d5438b) SHA1(087268ca30a42c00dbeceb4df901ddf80ae50125) )
- ROM_LOAD( "6d-5-2716.bin", 0x12800, 0x0800, CRC(4a270340) SHA1(317fcc3156a099dbe48a0658757a9d6c4c54b23a) )
- ROM_LOAD( "7c-4-2716.bin", 0x16000, 0x0800, CRC(e13f457c) SHA1(c706babc0005dfeb3c1b880047da6ec04bce407d) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "9d-1-2532.bin", 0x0000, 0x1000, CRC(ebc93622) SHA1(bd1c098e91b24409925d01aa25de013451dba8e6) )
+ ROM_LOAD( "9c-2-2532.bin", 0x1000, 0x1000, CRC(2a4f4f44) SHA1(8c0519fcb631e05e967cf0953ab2749183655594) )
+ ROM_LOAD( "8d-3-2532.bin", 0x2000, 0x1000, CRC(a4112f91) SHA1(aad7ae81da7c20c7f4c1ef41697c8900a0c81f8e) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "4c-10-2716.bin", 0x0000, 0x0800, CRC(7a1e5998) SHA1(c133f43427540b39a383db7f46298942420d138a) )
+ ROM_LOAD( "5d-7-2716.bin", 0x0800, 0x0800, CRC(a9bdacdc) SHA1(aa6f31a127c5e744c1267705fffa659c03c38329) )
+ ROM_LOAD( "4d-9-2716.bin", 0x1000, 0x0800, CRC(906dca8f) SHA1(ae77945f1628f5c60040dcc3fa650ace3bbe8720) )
+ ROM_LOAD( "6c-6-2716.bin", 0x1800, 0x0800, CRC(6d748030) SHA1(060ddf95eeb1318695a25c8c082a670fcdf117e7) )
+ ROM_LOAD( "5c-8-2716.bin", 0x2000, 0x0800, CRC(52d5438b) SHA1(087268ca30a42c00dbeceb4df901ddf80ae50125) )
+ ROM_LOAD( "6d-5-2716.bin", 0x2800, 0x0800, CRC(4a270340) SHA1(317fcc3156a099dbe48a0658757a9d6c4c54b23a) )
+ ROM_LOAD( "7c-4-2716.bin", 0x6000, 0x0800, CRC(e13f457c) SHA1(c706babc0005dfeb3c1b880047da6ec04bce407d) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "3f-11-2716.bin", 0xf800, 0x0800, CRC(f122d9c9) SHA1(70092fc354a2efbe7365be922fa36309b50d5c6f) )
@@ -2288,42 +2358,48 @@ ROM_START( galwars2 ) // 2 board stack: CPU and ROM boards
ROM_END
ROM_START( mayday )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "ic03-3.bin", 0x0d000, 0x1000, CRC(a1ff6e62) SHA1(c3c60ce94c6bdc4b07e45f386eff9a4aa4816953) )
- ROM_LOAD( "ic02-2.bin", 0x0e000, 0x1000, CRC(62183aea) SHA1(3843fe055ab6d3bb5a3362f57a63ce99e36cec47) )
- ROM_LOAD( "ic01-1.bin", 0x0f000, 0x1000, CRC(5dcb113f) SHA1(c41d671c336c68824771b7c4f0ffce39f1b6cd62) )
- ROM_LOAD( "ic04-4.bin", 0x10000, 0x1000, CRC(ea6a4ec8) SHA1(eaedc11968d88fd6f3c5b40c8d15d64ca6d0a1ab) )
- ROM_LOAD( "ic05-5.bin", 0x11000, 0x1000, CRC(0d797a3e) SHA1(289d2ecfebd7d71430d6624f3c9fbc91f9ef05cc) )
- ROM_LOAD( "ic06-6.bin", 0x12000, 0x1000, CRC(ee8bfcd6) SHA1(f68c44fdc18d57070aea604e261fb7b9407345a2) )
- ROM_LOAD( "ic07-7d.bin", 0x16000, 0x1000, CRC(d9c065e7) SHA1(ceeb58d1dfe14106271f17cf1c689b812216c3c0) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "ic03-3.bin", 0x0000, 0x1000, CRC(a1ff6e62) SHA1(c3c60ce94c6bdc4b07e45f386eff9a4aa4816953) )
+ ROM_LOAD( "ic02-2.bin", 0x1000, 0x1000, CRC(62183aea) SHA1(3843fe055ab6d3bb5a3362f57a63ce99e36cec47) )
+ ROM_LOAD( "ic01-1.bin", 0x2000, 0x1000, CRC(5dcb113f) SHA1(c41d671c336c68824771b7c4f0ffce39f1b6cd62) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "ic04-4.bin", 0x0000, 0x1000, CRC(ea6a4ec8) SHA1(eaedc11968d88fd6f3c5b40c8d15d64ca6d0a1ab) )
+ ROM_LOAD( "ic05-5.bin", 0x1000, 0x1000, CRC(0d797a3e) SHA1(289d2ecfebd7d71430d6624f3c9fbc91f9ef05cc) )
+ ROM_LOAD( "ic06-6.bin", 0x2000, 0x1000, CRC(ee8bfcd6) SHA1(f68c44fdc18d57070aea604e261fb7b9407345a2) )
+ ROM_LOAD( "ic07-7d.bin", 0x6000, 0x1000, CRC(d9c065e7) SHA1(ceeb58d1dfe14106271f17cf1c689b812216c3c0) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "ic28-8.bin", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
ROM_END
ROM_START( maydaya )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "mayday.c", 0x0d000, 0x1000, CRC(872a2f2d) SHA1(5823e889151b34e3fa739775440c788cca0b44c6) )
- ROM_LOAD( "mayday.b", 0x0e000, 0x1000, CRC(c4ab5e22) SHA1(757fd9311cffea420b1de8f574e84c13c0aac77d) )
- ROM_LOAD( "mayday.a", 0x0f000, 0x1000, CRC(329a1318) SHA1(4aa1d05ca05f37460eccb450ae61c21d86348f02) )
- ROM_LOAD( "mayday.d", 0x10000, 0x1000, CRC(c2ae4716) SHA1(582f763eda7d7d51ed0580045d6c617246b104b7) )
- ROM_LOAD( "mayday.e", 0x11000, 0x1000, CRC(41225666) SHA1(6d9c0347ff85bf9f9ae4648976c3ee971fec0f53) )
- ROM_LOAD( "mayday.f", 0x12000, 0x1000, CRC(c39be3c0) SHA1(91ac61e20d325a3a018ffe57bd79bfdfdc5a3cbd) )
- ROM_LOAD( "mayday.g", 0x16000, 0x1000, CRC(2bd0f106) SHA1(ac74d74a54d5b464e4c82b5b46ad7d20cdb7b6d7) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "mayday.c", 0x0000, 0x1000, CRC(872a2f2d) SHA1(5823e889151b34e3fa739775440c788cca0b44c6) )
+ ROM_LOAD( "mayday.b", 0x1000, 0x1000, CRC(c4ab5e22) SHA1(757fd9311cffea420b1de8f574e84c13c0aac77d) )
+ ROM_LOAD( "mayday.a", 0x2000, 0x1000, CRC(329a1318) SHA1(4aa1d05ca05f37460eccb450ae61c21d86348f02) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "mayday.d", 0x0000, 0x1000, CRC(c2ae4716) SHA1(582f763eda7d7d51ed0580045d6c617246b104b7) )
+ ROM_LOAD( "mayday.e", 0x1000, 0x1000, CRC(41225666) SHA1(6d9c0347ff85bf9f9ae4648976c3ee971fec0f53) )
+ ROM_LOAD( "mayday.f", 0x2000, 0x1000, CRC(c39be3c0) SHA1(91ac61e20d325a3a018ffe57bd79bfdfdc5a3cbd) )
+ ROM_LOAD( "mayday.g", 0x6000, 0x1000, CRC(2bd0f106) SHA1(ac74d74a54d5b464e4c82b5b46ad7d20cdb7b6d7) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "ic28-8.bin", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
ROM_END
ROM_START( maydayb )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "ic03-3.bin", 0x0d000, 0x1000, CRC(a1ff6e62) SHA1(c3c60ce94c6bdc4b07e45f386eff9a4aa4816953) )
- ROM_LOAD( "ic02-2.bin", 0x0e000, 0x1000, CRC(62183aea) SHA1(3843fe055ab6d3bb5a3362f57a63ce99e36cec47) )
- ROM_LOAD( "ic01-1.bin", 0x0f000, 0x1000, CRC(5dcb113f) SHA1(c41d671c336c68824771b7c4f0ffce39f1b6cd62) )
- ROM_LOAD( "rom7.bin", 0x10000, 0x1000, CRC(0c3ca687) SHA1(a83f17c20f5767f092300266dd494bd0abf267bb) )
- ROM_LOAD( "ic05-5.bin", 0x11000, 0x1000, CRC(0d797a3e) SHA1(289d2ecfebd7d71430d6624f3c9fbc91f9ef05cc) )
- ROM_LOAD( "ic06-6.bin", 0x12000, 0x1000, CRC(ee8bfcd6) SHA1(f68c44fdc18d57070aea604e261fb7b9407345a2) )
- ROM_LOAD( "ic07-7d.bin", 0x16000, 0x1000, CRC(d9c065e7) SHA1(ceeb58d1dfe14106271f17cf1c689b812216c3c0) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "ic03-3.bin", 0x0000, 0x1000, CRC(a1ff6e62) SHA1(c3c60ce94c6bdc4b07e45f386eff9a4aa4816953) )
+ ROM_LOAD( "ic02-2.bin", 0x1000, 0x1000, CRC(62183aea) SHA1(3843fe055ab6d3bb5a3362f57a63ce99e36cec47) )
+ ROM_LOAD( "ic01-1.bin", 0x2000, 0x1000, CRC(5dcb113f) SHA1(c41d671c336c68824771b7c4f0ffce39f1b6cd62) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "rom7.bin", 0x0000, 0x1000, CRC(0c3ca687) SHA1(a83f17c20f5767f092300266dd494bd0abf267bb) )
+ ROM_LOAD( "ic05-5.bin", 0x1000, 0x1000, CRC(0d797a3e) SHA1(289d2ecfebd7d71430d6624f3c9fbc91f9ef05cc) )
+ ROM_LOAD( "ic06-6.bin", 0x2000, 0x1000, CRC(ee8bfcd6) SHA1(f68c44fdc18d57070aea604e261fb7b9407345a2) )
+ ROM_LOAD( "ic07-7d.bin", 0x6000, 0x1000, CRC(d9c065e7) SHA1(ceeb58d1dfe14106271f17cf1c689b812216c3c0) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "ic28-8.bin", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
@@ -2336,14 +2412,16 @@ ROM_START( maydayb )
ROM_END
ROM_START( batlzone )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "43-2732.rom.bin", 0x0d000, 0x1000, CRC(244334f8) SHA1(ac625a1858c372db6a748ef8aa504569aef6cad7) )
- ROM_LOAD( "42-2732.rom.bin", 0x0e000, 0x1000, CRC(62183aea) SHA1(3843fe055ab6d3bb5a3362f57a63ce99e36cec47) )
- ROM_LOAD( "41-2732.rom.bin", 0x0f000, 0x1000, CRC(a7e9093e) SHA1(d9d9641c9f8c060b2fa227b0620454067d0b0acc) )
- ROM_LOAD( "44-8532.rom.bin", 0x10000, 0x1000, CRC(bba3e626) SHA1(f2a364a25ee0cf91e25f8a20173bd9fb56cc2a72) )
- ROM_LOAD( "45-8532.rom.bin", 0x11000, 0x1000, CRC(43b3a0de) SHA1(674ff7110d07aeb09889eddb0d3dd0e7b16fe979) )
- ROM_LOAD( "46-8532.rom.bin", 0x12000, 0x1000, CRC(3df9b901) SHA1(6b2be3292b60e197154688ffd40789e937e17b4c) )
- ROM_LOAD( "47-8532.rom.bin", 0x16000, 0x1000, CRC(55a27e02) SHA1(23064ba59caed9b21e4ef6b944313e5bd2809dc5) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "43-2732.rom.bin", 0x0000, 0x1000, CRC(244334f8) SHA1(ac625a1858c372db6a748ef8aa504569aef6cad7) )
+ ROM_LOAD( "42-2732.rom.bin", 0x1000, 0x1000, CRC(62183aea) SHA1(3843fe055ab6d3bb5a3362f57a63ce99e36cec47) )
+ ROM_LOAD( "41-2732.rom.bin", 0x2000, 0x1000, CRC(a7e9093e) SHA1(d9d9641c9f8c060b2fa227b0620454067d0b0acc) )
+
+ ROM_REGION( 0x7000, "banked", ROMREGION_BE )
+ ROM_LOAD( "44-8532.rom.bin", 0x0000, 0x1000, CRC(bba3e626) SHA1(f2a364a25ee0cf91e25f8a20173bd9fb56cc2a72) )
+ ROM_LOAD( "45-8532.rom.bin", 0x1000, 0x1000, CRC(43b3a0de) SHA1(674ff7110d07aeb09889eddb0d3dd0e7b16fe979) )
+ ROM_LOAD( "46-8532.rom.bin", 0x2000, 0x1000, CRC(3df9b901) SHA1(6b2be3292b60e197154688ffd40789e937e17b4c) )
+ ROM_LOAD( "47-8532.rom.bin", 0x6000, 0x1000, CRC(55a27e02) SHA1(23064ba59caed9b21e4ef6b944313e5bd2809dc5) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "48-2716.rom.bin", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
@@ -2351,16 +2429,18 @@ ROM_END
ROM_START( colony7 )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "cs03.bin", 0x0d000, 0x1000, CRC(7ee75ae5) SHA1(1d268d83c2b0c7897d9e783f5da4e1d892709ba4) )
- ROM_LOAD( "cs02.bin", 0x0e000, 0x1000, CRC(c60b08cb) SHA1(8cf91a2c2c04199b2870bb11e10fa6ffef5b877f) )
- ROM_LOAD( "cs01.bin", 0x0f000, 0x1000, CRC(1bc97436) SHA1(326692de3491925bbeea9b0e880d9133f0e6440c) )
- ROM_LOAD( "cs06.bin", 0x10000, 0x0800, CRC(318b95af) SHA1(cb276ef440436f6000a2d20252f3197a67965167) )
- ROM_LOAD( "cs04.bin", 0x10800, 0x0800, CRC(d740faee) SHA1(aad164e72ebb0de18487c5397ea33d300cf93423) )
- ROM_LOAD( "cs07.bin", 0x11000, 0x0800, CRC(0b23638b) SHA1(b577c0cefa3ea2df436ed0fa1efa8ecd04ff78b0) )
- ROM_LOAD( "cs05.bin", 0x11800, 0x0800, CRC(59e406a8) SHA1(b64081ca83b6f57ac8fb71b1f8618083f19b99de) )
- ROM_LOAD( "cs08.bin", 0x12000, 0x0800, CRC(3bfde87a) SHA1(f5047927833be97324c861aa93a8e95b457058c4) )
- ROM_RELOAD( 0x12800, 0x0800 )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "cs03.bin", 0x0000, 0x1000, CRC(7ee75ae5) SHA1(1d268d83c2b0c7897d9e783f5da4e1d892709ba4) )
+ ROM_LOAD( "cs02.bin", 0x1000, 0x1000, CRC(c60b08cb) SHA1(8cf91a2c2c04199b2870bb11e10fa6ffef5b877f) )
+ ROM_LOAD( "cs01.bin", 0x2000, 0x1000, CRC(1bc97436) SHA1(326692de3491925bbeea9b0e880d9133f0e6440c) )
+
+ ROM_REGION( 0x3000, "banked", ROMREGION_BE )
+ ROM_LOAD( "cs06.bin", 0x0000, 0x0800, CRC(318b95af) SHA1(cb276ef440436f6000a2d20252f3197a67965167) )
+ ROM_LOAD( "cs04.bin", 0x0800, 0x0800, CRC(d740faee) SHA1(aad164e72ebb0de18487c5397ea33d300cf93423) )
+ ROM_LOAD( "cs07.bin", 0x1000, 0x0800, CRC(0b23638b) SHA1(b577c0cefa3ea2df436ed0fa1efa8ecd04ff78b0) )
+ ROM_LOAD( "cs05.bin", 0x1800, 0x0800, CRC(59e406a8) SHA1(b64081ca83b6f57ac8fb71b1f8618083f19b99de) )
+ ROM_LOAD( "cs08.bin", 0x2000, 0x0800, CRC(3bfde87a) SHA1(f5047927833be97324c861aa93a8e95b457058c4) )
+ ROM_RELOAD( 0x2800, 0x0800 )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "cs11.bin", 0xf800, 0x0800, CRC(6032293c) SHA1(dd2c6afc1149a879d49e93d1a2fa8e1f6d0b043b) )
@@ -2371,16 +2451,18 @@ ROM_START( colony7 )
ROM_END
ROM_START( colony7a )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "cs03a.bin", 0x0d000, 0x1000, CRC(e0b0d23b) SHA1(4c50e00a71b3b2bf8d032a3cb496e5473204a8d6) )
- ROM_LOAD( "cs02a.bin", 0x0e000, 0x1000, CRC(370c6f41) SHA1(4e13a4cf9c1a3b1c354443c41549b59581d8b357) )
- ROM_LOAD( "cs01a.bin", 0x0f000, 0x1000, CRC(ba299946) SHA1(42e5d6ad0505f5a951d92165c9e2fa4e86659469) )
- ROM_LOAD( "cs06.bin", 0x10000, 0x0800, CRC(318b95af) SHA1(cb276ef440436f6000a2d20252f3197a67965167) )
- ROM_LOAD( "cs04.bin", 0x10800, 0x0800, CRC(d740faee) SHA1(aad164e72ebb0de18487c5397ea33d300cf93423) )
- ROM_LOAD( "cs07.bin", 0x11000, 0x0800, CRC(0b23638b) SHA1(b577c0cefa3ea2df436ed0fa1efa8ecd04ff78b0) )
- ROM_LOAD( "cs05.bin", 0x11800, 0x0800, CRC(59e406a8) SHA1(b64081ca83b6f57ac8fb71b1f8618083f19b99de) )
- ROM_LOAD( "cs08.bin", 0x12000, 0x0800, CRC(3bfde87a) SHA1(f5047927833be97324c861aa93a8e95b457058c4) )
- ROM_RELOAD( 0x12800, 0x0800 )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "cs03a.bin", 0x0000, 0x1000, CRC(e0b0d23b) SHA1(4c50e00a71b3b2bf8d032a3cb496e5473204a8d6) )
+ ROM_LOAD( "cs02a.bin", 0x1000, 0x1000, CRC(370c6f41) SHA1(4e13a4cf9c1a3b1c354443c41549b59581d8b357) )
+ ROM_LOAD( "cs01a.bin", 0x2000, 0x1000, CRC(ba299946) SHA1(42e5d6ad0505f5a951d92165c9e2fa4e86659469) )
+
+ ROM_REGION( 0x3000, "banked", ROMREGION_BE )
+ ROM_LOAD( "cs06.bin", 0x0000, 0x0800, CRC(318b95af) SHA1(cb276ef440436f6000a2d20252f3197a67965167) )
+ ROM_LOAD( "cs04.bin", 0x0800, 0x0800, CRC(d740faee) SHA1(aad164e72ebb0de18487c5397ea33d300cf93423) )
+ ROM_LOAD( "cs07.bin", 0x1000, 0x0800, CRC(0b23638b) SHA1(b577c0cefa3ea2df436ed0fa1efa8ecd04ff78b0) )
+ ROM_LOAD( "cs05.bin", 0x1800, 0x0800, CRC(59e406a8) SHA1(b64081ca83b6f57ac8fb71b1f8618083f19b99de) )
+ ROM_LOAD( "cs08.bin", 0x2000, 0x0800, CRC(3bfde87a) SHA1(f5047927833be97324c861aa93a8e95b457058c4) )
+ ROM_RELOAD( 0x2800, 0x0800 )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "cs11.bin", 0xf800, 0x0800, CRC(6032293c) SHA1(dd2c6afc1149a879d49e93d1a2fa8e1f6d0b043b) )
@@ -2392,11 +2474,13 @@ ROM_END
ROM_START( jin )
- ROM_REGION( 0x19000, "maincpu", 0 )
- ROM_LOAD( "jin11.6c", 0x0d000, 0x1000, CRC(c4b9e93f) SHA1(5c3451fd8e108aed60c0ef1032873460aa81454e) )
- ROM_LOAD( "jin12.7c", 0x0e000, 0x1000, CRC(a8bc9fdd) SHA1(fffec12dbb0ef85f65bbfd93569c535d41773da4) )
- ROM_LOAD( "jin13.6d", 0x0f000, 0x1000, CRC(79779b85) SHA1(3c0aa595f8ee370790db89ea2ecc4868dde06a27) )
- ROM_LOAD( "jin14.4c", 0x10000, 0x1000, CRC(6a4df97e) SHA1(c1b8f180e1f935a88fb7203b77b97a614b091c9e) )
+ ROM_REGION( 0x3000, "maincpu", ROMREGION_BE )
+ ROM_LOAD( "jin11.6c", 0x0000, 0x1000, CRC(c4b9e93f) SHA1(5c3451fd8e108aed60c0ef1032873460aa81454e) )
+ ROM_LOAD( "jin12.7c", 0x1000, 0x1000, CRC(a8bc9fdd) SHA1(fffec12dbb0ef85f65bbfd93569c535d41773da4) )
+ ROM_LOAD( "jin13.6d", 0x2000, 0x1000, CRC(79779b85) SHA1(3c0aa595f8ee370790db89ea2ecc4868dde06a27) )
+
+ ROM_REGION( 0x1000, "banked", ROMREGION_BE )
+ ROM_LOAD( "jin14.4c", 0x0000, 0x1000, CRC(6a4df97e) SHA1(c1b8f180e1f935a88fb7203b77b97a614b091c9e) )
ROM_REGION( 0x10000, "soundcpu", 0 )
ROM_LOAD( "jin15.3f", 0xf800, 0x0800, CRC(fefd5b48) SHA1(ceb0d18483f0691978c604db94417e6941ad7ff2) )
@@ -3817,17 +3901,15 @@ ROM_END
void defender_state::init_defndjeu()
{
- uint8_t *const rom = memregion("maincpu")->base();
+ memory_region *rom;
// apply simple decryption by swapping bits 0 and 7
- for (int i = 0xd000; i < 0x19000; i++)
- rom[i] = bitswap<8>(rom[i],0,6,5,4,3,2,1,7);
-}
-
-
-void wms_muxed_state::init_alienar()
-{
- m_maincpu->space(AS_PROGRAM).nop_write(0xcbff, 0xcbff);
+ rom = memregion("maincpu");
+ for (int i = 0; i < rom->bytes(); i++)
+ rom->base()[i] = bitswap<8>(rom->base()[i], 0,6,5,4,3,2,1,7);
+ rom = memregion("banked");
+ for (int i = 0; i < rom->bytes(); i++)
+ rom->base()[i] = bitswap<8>(rom->base()[i], 0,6,5,4,3,2,1,7);
}
@@ -3859,10 +3941,10 @@ GAME( 1981, startrkd, defender, defender, defender, defender_state, e
GAME( 1980, attackf, defender, defender, defender, defender_state, empty_init, ROT0, "bootleg (Famaresa)", "Attack (bootleg of Defender)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, galwars2, defender, defender_6802snd, defender, defender_state, empty_init, ROT0, "bootleg (Sonic)", "Galaxy Wars II (bootleg of Defender)", MACHINE_SUPPORTS_SAVE ) // Sega Sonic - Sega S.A., only displays Sonic on title screen
-GAME( 1980, mayday, 0, defender, mayday, mayday_state, empty_init, ROT0, "Hoei", "Mayday (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION ) // \ original by Hoei, which one of these 3 sets is bootleg/licensed/original is unknown
-GAME( 1980, maydaya, mayday, defender, mayday, mayday_state, empty_init, ROT0, "Hoei", "Mayday (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION ) // > these games have an unemulated protection chip of some sort which is hacked around in /midway/williams_m.cpp "protection_r" function
-GAME( 1980, maydayb, mayday, defender, mayday, mayday_state, empty_init, ROT0, "Hoei", "Mayday (set 3)", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION ) // /
-GAME( 1980, batlzone, mayday, defender, mayday, mayday_state, empty_init, ROT0, "bootleg (Video Game)", "Battle Zone (bootleg of Mayday)", MACHINE_SUPPORTS_SAVE ) // the bootleg may or may not use the same protection chip, or some hack around it.
+GAME( 1980, mayday, 0, mayday, mayday, mayday_state, empty_init, ROT0, "Hoei", "Mayday (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION ) // \ original by Hoei, which one of these 3 sets is bootleg/licensed/original is unknown
+GAME( 1980, maydaya, mayday, mayday, mayday, mayday_state, empty_init, ROT0, "Hoei", "Mayday (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION ) // > these games have an unemulated protection chip of some sort which is hacked around in /midway/williams_m.cpp "protection_r" function
+GAME( 1980, maydayb, mayday, mayday, mayday, mayday_state, empty_init, ROT0, "Hoei", "Mayday (set 3)", MACHINE_SUPPORTS_SAVE | MACHINE_UNEMULATED_PROTECTION ) // /
+GAME( 1980, batlzone, mayday, mayday, mayday, mayday_state, empty_init, ROT0, "bootleg (Video Game)", "Battle Zone (bootleg of Mayday)", MACHINE_SUPPORTS_SAVE ) // the bootleg may or may not use the same protection chip, or some hack around it.
GAME( 1981, colony7, 0, defender, colony7, defender_state, empty_init, ROT270, "Taito", "Colony 7 (set 1)", MACHINE_SUPPORTS_SAVE )
GAME( 1981, colony7a, colony7, defender, colony7, defender_state, empty_init, ROT270, "Taito", "Colony 7 (set 2)", MACHINE_SUPPORTS_SAVE )
@@ -3884,32 +3966,32 @@ GAME( 1987, robotron87, robotron, williams_b1, robotron, williams_state, e
GAME( 2012, robotron12, robotron, williams_b1, robotron, williams_state, empty_init, ROT0, "hack", "Robotron: 2084 (2012 'wave 201 start' hack)", MACHINE_SUPPORTS_SAVE ) // includes sitc bug fix, used for competitive play.
GAME( 2015, robotrontd, robotron, williams_b1, robotron, williams_state, empty_init, ROT0, "hack", "Robotron: 2084 (2015 'tie-die V2' hack)", MACHINE_SUPPORTS_SAVE ) // inc. sitc fix, mods by some of the original developers, see backstory here http://www.robotron2084guidebook.com/gameplay/raceto100million/robo2k14_tie-die-romset/ (I guess there's a tie-die V1 before it was released to the public?)
-GAME( 1982, joust, 0, joust, joust, wms_muxed_state, empty_init, ROT0, "Williams", "Joust (Green label)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, joustr, joust, joust, joust, wms_muxed_state, empty_init, ROT0, "Williams", "Joust (Red label)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, jousty, joust, joust, joust, wms_muxed_state, empty_init, ROT0, "Williams", "Joust (Yellow label)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, joust, 0, joust, joust, williams_state, empty_init, ROT0, "Williams", "Joust (Green label)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, joustr, joust, joust, joust, williams_state, empty_init, ROT0, "Williams", "Joust (Red label)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, jousty, joust, joust, joust, williams_state, empty_init, ROT0, "Williams", "Joust (Yellow label)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, bubbles, 0, williams_b1, bubbles, bubbles_state, empty_init, ROT0, "Williams", "Bubbles", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, bubblesr, bubbles, williams_b1, bubbles, bubbles_state, empty_init, ROT0, "Williams", "Bubbles (Solid Red label)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, bubblesp, bubbles, williams_b1, bubbles, bubbles_state, empty_init, ROT0, "Williams", "Bubbles (prototype)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, bubbles, 0, bubbles, bubbles, williams_state, empty_init, ROT0, "Williams", "Bubbles", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, bubblesr, bubbles, bubbles, bubbles, williams_state, empty_init, ROT0, "Williams", "Bubbles (Solid Red label)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, bubblesp, bubbles, bubbles, bubbles, williams_state, empty_init, ROT0, "Williams", "Bubbles (prototype)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, splat, 0, splat, splat, wms_muxed_state, empty_init, ROT0, "Williams", "Splat!", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, splat, 0, splat, splat, williams_state, empty_init, ROT0, "Williams", "Splat!", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, sinistar, 0, upright, sinistar, sinistar_state, empty_init, ROT270, "Williams", "Sinistar (revision 3, upright)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, sinistarc, sinistar, cockpit, sinistar, sinistar_state, empty_init, ROT270, "Williams", "Sinistar (revision 3, cockpit)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, sinistar2, sinistar, upright, sinistar, sinistar_state, empty_init, ROT270, "Williams", "Sinistar (revision 2, upright)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, sinistarc2, sinistar, cockpit, sinistar, sinistar_state, empty_init, ROT270, "Williams", "Sinistar (revision 2, cockpit)", MACHINE_SUPPORTS_SAVE )
-GAME( 1982, sinistarp, sinistar, upright, sinistar, sinistar_state, empty_init, ROT270, "Williams", "Sinistar (AMOA-82 prototype)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, sinistar, 0, sinistar_upright, sinistar, williams_state, empty_init, ROT270, "Williams", "Sinistar (revision 3, upright)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, sinistarc, sinistar, sinistar_cockpit, sinistar, williams_state, empty_init, ROT270, "Williams", "Sinistar (revision 3, cockpit)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, sinistar2, sinistar, sinistar_upright, sinistar, williams_state, empty_init, ROT270, "Williams", "Sinistar (revision 2, upright)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, sinistarc2, sinistar, sinistar_cockpit, sinistar, williams_state, empty_init, ROT270, "Williams", "Sinistar (revision 2, cockpit)", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, sinistarp, sinistar, sinistar_upright, sinistar, williams_state, empty_init, ROT270, "Williams", "Sinistar (AMOA-82 prototype)", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, playball, 0, playball, playball, playball_state, empty_init, ROT270, "Williams", "PlayBall! (prototype)", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, playball, 0, playball, playball, williams_state, empty_init, ROT270, "Williams", "PlayBall! (prototype)", MACHINE_SUPPORTS_SAVE )
GAME( 1983, blaster, 0, blaster, blaster, blaster_state, empty_init, ROT0, "Williams / Vid Kidz", "Blaster", MACHINE_SUPPORTS_SAVE ) // 20 levels - stereo sound
GAME( 1983, blastero, blaster, blaster, blaster, blaster_state, empty_init, ROT0, "Williams / Vid Kidz", "Blaster (location test)", MACHINE_SUPPORTS_SAVE ) // 30 levels - stereo sound
GAME( 1983, blasterkit, blaster, blastkit, blastkit, blaster_state, empty_init, ROT0, "Williams / Vid Kidz", "Blaster (conversion kit)", MACHINE_SUPPORTS_SAVE ) // 20 levels - mono sound
-GAME( 1985, spdball, 0, spdball, spdball, spdball_state, empty_init, ROT0, "Williams", "Speed Ball - Contest at Neonworld (prototype)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, spdball, 0, spdball, spdball, williams_state, empty_init, ROT0, "Williams", "Speed Ball - Contest at Neonworld (prototype)", MACHINE_SUPPORTS_SAVE )
-GAME( 1985, alienar, 0, joust, alienar, wms_muxed_state, init_alienar, ROT0, "Duncan Brown", "Alien Arena", MACHINE_SUPPORTS_SAVE )
-GAME( 1985, alienaru, alienar, joust, alienar, wms_muxed_state, init_alienar, ROT0, "Duncan Brown", "Alien Arena (Stargate upgrade)", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, alienar, 0, alienar, alienar, williams_state, empty_init, ROT0, "Duncan Brown", "Alien Arena", MACHINE_SUPPORTS_SAVE )
+GAME( 1985, alienaru, alienar, alienar, alienar, williams_state, empty_init, ROT0, "Duncan Brown", "Alien Arena (Stargate upgrade)", MACHINE_SUPPORTS_SAVE )
GAME( 1987, lottofun, 0, lottofun, lottofun, williams_state, empty_init, ROT0, "HAR Management", "Lotto Fun", MACHINE_SUPPORTS_SAVE )
@@ -3920,7 +4002,7 @@ GAME( 1983, mysticmp, mysticm, mysticm, mysticm, mysticm_state, e
GAME( 1984, tshoot, 0, tshoot, tshoot, tshoot_state, empty_init, ROT0, "Williams", "Turkey Shoot (prototype)", MACHINE_SUPPORTS_SAVE )
-GAME( 1984, inferno, 0, inferno, inferno, inferno_state, empty_init, ROT0, "Williams", "Inferno (Williams)", MACHINE_SUPPORTS_SAVE )
+GAME( 1984, inferno, 0, inferno, inferno, williams2_state, empty_init, ROT0, "Williams", "Inferno (Williams)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, joust2, 0, joust2, joust2, joust2_state, empty_init, ROT270, "Williams", "Joust 2 - Survival of the Fittest (revision 2)", MACHINE_SUPPORTS_SAVE )
GAME( 1986, joust2r1, joust2, joust2, joust2, joust2_state, empty_init, ROT270, "Williams", "Joust 2 - Survival of the Fittest (revision 1)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/midway/williams.h b/src/mame/midway/williams.h
index 53585307537d1..fc6609eb0f3c8 100644
--- a/src/mame/midway/williams.h
+++ b/src/mame/midway/williams.h
@@ -26,6 +26,7 @@
#include "screen.h"
#include "tilemap.h"
+
// base Williams hardware
class williams_state : public driver_device
{
@@ -46,14 +47,20 @@ class williams_state : public driver_device
m_49way_y(*this, "49WAYY")
{ }
- void williams_base(machine_config &config);
void williams_b0(machine_config &config);
void williams_b1(machine_config &config);
void williams_b2(machine_config &config);
+ void joust(machine_config &config);
+ void bubbles(machine_config &config);
+ void sinistar_upright(machine_config &config);
+ void sinistar_cockpit(machine_config &config);
+ void splat(machine_config &config);
+ void playball(machine_config &config);
+ void spdball(machine_config &config);
+ void alienar(machine_config &config);
void lottofun(machine_config &config);
- u8 port_0_49way_r();
virtual u8 video_counter_r();
virtual void watchdog_reset_w(u8 data);
@@ -64,9 +71,6 @@ class williams_state : public driver_device
void palette_init(palette_device &palette) const;
protected:
- virtual void machine_reset() override;
- virtual void video_start() override;
-
// blitter type
enum
{
@@ -115,19 +119,34 @@ class williams_state : public driver_device
const uint8_t *m_blitter_remap;
std::unique_ptr m_blitter_remap_lookup;
- virtual void vram_select_w(u8 data);
- virtual void cmos_w(offs_t offset, u8 data);
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
+ u8 port_0_49way_r();
+ void vram_select_w(u8 data);
+ void sinistar_vram_select_w(u8 data);
+ void cmos_4bit_w(offs_t offset, u8 data);
void blitter_w(address_space &space, offs_t offset, u8 data);
+ template
TIMER_CALLBACK_MEMBER(deferred_snd_cmd_w);
virtual void snd_cmd_w(u8 data);
+ void playball_snd_cmd_w(u8 data);
+ void cockpit_snd_cmd_w(u8 data);
void state_save_register();
void blitter_init(int blitter_config, const uint8_t *remap_prom);
inline void blit_pixel(address_space &space, int dstaddr, int srcdata, int controlbyte);
int blitter_core(address_space &space, int sstart, int dstart, int w, int h, int data);
- virtual void main_map(address_map &map);
+ void williams_base(machine_config &config);
+ void williams_muxed(machine_config &config);
+
+ void main_map(address_map &map);
+ void bubbles_main_map(address_map &map);
+ void sinistar_main_map(address_map &map);
+ void spdball_main_map(address_map &map);
+ void alienar_main_map(address_map &map);
virtual void sound_map(address_map &map);
void sound2_map(address_map &map); // for Blaster and Sinistar cockpit
};
@@ -147,16 +166,15 @@ class defender_state : public williams_state
void init_defndjeu();
protected:
- virtual void main_map(address_map &map) override;
-
- void video_control_w(u8 data);
-
-private:
+ virtual void machine_start() override;
virtual void machine_reset() override;
- virtual void sound_map(address_map &map) override;
- virtual void sound_map_6802(address_map &map);
+ void defender_main_map(address_map &map);
+ void defender_sound_map(address_map &map);
+ void defender_sound_map_6802(address_map &map);
+private:
+ void video_control_w(u8 data);
void bank_select_w(u8 data);
};
@@ -168,54 +186,12 @@ class mayday_state : public defender_state
defender_state(mconfig, type, tag)
{ }
-private:
- u8 protection_r(offs_t offset);
- virtual void main_map(address_map &map) override;
-};
-
-// Sinistar: blitter window clip
-class sinistar_state : public williams_state
-{
-public:
- sinistar_state(const machine_config &mconfig, device_type type, const char *tag) :
- williams_state(mconfig, type, tag)
- { }
-
- void upright(machine_config &config);
- void cockpit(machine_config &config);
+ void mayday(machine_config &config);
private:
- virtual void vram_select_w(u8 data) override;
- virtual void main_map(address_map &map) override;
-
- TIMER_CALLBACK_MEMBER(cockpit_deferred_snd_cmd_w);
- void cockpit_snd_cmd_w(u8 data);
-};
-
-// Playball: more soundlatch bits
-class playball_state : public williams_state
-{
-public:
- playball_state(const machine_config &mconfig, device_type type, const char *tag) :
- williams_state(mconfig, type, tag)
- { }
+ void mayday_main_map(address_map &map);
- void playball(machine_config &config);
-
-private:
- virtual void snd_cmd_w(u8 data) override;
-};
-
-// Bubbles: 8-bit nvram
-class bubbles_state : public williams_state
-{
-public:
- bubbles_state(const machine_config &mconfig, device_type type, const char *tag) :
- williams_state(mconfig, type, tag)
- { }
-
-protected:
- virtual void cmos_w(offs_t offset, u8 data) override;
+ u8 protection_r(offs_t offset);
};
// Conquest: flywheel controller
@@ -234,42 +210,6 @@ class conquest_state : public williams_state
required_ioport m_dial;
};
-// Joust, Splat: muxed inputs
-class wms_muxed_state : public williams_state
-{
-public:
- wms_muxed_state(const machine_config &mconfig, device_type type, const char *tag) :
- williams_state(mconfig, type, tag),
- m_mux0(*this, "mux_0"),
- m_mux1(*this, "mux_1")
- { }
-
- void joust(machine_config &config);
- void splat(machine_config &config);
-
- void init_alienar();
-
-private:
- void williams_muxed(machine_config &config);
-
- required_device m_mux0;
- required_device m_mux1;
-};
-
-// Speed Ball: more input ports
-class spdball_state : public williams_state
-{
-public:
- spdball_state(const machine_config &mconfig, device_type type, const char *tag) :
- williams_state(mconfig, type, tag)
- { }
-
- void spdball(machine_config &config);
-
-private:
- virtual void main_map(address_map &map) override;
-};
-
// Blaster: extra sound hardware
class blaster_state : public williams_state
{
@@ -277,7 +217,6 @@ class blaster_state : public williams_state
blaster_state(const machine_config &mconfig, device_type type, const char *tag) :
williams_state(mconfig, type, tag),
m_muxa(*this, "mux_a"),
- m_muxb(*this, "mux_b"),
m_mainbank(*this, "mainbank")
{ }
@@ -291,13 +230,12 @@ class blaster_state : public williams_state
private:
required_device m_muxa;
- optional_device m_muxb;
required_memory_bank m_mainbank;
rgb_t m_color0;
uint8_t m_video_control;
- virtual void vram_select_w(u8 data) override;
+ void blaster_vram_select_w(u8 data);
void bank_select_w(u8 data);
void remap_select_w(u8 data);
void video_control_w(u8 data);
@@ -306,23 +244,13 @@ class blaster_state : public williams_state
virtual uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) override;
- virtual void main_map(address_map &map) override;
+ void blaster_main_map(address_map &map);
};
// base Williams 2nd gen hardware
class williams2_state : public williams_state
{
public:
- INPUT_CHANGED_MEMBER(rgb_gain)
- {
- if (param < 3)
- m_gain[param] = float(newval) / 100.0f;
- else
- m_offset[param - 3] = (float(newval) / 100.0f) - 1.0f;
- rebuild_palette();
- }
-
-protected:
williams2_state(const machine_config &mconfig, device_type type, const char *tag) :
williams_state(mconfig, type, tag),
m_gfxdecode(*this, "gfxdecode"),
@@ -333,12 +261,18 @@ class williams2_state : public williams_state
m_offset({ 0.00f, 0.00f, 0.00f })
{ }
- void williams2_base(machine_config &config);
+ void inferno(machine_config &config);
- virtual void machine_start() override;
- virtual void machine_reset() override;
- virtual void video_start() override;
+ INPUT_CHANGED_MEMBER(rgb_gain)
+ {
+ if (param < 3)
+ m_gain[param] = float(newval) / 100.0f;
+ else
+ m_offset[param - 3] = (float(newval) / 100.0f) - 1.0f;
+ rebuild_palette();
+ }
+protected:
required_device m_gfxdecode;
required_shared_ptr m_tileram;
required_memory_bank m_mainbank;
@@ -351,6 +285,12 @@ class williams2_state : public williams_state
std::array m_gain;
std::array m_offset;
+ void williams2_base(machine_config &config);
+
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+ virtual void video_start() override;
+
virtual u8 video_counter_r() override;
virtual TILE_GET_INFO_MEMBER(get_tile_info);
@@ -382,21 +322,6 @@ class williams2_state : public williams_state
void video_control_w(u8 data);
};
-// Inferno
-class inferno_state : public williams2_state
-{
-public:
- inferno_state(const machine_config &mconfig, device_type type, const char *tag) :
- williams2_state(mconfig, type, tag),
- m_mux(*this, "mux")
- { }
-
- void inferno(machine_config &config);
-
-private:
- required_device m_mux;
-};
-
// Mystic Marathon
class mysticm_state : public williams2_state
{
@@ -412,6 +337,8 @@ class mysticm_state : public williams2_state
void mysticm(machine_config &config);
protected:
+ virtual void machine_start() override;
+
virtual uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) override;
private:
diff --git a/src/mame/midway/williams_m.cpp b/src/mame/midway/williams_m.cpp
index 6e5bb62dbc6a6..2eefd25075ee0 100644
--- a/src/mame/midway/williams_m.cpp
+++ b/src/mame/midway/williams_m.cpp
@@ -158,21 +158,25 @@ void williams2_state::bank_select_w(u8 data)
*
*************************************/
+template
TIMER_CALLBACK_MEMBER(williams_state::deferred_snd_cmd_w)
{
- m_pia[2]->portb_w(param);
- m_pia[2]->cb1_w((param == 0xff) ? 0 : 1);
+ m_pia[A]->portb_w(param);
+ m_pia[A]->cb1_w((param == 0xff) ? 0 : 1);
+
+ if constexpr (sizeof...(B) > 0)
+ deferred_snd_cmd_w(param);
}
void williams_state::snd_cmd_w(u8 data)
{
- /* the high two bits are set externally, and should be 1 */
- machine().scheduler().synchronize(timer_expired_delegate(FUNC(williams_state::deferred_snd_cmd_w),this), data | 0xc0);
+ // the high two bits are set externally, and should be 1
+ machine().scheduler().synchronize(timer_expired_delegate(FUNC(williams_state::deferred_snd_cmd_w<2>), this), data | 0xc0);
}
-void playball_state::snd_cmd_w(u8 data)
+void williams_state::playball_snd_cmd_w(u8 data)
{
- machine().scheduler().synchronize(timer_expired_delegate(FUNC(playball_state::deferred_snd_cmd_w),this), data);
+ machine().scheduler().synchronize(timer_expired_delegate(FUNC(williams_state::deferred_snd_cmd_w<2>), this), data);
}
TIMER_CALLBACK_MEMBER(williams2_state::deferred_snd_cmd_w)
@@ -214,7 +218,7 @@ void williams2_state::snd_cmd_w(u8 data)
u8 williams_state::port_0_49way_r()
{
- static const uint8_t translate49[7] = { 0x0, 0x4, 0x6, 0x7, 0xb, 0x9, 0x8 };
+ static const u8 translate49[7] = { 0x0, 0x4, 0x6, 0x7, 0xb, 0x9, 0x8 };
return (translate49[m_49way_x->read() >> 4] << 4) | translate49[m_49way_y->read() >> 4];
}
@@ -226,20 +230,13 @@ u8 williams_state::port_0_49way_r()
*
*************************************/
-void williams_state::cmos_w(offs_t offset, u8 data)
+void williams_state::cmos_4bit_w(offs_t offset, u8 data)
{
- /* only 4 bits are valid */
+ // only 4 bits are valid
m_nvram[offset] = data | 0xf0;
}
-void bubbles_state::cmos_w(offs_t offset, u8 data)
-{
- /* bubbles has additional CMOS for a full 8 bits */
- m_nvram[offset] = data;
-}
-
-
/*************************************
*
@@ -311,6 +308,22 @@ void williams2_state::segments_w(u8 data)
*
*************************************/
+void defender_state::machine_start()
+{
+ williams_state::machine_start();
+
+ memory_region *const banked_rom = memregion("banked");
+ unsigned const banks = banked_rom->bytes() / 0x1000;
+ for (unsigned i = 0; 15 > i; ++i)
+ {
+ if ((i < 9) && (i < banks))
+ m_rom_view[i + 1].install_rom(0xc000, 0xcfff, banked_rom->base() + (i * 0x1000));
+ else
+ m_rom_view[i + 1];
+ }
+}
+
+
void defender_state::machine_reset()
{
williams_state::machine_reset();
@@ -327,10 +340,7 @@ void defender_state::video_control_w(u8 data)
void defender_state::bank_select_w(u8 data)
{
- if ((data & 0x0f) < 10)
- m_rom_view.select(data & 0x0f);
- else
- m_rom_view.disable();
+ m_rom_view.select(data & 0x0f);
}
@@ -359,30 +369,20 @@ u8 mayday_state::protection_r(offs_t offset)
*
*************************************/
-void sinistar_state::vram_select_w(u8 data)
+void williams_state::sinistar_vram_select_w(u8 data)
{
- /* low two bits are standard */
- williams_state::vram_select_w(data);
+ // low two bits are standard
+ vram_select_w(data);
- /* window enable from bit 2 (clips to 0x7400) */
+ // window enable from bit 2 (clips to 0x7400)
m_blitter_window_enable = BIT(data, 2);
}
-TIMER_CALLBACK_MEMBER(sinistar_state::cockpit_deferred_snd_cmd_w)
-{
- m_pia[2]->portb_w(param);
- m_pia[2]->cb1_w((param == 0xff) ? 0 : 1);
-
- m_pia[3]->portb_w(param);
- m_pia[3]->cb1_w((param == 0xff) ? 0 : 1);
-}
-
-
-void sinistar_state::cockpit_snd_cmd_w(u8 data)
+void williams_state::cockpit_snd_cmd_w(u8 data)
{
- /* the high two bits are set externally, and should be 1 */
- machine().scheduler().synchronize(timer_expired_delegate(FUNC(sinistar_state::cockpit_deferred_snd_cmd_w), this), data | 0xc0);
+ // the high two bits are set externally, and should be 1
+ machine().scheduler().synchronize(timer_expired_delegate(NAME((&williams_state::deferred_snd_cmd_w<2, 3>)), this), data | 0xc0);
}
@@ -397,7 +397,7 @@ void blaster_state::machine_start()
{
williams_state::machine_start();
- /* banking is different for blaster */
+ // banking is different for blaster
m_mainbank->configure_entries(0, 16, memregion("maincpu")->base() + 0x10000, 0x4000);
}
@@ -409,18 +409,18 @@ void blaster_state::machine_reset()
}
-void blaster_state::vram_select_w(u8 data)
+void blaster_state::blaster_vram_select_w(u8 data)
{
- /* VRAM/ROM banking from bit 0 */
+ // VRAM/ROM banking from bit 0
if (BIT(data, 0))
m_rom_view.select(0);
else
m_rom_view.disable();
- /* cocktail flip from bit 1 */
+ // cocktail flip from bit 1
m_cocktail = BIT(data, 1);
- /* window enable from bit 2 (clips to 0x9700) */
+ // window enable from bit 2 (clips to 0x9700)
m_blitter_window_enable = BIT(data, 2);
}
@@ -433,8 +433,8 @@ void blaster_state::bank_select_w(u8 data)
TIMER_CALLBACK_MEMBER(blaster_state::deferred_snd_cmd_w)
{
- uint8_t const l_data = param | 0x80;
- uint8_t const r_data = (param >> 1 & 0x40) | (param & 0x3f) | 0x80;
+ u8 const l_data = param | 0x80;
+ u8 const r_data = (param >> 1 & 0x40) | (param & 0x3f) | 0x80;
m_pia[2]->portb_w(l_data); m_pia[2]->cb1_w((l_data == 0xff) ? 0 : 1);
m_pia[3]->portb_w(r_data); m_pia[3]->cb1_w((r_data == 0xff) ? 0 : 1);
@@ -461,6 +461,21 @@ void williams2_state::video_control_w(u8 data)
+/*************************************
+ *
+ * Mystic Marathon-specific routines
+ *
+ *************************************/
+
+void mysticm_state::machine_start()
+{
+ williams2_state::machine_start();
+
+ save_item(NAME(m_bg_color));
+}
+
+
+
/*************************************
*
* Turkey Shoot-specific routines
diff --git a/src/mame/midway/williams_v.cpp b/src/mame/midway/williams_v.cpp
index 1ecefa71c7071..eea6f16fb9f74 100644
--- a/src/mame/midway/williams_v.cpp
+++ b/src/mame/midway/williams_v.cpp
@@ -210,24 +210,23 @@ void williams2_state::video_start()
uint32_t williams_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
+ // precompute the palette
rgb_t pens[16];
-
- /* precompute the palette */
for (int x = 0; x < 16; x++)
pens[x] = m_palette->pen_color(m_paletteram[x]);
- /* loop over rows */
+ // loop over rows
for (int y = cliprect.min_y; y <= cliprect.max_y; y++)
{
uint8_t const *const source = &m_videoram[y];
uint32_t *const dest = &bitmap.pix(y);
- /* loop over columns */
+ // loop over columns
for (int x = cliprect.min_x & ~1; x <= cliprect.max_x; x += 2)
{
- uint8_t const pix = source[(x/2) * 256];
- dest[x+0] = pens[pix >> 4];
- dest[x+1] = pens[pix & 0x0f];
+ uint8_t const pix = source[(x / 2) * 256];
+ dest[x + 0] = pens[pix >> 4];
+ dest[x + 1] = pens[pix & 0x0f];
}
}
return 0;
diff --git a/src/mame/midway/wmg.cpp b/src/mame/midway/wmg.cpp
index a5f35e9823d7b..7fa02c999d359 100644
--- a/src/mame/midway/wmg.cpp
+++ b/src/mame/midway/wmg.cpp
@@ -90,6 +90,7 @@ class wmg_state : public williams_state
, m_keyboard(*this, "X%d", 0U)
, m_mainbank(*this, "mainbank")
, m_codebank(*this, "codebank")
+ , m_nvrambank(*this, "nvrambank")
, m_soundbank(*this, "soundbank")
, m_io_view(*this, "io_view")
{ }
@@ -107,6 +108,7 @@ class wmg_state : public williams_state
required_ioport_array<17> m_keyboard;
required_memory_bank m_mainbank;
required_memory_bank m_codebank;
+ required_memory_bank m_nvrambank;
required_memory_bank m_soundbank;
memory_view m_io_view;
@@ -114,12 +116,9 @@ class wmg_state : public williams_state
uint8_t m_wmg_d000 = 0U;
uint8_t m_port_select = 0U;
- u8 wmg_nvram_r(offs_t offset);
- void wmg_nvram_w(offs_t offset, u8 data);
u8 wmg_pia_0_r(offs_t offset);
void wmg_c400_w(u8 data);
void wmg_d000_w(u8 data);
- void wmg_blitter_w(offs_t, u8);
void wmg_port_select_w(int state);
void wmg_sound_reset_w(u8 data);
void wmg_vram_select_w(u8 data);
@@ -149,10 +148,10 @@ void wmg_state::wmg_cpu1(address_map &map)
m_io_view[0](0xc804, 0xc807).r(FUNC(wmg_state::wmg_pia_0_r)).w(m_pia[0], FUNC(pia6821_device::write));
m_io_view[0](0xc80c, 0xc80f).rw(m_pia[1], FUNC(pia6821_device::read), FUNC(pia6821_device::write));
m_io_view[0](0xc900, 0xc9ff).nopr().w(FUNC(wmg_state::wmg_vram_select_w));
- m_io_view[0](0xca00, 0xca07).w(FUNC(wmg_state::wmg_blitter_w));
+ m_io_view[0](0xca00, 0xca07).w(FUNC(wmg_state::blitter_w));
m_io_view[0](0xcb00, 0xcbff).r(FUNC(wmg_state::video_counter_r));
m_io_view[0](0xcbff, 0xcbff).w(FUNC(wmg_state::watchdog_reset_w));
- m_io_view[0](0xcc00, 0xcfff).rw(FUNC(wmg_state::wmg_nvram_r), FUNC(wmg_state::wmg_nvram_w));
+ m_io_view[0](0xcc00, 0xcfff).bankrw(m_nvrambank);
m_io_view[1](0xc000, 0xcfff).rom().region("maincpu", 0x58000); // Defender ROMs
m_io_view[2](0xc000, 0xcfff).rom().region("maincpu", 0x59000);
m_io_view[3](0xc000, 0xcfff).rom().region("maincpu", 0x5a000);
@@ -320,31 +319,6 @@ static INPUT_PORTS_START( wmg )
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
INPUT_PORTS_END
-/*************************************
- *
- * NVRAM (8k x 8), banked
- *
- *************************************/
-u8 wmg_state::wmg_nvram_r(offs_t offset)
-{
- return m_p_ram[offset+(m_wmg_c400<<10)];
-}
-
-void wmg_state::wmg_nvram_w(offs_t offset, u8 data)
-{
- m_p_ram[offset+(m_wmg_c400<<10)] = data;
-}
-
-/*************************************
- *
- * Blitter
- *
- *************************************/
-void wmg_state::wmg_blitter_w(offs_t offset, u8 data)
-{
- blitter_w(m_maincpu->space(AS_PROGRAM), offset, data);
-}
-
/*************************************
*
* Bankswitching
@@ -360,13 +334,14 @@ void wmg_state::wmg_c400_w(u8 data)
if (m_wmg_c400 == data)
return;
- if ((data == 0) || (m_wmg_c400 == 0)) // we must be going to/from the menu
+ if ((data == 0) || (m_wmg_c400 == 0)) // we must be going to/from the menu
{
m_wmg_c400 = data;
- wmg_d000_w(0); // select i/o
- m_mainbank->set_entry(data); // Gfx etc
+ wmg_d000_w(0); // select I/O
+ m_mainbank->set_entry(data); // Graphics, etc.
m_codebank->set_entry(data); // Code
- m_soundbank->set_entry(data); // Sound
+ m_nvrambank->set_entry(data); // NVRAM
+ m_soundbank->set_entry(data); // Sound
m_soundcpu->reset();
}
}
@@ -432,11 +407,12 @@ void wmg_state::machine_start()
{
williams_state::machine_start();
- uint8_t *cpu = memregion("maincpu")->base();
- uint8_t *snd = memregion("soundcpu")->base();
- m_mainbank->configure_entries(0, 8, &cpu[0x00000], 0x10000); // Gfx etc
- m_codebank->configure_entries(0, 8, &cpu[0x0d000], 0x10000); // Code
- m_soundbank->configure_entries(0, 8, &snd[0x00000], 0x1000); // Sound
+ uint8_t *const cpu = memregion("maincpu")->base();
+ uint8_t *const snd = memregion("soundcpu")->base();
+ m_mainbank->configure_entries(0, 8, &cpu[0x00000], 0x10000); // Graphics, etc.
+ m_codebank->configure_entries(0, 8, &cpu[0x0d000], 0x10000); // Code
+ m_nvrambank->configure_entries(0, 8, &m_nvram[0], 0x400); // NVRAM
+ m_soundbank->configure_entries(0, 8, &snd[0x00000], 0x1000); // Sound
save_item(NAME(m_wmg_c400));
save_item(NAME(m_wmg_d000));
@@ -518,6 +494,7 @@ void wmg_state::wmg(machine_config &config)
M6808(config, m_soundcpu, SOUND_CLOCK);
m_soundcpu->set_addrmap(AS_PROGRAM, &wmg_state::wmg_cpu2);
+ // 8k x 8, banked
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
// set a timer to go off every 32 scanlines, to toggle the VA11 line and update the screen
diff --git a/src/mame/misc/skimaxx.cpp b/src/mame/misc/skimaxx.cpp
index dbe49a945bdf3..4f907a1cdce54 100644
--- a/src/mame/misc/skimaxx.cpp
+++ b/src/mame/misc/skimaxx.cpp
@@ -59,7 +59,8 @@ class skimaxx_state : public driver_device
m_fpga_ctrl(*this, "fpga_ctrl"),
m_fg_buffer(*this, "fg_buffer"),
m_blitter_gfx(*this, "blitter"),
- m_bgrambank(*this, "bgrambank")
+ m_bgrambank(*this, "bgrambank"),
+ m_an_io(*this, {"X", "Y"})
{ }
void skimaxx(machine_config &config);
@@ -80,6 +81,7 @@ class skimaxx_state : public driver_device
required_region_ptr m_blitter_gfx;
required_memory_bank m_bgrambank;
+ required_ioport_array<2> m_an_io;
std::unique_ptr m_bg_buffer;
u32 *m_bg_buffer_front;
@@ -118,7 +120,7 @@ class skimaxx_state : public driver_device
// Set up blit parameters
void skimaxx_state::blitter_w(offs_t offset, u32 data, u32 mem_mask)
{
- u32 newdata = COMBINE_DATA( &m_blitter_regs[offset] );
+ u32 const newdata = COMBINE_DATA( &m_blitter_regs[offset] );
switch (offset)
{
@@ -149,22 +151,25 @@ void skimaxx_state::blitter_w(offs_t offset, u32 data, u32 mem_mask)
// A read by the 68030 from this area blits one pixel to the back buffer (at the same offset)
u32 skimaxx_state::blitter_r(offs_t offset, u32 mem_mask)
{
- u32 const penaddr = ((m_blitter_src_x >> 8) & 0x1ff) + ((m_blitter_src_y >> 8) << 9);
- const u16 *src = m_blitter_gfx + (penaddr % m_blitter_gfx.length());
- u32 *dst = m_bg_buffer_back + offset;
+ if (!machine().side_effects_disabled())
+ {
+ u32 const penaddr = ((m_blitter_src_x >> 8) & 0x1ff) + ((m_blitter_src_y >> 8) << 9);
+ const u16 *src = m_blitter_gfx + (penaddr % m_blitter_gfx.length());
+ u32 *dst = m_bg_buffer_back + offset;
- u16 const pen = (*src) & 0x7fff;
+ u16 const pen = (*src) & 0x7fff;
- if (pen)
- {
- if (ACCESSING_BITS_16_31)
- *dst = (*dst & 0x0000ffff) | (pen << 16);
- else
- *dst = (*dst & 0xffff0000) | pen;
- }
+ if (pen)
+ {
+ if (ACCESSING_BITS_16_31)
+ *dst = (*dst & 0x0000ffff) | (pen << 16);
+ else
+ *dst = (*dst & 0xffff0000) | pen;
+ }
- m_blitter_src_x = (m_blitter_src_x & 0x10000) | ((m_blitter_src_x + m_blitter_src_dx) & 0xffff);
- m_blitter_src_y = (m_blitter_src_y & 0xffff0000) | ((m_blitter_src_y + m_blitter_src_dy) & 0xffff);
+ m_blitter_src_x = (m_blitter_src_x & 0x10000) | ((m_blitter_src_x + m_blitter_src_dx) & 0xffff);
+ m_blitter_src_y = (m_blitter_src_y & 0xffff0000) | ((m_blitter_src_y + m_blitter_src_dy) & 0xffff);
+ }
return 0;
}
@@ -272,7 +277,7 @@ TMS340X0_SCANLINE_IND16_CB_MEMBER(skimaxx_state::scanline_update)
void skimaxx_state::fpga_ctrl_w(offs_t offset, u32 data, u32 mem_mask)
{
- u32 newdata = COMBINE_DATA( m_fpga_ctrl );
+ u32 const newdata = COMBINE_DATA( m_fpga_ctrl );
if (ACCESSING_BITS_0_7)
{
@@ -323,7 +328,7 @@ void skimaxx_state::sub_ctrl_w(offs_t offset, u32 data, u32 mem_mask)
*/
u32 skimaxx_state::analog_r(offs_t offset)
{
- return bitswap<8>(ioport(offset ? "Y" : "X")->read(), 0,1,2,3,4,5,6,7);
+ return bitswap<8>(m_an_io[offset]->read(), 0,1,2,3,4,5,6,7);
}
/*************************************
@@ -371,11 +376,11 @@ void skimaxx_state::m68030_2_map(address_map &map)
map(0x00000000, 0x003fffff).rom();
map(0x20000000, 0x2007ffff).r(FUNC(skimaxx_state::blitter_r)); // do blit
- map(0x30000000, 0x3000000f).w(FUNC(skimaxx_state::blitter_w)).share("blitter_regs");
+ map(0x30000000, 0x3000000f).w(FUNC(skimaxx_state::blitter_w)).share(m_blitter_regs);
- map(0x40000000, 0x40000003).w(FUNC(skimaxx_state::fpga_ctrl_w)).share("fpga_ctrl");
+ map(0x40000000, 0x40000003).w(FUNC(skimaxx_state::fpga_ctrl_w)).share(m_fpga_ctrl);
- map(0x50000000, 0x5007ffff).bankrw("bgrambank"); // background ram allocated here at video_start (skimaxx_bg_buffer_back/front)
+ map(0x50000000, 0x5007ffff).bankrw(m_bgrambank); // background ram allocated here at video_start (skimaxx_bg_buffer_back/front)
// map(0xfffc0000, 0xfffc7fff).ram().share("share1");
map(0xfffc0000, 0xfffcffff).ram().share("share1");
// map(0xfffe0000, 0xffffffff).ram(); // I think this is banked with the shared RAM? (see CPU sync routines)
@@ -395,7 +400,7 @@ void skimaxx_state::tms_program_map(address_map &map)
{
map(0x00000000, 0x0003ffff).ram();
map(0x00050000, 0x0005ffff).ram();
- map(0x00220000, 0x003fffff).ram().share("fg_buffer");
+ map(0x00220000, 0x003fffff).ram().share(m_fg_buffer);
map(0x02000000, 0x0200000f).ram();
map(0x02100000, 0x0210000f).ram();
map(0x04000000, 0x047fffff).rom().region("tmsgfx", 0);
@@ -530,7 +535,7 @@ void skimaxx_state::skimaxx(machine_config &config)
M68EC030(config, m_subcpu, XTAL(40'000'000));
m_subcpu->set_addrmap(AS_PROGRAM, &skimaxx_state::m68030_2_map);
- /* video hardware */
+ // video hardware
TMS34010(config, m_tms, XTAL(50'000'000));
m_tms->set_addrmap(AS_PROGRAM, &skimaxx_state::tms_program_map);
m_tms->set_halt_on_reset(false);
@@ -554,7 +559,7 @@ void skimaxx_state::skimaxx(machine_config &config)
PALETTE(config, "palette", palette_device::RGB_555);
- /* sound hardware */
+ // sound hardware
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
diff --git a/src/mame/misc/xtom3d.cpp b/src/mame/misc/xtom3d.cpp
index b2b50fc80ce2b..d8dc7aa8608c7 100644
--- a/src/mame/misc/xtom3d.cpp
+++ b/src/mame/misc/xtom3d.cpp
@@ -61,10 +61,68 @@ ROM BOARD
---------
MX29F1610MC 16M FlashROM (x7)
+
+---
+
+Pump It Up MK-III
+SPACE11_3 board (front plane PCB)
+-----------
+6 pin and 4 pin power connectors (+12V and +5V on both) on back side of PCB
+2x 4 pin power headers on front
+2 pin COMM header on back side
+3 pin PCM header on back side, connects to CN5 on SPACE12_1 board?
+2x HD34PIN header on back side, connects to CN2 and CN3 of SPACE12_1 board
+2x5 pin header on back side
+6 pin Video header (R, G, B, GND, HSYNC, VSYNC) from back side, connecting to VGA header on front side
+HS10PIN labeled 1P on front
+HS10PIN labeled LAMP on front
+HS10PIN labeled 2P on front
+3x HS3PIN on front
+TEST, SERV, CLR buttons on front
+4 pin header unlabeled on front
+CN5 JAMMA(?) connector
+
+
+
+SPACE12_1 board
+-----------
+A40MX04 QFP84 CPLD
+U6 CSI CAT93C46P 1KB eeproom
+U7 Unpopulated 8 pin socket
+U8 KS74HCTLS125N
+U5, U9, U10, U11, U12, U13, U14 HD74LS14P
+U15, U16, U17, U18 ULN2803A
+U19, U20, U21, U22 HD74LS245P
+U23, U26 L9940 LTV847CD
+U24, U25 L9944 LTV847
+U27 Sharp PC817
+U28 Yamaha YMZ280B-F
+U29 Yamaha YAC516
+U31, U32 HA17558
+U101 SN75176BP
+U100 Unpopulated socket
+U102 Unpopulated MAX232
+
+J1 connects to main PCB
+CN1 PCN96, connects to PIU10
+CN2 34 pin connector
+CN3 34 pin connector
+CN5 3 pin connector, audio?
+CN100 2 pin connector
+Unnamed 5 pin connector
+DB25PIN Unpopulated header near A40MX04
+HS3PIN Unpopulated header near A40MX04
+
+1.8432MHz XTAL near A40MX04
+169NDK19 XTAL (16.9344MHz) near Yamaha YMZ280B-F
+
**************************************************************************************************/
#include "emu.h"
+
+#include "xtom3d_piu10.h"
+
#include "cpu/i386/i386.h"
#include "machine/pci.h"
#include "machine/pci-ide.h"
@@ -382,6 +440,9 @@ INPUT_PORTS_END
static INPUT_PORTS_START( pumpitup )
PORT_INCLUDE( xtom3d )
+ PORT_MODIFY("SYSTEM")
+ PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME("Clear")
+
PORT_MODIFY("IN0")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("P1 Top-Left step") PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("P1 Top-Right step") PORT_PLAYER(1)
@@ -397,6 +458,9 @@ static INPUT_PORTS_START( pumpitup )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("P2 Bottom-Left step") PORT_PLAYER(2)
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_NAME("P2 Bottom-Right step") PORT_PLAYER(2)
PORT_BIT( 0x00e0, IP_ACTIVE_LOW, IPT_UNUSED )
+
+ PORT_MODIFY("IN2")
+ PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_COIN2 )
INPUT_PORTS_END
ioport_constructor isa16_xtom3d_io_sound::device_input_ports() const
@@ -423,6 +487,7 @@ void isa16_xtom3d_io_sound::io_map(address_map &map)
{
// $2a0-$2a3 sound
map(0x00, 0x03).rw("ymz", FUNC(ymz280b_device::read), FUNC(ymz280b_device::write)).umask16(0x00ff);
+ // map(0x04, 0x07).noprw(); // lights/outputs?
map(0x08, 0x09).lr8(
NAME([this] (offs_t offset) {
return offset & 1 ? m_system->read() : m_in0->read();
@@ -571,6 +636,7 @@ class xtom3d_state : public driver_device
// void vblank_assert(int state);
static void romdisk_config(device_t *device);
+ static void piu10_config(device_t *device);
// static void cdrom_config(device_t *device);
};
@@ -586,6 +652,7 @@ void xtom3d_isa_cards(device_slot_interface &device)
device.option_add_internal("oksan_lpc", ISA16_OKSAN_LPC);
device.option_add_internal("xtom3d_io_sound", ISA16_XTOM3D_IO_SOUND);
device.option_add_internal("pumpitup_io_sound", ISA16_PUMPITUP_IO_SOUND);
+ device.option_add_internal("pumpitup_piu10", ISA16_PIU10);
}
void xtom3d_state::romdisk_config(device_t *device)
@@ -594,6 +661,13 @@ void xtom3d_state::romdisk_config(device_t *device)
romdisk.set_rom_tag("game_rom");
}
+void xtom3d_state::piu10_config(device_t *device)
+{
+ isa16_piu10 &piu10 = *downcast(device);
+ piu10.add_route(0, ":lmicrophone", 0.25);
+ piu10.add_route(1, ":rmicrophone", 0.25);
+}
+
// TODO: unverified PCI config space
void xtom3d_state::xtom3d(machine_config &config)
{
@@ -671,7 +745,8 @@ void xtom3d_state::pumpitup(machine_config &config)
m_pci_ide->subdevice("ide1")->slot(0).set_default_option("cdrom");
m_pci_ide->subdevice("ide1")->slot(0).set_option_machine_config("cdrom", cdrom_config);
- ISA16_SLOT(config.replace(), "isa1", 0, "pci:07.0:isabus", xtom3d_isa_cards, "pumpitup_io_sound", true);
+ subdevice("board1")->set_default_option("pumpitup_piu10").set_option_machine_config("pumpitup_piu10", piu10_config);
+ subdevice("isa1")->set_default_option("pumpitup_io_sound");
}
ROM_START( xtom3d )
@@ -697,13 +772,16 @@ ROM_END
#define PUMPITUP_BIOS \
ROM_REGION32_LE(0x20000, "pci:07.0", 0) \
ROM_LOAD( "bios.u22", 0x000000, 0x020000, CRC(f7c58044) SHA1(fd967d009e0d3c8ed9dd7be852946f2b9dee7671) ) \
- ROM_REGION32_LE(0x1000000, "board1:game_rom", ROMREGION_ERASEFF ) \
+ ROM_REGION(0x200000, "board1:pumpitup_piu10:flash_u8", ROMREGION_ERASEFF ) \
ROM_LOAD( "piu10.u8", 0x000000, 0x200000, CRC(5911e31a) SHA1(295723b9b7da9e55b5dd5586b23b06355f4837ef) ) \
ROM_REGION(0x400000, "isa1:pumpitup_io_sound:ymz", ROMREGION_ERASEFF ) \
ROM_LOAD( "piu10.u9", 0x000000, 0x200000, CRC(9c436cfa) SHA1(480ea52e74721d1963ced41be5c482b7b913ccd2) )
ROM_START( pumpitup )
PUMPITUP_BIOS
+
+ ROM_REGION( 0x8, "board1:pumpitup_piu10:cat702", 0 )
+ ROM_LOAD_OPTIONAL( "cat702.bin", 0x000000, 0x000008, NO_DUMP ) // Dummy entry to make testing later games easier
ROM_END
ROM_START( pumpit1 )
diff --git a/src/mame/misc/xtom3d_piu10.cpp b/src/mame/misc/xtom3d_piu10.cpp
new file mode 100644
index 0000000000000..5d29e3b4fdf2b
--- /dev/null
+++ b/src/mame/misc/xtom3d_piu10.cpp
@@ -0,0 +1,203 @@
+// license:BSD-3-Clause
+// copyright-holders:windyfairy
+/*
+ ISA16 PIU10
+
+ PIU10 000614
+ -----------
+ HS3PIN labeled POWER
+ CD-IN 4 pin header but only 3 pins populated
+ (audio) OUT 4 pin header but only 3 pins populated, markings nearby show pinout of "OUTR GND OUTL GND"
+ 6 pin power headers in corner
+
+ U1, U2, U3 HD74LS138P
+ U4, U5, U14 HD74LS245P
+ U6 HD74LS139P
+ U7 PST518
+ U8, U9, U10 MX 29F1610MC-12 (U10 unpopulated) with optional "MONO" configuration beside it
+ U11 ATMEL ATF1500A I5JC 0015
+ U12 Micronas MAS3507D F10
+ U13 Micronas DAC3350A C2
+ U15 HD74LS273P
+ U16 HD74LS125AP
+ U18, U19 7809CT Linear Voltage Regulator
+ U20 UTC 78L05 WK
+ U21, U22 HA17358
+
+ CN1 PCN96, connects to SPACE12_1
+ CN3, CN4 Unpopulated 4 pin headers
+
+ 14.7456MHz XTAL near Micronas chips
+
+
+ CAT702 security data:
+ https://github.com/pumpitupdev/pumptools/blob/b809d8674925d3c6e6b25efa91dccc04a460a62f/src/main/sec/lockchip/lockchip-defs.h
+ */
+
+#include "emu.h"
+#include "xtom3d_piu10.h"
+
+
+DEFINE_DEVICE_TYPE(ISA16_PIU10, isa16_piu10, "isa16_piu10", "ISA16 PIU10 for MK-III")
+
+isa16_piu10::isa16_piu10(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, ISA16_PIU10, tag, owner, clock)
+ , device_isa16_card_interface(mconfig, *this)
+ , m_cat702(*this, "cat702")
+ , m_dac3350a(*this, "dac3350a")
+ , m_mas3507d(*this, "mas3507d")
+ , m_flash(*this, "flash_u8")
+{
+}
+
+void isa16_piu10::device_start()
+{
+ set_isa_device();
+
+ save_item(NAME(m_addr));
+ save_item(NAME(m_dest));
+ save_item(NAME(m_flash_unlock));
+ save_item(NAME(m_mp3_demand));
+ save_item(NAME(m_mp3_mpeg_frame_sync));
+ save_item(NAME(m_cat702_data));
+}
+
+void isa16_piu10::device_reset()
+{
+ m_addr = m_dest = 0;
+ m_flash_unlock = false;
+
+ m_mp3_demand = 1;
+ m_mp3_mpeg_frame_sync = 1;
+
+ m_cat702_data = 0;
+}
+
+void isa16_piu10::device_add_mconfig(machine_config &config)
+{
+ MACRONIX_29F1610MC_16BIT(config, m_flash);
+
+ CAT702_PIU(config, m_cat702, 0);
+ m_cat702->dataout_handler().set([this] (u16 data) { m_cat702_data = data & 1; });
+
+ DAC3350A(config, m_dac3350a);
+
+ MAS3507D(config, m_mas3507d);
+ m_mas3507d->mpeg_frame_sync_cb().set(*this, FUNC(isa16_piu10::mas3507d_mpeg_frame_sync));
+ m_mas3507d->demand_cb().set(*this, FUNC(isa16_piu10::mas3507d_demand));
+ m_mas3507d->add_route(0, m_dac3350a, 1.0, 0);
+ m_mas3507d->add_route(1, m_dac3350a, 1.0, 1);
+}
+
+void isa16_piu10::remap(int space_id, offs_t start, offs_t end)
+{
+ if (space_id == AS_IO)
+ {
+ m_isa->install16_device(0x02d0, 0x02df, read16sm_delegate(*this, FUNC(isa16_piu10::read)), write16sm_delegate(*this, FUNC(isa16_piu10::write)));
+ }
+}
+
+uint16_t isa16_piu10::read(offs_t offset)
+{
+ switch (offset)
+ {
+ case 0x5: // 2da
+ if (m_dest == 0x008)
+ {
+ uint16_t r = 0;
+
+ r |= (m_cat702_data & 1) << 5;
+
+ r |= m_mp3_mpeg_frame_sync << 2; // every 256th transition the game will set the internal playback position timestamp to counter*6.2687998 to sync with the MP3 decoder chip (counter*6.2687998/240 = (1152*counter)/44100)
+ r |= 1 << 1; // the MP3 data send function loops until this is 1 before sending MP3 data byte
+ r |= m_mp3_demand << 0; // if not set then MP3 data send function early returns
+
+ return r;
+ }
+ else if (m_dest == 0)
+ {
+ const uint32_t offs = m_addr;
+ if (!machine().side_effects_disabled() && m_flash_unlock)
+ m_addr++;
+ return m_flash->read(offs);
+ }
+ break;
+ }
+
+ if (!machine().side_effects_disabled())
+ logerror("%s: unknown read %d %03x %06x %02x\n", machine().describe_context(), m_flash_unlock, m_dest, m_addr, offset);
+
+ return 0;
+}
+
+void isa16_piu10::write(offs_t offset, uint16_t data)
+{
+ switch (offset)
+ {
+ // address port, bottom 16-bits are location and top 16-bits are target device
+ case 0x0: // 2d0
+ m_addr &= 0xfff00;
+ m_addr |= data & 0xff;
+ break;
+ case 0x1: // 2d2
+ m_addr &= 0xf00ff;
+ m_addr |= (data & 0xff) << 8;
+ break;
+
+ case 0x2: // 2d4
+ m_addr &= 0x0ffff;
+ m_addr |= (data & 0xf) << 16;
+
+ m_dest &= 0xff0;
+ m_dest |= (data >> 4) & 0xf;
+ break;
+ case 0x3: // 2d6
+ m_dest &= 0x00f;
+ m_dest |= (data & 0xff) << 4;
+ break;
+
+ // data port
+ case 0x5: // 2da
+ if (m_dest == 0x010)
+ {
+ m_cat702->write_datain(BIT(data, 5));
+ m_cat702->write_clock(BIT(data, 4));
+ m_cat702->write_select(BIT(data, 3));
+
+ m_dac3350a->i2c_sda_w(BIT(data, 1));
+ m_dac3350a->i2c_scl_w(BIT(data, 0));
+ }
+ else if (m_dest == 0x008)
+ {
+ m_mas3507d->sid_w(data);
+ }
+ else if (m_dest == 0 && m_flash_unlock)
+ {
+ m_flash->write(m_addr, data);
+ }
+ else
+ {
+ logerror("%s: unknown write %d %03x %06x %02x %02x\n", machine().describe_context(), m_flash_unlock, m_dest, m_addr, offset, data);
+ }
+ break;
+
+ // chip enable, 0 -> 1 transitions
+ case 0x6: // 2dc
+ m_flash_unlock = BIT(data, 3);
+ break;
+
+ default:
+ logerror("%s: unknown write %d %03x %06x %02x %02x\n", machine().describe_context(), m_flash_unlock, m_dest, m_addr, offset, data);
+ break;
+ }
+}
+
+void isa16_piu10::mas3507d_mpeg_frame_sync(int state)
+{
+ m_mp3_mpeg_frame_sync ^= state;
+}
+
+void isa16_piu10::mas3507d_demand(int state)
+{
+ m_mp3_demand = state;
+}
diff --git a/src/mame/misc/xtom3d_piu10.h b/src/mame/misc/xtom3d_piu10.h
new file mode 100644
index 0000000000000..af48283164249
--- /dev/null
+++ b/src/mame/misc/xtom3d_piu10.h
@@ -0,0 +1,53 @@
+// license:BSD-3-Clause
+// copyright-holders:windyfairy
+#ifndef MAME_MISC_XTOM3D_PIU10_H
+#define MAME_MISC_XTOM3D_PIU10_H
+
+#pragma once
+
+#include "bus/isa/isa.h"
+#include "machine/cat702.h"
+#include "machine/intelfsh.h"
+#include "sound/dac3350a.h"
+#include "sound/mas3507d.h"
+
+
+class isa16_piu10 : public device_t, public device_isa16_card_interface
+{
+public:
+ isa16_piu10(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+ template void add_route(T &&... args) { m_dac3350a.lookup()->add_route(std::forward(args)...); }
+
+protected:
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ virtual void device_add_mconfig(machine_config &config) override;
+
+private:
+ void remap(int space_id, offs_t start, offs_t end) override;
+
+ uint16_t read(offs_t offset);
+ void write(offs_t offset, uint16_t data);
+
+ void mas3507d_mpeg_frame_sync(int state);
+ void mas3507d_demand(int state);
+
+ required_device m_cat702;
+ required_device m_dac3350a;
+ required_device m_mas3507d;
+ required_device m_flash;
+
+ uint32_t m_addr;
+ uint16_t m_dest;
+ bool m_flash_unlock;
+
+ uint8_t m_mp3_mpeg_frame_sync, m_mp3_demand;
+
+ uint8_t m_cat702_data;
+};
+
+DECLARE_DEVICE_TYPE(ISA16_PIU10, isa16_piu10)
+
+#endif // MAME_MISC_XTOM3D_PIU10_H
diff --git a/src/mame/nichibutsu/wiping.cpp b/src/mame/nichibutsu/wiping.cpp
index 435b6d388a99a..ac9e643537400 100644
--- a/src/mame/nichibutsu/wiping.cpp
+++ b/src/mame/nichibutsu/wiping.cpp
@@ -77,7 +77,6 @@ class wiping_state : public driver_device
protected:
virtual void machine_start() override;
-private:
required_device m_maincpu;
required_device m_audiocpu;
required_device m_gfxdecode;
@@ -87,7 +86,7 @@ class wiping_state : public driver_device
required_shared_ptr m_colorram;
required_shared_ptr m_spriteram;
- required_ioport_array<8> m_io_port;
+ optional_ioport_array<8> m_io_port;
uint8_t m_flipscreen = 0;
uint8_t m_main_irq_mask = 0;
@@ -109,6 +108,17 @@ class wiping_state : public driver_device
void sound_map(address_map &map);
};
+class shettle_state : public wiping_state
+{
+public:
+ using wiping_state::wiping_state;
+
+ void shettle(machine_config &config);
+
+private:
+ void main_map(address_map &map);
+ void sound_map(address_map &map);
+};
/***************************************************************************
@@ -343,6 +353,33 @@ void wiping_state::sound_map(address_map &map)
map(0xa000, 0xa007).w("mainlatch", FUNC(ls259_device::write_d0));
}
+void shettle_state::main_map(address_map &map)
+{
+ map(0x0000, 0x7fff).rom(); // TODO: some reads after 0x5fff. Interactions with the Z4 chip?
+ map(0x8000, 0x83ff).ram().share(m_videoram);
+ map(0x8400, 0x87ff).ram().share(m_colorram);
+ map(0x8e00, 0x8fff).ram().share(m_spriteram); // TODO: is it really here?
+ map(0x9000, 0x93ff).ram();
+ map(0x9600, 0x97ff).ram().share("main_sound");
+ map(0xa000, 0xa007).w("mainlatch", FUNC(ls259_device::write_d0));
+ map(0xa100, 0xa100).portr("IN0"); // TODO: inputs seem to be read in some convoluted way, but apparently not exactly the same as Wiping
+ map(0xa101, 0xa101).portr("IN1");
+ map(0xa102, 0xa102).portr("IN2");
+ map(0xa103, 0xa103).portr("IN3");
+ map(0xa104, 0xa104).portr("IN4");
+ map(0xa105, 0xa105).portr("IN5");
+ map(0xa106, 0xa106).portr("IN6");
+ map(0xa107, 0xa107).portr("IN7");
+}
+
+void shettle_state::sound_map(address_map &map)
+{
+ map(0x0000, 0x1fff).rom();
+ map(0x4000, 0x7fff).w("wiping", FUNC(wiping_sound_device::sound_w));
+ map(0x9600, 0x97ff).ram().share("main_sound");
+ map(0xa000, 0xa007).w("mainlatch", FUNC(ls259_device::write_d0));
+}
+
static INPUT_PORTS_START( wiping )
PORT_START("P1") // 0
@@ -422,6 +459,52 @@ static INPUT_PORTS_START( rugrats )
PORT_DIPSETTING( 0x80, "150000 300000" )
INPUT_PORTS_END
+static INPUT_PORTS_START( shettle ) // TODO: will have to be redone once the correct way to read the inputs is found
+ PORT_START("IN0")
+ PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW1:1" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW1:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW1:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW1:4" ) // TODO: 0x00 1C_1C, 0x01 1C_2C
+ PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW1:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW1:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW1:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW1:8" )
+
+ PORT_START("IN1")
+ PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("IN2")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) // TODO: player 1 movement related, verify when sprites are drawn
+ PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("IN3")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) // TODO: player 1 movement related, verify when sprites are drawn
+ PORT_BIT( 0xfe, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("IN4")
+ PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW2:1" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW2:2" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SW2:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SW2:4" ) // TODO: 0x00 3 lives, 0x01 5 lives
+ PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SW2:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW2:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW2:7" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW2:8" )
+
+ PORT_START("IN5")
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START1 )
+ PORT_BIT( 0xfd, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("IN6")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_COCKTAIL // TODO: player 2 movement related, verify when sprites are drawn
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
+ PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+
+ PORT_START("IN7")
+ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_COCKTAIL // TODO: player 2 movement related, verify when sprites are drawn
+ PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_COIN1 )
+ PORT_BIT( 0xfc, IP_ACTIVE_HIGH, IPT_UNKNOWN )
+INPUT_PORTS_END
static const gfx_layout charlayout =
@@ -505,7 +588,20 @@ void wiping_state::wiping(machine_config &config)
WIPING_CUSTOM(config, "wiping", 96'000 / 2).add_route(ALL_OUTPUTS, "mono", 1.0); // 48000 Hz?
}
+void shettle_state::shettle(machine_config &config)
+{
+ wiping(config);
+
+ m_maincpu->set_addrmap(AS_PROGRAM, &shettle_state::main_map);
+ m_audiocpu->set_addrmap(AS_PROGRAM, &shettle_state::sound_map);
+
+ ls259_device &mainlatch(LS259(config.replace(), "mainlatch")); // TODO: verify this
+ mainlatch.q_out_cb<0>().set_inputline(m_audiocpu, INPUT_LINE_RESET).invert();
+ mainlatch.q_out_cb<1>().set(FUNC(shettle_state::main_irq_mask_w));
+ mainlatch.q_out_cb<3>().set(FUNC(shettle_state::sound_irq_mask_w));
+ mainlatch.q_out_cb<4>().set(FUNC(shettle_state::flipscreen_w));
+}
/***************************************************************************
@@ -571,8 +667,46 @@ ROM_START( rugrats )
ROM_LOAD( "e9.9e", 0x0100, 0x0100, CRC(4017a2a6) SHA1(dadef2de7a1119758c8e6d397aa42815b0218889) ) // high 4 bits
ROM_END
+// main PCB is marked: "PC-082A" on component side
+// sub PCB is marked: "MADE IN JAPAN", "SCO-102B(C)1983 GRC" on component side
+// main PCB is labeled: "NEW DIGIMATIC GARANZIA 6 MESI DATA OTTOBRE 1984" on component side
+// 2x D780C, 18.432 MHz XTAL, 2x 8 DIP switches banks
+// hardware seems to have similarities both with Wiping (video hardware) and the later Clash-Road / Fire Battle (inputs, sound hook-up)
+// has an unidentified "Z4" 24-pin chip, just like Fire Battle
+ROM_START( shettle )
+ ROM_REGION( 0x8000, "maincpu", 0 )
+ ROM_LOAD( "1.bin", 0x00000, 0x2000, CRC(e2b25df4) SHA1(781e09ca2ef03ded468b768261074f6e4a25720b) )
+ ROM_LOAD( "2.bin", 0x02000, 0x2000, CRC(a24bf4ad) SHA1(fbe00dfb6ce2306c59e459440f403c3c5f49bdd3) )
+ ROM_LOAD( "3.bin", 0x04000, 0x2000, CRC(b88e8213) SHA1(e3745ad1c25eaf8019dd9d46e3480f2ca8c5a7cf) )
+ ROM_FILL( 0x06000, 0x2000, 0x00 ) // Accessed, could this range map to the Z4 device ?!
+
+ ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_LOAD( "d.bin", 0x0000, 0x2000, CRC(1e2e7365) SHA1(ad6d0c94d5cb172d3a29523706ccd901a72e90be) )
+
+ ROM_REGION( 0x1000, "chars", 0 )
+ ROM_LOAD( "0.5d", 0x0000, 0x1000, CRC(fa6261da) SHA1(e7ab7eb2ab2ba2497d06606861a804d317d306ff) )
+
+ ROM_REGION( 0x2000, "sprites", 0 )
+ ROM_LOAD( "e.bin", 0x0000, 0x2000, CRC(a3cef381) SHA1(ed511f5b695f0abdbaea8414d9de260f696f5318) )
+
+ ROM_REGION( 0x0340, "proms", 0 )
+ ROM_LOAD( "prom-4.2f", 0x0000, 0x0020, CRC(befab139) SHA1(748c49437067d2d0a99b359bb5d53841a22b4760) ) // MMI 6331 - palette. Only 16 colors?
+ ROM_LOAD( "prom-6.4h", 0x0020, 0x0100, CRC(1abbc864) SHA1(a28d35cb2492f74f847858475aef669c38c3574a) ) // char lookup table? (near 0.5d ROM)
+ ROM_LOAD( "prom-5.3r", 0x0120, 0x0100, CRC(0f64edb9) SHA1(e1bc4acc0778ca13a3a2b8caa653bbf54a3507f9) ) // sprite lookup table? (next to e.4r ROM)
+ ROM_LOAD( "prom-7.7b", 0x0220, 0x0100, CRC(9e824f74) SHA1(03fcde2546b87286038ef93a6939c1c325f74998) ) // unknown (almost identical to clshroad.g10 in clshroad.cpp)
+ ROM_LOAD( "prom-1.bin", 0x0320, 0x0020, CRC(1afc04f0) SHA1(38207cf3e15bac7034ac06469b95708d22b57da4) ) // MMI 6331 - timing? (same as clashrd.g4 in clshroad.cpp)
+
+ ROM_REGION( 0x2000, "wiping:samples", 0 )
+ ROM_LOAD( "4.bin", 0x0000, 0x2000, CRC(c9da4245) SHA1(961c3b52b7608a35493d753a3b482713198fd2eb) )
+
+ ROM_REGION( 0x0200, "wiping:soundproms", 0 ) // 4bit->8bit sample expansion PROMs
+ ROM_LOAD( "prom-2.bin", 0x0000, 0x0100, CRC(bd2c080b) SHA1(9782bb5001e96db56bc29df398187f700bce4f8e) ) // low 4 bits, same as wiping, clshroad, firebatl
+ ROM_LOAD( "prom-3.bin", 0x0100, 0x0100, CRC(4017a2a6) SHA1(dadef2de7a1119758c8e6d397aa42815b0218889) ) // high 4 bits, same as wiping, clshroad, firebatl
+ROM_END
+
} // anonymous namespace
-GAME( 1982, wiping, 0, wiping, wiping, wiping_state, empty_init, ROT90, "Nichibutsu", "Wiping", MACHINE_SUPPORTS_SAVE )
-GAME( 1983, rugrats, wiping, wiping, rugrats, wiping_state, empty_init, ROT90, "Nichibutsu", "Rug Rats", MACHINE_SUPPORTS_SAVE )
+GAME( 1982, wiping, 0, wiping, wiping, wiping_state, empty_init, ROT90, "Nichibutsu", "Wiping", MACHINE_SUPPORTS_SAVE )
+GAME( 1983, rugrats, wiping, wiping, rugrats, wiping_state, empty_init, ROT90, "Nichibutsu", "Rug Rats", MACHINE_SUPPORTS_SAVE )
+GAME( 1984, shettle, 0, shettle, shettle, shettle_state, empty_init, ROT90, "New Digimatic", "Alone Shettle Crew", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/pinball/de_3.cpp b/src/mame/pinball/de_3.cpp
index 475ba9b7cc8b3..49bea758fb21b 100644
--- a/src/mame/pinball/de_3.cpp
+++ b/src/mame/pinball/de_3.cpp
@@ -264,7 +264,7 @@ void de_3_state::sound_w(uint8_t data)
// 6821 PIA at 0x2c00
void de_3_state::pia2c_pa_w(uint8_t data)
{
- /* DMD data */
+ // DMD data
if(m_dmdtype3)
{
m_dmdtype3->data_w(data);
@@ -299,7 +299,7 @@ uint8_t de_3_state::pia2c_pb_r()
void de_3_state::pia2c_pb_w(uint8_t data)
{
- /* DMD ctrl */
+ // DMD ctrl
if(m_dmdtype3)
{
m_dmdtype3->ctrl_w(data);
@@ -448,7 +448,8 @@ void de_3_state::sample_w(uint8_t data)
uint8_t de_3_state::sound_latch_r()
{
- m_audiocpu->set_input_line(M6809_FIRQ_LINE, CLEAR_LINE);
+ if (!machine().side_effects_disabled())
+ m_audiocpu->set_input_line(M6809_FIRQ_LINE, CLEAR_LINE);
return m_sound_data;
}
@@ -490,7 +491,7 @@ void de_3_state::machine_reset()
void de_3_state::de_bg_audio(machine_config &config)
{
- /* sound CPU */
+ // sound CPU
MC6809E(config, m_audiocpu, XTAL(8'000'000) / 4); // MC68B09E
m_audiocpu->set_addrmap(AS_PROGRAM, &de_3_state::audio_map);
@@ -508,7 +509,7 @@ void de_3_state::de_bg_audio(machine_config &config)
void de_3_state::de_3(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
decocpu_type3_device &decocpu(DECOCPU3(config, "decocpu", XTAL(8'000'000) / 2, "maincpu"));
decocpu.display_read_callback().set(FUNC(de_3_state::display_r));
decocpu.display_write_callback().set(FUNC(de_3_state::display_w));
@@ -525,27 +526,39 @@ void de_3_state::de_3(machine_config &config)
void de_3_state::de_3_dmd2(machine_config &config)
{
de_3(config);
- DECODMD2(config, m_dmdtype2, 0, "dmdcpu");
+ DECODMD2(config, m_dmdtype2, 0);
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
DECOBSMT(config, m_decobsmt, 0);
+ m_decobsmt->add_route(0, "lspeaker", 1.0);
+ m_decobsmt->add_route(1, "rspeaker", 1.0);
}
void de_3_state::de_3_dmd1(machine_config &config)
{
de_3(config);
- DECODMD1(config, m_dmdtype1, 0, "dmdcpu");
+ DECODMD1(config, m_dmdtype1, 0);
+
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
DECOBSMT(config, m_decobsmt, 0);
+ m_decobsmt->add_route(0, "lspeaker", 1.0);
+ m_decobsmt->add_route(1, "rspeaker", 1.0);
}
void de_3_state::de_3_dmdo(machine_config &config)
{
de_3(config);
- DECODMD1(config, m_dmdtype1, 0, "dmdcpu");
+ DECODMD1(config, m_dmdtype1, 0);
de_bg_audio(config);
}
void de_3_state::de_3b(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
decocpu_type3b_device &decocpu(DECOCPU3B(config, "decocpu", XTAL(8'000'000) / 2, "maincpu"));
decocpu.display_read_callback().set(FUNC(de_3_state::display_r));
decocpu.display_write_callback().set(FUNC(de_3_state::display_w));
@@ -558,15 +571,20 @@ void de_3_state::de_3b(machine_config &config)
genpin_audio(config);
- DECODMD3(config, m_dmdtype3, 0, "dmdcpu");
+ DECODMD3(config, m_dmdtype3, 0);
+
+ // sound hardware
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
- /* sound hardware */
DECOBSMT(config, m_decobsmt, 0);
+ m_decobsmt->add_route(0, "lspeaker", 1.0);
+ m_decobsmt->add_route(1, "rspeaker", 1.0);
}
void de_3_state::detest(machine_config &config)
{
- /* basic machine hardware */
+ // basic machine hardware
DECOCPU3B(config, "decocpu", XTAL(8'000'000) / 2, "maincpu");
genpin_audio(config);
@@ -579,11 +597,11 @@ void de_3_state::detest(machine_config &config)
ROM_START(rab_320)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("rabcpua.320", 0x0000, 0x10000, CRC(21a2d518) SHA1(42123dca519034ecb740e5cb493b1b0b6b44e3be))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("rbdspa.300", 0x00000, 0x80000, CRC(a5dc2f72) SHA1(60bbb4914ff56ad48c86c3550e094a3d9d70c700))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rab.u7", 0x0000, 0x10000, CRC(b232e630) SHA1(880fffc395d7c24bdea4e7e8000afba7ea71c094))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("rab.u17", 0x000000, 0x80000, CRC(7f2b53b8) SHA1(fd4f4ed1ed343069ffc534fe4b20026fe7403220))
ROM_LOAD("rab.u21", 0x080000, 0x40000, CRC(3de1b375) SHA1(a48bb80483ca03cd7c3bf0b5f2930a6ee9cc448d))
ROM_END
@@ -591,11 +609,11 @@ ROM_END
ROM_START(rab_130)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("rabcpua.130", 0x0000, 0x10000, CRC(f59b1a53) SHA1(046cd0eaee6e646286f3dfa73eeacfd93c2be273))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("rbdspa.130", 0x00000, 0x80000, CRC(b6e2176e) SHA1(9ccbb30dc0f386fcf5e5255c9f80c720e601565f))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rab.u7", 0x0000, 0x10000, CRC(b232e630) SHA1(880fffc395d7c24bdea4e7e8000afba7ea71c094))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("rab.u17", 0x000000, 0x80000, CRC(7f2b53b8) SHA1(fd4f4ed1ed343069ffc534fe4b20026fe7403220))
ROM_LOAD("rab.u21", 0x080000, 0x40000, CRC(3de1b375) SHA1(a48bb80483ca03cd7c3bf0b5f2930a6ee9cc448d))
ROM_END
@@ -603,11 +621,11 @@ ROM_END
ROM_START(rab_103s)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("rabcpu.103", 0x0000, 0x10000, CRC(d5fe3184) SHA1(dc1ca938f15240d1c15ee5724d29a3538418f8de))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("rabdspsp.103", 0x00000, 0x80000, CRC(02624948) SHA1(069ef69d6ce193d73954935b378230c05b83b8fc))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rab.u7", 0x0000, 0x10000, CRC(b232e630) SHA1(880fffc395d7c24bdea4e7e8000afba7ea71c094))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("rab.u17", 0x000000, 0x80000, CRC(7f2b53b8) SHA1(fd4f4ed1ed343069ffc534fe4b20026fe7403220))
ROM_LOAD("rab.u21", 0x080000, 0x40000, CRC(3de1b375) SHA1(a48bb80483ca03cd7c3bf0b5f2930a6ee9cc448d))
ROM_END
@@ -618,12 +636,12 @@ ROM_END
ROM_START(aar_101)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("as512cpu.bin", 0x0000, 0x10000, CRC(03c70e67) SHA1(3093e217943ae80c842a1d893cff5330ac90bc30))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("asdspu12.bin", 0x00000, 0x40000, CRC(5dd81be6) SHA1(20e5ec19550e3795670c5ee4e8e92fae0499fdb8))
ROM_LOAD("asdspu14.bin", 0x40000, 0x40000, CRC(3f2204ca) SHA1(69523d6c5555d391ab24912f4c4c78aa09a400c1))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("assndu7.bin", 0x0000, 0x10000, CRC(f0414a0d) SHA1(b1f940be05426a39f4e5ea0802fd03a7ce055ebc))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("assndu17.bin", 0x000000, 0x80000, CRC(e151b1fe) SHA1(d7d97499d93885a4f7ebd7bb302731bc5bc456ff))
ROM_LOAD("assndu21.bin", 0x080000, 0x80000, CRC(7d69e917) SHA1(73e21e65bc194c063933288cb617127b41593466))
ROM_END
@@ -635,11 +653,11 @@ ROM_START(btmn_106)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("b5_a106.128", 0x4000, 0x4000, CRC(5aa7fbe3) SHA1(587be4fd18ad730e675e720923e00d1775a4560e))
ROM_LOAD("c5_a106.256", 0x8000, 0x8000, CRC(79e86ccd) SHA1(430ac436bd1c8841950986af80747285a7d25942))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("batdsp.106", 0x00000, 0x20000, CRC(4c4120e7) SHA1(ba7d78c933f6709b3db4efcca5e7bb9099074550))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("batman.u7", 0x8000, 0x8000, CRC(b2e88bf5) SHA1(28f814ea73f8eefd1bb5499a599e67a6850c92c0))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("batman.u17", 0x000000, 0x40000, CRC(b84914dd) SHA1(333d88033428705cbd0a40d70d938c0021bb0015))
ROM_LOAD("batman.u21", 0x080000, 0x20000, CRC(42dab6ac) SHA1(facf993db2ce240c9e825ca9a21ac65a0fbba188))
ROM_END
@@ -648,11 +666,11 @@ ROM_START(btmn_103)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batcpub5.103", 0x4000, 0x4000, CRC(6f160581) SHA1(0f2d6c396324fbf116309a872cf95d9a05446cea))
ROM_LOAD("batcpuc5.103", 0x8000, 0x8000, CRC(8588c5a8) SHA1(41b159c9e4ca523b37f0b893e57f166c85e812e9))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("batdsp.102", 0x00000, 0x20000, CRC(4c4120e7) SHA1(ba7d78c933f6709b3db4efcca5e7bb9099074550))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("batman.u7", 0x8000, 0x8000, CRC(b2e88bf5) SHA1(28f814ea73f8eefd1bb5499a599e67a6850c92c0))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("batman.u17", 0x000000, 0x40000, CRC(b84914dd) SHA1(333d88033428705cbd0a40d70d938c0021bb0015))
ROM_LOAD("batman.u21", 0x080000, 0x20000, CRC(42dab6ac) SHA1(facf993db2ce240c9e825ca9a21ac65a0fbba188))
ROM_END
@@ -661,11 +679,11 @@ ROM_START(btmn_103f)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batcpub5.103", 0x4000, 0x4000, CRC(6f160581) SHA1(0f2d6c396324fbf116309a872cf95d9a05446cea))
ROM_LOAD("batccpuf.103", 0x8000, 0x8000, CRC(6f654fb4) SHA1(4901326f92aab1f5a2cdf9032511bef8b197f7e4))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("bat_dspf.103", 0x00000, 0x20000, CRC(747be2e6) SHA1(47ac64b91eabc24be57e376035ef8da95259587d))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("batman.u7", 0x8000, 0x8000, CRC(b2e88bf5) SHA1(28f814ea73f8eefd1bb5499a599e67a6850c92c0))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("batman.u17", 0x000000, 0x40000, CRC(b84914dd) SHA1(333d88033428705cbd0a40d70d938c0021bb0015))
ROM_LOAD("batman.u21", 0x080000, 0x20000, CRC(42dab6ac) SHA1(facf993db2ce240c9e825ca9a21ac65a0fbba188))
ROM_END
@@ -674,11 +692,11 @@ ROM_START(btmn_103g)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batbcpug.103", 0x4000, 0x4000, CRC(6f160581) SHA1(0f2d6c396324fbf116309a872cf95d9a05446cea))
ROM_LOAD("batccpug.103", 0x8000, 0x8000, CRC(a199ab0f) SHA1(729dab10fee708a18b7be5a2b9b904aa211b233a))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("bat_dspg.104", 0x00000, 0x20000, CRC(1581819f) SHA1(88facfad2e74dd44b71fd19df685a4c2378d26de))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("batman.u7", 0x8000, 0x8000, CRC(b2e88bf5) SHA1(28f814ea73f8eefd1bb5499a599e67a6850c92c0))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("batman.u17", 0x000000, 0x40000, CRC(b84914dd) SHA1(333d88033428705cbd0a40d70d938c0021bb0015))
ROM_LOAD("batman.u21", 0x080000, 0x20000, CRC(42dab6ac) SHA1(facf993db2ce240c9e825ca9a21ac65a0fbba188))
ROM_END
@@ -687,11 +705,11 @@ ROM_START(btmn_101)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batcpub5.101", 0x0000, 0x8000, CRC(a7f5754e) SHA1(2c24cab4cc5f1e05539d2843a49b4b1a8d507630))
ROM_LOAD("batcpuc5.101", 0x8000, 0x8000, CRC(1fcb85ca) SHA1(daf1e1297975b9b577c796d50b973885f925508e))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("batdsp.102", 0x00000, 0x20000, CRC(4c4120e7) SHA1(ba7d78c933f6709b3db4efcca5e7bb9099074550))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("batman.u7", 0x8000, 0x8000, CRC(b2e88bf5) SHA1(28f814ea73f8eefd1bb5499a599e67a6850c92c0))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("batman.u17", 0x000000, 0x40000, CRC(b84914dd) SHA1(333d88033428705cbd0a40d70d938c0021bb0015))
ROM_LOAD("batman.u21", 0x080000, 0x20000, CRC(42dab6ac) SHA1(facf993db2ce240c9e825ca9a21ac65a0fbba188))
ROM_END
@@ -703,7 +721,7 @@ ROM_START(ckpt_a17)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("chkpntb5.107", 0x4000, 0x4000, CRC(9fbae8e3) SHA1(a25b9dcba2a3f84394972bf36930c0f0344eccbd))
ROM_LOAD("chkpntc5.107", 0x8000, 0x8000, CRC(082dc283) SHA1(cc3038e0999d2c403fe1863e649b8029376b0387))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("chkpntds.512", 0x00000, 0x10000, CRC(14d9c6d6) SHA1(5470a4ebe7bc4a056f75aa1fffe3a4e3e24457c6))
ROM_RELOAD(0x10000, 0x10000)
ROM_REGION(0x10000, "audiocpu", 0)
@@ -719,11 +737,11 @@ ROM_END
ROM_START(gnr_300)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("gnrcpua.300", 0x0000, 0x10000, CRC(faf0cc8c) SHA1(0e889ad6eed832d4ccdc6e379f9e4e58ae0e0b83))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("gnrdispa.300", 0x00000, 0x80000, CRC(4abf29e3) SHA1(595328e0f92a6e1972d71c56505a5dd07a373ef5))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("gnru7.snd", 0x0000, 0x10000, CRC(3b9de915) SHA1(a901a1f37bf5433c819393c4355f9d13164b32ce))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("gnru17.snd", 0x000000, 0x80000, CRC(3d3219d6) SHA1(ac4a6d3eff0cdd02b8c79dddcb8fec2e22faa9b9))
ROM_LOAD("gnru21.snd", 0x080000, 0x80000, CRC(d2ca17ab) SHA1(db7c4f74a2e2c099fe14f38de922fdc851bd4a6b))
ROM_LOAD("gnru36.snd", 0x100000, 0x80000, CRC(5b32396e) SHA1(66462a6a929c869d668968e057fac199d05df267))
@@ -733,11 +751,11 @@ ROM_END
ROM_START(gnr_300f)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("gnrcpuf.300", 0x0000, 0x10000, CRC(7f9006b2) SHA1(429d90fa27ea39176b94d1293a313ec3d1033dbc))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("gnrdispf.300", 0x00000, 0x80000, CRC(63e9761a) SHA1(05e5a61b66148da7728779d8e5fa14a489e09441))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("gnru7.snd", 0x0000, 0x10000, CRC(3b9de915) SHA1(a901a1f37bf5433c819393c4355f9d13164b32ce))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("gnru17.snd", 0x000000, 0x80000, CRC(3d3219d6) SHA1(ac4a6d3eff0cdd02b8c79dddcb8fec2e22faa9b9))
ROM_LOAD("gnru21.snd", 0x080000, 0x80000, CRC(d2ca17ab) SHA1(db7c4f74a2e2c099fe14f38de922fdc851bd4a6b))
ROM_LOAD("gnru36.snd", 0x100000, 0x80000, CRC(5b32396e) SHA1(66462a6a929c869d668968e057fac199d05df267))
@@ -747,11 +765,11 @@ ROM_END
ROM_START(gnr_300d)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("gnrcpud.300", 0x0000, 0x10000, CRC(ae35f830) SHA1(adf853f50ed01c3261d7ce4064c45f834934b5e2))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("gnrdispd.300", 0x00000, 0x80000, CRC(4abf29e3) SHA1(595328e0f92a6e1972d71c56505a5dd07a373ef5))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("gnru7.snd", 0x0000, 0x10000, CRC(3b9de915) SHA1(a901a1f37bf5433c819393c4355f9d13164b32ce))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("gnru17.snd", 0x000000, 0x80000, CRC(3d3219d6) SHA1(ac4a6d3eff0cdd02b8c79dddcb8fec2e22faa9b9))
ROM_LOAD("gnru21.snd", 0x080000, 0x80000, CRC(d2ca17ab) SHA1(db7c4f74a2e2c099fe14f38de922fdc851bd4a6b))
ROM_LOAD("gnru36.snd", 0x100000, 0x80000, CRC(5b32396e) SHA1(66462a6a929c869d668968e057fac199d05df267))
@@ -761,11 +779,11 @@ ROM_END
ROM_START(gnr_200)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("gnrcpua.200", 0x0000, 0x10000, CRC(365ddd22) SHA1(e316ddca4b68145e6f4efc2cd1d3f6d13fefad1d))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("gnrdispa.300", 0x00000, 0x80000, CRC(4abf29e3) SHA1(595328e0f92a6e1972d71c56505a5dd07a373ef5))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("gnru7.snd", 0x0000, 0x10000, CRC(3b9de915) SHA1(a901a1f37bf5433c819393c4355f9d13164b32ce))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("gnru17.snd", 0x000000, 0x80000, CRC(3d3219d6) SHA1(ac4a6d3eff0cdd02b8c79dddcb8fec2e22faa9b9))
ROM_LOAD("gnru21.snd", 0x080000, 0x80000, CRC(d2ca17ab) SHA1(db7c4f74a2e2c099fe14f38de922fdc851bd4a6b))
ROM_LOAD("gnru36.snd", 0x100000, 0x80000, CRC(5b32396e) SHA1(66462a6a929c869d668968e057fac199d05df267))
@@ -778,11 +796,11 @@ ROM_END
ROM_START(hook_408)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("hokcpua.408", 0x0000, 0x10000, CRC(46477fc7) SHA1(ce6228fd9ab4b6c774e128d291f50695746da358))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("hokdspa.401", 0x00000, 0x20000, CRC(59a07eb5) SHA1(d1ca41ce417f1772fe4da1eb37077f924b66ad36))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("hooksnd.u7", 0x8000, 0x8000, CRC(642f45b3) SHA1(a4b2084f32e52a596547384906281d04424332fc))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("hook-voi.u17", 0x000000, 0x40000, CRC(6ea9fcd2) SHA1(bffc66df542e06dedddaa403b5513446d9d6fc8c))
ROM_LOAD("hook-voi.u21", 0x040000, 0x40000, CRC(b5c275e2) SHA1(ff51c2007132a1310ac53b5ab2a4af7d0ab15948))
ROM_END
@@ -790,11 +808,11 @@ ROM_END
ROM_START(hook_404)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("hokcpua.404", 0x0000, 0x10000, CRC(53357d8b) SHA1(4e8f5f4376418fbac782065c602da82acab06ef3))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("hokdspa.401", 0x00000, 0x20000, CRC(59a07eb5) SHA1(d1ca41ce417f1772fe4da1eb37077f924b66ad36))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("hooksnd.u7", 0x8000, 0x8000, CRC(642f45b3) SHA1(a4b2084f32e52a596547384906281d04424332fc))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("hook-voi.u17", 0x000000, 0x40000, CRC(6ea9fcd2) SHA1(bffc66df542e06dedddaa403b5513446d9d6fc8c))
ROM_LOAD("hook-voi.u21", 0x040000, 0x40000, CRC(b5c275e2) SHA1(ff51c2007132a1310ac53b5ab2a4af7d0ab15948))
ROM_END
@@ -802,11 +820,11 @@ ROM_END
ROM_START(hook_401)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("hokcpua.401", 0x0000, 0x10000, CRC(20223298) SHA1(a8063765db947b059eadaad6654ed0c5cad9198d))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("hokdspa.401", 0x00000, 0x20000, CRC(59a07eb5) SHA1(d1ca41ce417f1772fe4da1eb37077f924b66ad36))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("hooksnd.u7", 0x8000, 0x8000, CRC(642f45b3) SHA1(a4b2084f32e52a596547384906281d04424332fc))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("hook-voi.u17", 0x000000, 0x40000, CRC(6ea9fcd2) SHA1(bffc66df542e06dedddaa403b5513446d9d6fc8c))
ROM_LOAD("hook-voi.u21", 0x040000, 0x40000, CRC(b5c275e2) SHA1(ff51c2007132a1310ac53b5ab2a4af7d0ab15948))
ROM_END
@@ -814,11 +832,11 @@ ROM_END
ROM_START(hook_f401)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("hokcpua.401", 0x0000, 0x10000, CRC(20223298) SHA1(a8063765db947b059eadaad6654ed0c5cad9198d)) // unknown if there is a special french CPU 4.01, as the dump only included the display ROM
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("hook_display_f401.bin", 0x00000, 0x20000, CRC(b501edbd) SHA1(df369f569243d633aa24edd4289ace645e4a9358))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("hooksnd.u7", 0x8000, 0x8000, CRC(642f45b3) SHA1(a4b2084f32e52a596547384906281d04424332fc))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("hook-voi.u17", 0x000000, 0x40000, CRC(6ea9fcd2) SHA1(bffc66df542e06dedddaa403b5513446d9d6fc8c))
ROM_LOAD("hook-voi.u21", 0x040000, 0x40000, CRC(b5c275e2) SHA1(ff51c2007132a1310ac53b5ab2a4af7d0ab15948))
ROM_END
@@ -826,11 +844,11 @@ ROM_END
ROM_START(hook_401_p)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("hokcpua.401", 0x0000, 0x10000, CRC(20223298) SHA1(a8063765db947b059eadaad6654ed0c5cad9198d))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("hokdspa.401", 0x00000, 0x20000, CRC(59a07eb5) SHA1(d1ca41ce417f1772fe4da1eb37077f924b66ad36))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("hooksnd_p.u7", 0x8000, 0x8000, CRC(20091293) SHA1(fdfc4eadef0bf1915c7c72c1fd8dafaa429b3c44))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("hook-voi_p.u17", 0x000000, 0x40000, CRC(667cf0fb) SHA1(dd12a7fa280384381ebc5c3d8add652eddb294fb))
ROM_LOAD("hook-voi_p.u21", 0x040000, 0x40000, CRC(04775416) SHA1(5675aea39b76178ff476b0f627223a1c75a3d6b7))
ROM_END
@@ -838,11 +856,11 @@ ROM_END
ROM_START(hook_400)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("hokcpua.401", 0x0000, 0x10000, CRC(20223298) SHA1(a8063765db947b059eadaad6654ed0c5cad9198d))// no CPU-Version < 4.01 yet
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("hook_dspl_4.00.bin", 0x00000, 0x20000, CRC(14d2387c) SHA1(b3e78ffa7e9bdd4bc7fe08e3a0a8631178a5fc09))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("hooksnd.u7", 0x8000, 0x8000, CRC(642f45b3) SHA1(a4b2084f32e52a596547384906281d04424332fc))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("hook-voi.u17", 0x000000, 0x40000, CRC(6ea9fcd2) SHA1(bffc66df542e06dedddaa403b5513446d9d6fc8c))
ROM_LOAD("hook-voi.u21", 0x040000, 0x40000, CRC(b5c275e2) SHA1(ff51c2007132a1310ac53b5ab2a4af7d0ab15948))
ROM_END
@@ -850,11 +868,11 @@ ROM_END
ROM_START(hook_e406)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("hokcpue.406", 0x0000, 0x10000, CRC(0e2893e2) SHA1(fb13f34a45ec75d9cc1439c90b10c0b1ad38d1f6))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("hokdspa.401", 0x00000, 0x20000, CRC(59a07eb5) SHA1(d1ca41ce417f1772fe4da1eb37077f924b66ad36))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("hooksnd.u7", 0x8000, 0x8000, CRC(642f45b3) SHA1(a4b2084f32e52a596547384906281d04424332fc))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("hook-voi.u17", 0x000000, 0x40000, CRC(6ea9fcd2) SHA1(bffc66df542e06dedddaa403b5513446d9d6fc8c))
ROM_LOAD("hook-voi.u21", 0x040000, 0x40000, CRC(b5c275e2) SHA1(ff51c2007132a1310ac53b5ab2a4af7d0ab15948))
ROM_END
@@ -865,11 +883,11 @@ ROM_END
ROM_START(jupk_513)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("jpcpua.513", 0x0000, 0x10000, CRC(9f70a937) SHA1(cdea6c6e852982eb5e800db138f7660d51b6fdc8))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("jpdspa.510", 0x00000, 0x80000, CRC(9ca61e3c) SHA1(38ae472f38e6fc33671e9a276313208e5ccd8640))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("jpu7.dat", 0x0000, 0x10000, CRC(f3afcf13) SHA1(64e12f9d42c00ae08a4584b2ebea475566b90c13))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("jpu17.dat", 0x000000, 0x80000, CRC(38135a23) SHA1(7c284c17783269824a3d3e83c4cd8ead27133309))
ROM_LOAD("jpu21.dat", 0x080000, 0x40000, CRC(6ac1554c) SHA1(9a91ce836c089f96ad9c809bb66fcddda1f3e456))
ROM_END
@@ -877,11 +895,11 @@ ROM_END
ROM_START(jupk_501)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("jpcpua.501", 0x0000, 0x10000, CRC(d25f09c4) SHA1(a12ace496352002685b0415515f5f5ce4fc95bdb))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("jpdspa.501", 0x00000, 0x80000, CRC(04a87d42) SHA1(e13df9a63ec77ec6f97b681ed99216ef3f3af691))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("jpu7.dat", 0x0000, 0x10000, CRC(f3afcf13) SHA1(64e12f9d42c00ae08a4584b2ebea475566b90c13))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("jpu17.dat", 0x000000, 0x80000, CRC(38135a23) SHA1(7c284c17783269824a3d3e83c4cd8ead27133309))
ROM_LOAD("jpu21.dat", 0x080000, 0x40000, CRC(6ac1554c) SHA1(9a91ce836c089f96ad9c809bb66fcddda1f3e456))
ROM_END
@@ -889,11 +907,11 @@ ROM_END
ROM_START(jupk_501g)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("jpcpua.501", 0x0000, 0x10000, CRC(d25f09c4) SHA1(a12ace496352002685b0415515f5f5ce4fc95bdb))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("jpdspg.501", 0x00000, 0x80000, CRC(3b524bfe) SHA1(ea6ae6f8fc8379f311fd7ef456f0d6711c4e35c5))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("jpu7.dat", 0x0000, 0x10000, CRC(f3afcf13) SHA1(64e12f9d42c00ae08a4584b2ebea475566b90c13))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("jpu17.dat", 0x000000, 0x80000, CRC(38135a23) SHA1(7c284c17783269824a3d3e83c4cd8ead27133309))
ROM_LOAD("jpu21.dat", 0x080000, 0x40000, CRC(6ac1554c) SHA1(9a91ce836c089f96ad9c809bb66fcddda1f3e456))
ROM_END
@@ -901,11 +919,11 @@ ROM_END
ROM_START(jupk_307)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("jpcpua.307", 0x0000, 0x10000, CRC(b60c3bca) SHA1(0f5619319d2affefa993f396f7a4b1875eea81ab))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("jpdspa.400", 0x00000, 0x80000, CRC(4c044f05) SHA1(573a188a255ad3b6aa18427fd6b45aeca6f83e04))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("jpu7.dat", 0x0000, 0x10000, CRC(f3afcf13) SHA1(64e12f9d42c00ae08a4584b2ebea475566b90c13))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("jpu17.dat", 0x000000, 0x80000, CRC(38135a23) SHA1(7c284c17783269824a3d3e83c4cd8ead27133309))
ROM_LOAD("jpu21.dat", 0x080000, 0x40000, CRC(6ac1554c) SHA1(9a91ce836c089f96ad9c809bb66fcddda1f3e456))
ROM_END
@@ -913,11 +931,11 @@ ROM_END
ROM_START(jupk_305)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("jpcpua3.05.bin", 0x0000, 0x10000, CRC(0a9bd439) SHA1(486df3e268c81518ff4d0638517e93b57a8d9d2e))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("jpdspa.400", 0x00000, 0x80000, CRC(4c044f05) SHA1(573a188a255ad3b6aa18427fd6b45aeca6f83e04)) // Not dumped on this set, using 4.00 from the 3.07 revision
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("jpu7.dat", 0x0000, 0x10000, CRC(f3afcf13) SHA1(64e12f9d42c00ae08a4584b2ebea475566b90c13))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("jpu17.dat", 0x000000, 0x80000, CRC(38135a23) SHA1(7c284c17783269824a3d3e83c4cd8ead27133309))
ROM_LOAD("jpu21.dat", 0x080000, 0x40000, CRC(6ac1554c) SHA1(9a91ce836c089f96ad9c809bb66fcddda1f3e456))
ROM_END
@@ -928,11 +946,11 @@ ROM_END
ROM_START(lah_112)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lahcpua.112", 0x0000, 0x10000, CRC(e7422236) SHA1(c0422fa6d29fe615cb718056bea00eb9a80ce803))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lahdispa.106", 0x00000, 0x80000, CRC(ca6cfec5) SHA1(5e2081387d76bed17c14120cd347d6aaf435276b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lahsnd.u7", 0x0000, 0x10000, CRC(0279c45b) SHA1(14daf6b711d1936352209e90240f51812ebe76e0))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lahsnd.u17", 0x000000, 0x80000, CRC(d0c15fa6) SHA1(5dcd13b578fa53c82353cda5aa774ca216c5ddfe))
ROM_LOAD("lahsnd.u21", 0x080000, 0x40000, CRC(4571dc2e) SHA1(a1068cb080c30dbc07d164eddfc5dfd0afd52d3b))
ROM_END
@@ -940,11 +958,11 @@ ROM_END
ROM_START(lah_110)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lahcpua.110", 0x0000, 0x10000, CRC(d1861dc2) SHA1(288bd06b6ae346d1f6a17a642d5533f1a9a3bf5e))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lahdispa.106", 0x00000, 0x80000, CRC(ca6cfec5) SHA1(5e2081387d76bed17c14120cd347d6aaf435276b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lahsnd.u7", 0x0000, 0x10000, CRC(0279c45b) SHA1(14daf6b711d1936352209e90240f51812ebe76e0))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lahsnd.u17", 0x000000, 0x80000, CRC(d0c15fa6) SHA1(5dcd13b578fa53c82353cda5aa774ca216c5ddfe))
ROM_LOAD("lahsnd.u21", 0x080000, 0x40000, CRC(4571dc2e) SHA1(a1068cb080c30dbc07d164eddfc5dfd0afd52d3b))
ROM_END
@@ -953,11 +971,11 @@ ROM_END
ROM_START(lah_xxx_s105)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lahcpux.xxx", 0x0000, 0x10000, NO_DUMP)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lahdispl.105", 0x00000, 0x80000, CRC(eb861132) SHA1(46786c55256bd6da491bacbf53c4fac444d9d3d4))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lahsnd.u7", 0x0000, 0x10000, BAD_DUMP CRC(0279c45b) SHA1(14daf6b711d1936352209e90240f51812ebe76e0)) // Not dumped on this set
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lahsnd.u17", 0x000000, 0x80000, BAD_DUMP CRC(d0c15fa6) SHA1(5dcd13b578fa53c82353cda5aa774ca216c5ddfe)) // Not dumped on this set
ROM_LOAD("lahsnd.u21", 0x080000, 0x40000, BAD_DUMP CRC(4571dc2e) SHA1(a1068cb080c30dbc07d164eddfc5dfd0afd52d3b)) // Not dumped on this set
ROM_END
@@ -965,11 +983,11 @@ ROM_END
ROM_START(lah_108s)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lahcpua.108", 0x0000, 0x10000, CRC(8942794b) SHA1(f023ca040d6d4c6da80b58a162f1d217e571ed81))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lahdispl.104", 0x00000, 0x80000, CRC(6b1e51a7) SHA1(ad17507b63f2da8aa0651401ccb8d449c15aa46c))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lahsnd.u7", 0x0000, 0x10000, CRC(0279c45b) SHA1(14daf6b711d1936352209e90240f51812ebe76e0))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lahsnd.u17", 0x000000, 0x80000, CRC(d0c15fa6) SHA1(5dcd13b578fa53c82353cda5aa774ca216c5ddfe))
ROM_LOAD("lahsnd.u21", 0x080000, 0x40000, CRC(4571dc2e) SHA1(a1068cb080c30dbc07d164eddfc5dfd0afd52d3b))
ROM_END
@@ -977,11 +995,11 @@ ROM_END
ROM_START(lah_107)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lah_c5_a107.rom", 0x0000, 0x10000, CRC(f777fc1b) SHA1(a1a645df907e1e88123113823d3edf12c4e1e5df))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lahdispa.106", 0x00000, 0x80000, CRC(ca6cfec5) SHA1(5e2081387d76bed17c14120cd347d6aaf435276b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lahsnd.u7", 0x0000, 0x10000, CRC(0279c45b) SHA1(14daf6b711d1936352209e90240f51812ebe76e0))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lahsnd.u17", 0x000000, 0x80000, CRC(d0c15fa6) SHA1(5dcd13b578fa53c82353cda5aa774ca216c5ddfe))
ROM_LOAD("lahsnd.u21", 0x080000, 0x40000, CRC(4571dc2e) SHA1(a1068cb080c30dbc07d164eddfc5dfd0afd52d3b))
ROM_END
@@ -989,11 +1007,11 @@ ROM_END
ROM_START(lah_106c)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lahcpuc.106", 0x0000, 0x10000, CRC(d4be4178) SHA1(ea2d9c780f6636a8768164d3a1bb33b050c3a2a7))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lahdispa.104", 0x00000, 0x80000, CRC(baf4e7b3) SHA1(78924d992c0e206bfbf4a6fcc62ea7f91e995260))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lahsnd.u7", 0x0000, 0x10000, CRC(0279c45b) SHA1(14daf6b711d1936352209e90240f51812ebe76e0))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lahsnd.u17", 0x000000, 0x80000, CRC(d0c15fa6) SHA1(5dcd13b578fa53c82353cda5aa774ca216c5ddfe))
ROM_LOAD("lahsnd.u21", 0x080000, 0x40000, CRC(4571dc2e) SHA1(a1068cb080c30dbc07d164eddfc5dfd0afd52d3b))
ROM_END
@@ -1001,11 +1019,11 @@ ROM_END
ROM_START(lah_104f)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lahcpua.104", 0x0000, 0x10000, CRC(49b9e5e9) SHA1(cf6198e4c93ce839dc6e5231090d4ca56e9bdea2))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lahdispf.101", 0x00000, 0x80000, CRC(826a0a8b) SHA1(daad062edd8b6f468991d941e40d86711f8505df))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lahsnd.u7", 0x0000, 0x10000, CRC(0279c45b) SHA1(14daf6b711d1936352209e90240f51812ebe76e0))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lahsnd.u17", 0x000000, 0x80000, CRC(d0c15fa6) SHA1(5dcd13b578fa53c82353cda5aa774ca216c5ddfe))
ROM_LOAD("lahsnd.u21", 0x080000, 0x40000, CRC(4571dc2e) SHA1(a1068cb080c30dbc07d164eddfc5dfd0afd52d3b))
ROM_END
@@ -1013,11 +1031,11 @@ ROM_END
ROM_START(lah_104s)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lahcpua.104", 0x0000, 0x10000, CRC(49b9e5e9) SHA1(cf6198e4c93ce839dc6e5231090d4ca56e9bdea2))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lahdispl.102", 0x00000, 0x80000, CRC(3482c349) SHA1(8f03ba28132ea5159d3193b3adb7b4a6a43046c6))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lahsnd.u7", 0x0000, 0x10000, CRC(0279c45b) SHA1(14daf6b711d1936352209e90240f51812ebe76e0))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lahsnd.u17", 0x000000, 0x80000, CRC(d0c15fa6) SHA1(5dcd13b578fa53c82353cda5aa774ca216c5ddfe))
ROM_LOAD("lahsnd.u21", 0x080000, 0x40000, CRC(4571dc2e) SHA1(a1068cb080c30dbc07d164eddfc5dfd0afd52d3b))
ROM_END
@@ -1028,12 +1046,12 @@ ROM_END
ROM_START(lw3_208)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lw3cpuu.208", 0x0000, 0x10000, CRC(a3041f8a) SHA1(3c5b8525b8e9b924590648429c56aaf97adee460))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lw3drom1.a26", 0x00000, 0x40000, CRC(44a4cf81) SHA1(c7f3e3d5fbe930650e48423c8ba0ac484ce0640c))
ROM_LOAD("lw3drom0.a26", 0x40000, 0x40000, CRC(22932ed5) SHA1(395aa376cd8562de7956a6e34b8747e7cf81f935))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lw3u7.dat", 0x8000, 0x8000, CRC(ba845ac3) SHA1(bb50413ace1885870cb3817edae478904b0eefb8))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lw3u17.dat", 0x000000, 0x40000, CRC(e34cf2fc) SHA1(417c83ded6637f891c8bb42b32d6898c90a0e5cf))
ROM_LOAD("lw3u21.dat", 0x040000, 0x40000, CRC(82bed051) SHA1(49ddc4190762d9b473fda270e0d6d88a4422d5d7))
ROM_END
@@ -1041,12 +1059,12 @@ ROM_END
ROM_START(lw3_207)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lw3ugc5.207", 0x0000, 0x10000, CRC(edca3e08) SHA1(6c9714a2021acc8c0965f96a1af8b33c87a1708d))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lw3drom1.a26", 0x00000, 0x40000, CRC(44a4cf81) SHA1(c7f3e3d5fbe930650e48423c8ba0ac484ce0640c))
ROM_LOAD("lw3drom0.a26", 0x40000, 0x40000, CRC(22932ed5) SHA1(395aa376cd8562de7956a6e34b8747e7cf81f935))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lw3u7.dat", 0x8000, 0x8000, CRC(ba845ac3) SHA1(bb50413ace1885870cb3817edae478904b0eefb8))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lw3u17.dat", 0x000000, 0x40000, CRC(e34cf2fc) SHA1(417c83ded6637f891c8bb42b32d6898c90a0e5cf))
ROM_LOAD("lw3u21.dat", 0x040000, 0x40000, CRC(82bed051) SHA1(49ddc4190762d9b473fda270e0d6d88a4422d5d7))
ROM_END
@@ -1054,12 +1072,12 @@ ROM_END
ROM_START(lw3_207c)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lw3gc5.207", 0x0000, 0x10000, CRC(27aeaea9) SHA1(f8c40cbc37edac20187ac880be281dd45d8ad614))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lw3drom1.a26", 0x00000, 0x40000, CRC(44a4cf81) SHA1(c7f3e3d5fbe930650e48423c8ba0ac484ce0640c))
ROM_LOAD("lw3drom0.a26", 0x40000, 0x40000, CRC(22932ed5) SHA1(395aa376cd8562de7956a6e34b8747e7cf81f935))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lw3u7.dat", 0x8000, 0x8000, CRC(ba845ac3) SHA1(bb50413ace1885870cb3817edae478904b0eefb8))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lw3u17.dat", 0x000000, 0x40000, CRC(e34cf2fc) SHA1(417c83ded6637f891c8bb42b32d6898c90a0e5cf))
ROM_LOAD("lw3u21.dat", 0x040000, 0x40000, CRC(82bed051) SHA1(49ddc4190762d9b473fda270e0d6d88a4422d5d7))
ROM_END
@@ -1067,12 +1085,12 @@ ROM_END
ROM_START(lw3_205)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lw3gc5.205", 0x0000, 0x10000, CRC(5ad8ff4a) SHA1(6a01a2195543c0c57ce4ce78703c91500835a2da))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lw3dsp1.205", 0x00000, 0x40000, CRC(9dfeffb4) SHA1(f62f2a884da68b4dbfe7da071058dc8cd1766c36))
ROM_LOAD("lw3dsp0.205", 0x40000, 0x40000, CRC(bd8156f1) SHA1(b18214af1b79cca79bdc634c175c3bf7d0052843))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lw3u7.dat", 0x8000, 0x8000, CRC(ba845ac3) SHA1(bb50413ace1885870cb3817edae478904b0eefb8))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lw3u17.dat", 0x000000, 0x40000, CRC(e34cf2fc) SHA1(417c83ded6637f891c8bb42b32d6898c90a0e5cf))
ROM_LOAD("lw3u21.dat", 0x040000, 0x40000, CRC(82bed051) SHA1(49ddc4190762d9b473fda270e0d6d88a4422d5d7))
ROM_END
@@ -1080,12 +1098,12 @@ ROM_END
ROM_START(lw3_204e)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lw3_cpu_c5_v2.04.bin", 0x00000, 0x10000, CRC(33cb9197) SHA1(c6b25dfd93bb5c425a606ae21f757a87a07dc320))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lw3_display_a2.02_rom1.u14", 0x00000, 0x40000, CRC(4920f84f) SHA1(928e4aefdcf9462201001f4ac03d56a0cda25ec1))
ROM_LOAD("lw3_display_a2.02_rom0.u12", 0x40000, 0x40000, CRC(f0ac3da3) SHA1(2e65f31e65302a5d343915488b229769f9784657))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lethal_0601.u7", 0x08000, 0x08000, CRC(ba845ac3) SHA1(bb50413ace1885870cb3817edae478904b0eefb8))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lethal_0601.u17", 0x00000, 0x40000, CRC(e34cf2fc) SHA1(417c83ded6637f891c8bb42b32d6898c90a0e5cf))
ROM_LOAD("lethal_0601.u21", 0x40000, 0x40000, CRC(82bed051) SHA1(49ddc4190762d9b473fda270e0d6d88a4422d5d7))
ROM_END
@@ -1093,12 +1111,12 @@ ROM_END
ROM_START(lw3_203)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lw3cpuu.203", 0x0000, 0x10000, CRC(0cfa38d4) SHA1(11d2e101a574c2dfec49ec701f480173b84c842e))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lw3dsp1.204", 0x00000, 0x40000, CRC(1ba79363) SHA1(46d489a1190533c73370acd8a48cef60d12f87ce))
ROM_LOAD("lw3dsp0.204", 0x40000, 0x40000, CRC(c74d3cf2) SHA1(076ee9b2e3cad0b8058ac0c70f5ffe7e29f3eff5))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lw3u7.dat", 0x8000, 0x8000, CRC(ba845ac3) SHA1(bb50413ace1885870cb3817edae478904b0eefb8))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lw3u17.dat", 0x000000, 0x40000, CRC(e34cf2fc) SHA1(417c83ded6637f891c8bb42b32d6898c90a0e5cf))
ROM_LOAD("lw3u21.dat", 0x040000, 0x40000, CRC(82bed051) SHA1(49ddc4190762d9b473fda270e0d6d88a4422d5d7))
ROM_END
@@ -1106,12 +1124,12 @@ ROM_END
ROM_START(lw3_200)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("lw3cpu.200", 0x0000, 0x10000, CRC(ddb6e7a7) SHA1(d48309e1984ef9a7682dfde190cf457632044657))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("lw3dsp1.204", 0x00000, 0x40000, CRC(1ba79363) SHA1(46d489a1190533c73370acd8a48cef60d12f87ce))
ROM_LOAD("lw3dsp0.204", 0x40000, 0x40000, CRC(c74d3cf2) SHA1(076ee9b2e3cad0b8058ac0c70f5ffe7e29f3eff5))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lw3u7.dat", 0x8000, 0x8000, CRC(ba845ac3) SHA1(bb50413ace1885870cb3817edae478904b0eefb8))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("lw3u17.dat", 0x000000, 0x40000, CRC(e34cf2fc) SHA1(417c83ded6637f891c8bb42b32d6898c90a0e5cf))
ROM_LOAD("lw3u21.dat", 0x040000, 0x40000, CRC(82bed051) SHA1(49ddc4190762d9b473fda270e0d6d88a4422d5d7))
ROM_END
@@ -1123,11 +1141,11 @@ ROM_END
ROM_START(mj_130)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("mjcpuc5.bin", 0x0000, 0x10000, CRC(311ab1d1) SHA1(062b02aab851f9f2ca64c24b8faa7dd293cacd22))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("mjdsp0.bin", 0x00000, 0x80000, CRC(1e2f27e8) SHA1(bfc567d6d3a7cecf7623ceb383350c78c14baef3))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mjsndu7.bin", 0x0000, 0x10000, CRC(a32237f5) SHA1(0fc106429af320c4a30a99c67b45f44cb9a45644))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("mjsndu17.bin", 0x000000, 0x80000, CRC(8b11d7b9) SHA1(bb84b1650b253a433e947137256e4bc34a6ceac4))
ROM_LOAD("mjsndu21.bin", 0x080000, 0x80000, CRC(addfe20e) SHA1(3a6862640f81493da1beddca11011090d8b7cab0))
ROM_END
@@ -1138,11 +1156,11 @@ ROM_END
ROM_START(trek_201)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("trekcpuu.201", 0x0000, 0x10000, CRC(ea0681fe) SHA1(282c8181e60da6358ef320358575a538aa4abe8c))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("trekdspa.109", 0x00000, 0x20000, CRC(a7e7d44d) SHA1(d26126310b8b316ca161d4202645de8fb6359822))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("trek.u7", 0x8000, 0x8000, CRC(f137abbb) SHA1(11731170ed4f04dd8af05d8f79ad727b0e0104d7))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("trek.u17", 0x000000, 0x40000, CRC(531545da) SHA1(905f34173db0e04eaf5236191186ea209b8a0a34))
ROM_LOAD("trek.u21", 0x040000, 0x40000, CRC(6107b004) SHA1(1f9bed9b06d5b19fbc0cc0bef2e493eb1a3f1aa4))
ROM_END
@@ -1150,11 +1168,11 @@ ROM_END
ROM_START(trek_200)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("trekcpuu.200", 0x0000, 0x10000, CRC(4528e803) SHA1(0ebb16ab8b95f04a19fa4510e58c01493393d48c))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("trekdspa.109", 0x00000, 0x20000, CRC(a7e7d44d) SHA1(d26126310b8b316ca161d4202645de8fb6359822))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("trek.u7", 0x8000, 0x8000, CRC(f137abbb) SHA1(11731170ed4f04dd8af05d8f79ad727b0e0104d7))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("trek.u17", 0x000000, 0x40000, CRC(531545da) SHA1(905f34173db0e04eaf5236191186ea209b8a0a34))
ROM_LOAD("trek.u21", 0x040000, 0x40000, CRC(6107b004) SHA1(1f9bed9b06d5b19fbc0cc0bef2e493eb1a3f1aa4))
ROM_END
@@ -1162,11 +1180,11 @@ ROM_END
ROM_START(trek_120)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("trekcpu.120", 0x0000, 0x10000, CRC(2cac0731) SHA1(abf68c358c50bdeb36714cca0a9848e398a6f9fc))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("trekdsp.106", 0x00000, 0x20000, CRC(dc3bf312) SHA1(3262d6604d1dcd1dc738bc3f919a3319b783fd73))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("trek.u7", 0x8000, 0x8000, CRC(f137abbb) SHA1(11731170ed4f04dd8af05d8f79ad727b0e0104d7))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("trek.u17", 0x000000, 0x40000, CRC(531545da) SHA1(905f34173db0e04eaf5236191186ea209b8a0a34))
ROM_LOAD("trek.u21", 0x040000, 0x40000, CRC(6107b004) SHA1(1f9bed9b06d5b19fbc0cc0bef2e493eb1a3f1aa4))
ROM_END
@@ -1174,11 +1192,11 @@ ROM_END
ROM_START(trek_117)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("trekcpu.117", 0x0000, 0x10000, CRC(534ebb09) SHA1(96f343fcc7b0f39e0a8ec7df47cea433ad2c9119))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("trekdspa.109", 0x00000, 0x20000, CRC(a7e7d44d) SHA1(d26126310b8b316ca161d4202645de8fb6359822))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("trek.u7", 0x8000, 0x8000, CRC(f137abbb) SHA1(11731170ed4f04dd8af05d8f79ad727b0e0104d7))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("trek.u17", 0x000000, 0x40000, CRC(531545da) SHA1(905f34173db0e04eaf5236191186ea209b8a0a34))
ROM_LOAD("trek.u21", 0x040000, 0x40000, CRC(6107b004) SHA1(1f9bed9b06d5b19fbc0cc0bef2e493eb1a3f1aa4))
ROM_END
@@ -1186,11 +1204,11 @@ ROM_END
ROM_START(trek_110)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("trekcpu.110", 0x0000, 0x10000, CRC(06e0f87b) SHA1(989d70e067cd322351768550549a4e2c8923132c))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("trekdsp.106", 0x00000, 0x20000, CRC(dc3bf312) SHA1(3262d6604d1dcd1dc738bc3f919a3319b783fd73))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("trek.u7", 0x8000, 0x8000, CRC(f137abbb) SHA1(11731170ed4f04dd8af05d8f79ad727b0e0104d7))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("trek.u17", 0x000000, 0x40000, CRC(531545da) SHA1(905f34173db0e04eaf5236191186ea209b8a0a34))
ROM_LOAD("trek.u21", 0x040000, 0x40000, CRC(6107b004) SHA1(1f9bed9b06d5b19fbc0cc0bef2e493eb1a3f1aa4))
ROM_END
@@ -1198,11 +1216,11 @@ ROM_END
ROM_START(trek_110_a027)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("trekcpu.110", 0x0000, 0x10000, CRC(06e0f87b) SHA1(989d70e067cd322351768550549a4e2c8923132c))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("trekadsp.bin", 0x00000, 0x20000, CRC(54681627) SHA1(4251fa0568d2e869b44358471a3d4a4e88443954))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("trek.u7", 0x8000, 0x8000, CRC(f137abbb) SHA1(11731170ed4f04dd8af05d8f79ad727b0e0104d7))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("trek.u17", 0x000000, 0x40000, CRC(531545da) SHA1(905f34173db0e04eaf5236191186ea209b8a0a34))
ROM_LOAD("trek.u21", 0x040000, 0x40000, CRC(6107b004) SHA1(1f9bed9b06d5b19fbc0cc0bef2e493eb1a3f1aa4))
ROM_END
@@ -1213,11 +1231,11 @@ ROM_END
ROM_START(stwr_106)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("starcpua.106", 0x0000, 0x10000, CRC(35d3cfd9) SHA1(14d8960f3657d7cd977b0a749e995aadb3fd4c7c))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("sw4mrom.a15", 0x00000, 0x80000, CRC(00c87952) SHA1(cd2f491f03fcb3e3ceff7ee7f678aa1957a5d14b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("s-wars.u7", 0x8000, 0x8000, CRC(cefa19d5) SHA1(7ddf9cc85ab601514305bc46083a07a3d087b286))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("s-wars.u17", 0x000000, 0x80000, CRC(7950a147) SHA1(f5bcd5cf6b35f9e4f14d62b084495c3a743d92a1))
ROM_LOAD("s-wars.u21", 0x080000, 0x40000, CRC(7b08fdf1) SHA1(489d21a10e97e886f948d81dedd7f8de3acecd2b))
ROM_END
@@ -1225,11 +1243,11 @@ ROM_END
ROM_START(stwr_106_s105)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("starcpua.106", 0x0000, 0x10000, CRC(35d3cfd9) SHA1(14d8960f3657d7cd977b0a749e995aadb3fd4c7c))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("sw4mrom.s15", 0x00000, 0x80000, CRC(158867b9) SHA1(45a0f4d26c21e2259aeb2a726a1eac23744213a2))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("s-wars.u7", 0x8000, 0x8000, CRC(cefa19d5) SHA1(7ddf9cc85ab601514305bc46083a07a3d087b286))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("s-wars.u17", 0x000000, 0x80000, CRC(7950a147) SHA1(f5bcd5cf6b35f9e4f14d62b084495c3a743d92a1))
ROM_LOAD("s-wars.u21", 0x080000, 0x40000, CRC(7b08fdf1) SHA1(489d21a10e97e886f948d81dedd7f8de3acecd2b))
ROM_END
@@ -1237,12 +1255,12 @@ ROM_END
ROM_START(stwr_106_a046) // DISPLAY VERSION- STAR WARS A0.46 10/9/1992
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("starcpua.106", 0x0000, 0x10000, CRC(35d3cfd9) SHA1(14d8960f3657d7cd977b0a749e995aadb3fd4c7c))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("sw4mrom1.a046", 0x00000, 0x40000, CRC(5ceac219) SHA1(76b7acf378f83bacf6c4adb020d6e544eacbac7a))
ROM_LOAD("sw4mrom0.a046", 0x40000, 0x40000, CRC(305e45be) SHA1(fbdc90175467a9ee59dc11c5ccbe83130b3644c8))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("s-wars.u7", 0x8000, 0x8000, CRC(cefa19d5) SHA1(7ddf9cc85ab601514305bc46083a07a3d087b286))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("s-wars.u17", 0x000000, 0x80000, CRC(7950a147) SHA1(f5bcd5cf6b35f9e4f14d62b084495c3a743d92a1))
ROM_LOAD("s-wars.u21", 0x080000, 0x40000, CRC(7b08fdf1) SHA1(489d21a10e97e886f948d81dedd7f8de3acecd2b))
ROM_END
@@ -1250,11 +1268,11 @@ ROM_END
ROM_START(stwr_104)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("starcpua.104", 0x0000, 0x10000, CRC(12b87cfa) SHA1(12e0ab52f6784beefce8291d29b8aff01b2f2818))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("sw4mrom.a15", 0x00000, 0x80000, CRC(00c87952) SHA1(cd2f491f03fcb3e3ceff7ee7f678aa1957a5d14b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("s-wars.u7", 0x8000, 0x8000, CRC(cefa19d5) SHA1(7ddf9cc85ab601514305bc46083a07a3d087b286))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("s-wars.u17", 0x000000, 0x80000, CRC(7950a147) SHA1(f5bcd5cf6b35f9e4f14d62b084495c3a743d92a1))
ROM_LOAD("s-wars.u21", 0x080000, 0x40000, CRC(7b08fdf1) SHA1(489d21a10e97e886f948d81dedd7f8de3acecd2b))
ROM_END
@@ -1262,11 +1280,11 @@ ROM_END
ROM_START(stwr_103)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("starcpua.103", 0x0000, 0x10000, CRC(318085ca) SHA1(7c35bdee52e8093fe05f0624615baabe559a1917))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("sw4mrom.a15", 0x00000, 0x80000, CRC(00c87952) SHA1(cd2f491f03fcb3e3ceff7ee7f678aa1957a5d14b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("s-wars.u7", 0x8000, 0x8000, CRC(cefa19d5) SHA1(7ddf9cc85ab601514305bc46083a07a3d087b286))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("s-wars.u17", 0x000000, 0x80000, CRC(7950a147) SHA1(f5bcd5cf6b35f9e4f14d62b084495c3a743d92a1))
ROM_LOAD("s-wars.u21", 0x080000, 0x40000, CRC(7b08fdf1) SHA1(489d21a10e97e886f948d81dedd7f8de3acecd2b))
ROM_END
@@ -1274,12 +1292,12 @@ ROM_END
ROM_START(stwr_103_a104) // STAR WARS USA CPU 1.03. DISPLAY VERSION- STAR WARS A1.04 11/20/1992
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("starcpua.103", 0x0000, 0x10000, CRC(318085ca) SHA1(7c35bdee52e8093fe05f0624615baabe559a1917))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("swrom1.a14", 0x00000, 0x40000, CRC(4d577828) SHA1(8b1f302621fe2ee13a067b9c97e3dc33f4519cea))
ROM_LOAD("swrom0.a14", 0x40000, 0x40000, CRC(104e5a6b) SHA1(b6a9e32f8aec078665faf2ba9ba4f9f51f68cea8))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("s-wars.u7", 0x8000, 0x8000, CRC(cefa19d5) SHA1(7ddf9cc85ab601514305bc46083a07a3d087b286))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("s-wars.u17", 0x000000, 0x80000, CRC(7950a147) SHA1(f5bcd5cf6b35f9e4f14d62b084495c3a743d92a1))
ROM_LOAD("s-wars.u21", 0x080000, 0x40000, CRC(7b08fdf1) SHA1(489d21a10e97e886f948d81dedd7f8de3acecd2b))
ROM_END
@@ -1287,11 +1305,11 @@ ROM_END
ROM_START(stwr_102)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("starcpua.102", 0x0000, 0x10000, CRC(8b9d90d6) SHA1(2fb7594e6f4aae1dc3a07192546fabd2901acbed))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("sw4mrom.a15", 0x00000, 0x80000, CRC(00c87952) SHA1(cd2f491f03fcb3e3ceff7ee7f678aa1957a5d14b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("s-wars.u7", 0x8000, 0x8000, CRC(cefa19d5) SHA1(7ddf9cc85ab601514305bc46083a07a3d087b286))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("s-wars.u17", 0x000000, 0x80000, CRC(7950a147) SHA1(f5bcd5cf6b35f9e4f14d62b084495c3a743d92a1))
ROM_LOAD("s-wars.u21", 0x080000, 0x40000, CRC(7b08fdf1) SHA1(489d21a10e97e886f948d81dedd7f8de3acecd2b))
ROM_END
@@ -1299,11 +1317,11 @@ ROM_END
ROM_START(stwr_102e)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("starcpue.102", 0x0000, 0x10000, CRC(b441abd3) SHA1(42cab6e16be8e25a68b2db30f53ba516bbb8741d))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("sw4mrom.a15", 0x00000, 0x80000, CRC(00c87952) SHA1(cd2f491f03fcb3e3ceff7ee7f678aa1957a5d14b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("s-wars.u7", 0x8000, 0x8000, CRC(cefa19d5) SHA1(7ddf9cc85ab601514305bc46083a07a3d087b286))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("s-wars.u17", 0x000000, 0x80000, CRC(7950a147) SHA1(f5bcd5cf6b35f9e4f14d62b084495c3a743d92a1))
ROM_LOAD("s-wars.u21", 0x080000, 0x40000, CRC(7b08fdf1) SHA1(489d21a10e97e886f948d81dedd7f8de3acecd2b))
ROM_END
@@ -1311,12 +1329,12 @@ ROM_END
ROM_START(stwr_101)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("starcpu.101", 0x0000, 0x10000, CRC(6efc7b14) SHA1(f669669fbd8733d06b386ea352fdb2041bf98362))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("stardisp_u14.102", 0x00000, 0x40000, CRC(f8087364) SHA1(4cd66b72cf430018cfb7ac8306b96a8499d41896))
ROM_LOAD("stardisp_u12.102", 0x40000, 0x40000, CRC(fde126c6) SHA1(0a3eacfd4589ee0f26c4212ba9948dff061f3338))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("s-wars.u7", 0x8000, 0x8000, CRC(cefa19d5) SHA1(7ddf9cc85ab601514305bc46083a07a3d087b286))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("s-wars.u17", 0x000000, 0x80000, CRC(7950a147) SHA1(f5bcd5cf6b35f9e4f14d62b084495c3a743d92a1))
ROM_LOAD("s-wars.u21", 0x080000, 0x40000, CRC(7b08fdf1) SHA1(489d21a10e97e886f948d81dedd7f8de3acecd2b))
ROM_END
@@ -1324,11 +1342,11 @@ ROM_END
ROM_START(stwr_101g)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("starcpug.101", 0x0000, 0x10000, CRC(c74b4576) SHA1(67db9294cd802be8d62102fe756648f750821960))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("swdsp_g.102", 0x00000, 0x80000, CRC(afdfbfc4) SHA1(1c3cd90b9cd4f88ee2b556abef863a0ae9a10056))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("s-wars.u7", 0x8000, 0x8000, CRC(cefa19d5) SHA1(7ddf9cc85ab601514305bc46083a07a3d087b286))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("s-wars.u17", 0x000000, 0x80000, CRC(7950a147) SHA1(f5bcd5cf6b35f9e4f14d62b084495c3a743d92a1))
ROM_LOAD("s-wars.u21", 0x080000, 0x40000, CRC(7b08fdf1) SHA1(489d21a10e97e886f948d81dedd7f8de3acecd2b))
ROM_END
@@ -1339,33 +1357,33 @@ ROM_END
ROM_START(tftc_303)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tftccpua.303", 0x0000, 0x10000, CRC(e9bec98e) SHA1(02643805d596017c88d9a534b94b2075bb2ab101))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("tftcdspa.301", 0x00000, 0x80000, CRC(3888d06f) SHA1(3d276df436a76c6e9bed6629114204dacd88245b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sndu7.dat", 0x0000, 0x10000, CRC(7963740e) SHA1(fc1f150dcbab8af865a8ea624dfdcc03301f05e6))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("sndu17.dat", 0x000000, 0x80000, CRC(5c5d009a) SHA1(57d0307ea682eca5a57957e4f61fd92bb7f40e17))
ROM_LOAD("sndu21.dat", 0x080000, 0x80000, CRC(a0ae61f7) SHA1(c7b5766fda64642f77bdc03b2025cd84f29f4495))
ROM_END
ROM_START(tftc_302)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tftccpua.302", 0x0000, 0x10000, CRC(a194fe0f) SHA1(b83e048300f7e072f76672d72cdf43e43fab2e9e))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("tftcdspa.301", 0x00000, 0x80000, CRC(3888d06f) SHA1(3d276df436a76c6e9bed6629114204dacd88245b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sndu7.dat", 0x0000, 0x10000, CRC(7963740e) SHA1(fc1f150dcbab8af865a8ea624dfdcc03301f05e6))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("sndu17.dat", 0x000000, 0x80000, CRC(5c5d009a) SHA1(57d0307ea682eca5a57957e4f61fd92bb7f40e17))
ROM_LOAD("sndu21.dat", 0x080000, 0x80000, CRC(a0ae61f7) SHA1(c7b5766fda64642f77bdc03b2025cd84f29f4495))
ROM_END
ROM_START(tftc_300)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tftccpua.300", 0x0000, 0x10000, CRC(3d275152) SHA1(0aa6df629c27d9265cf35ca0724e241d9820e56b))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("tftcdspa.300", 0x00000, 0x80000, CRC(bf5c812b) SHA1(c10390b6cad0ad457fb83241c7ee1d6b109cf5be))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sndu7.dat", 0x0000, 0x10000, CRC(7963740e) SHA1(fc1f150dcbab8af865a8ea624dfdcc03301f05e6))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("sndu17.dat", 0x000000, 0x80000, CRC(5c5d009a) SHA1(57d0307ea682eca5a57957e4f61fd92bb7f40e17))
ROM_LOAD("sndu21.dat", 0x080000, 0x80000, CRC(a0ae61f7) SHA1(c7b5766fda64642f77bdc03b2025cd84f29f4495))
ROM_END
@@ -1373,11 +1391,11 @@ ROM_END
ROM_START(tftc_200)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tftcgc5.a20", 0x0000, 0x10000, CRC(94b61f83) SHA1(9f36353a06cacb8ad67f70cd8d9d8ac698905ba3))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("tftcdot.a20", 0x00000, 0x80000, CRC(16b3968a) SHA1(6ce91774fc60187e4b0d8874a14ef64e2805eb3f))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sndu7.dat", 0x0000, 0x10000, CRC(7963740e) SHA1(fc1f150dcbab8af865a8ea624dfdcc03301f05e6))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("sndu17.dat", 0x000000, 0x80000, CRC(5c5d009a) SHA1(57d0307ea682eca5a57957e4f61fd92bb7f40e17))
ROM_LOAD("sndu21.dat", 0x080000, 0x80000, CRC(a0ae61f7) SHA1(c7b5766fda64642f77bdc03b2025cd84f29f4495))
ROM_END
@@ -1385,11 +1403,11 @@ ROM_END
ROM_START(tftc_104s)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tftccpua.104", 0x0000, 0x10000, CRC(efb3c0d0) SHA1(df1505947732704171e31dbace4c263723c8342b))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("tftcdspl.103", 0x00000, 0x80000, CRC(98f3b13e) SHA1(909c373b1a27b5aeebad2535ae4fb9bba71e9b5c))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sndu7.dat", 0x0000, 0x10000, CRC(7963740e) SHA1(fc1f150dcbab8af865a8ea624dfdcc03301f05e6))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("sndu17.dat", 0x000000, 0x80000, CRC(5c5d009a) SHA1(57d0307ea682eca5a57957e4f61fd92bb7f40e17))
ROM_LOAD("sndu21.dat", 0x080000, 0x80000, CRC(a0ae61f7) SHA1(c7b5766fda64642f77bdc03b2025cd84f29f4495))
ROM_END
@@ -1401,7 +1419,7 @@ ROM_START(tmnt_104)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tmntb5a.104", 0x4000, 0x4000, CRC(f508eeee) SHA1(5e67fde49f6e7d5d563645df9036d5691be076cf))
ROM_LOAD("tmntc5a.104", 0x8000, 0x8000, CRC(a33d18d4) SHA1(41cf815c1f3d117efe0ddd14ad84076dcb80318a))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("tmntdsp.104", 0x00000, 0x10000, CRC(545686b7) SHA1(713df7820d024db3406f5e171f62a53e34474f70))
ROM_RELOAD(0x10000, 0x10000)
ROM_REGION(0x10000, "audiocpu", 0)
@@ -1415,7 +1433,7 @@ ROM_START(tmnt_104g)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tmntb5a.104", 0x4000, 0x4000, CRC(f508eeee) SHA1(5e67fde49f6e7d5d563645df9036d5691be076cf))
ROM_LOAD("tmntc5g.104", 0x8000, 0x8000, CRC(d7f2fd8b) SHA1(b80f6201ca2981ec4a3869688963884948a6bd72))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("tmntdsp.104", 0x00000, 0x10000, CRC(545686b7) SHA1(713df7820d024db3406f5e171f62a53e34474f70))
ROM_RELOAD(0x10000, 0x10000)
ROM_REGION(0x10000, "audiocpu", 0)
@@ -1429,7 +1447,7 @@ ROM_START(tmnt_103)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tmntb5.103", 0x4000, 0x4000, CRC(fcc6c5b0) SHA1(062bbc93de0f8bb1921da4d756a13923f23cf5d9))
ROM_LOAD("tmntc5.103", 0x8000, 0x8000, CRC(46b68ecc) SHA1(cb94041017c0856f1e15de05c70369cb4f8756cd))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("tmntdsp.104", 0x00000, 0x10000, CRC(545686b7) SHA1(713df7820d024db3406f5e171f62a53e34474f70))
ROM_RELOAD(0x10000, 0x10000)
ROM_REGION(0x10000, "audiocpu", 0)
@@ -1443,7 +1461,7 @@ ROM_START(tmnt_101)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tmntb5a.101", 0x4000, 0x4000, CRC(42ae083d) SHA1(0dd62dd7e3cd5db1729cec30e1831093bc63ce6e))
ROM_LOAD("tmntc5a.101", 0x8000, 0x8000, CRC(24ba0267) SHA1(8e157faa1ade6a1d9f9b6d395d708cfa521597b3))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("tmntdspa.103", 0x00000, 0x10000, CRC(d52a7d49) SHA1(9249aafe272a052d19f1dd461708e8152516f79f))
ROM_RELOAD(0x10000, 0x10000)
ROM_REGION(0x10000, "audiocpu", 0)
@@ -1457,7 +1475,7 @@ ROM_START(tmnt_a07)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tmntb5a.007", 0x4000, 0x4000, CRC(7314f444) SHA1(e18c46009b90d8671a1f15542eb882f391bd57db))
ROM_LOAD("tmntc5a.007", 0x8000, 0x8000, CRC(f0ec9ac0) SHA1(c7c70c1185dffa725fbba09aa1c5ea52cabbc4a5))
- ROM_REGION(0x20000, "dmdcpu", 0)
+ ROM_REGION(0x20000, "decodmd1", 0)
ROM_LOAD("tmntdsp16.491", 0x00000, 0x10000, CRC(6ed5744e) SHA1(7d02ed19d3bc479386c58282826a3dc06999307f))
ROM_RELOAD(0x10000, 0x10000)
ROM_REGION(0x10000, "audiocpu", 0)
@@ -1473,11 +1491,11 @@ ROM_END
ROM_START(tomy_400)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tomcpua.400", 0x0000, 0x10000, CRC(d0310a1a) SHA1(5b14f5d6e271676b4ec93b64f1cde9607844b677))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("tommydva.400", 0x00000, 0x80000, CRC(9e640d09) SHA1(d921fadeb728cf929c6bae2e79bd4d140192a4d2))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("tommysnd.u7", 0x0000, 0x10000, CRC(ab0b4626) SHA1(31237b4f5e866710506f1336e3ca2dbd6a89385a))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("tommysnd.u17", 0x000000, 0x80000, CRC(11bb2aa7) SHA1(57b4867c109996861f45ead1ceedb7153aff852e))
ROM_LOAD("tommysnd.u21", 0x080000, 0x80000, CRC(bb4aeec3) SHA1(2ac6cd25b79584fa6ad2c8a36c3cc58ab8ec0206))
ROM_LOAD("tommysnd.u36", 0x100000, 0x80000, CRC(208d7aeb) SHA1(af8af2094d1a91c7b4ef8ac6d4f594728e97450f))
@@ -1487,11 +1505,11 @@ ROM_END
ROM_START(tomy_301g)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tom_3.00_german_cpu_c5.bin", 0x0000, 0x10000, CRC(a24ba9c0) SHA1(fab504372df9231a8078af23acfdef185b0d7b05))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("tom_3.00_german_display_rom0.bin", 0x00000, 0x80000, CRC(a8a47c4d) SHA1(62a05ede57ab5d4be4c53155788bb7f899198846))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("tommysnd.u7", 0x0000, 0x10000, CRC(ab0b4626) SHA1(31237b4f5e866710506f1336e3ca2dbd6a89385a))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("tommysnd.u17", 0x000000, 0x80000, CRC(11bb2aa7) SHA1(57b4867c109996861f45ead1ceedb7153aff852e))
ROM_LOAD("tommysnd.u21", 0x080000, 0x80000, CRC(bb4aeec3) SHA1(2ac6cd25b79584fa6ad2c8a36c3cc58ab8ec0206))
ROM_LOAD("tommysnd.u36", 0x100000, 0x80000, CRC(208d7aeb) SHA1(af8af2094d1a91c7b4ef8ac6d4f594728e97450f))
@@ -1501,11 +1519,11 @@ ROM_END
ROM_START(tomy_300h)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tomcpuh.300", 0x0000, 0x10000, CRC(121b5932) SHA1(e7d7bf8a78baf1c00c8bac908d4646586b8cf1f5))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("tommydva.300", 0x00000, 0x80000, CRC(1f2d0896) SHA1(50c617e30bb843c69a6ca8afeeb751c886f5e6bd))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("tommysnd.u7", 0x0000, 0x10000, CRC(ab0b4626) SHA1(31237b4f5e866710506f1336e3ca2dbd6a89385a))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("tommysnd.u17", 0x000000, 0x80000, CRC(11bb2aa7) SHA1(57b4867c109996861f45ead1ceedb7153aff852e))
ROM_LOAD("tommysnd.u21", 0x080000, 0x80000, CRC(bb4aeec3) SHA1(2ac6cd25b79584fa6ad2c8a36c3cc58ab8ec0206))
ROM_LOAD("tommysnd.u36", 0x100000, 0x80000, CRC(208d7aeb) SHA1(af8af2094d1a91c7b4ef8ac6d4f594728e97450f))
@@ -1515,11 +1533,11 @@ ROM_END
ROM_START(tomy_201h)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tommy_2.01_dutch_cpu.bin", 0x0000, 0x10000, CRC(9705af61) SHA1(8a302d2f217d0f10bf100606643fc1780564da67))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("tommy_2.00_display.bin", 0x00000, 0x80000, CRC(e554e0dc) SHA1(2b3baf20280134e3a40c41e0e0c39578dd905abe))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("tommysnd.u7", 0x0000, 0x10000, CRC(ab0b4626) SHA1(31237b4f5e866710506f1336e3ca2dbd6a89385a))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("tommysnd.u17", 0x000000, 0x80000, CRC(11bb2aa7) SHA1(57b4867c109996861f45ead1ceedb7153aff852e))
ROM_LOAD("tommysnd.u21", 0x080000, 0x80000, CRC(bb4aeec3) SHA1(2ac6cd25b79584fa6ad2c8a36c3cc58ab8ec0206))
ROM_LOAD("tommysnd.u36", 0x100000, 0x80000, CRC(208d7aeb) SHA1(af8af2094d1a91c7b4ef8ac6d4f594728e97450f))
@@ -1529,11 +1547,11 @@ ROM_END
ROM_START(tomy_102)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tomcpua.102", 0x0000, 0x10000, CRC(e470b78e) SHA1(9d358e9d87469cdefb5c373f16c51774bbd390ea))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("tommydva.300", 0x00000, 0x80000, CRC(1f2d0896) SHA1(50c617e30bb843c69a6ca8afeeb751c886f5e6bd))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("tommysnd.u7", 0x0000, 0x10000, CRC(ab0b4626) SHA1(31237b4f5e866710506f1336e3ca2dbd6a89385a))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("tommysnd.u17", 0x000000, 0x80000, CRC(11bb2aa7) SHA1(57b4867c109996861f45ead1ceedb7153aff852e))
ROM_LOAD("tommysnd.u21", 0x080000, 0x80000, CRC(bb4aeec3) SHA1(2ac6cd25b79584fa6ad2c8a36c3cc58ab8ec0206))
ROM_LOAD("tommysnd.u36", 0x100000, 0x80000, CRC(208d7aeb) SHA1(af8af2094d1a91c7b4ef8ac6d4f594728e97450f))
@@ -1543,11 +1561,11 @@ ROM_END
ROM_START(tomy_102be)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("tomcpub.102", 0x0000, 0x10000, CRC(59e4e029) SHA1(55da9eade7a3e08e556799bd27ab4b8347fe87cb))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("tommydvb.102", 0x00000, 0x80000, CRC(f20b9890) SHA1(66a120ba4f3dfd2195a3c430e678ed47f826a73c))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("tommysnd.u7", 0x0000, 0x10000, CRC(ab0b4626) SHA1(31237b4f5e866710506f1336e3ca2dbd6a89385a))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("tommysnd.u17", 0x000000, 0x80000, CRC(11bb2aa7) SHA1(57b4867c109996861f45ead1ceedb7153aff852e))
ROM_LOAD("tommysnd.u21", 0x080000, 0x80000, CRC(bb4aeec3) SHA1(2ac6cd25b79584fa6ad2c8a36c3cc58ab8ec0206))
ROM_LOAD("tommysnd.u36", 0x100000, 0x80000, CRC(208d7aeb) SHA1(af8af2094d1a91c7b4ef8ac6d4f594728e97450f))
@@ -1560,11 +1578,11 @@ ROM_END
ROM_START(wwfr_106)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("wwfcpua.106", 0x0000, 0x10000, CRC(5f1c7da2) SHA1(9188e0b9c26e4b6c92c63a58b52ee42bd3b77ca0))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("wwfdispa.102", 0x00000, 0x80000, CRC(4b629a4f) SHA1(c301d0c785f7bc4d3c23cbda76ff955c742eaeef))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("wfsndu7.512", 0x0000, 0x10000, CRC(eb01745c) SHA1(7222e39c52ed298b737aadaa5b57d2068d39287e))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("wfsndu17.400", 0x000000, 0x80000, CRC(7d9c2ca8) SHA1(5d84559455fe7e27634b28bcab81d54f2676390e))
ROM_LOAD("wfsndu21.400", 0x080000, 0x80000, CRC(242dcdcb) SHA1(af7220e14b0956ef40f75b2749eb1b9d715a1af0))
ROM_LOAD("wfsndu36.400", 0x100000, 0x80000, CRC(39db8d85) SHA1(a55dd88fd4d9154b523dca9160bf96119af1f94d))
@@ -1573,11 +1591,11 @@ ROM_END
ROM_START(wwfr_103)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("wfcpuc5.512", 0x0000, 0x10000, CRC(7e9ead89) SHA1(6cfd64899128b5f9b4ccc37b7bfdbb0a2a75a3a5))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("wfdisp0.400", 0x00000, 0x80000, CRC(e190b90f) SHA1(a0e73ce0b241a81e935e6790e04ea5e1fccf3742))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("wfsndu7.512", 0x0000, 0x10000, CRC(eb01745c) SHA1(7222e39c52ed298b737aadaa5b57d2068d39287e))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("wfsndu17.400", 0x000000, 0x80000, CRC(7d9c2ca8) SHA1(5d84559455fe7e27634b28bcab81d54f2676390e))
ROM_LOAD("wfsndu21.400", 0x080000, 0x80000, CRC(242dcdcb) SHA1(af7220e14b0956ef40f75b2749eb1b9d715a1af0))
ROM_LOAD("wfsndu36.400", 0x100000, 0x80000, CRC(39db8d85) SHA1(a55dd88fd4d9154b523dca9160bf96119af1f94d))
@@ -1586,11 +1604,11 @@ ROM_END
ROM_START(wwfr_103f)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("wfcpucf.103", 0x0000, 0x10000, CRC(0e211494) SHA1(c601a075636f84ad12ec0693772a8759049077d5))
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd2", 0)
ROM_LOAD("wfdspf.101", 0x00000, 0x80000, CRC(4c39bda9) SHA1(2ea61a2020a4a4e3f23853ab8780d6999053e8ae))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("wfsndu7.512", 0x0000, 0x10000, CRC(eb01745c) SHA1(7222e39c52ed298b737aadaa5b57d2068d39287e))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("wfsndu17.400", 0x000000, 0x80000, CRC(7d9c2ca8) SHA1(5d84559455fe7e27634b28bcab81d54f2676390e))
ROM_LOAD("wfsndu21.400", 0x080000, 0x80000, CRC(242dcdcb) SHA1(af7220e14b0956ef40f75b2749eb1b9d715a1af0))
ROM_LOAD("wfsndu36.400", 0x100000, 0x80000, CRC(39db8d85) SHA1(a55dd88fd4d9154b523dca9160bf96119af1f94d))
@@ -1602,12 +1620,12 @@ ROM_END
ROM_START(batmanf)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnova.401", 0x0000, 0x10000, CRC(4e62df4e) SHA1(6c3be65fc8825f47cd08755b58fdcf3652ede702))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0a.401", 0x00000001, 0x00080000, CRC(8a3c20ad) SHA1(37415ac7ba178981dffce3a17502f39ab29d90ea))
- ROM_LOAD16_BYTE("bfdrom3a.401", 0x00000000, 0x00080000, CRC(5ef46847) SHA1(a80f241db3d309f0bcb455051e33fc2b74e2ddcd))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0a.401", 0x000001, 0x80000, CRC(8a3c20ad) SHA1(37415ac7ba178981dffce3a17502f39ab29d90ea))
+ ROM_LOAD16_BYTE("bfdrom3a.401", 0x000000, 0x80000, CRC(5ef46847) SHA1(a80f241db3d309f0bcb455051e33fc2b74e2ddcd))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1615,12 +1633,12 @@ ROM_END
ROM_START(batmanf3)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batcpua.302", 0x0000, 0x10000, CRC(5ae7ce69) SHA1(13409c7c993bd9940f3a72f3bac8c8c57a665b3f))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bmfrom0a.300", 0x00000001, 0x00080000, CRC(764bb217) SHA1(2923d2d2924faa4bdc6e67087fb8ce694d27809a))
- ROM_LOAD16_BYTE("bmfrom3a.300", 0x00000000, 0x00080000, CRC(b4e3b515) SHA1(0f8bf08bc480eed575da54bfc0135f38a86302d4))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bmfrom0a.300", 0x000001, 0x80000, CRC(764bb217) SHA1(2923d2d2924faa4bdc6e67087fb8ce694d27809a))
+ ROM_LOAD16_BYTE("bmfrom3a.300", 0x000000, 0x80000, CRC(b4e3b515) SHA1(0f8bf08bc480eed575da54bfc0135f38a86302d4))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1628,12 +1646,12 @@ ROM_END
ROM_START(batmanf2)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batcpua.202", 0x0000, 0x10000, CRC(3e2fe40b) SHA1(afacbbc8af319110149b25c35ef03dcf019ca8da))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bmfrom0.200", 0x00000001, 0x00080000, CRC(17086824) SHA1(37f2d463d7cc15739fb18000c81dbc1e79c1549a))
- ROM_LOAD16_BYTE("bmfrom3.200", 0x00000000, 0x00080000, CRC(9c8a9a8f) SHA1(8dce048cac657da66478ae0b6bd000a2648a118a))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bmfrom0.200", 0x000001, 0x80000, CRC(17086824) SHA1(37f2d463d7cc15739fb18000c81dbc1e79c1549a))
+ ROM_LOAD16_BYTE("bmfrom3.200", 0x000000, 0x80000, CRC(9c8a9a8f) SHA1(8dce048cac657da66478ae0b6bd000a2648a118a))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1641,12 +1659,12 @@ ROM_END
ROM_START(batmanf1)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batcpua.102", 0x0000, 0x10000, CRC(aafba427) SHA1(485fa3b76569a8c9ed640e9fa8fd714fdd2268b8))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bmfrom0.100", 0x00000001, 0x00080000, CRC(4d65a45c) SHA1(b4a112f8a70ad887e1a23291bcec1d55bd7277c1))
- ROM_LOAD16_BYTE("bmfrom3.100", 0x00000000, 0x00080000, CRC(b4b774d1) SHA1(5dacfb5cedc597dbb2d72e83de4979eb19b19d72))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bmfrom0.100", 0x000001, 0x80000, CRC(4d65a45c) SHA1(b4a112f8a70ad887e1a23291bcec1d55bd7277c1))
+ ROM_LOAD16_BYTE("bmfrom3.100", 0x000000, 0x80000, CRC(b4b774d1) SHA1(5dacfb5cedc597dbb2d72e83de4979eb19b19d72))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1654,12 +1672,12 @@ ROM_END
ROM_START(bmf_uk)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnove.401", 0x0000, 0x10000, CRC(80f6e4af) SHA1(dd233d2150dcb50b74a70e6ff89c74a3f0d8fae1))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0a.401", 0x00000001, 0x00080000, CRC(8a3c20ad) SHA1(37415ac7ba178981dffce3a17502f39ab29d90ea))
- ROM_LOAD16_BYTE("bfdrom3a.401", 0x00000000, 0x00080000, CRC(5ef46847) SHA1(a80f241db3d309f0bcb455051e33fc2b74e2ddcd))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0a.401", 0x000001, 0x80000, CRC(8a3c20ad) SHA1(37415ac7ba178981dffce3a17502f39ab29d90ea))
+ ROM_LOAD16_BYTE("bfdrom3a.401", 0x000000, 0x80000, CRC(5ef46847) SHA1(a80f241db3d309f0bcb455051e33fc2b74e2ddcd))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1667,12 +1685,12 @@ ROM_END
ROM_START(bmf_cn)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnovc.401", 0x0000, 0x10000, CRC(99936537) SHA1(08ff9c6a1fcb3f198190d24bbc75ea1178427fda))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0a.401", 0x00000001, 0x00080000, CRC(8a3c20ad) SHA1(37415ac7ba178981dffce3a17502f39ab29d90ea))
- ROM_LOAD16_BYTE("bfdrom3a.401", 0x00000000, 0x00080000, CRC(5ef46847) SHA1(a80f241db3d309f0bcb455051e33fc2b74e2ddcd))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0a.401", 0x000001, 0x80000, CRC(8a3c20ad) SHA1(37415ac7ba178981dffce3a17502f39ab29d90ea))
+ ROM_LOAD16_BYTE("bfdrom3a.401", 0x000000, 0x80000, CRC(5ef46847) SHA1(a80f241db3d309f0bcb455051e33fc2b74e2ddcd))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1680,12 +1698,12 @@ ROM_END
ROM_START(bmf_no)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnovn.401", 0x0000, 0x10000, CRC(79dd48b4) SHA1(eefdf423f9638e293e51bd31413de898ec4eb83a))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0a.401", 0x00000001, 0x00080000, CRC(8a3c20ad) SHA1(37415ac7ba178981dffce3a17502f39ab29d90ea))
- ROM_LOAD16_BYTE("bfdrom3a.401", 0x00000000, 0x00080000, CRC(5ef46847) SHA1(a80f241db3d309f0bcb455051e33fc2b74e2ddcd))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0a.401", 0x000001, 0x80000, CRC(8a3c20ad) SHA1(37415ac7ba178981dffce3a17502f39ab29d90ea))
+ ROM_LOAD16_BYTE("bfdrom3a.401", 0x000000, 0x80000, CRC(5ef46847) SHA1(a80f241db3d309f0bcb455051e33fc2b74e2ddcd))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1693,12 +1711,12 @@ ROM_END
ROM_START(bmf_sv)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnovt.401", 0x0000, 0x10000, CRC(854029ab) SHA1(044c2fff6f3e8995c48344f727c1cd9079f7e232))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0a.401", 0x00000001, 0x00080000, CRC(8a3c20ad) SHA1(37415ac7ba178981dffce3a17502f39ab29d90ea))
- ROM_LOAD16_BYTE("bfdrom3a.401", 0x00000000, 0x00080000, CRC(5ef46847) SHA1(a80f241db3d309f0bcb455051e33fc2b74e2ddcd))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0a.401", 0x000001, 0x80000, CRC(8a3c20ad) SHA1(37415ac7ba178981dffce3a17502f39ab29d90ea))
+ ROM_LOAD16_BYTE("bfdrom3a.401", 0x000000, 0x80000, CRC(5ef46847) SHA1(a80f241db3d309f0bcb455051e33fc2b74e2ddcd))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1706,12 +1724,12 @@ ROM_END
ROM_START(bmf_at)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnovh.401", 0x0000, 0x10000, CRC(acba13d7) SHA1(b5e5dc5ffc926612ea3d592b6d4e8e02f6290bc7))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0g.401", 0x00000001, 0x00080000, CRC(3a2d7d53) SHA1(340107290d58bfb8b9a6613215eb556626fe2461))
- ROM_LOAD16_BYTE("bfdrom3g.401", 0x00000000, 0x00080000, CRC(94e424f1) SHA1(3a6daf9cbd38e21e2c6447ff1fb0e86b4c03f971))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0g.401", 0x000001, 0x80000, CRC(3a2d7d53) SHA1(340107290d58bfb8b9a6613215eb556626fe2461))
+ ROM_LOAD16_BYTE("bfdrom3g.401", 0x000000, 0x80000, CRC(94e424f1) SHA1(3a6daf9cbd38e21e2c6447ff1fb0e86b4c03f971))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1719,12 +1737,12 @@ ROM_END
ROM_START(bmf_ch)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnovs.401", 0x0000, 0x10000, CRC(4999d5f9) SHA1(61a9220da38e05360a9496504fa7b11aff14515d))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0g.401", 0x00000001, 0x00080000, CRC(3a2d7d53) SHA1(340107290d58bfb8b9a6613215eb556626fe2461))
- ROM_LOAD16_BYTE("bfdrom3g.401", 0x00000000, 0x00080000, CRC(94e424f1) SHA1(3a6daf9cbd38e21e2c6447ff1fb0e86b4c03f971))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0g.401", 0x000001, 0x80000, CRC(3a2d7d53) SHA1(340107290d58bfb8b9a6613215eb556626fe2461))
+ ROM_LOAD16_BYTE("bfdrom3g.401", 0x000000, 0x80000, CRC(94e424f1) SHA1(3a6daf9cbd38e21e2c6447ff1fb0e86b4c03f971))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1732,12 +1750,12 @@ ROM_END
ROM_START(bmf_de)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnovg.401", 0x0000, 0x10000, CRC(dd37e99a) SHA1(7949ed43df38849d927f6ed0afa8c3f77cd74b6a))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0g.401", 0x00000001, 0x00080000, CRC(3a2d7d53) SHA1(340107290d58bfb8b9a6613215eb556626fe2461))
- ROM_LOAD16_BYTE("bfdrom3g.401", 0x00000000, 0x00080000, CRC(94e424f1) SHA1(3a6daf9cbd38e21e2c6447ff1fb0e86b4c03f971))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0g.401", 0x000001, 0x80000, CRC(3a2d7d53) SHA1(340107290d58bfb8b9a6613215eb556626fe2461))
+ ROM_LOAD16_BYTE("bfdrom3g.401", 0x000000, 0x80000, CRC(94e424f1) SHA1(3a6daf9cbd38e21e2c6447ff1fb0e86b4c03f971))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1745,12 +1763,12 @@ ROM_END
ROM_START(bmf_be)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnovb.401", 0x0000, 0x10000, CRC(21309873) SHA1(cebd0c5c05dc5c0a2eb8563ad5c4759f78d6a4b9))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0f.401", 0x00000001, 0x00080000, CRC(e7473f6f) SHA1(f5951a9b6a8776073adf10e38b9d68d6d444240a))
- ROM_LOAD16_BYTE("bfdrom3f.401", 0x00000000, 0x00080000, CRC(f7951709) SHA1(ace5b374d1e382d6f612b2bafc0e9fdde9e21014))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0f.401", 0x000001, 0x80000, CRC(e7473f6f) SHA1(f5951a9b6a8776073adf10e38b9d68d6d444240a))
+ ROM_LOAD16_BYTE("bfdrom3f.401", 0x000000, 0x80000, CRC(f7951709) SHA1(ace5b374d1e382d6f612b2bafc0e9fdde9e21014))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1758,12 +1776,12 @@ ROM_END
ROM_START(bmf_fr)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnovf.401", 0x0000, 0x10000, CRC(4baa793d) SHA1(4ba258d11f1bd7a2078ae6cd823a11e10ca96627))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0f.401", 0x00000001, 0x00080000, CRC(e7473f6f) SHA1(f5951a9b6a8776073adf10e38b9d68d6d444240a))
- ROM_LOAD16_BYTE("bfdrom3f.401", 0x00000000, 0x00080000, CRC(f7951709) SHA1(ace5b374d1e382d6f612b2bafc0e9fdde9e21014))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0f.401", 0x000001, 0x80000, CRC(e7473f6f) SHA1(f5951a9b6a8776073adf10e38b9d68d6d444240a))
+ ROM_LOAD16_BYTE("bfdrom3f.401", 0x000000, 0x80000, CRC(f7951709) SHA1(ace5b374d1e382d6f612b2bafc0e9fdde9e21014))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1771,12 +1789,12 @@ ROM_END
ROM_START(bmf_nl)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnovd.401", 0x0000, 0x10000, CRC(6ae4570c) SHA1(e863d6d0963910a993f2a0b8ddeefba48d304ca6))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0f.401", 0x00000001, 0x00080000, CRC(e7473f6f) SHA1(f5951a9b6a8776073adf10e38b9d68d6d444240a))
- ROM_LOAD16_BYTE("bfdrom3f.401", 0x00000000, 0x00080000, CRC(f7951709) SHA1(ace5b374d1e382d6f612b2bafc0e9fdde9e21014))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0f.401", 0x000001, 0x80000, CRC(e7473f6f) SHA1(f5951a9b6a8776073adf10e38b9d68d6d444240a))
+ ROM_LOAD16_BYTE("bfdrom3f.401", 0x000000, 0x80000, CRC(f7951709) SHA1(ace5b374d1e382d6f612b2bafc0e9fdde9e21014))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1784,12 +1802,12 @@ ROM_END
ROM_START(bmf_it)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnovi.401", 0x0000, 0x10000, CRC(7053ef9e) SHA1(918ab3e250b5965998ca0a38e1b8ba3cc012083f))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0i.401", 0x00000001, 0x00080000, CRC(23051253) SHA1(155669a3fecd6e67838b10e71a57a6b871c8762a))
- ROM_LOAD16_BYTE("bfdrom3i.401", 0x00000000, 0x00080000, CRC(82b61a41) SHA1(818c8fdbf44e29fe0ec5362a34ac948e98002efa))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0i.401", 0x000001, 0x80000, CRC(23051253) SHA1(155669a3fecd6e67838b10e71a57a6b871c8762a))
+ ROM_LOAD16_BYTE("bfdrom3i.401", 0x000000, 0x80000, CRC(82b61a41) SHA1(818c8fdbf44e29fe0ec5362a34ac948e98002efa))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1797,12 +1815,12 @@ ROM_END
ROM_START(bmf_sp)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnova.401", 0x0000, 0x10000, CRC(4e62df4e) SHA1(6c3be65fc8825f47cd08755b58fdcf3652ede702))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0l.401", 0x00000001, 0x00080000, CRC(b22b10d9) SHA1(c8f5637b00b0701d47a3b6bc0fdae08ae1a8df64))
- ROM_LOAD16_BYTE("bfdrom3l.401", 0x00000000, 0x00080000, CRC(016b8666) SHA1(c10b7fc2c1e5b8382ff5b021a6b70f3a550b190e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0l.401", 0x000001, 0x80000, CRC(b22b10d9) SHA1(c8f5637b00b0701d47a3b6bc0fdae08ae1a8df64))
+ ROM_LOAD16_BYTE("bfdrom3l.401", 0x000000, 0x80000, CRC(016b8666) SHA1(c10b7fc2c1e5b8382ff5b021a6b70f3a550b190e))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1810,12 +1828,12 @@ ROM_END
ROM_START(bmf_jp)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnovj.401", 0x0000, 0x10000, CRC(eef9bef0) SHA1(ac37ae12673351be939a969ecbc5b68c3995dca0))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0a.401", 0x00000001, 0x00080000, CRC(8a3c20ad) SHA1(37415ac7ba178981dffce3a17502f39ab29d90ea))
- ROM_LOAD16_BYTE("bfdrom3a.401", 0x00000000, 0x00080000, CRC(5ef46847) SHA1(a80f241db3d309f0bcb455051e33fc2b74e2ddcd))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0a.401", 0x000001, 0x80000, CRC(8a3c20ad) SHA1(37415ac7ba178981dffce3a17502f39ab29d90ea))
+ ROM_LOAD16_BYTE("bfdrom3a.401", 0x000000, 0x80000, CRC(5ef46847) SHA1(a80f241db3d309f0bcb455051e33fc2b74e2ddcd))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1823,12 +1841,12 @@ ROM_END
ROM_START(bmf_time)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("batnova.401", 0x0000, 0x10000, CRC(4e62df4e) SHA1(6c3be65fc8825f47cd08755b58fdcf3652ede702))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bfdrom0t.401", 0x00000001, 0x00080000, CRC(b83b8d28) SHA1(b90e6a6fa55dadbf0e752745b87d1e8e9d7ccfa7))
- ROM_LOAD16_BYTE("bfdrom3t.401", 0x00000000, 0x00080000, CRC(a024b1a5) SHA1(2fc8697fa98b7de7a844ca4d6a162b96cc751447))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bfdrom0t.401", 0x000001, 0x80000, CRC(b83b8d28) SHA1(b90e6a6fa55dadbf0e752745b87d1e8e9d7ccfa7))
+ ROM_LOAD16_BYTE("bfdrom3t.401", 0x000000, 0x80000, CRC(a024b1a5) SHA1(2fc8697fa98b7de7a844ca4d6a162b96cc751447))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bmfu7.bin", 0x0000, 0x10000, CRC(58c0d144) SHA1(88a404d3625c7c154892282598b4949ac97de12b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bmfu17.bin", 0x000000, 0x80000, CRC(edcd5c10) SHA1(561f22fb7817f64e09ef6adda646f58f31b80bf4))
ROM_LOAD("bmfu21.bin", 0x080000, 0x80000, CRC(e41a516d) SHA1(9c41803a01046e57f8bd8759fe5e62ad6abaa80c))
ROM_END
@@ -1839,12 +1857,12 @@ ROM_END
ROM_START(baywatch)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("baycpua.400", 0x0000, 0x10000, CRC(89facfda) SHA1(71720b1da227752b0e276390abd08c742bca9090))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bayrom0a.400", 0x00000001, 0x00080000, CRC(43d615c6) SHA1(7c843b6d5215305b02a55c9fa1d62375ef0766ea))
- ROM_LOAD16_BYTE("bayrom3a.400", 0x00000000, 0x00080000, CRC(41bcb66b) SHA1(e6f0a9236e14c2e919881ca1ffe3356aaa121730))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bayrom0a.400", 0x000001, 0x80000, CRC(43d615c6) SHA1(7c843b6d5215305b02a55c9fa1d62375ef0766ea))
+ ROM_LOAD16_BYTE("bayrom3a.400", 0x000000, 0x80000, CRC(41bcb66b) SHA1(e6f0a9236e14c2e919881ca1ffe3356aaa121730))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bayw.u7", 0x0000, 0x10000, CRC(90d6d8a8) SHA1(482c5643453f21a078257aa13398845ef19cab3c))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bayw.u17", 0x000000, 0x80000, CRC(b20fde56) SHA1(2f2db49245e4a6a8251cbe896b2437fcec88d42d))
ROM_LOAD("bayw.u21", 0x080000, 0x80000, CRC(b7598881) SHA1(19d1dde1cb6634a7c7b5cdb4fa01cd09cc7d7777))
ROM_END
@@ -1852,12 +1870,12 @@ ROM_END
ROM_START(bay_d400)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("baycpud.400", 0x0000, 0x10000, CRC(45019616) SHA1(5a1e04cdfa00f179f010c09fae52d090553cd82e))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bayrom0a.400", 0x00000001, 0x00080000, CRC(43d615c6) SHA1(7c843b6d5215305b02a55c9fa1d62375ef0766ea))
- ROM_LOAD16_BYTE("bayrom3a.400", 0x00000000, 0x00080000, CRC(41bcb66b) SHA1(e6f0a9236e14c2e919881ca1ffe3356aaa121730))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bayrom0a.400", 0x000001, 0x80000, CRC(43d615c6) SHA1(7c843b6d5215305b02a55c9fa1d62375ef0766ea))
+ ROM_LOAD16_BYTE("bayrom3a.400", 0x000000, 0x80000, CRC(41bcb66b) SHA1(e6f0a9236e14c2e919881ca1ffe3356aaa121730))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bayw.u7", 0x0000, 0x10000, CRC(90d6d8a8) SHA1(482c5643453f21a078257aa13398845ef19cab3c))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bayw.u17", 0x000000, 0x80000, CRC(b20fde56) SHA1(2f2db49245e4a6a8251cbe896b2437fcec88d42d))
ROM_LOAD("bayw.u21", 0x080000, 0x80000, CRC(b7598881) SHA1(19d1dde1cb6634a7c7b5cdb4fa01cd09cc7d7777))
ROM_END
@@ -1865,12 +1883,12 @@ ROM_END
ROM_START(bay_e400)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("baycpue.400", 0x0000, 0x10000, CRC(07b77fe2) SHA1(4f81a5b3d821907e06d6b547117ad39c238a900c))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bayrom0a.400", 0x00000001, 0x00080000, CRC(43d615c6) SHA1(7c843b6d5215305b02a55c9fa1d62375ef0766ea))
- ROM_LOAD16_BYTE("bayrom3a.400", 0x00000000, 0x00080000, CRC(41bcb66b) SHA1(e6f0a9236e14c2e919881ca1ffe3356aaa121730))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bayrom0a.400", 0x000001, 0x80000, CRC(43d615c6) SHA1(7c843b6d5215305b02a55c9fa1d62375ef0766ea))
+ ROM_LOAD16_BYTE("bayrom3a.400", 0x000000, 0x80000, CRC(41bcb66b) SHA1(e6f0a9236e14c2e919881ca1ffe3356aaa121730))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bw-u7.u7", 0x0000, 0x10000, CRC(a5e57557) SHA1(a884c1118331b8724507b0a916127ce5df309fe4))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bw-u17.bin", 0x000000, 0x80000, CRC(660e7f5d) SHA1(6dde294e728e596a6c455326793b65254139620e))
ROM_LOAD("bw-u21.bin", 0x080000, 0x80000, CRC(5ec3a889) SHA1(f355f742de137344e6e4b5d3a4b2380a876c8cc3))
ROM_LOAD("bw-u36.bin", 0x100000, 0x80000, CRC(1877abc5) SHA1(13ca231a486495a83cc1d9c6dde558a57eb4abe1))
@@ -1879,12 +1897,12 @@ ROM_END
ROM_START(bay_d300)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("baycpud.300", 0x0000, 0x10000, CRC(c160f045) SHA1(d1f75d5ba292b25278539b01e0f4908276d34e34))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bayrom0a.300", 0x00000001, 0x00080000, CRC(3f195829) SHA1(a10a1b7f125f239b0eff87ee6667c8250b7ffc87))
- ROM_LOAD16_BYTE("bayrom3a.300", 0x00000000, 0x00080000, CRC(ae3d8585) SHA1(28b38ebc2755ffb3859f8091a9bf50d868794a3e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bayrom0a.300", 0x000001, 0x80000, CRC(3f195829) SHA1(a10a1b7f125f239b0eff87ee6667c8250b7ffc87))
+ ROM_LOAD16_BYTE("bayrom3a.300", 0x000000, 0x80000, CRC(ae3d8585) SHA1(28b38ebc2755ffb3859f8091a9bf50d868794a3e))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bayw.u7", 0x0000, 0x10000, CRC(90d6d8a8) SHA1(482c5643453f21a078257aa13398845ef19cab3c))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bayw.u17", 0x000000, 0x80000, CRC(b20fde56) SHA1(2f2db49245e4a6a8251cbe896b2437fcec88d42d))
ROM_LOAD("bayw.u21", 0x080000, 0x80000, CRC(b7598881) SHA1(19d1dde1cb6634a7c7b5cdb4fa01cd09cc7d7777))
ROM_END
@@ -1892,12 +1910,12 @@ ROM_END
ROM_START(bay_g300)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("baywatch_cpug_c5_3.00.bin", 0x0000, 0x10000, CRC(8f85fd10) SHA1(1fd561bf6145caf15846a776b0b92e7953fdf3ff))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("baywatch_dispg_rom0_3.00.bin", 0x00000001, 0x00080000, CRC(30b0a96a) SHA1(ff0e4d4a1726ff2a553ebe4f21c0534e0a06b960))
- ROM_LOAD16_BYTE("baywatch_dispg_rom3_3.00.bin", 0x00000000, 0x00080000, CRC(c7e50fad) SHA1(95b60855cb6718eb9c8a7231e9cd2e1c326cd1e3))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("baywatch_dispg_rom0_3.00.bin", 0x000001, 0x80000, CRC(30b0a96a) SHA1(ff0e4d4a1726ff2a553ebe4f21c0534e0a06b960))
+ ROM_LOAD16_BYTE("baywatch_dispg_rom3_3.00.bin", 0x000000, 0x80000, CRC(c7e50fad) SHA1(95b60855cb6718eb9c8a7231e9cd2e1c326cd1e3))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bayw.u7", 0x0000, 0x10000, CRC(90d6d8a8) SHA1(482c5643453f21a078257aa13398845ef19cab3c))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bayw.u17", 0x000000, 0x80000, CRC(b20fde56) SHA1(2f2db49245e4a6a8251cbe896b2437fcec88d42d))
ROM_LOAD("bayw.u21", 0x080000, 0x80000, CRC(b7598881) SHA1(19d1dde1cb6634a7c7b5cdb4fa01cd09cc7d7777))
ROM_END
@@ -1905,12 +1923,12 @@ ROM_END
ROM_START(bay_f201)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("baycpuf.201", 0x0000, 0x10000, CRC(d2fddeaa) SHA1(839baca46823dc72a7ef1421764815f69f0e7084))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("bayrom0f.200", 0x00000001, 0x00080000, CRC(6dc898b6) SHA1(087b043acf64b2a16c8e4c879b90dbea1d79c614))
- ROM_LOAD16_BYTE("bayrom3f.200", 0x00000000, 0x00080000, CRC(9db1b94e) SHA1(056c1a0fd1c99c1c9426f2e2cdd68f4bbaa89d81))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("bayrom0f.200", 0x000001, 0x80000, CRC(6dc898b6) SHA1(087b043acf64b2a16c8e4c879b90dbea1d79c614))
+ ROM_LOAD16_BYTE("bayrom3f.200", 0x000000, 0x80000, CRC(9db1b94e) SHA1(056c1a0fd1c99c1c9426f2e2cdd68f4bbaa89d81))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bayw.u7", 0x0000, 0x10000, CRC(90d6d8a8) SHA1(482c5643453f21a078257aa13398845ef19cab3c))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("bayw.u17", 0x000000, 0x80000, CRC(b20fde56) SHA1(2f2db49245e4a6a8251cbe896b2437fcec88d42d))
ROM_LOAD("bayw.u21", 0x080000, 0x80000, CRC(b7598881) SHA1(19d1dde1cb6634a7c7b5cdb4fa01cd09cc7d7777))
ROM_END
@@ -1921,12 +1939,12 @@ ROM_END
ROM_START(frankst)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("franka.103", 0x0000, 0x10000, CRC(a9aba9be) SHA1(1cc22fcbc0f51a17037637c04e606579956c9cba))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("frdspr0a.103", 0x00000001, 0x00080000, CRC(9dd09c7d) SHA1(c5668e53d6c914667a59538f82222ec2efc6f187))
- ROM_LOAD16_BYTE("frdspr3a.103", 0x00000000, 0x00080000, CRC(73b538bb) SHA1(07d7ae21f062d15711d72af03bfcd52608f75a5f))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("frdspr0a.103", 0x000001, 0x80000, CRC(9dd09c7d) SHA1(c5668e53d6c914667a59538f82222ec2efc6f187))
+ ROM_LOAD16_BYTE("frdspr3a.103", 0x000000, 0x80000, CRC(73b538bb) SHA1(07d7ae21f062d15711d72af03bfcd52608f75a5f))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("frsnd.u7", 0x0000, 0x10000, CRC(084f856c) SHA1(c91331a32b565c2ed3f96156f44143dc22009e8e))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("frsnd.u17", 0x000000, 0x80000, CRC(0da904d6) SHA1(e190f1a35147b2f39224832969ca7b1d4a30f6cc))
ROM_LOAD("frsnd.u21", 0x080000, 0x80000, CRC(14d4bc12) SHA1(9e7005c5bd0afe7f9c9215b39878496640cdea77))
ROM_LOAD("frsnd.u36", 0x100000, 0x80000, CRC(9964d721) SHA1(5ea0bc051d1909bee80d3feb6b7350b6307b6dcb))
@@ -1935,12 +1953,12 @@ ROM_END
ROM_START(frankstg)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("franka.103", 0x0000, 0x10000, CRC(a9aba9be) SHA1(1cc22fcbc0f51a17037637c04e606579956c9cba))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("frdspr0g.101", 0x00000001, 0x00080000, CRC(5e27ec02) SHA1(351d6f1b7d72e415f2bf5780b6533dbd67579261))
- ROM_LOAD16_BYTE("frdspr3g.101", 0x00000000, 0x00080000, CRC(d6c607b5) SHA1(876d4bd2a5b89f1a28ff7cd45494c7245f147d27))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("frdspr0g.101", 0x000001, 0x80000, CRC(5e27ec02) SHA1(351d6f1b7d72e415f2bf5780b6533dbd67579261))
+ ROM_LOAD16_BYTE("frdspr3g.101", 0x000000, 0x80000, CRC(d6c607b5) SHA1(876d4bd2a5b89f1a28ff7cd45494c7245f147d27))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("frsnd.u7", 0x0000, 0x10000, CRC(084f856c) SHA1(c91331a32b565c2ed3f96156f44143dc22009e8e))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("frsnd.u17", 0x000000, 0x80000, CRC(0da904d6) SHA1(e190f1a35147b2f39224832969ca7b1d4a30f6cc))
ROM_LOAD("frsnd.u21", 0x080000, 0x80000, CRC(14d4bc12) SHA1(9e7005c5bd0afe7f9c9215b39878496640cdea77))
ROM_LOAD("frsnd.u36", 0x100000, 0x80000, CRC(9964d721) SHA1(5ea0bc051d1909bee80d3feb6b7350b6307b6dcb))
@@ -1949,12 +1967,12 @@ ROM_END
ROM_START(franksti)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("franka.103", 0x0000, 0x10000, CRC(a9aba9be) SHA1(1cc22fcbc0f51a17037637c04e606579956c9cba))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("frankdisprom0_i1.03", 0x00000001, 0x00080000, CRC(6be7cc1c) SHA1(418ea4843c1380478a88aa08a63ab8ec98a55ac3))
- ROM_LOAD16_BYTE("frankdisprom3_i1.03", 0x00000000, 0x00080000, CRC(9e08281e) SHA1(dcebeccf86b20cbd89449f1f9f1879bcb7abb836))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("frankdisprom0_i1.03", 0x000001, 0x80000, CRC(6be7cc1c) SHA1(418ea4843c1380478a88aa08a63ab8ec98a55ac3))
+ ROM_LOAD16_BYTE("frankdisprom3_i1.03", 0x000000, 0x80000, CRC(9e08281e) SHA1(dcebeccf86b20cbd89449f1f9f1879bcb7abb836))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("frsnd.u7", 0x0000, 0x10000, CRC(084f856c) SHA1(c91331a32b565c2ed3f96156f44143dc22009e8e))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("frsnd.u17", 0x000000, 0x80000, CRC(0da904d6) SHA1(e190f1a35147b2f39224832969ca7b1d4a30f6cc))
ROM_LOAD("frsnd.u21", 0x080000, 0x80000, CRC(14d4bc12) SHA1(9e7005c5bd0afe7f9c9215b39878496640cdea77))
ROM_LOAD("frsnd.u36", 0x100000, 0x80000, CRC(9964d721) SHA1(5ea0bc051d1909bee80d3feb6b7350b6307b6dcb))
@@ -1966,12 +1984,12 @@ ROM_END
ROM_START(mav_402)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("mavcpua.404", 0x0000, 0x10000, CRC(9f06bd8d) SHA1(3b931af5455ed9c40f2b6c884427a326bba8f75a))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("mavdisp0.402", 0x00000001, 0x00080000, CRC(4e643525) SHA1(30b91c91c2f1295cdd018023c5ac783570a0aeea))
- ROM_LOAD16_BYTE("mavdisp3.402", 0x00000000, 0x00080000, CRC(8c5f9460) SHA1(6369b4c98ec6fd5e769275b44631b2b6dd5c411b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("mavdisp0.402", 0x000001, 0x80000, CRC(4e643525) SHA1(30b91c91c2f1295cdd018023c5ac783570a0aeea))
+ ROM_LOAD16_BYTE("mavdisp3.402", 0x000000, 0x80000, CRC(8c5f9460) SHA1(6369b4c98ec6fd5e769275b44631b2b6dd5c411b))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mavu7.dat", 0x0000, 0x10000, CRC(427e6ab9) SHA1(6ad9295097f3d498383c91adf4ca667f797f29b1))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("mavu17.dat", 0x000000, 0x80000, CRC(cba377b8) SHA1(b7551b6cb64357cdacf1a96cedfccbabf4bd070a))
ROM_LOAD("mavu21.dat", 0x080000, 0x80000, CRC(be0c6a6f) SHA1(4fee912d9f0d4b196dbfacf06a4202b2fa3037b1))
ROM_END
@@ -1979,12 +1997,12 @@ ROM_END
ROM_START(mav_401)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("mavcpua.404", 0x0000, 0x10000, CRC(9f06bd8d) SHA1(3b931af5455ed9c40f2b6c884427a326bba8f75a))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("mavdsar0.401", 0x00000001, 0x00080000, CRC(35b811af) SHA1(1e235a0f16ef0eecca5b6ec7a2234ed1dc4e4440))
- ROM_LOAD16_BYTE("mavdsar3.401", 0x00000000, 0x00080000, CRC(c4c126ae) SHA1(b4841e83ec075bddc919217b65afaac97709e69b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("mavdsar0.401", 0x000001, 0x80000, CRC(35b811af) SHA1(1e235a0f16ef0eecca5b6ec7a2234ed1dc4e4440))
+ ROM_LOAD16_BYTE("mavdsar3.401", 0x000000, 0x80000, CRC(c4c126ae) SHA1(b4841e83ec075bddc919217b65afaac97709e69b))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mavu7.dat", 0x0000, 0x10000, CRC(427e6ab9) SHA1(6ad9295097f3d498383c91adf4ca667f797f29b1))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("mavu17.dat", 0x000000, 0x80000, CRC(cba377b8) SHA1(b7551b6cb64357cdacf1a96cedfccbabf4bd070a))
ROM_LOAD("mavu21.dat", 0x080000, 0x80000, CRC(be0c6a6f) SHA1(4fee912d9f0d4b196dbfacf06a4202b2fa3037b1))
ROM_END
@@ -1992,12 +2010,12 @@ ROM_END
ROM_START(mav_400)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("mavgc5.400", 0x0000, 0x10000, CRC(e2d0a88b) SHA1(d1571edba47aecc871ac0cfdaabca31774f70fa1))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("mavdisp0.400", 0x00000001, 0x00080000, CRC(b6069484) SHA1(2878d9a0151194bd4a0e12e2f75b02a5d7316b68))
- ROM_LOAD16_BYTE("mavdisp3.400", 0x00000000, 0x00080000, CRC(149f871f) SHA1(e29a8bf149b77bccaeed202786cf76d9a4fd51df))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("mavdisp0.400", 0x000001, 0x80000, CRC(b6069484) SHA1(2878d9a0151194bd4a0e12e2f75b02a5d7316b68))
+ ROM_LOAD16_BYTE("mavdisp3.400", 0x000000, 0x80000, CRC(149f871f) SHA1(e29a8bf149b77bccaeed202786cf76d9a4fd51df))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mavu7.dat", 0x0000, 0x10000, CRC(427e6ab9) SHA1(6ad9295097f3d498383c91adf4ca667f797f29b1))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("mavu17.dat", 0x000000, 0x80000, CRC(cba377b8) SHA1(b7551b6cb64357cdacf1a96cedfccbabf4bd070a))
ROM_LOAD("mavu21.dat", 0x080000, 0x80000, CRC(be0c6a6f) SHA1(4fee912d9f0d4b196dbfacf06a4202b2fa3037b1))
ROM_END
@@ -2005,12 +2023,12 @@ ROM_END
ROM_START(mav_200)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("mavcpua.200", 0x0000, 0x10000, CRC(0d9e9bc3) SHA1(23342950c2343591bdf168e3bc92ca669a702ffa))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("mavdisp0.200", 0x00000001, 0x00080000, CRC(8a85785f) SHA1(af1b8b972359cce4bfd82743e90be8066fa57c31))
- ROM_LOAD16_BYTE("mavdisp3.200", 0x00000000, 0x00080000, CRC(2098ad22) SHA1(2ccf9c455b89a6b439957199bca75e299e18ac62))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("mavdisp0.200", 0x000001, 0x80000, CRC(8a85785f) SHA1(af1b8b972359cce4bfd82743e90be8066fa57c31))
+ ROM_LOAD16_BYTE("mavdisp3.200", 0x000000, 0x80000, CRC(2098ad22) SHA1(2ccf9c455b89a6b439957199bca75e299e18ac62))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mavu7.dat", 0x0000, 0x10000, CRC(427e6ab9) SHA1(6ad9295097f3d498383c91adf4ca667f797f29b1))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("mavu17.dat", 0x000000, 0x80000, CRC(cba377b8) SHA1(b7551b6cb64357cdacf1a96cedfccbabf4bd070a))
ROM_LOAD("mavu21.dat", 0x080000, 0x80000, CRC(be0c6a6f) SHA1(4fee912d9f0d4b196dbfacf06a4202b2fa3037b1))
ROM_END
@@ -2018,12 +2036,12 @@ ROM_END
ROM_START(mav_100)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("mavcpu.100", 0x0000, 0x10000, CRC(13fdc959) SHA1(f8155f0fe5d4c3fe55000ab3b57f298fd9229fef))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("mavdsp0.100", 0x00000001, 0x00080000, CRC(3e01f5c8) SHA1(8e40f399c77aa17bebbefe04742ff2ff95508323))
- ROM_LOAD16_BYTE("mavdsp3.100", 0x00000000, 0x00080000, CRC(e2b623f2) SHA1(7b5a6d0db30f3deedb8fe0e1731c81ec836a66f5))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("mavdsp0.100", 0x000001, 0x80000, CRC(3e01f5c8) SHA1(8e40f399c77aa17bebbefe04742ff2ff95508323))
+ ROM_LOAD16_BYTE("mavdsp3.100", 0x000000, 0x80000, CRC(e2b623f2) SHA1(7b5a6d0db30f3deedb8fe0e1731c81ec836a66f5))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mavu7.dat", 0x0000, 0x10000, CRC(427e6ab9) SHA1(6ad9295097f3d498383c91adf4ca667f797f29b1))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("mavu17.dat", 0x000000, 0x80000, CRC(cba377b8) SHA1(b7551b6cb64357cdacf1a96cedfccbabf4bd070a))
ROM_LOAD("mavu21.dat", 0x080000, 0x80000, CRC(be0c6a6f) SHA1(4fee912d9f0d4b196dbfacf06a4202b2fa3037b1))
ROM_END
@@ -2034,12 +2052,12 @@ ROM_END
ROM_START(ctcheese)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("ctcc5.bin", 0x0000, 0x10000, CRC(465d41de) SHA1(0e30b527d5b47f8823cbe6f196052b090e69e907))
- ROM_REGION16_BE(0x100000, "dmdcpu", 0)
- ROM_LOAD16_BYTE("ctcdsp0.bin", 0x00000001, 0x00080000, CRC(6885734d) SHA1(9ac82c9c8bf4e66d2999fbfd08617ef6c266dfe8))
- ROM_LOAD16_BYTE("ctcdsp3.bin", 0x00000000, 0x00080000, CRC(0c2b3f3c) SHA1(cb730cc6fdd2a2786d25b46b1c45466ee56132d1))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION16_BE(0x100000, "decodmd3", 0)
+ ROM_LOAD16_BYTE("ctcdsp0.bin", 0x000001, 0x80000, CRC(6885734d) SHA1(9ac82c9c8bf4e66d2999fbfd08617ef6c266dfe8))
+ ROM_LOAD16_BYTE("ctcdsp3.bin", 0x000000, 0x80000, CRC(0c2b3f3c) SHA1(cb730cc6fdd2a2786d25b46b1c45466ee56132d1))
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("ctcu7.bin", 0x0000, 0x10000, CRC(406b9b9e) SHA1(f3f86c368c92ee0cb47323e6e0ca0fa05b6122bd))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("ctcu17.bin", 0x000000, 0x80000, CRC(ea125fb3) SHA1(2bc1d2a6138ff77ad19b7bcff784dba73f545883))
ROM_LOAD("ctcu21.bin", 0x080000, 0x80000, CRC(1b3af383) SHA1(c6b57f3f0781954f75d164d909093e4ed8da440e))
ROM_END
@@ -2056,9 +2074,9 @@ ROM_START(detest)
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD("de_test.512", 0x0000, 0x10000, CRC(bade8ca8) SHA1(e7e9d6622b9c9b9381ba2793297f87f102214972))
- ROM_REGION16_BE(0x01000000, "dmdcpu", ROMREGION_ERASE00)
- ROM_REGION(0x010000, "soundcpu", ROMREGION_ERASE00)
- ROM_REGION(0x1000000, "bsmt", ROMREGION_ERASE00)
+ ROM_REGION16_BE(0x01000000, "decodmd3", ROMREGION_ERASE00)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", ROMREGION_ERASE00)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", ROMREGION_ERASE00)
ROM_END
} // Anonymous namespace
diff --git a/src/mame/pinball/decodmd1.cpp b/src/mame/pinball/decodmd1.cpp
index b8f53993026c3..fc6ec85afb70c 100644
--- a/src/mame/pinball/decodmd1.cpp
+++ b/src/mame/pinball/decodmd1.cpp
@@ -9,8 +9,12 @@
#include "emu.h"
#include "decodmd1.h"
+
#include "screen.h"
+#include
+
+
DEFINE_DEVICE_TYPE(DECODMD1, decodmd_type1_device, "decodmd1", "Data East Pinball Dot Matrix Display Type 1")
uint8_t decodmd_type1_device::latch_r()
@@ -38,7 +42,7 @@ void decodmd_type1_device::ctrl_w(uint8_t data)
}
if((m_ctrl & 0x02) && !(data & 0x02))
{
- m_rombank1->set_entry(0);
+ m_rombank->set_entry(0);
set_busy(B_SET,0);
m_rowselect = 0;
m_blank = 0;
@@ -65,10 +69,13 @@ uint8_t decodmd_type1_device::dmd_port_r(offs_t offset)
{
if((offset & 0x84) == 0x80)
{
- // IDAT (read only)
- //m_ctrl &= ~0x01;
- set_busy(B_CLR,0);
- set_busy(B_CLR,1);
+ if(!machine().side_effects_disabled())
+ {
+ // IDAT (read only)
+ //m_ctrl &= ~0x01;
+ set_busy(B_CLR,0);
+ set_busy(B_CLR,1);
+ }
return m_command;
}
return 0xff;
@@ -160,7 +167,7 @@ void decodmd_type1_device::output_data()
void decodmd_type1_device::set_busy(uint8_t input, uint8_t val)
{
- uint8_t newval = (m_busy_lines & ~input) | (val ? input : 0);
+ uint8_t const newval = (m_busy_lines & ~input) | (val ? input : 0);
if(~newval & m_busy_lines & B_CLR)
m_busy = 0;
@@ -184,9 +191,9 @@ TIMER_DEVICE_CALLBACK_MEMBER(decodmd_type1_device::dmd_nmi)
void decodmd_type1_device::decodmd1_map(address_map &map)
{
- map(0x0000, 0x3fff).bankr("dmdbank2"); // last 16k of ROM
- map(0x4000, 0x7fff).bankr("dmdbank1");
- map(0x8000, 0x9fff).ram().share("dmdram");
+ map(0x0000, 0x3fff).rom().region(DEVICE_SELF, 0x1c000); // last 16k of ROM
+ map(0x4000, 0x7fff).bankr(m_rombank);
+ map(0x8000, 0x9fff).ram().share(m_ram);
}
void decodmd_type1_device::decodmd1_io_map(address_map &map)
@@ -213,7 +220,7 @@ void decodmd_type1_device::device_add_mconfig(machine_config &config)
dmd.set_refresh_hz(50);
HC259(config, m_bitlatch); // U4
- m_bitlatch->parallel_out_cb().set_membank(m_rombank1).mask(0x07).invert();
+ m_bitlatch->parallel_out_cb().set_membank(m_rombank).mask(0x07).invert();
m_bitlatch->q_out_cb<3>().set(FUNC(decodmd_type1_device::blank_w));
m_bitlatch->q_out_cb<4>().set(FUNC(decodmd_type1_device::status_w));
m_bitlatch->q_out_cb<5>().set(FUNC(decodmd_type1_device::rowdata_w));
@@ -225,16 +232,51 @@ void decodmd_type1_device::device_add_mconfig(machine_config &config)
decodmd_type1_device::decodmd_type1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, DECODMD1, tag, owner, clock)
, m_cpu(*this, "dmdcpu")
- , m_rombank1(*this, "dmdbank1")
- , m_rombank2(*this, "dmdbank2")
+ , m_rombank(*this, "dmdbank")
, m_ram(*this, "dmdram")
, m_bitlatch(*this, "bitlatch")
- , m_rom(*this, finder_base::DUMMY_TAG)
-{}
+ , m_rom(*this, DEVICE_SELF)
+ , m_latch(0)
+ , m_status(0)
+ , m_ctrl(0)
+ , m_busy(0)
+ , m_command(0)
+ , m_rowclock(0)
+ , m_rowdata(0)
+ , m_rowselect(0)
+ , m_blank(0)
+ , m_pxdata1(0)
+ , m_pxdata2(0)
+ , m_pxdata1_latched(0)
+ , m_pxdata2_latched(0)
+ , m_frameswap(false)
+ , m_busy_lines(0)
+ , m_prevrow(0)
+{
+ std::fill(std::begin(m_pixels), std::end(m_pixels), 0);
+}
void decodmd_type1_device::device_start()
{
- save_pointer(m_pixels,"DMD Video data",0x100);
+ m_rombank->configure_entries(0, 8, &m_rom[0x0000], 0x4000);
+
+ save_item(NAME(m_latch));
+ save_item(NAME(m_status));
+ save_item(NAME(m_ctrl));
+ save_item(NAME(m_busy));
+ save_item(NAME(m_command));
+ save_item(NAME(m_rowclock));
+ save_item(NAME(m_rowdata));
+ save_item(NAME(m_rowselect));
+ save_item(NAME(m_blank));
+ save_item(NAME(m_pxdata1));
+ save_item(NAME(m_pxdata2));
+ save_item(NAME(m_pxdata1_latched));
+ save_item(NAME(m_pxdata2_latched));
+ save_item(NAME(m_frameswap));
+ save_item(NAME(m_pixels));
+ save_item(NAME(m_busy_lines));
+ save_item(NAME(m_prevrow));
}
void decodmd_type1_device::device_reset()
@@ -242,10 +284,7 @@ void decodmd_type1_device::device_reset()
memset(m_ram,0,0x2000);
memset(m_pixels,0,0x200*sizeof(uint32_t));
- m_rombank1->configure_entries(0, 8, &m_rom[0x0000], 0x4000);
- m_rombank2->configure_entry(0, &m_rom[0x1c000]);
- m_rombank1->set_entry(0);
- m_rombank2->set_entry(0);
+ m_rombank->set_entry(0);
m_status = 0;
m_busy = 0;
set_busy(B_CLR|B_SET,0);
diff --git a/src/mame/pinball/decodmd1.h b/src/mame/pinball/decodmd1.h
index 6224cd650594e..f2904353ef30b 100644
--- a/src/mame/pinball/decodmd1.h
+++ b/src/mame/pinball/decodmd1.h
@@ -11,41 +11,19 @@
#include "cpu/z80/z80.h"
#include "machine/74259.h"
-#include "machine/ram.h"
#include "machine/timer.h"
class decodmd_type1_device : public device_t
{
public:
- template
- decodmd_type1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&gfxregion_tag)
- : decodmd_type1_device(mconfig, tag, owner, clock)
- {
- set_gfxregion(std::forward(gfxregion_tag));
- }
-
decodmd_type1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- uint8_t latch_r();
void data_w(uint8_t data);
uint8_t busy_r();
void ctrl_w(uint8_t data);
- uint8_t ctrl_r();
uint8_t status_r();
- uint8_t dmd_port_r(offs_t offset);
- void dmd_port_w(offs_t offset, uint8_t data);
- void blank_w(int state);
- void status_w(int state);
- void rowdata_w(int state);
- void rowclock_w(int state);
- void test_w(int state);
-
- template void set_gfxregion(T &&tag) { m_rom.set_tag(std::forward(tag)); }
-
- void decodmd1_io_map(address_map &map);
- void decodmd1_map(address_map &map);
protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual void device_start() override;
@@ -56,6 +34,12 @@ class decodmd_type1_device : public device_t
static constexpr unsigned B_SET = 0x02;
static constexpr unsigned B_CLK = 0x04;
+ required_device m_cpu;
+ required_memory_bank m_rombank;
+ required_shared_ptr m_ram;
+ required_device m_bitlatch;
+ required_region_ptr m_rom;
+
uint8_t m_latch;
uint8_t m_status;
uint8_t m_ctrl;
@@ -74,20 +58,26 @@ class decodmd_type1_device : public device_t
uint8_t m_busy_lines;
uint32_t m_prevrow;
- required_device m_cpu;
- required_memory_bank m_rombank1;
- required_memory_bank m_rombank2;
- required_shared_ptr m_ram;
- required_device m_bitlatch;
- required_region_ptr m_rom;
+ uint8_t latch_r();
+ uint8_t ctrl_r();
+ uint8_t dmd_port_r(offs_t offset);
+ void dmd_port_w(offs_t offset, uint8_t data);
+
+ void blank_w(int state);
+ void status_w(int state);
+ void rowdata_w(int state);
+ void rowclock_w(int state);
+ void test_w(int state);
void output_data();
void set_busy(uint8_t input, uint8_t val);
uint32_t screen_update( screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect );
TIMER_DEVICE_CALLBACK_MEMBER(dmd_nmi);
+
+ void decodmd1_map(address_map &map);
+ void decodmd1_io_map(address_map &map);
};
DECLARE_DEVICE_TYPE(DECODMD1, decodmd_type1_device)
-
#endif // MAME_PINBALL_DECODMD1_H
diff --git a/src/mame/pinball/decodmd2.cpp b/src/mame/pinball/decodmd2.cpp
index 2495db21bc13e..11bb049e5d995 100644
--- a/src/mame/pinball/decodmd2.cpp
+++ b/src/mame/pinball/decodmd2.cpp
@@ -10,13 +10,17 @@
#include "emu.h"
#include "decodmd2.h"
+
#include "screen.h"
+#include
+
+
DEFINE_DEVICE_TYPE(DECODMD2, decodmd_type2_device, "decodmd2", "Data East Pinball Dot Matrix Display Type 2")
void decodmd_type2_device::bank_w(uint8_t data)
{
- m_rombank1->set_entry(data & 0x1f);
+ m_rombank->set_entry(data & 0x1f);
}
void decodmd_type2_device::crtc_address_w(uint8_t data)
@@ -38,9 +42,12 @@ void decodmd_type2_device::crtc_register_w(uint8_t data)
uint8_t decodmd_type2_device::latch_r()
{
- // clear IRQ?
- m_cpu->set_input_line(M6809_IRQ_LINE,CLEAR_LINE);
- m_busy = false;
+ if (!machine().side_effects_disabled())
+ {
+ // clear IRQ?
+ m_cpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE);
+ m_busy = false;
+ }
return m_command;
}
@@ -65,16 +72,16 @@ uint8_t decodmd_type2_device::busy_r()
void decodmd_type2_device::ctrl_w(uint8_t data)
{
- if(!(m_ctrl & 0x01) && (data & 0x01))
+ if (!(m_ctrl & 0x01) && (data & 0x01))
{
m_cpu->set_input_line(M6809_IRQ_LINE,ASSERT_LINE);
m_busy = true;
m_command = m_latch;
}
- if((m_ctrl & 0x02) && !(data & 0x02))
+ if ((m_ctrl & 0x02) && !(data & 0x02))
{
m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero);
- m_rombank1->set_entry(0);
+ m_rombank->set_entry(0);
logerror("DMD2: Reset\n");
}
m_ctrl = data;
@@ -108,7 +115,7 @@ MC6845_UPDATE_ROW( decodmd_type2_device::crtc_update_row )
{
for (int dot = 0; dot < 8; dot++)
{
- uint8_t intensity = ((m_ram[addr] >> (7-dot) & 0x01) << 1) | (m_ram[addr + 0x200] >> (7-dot) & 0x01);
+ uint8_t const intensity = ((m_ram[addr] >> (7-dot) & 0x01) << 1) | (m_ram[addr + 0x200] >> (7-dot) & 0x01);
bitmap.pix(y, x + dot) = rgb_t(0x3f * intensity, 0x2a * intensity, 0x00);
}
addr++;
@@ -117,13 +124,13 @@ MC6845_UPDATE_ROW( decodmd_type2_device::crtc_update_row )
void decodmd_type2_device::decodmd2_map(address_map &map)
{
- map(0x0000, 0x2fff).ram().share("dmdram");
+ map(0x0000, 0x2fff).ram().share(m_ram);
map(0x3000, 0x3000).rw(FUNC(decodmd_type2_device::crtc_status_r), FUNC(decodmd_type2_device::crtc_address_w));
map(0x3001, 0x3001).w(FUNC(decodmd_type2_device::crtc_register_w));
map(0x3002, 0x3002).w(FUNC(decodmd_type2_device::bank_w));
map(0x3003, 0x3003).r(FUNC(decodmd_type2_device::latch_r));
- map(0x4000, 0x7fff).bankr("dmdbank1").w(FUNC(decodmd_type2_device::status_w));
- map(0x8000, 0xffff).bankr("dmdbank2"); // last 32k of ROM
+ map(0x4000, 0x7fff).bankr(m_rombank).w(FUNC(decodmd_type2_device::status_w));
+ map(0x8000, 0xffff).rom().region(DEVICE_SELF, 0x78000); // last 32k of ROM
}
void decodmd_type2_device::device_add_mconfig(machine_config &config)
@@ -146,7 +153,7 @@ void decodmd_type2_device::device_add_mconfig(machine_config &config)
screen.set_native_aspect();
screen.set_size(128, 32);
screen.set_visarea(0, 128-1, 0, 32-1);
- screen.set_screen_update("dmd6845", FUNC(mc6845_device::screen_update));
+ screen.set_screen_update(m_mc6845, FUNC(mc6845_device::screen_update));
screen.set_refresh_hz(60);
}
@@ -155,22 +162,34 @@ decodmd_type2_device::decodmd_type2_device(const machine_config &mconfig, const
: device_t(mconfig, DECODMD2, tag, owner, clock)
, m_cpu(*this, "dmdcpu")
, m_mc6845(*this, "dmd6845")
- , m_rombank1(*this, "dmdbank1")
- , m_rombank2(*this, "dmdbank2")
+ , m_rombank(*this, "dmdbank")
, m_ram(*this, "dmdram")
- , m_rom(*this, finder_base::DUMMY_TAG)
+ , m_rom(*this, DEVICE_SELF)
+ , m_crtc_index(0)
+ , m_latch(0)
+ , m_status(0)
+ , m_ctrl(0)
+ , m_busy(0)
+ , m_command(0)
{
+ std::fill(std::begin(m_crtc_reg), std::end(m_crtc_reg), 0);
}
void decodmd_type2_device::device_start()
{
+ m_rombank->configure_entries(0, 32, &m_rom[0x0000], 0x4000);
+
+ save_item(NAME(m_crtc_index));
+ save_item(NAME(m_crtc_reg));
+ save_item(NAME(m_latch));
+ save_item(NAME(m_status));
+ save_item(NAME(m_ctrl));
+ save_item(NAME(m_busy));
+ save_item(NAME(m_command));
}
void decodmd_type2_device::device_reset()
{
- m_rombank1->configure_entries(0, 32, &m_rom[0x0000], 0x4000);
- m_rombank2->configure_entry(0, &m_rom[0x78000]);
- m_rombank1->set_entry(0);
- m_rombank2->set_entry(0);
+ m_rombank->set_entry(0);
m_busy = false;
}
diff --git a/src/mame/pinball/decodmd2.h b/src/mame/pinball/decodmd2.h
index 0559893e2ba37..f0c42f96bac38 100644
--- a/src/mame/pinball/decodmd2.h
+++ b/src/mame/pinball/decodmd2.h
@@ -10,7 +10,6 @@
#pragma once
#include "cpu/m6809/m6809.h"
-#include "machine/ram.h"
#include "machine/timer.h"
#include "video/mc6845.h"
@@ -18,30 +17,14 @@
class decodmd_type2_device : public device_t
{
public:
- template
- decodmd_type2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&gfxregion_tag)
- : decodmd_type2_device(mconfig, tag, owner, clock)
- {
- set_gfxregion(std::forward(gfxregion_tag));
- }
-
decodmd_type2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- void bank_w(uint8_t data);
- void crtc_address_w(uint8_t data);
- void crtc_register_w(uint8_t data);
- uint8_t crtc_status_r();
- uint8_t latch_r();
void data_w(uint8_t data);
uint8_t busy_r();
void ctrl_w(uint8_t data);
- uint8_t ctrl_r();
+ uint8_t ctrl_r(); // pinball/whitestar.cpp uses this
uint8_t status_r();
- void status_w(uint8_t data);
- template void set_gfxregion(T &&tag) { m_rom.set_tag(std::forward(tag)); }
-
- void decodmd2_map(address_map &map);
protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual void device_start() override;
@@ -52,8 +35,7 @@ class decodmd_type2_device : public device_t
private:
required_device m_cpu;
required_device m_mc6845;
- required_memory_bank m_rombank1;
- required_memory_bank m_rombank2;
+ required_memory_bank m_rombank;
required_shared_ptr m_ram;
required_region_ptr m_rom;
@@ -65,8 +47,17 @@ class decodmd_type2_device : public device_t
uint8_t m_busy;
uint8_t m_command;
+ void bank_w(uint8_t data);
+ void crtc_address_w(uint8_t data);
+ void crtc_register_w(uint8_t data);
+ uint8_t crtc_status_r();
+ uint8_t latch_r();
+ void status_w(uint8_t data);
+
TIMER_DEVICE_CALLBACK_MEMBER(dmd_firq);
MC6845_UPDATE_ROW(crtc_update_row);
+
+ void decodmd2_map(address_map &map);
};
DECLARE_DEVICE_TYPE(DECODMD2, decodmd_type2_device)
diff --git a/src/mame/pinball/decodmd3.cpp b/src/mame/pinball/decodmd3.cpp
index 98b9a9492fd12..3fb8f0d783358 100644
--- a/src/mame/pinball/decodmd3.cpp
+++ b/src/mame/pinball/decodmd3.cpp
@@ -10,8 +10,12 @@
#include "emu.h"
#include "decodmd3.h"
+
#include "screen.h"
+#include
+
+
DEFINE_DEVICE_TYPE(DECODMD3, decodmd_type3_device, "decodmd3", "Data East Pinball Dot Matrix Display Type 3")
void decodmd_type3_device::data_w(uint8_t data)
@@ -25,7 +29,7 @@ uint8_t decodmd_type3_device::busy_r()
ret = (m_status & 0x0f) << 3;
- if(m_busy)
+ if (m_busy)
return 0x80 | ret;
else
return 0x00 | ret;
@@ -33,13 +37,13 @@ uint8_t decodmd_type3_device::busy_r()
void decodmd_type3_device::ctrl_w(uint8_t data)
{
- if(!(m_ctrl & 0x01) && (data & 0x01))
+ if (!(m_ctrl & 0x01) && (data & 0x01))
{
m_cpu->set_input_line(M68K_IRQ_1,ASSERT_LINE);
m_busy = true;
m_command = m_latch;
}
- if((m_ctrl & 0x02) && !(data & 0x02))
+ if ((m_ctrl & 0x02) && !(data & 0x02))
{
m_cpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero);
logerror("DMD3: Reset\n");
@@ -59,9 +63,12 @@ void decodmd_type3_device::status_w(uint16_t data)
uint16_t decodmd_type3_device::latch_r()
{
- // clear IRQ?
- m_cpu->set_input_line(M68K_IRQ_1,CLEAR_LINE);
- m_busy = false;
+ if (!machine().side_effects_disabled())
+ {
+ // clear IRQ?
+ m_cpu->set_input_line(M68K_IRQ_1, CLEAR_LINE);
+ m_busy = false;
+ }
return m_command;
}
@@ -72,7 +79,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(decodmd_type3_device::dmd_irq)
void decodmd_type3_device::crtc_address_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
- if(ACCESSING_BITS_8_15)
+ if (ACCESSING_BITS_8_15)
{
m_mc6845->address_w(data >> 8);
m_crtc_index = data >> 8;
@@ -81,7 +88,7 @@ void decodmd_type3_device::crtc_address_w(offs_t offset, uint16_t data, uint16_t
uint16_t decodmd_type3_device::crtc_status_r(offs_t offset, uint16_t mem_mask)
{
- if(ACCESSING_BITS_8_15)
+ if (ACCESSING_BITS_8_15)
return m_mc6845->register_r();
else
return 0xff;
@@ -89,9 +96,9 @@ uint16_t decodmd_type3_device::crtc_status_r(offs_t offset, uint16_t mem_mask)
void decodmd_type3_device::crtc_register_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
- if(ACCESSING_BITS_8_15)
+ if (ACCESSING_BITS_8_15)
{
- if(m_crtc_index == 9) // hack!!
+ if (m_crtc_index == 9) // hack!!
data -= 0x100;
m_mc6845->register_w(data >> 8);
m_crtc_reg[m_crtc_index] = data >> 8;
@@ -107,12 +114,12 @@ MC6845_UPDATE_ROW( decodmd_type3_device::crtc_update_row )
{
for (int dot = 0; dot < 8; dot++)
{
- uint8_t intensity = (BIT(m_ram[addr], 15-dot) << 1) | BIT(m_ram[addr + 0x400], 15-dot);
+ uint8_t const intensity = (BIT(m_ram[addr], 15-dot) << 1) | BIT(m_ram[addr + 0x400], 15-dot);
bitmap.pix(y, x + dot) = rgb_t(0x3f * intensity, 0x2a * intensity, 0x00);
}
for (int dot = 8; dot < 16; dot++)
{
- uint8_t intensity = (BIT(m_ram[addr], 15-dot) << 1) | BIT(m_ram[addr + 0x400], 15-dot);
+ uint8_t const intensity = (BIT(m_ram[addr], 15-dot) << 1) | BIT(m_ram[addr + 0x400], 15-dot);
bitmap.pix(y, x + dot) = rgb_t(0x3f * intensity, 0x2a * intensity, 0x00);
}
}
@@ -120,11 +127,11 @@ MC6845_UPDATE_ROW( decodmd_type3_device::crtc_update_row )
void decodmd_type3_device::decodmd3_map(address_map &map)
{
- map(0x00000000, 0x000fffff).bankr("dmdrom");
- map(0x00800000, 0x0080ffff).ram().share("dmdram");
- map(0x00c00010, 0x00c00011).rw(FUNC(decodmd_type3_device::crtc_status_r), FUNC(decodmd_type3_device::crtc_address_w));
- map(0x00c00012, 0x00c00013).w(FUNC(decodmd_type3_device::crtc_register_w));
- map(0x00c00020, 0x00c00021).rw(FUNC(decodmd_type3_device::latch_r), FUNC(decodmd_type3_device::status_w));
+ map(0x000000, 0x0fffff).rom().region(DEVICE_SELF, 0);
+ map(0x800000, 0x80ffff).ram().share(m_ram);
+ map(0xc00010, 0xc00011).rw(FUNC(decodmd_type3_device::crtc_status_r), FUNC(decodmd_type3_device::crtc_address_w));
+ map(0xc00012, 0xc00013).w(FUNC(decodmd_type3_device::crtc_register_w));
+ map(0xc00020, 0xc00021).rw(FUNC(decodmd_type3_device::latch_r), FUNC(decodmd_type3_device::status_w));
}
void decodmd_type3_device::device_add_mconfig(machine_config &config)
@@ -147,7 +154,7 @@ void decodmd_type3_device::device_add_mconfig(machine_config &config)
screen.set_native_aspect();
screen.set_size(192, 64);
screen.set_visarea(0, 192-1, 0, 64-1);
- screen.set_screen_update("dmd6845", FUNC(mc6845_device::screen_update));
+ screen.set_screen_update(m_mc6845, FUNC(mc6845_device::screen_update));
screen.set_refresh_hz(60);
}
@@ -156,18 +163,28 @@ decodmd_type3_device::decodmd_type3_device(const machine_config &mconfig, const
: device_t(mconfig, DECODMD3, tag, owner, clock)
, m_cpu(*this,"dmdcpu")
, m_mc6845(*this,"dmd6845")
- , m_rombank(*this,"dmdrom")
, m_ram(*this, "dmdram")
- , m_rom(*this, finder_base::DUMMY_TAG)
+ , m_status(0)
+ , m_crtc_index(0)
+ , m_latch(0)
+ , m_ctrl(0)
+ , m_busy(0)
+ , m_command(0)
{
+ std::fill(std::begin(m_crtc_reg), std::end(m_crtc_reg), 0);
}
void decodmd_type3_device::device_start()
{
+ save_item(NAME(m_status));
+ save_item(NAME(m_crtc_index));
+ save_item(NAME(m_crtc_reg));
+ save_item(NAME(m_latch));
+ save_item(NAME(m_ctrl));
+ save_item(NAME(m_busy));
+ save_item(NAME(m_command));
}
void decodmd_type3_device::device_reset()
{
- m_rombank->configure_entry(0, &m_rom[0]);
- m_rombank->set_entry(0);
}
diff --git a/src/mame/pinball/decodmd3.h b/src/mame/pinball/decodmd3.h
index a26994eae117d..4b80c23e37eed 100644
--- a/src/mame/pinball/decodmd3.h
+++ b/src/mame/pinball/decodmd3.h
@@ -10,7 +10,6 @@
#pragma once
#include "cpu/m68000/m68000.h"
-#include "machine/ram.h"
#include "machine/timer.h"
#include "video/mc6845.h"
@@ -18,23 +17,13 @@
class decodmd_type3_device : public device_t
{
public:
- template
- decodmd_type3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&gfxregion_tag)
- : decodmd_type3_device(mconfig, tag, owner, clock)
- {
- set_gfxregion(std::forward(gfxregion_tag));
- }
-
decodmd_type3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template void set_gfxregion(T &&tag) { m_rom.set_tag(std::forward(tag)); }
-
void data_w(uint8_t data);
uint8_t busy_r();
void ctrl_w(uint8_t data);
uint16_t status_r();
- void decodmd3_map(address_map &map);
protected:
virtual void device_add_mconfig(machine_config &config) override;
virtual void device_start() override;
@@ -43,11 +32,8 @@ class decodmd_type3_device : public device_t
private:
required_device m_cpu;
required_device m_mc6845;
- required_memory_bank m_rombank;
required_shared_ptr m_ram;
- required_region_ptr m_rom;
-
uint8_t m_status;
uint8_t m_crtc_index;
uint8_t m_crtc_reg[0x100];
@@ -64,6 +50,8 @@ class decodmd_type3_device : public device_t
void crtc_address_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
void crtc_register_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
uint16_t crtc_status_r(offs_t offset, uint16_t mem_mask = ~0);
+
+ void decodmd3_map(address_map &map);
};
DECLARE_DEVICE_TYPE(DECODMD3, decodmd_type3_device)
diff --git a/src/mame/pinball/whitestar.cpp b/src/mame/pinball/whitestar.cpp
index b03d5a4d71e34..5d36935564986 100644
--- a/src/mame/pinball/whitestar.cpp
+++ b/src/mame/pinball/whitestar.cpp
@@ -78,6 +78,8 @@ Dale Jr NASCAR Special Edition 5097 Hold CDEF, hit 1 CDEF (u
//#include "video/mc6845.h"
+#include "speaker.h"
+
namespace {
class whitestar_state : public genpin_class
@@ -238,7 +240,7 @@ void whitestar_state::whitestar_base_map(address_map &map)
map(0x3300, 0x3300).w(FUNC(whitestar_state::switch_w));
map(0x3400, 0x3400).r(FUNC(whitestar_state::switch_r));
map(0x3600, 0x3600).w(FUNC(whitestar_state::dmddata_w));
- map(0x3601, 0x3601).rw(m_decodmd, FUNC(decodmd_type2_device::ctrl_r), FUNC(decodmd_type2_device::ctrl_w));
+ map(0x3601, 0x3601).rw(m_decodmd, FUNC(decodmd_type2_device::ctrl_r), FUNC(decodmd_type2_device::ctrl_w)); // TODO: should this be status_r?
map(0x3700, 0x3700).r(m_decodmd, FUNC(decodmd_type2_device::busy_r));
map(0x4000, 0x7fff).bankr(m_mainbank);
map(0x8000, 0xffff).rom().region("maincpu", 0x18000);
@@ -326,8 +328,14 @@ void whitestar_state::whitestar(machine_config &config)
// sound hardware
genpin_audio(config);
+ SPEAKER(config, "lspeaker").front_left();
+ SPEAKER(config, "rspeaker").front_right();
+
DECOBSMT(config, m_decobsmt, 0);
- DECODMD2(config, m_decodmd, 0, "dmdcpu");
+ m_decobsmt->add_route(0, "lspeaker", 1.0);
+ m_decobsmt->add_route(1, "rspeaker", 1.0);
+
+ DECODMD2(config, m_decodmd, 0);
}
void whitestar_state::whitestarm(machine_config &config)
@@ -361,13 +369,13 @@ ROM_START(apollo13)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("a13dspa.500", 0x00000, 0x80000, CRC(bf8e3249) SHA1(5e04681901ca794feb970f5388cb355427cf9a9a))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("apollo13.u7", 0x0000, 0x10000, CRC(e58a36b8) SHA1(ae60470a7b6c41cd40dbb7c0bea6f2f148f7b088))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("apollo13.u17", 0x000000, 0x80000, CRC(4e863aca) SHA1(264f9176a1abf758b7a894d83883330ef91b7388))
ROM_LOAD("apollo13.u21", 0x080000, 0x80000, CRC(28169e37) SHA1(df5209d24187b546a4296fc4629c58bf729349d2))
ROM_LOAD("apollo13.u36", 0x100000, 0x80000, CRC(cede5e0f) SHA1(fa3b5820ed58e57b3c6185d91e9aea28aebc28d7))
@@ -383,13 +391,13 @@ ROM_START(apollo13_d4)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("a13dspa.401", 0x00000, 0x80000, CRC(6516ee16) SHA1(17011df142707917af2e0ec77c0e5ae78df91c0d))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("apollo13.u7", 0x0000, 0x10000, CRC(e58a36b8) SHA1(ae60470a7b6c41cd40dbb7c0bea6f2f148f7b088))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("apollo13.u17", 0x000000, 0x80000, CRC(4e863aca) SHA1(264f9176a1abf758b7a894d83883330ef91b7388))
ROM_LOAD("apollo13.u21", 0x080000, 0x80000, CRC(28169e37) SHA1(df5209d24187b546a4296fc4629c58bf729349d2))
ROM_LOAD("apollo13.u36", 0x100000, 0x80000, CRC(cede5e0f) SHA1(fa3b5820ed58e57b3c6185d91e9aea28aebc28d7))
@@ -405,13 +413,13 @@ ROM_START(apollo13_20)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("a13dps.201", 0x00000, 0x80000, CRC(ab97a71c) SHA1(1e01d3c2ac1b9153fb4f3f888fe01fcebbf853d7))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("apollo13.u7", 0x0000, 0x10000, CRC(e58a36b8) SHA1(ae60470a7b6c41cd40dbb7c0bea6f2f148f7b088))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("apollo13.u17", 0x000000, 0x80000, CRC(4e863aca) SHA1(264f9176a1abf758b7a894d83883330ef91b7388))
ROM_LOAD("apollo13.u21", 0x080000, 0x80000, CRC(28169e37) SHA1(df5209d24187b546a4296fc4629c58bf729349d2))
ROM_LOAD("apollo13.u36", 0x100000, 0x80000, CRC(cede5e0f) SHA1(fa3b5820ed58e57b3c6185d91e9aea28aebc28d7))
@@ -427,13 +435,13 @@ ROM_START(apollo13_10)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("a13dps.100", 0x00000, 0x80000, CRC(224f6149) SHA1(b2a1786adc358834615989fce8835e0f039abb24))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("apollo13.u7", 0x0000, 0x10000, CRC(e58a36b8) SHA1(ae60470a7b6c41cd40dbb7c0bea6f2f148f7b088))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("apollo13.u17", 0x000000, 0x80000, CRC(4e863aca) SHA1(264f9176a1abf758b7a894d83883330ef91b7388))
ROM_LOAD("apollo13.u21", 0x080000, 0x80000, CRC(28169e37) SHA1(df5209d24187b546a4296fc4629c58bf729349d2))
ROM_LOAD("apollo13.u36", 0x100000, 0x80000, CRC(cede5e0f) SHA1(fa3b5820ed58e57b3c6185d91e9aea28aebc28d7))
@@ -452,13 +460,13 @@ ROM_START(aust301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("apdsp-a.300", 0x00000, 0x80000, CRC(ecf2c3bb) SHA1(952a7873067b8c70043a38a39a8f65089103336b)) // ver 3.00
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("apsndu7.100",0x0000,0x10000,CRC(d0e79d59) SHA1(7c3f1fa79ff193a976986339a551e3d03208550f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("apsndu17.100", 0x000000, CRC(c1e33fee) SHA1(5a3581584cc1a841d884de4628f7b65d8670f96a))
ROM_LOAD_SND_8M("apsndu21.100", 0x080000, CRC(07c3e077) SHA1(d48020f7da400c3682035d537289ce9a30732d74))
ROM_LOAD_SND_8M("apsndu36.100", 0x100000, CRC(f70f2828) SHA1(9efbed4f68c22eb26e9100afaca5ebe85a97b605))
@@ -478,13 +486,13 @@ ROM_START(aust300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("apdsp-a.300", 0x00000, 0x80000, CRC(ecf2c3bb) SHA1(952a7873067b8c70043a38a39a8f65089103336b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("apsndu7.100",0x0000,0x10000,CRC(d0e79d59) SHA1(7c3f1fa79ff193a976986339a551e3d03208550f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("apsndu17.100", 0x000000, CRC(c1e33fee) SHA1(5a3581584cc1a841d884de4628f7b65d8670f96a))
ROM_LOAD_SND_8M("apsndu21.100", 0x080000, CRC(07c3e077) SHA1(d48020f7da400c3682035d537289ce9a30732d74))
ROM_LOAD_SND_8M("apsndu36.100", 0x100000, CRC(f70f2828) SHA1(9efbed4f68c22eb26e9100afaca5ebe85a97b605))
@@ -504,13 +512,13 @@ ROM_START(aust201)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("apdsp-a.200", 0x00000, 0x80000, CRC(f3ca7fca) SHA1(b6b702ad7af75b3010a280adb99e4ee484a03242))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("apsndu7.100",0x0000,0x10000,CRC(d0e79d59) SHA1(7c3f1fa79ff193a976986339a551e3d03208550f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("apsndu17.100", 0x000000, CRC(c1e33fee) SHA1(5a3581584cc1a841d884de4628f7b65d8670f96a))
ROM_LOAD_SND_8M("apsndu21.100", 0x080000, CRC(07c3e077) SHA1(d48020f7da400c3682035d537289ce9a30732d74))
ROM_LOAD_SND_8M("apsndu36.100", 0x100000, CRC(f70f2828) SHA1(9efbed4f68c22eb26e9100afaca5ebe85a97b605))
@@ -530,13 +538,13 @@ ROM_START(austin)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("apdsp-a.300", 0x00000, 0x80000, CRC(ecf2c3bb) SHA1(952a7873067b8c70043a38a39a8f65089103336b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("apsndu7.100",0x0000,0x10000,CRC(d0e79d59) SHA1(7c3f1fa79ff193a976986339a551e3d03208550f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("apsndu17.100", 0x000000, CRC(c1e33fee) SHA1(5a3581584cc1a841d884de4628f7b65d8670f96a))
ROM_LOAD_SND_8M("apsndu21.100", 0x080000, CRC(07c3e077) SHA1(d48020f7da400c3682035d537289ce9a30732d74))
ROM_LOAD_SND_8M("apsndu36.100", 0x100000, CRC(f70f2828) SHA1(9efbed4f68c22eb26e9100afaca5ebe85a97b605))
@@ -553,7 +561,7 @@ ROM_START(austnew)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("apdsp-a.300", 0x00000, 0x80000, CRC(ecf2c3bb) SHA1(952a7873067b8c70043a38a39a8f65089103336b))
ROM_REGION32_LE(0x600000, "cpu2", ROMREGION_ERASEMASK | 0)
@@ -580,13 +588,13 @@ ROM_START(austinf)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("apdsp-f.300", 0x00000, 0x80000, CRC(1aeaa83e) SHA1(8a749c0fbf7b03441780c2158e63d4a87c8d0702))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("apsndu7.100",0x0000,0x10000,CRC(d0e79d59) SHA1(7c3f1fa79ff193a976986339a551e3d03208550f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("apsndu17.100", 0x000000, CRC(c1e33fee) SHA1(5a3581584cc1a841d884de4628f7b65d8670f96a))
ROM_LOAD_SND_8M("apsndu21.100", 0x080000, CRC(07c3e077) SHA1(d48020f7da400c3682035d537289ce9a30732d74))
ROM_LOAD_SND_8M("apsndu36.100", 0x100000, CRC(f70f2828) SHA1(9efbed4f68c22eb26e9100afaca5ebe85a97b605))
@@ -603,13 +611,13 @@ ROM_START(austing)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("apdsp-g.300", 0x00000, 0x80000, CRC(28b91cc4) SHA1(037628c78955495f10a60cfc329232289417562e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("apsndu7.100",0x0000,0x10000,CRC(d0e79d59) SHA1(7c3f1fa79ff193a976986339a551e3d03208550f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("apsndu17.100", 0x000000, CRC(c1e33fee) SHA1(5a3581584cc1a841d884de4628f7b65d8670f96a))
ROM_LOAD_SND_8M("apsndu21.100", 0x080000, CRC(07c3e077) SHA1(d48020f7da400c3682035d537289ce9a30732d74))
ROM_LOAD_SND_8M("apsndu36.100", 0x100000, CRC(f70f2828) SHA1(9efbed4f68c22eb26e9100afaca5ebe85a97b605))
@@ -626,13 +634,13 @@ ROM_START(austini)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("apdsp-i.300", 0x00000, 0x80000, CRC(8b1dd747) SHA1(b29d39a2fb464bd11f4bc5daeb35360126ddf45b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("apsndu7.100",0x0000,0x10000,CRC(d0e79d59) SHA1(7c3f1fa79ff193a976986339a551e3d03208550f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("apsndu17.100", 0x000000, CRC(c1e33fee) SHA1(5a3581584cc1a841d884de4628f7b65d8670f96a))
ROM_LOAD_SND_8M("apsndu21.100", 0x080000, CRC(07c3e077) SHA1(d48020f7da400c3682035d537289ce9a30732d74))
ROM_LOAD_SND_8M("apsndu36.100", 0x100000, CRC(f70f2828) SHA1(9efbed4f68c22eb26e9100afaca5ebe85a97b605))
@@ -652,13 +660,13 @@ ROM_START(godzillp)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("gzdspa.200", 0x00000, 0x80000, CRC(a254a01d) SHA1(e624a81437ab4d4b3c133baf47993facf6079f4b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("gdzu7.100", 0x0000, 0x10000, CRC(a0afe8b7) SHA1(33e4a824b26b58e8f963fa8a525a64f4779b45db))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("gdzu17.100", 0x000000, 0x80000, CRC(6bba69c8) SHA1(51341e188b4191eb1836349dfdd456163d464ad6))
ROM_LOAD("gdzu21.100", 0x080000, 0x80000, CRC(db738958) SHA1(23082cf98bbcc6d356145414267da887a5ca9305))
ROM_LOAD("gdzu36.100", 0x100000, 0x80000, CRC(e3f24234) SHA1(eb123200928221a647e10839ebb7f4628501c581))
@@ -675,13 +683,13 @@ ROM_START(godzillp_100)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("gzdspa.100", 0x00000, 0x80000, CRC(9b97cd98) SHA1(6fd002a6986aa32832c0628899ba1bafe3642354))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("gdzu7.100", 0x0000, 0x10000, CRC(a0afe8b7) SHA1(33e4a824b26b58e8f963fa8a525a64f4779b45db))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("gdzu17.100", 0x000000, 0x80000, CRC(6bba69c8) SHA1(51341e188b4191eb1836349dfdd456163d464ad6))
ROM_LOAD("gdzu21.100", 0x080000, 0x80000, CRC(db738958) SHA1(23082cf98bbcc6d356145414267da887a5ca9305))
ROM_LOAD("gdzu36.100", 0x100000, 0x80000, CRC(e3f24234) SHA1(eb123200928221a647e10839ebb7f4628501c581))
@@ -698,13 +706,13 @@ ROM_START(godzillp_090)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("gzdspa.090", 0x00000, 0x80000, CRC(56dde3a4) SHA1(332f09ade962e07a2979ad7bf743f632ea942440))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("gdzu7.090", 0x0000, 0x10000, CRC(076401a9) SHA1(17aa63c2b26e6fc4849a5101ff9704606de3de65))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("gdzu17.090", 0x000000, 0x80000, CRC(b15be745) SHA1(395631df3fef80641c189e57cddfc0ec5dcdbcef))
ROM_LOAD("gdzu21.090", 0x080000, 0x80000, CRC(019207d5) SHA1(a98d191d686d4a04f7fad90dd0e86e8b48ff3a3b))
ROM_LOAD("gdzu36.090", 0x100000, 0x80000, CRC(3913ccb9) SHA1(ddce224661894438a12135306484f711d10ce8be))
@@ -724,13 +732,13 @@ ROM_START(gldneye)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("bondispa.400", 0x00000, 0x80000, CRC(9cc0c710) SHA1(3c6df97d881aed9d1d08cc2a5d0c4ec020295902))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bondu7.bin", 0x0000, 0x10000, CRC(7581a349) SHA1(493236bdc52b601a08009f9b03d64b6047d52661))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("bondu17.bin", 0x000000, 0x80000, CRC(d9c56b9d) SHA1(df8cde0b63d6a8437a1cb239094547262c3f8774))
ROM_LOAD("bondu21.bin", 0x080000, 0x80000, CRC(5be0f205) SHA1(aaef8f6ee6c8d5ebf08f90368061288adf850a18))
@@ -745,13 +753,13 @@ ROM_START(gldneye_402)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("bondispa.400", 0x00000, 0x80000, CRC(9cc0c710) SHA1(3c6df97d881aed9d1d08cc2a5d0c4ec020295902))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("bondu7.bin", 0x0000, 0x10000, CRC(7581a349) SHA1(493236bdc52b601a08009f9b03d64b6047d52661))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("bondu17.bin", 0x000000, 0x80000, CRC(d9c56b9d) SHA1(df8cde0b63d6a8437a1cb239094547262c3f8774))
ROM_LOAD("bondu21.bin", 0x080000, 0x80000, CRC(5be0f205) SHA1(aaef8f6ee6c8d5ebf08f90368061288adf850a18))
@@ -769,13 +777,13 @@ ROM_START(goldcue)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("gc_disp.u12", 0x00000, 0x80000, CRC(87f74b9d) SHA1(e8610ba2409dc6c5070fd413597e3629851b6106))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("gc_sound.u7", 0x0000, 0x10000, CRC(8b559e39) SHA1(59c33615b53864cd542c8bd3be2ba18e91c57dfd))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("gc_sound.u17", 0x000000, 0x80000, CRC(28c39bae) SHA1(a11343a4043d8d5a8eaec383e1bb1f42016e33d2))
ROM_LOAD("gc_sound.u21", 0x080000, 0x80000, CRC(d3f43a37) SHA1(e845370e75200570f828b8452453287b5f599276))
ROM_LOAD("gc_sound.u36", 0x100000, 0x80000, CRC(81f27955) SHA1(eba4250898f6de96111232e49d965b78fc6ee2e2))
@@ -794,13 +802,13 @@ ROM_START(harl_a13)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispa.104", 0x00000, 0x80000, CRC(fc7c2924) SHA1(172fceb4d3221608f48a4abe4c4c5f3043834957))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -817,13 +825,13 @@ ROM_START(harl_u13)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispa.104", 0x00000, 0x80000, CRC(fc7c2924) SHA1(172fceb4d3221608f48a4abe4c4c5f3043834957))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -840,13 +848,13 @@ ROM_START(harl_a10)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispa.100", 0x00000, 0x80000, CRC(bdeac0fd) SHA1(5aa1392a13f3c632b660ea6cb3dee23327404d80))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -863,13 +871,13 @@ ROM_START(harl_f13)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispf.104", 0x00000, 0x80000, CRC(5f80436e) SHA1(e89e561807670118c3d9e623d4aec2321c774576))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -886,13 +894,13 @@ ROM_START(harl_g13)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispg.104", 0x00000, 0x80000, CRC(c7f197a0) SHA1(3b7f0699c08d387c67ff6cd185360e60fcd21b9e))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -909,13 +917,13 @@ ROM_START(harl_i13)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispi.104", 0x00000, 0x80000, CRC(387a5aad) SHA1(a0eb99b240f6044db05668c4504e908aee205220))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -932,13 +940,13 @@ ROM_START(harl_l13)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddisps.104", 0x00000, 0x80000, CRC(2d26514a) SHA1(f15b22cad6329f29cd5cccfb91a2ba7ca2cd6d59))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -955,13 +963,13 @@ ROM_START(harl_a30)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispa.300", 0x00000, 0x80000, CRC(61b274f8) SHA1(954e4b3527cefcb24376de9f6f7e5f9192ab3304))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -978,13 +986,13 @@ ROM_START(harl_f30)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispf.300", 0x00000, 0x80000, CRC(106f7f1f) SHA1(92a8ab7d834439a2211208e0812cdb1199acb21d))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -1001,13 +1009,13 @@ ROM_START(harl_g30)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispg.300", 0x00000, 0x80000, CRC(8f7da748) SHA1(fee1534b76769517d4e6dbed373583e573fb95b6))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -1024,13 +1032,13 @@ ROM_START(harl_i30)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispi.300", 0x00000, 0x80000, CRC(686d3cf6) SHA1(fb27e2e4b39abb56deb1e66f012d151126971474))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -1047,13 +1055,13 @@ ROM_START(harl_l30)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispl.300", 0x00000, 0x80000, CRC(4cc7251b) SHA1(7660fca37ac9fb442a059ddbafc2fa13f94dfae1))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -1070,13 +1078,13 @@ ROM_START(harl_a18)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispa.105", 0x00000, 0x80000, CRC(401a7b9f) SHA1(37e99a42738c1147c073585391772ecc55c9a759))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -1093,13 +1101,13 @@ ROM_START(harl_f18)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispf.105", 0x00000, 0x80000, CRC(31c77078) SHA1(8a0e2dbb698da77dffa1ab01df0f360fecf6c4c7))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -1116,13 +1124,13 @@ ROM_START(harl_g18)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispg.105", 0x00000, 0x80000, CRC(aed5a82f) SHA1(4c44b052a9b1fa702ff49c9b2fb7cf48173459d2))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -1139,13 +1147,13 @@ ROM_START(harl_i18)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispi.105", 0x00000, 0x80000, CRC(49c53391) SHA1(98f88eb8a49bbc59f78996d713c72ec495ba806f))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -1162,13 +1170,13 @@ ROM_START(harl_l18)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddisps.105", 0x00000, 0x80000, CRC(6d6f2a7c) SHA1(1609c69a1584398c3504bb5a0c46f878e8dd547c))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -1185,13 +1193,13 @@ ROM_START(harl_a40)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispa.400", 0x00000, 0x80000, CRC(e2c98397) SHA1(212ac1a509f608c490dc4dfdc5cc04187ed2fe10))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -1208,13 +1216,13 @@ ROM_START(harl_f40)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispf.400", 0x00000, 0x80000, CRC(d061c238) SHA1(cb29e58970d43c2845c96e149e8fdd0c16e501c9))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -1231,13 +1239,13 @@ ROM_START(harl_g40)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispg.400", 0x00000, 0x80000, CRC(4bc89a23) SHA1(fb7dcc61194560845e150bc1c032c098ffd026e8))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -1254,13 +1262,13 @@ ROM_START(harl_i40)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispi.400", 0x00000, 0x80000, CRC(c4fc4990) SHA1(79d501c3123b604becbb87c12aca9848675811ec))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -1277,13 +1285,13 @@ ROM_START(harl_l40)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hddispl.400", 0x00000, 0x80000, CRC(96096e73) SHA1(b22f03ab3f08ff192a55e92ebe85bafa893c6234))
- ROM_REGION(0x010000, "soundcpu",0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu",0)
ROM_LOAD("hdsnd.u7",0x0000,0x10000,CRC(b9accb75) SHA1(9575f1c372ec5603322255778fc003047acc8b01))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hdvc1.u17", 0x000000, CRC(0265fe72) SHA1(7bd7b321bfa2a5092cdf273dfaf4ccdb043c06e8))
ROM_LOAD_SND_8M("hdvc2.u21", 0x080000, CRC(89230898) SHA1(42d225e33ac1d679415e9dbf659591b7c4109740))
ROM_LOAD_SND_8M("hdvc3.u36", 0x100000, CRC(41239811) SHA1(94fceff4dbefd3467ecb8b19e4b8baf24ddd68a3))
@@ -1303,13 +1311,13 @@ ROM_START(hirolcas)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hrcdispa.300", 0x00000, 0x80000, CRC(099ccaf0) SHA1(2e0c2706881208f08e8a1d30915424c8f9b1cf67))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("hrsndu7.100",0x0000,0x10000,CRC(c41f91a7) SHA1(2af3be10754ea633558bdbeded21c6f82d85cd1d))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hrsndu17.100", 0x000000, CRC(5858dfd0) SHA1(0d88daf3b480f0e0a2653d9be37cafed79036a48))
ROM_LOAD_SND_8M("hrsndu21.100", 0x080000, CRC(c653de96) SHA1(352567f4f4f973ed3d8c018c9bf37aeecdd101bf))
ROM_LOAD_SND_8M("hrsndu36.100", 0x100000, CRC(5634eb4e) SHA1(8c76f49423fc0d7887aa5c57ad029b7371372739))
@@ -1326,13 +1334,13 @@ ROM_START(hirolcas_210)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hrcdispa.200", 0x00000, 0x80000, CRC(642bdce7) SHA1(7cd922a15c1443c6ed7636c9def4bc3ab0b47096))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("hrsndu7.100",0x0000,0x10000,CRC(c41f91a7) SHA1(2af3be10754ea633558bdbeded21c6f82d85cd1d))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hrsndu17.100", 0x000000, CRC(5858dfd0) SHA1(0d88daf3b480f0e0a2653d9be37cafed79036a48))
ROM_LOAD_SND_8M("hrsndu21.100", 0x080000, CRC(c653de96) SHA1(352567f4f4f973ed3d8c018c9bf37aeecdd101bf))
ROM_LOAD_SND_8M("hrsndu36.100", 0x100000, CRC(5634eb4e) SHA1(8c76f49423fc0d7887aa5c57ad029b7371372739))
@@ -1349,7 +1357,7 @@ ROM_START(hironew)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hrcdispa.300", 0x00000, 0x80000, CRC(099ccaf0) SHA1(2e0c2706881208f08e8a1d30915424c8f9b1cf67))
ROM_REGION32_LE(0x600000, "soundcpu", ROMREGION_ERASEMASK | 0)
@@ -1376,13 +1384,13 @@ ROM_START(hirolcat)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hrcdspt3.300", 0x00000, 0x80000, CRC(e262f36c) SHA1(116b2b96adce953e00d1e6d7f2b4ed4cdc4a3f61))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("hrsndu7.100",0x0000,0x10000,CRC(c41f91a7) SHA1(2af3be10754ea633558bdbeded21c6f82d85cd1d))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hrsndu17.100", 0x000000, CRC(5858dfd0) SHA1(0d88daf3b480f0e0a2653d9be37cafed79036a48))
ROM_LOAD_SND_8M("hrsndu21.100", 0x080000, CRC(c653de96) SHA1(352567f4f4f973ed3d8c018c9bf37aeecdd101bf))
ROM_LOAD_SND_8M("hrsndu36.100", 0x100000, CRC(5634eb4e) SHA1(8c76f49423fc0d7887aa5c57ad029b7371372739))
@@ -1399,13 +1407,13 @@ ROM_START(hirol_fr)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hrcdispf.300", 0x00000, 0x80000, CRC(1fb5046b) SHA1(8b121a9c75a7d9a312b8c03615838b748d149819))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("hrsndu7.100",0x0000,0x10000,CRC(c41f91a7) SHA1(2af3be10754ea633558bdbeded21c6f82d85cd1d))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hrsndu17.100", 0x000000, CRC(5858dfd0) SHA1(0d88daf3b480f0e0a2653d9be37cafed79036a48))
ROM_LOAD_SND_8M("hrsndu21.100", 0x080000, CRC(c653de96) SHA1(352567f4f4f973ed3d8c018c9bf37aeecdd101bf))
ROM_LOAD_SND_8M("hrsndu36.100", 0x100000, CRC(5634eb4e) SHA1(8c76f49423fc0d7887aa5c57ad029b7371372739))
@@ -1422,13 +1430,13 @@ ROM_START(hirol_gr)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hrcdispg.300", 0x00000, 0x80000, CRC(a880903a) SHA1(4049f50ceaeb6c9e869150ec3d903775cdd865ff))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("hrsndu7.100",0x0000,0x10000,CRC(c41f91a7) SHA1(2af3be10754ea633558bdbeded21c6f82d85cd1d))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hrsndu17.100", 0x000000, CRC(5858dfd0) SHA1(0d88daf3b480f0e0a2653d9be37cafed79036a48))
ROM_LOAD_SND_8M("hrsndu21.100", 0x080000, CRC(c653de96) SHA1(352567f4f4f973ed3d8c018c9bf37aeecdd101bf))
ROM_LOAD_SND_8M("hrsndu36.100", 0x100000, CRC(5634eb4e) SHA1(8c76f49423fc0d7887aa5c57ad029b7371372739))
@@ -1445,13 +1453,13 @@ ROM_START(hirol_gr_210)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hrcdispg.201", 0x00000, 0x80000, CRC(57b95712) SHA1(f7abe7511aa8b258615cd844dc76f3d2f9b47c31))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("hrsndu7.100",0x0000,0x10000,CRC(c41f91a7) SHA1(2af3be10754ea633558bdbeded21c6f82d85cd1d))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hrsndu17.100", 0x000000, CRC(5858dfd0) SHA1(0d88daf3b480f0e0a2653d9be37cafed79036a48))
ROM_LOAD_SND_8M("hrsndu21.100", 0x080000, CRC(c653de96) SHA1(352567f4f4f973ed3d8c018c9bf37aeecdd101bf))
ROM_LOAD_SND_8M("hrsndu36.100", 0x100000, CRC(5634eb4e) SHA1(8c76f49423fc0d7887aa5c57ad029b7371372739))
@@ -1468,13 +1476,13 @@ ROM_START(hirol_it)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("hrcdispi.300", 0x00000, 0x80000, CRC(2734f746) SHA1(aa924d998b6c3fbd80e9325093c9b3267dfaadef))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("hrsndu7.100",0x0000,0x10000,CRC(c41f91a7) SHA1(2af3be10754ea633558bdbeded21c6f82d85cd1d))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("hrsndu17.100", 0x000000, CRC(5858dfd0) SHA1(0d88daf3b480f0e0a2653d9be37cafed79036a48))
ROM_LOAD_SND_8M("hrsndu21.100", 0x080000, CRC(c653de96) SHA1(352567f4f4f973ed3d8c018c9bf37aeecdd101bf))
ROM_LOAD_SND_8M("hrsndu36.100", 0x100000, CRC(5634eb4e) SHA1(8c76f49423fc0d7887aa5c57ad029b7371372739))
@@ -1494,13 +1502,13 @@ ROM_START(id4)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("id4dspa.200", 0x00000, 0x80000, CRC(2d3fbcc4) SHA1(0bd69ebb68ae880ac9aae40916f13e1ff84ecfaa))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("id4sndu7.512", 0x0000, 0x10000, CRC(deeaed37) SHA1(06d79967a25af0b90a5f1d6360a5b5fdbb972d5a))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("id4sdu17.400", 0x000000, 0x80000, CRC(89ffeca3) SHA1(b94c60e3a433f797d6c5ea793c3ecff0a3b6ba60))
ROM_LOAD("id4sdu21.400", 0x080000, 0x80000, CRC(f384a9ab) SHA1(06bd607e7efd761017a7b605e0294a34e4c6255c))
@@ -1515,13 +1523,13 @@ ROM_START(id4f)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("id4dspf.200", 0x00000, 0x80000, CRC(4b52676b) SHA1(a881efb28d8bab424d8c12be2c16b8afc7472208))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("id4sndu7.512", 0x0000, 0x10000, CRC(deeaed37) SHA1(06d79967a25af0b90a5f1d6360a5b5fdbb972d5a))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("id4sdu17.400", 0x000000, 0x80000, CRC(89ffeca3) SHA1(b94c60e3a433f797d6c5ea793c3ecff0a3b6ba60))
ROM_LOAD("id4sdu21.400", 0x080000, 0x80000, CRC(f384a9ab) SHA1(06bd607e7efd761017a7b605e0294a34e4c6255c))
@@ -1536,13 +1544,13 @@ ROM_START(id4_201)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("id4dspa.200", 0x00000, 0x80000, CRC(2d3fbcc4) SHA1(0bd69ebb68ae880ac9aae40916f13e1ff84ecfaa))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("id4sndu7.512", 0x0000, 0x10000, CRC(deeaed37) SHA1(06d79967a25af0b90a5f1d6360a5b5fdbb972d5a))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("id4sdu17.400", 0x000000, 0x80000, CRC(89ffeca3) SHA1(b94c60e3a433f797d6c5ea793c3ecff0a3b6ba60))
ROM_LOAD("id4sdu21.400", 0x080000, 0x80000, CRC(f384a9ab) SHA1(06bd607e7efd761017a7b605e0294a34e4c6255c))
@@ -1557,13 +1565,13 @@ ROM_START(id4f_201)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("id4dspf.200", 0x00000, 0x80000, CRC(4b52676b) SHA1(a881efb28d8bab424d8c12be2c16b8afc7472208))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("id4sndu7.512", 0x0000, 0x10000, CRC(deeaed37) SHA1(06d79967a25af0b90a5f1d6360a5b5fdbb972d5a))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("id4sdu17.400", 0x000000, 0x80000, CRC(89ffeca3) SHA1(b94c60e3a433f797d6c5ea793c3ecff0a3b6ba60))
ROM_LOAD("id4sdu21.400", 0x080000, 0x80000, CRC(f384a9ab) SHA1(06bd607e7efd761017a7b605e0294a34e4c6255c))
@@ -1585,13 +1593,13 @@ ROM_START(lostspc)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("lisdspa.102", 0x00000, 0x80000, CRC(e8bf4a58) SHA1(572313fb79e5a0c0034938a09b04ef43fc235c84))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lisu7.100", 0x0000, 0x10000, CRC(96e6b3c4) SHA1(5cfb43b8c182aed4b49ad1b8803812a18c6c8b6f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("lisu17.100", 0x000000, 0x80000, CRC(69076939) SHA1(f2cdf61a2b469d1a69eb3f08fc6e511d72336586))
ROM_LOAD("lisu21.100", 0x080000, 0x80000, CRC(56eede09) SHA1(9ff53d7a188bd7293ad92089d143bd54623a50d4))
ROM_LOAD("lisu36.100", 0x100000, 0x80000, CRC(56f2c53b) SHA1(5c2daf17116016fbead1320eb150cf655984662b))
@@ -1608,13 +1616,13 @@ ROM_START(lostspcf)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("lis_f-102.bin", 0x00000, 0x80000, CRC(422ba6d5) SHA1(0cd09b14a953fda39f8c7e5521c4115d2ada9186))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lisu7.100", 0x0000, 0x10000, CRC(96e6b3c4) SHA1(5cfb43b8c182aed4b49ad1b8803812a18c6c8b6f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("lisu17.100", 0x000000, 0x80000, CRC(69076939) SHA1(f2cdf61a2b469d1a69eb3f08fc6e511d72336586))
ROM_LOAD("lisu21.100", 0x080000, 0x80000, CRC(56eede09) SHA1(9ff53d7a188bd7293ad92089d143bd54623a50d4))
ROM_LOAD("lisu36.100", 0x100000, 0x80000, CRC(56f2c53b) SHA1(5c2daf17116016fbead1320eb150cf655984662b))
@@ -1631,13 +1639,13 @@ ROM_START(lostspcg)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("lisdspg.102", 0x00000, 0x80000, CRC(66f3feb7) SHA1(a1f718193998f3210fb25c1353e4ae6703802311))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lisu7.100", 0x0000, 0x10000, CRC(96e6b3c4) SHA1(5cfb43b8c182aed4b49ad1b8803812a18c6c8b6f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("lisu17.100", 0x000000, 0x80000, CRC(69076939) SHA1(f2cdf61a2b469d1a69eb3f08fc6e511d72336586))
ROM_LOAD("lisu21.100", 0x080000, 0x80000, CRC(56eede09) SHA1(9ff53d7a188bd7293ad92089d143bd54623a50d4))
ROM_LOAD("lisu36.100", 0x100000, 0x80000, CRC(56f2c53b) SHA1(5c2daf17116016fbead1320eb150cf655984662b))
@@ -1654,13 +1662,13 @@ ROM_START(lostspc_d1)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("lisdspa.101", 0x00000, 0x80000, CRC(a8bfa71f) SHA1(45886ae8edcfd26a2225914aaf96eb960fc7e988))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("lisu7.100", 0x0000, 0x10000, CRC(96e6b3c4) SHA1(5cfb43b8c182aed4b49ad1b8803812a18c6c8b6f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("lisu17.100", 0x000000, 0x80000, CRC(69076939) SHA1(f2cdf61a2b469d1a69eb3f08fc6e511d72336586))
ROM_LOAD("lisu21.100", 0x080000, 0x80000, CRC(56eede09) SHA1(9ff53d7a188bd7293ad92089d143bd54623a50d4))
ROM_LOAD("lisu36.100", 0x100000, 0x80000, CRC(56f2c53b) SHA1(5c2daf17116016fbead1320eb150cf655984662b))
@@ -1684,13 +1692,13 @@ ROM_START(monopolp)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("mondsp-a.301", 0x00000, 0x80000, CRC(c4e2e032) SHA1(691f7b6ed0616338683f7e3f316d64a70db58dd4))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mnsndu7.100",0x0000,0x10000,CRC(400442e7) SHA1(d6c075dc439d5366b7ae71b5a523b86543b1ecd6))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("mnsndu17.100", 0x000000, CRC(f9bc55e8) SHA1(7dc41521305021961927ebde4dcf22611e3d622d))
ROM_LOAD_SND_8M("mnsndu21.100", 0x080000, CRC(e0727e1f) SHA1(2093dba6e2f59cd1d1fc49c8d995b603ea0913ba))
ROM_LOAD_SND_8M("mnsndu36.100", 0x100000, CRC(c845aa97) SHA1(2632aa8c5576b7afcb96693fa524c7d0350ac9a8))
@@ -1709,13 +1717,13 @@ ROM_START(monop303)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("mondsp-a.301", 0x00000, 0x80000, CRC(c4e2e032) SHA1(691f7b6ed0616338683f7e3f316d64a70db58dd4))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mnsndu7.100",0x0000,0x10000,CRC(400442e7) SHA1(d6c075dc439d5366b7ae71b5a523b86543b1ecd6))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("mnsndu17.100", 0x000000, CRC(f9bc55e8) SHA1(7dc41521305021961927ebde4dcf22611e3d622d))
ROM_LOAD_SND_8M("mnsndu21.100", 0x080000, CRC(e0727e1f) SHA1(2093dba6e2f59cd1d1fc49c8d995b603ea0913ba))
ROM_LOAD_SND_8M("mnsndu36.100", 0x100000, CRC(c845aa97) SHA1(2632aa8c5576b7afcb96693fa524c7d0350ac9a8))
@@ -1734,13 +1742,13 @@ ROM_START(monop301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("mondsp-a.301", 0x00000, 0x80000, CRC(c4e2e032) SHA1(691f7b6ed0616338683f7e3f316d64a70db58dd4))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mnsndu7.100",0x0000,0x10000,CRC(400442e7) SHA1(d6c075dc439d5366b7ae71b5a523b86543b1ecd6))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("mnsndu17.100", 0x000000, CRC(f9bc55e8) SHA1(7dc41521305021961927ebde4dcf22611e3d622d))
ROM_LOAD_SND_8M("mnsndu21.100", 0x080000, CRC(e0727e1f) SHA1(2093dba6e2f59cd1d1fc49c8d995b603ea0913ba))
ROM_LOAD_SND_8M("mnsndu36.100", 0x100000, CRC(c845aa97) SHA1(2632aa8c5576b7afcb96693fa524c7d0350ac9a8))
@@ -1759,13 +1767,13 @@ ROM_START(monop251)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("mondsp-a.206", 0x00000, 0x80000, CRC(6df6e158) SHA1(d3a9be2dc189b44b9e4b9f77f5011ed931df5634))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mnsndu7.100",0x0000,0x10000,CRC(400442e7) SHA1(d6c075dc439d5366b7ae71b5a523b86543b1ecd6))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("mnsndu17.100", 0x000000, CRC(f9bc55e8) SHA1(7dc41521305021961927ebde4dcf22611e3d622d))
ROM_LOAD_SND_8M("mnsndu21.100", 0x080000, CRC(e0727e1f) SHA1(2093dba6e2f59cd1d1fc49c8d995b603ea0913ba))
ROM_LOAD_SND_8M("mnsndu36.100", 0x100000, CRC(c845aa97) SHA1(2632aa8c5576b7afcb96693fa524c7d0350ac9a8))
@@ -1784,13 +1792,13 @@ ROM_START(monop233)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("mondsp-a.203", 0x00000, 0x80000, CRC(6e4678fb) SHA1(c0f41f01e9e20e741f1b13d3bd6e824486ba9a0a))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mnsndu7.100",0x0000,0x10000,CRC(400442e7) SHA1(d6c075dc439d5366b7ae71b5a523b86543b1ecd6))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("mnsndu17.100", 0x000000, CRC(f9bc55e8) SHA1(7dc41521305021961927ebde4dcf22611e3d622d))
ROM_LOAD_SND_8M("mnsndu21.100", 0x080000, CRC(e0727e1f) SHA1(2093dba6e2f59cd1d1fc49c8d995b603ea0913ba))
ROM_LOAD_SND_8M("mnsndu36.100", 0x100000, CRC(c845aa97) SHA1(2632aa8c5576b7afcb96693fa524c7d0350ac9a8))
@@ -1809,7 +1817,7 @@ ROM_START(mononew)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("mondsp-a.301", 0x00000, 0x80000, CRC(c4e2e032) SHA1(691f7b6ed0616338683f7e3f316d64a70db58dd4))
ROM_REGION32_LE(0x600000, "soundcpu", ROMREGION_ERASEMASK | 0)
@@ -1838,13 +1846,13 @@ ROM_START(monopolf)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("mondsp-f.301", 0x00000, 0x80000, CRC(e78b1998) SHA1(bd022dc90b55374baed17360fad7bf0f89e2ee33))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mnsndu7.100",0x0000,0x10000,CRC(400442e7) SHA1(d6c075dc439d5366b7ae71b5a523b86543b1ecd6))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("mnsndu17.100", 0x000000, CRC(f9bc55e8) SHA1(7dc41521305021961927ebde4dcf22611e3d622d))
ROM_LOAD_SND_8M("mnsndu21.100", 0x080000, CRC(e0727e1f) SHA1(2093dba6e2f59cd1d1fc49c8d995b603ea0913ba))
ROM_LOAD_SND_8M("mnsndu36.100", 0x100000, CRC(c845aa97) SHA1(2632aa8c5576b7afcb96693fa524c7d0350ac9a8))
@@ -1863,13 +1871,13 @@ ROM_START(monopolg)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("mondsp-g.301", 0x00000, 0x80000, CRC(aab48728) SHA1(b9ed8574ac463a5fc21dc5f41d090cf0ad3f8362))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mnsndu7.100",0x0000,0x10000,CRC(400442e7) SHA1(d6c075dc439d5366b7ae71b5a523b86543b1ecd6))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("mnsndu17.100", 0x000000, CRC(f9bc55e8) SHA1(7dc41521305021961927ebde4dcf22611e3d622d))
ROM_LOAD_SND_8M("mnsndu21.100", 0x080000, CRC(e0727e1f) SHA1(2093dba6e2f59cd1d1fc49c8d995b603ea0913ba))
ROM_LOAD_SND_8M("mnsndu36.100", 0x100000, CRC(c845aa97) SHA1(2632aa8c5576b7afcb96693fa524c7d0350ac9a8))
@@ -1888,13 +1896,13 @@ ROM_START(monopoli)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("mondsp-i.301", 0x00000, 0x80000, CRC(32431b3c) SHA1(6266e17e705bd50d2358d9f7c0168de51aa13750))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mnsndu7.100",0x0000,0x10000,CRC(400442e7) SHA1(d6c075dc439d5366b7ae71b5a523b86543b1ecd6))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("mnsndu17.100", 0x000000, CRC(f9bc55e8) SHA1(7dc41521305021961927ebde4dcf22611e3d622d))
ROM_LOAD_SND_8M("mnsndu21.100", 0x080000, CRC(e0727e1f) SHA1(2093dba6e2f59cd1d1fc49c8d995b603ea0913ba))
ROM_LOAD_SND_8M("mnsndu36.100", 0x100000, CRC(c845aa97) SHA1(2632aa8c5576b7afcb96693fa524c7d0350ac9a8))
@@ -1913,13 +1921,13 @@ ROM_START(monopoll)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("mondsp-s.301", 0x00000, 0x80000, CRC(9f70dad6) SHA1(bf4b1c579b4bdead51e6b34de81fe65c45b6596a))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("mnsndu7.100",0x0000,0x10000,CRC(400442e7) SHA1(d6c075dc439d5366b7ae71b5a523b86543b1ecd6))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("mnsndu17.100", 0x000000, CRC(f9bc55e8) SHA1(7dc41521305021961927ebde4dcf22611e3d622d))
ROM_LOAD_SND_8M("mnsndu21.100", 0x080000, CRC(e0727e1f) SHA1(2093dba6e2f59cd1d1fc49c8d995b603ea0913ba))
ROM_LOAD_SND_8M("mnsndu36.100", 0x100000, CRC(c845aa97) SHA1(2632aa8c5576b7afcb96693fa524c7d0350ac9a8))
@@ -1938,13 +1946,13 @@ ROM_START(nfl)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("nfl_v102.dmd", 0x00000, 0x80000, CRC(fd7bc50a) SHA1(5c92af91e7e12024026a06002e6c6bf68230fcc0))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("nfl_v100.u7",0x0000,0x10000,CRC(3fc766f8) SHA1(27341594e7d4a23146e6e6ec8ebdea125231cf91))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("nfl_v100.u17", 0x000000, CRC(f36b72ed) SHA1(f8fcbdb31295d363d1e7ad98dc318ab52bcfc52b))
ROM_LOAD_SND_8M("nfl_v100.u21", 0x080000, CRC(f5a6c053) SHA1(30a9cda6c9d9c43f0f6690138cf74c39c79ba43e))
ROM_LOAD_SND_8M("nfl_v100.u36", 0x100000, CRC(26dae8ac) SHA1(ec18f13578c5c291b777344b2830cde2ecf3581c))
@@ -1965,13 +1973,13 @@ ROM_START(playboys)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispa.500", 0x00000, 0x80000, CRC(40450165) SHA1(80295466838cb08fe1499b19a98bf759fb7a306e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -1988,13 +1996,13 @@ ROM_START(playboys_401)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispa.400", 0x00000, 0x80000, CRC(244e9740) SHA1(1a2de2c53104e1123cbcc9ccc92e0888b4cf4bec))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2011,13 +2019,13 @@ ROM_START(playboys_303)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispa.300", 0x00000, 0x80000, CRC(2dbb372a) SHA1(b694ae06f380ea9f9730ea6bbfab7f9f7ec7342b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2034,13 +2042,13 @@ ROM_START(playboys_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispa.300", 0x00000, 0x80000, CRC(2dbb372a) SHA1(b694ae06f380ea9f9730ea6bbfab7f9f7ec7342b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2057,13 +2065,13 @@ ROM_START(playboys_203)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdisp-a.201", 0x00000, 0x80000, CRC(78ec6af8) SHA1(35b8de8ab345cf81eec4f7b7d4f654115fe69ddf))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2080,7 +2088,7 @@ ROM_START(playnew)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispa.500", 0x00000, 0x80000, CRC(40450165) SHA1(80295466838cb08fe1499b19a98bf759fb7a306e))
ROM_REGION32_LE(0x600000, "soundcpu", ROMREGION_ERASEMASK | 0)
@@ -2107,13 +2115,13 @@ ROM_START(playboyf)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispf.500", 0x00000, 0x80000, CRC(aedc6c32) SHA1(c930ae1b1308ae641553de34f8249b17f408be56))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2130,13 +2138,13 @@ ROM_START(playboyf_401)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispf.400", 0x00000, 0x80000, CRC(8ccce5d9) SHA1(28370445d38b065001e96b455d283bc047ed0f21))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2153,13 +2161,13 @@ ROM_START(playboyf_303)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispf.300", 0x00000, 0x80000, CRC(69ab3bb2) SHA1(59d7ad5eca701d1216200cd489d2d07825a0856e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2176,13 +2184,13 @@ ROM_START(playboyf_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispf.300", 0x00000, 0x80000, CRC(69ab3bb2) SHA1(59d7ad5eca701d1216200cd489d2d07825a0856e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2199,13 +2207,13 @@ ROM_START(playboyf_203)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdisp-f.201", 0x00000, 0x80000, CRC(eedea4f4) SHA1(31eb1d4de0a4aee73c424c0f21dd2042e6ad0dca))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2222,13 +2230,13 @@ ROM_START(playboyg)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispg.500", 0x00000, 0x80000, CRC(681392fe) SHA1(23011d538282da144b8ff9cbb7c5655567017e5e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2245,13 +2253,13 @@ ROM_START(playboyg_401)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispg.400", 0x00000, 0x80000, CRC(c26a0c73) SHA1(1841ab278e5d3e146cb3b43dfedc208d302dbc17))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2268,13 +2276,13 @@ ROM_START(playboyg_303)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispg.300", 0x00000, 0x80000, CRC(ed7b7c62) SHA1(28b0ab490f8abd5f29e8cb0996da9e7200918157))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2291,13 +2299,13 @@ ROM_START(playboyg_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispg.300", 0x00000, 0x80000, CRC(ed7b7c62) SHA1(28b0ab490f8abd5f29e8cb0996da9e7200918157))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2314,13 +2322,13 @@ ROM_START(playboyg_203)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdisp-g.201", 0x00000, 0x80000, CRC(ff525cc7) SHA1(475578cf8b2262a11f640883b70b706f705d90ff))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2337,13 +2345,13 @@ ROM_START(playboyi)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispi.500", 0x00000, 0x80000, CRC(d90d7ec6) SHA1(7442160f403a8ccabfc9dc8dc53f8b44f5df26bc))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2359,13 +2367,13 @@ ROM_START(playboyi_401)
ROM_RELOAD(0x20000, 0x20000)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispi.400", 0x00000, 0x80000, CRC(90c5afed) SHA1(ea7ab06adb18854c9871b02f39fe616a27293415))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2382,13 +2390,13 @@ ROM_START(playboyi_303)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispi.300", 0x00000, 0x80000, CRC(74c8cedf) SHA1(474ad1939ea0a58852003e549ed85478e239a67c))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2405,13 +2413,13 @@ ROM_START(playboyi_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispi.300", 0x00000, 0x80000, CRC(74c8cedf) SHA1(474ad1939ea0a58852003e549ed85478e239a67c))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2428,13 +2436,13 @@ ROM_START(playboyi_203)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdisp-i.201", 0x00000, 0x80000, CRC(48f190dc) SHA1(bf5c096f755871b12783a63b55908751f9fa5b07))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2451,13 +2459,13 @@ ROM_START(playboyl)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispl.500", 0x00000, 0x80000, CRC(b019f0f6) SHA1(184a9905cd3af9d272577e43666aed5e5a8a5281))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2474,13 +2482,13 @@ ROM_START(playboyl_401)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdisps.400", 0x00000, 0x80000, CRC(92b48fdd) SHA1(deebb0bf6ec13b0cead3970c19bd0e8321046786))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2497,13 +2505,13 @@ ROM_START(playboyl_303)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispl.300", 0x00000, 0x80000, CRC(e7697fc3) SHA1(7a9796e7b99af0d3d2079876a8054209a3067e64))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2520,13 +2528,13 @@ ROM_START(playboyl_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispl.300", 0x00000, 0x80000, CRC(e7697fc3) SHA1(7a9796e7b99af0d3d2079876a8054209a3067e64))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2543,13 +2551,13 @@ ROM_START(playboyl_203)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdisp-l.201", 0x00000, 0x80000, CRC(eaa65c45) SHA1(4ec9f815e40ac2185812faad7b991723f0b5775b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2566,13 +2574,13 @@ ROM_START(playboys_302)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispa.300", 0x00000, 0x80000, CRC(2dbb372a) SHA1(b694ae06f380ea9f9730ea6bbfab7f9f7ec7342b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2589,13 +2597,13 @@ ROM_START(playboyl_302)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispl.300", 0x00000, 0x80000, CRC(e7697fc3) SHA1(7a9796e7b99af0d3d2079876a8054209a3067e64))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2612,13 +2620,13 @@ ROM_START(playboyg_302)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispg.300", 0x00000, 0x80000, CRC(ed7b7c62) SHA1(28b0ab490f8abd5f29e8cb0996da9e7200918157))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2635,13 +2643,13 @@ ROM_START(playboyf_302)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispf.300", 0x00000, 0x80000, CRC(69ab3bb2) SHA1(59d7ad5eca701d1216200cd489d2d07825a0856e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2658,13 +2666,13 @@ ROM_START(playboyi_302)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("pbdispi.300", 0x00000, 0x80000, CRC(74c8cedf) SHA1(474ad1939ea0a58852003e549ed85478e239a67c))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("pbsndu7.102",0x0000,0x10000,CRC(12a68f34) SHA1(f2cd42918dec353883bc465f6302c2d94dcd6b87))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("pbsndu17.100", 0x000000, CRC(f5502fec) SHA1(c8edd56e0c4365dd6b4bef0f1c7cc83ea5fd73d6))
ROM_LOAD_SND_8M("pbsndu21.100", 0x100000, CRC(7869d34f) SHA1(48a051045523c14ca06a7227b34ed9e3818828d0))
ROM_LOAD_SND_8M("pbsndu36.100", 0x200000, CRC(d10f14a3) SHA1(972b480c23d484b627ecdce0322c08fe760a127f))
@@ -2684,13 +2692,13 @@ ROM_START(rctycn)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispa.701", 0x00000, 0x80000, CRC(0d527f13) SHA1(954116a79578b2a7679c401a2bb99b5bbfb603f2))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -2706,13 +2714,13 @@ ROM_START(rctycn_701)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispa.700", 0x0000, 0x80000, CRC(6a8925d7) SHA1(82a6c069f1e8f8e053fec708f56c8ffe56d70fc8))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -2728,13 +2736,13 @@ ROM_START(rctycn_600)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispa.600", 0x0000, 0x80000, CRC(dbd294e1) SHA1(53c540594bfe5544b4a009665a1ca3edb1cb874c))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -2750,13 +2758,13 @@ ROM_START(rctycn_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispa.400", 0x00000, 0x80000, CRC(d128a8fa) SHA1(8fece3df33d21da020ba06d14d588384d90dd89f))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -2772,7 +2780,7 @@ ROM_START(rctnew)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispa.701", 0x00000, 0x80000, CRC(0d527f13) SHA1(954116a79578b2a7679c401a2bb99b5bbfb603f2))
ROM_REGION32_LE(0x600000, "soundcpu", ROMREGION_ERASEMASK | 0)
@@ -2798,13 +2806,13 @@ ROM_START(rctycng)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispg.701", 0x00000, 0x80000, CRC(6c70ab29) SHA1(fa3b713b79c0d724b918fa318795681308a4fce3))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -2820,13 +2828,13 @@ ROM_START(rctycng_701)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispg.700", 0x00000, 0x80000, CRC(0babf1ed) SHA1(db683aa392968d255d355d4a1b0c9d8d4fb9e799))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -2842,13 +2850,13 @@ ROM_START(rctycng_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispg.400", 0x00000, 0x80000, CRC(c88dc915) SHA1(894c3bb7f5d200448740f021b5b9421f6ee74c5f))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -2864,13 +2872,13 @@ ROM_START(rctycnf)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispf.701", 0x00000, 0x80000, CRC(4a3bb40c) SHA1(053f494765ac7708401a7816af7186e71083fe8d))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -2886,13 +2894,13 @@ ROM_START(rctycnf_701)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispf.700", 0x00000, 0x80000, CRC(2de0eec8) SHA1(5b48eabddc1fb735866767ae008baf58205954db))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -2908,13 +2916,13 @@ ROM_START(rctycnf_600)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispf.600", 0x00000, 0x80000, CRC(50aa2f48) SHA1(e7c0fb30ef15861e342bd6fada45885bd2403547))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -2930,13 +2938,13 @@ ROM_START(rctycnf_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispf.400", 0x00000, 0x80000, CRC(5b41893b) SHA1(66930d0f5d6542b41f22995df55447ba0e435576))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -2952,13 +2960,13 @@ ROM_START(rctycni)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispi.701", 0x00000, 0x80000, CRC(6adc8236) SHA1(bb908c88e47987777c921f2948dfb802ee29c868))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -2974,13 +2982,13 @@ ROM_START(rctycni_701)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispi.700", 0x00000, 0x80000, CRC(0d07d8f2) SHA1(3ffd8ad7183ba20844c1e5d1933c8002ca4707aa))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -2996,13 +3004,13 @@ ROM_START(rctycni_600)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispi.600", 0x00000, 0x80000, CRC(a55a86c1) SHA1(b18197063e2e4cc50b04f43de41d870eb672ce68))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -3017,13 +3025,13 @@ ROM_START(rctycni_400)
ROM_RELOAD(0x20000, 0x20000)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdispi.400", 0x00000, 0x80000, CRC(7c1c0adb) SHA1(c9321a64ee4af8d475b441ae2385120bba66ccf9))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
@@ -3040,13 +3048,13 @@ ROM_START(rctycnl)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdisps.701", 0x00000, 0x80000, CRC(0efa8208) SHA1(6706ea3e31b478970fc65a8cf9db749db9c0fa39))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -3062,13 +3070,13 @@ ROM_START(rctycnl_701)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdisps.700", 0x00000, 0x80000, CRC(6921d8cc) SHA1(1ada415af8e949829ceac75da507982ea2091f4d))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -3084,13 +3092,13 @@ ROM_START(rctycnl_600)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdisps.600", 0x00000, 0x80000, CRC(84a970a3) SHA1(8e00830ba446c8cef99d8e721b65597d9dd98379))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -3106,13 +3114,13 @@ ROM_START(rctycnl_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("rctdisps.400", 0x00000, 0x80000, CRC(c06e6669) SHA1(af389ba74e62d7065b3bc7d5f771a3461704cbe3))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("rcsndu7.100",0x0000,0x10000,CRC(e6cde9b1) SHA1(cbaadafd18ad9c0338bf2cce94b2c2a89e734778))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("rcsndu17.100", 0x000000, CRC(18ba20ec) SHA1(c6e7a8a5fd6029b8e884a6eeb779a10d819e8c7c))
ROM_LOAD_SND_8M("rcsndu21.100", 0x080000, CRC(64b19c11) SHA1(9ac714d372437cf1d8c4e01512c0647f13e40ddb))
ROM_LOAD_SND_8M("rcsndu36.100", 0x100000, CRC(05c8bac9) SHA1(0771a393d5361c9a35d42a18b6c6a105b7752e03))
@@ -3131,13 +3139,13 @@ ROM_START(shrkysht)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ssdispa.201", 0x00000, 0x80000, CRC(3360300b) SHA1(3169651a49bb7168fc04b2ae678b696ec6a21c85))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sssndu7.101",0x0000,0x10000,CRC(fbc6267b) SHA1(e6e70662031e5209385f8b9c59296d7423cc03b4))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sssndu17.100", 0x000000, CRC(dae78d8d) SHA1(a0e1722a19505e7d08266c490d27f772357722d3))
ROM_LOAD_SND_8M("sssndu21.100", 0x080000, CRC(e1fa3f2a) SHA1(08731fd53ef81453a8f20602e76d435c6771bbb9))
ROM_LOAD_SND_8M("sssndu36.100", 0x100000, CRC(d22fcfa3) SHA1(3fa407f72ecc64f9d00b92122c4e4d85022e4202))
@@ -3153,7 +3161,7 @@ ROM_START(shrknew)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ssdispa.201", 0x00000, 0x80000, CRC(3360300b) SHA1(3169651a49bb7168fc04b2ae678b696ec6a21c85))
ROM_REGION32_LE(0x600000, "soundcpu", ROMREGION_ERASEMASK | 0)
@@ -3179,13 +3187,13 @@ ROM_START(shrkygr)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ssdispg.201", 0x00000, 0x80000, CRC(1ad88b75) SHA1(f82ae59b59e545e2023879aad7e99862d9d339c5))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sssndu7.101",0x0000,0x10000,CRC(fbc6267b) SHA1(e6e70662031e5209385f8b9c59296d7423cc03b4))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sssndu17.100", 0x000000, CRC(dae78d8d) SHA1(a0e1722a19505e7d08266c490d27f772357722d3))
ROM_LOAD_SND_8M("sssndu21.100", 0x080000, CRC(e1fa3f2a) SHA1(08731fd53ef81453a8f20602e76d435c6771bbb9))
ROM_LOAD_SND_8M("sssndu36.100", 0x100000, CRC(d22fcfa3) SHA1(3fa407f72ecc64f9d00b92122c4e4d85022e4202))
@@ -3201,13 +3209,13 @@ ROM_START(shrkyfr)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ssdispf.201", 0x00000, 0x80000, CRC(89eaaebf) SHA1(0945a11a8f632cea3b9e9982cc4aed54f12ec55a))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sssndu7.101",0x0000,0x10000,CRC(fbc6267b) SHA1(e6e70662031e5209385f8b9c59296d7423cc03b4))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sssndu17.100", 0x000000, CRC(dae78d8d) SHA1(a0e1722a19505e7d08266c490d27f772357722d3))
ROM_LOAD_SND_8M("sssndu21.100", 0x080000, CRC(e1fa3f2a) SHA1(08731fd53ef81453a8f20602e76d435c6771bbb9))
ROM_LOAD_SND_8M("sssndu36.100", 0x100000, CRC(d22fcfa3) SHA1(3fa407f72ecc64f9d00b92122c4e4d85022e4202))
@@ -3223,13 +3231,13 @@ ROM_START(shrkyit)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ssdispi.201", 0x00000, 0x80000, CRC(fb70641d) SHA1(d152838eeacacc5dfe6fc3bc3f26b4d3e9e4c9cc))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sssndu7.101",0x0000,0x10000,CRC(fbc6267b) SHA1(e6e70662031e5209385f8b9c59296d7423cc03b4))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sssndu17.100", 0x000000, CRC(dae78d8d) SHA1(a0e1722a19505e7d08266c490d27f772357722d3))
ROM_LOAD_SND_8M("sssndu21.100", 0x080000, CRC(e1fa3f2a) SHA1(08731fd53ef81453a8f20602e76d435c6771bbb9))
ROM_LOAD_SND_8M("sssndu36.100", 0x100000, CRC(d22fcfa3) SHA1(3fa407f72ecc64f9d00b92122c4e4d85022e4202))
@@ -3245,13 +3253,13 @@ ROM_START(shrky_207)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ssdispa.201", 0x00000, 0x80000, CRC(3360300b) SHA1(3169651a49bb7168fc04b2ae678b696ec6a21c85))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sssndu7.101",0x0000,0x10000,CRC(fbc6267b) SHA1(e6e70662031e5209385f8b9c59296d7423cc03b4))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sssndu17.100", 0x000000, CRC(dae78d8d) SHA1(a0e1722a19505e7d08266c490d27f772357722d3))
ROM_LOAD_SND_8M("sssndu21.100", 0x080000, CRC(e1fa3f2a) SHA1(08731fd53ef81453a8f20602e76d435c6771bbb9))
ROM_LOAD_SND_8M("sssndu36.100", 0x100000, CRC(d22fcfa3) SHA1(3fa407f72ecc64f9d00b92122c4e4d85022e4202))
@@ -3267,13 +3275,13 @@ ROM_START(shrkygr_207)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ssdispg.201", 0x00000, 0x80000, CRC(1ad88b75) SHA1(f82ae59b59e545e2023879aad7e99862d9d339c5))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sssndu7.101",0x0000,0x10000,CRC(fbc6267b) SHA1(e6e70662031e5209385f8b9c59296d7423cc03b4))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sssndu17.100", 0x000000, CRC(dae78d8d) SHA1(a0e1722a19505e7d08266c490d27f772357722d3))
ROM_LOAD_SND_8M("sssndu21.100", 0x080000, CRC(e1fa3f2a) SHA1(08731fd53ef81453a8f20602e76d435c6771bbb9))
ROM_LOAD_SND_8M("sssndu36.100", 0x100000, CRC(d22fcfa3) SHA1(3fa407f72ecc64f9d00b92122c4e4d85022e4202))
@@ -3288,11 +3296,11 @@ ROM_START(shrkyfr_207)
ROM_RELOAD(0x20000, 0x20000)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ssdispf.201", 0x00000, 0x80000, CRC(89eaaebf) SHA1(0945a11a8f632cea3b9e9982cc4aed54f12ec55a))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sssndu7.101",0x0000,0x10000,CRC(fbc6267b) SHA1(e6e70662031e5209385f8b9c59296d7423cc03b4))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sssndu17.100", 0x000000, CRC(dae78d8d) SHA1(a0e1722a19505e7d08266c490d27f772357722d3))
ROM_LOAD_SND_8M("sssndu21.100", 0x080000, CRC(e1fa3f2a) SHA1(08731fd53ef81453a8f20602e76d435c6771bbb9))
ROM_LOAD_SND_8M("sssndu36.100", 0x100000, CRC(d22fcfa3) SHA1(3fa407f72ecc64f9d00b92122c4e4d85022e4202))
@@ -3308,13 +3316,13 @@ ROM_START(shrkyit_207)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ssdispi.201", 0x00000, 0x80000, CRC(fb70641d) SHA1(d152838eeacacc5dfe6fc3bc3f26b4d3e9e4c9cc))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sssndu7.101",0x0000,0x10000,CRC(fbc6267b) SHA1(e6e70662031e5209385f8b9c59296d7423cc03b4))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sssndu17.100", 0x000000, CRC(dae78d8d) SHA1(a0e1722a19505e7d08266c490d27f772357722d3))
ROM_LOAD_SND_8M("sssndu21.100", 0x080000, CRC(e1fa3f2a) SHA1(08731fd53ef81453a8f20602e76d435c6771bbb9))
ROM_LOAD_SND_8M("sssndu36.100", 0x100000, CRC(d22fcfa3) SHA1(3fa407f72ecc64f9d00b92122c4e4d85022e4202))
@@ -3333,13 +3341,13 @@ ROM_START(sprk_103)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("spdspa.101", 0x00000, 0x80000, CRC(48ca598d) SHA1(0827ac7bb5cf12b0e63860b73a808273d984509e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spku7.101",0x0000,0x10000,CRC(3d831d3e) SHA1(fd12e4639bf806c518a2733c32572b051517ff27))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spku17.100", 0x000000, CRC(829262c9) SHA1(88adb13a6773f88658d6b8d6520a03ecd377e4e7))
ROM_LOAD_SND_8M("spku21.100", 0x080000, CRC(3a55eef3) SHA1(2a643bd7a433a39d764294c1569182e6ff0af240))
ROM_LOAD_SND_8M("spku36.100", 0x100000, CRC(bcf6d2cb) SHA1(8e8186f08ff1e39a7889469ec1fdfa9402a8695c))
@@ -3356,13 +3364,13 @@ ROM_START(sprk_096)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("spdspa.101", 0x00000, 0x80000, CRC(48ca598d) SHA1(0827ac7bb5cf12b0e63860b73a808273d984509e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spku7.090",0x0000,0x10000,CRC(19937fbd) SHA1(ebd7c8f1604accbeb7c00066ecf811193a2cb588))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spku17.090", 0x000000, CRC(05a8670e) SHA1(7c0f1f0c9b94f0327c820f002bffc4ea05670ec8))
ROM_LOAD_SND_8M("spku21.090", 0x080000, CRC(c8629ee7) SHA1(843a742cb5cfce21a83618d14ae08ee1930d36cc))
ROM_LOAD_SND_8M("spku36.090", 0x100000, CRC(727d4624) SHA1(9019014e6057d279a37cc3ce269a1c68baeb9673))
@@ -3379,13 +3387,13 @@ ROM_START(sprk_090)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("spdspa.090", 0x00000, 0x80000, CRC(c333dd48) SHA1(fe2be9274c06b2f39fa2e14e0d44ce7213282f3b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spku7.090",0x0000,0x10000,CRC(19937fbd) SHA1(ebd7c8f1604accbeb7c00066ecf811193a2cb588))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spku17.090", 0x000000, CRC(05a8670e) SHA1(7c0f1f0c9b94f0327c820f002bffc4ea05670ec8))
ROM_LOAD_SND_8M("spku21.090", 0x080000, CRC(c8629ee7) SHA1(843a742cb5cfce21a83618d14ae08ee1930d36cc))
ROM_LOAD_SND_8M("spku36.090", 0x100000, CRC(727d4624) SHA1(9019014e6057d279a37cc3ce269a1c68baeb9673))
@@ -3405,13 +3413,13 @@ ROM_START(spacejam)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("jamdspa.300", 0x00000, 0x80000, CRC(198e5e34) SHA1(e2ba9ff1cea84c5d41f32afc50229cb5a18c7666))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spcjam.u7", 0x0000, 0x10000, CRC(c693d853) SHA1(3e81e60967dff496c681962f3ff8c7c1fbb7746a))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("spcjam.u17", 0x000000, 0x80000, CRC(ccefe457) SHA1(4186dee689fbfc08e5070ccfe8d4be95220cd87b))
ROM_LOAD("spcjam.u21", 0x080000, 0x80000, CRC(14cb71cb) SHA1(46752c1792c26345abb4d5219917a1cda50c600b))
ROM_LOAD("spcjam.u36", 0x100000, 0x80000, CRC(7f61143c) SHA1(40695d1d14695d3e4991ed39f4a354c16227975e))
@@ -3427,13 +3435,13 @@ ROM_START(spacejam_200)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("jamdspa.200", 0x00000, 0x80000, CRC(4a05ec31) SHA1(eb962f5f2160508e0f81b252e8644d8aa833d7fd))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spcjam.u7", 0x0000, 0x10000, CRC(c693d853) SHA1(3e81e60967dff496c681962f3ff8c7c1fbb7746a))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("spcjam.u17", 0x000000, 0x80000, CRC(ccefe457) SHA1(4186dee689fbfc08e5070ccfe8d4be95220cd87b))
ROM_LOAD("spcjam.u21", 0x080000, 0x80000, CRC(14cb71cb) SHA1(46752c1792c26345abb4d5219917a1cda50c600b))
ROM_LOAD("spcjam.u36", 0x100000, 0x80000, CRC(7f61143c) SHA1(40695d1d14695d3e4991ed39f4a354c16227975e))
@@ -3449,13 +3457,13 @@ ROM_START(spacejmg)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("jamdspg.300", 0x00000, 0x80000, CRC(41f6e188) SHA1(da2247022aadb0ead5a3b1d7b829c13ff1153ec8))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spcjam.u7", 0x0000, 0x10000, CRC(c693d853) SHA1(3e81e60967dff496c681962f3ff8c7c1fbb7746a))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("spcjam.u17", 0x000000, 0x80000, CRC(ccefe457) SHA1(4186dee689fbfc08e5070ccfe8d4be95220cd87b))
ROM_LOAD("spcjamg.u21", 0x080000, 0x80000, CRC(9e7fe0a6) SHA1(187e5893f84d0c0fd70d15c3978fc3fc51e12a51))
ROM_LOAD("spcjamg.u36", 0x100000, 0x80000, CRC(7d11e1eb) SHA1(96d4635b1edf8a22947a5cd529ce9025cf7d0c71))
@@ -3471,13 +3479,13 @@ ROM_START(spacejmf)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("jamdspf.300", 0x00000, 0x80000, CRC(1683909f) SHA1(e14810a5d8704ea052fddcb3b54043bf9d57b296))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spcjam.u7", 0x0000, 0x10000, CRC(c693d853) SHA1(3e81e60967dff496c681962f3ff8c7c1fbb7746a))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("spcjam.u17", 0x000000, 0x80000, CRC(ccefe457) SHA1(4186dee689fbfc08e5070ccfe8d4be95220cd87b))
ROM_LOAD("spcjamf.u21", 0x080000, 0x80000, CRC(9e7fe0a6) SHA1(187e5893f84d0c0fd70d15c3978fc3fc51e12a51))
ROM_LOAD("spcjamf.u36", 0x100000, 0x80000, CRC(7d11e1eb) SHA1(96d4635b1edf8a22947a5cd529ce9025cf7d0c71))
@@ -3493,13 +3501,13 @@ ROM_START(spacejmi)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("jamdspi.300", 0x00000, 0x80000, CRC(eb9b5971) SHA1(0bfac0511d0cd9d56eee59782c199ee0a78abe5e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spcjam.u7", 0x0000, 0x10000, CRC(c693d853) SHA1(3e81e60967dff496c681962f3ff8c7c1fbb7746a))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("spcjam.u17", 0x000000, 0x80000, CRC(ccefe457) SHA1(4186dee689fbfc08e5070ccfe8d4be95220cd87b))
ROM_LOAD("spcjami.u21", 0x080000, 0x80000, CRC(9e7fe0a6) SHA1(187e5893f84d0c0fd70d15c3978fc3fc51e12a51))
ROM_LOAD("spcjami.u36", 0x100000, 0x80000, CRC(7d11e1eb) SHA1(96d4635b1edf8a22947a5cd529ce9025cf7d0c71))
@@ -3518,13 +3526,13 @@ ROM_START(swtril43)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("swsedspa.400", 0x00000, 0x80000, CRC(b9bcbf71) SHA1(036f53e638699de0447ecd02221f673a40f656be))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sw0219.u7", 0x0000, 0x10000, CRC(cd7c84d9) SHA1(55b0208089933e4a30f0eb87b123dd178383ed43))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("sw0211.u17", 0x000000, 0x80000, CRC(6863e7f6) SHA1(99f1e0170fbbb91a0eb7a796ab3bf757cb1b23ce))
ROM_LOAD("sw0211.u21", 0x080000, 0x80000, CRC(6be68450) SHA1(d24652f74b109e47eb5d3d02e04f63c99e92c590))
@@ -3539,13 +3547,13 @@ ROM_START(swtril41)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("swsedspa.400", 0x00000, 0x80000, CRC(b9bcbf71) SHA1(036f53e638699de0447ecd02221f673a40f656be))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sw0219.u7", 0x0000, 0x10000, CRC(cd7c84d9) SHA1(55b0208089933e4a30f0eb87b123dd178383ed43))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("sw0211.u17", 0x000000, 0x80000, CRC(6863e7f6) SHA1(99f1e0170fbbb91a0eb7a796ab3bf757cb1b23ce))
ROM_LOAD("sw0211.u21", 0x080000, 0x80000, CRC(6be68450) SHA1(d24652f74b109e47eb5d3d02e04f63c99e92c590))
@@ -3559,11 +3567,11 @@ ROM_START(swtril30)
ROM_RELOAD(0x20000, 0x20000)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("swsedspa.300", 0x00000, 0x80000, CRC(7b9817d1) SHA1(fbca577df6867f5feaab677714cf5e56702c8ba9))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sw0219.u7", 0x0000, 0x10000, CRC(cd7c84d9) SHA1(55b0208089933e4a30f0eb87b123dd178383ed43))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("sw0211.u17", 0x000000, 0x80000, CRC(6863e7f6) SHA1(99f1e0170fbbb91a0eb7a796ab3bf757cb1b23ce))
ROM_LOAD("sw0211.u21", 0x080000, 0x80000, CRC(6be68450) SHA1(d24652f74b109e47eb5d3d02e04f63c99e92c590))
ROM_END
@@ -3578,13 +3586,13 @@ ROM_START(startrp)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sstdspa.200", 0x00000, 0x80000, CRC(76a0e09e) SHA1(a4103aeee752d824a3811124079e40acc7286271))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("u7_b130.512", 0x0000, 0x10000, CRC(f1559e4f) SHA1(82b56f097412052bc1638a3f1c1319009df707f4))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("u17_152a.040", 0x000000, 0x80000, CRC(8caeccdb) SHA1(390f07e48a176a24fe99a202f3fa2b9767d84230))
ROM_LOAD("u21_0291.040", 0x080000, 0x80000, CRC(0c5321f6) SHA1(4a51daa16d489ab61d462d44f887c8422f863c5c))
ROM_LOAD("u36_95a7.040", 0x100000, 0x80000, CRC(c1e4ca6a) SHA1(487de78ebf1ee8cc721f2ef7b1bd42d2f7b27456))
@@ -3600,13 +3608,13 @@ ROM_START(startrp2)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sstdspa.200", 0x00000, 0x80000, CRC(76a0e09e) SHA1(a4103aeee752d824a3811124079e40acc7286271))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("u7_b130.512", 0x0000, 0x10000, CRC(f1559e4f) SHA1(82b56f097412052bc1638a3f1c1319009df707f4))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("u17_152a.040", 0x000000, 0x80000, CRC(8caeccdb) SHA1(390f07e48a176a24fe99a202f3fa2b9767d84230))
ROM_LOAD("u21_0291.040", 0x080000, 0x80000, CRC(0c5321f6) SHA1(4a51daa16d489ab61d462d44f887c8422f863c5c))
ROM_LOAD("u36_95a7.040", 0x100000, 0x80000, CRC(c1e4ca6a) SHA1(487de78ebf1ee8cc721f2ef7b1bd42d2f7b27456))
@@ -3625,13 +3633,13 @@ ROM_START(strikext)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sxdispa.103", 0x00000, 0x80000, CRC(e4cf849f) SHA1(27b61f1659762b396ca3af375e28f9c56500f79e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sxsnda.u7",0x0000,0x10000,CRC(e7e1a0cb) SHA1(be8b3e4d4232519db8344ae9e75f77d159bb1911))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sxsnda.u17", 0x000000, CRC(aeeed88f) SHA1(e150fd243feffcdc5d66487e840cefdfb50213da))
ROM_LOAD_SND_8M("sxsnda.u21", 0x080000, CRC(62c9bfe3) SHA1(14a65a673a33b7e3d3005f76acf3098dc37958f8))
ROM_LOAD_SND_8M("sxsnda.u36", 0x100000, CRC(a0bc0edb) SHA1(1025a28fe9a0e3681e8e99b513da29ec294da045))
@@ -3648,13 +3656,13 @@ ROM_START(strikext_100)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sxdispa.103", 0x00000, 0x80000, CRC(e4cf849f) SHA1(27b61f1659762b396ca3af375e28f9c56500f79e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sxsnda.u7",0x0000,0x10000,CRC(e7e1a0cb) SHA1(be8b3e4d4232519db8344ae9e75f77d159bb1911))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sxsnda.u17", 0x000000, CRC(aeeed88f) SHA1(e150fd243feffcdc5d66487e840cefdfb50213da))
ROM_LOAD_SND_8M("sxsnda.u21", 0x080000, CRC(62c9bfe3) SHA1(14a65a673a33b7e3d3005f76acf3098dc37958f8))
ROM_LOAD_SND_8M("sxsnda.u36", 0x100000, CRC(a0bc0edb) SHA1(1025a28fe9a0e3681e8e99b513da29ec294da045))
@@ -3671,7 +3679,7 @@ ROM_START(strknew)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sxdispa.103", 0x00000, 0x80000, CRC(e4cf849f) SHA1(27b61f1659762b396ca3af375e28f9c56500f79e))
ROM_REGION32_LE(0x600000, "soundcpu", ROMREGION_ERASEMASK | 0)
@@ -3698,13 +3706,13 @@ ROM_START(strxt_uk)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sxdispa.103", 0x00000, 0x80000, CRC(e4cf849f) SHA1(27b61f1659762b396ca3af375e28f9c56500f79e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sxsnda.u7",0x0000,0x10000,CRC(e7e1a0cb) SHA1(be8b3e4d4232519db8344ae9e75f77d159bb1911))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sxsnda.u17", 0x000000, CRC(aeeed88f) SHA1(e150fd243feffcdc5d66487e840cefdfb50213da))
ROM_LOAD_SND_8M("sxsnda.u21", 0x080000, CRC(62c9bfe3) SHA1(14a65a673a33b7e3d3005f76acf3098dc37958f8))
ROM_LOAD_SND_8M("sxsnda.u36", 0x100000, CRC(a0bc0edb) SHA1(1025a28fe9a0e3681e8e99b513da29ec294da045))
@@ -3721,13 +3729,13 @@ ROM_START(strxt_gr)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sxdispg.103", 0x00000, 0x80000, CRC(eb656489) SHA1(476315a5d22b6d8c63e9a592167a00f0c87e86c9))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sxsndg.u7",0x0000,0x10000,CRC(b38ec07d) SHA1(239a3a51c049b007d4c16c3bd1e003a5dfd3cecc))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sxsndg.u17", 0x000000, CRC(19ecf6ca) SHA1(f61f9e821bb0cf7978073a2d2cb939999265277b))
ROM_LOAD_SND_8M("sxsndg.u21", 0x080000, CRC(ee410b1e) SHA1(a0f7ff46536060be8f7c2c0e575e85814cd183e1))
ROM_LOAD_SND_8M("sxsndg.u36", 0x100000, CRC(f0e126c2) SHA1(a8c5eed27b33d20c2ff3bfd3d317c8b56bfa3625))
@@ -3744,13 +3752,13 @@ ROM_START(strxt_fr)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sxdispf.103", 0x00000, 0x80000, CRC(4b4b5c19) SHA1(d2612a2b8099b45cb67ac9b55c88b5b10519d49b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sxsndf.u7",0x0000,0x10000,CRC(e68b0607) SHA1(cd3a5ff51932914e977fe866f7ab569d0901967a))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sxsndf.u17", 0x000000, CRC(443efde2) SHA1(823f395cc5b0c7f5665bd8c804707fb9bbad1066))
ROM_LOAD_SND_8M("sxsndf.u21", 0x080000, CRC(e8ba1618) SHA1(920cecbdcfc948670ddf11b572af0bb536a1153d))
ROM_LOAD_SND_8M("sxsndf.u36", 0x100000, CRC(89107426) SHA1(9e3c51f17aee0e803e54f9400c304b4da0b8cf7a))
@@ -3767,13 +3775,13 @@ ROM_START(strxt_it)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sxdispi.103", 0x00000, 0x80000, CRC(40be3fe2) SHA1(a5e37ecf3b9772736ac88256c470f785dc113aa1))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sxsndi.u7",0x0000,0x10000,CRC(81caf0a7) SHA1(5bb05c5bb49d12417b3ad49398623c3c222fd63b))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sxsndi.u17", 0x000000, CRC(d0b21193) SHA1(2e5f92a67f0f18913e5d0af9936ab8694d095c66))
ROM_LOAD_SND_8M("sxsndi.u21", 0x080000, CRC(5ab3f8f4) SHA1(44982725eb31b0b144e3ad6549734b5fc46cd8c5))
ROM_LOAD_SND_8M("sxsndi.u36", 0x100000, CRC(4ee21ade) SHA1(1887f81b5f6753ce75ddcd0d7557c1644a925fcf))
@@ -3790,13 +3798,13 @@ ROM_START(strxt_it_101)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sxdispi.103", 0x00000, 0x80000, CRC(40be3fe2) SHA1(a5e37ecf3b9772736ac88256c470f785dc113aa1))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sxsndi.u7",0x0000,0x10000,CRC(81caf0a7) SHA1(5bb05c5bb49d12417b3ad49398623c3c222fd63b))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sxsndi.u17", 0x000000, CRC(d0b21193) SHA1(2e5f92a67f0f18913e5d0af9936ab8694d095c66))
ROM_LOAD_SND_8M("sxsndi.u21", 0x080000, CRC(5ab3f8f4) SHA1(44982725eb31b0b144e3ad6549734b5fc46cd8c5))
ROM_LOAD_SND_8M("sxsndi.u36", 0x100000, CRC(4ee21ade) SHA1(1887f81b5f6753ce75ddcd0d7557c1644a925fcf))
@@ -3813,13 +3821,13 @@ ROM_START(strxt_sp)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sxdispl.103", 0x00000, 0x80000, CRC(3efd4a18) SHA1(64f6998f82947a5bd053ad8dd56682adb239b676))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("sxsndl.u7",0x0000,0x10000,CRC(a03131cf) SHA1(e50f665eb15cef799fdc0d1d88bc7d5e23390225))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("sxsndl.u17", 0x000000, CRC(e7ee91cb) SHA1(1bc9992601bd7d194e2f33241179d682a62bff4b))
ROM_LOAD_SND_8M("sxsndl.u21", 0x080000, CRC(88cbf553) SHA1(d6afd262b47e31983c734c0054a7af2489da2f13))
ROM_LOAD_SND_8M("sxsndl.u36", 0x100000, CRC(35474ad5) SHA1(818a0f86fa4aa0b0457c16a20f8358655c42ea0a))
@@ -3839,13 +3847,13 @@ ROM_START(term3)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("t3dispa.400", 0x00000, 0x80000, CRC(6b7cc4f8) SHA1(214e9b3e45b778841fc166acf4ff5fd634ae2670))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("t3100.u7",0x0000,0x10000,CRC(7f99e3af) SHA1(4916c074e2a4c947d1a658300f9f9629da1a8bb8))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("t3100.u17", 0x000000, CRC(f0c71b5d) SHA1(e9f726a232fbd4f34b8b07069f337dbb3daf394a))
ROM_LOAD_SND_8M("t3100.u21", 0x080000, CRC(694331f7) SHA1(e9ae8c5db2e59c0f9df923c98f6e75896e150807))
ROM_LOAD_SND_8M("t3100.u36", 0x100000, CRC(9eb512e9) SHA1(fa2fecf6cb0c1af3c6db244f9d94ba53d13e10fc))
@@ -3862,13 +3870,13 @@ ROM_START(term3_205)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "t3dispa.201", 0x0000, 0x80000, CRC(a314acd1) SHA1(4d5072e65f8041d24c1bab2985ef5b30e1895bf3))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("t3100.u7",0x0000,0x10000,CRC(7f99e3af) SHA1(4916c074e2a4c947d1a658300f9f9629da1a8bb8))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("t3100.u17", 0x000000, CRC(f0c71b5d) SHA1(e9f726a232fbd4f34b8b07069f337dbb3daf394a))
ROM_LOAD_SND_8M("t3100.u21", 0x080000, CRC(694331f7) SHA1(e9ae8c5db2e59c0f9df923c98f6e75896e150807))
ROM_LOAD_SND_8M("t3100.u36", 0x100000, CRC(9eb512e9) SHA1(fa2fecf6cb0c1af3c6db244f9d94ba53d13e10fc))
@@ -3885,7 +3893,7 @@ ROM_START(t3new)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("t3dispa.400", 0x00000, 0x80000, CRC(6b7cc4f8) SHA1(214e9b3e45b778841fc166acf4ff5fd634ae2670))
ROM_REGION32_LE(0x600000, "soundcpu", ROMREGION_ERASEMASK | 0)
@@ -3913,13 +3921,13 @@ ROM_START(term3g)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("t3dispg.400", 0x00000, 0x80000, CRC(20da21b2) SHA1(9115aef55d9ac36a49ae5c5fd423f05c669b0335))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("t3100.u7",0x0000,0x10000,CRC(7f99e3af) SHA1(4916c074e2a4c947d1a658300f9f9629da1a8bb8))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("t3100.u17", 0x000000, CRC(f0c71b5d) SHA1(e9f726a232fbd4f34b8b07069f337dbb3daf394a))
ROM_LOAD_SND_8M("t3100.u21", 0x080000, CRC(694331f7) SHA1(e9ae8c5db2e59c0f9df923c98f6e75896e150807))
ROM_LOAD_SND_8M("t3100.u36", 0x100000, CRC(9eb512e9) SHA1(fa2fecf6cb0c1af3c6db244f9d94ba53d13e10fc))
@@ -3936,13 +3944,13 @@ ROM_START(term3l)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("t3displ.400", 0x00000, 0x80000, CRC(2e21caba) SHA1(d29afa05d68484c762799c799bd1ccd1aad252b7))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("t3100.u7",0x0000,0x10000,CRC(7f99e3af) SHA1(4916c074e2a4c947d1a658300f9f9629da1a8bb8))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("t3100.u17", 0x000000, CRC(f0c71b5d) SHA1(e9f726a232fbd4f34b8b07069f337dbb3daf394a))
ROM_LOAD_SND_8M("t3100.u21", 0x080000, CRC(694331f7) SHA1(e9ae8c5db2e59c0f9df923c98f6e75896e150807))
ROM_LOAD_SND_8M("t3100.u36", 0x100000, CRC(9eb512e9) SHA1(fa2fecf6cb0c1af3c6db244f9d94ba53d13e10fc))
@@ -3959,13 +3967,13 @@ ROM_START(term3l_205)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "t3displ.201", 0x0000, 0x80000, CRC(180b55a2) SHA1(1d8161fc806804e0712ee8a07a2cac0561949f0c))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("t3100.u7",0x0000,0x10000,CRC(7f99e3af) SHA1(4916c074e2a4c947d1a658300f9f9629da1a8bb8))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("t3100.u17", 0x000000, CRC(f0c71b5d) SHA1(e9f726a232fbd4f34b8b07069f337dbb3daf394a))
ROM_LOAD_SND_8M("t3100.u21", 0x080000, CRC(694331f7) SHA1(e9ae8c5db2e59c0f9df923c98f6e75896e150807))
ROM_LOAD_SND_8M("t3100.u36", 0x100000, CRC(9eb512e9) SHA1(fa2fecf6cb0c1af3c6db244f9d94ba53d13e10fc))
@@ -3982,13 +3990,13 @@ ROM_START(term3f)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("t3dispf.400", 0x00000, 0x80000, CRC(0645fe6d) SHA1(1a7dfa160ba6cc1335a59b018289982f2a46a7bb))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("t3100.u7",0x0000,0x10000,CRC(7f99e3af) SHA1(4916c074e2a4c947d1a658300f9f9629da1a8bb8))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("t3100.u17", 0x000000, CRC(f0c71b5d) SHA1(e9f726a232fbd4f34b8b07069f337dbb3daf394a))
ROM_LOAD_SND_8M("t3100.u21", 0x080000, CRC(694331f7) SHA1(e9ae8c5db2e59c0f9df923c98f6e75896e150807))
ROM_LOAD_SND_8M("t3100.u36", 0x100000, CRC(9eb512e9) SHA1(fa2fecf6cb0c1af3c6db244f9d94ba53d13e10fc))
@@ -4005,13 +4013,13 @@ ROM_START(term3f_205)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "t3dispf.201", 0x0000, 0x80000, CRC(ced87154) SHA1(893c071bb2427429ca45f4d2088b015c5f638207))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("t3100.u7",0x0000,0x10000,CRC(7f99e3af) SHA1(4916c074e2a4c947d1a658300f9f9629da1a8bb8))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("t3100.u17", 0x000000, CRC(f0c71b5d) SHA1(e9f726a232fbd4f34b8b07069f337dbb3daf394a))
ROM_LOAD_SND_8M("t3100.u21", 0x080000, CRC(694331f7) SHA1(e9ae8c5db2e59c0f9df923c98f6e75896e150807))
ROM_LOAD_SND_8M("t3100.u36", 0x100000, CRC(9eb512e9) SHA1(fa2fecf6cb0c1af3c6db244f9d94ba53d13e10fc))
@@ -4028,13 +4036,13 @@ ROM_START(term3i)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("t3dispi.400", 0x00000, 0x80000, CRC(e8ea9ab8) SHA1(7b25bb7d3095e6bd2d94342d0e078590cb75074b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("t3100.u7",0x0000,0x10000,CRC(7f99e3af) SHA1(4916c074e2a4c947d1a658300f9f9629da1a8bb8))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("t3100.u17", 0x000000, CRC(f0c71b5d) SHA1(e9f726a232fbd4f34b8b07069f337dbb3daf394a))
ROM_LOAD_SND_8M("t3100.u21", 0x080000, CRC(694331f7) SHA1(e9ae8c5db2e59c0f9df923c98f6e75896e150807))
ROM_LOAD_SND_8M("t3100.u36", 0x100000, CRC(9eb512e9) SHA1(fa2fecf6cb0c1af3c6db244f9d94ba53d13e10fc))
@@ -4051,13 +4059,13 @@ ROM_START(term3i_205)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "t3dispi.201", 0x0000, 0x80000, CRC(c1f3604f) SHA1(8a391e6471ced52662aa69261ac29a279c7b8a7d))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("t3100.u7",0x0000,0x10000,CRC(7f99e3af) SHA1(4916c074e2a4c947d1a658300f9f9629da1a8bb8))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("t3100.u17", 0x000000, CRC(f0c71b5d) SHA1(e9f726a232fbd4f34b8b07069f337dbb3daf394a))
ROM_LOAD_SND_8M("t3100.u21", 0x080000, CRC(694331f7) SHA1(e9ae8c5db2e59c0f9df923c98f6e75896e150807))
ROM_LOAD_SND_8M("t3100.u36", 0x100000, CRC(9eb512e9) SHA1(fa2fecf6cb0c1af3c6db244f9d94ba53d13e10fc))
@@ -4074,13 +4082,13 @@ ROM_START(term3_301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("t3dispa.300", 0x00000, 0x80000, CRC(79b68a2f) SHA1(cd466c15ffe09666c115f843775e457138bf23bc))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("t3100.u7",0x0000,0x10000,CRC(7f99e3af) SHA1(4916c074e2a4c947d1a658300f9f9629da1a8bb8))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("t3100.u17", 0x000000, CRC(f0c71b5d) SHA1(e9f726a232fbd4f34b8b07069f337dbb3daf394a))
ROM_LOAD_SND_8M("t3100.u21", 0x080000, CRC(694331f7) SHA1(e9ae8c5db2e59c0f9df923c98f6e75896e150807))
ROM_LOAD_SND_8M("t3100.u36", 0x100000, CRC(9eb512e9) SHA1(fa2fecf6cb0c1af3c6db244f9d94ba53d13e10fc))
@@ -4097,13 +4105,13 @@ ROM_START(term3l_301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("t3displ.300", 0x00000, 0x80000, CRC(2df35b3f) SHA1(5716b46c16cc7c4478f3118c4e6c3959b10624f8))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("t3100.u7",0x0000,0x10000,CRC(7f99e3af) SHA1(4916c074e2a4c947d1a658300f9f9629da1a8bb8))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("t3100.u17", 0x000000, CRC(f0c71b5d) SHA1(e9f726a232fbd4f34b8b07069f337dbb3daf394a))
ROM_LOAD_SND_8M("t3100.u21", 0x080000, CRC(694331f7) SHA1(e9ae8c5db2e59c0f9df923c98f6e75896e150807))
ROM_LOAD_SND_8M("t3100.u36", 0x100000, CRC(9eb512e9) SHA1(fa2fecf6cb0c1af3c6db244f9d94ba53d13e10fc))
@@ -4120,13 +4128,13 @@ ROM_START(term3f_301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("t3dispf.300", 0x00000, 0x80000, CRC(d5c68903) SHA1(00ca09f087e5b2a742d0bf6f2ff5706a2b83a295))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("t3100.u7",0x0000,0x10000,CRC(7f99e3af) SHA1(4916c074e2a4c947d1a658300f9f9629da1a8bb8))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("t3100.u17", 0x000000, CRC(f0c71b5d) SHA1(e9f726a232fbd4f34b8b07069f337dbb3daf394a))
ROM_LOAD_SND_8M("t3100.u21", 0x080000, CRC(694331f7) SHA1(e9ae8c5db2e59c0f9df923c98f6e75896e150807))
ROM_LOAD_SND_8M("t3100.u36", 0x100000, CRC(9eb512e9) SHA1(fa2fecf6cb0c1af3c6db244f9d94ba53d13e10fc))
@@ -4143,13 +4151,13 @@ ROM_START(term3g_301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("t3dispg.300", 0x00000, 0x80000, CRC(9115ea52) SHA1(52bd2cbe609363d9904b82704072fc3c398a7c18))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("t3100.u7",0x0000,0x10000,CRC(7f99e3af) SHA1(4916c074e2a4c947d1a658300f9f9629da1a8bb8))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("t3100.u17", 0x000000, CRC(f0c71b5d) SHA1(e9f726a232fbd4f34b8b07069f337dbb3daf394a))
ROM_LOAD_SND_8M("t3100.u21", 0x080000, CRC(694331f7) SHA1(e9ae8c5db2e59c0f9df923c98f6e75896e150807))
ROM_LOAD_SND_8M("t3100.u36", 0x100000, CRC(9eb512e9) SHA1(fa2fecf6cb0c1af3c6db244f9d94ba53d13e10fc))
@@ -4166,13 +4174,13 @@ ROM_START(term3i_301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("t3dispi.300", 0x00000, 0x80000, CRC(30573629) SHA1(85ae7183b42a62f62aa3ba6441717fc7a49dd03a))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("t3100.u7",0x0000,0x10000,CRC(7f99e3af) SHA1(4916c074e2a4c947d1a658300f9f9629da1a8bb8))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("t3100.u17", 0x000000, CRC(f0c71b5d) SHA1(e9f726a232fbd4f34b8b07069f337dbb3daf394a))
ROM_LOAD_SND_8M("t3100.u21", 0x080000, CRC(694331f7) SHA1(e9ae8c5db2e59c0f9df923c98f6e75896e150807))
ROM_LOAD_SND_8M("t3100.u36", 0x100000, CRC(9eb512e9) SHA1(fa2fecf6cb0c1af3c6db244f9d94ba53d13e10fc))
@@ -4196,13 +4204,13 @@ ROM_START(jplstw22)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("jp2dspa.201", 0x00000, 0x80000, CRC(8fc41ace) SHA1(9d11f7623eec41972d2be4313c7715e30116d889))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("jp2_u7.bin", 0x0000, 0x10000, CRC(73b74c96) SHA1(ffa47cbf1491ed4fbadc984189abbfffc70c9888))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("jp2_u17.bin", 0x000000, 0x80000, CRC(8d6c0dbd) SHA1(e1179b2c94927a07efa7d16cf841d5ff7334ff36))
ROM_LOAD("jp2_u21.bin", 0x080000, 0x80000, CRC(c670a997) SHA1(1576e11ec3669f61ff16188de31b9ef3a067c473))
@@ -4217,13 +4225,13 @@ ROM_START(jplstw20)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("jp2dspa.201", 0x00000, 0x80000, CRC(8fc41ace) SHA1(9d11f7623eec41972d2be4313c7715e30116d889))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("jp2_u7.bin", 0x0000, 0x10000, CRC(73b74c96) SHA1(ffa47cbf1491ed4fbadc984189abbfffc70c9888))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD("jp2_u17.bin", 0x000000, 0x80000, CRC(8d6c0dbd) SHA1(e1179b2c94927a07efa7d16cf841d5ff7334ff36))
ROM_LOAD("jp2_u21.bin", 0x080000, 0x80000, CRC(c670a997) SHA1(1576e11ec3669f61ff16188de31b9ef3a067c473))
@@ -4241,13 +4249,13 @@ ROM_START(simpprty)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sppdispa.500", 0x00000, 0x80000, CRC(c6db83ec) SHA1(6079981e19b4651a074b0005eca85faf0eebcec0))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4264,13 +4272,13 @@ ROM_START(simpprty_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sppdspa.400", 0x00000, 0x80000, CRC(cd5eaab7) SHA1(a06bef6fc0e7f3c0616439cb0e0431a3d52cdfa1))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4287,13 +4295,13 @@ ROM_START(simpprty_204)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sppdispa.201", 0x00000, 0x80000, CRC(f55505a4) SHA1(5616959caafc836d13db9c1a1e93cb4954f0c321))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4310,7 +4318,7 @@ ROM_START(simpnew)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sppdispa.500", 0x00000, 0x80000, CRC(c6db83ec) SHA1(6079981e19b4651a074b0005eca85faf0eebcec0))
ROM_REGION32_LE(0x600000, "soundcpu", ROMREGION_ERASEMASK | 0)
@@ -4337,13 +4345,13 @@ ROM_START(simpprtg)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sppdispg.500", 0x00000, 0x80000, CRC(6503bffc) SHA1(717aa8b7a0329c886ddb4b167c022b3a2ee3ab2d))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4360,13 +4368,13 @@ ROM_START(simpprtg_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sppdspg.400", 0x00000, 0x80000, CRC(3b408fe2) SHA1(ce8d7f0d58b5f8fb4df0b9811449e4dc0e1e6580))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4383,13 +4391,13 @@ ROM_START(simpprtl)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sppdispl.500", 0x00000, 0x80000, CRC(0821f182) SHA1(7998ab29dae59d077b1dedd28a30a3477251d107))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4406,13 +4414,13 @@ ROM_START(simpprtl_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sppdspl.400", 0x00000, 0x80000, CRC(a0bf567e) SHA1(ce6eb65da6bff15aeb787fd2cdac7cf6b4300108))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4429,13 +4437,13 @@ ROM_START(simpprtl_204)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sppdispl.201", 0x00000, 0x80000, CRC(78a67e23) SHA1(c4ef2b0301104280410aefdacc847e74a8c6a49f))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4452,13 +4460,13 @@ ROM_START(simpprtf)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sppdispf.500", 0x00000, 0x80000, CRC(8d3383ed) SHA1(a56b1043fe1b0280d11386981fe9c181c9b6f1b7))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4475,13 +4483,13 @@ ROM_START(simpprtf_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sppdspf.400", 0x00000, 0x80000, CRC(6cc306e2) SHA1(bfe6ef0cd5d0cb5e3b29d85ade1700005e22d81b))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4498,13 +4506,13 @@ ROM_START(simpprtf_204)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sppdispf.201", 0x00000, 0x80000, CRC(d1c0c484) SHA1(615e3a8ba62b3f6d0ba53fbaf4b7d9e7fcdc9d82))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4521,13 +4529,13 @@ ROM_START(simpprti)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sppdispi.500", 0x00000, 0x80000, CRC(eefe84db) SHA1(97c60f9182bdfe346ca4981b844a71f57414d470))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4544,13 +4552,13 @@ ROM_START(simpprti_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sppdspi.400", 0x00000, 0x80000, CRC(ebe45dee) SHA1(4cdf0f01b1df1fa35df67f19c67b82a39d887be8))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4567,13 +4575,13 @@ ROM_START(simpprti_204)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sppdispi.201", 0x00000, 0x80000, CRC(b4594819) SHA1(4ab83f3b6466eebdec802e57d6542ad4a3cf3fb0))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4590,13 +4598,13 @@ ROM_START(simpprty_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sppdspa.300", 0x00000, 0x80000, CRC(57c4f297) SHA1(91ae894293b1252213a7137400f89c7ac2c6e877))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4613,13 +4621,13 @@ ROM_START(simpprtl_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sppdspl.300", 0x00000, 0x80000, CRC(d91ec782) SHA1(a01ebecb03200738b47177b02a689148d822ff0e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4636,13 +4644,13 @@ ROM_START(simpprtf_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sppdspf.300", 0x00000, 0x80000, CRC(cb848e0d) SHA1(ab9f32d3b693ebcef92fe21e04d760756c8f59c2))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4659,13 +4667,13 @@ ROM_START(simpprti_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sppdspi.300", 0x00000, 0x80000, CRC(31acf30a) SHA1(aad2b363bed93d22613b0530fcd2d7f850f8e616))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("spp101.u7",0x0000,0x10000,CRC(32efcdf6) SHA1(1d437e8649408be91e0dd10598cc67336203077f))
- ROM_REGION(0x1000000, "bsmt", 0 )
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0 )
ROM_LOAD_SND_8M("spp100.u17", 0x000000, CRC(65e9344e) SHA1(fe4797ccb71b31aa39d6a5d373a01fc22f9d055c))
ROM_LOAD_SND_8M("spp100.u21", 0x080000, CRC(17fee0f9) SHA1(5b5ceb667f3bc9bde4ea08a1ef837e3b56c01977))
ROM_LOAD_SND_8M("spp100.u36", 0x100000, CRC(ffb957b0) SHA1(d6876ec63525099a7073c196867c17111272c69a))
@@ -4685,13 +4693,13 @@ ROM_START(xfilesp)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("xfildspa.300", 0x00000, 0x80000, CRC(03c96af8) SHA1(06a26116f863bb9b2d127e18c5ba500537923d62))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("xfsndu7.512", 0x0000, 0x10000, CRC(01d65239) SHA1(9e680de940a15ef85a5615b789c58cd5973ff11b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("xfsndu17.c40", 0x000000, 0x80000, CRC(40bfc835) SHA1(2d6ac82acbbf9645bcb84fab7f285f2373e516a8))
ROM_LOAD("xfsndu21.c40", 0x080000, 0x80000, CRC(b56a5ca6) SHA1(5fa23a8bb57e45aca159882226e603d9a6be078b))
@@ -4706,13 +4714,13 @@ ROM_START(xfilespf)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("xfildspf.300", 0x00000, 0x80000, CRC(fe9b1292) SHA1(ead40d2cdff060829008f468e08512c4f5f9e055))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("xfsndu7.512", 0x0000, 0x10000, CRC(01d65239) SHA1(9e680de940a15ef85a5615b789c58cd5973ff11b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("xfsndu17.c40", 0x000000, 0x80000, CRC(40bfc835) SHA1(2d6ac82acbbf9645bcb84fab7f285f2373e516a8))
ROM_LOAD("xfsndu21.c40", 0x080000, 0x80000, CRC(b56a5ca6) SHA1(5fa23a8bb57e45aca159882226e603d9a6be078b))
@@ -4727,13 +4735,13 @@ ROM_START(xfiles2)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("xfildspa.201", 0x00000, 0x80000, CRC(bb015f24) SHA1(ca539d978ef0b8244227ea0c60087da5e7f0ee9e))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("xfsndu7.512", 0x0000, 0x10000, CRC(01d65239) SHA1(9e680de940a15ef85a5615b789c58cd5973ff11b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("xfsndu17.c40", 0x000000, 0x80000, CRC(40bfc835) SHA1(2d6ac82acbbf9645bcb84fab7f285f2373e516a8))
ROM_LOAD("xfsndu21.c40", 0x080000, 0x80000, CRC(b56a5ca6) SHA1(5fa23a8bb57e45aca159882226e603d9a6be078b))
@@ -4748,13 +4756,13 @@ ROM_START(xfiles20)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("xfildspa.200", 0x00000, 0x80000, CRC(3fb161c3) SHA1(ea00c5c5a1e4908fcc34b0558b89325db091595d))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("xfsndu7.512", 0x0000, 0x10000, CRC(01d65239) SHA1(9e680de940a15ef85a5615b789c58cd5973ff11b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("xfsndu17.c40", 0x000000, 0x80000, CRC(40bfc835) SHA1(2d6ac82acbbf9645bcb84fab7f285f2373e516a8))
ROM_LOAD("xfsndu21.c40", 0x080000, 0x80000, CRC(b56a5ca6) SHA1(5fa23a8bb57e45aca159882226e603d9a6be078b))
@@ -4772,13 +4780,13 @@ ROM_START(twst_405)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("twstdspa.400", 0x00000, 0x80000, CRC(a6a3d41d) SHA1(ad42b3390ceeeea43c1cd47f300bcd4b4a4d2558))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("twstsnd.u7", 0x0000, 0x10000, CRC(5ccf0798) SHA1(ac591c508de8e9687c20b01c298084c99a251016))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("twstsnd.u17", 0x000000, 0x80000, CRC(0e35d640) SHA1(ce38a03fcc321cd9af07d24bf7aa35f254b629fc))
ROM_LOAD("twstsnd.u21", 0x080000, 0x80000, CRC(c3eae590) SHA1(bda3e0a725339069c49c4282676a07b4e0e8d2eb))
@@ -4793,13 +4801,13 @@ ROM_START(twst_404)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("twstdspa.400", 0x00000, 0x80000, CRC(a6a3d41d) SHA1(ad42b3390ceeeea43c1cd47f300bcd4b4a4d2558))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("twstsnd.u7", 0x0000, 0x10000, CRC(5ccf0798) SHA1(ac591c508de8e9687c20b01c298084c99a251016))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("twstsnd.u17", 0x000000, 0x80000, CRC(0e35d640) SHA1(ce38a03fcc321cd9af07d24bf7aa35f254b629fc))
ROM_LOAD("twstsnd.u21", 0x080000, 0x80000, CRC(c3eae590) SHA1(bda3e0a725339069c49c4282676a07b4e0e8d2eb))
@@ -4814,13 +4822,13 @@ ROM_START(twst_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("twstdspa.301", 0x00000, 0x80000, CRC(78bc45cb) SHA1(d1915fab46f178c9842e44701c91a0db2495e4fd))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("twstsnd.u7", 0x0000, 0x10000, CRC(5ccf0798) SHA1(ac591c508de8e9687c20b01c298084c99a251016))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("twstsnd.u17", 0x000000, 0x80000, CRC(0e35d640) SHA1(ce38a03fcc321cd9af07d24bf7aa35f254b629fc))
ROM_LOAD("twstsnd.u21", 0x080000, 0x80000, CRC(c3eae590) SHA1(bda3e0a725339069c49c4282676a07b4e0e8d2eb))
@@ -4838,13 +4846,13 @@ ROM_START(viprsega)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("vipdspa.201", 0x00000, 0x80000, CRC(24b1dc21) SHA1(73d92083c4795e143e7c34f52032292a142534f4))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("vpru7.dat", 0x0000, 0x10000, CRC(f21617d7) SHA1(78d1ade400b83c62bb6288bccf386ef34050dd04))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("vpru17.dat", 0x000000, 0x80000, CRC(47b1317c) SHA1(32259965b5a12f63267af96eef8396bf71895a65))
ROM_LOAD("vpru21.dat", 0x080000, 0x80000, CRC(0e0e2dd6) SHA1(b409c837a52eb399c9a4896ca0c502360c93dcc9))
ROM_LOAD("vpru36.dat", 0x100000, 0x80000, CRC(7b482876) SHA1(c8960c2d45a77a35d22408c7bb8ba322e7af36f0))
@@ -4861,13 +4869,13 @@ ROM_START(viprsega_102)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("vipdspa.100", 0x00000, 0x80000, CRC(25acf3db) SHA1(3476f2b95cfff9dfb4fe9cf7c5cccae85f23343a))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("vpru7.dat", 0x0000, 0x10000, CRC(f21617d7) SHA1(78d1ade400b83c62bb6288bccf386ef34050dd04))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("vpru17.dat", 0x000000, 0x80000, CRC(47b1317c) SHA1(32259965b5a12f63267af96eef8396bf71895a65))
ROM_LOAD("vpru21.dat", 0x080000, 0x80000, CRC(0e0e2dd6) SHA1(b409c837a52eb399c9a4896ca0c502360c93dcc9))
ROM_LOAD("vpru36.dat", 0x100000, 0x80000, CRC(7b482876) SHA1(c8960c2d45a77a35d22408c7bb8ba322e7af36f0))
@@ -4887,13 +4895,13 @@ ROM_START(ctchzdlx)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ctcdxdsp.100", 0x00000, 0x80000, CRC(de61b12e) SHA1(2ef8f02ca995e67d1feebd33306f92e885077101))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("ctcu7d.bin", 0x0000, 0x10000, CRC(92bfe454) SHA1(8182f7ac84addf8bdb7976a85c801edf3424d16b))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("ctcdxu17.bin", 0x000000, 0x80000, CRC(7ee35d17) SHA1(f2c9b70285926fc782a2e1289532395cd8dbf999))
ROM_LOAD("ctcdxu21.bin", 0x080000, 0x80000, CRC(84dd40ac) SHA1(c9327b95f1730a3aa741540c28078f214af214b8))
@@ -4911,13 +4919,13 @@ ROM_START(wackadoo)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("wackdisp.bin", 0x00000, 0x80000, CRC(8b46f074) SHA1(38a98fff56186d1a152e2c2e321496fd24e9ad56))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("wacku7.bin", 0x0000, 0x10000, CRC(99df3022) SHA1(5a38cf0816b95ea399d659d724b3259fadb42a62))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("wacku17.bin", 0x000000, 0x80000, CRC(1876e659) SHA1(1ff3a6d7a7b2582d0482eae024efa078d0a61dbe))
ROM_LOAD("wacku21.bin", 0x080000, 0x80000, CRC(a3207296) SHA1(19af8ebab298a353fe42fc297b61182d8f772347))
@@ -4935,13 +4943,13 @@ ROM_START(titanic)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("titadspa.101", 0x00000, 0x80000, CRC(5b4300b6) SHA1(c2b2de20f6c74b71d2a9ac43c17694eadd795586))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("titau7.101", 0x0000, 0x10000, CRC(544fe1ac) SHA1(5c62eef6a42660b13e626d1a6bb8cd09b77b0cc1))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD("titau17.100", 0x000000, 0x80000, CRC(ab919e99) SHA1(8735b632a62d9cd3db26b3c832785c48552ba231))
ROM_LOAD("titau21.100", 0x080000, 0x80000, CRC(76ca05f8) SHA1(3e1c56fe37393c345111665fd8ab730d53cb6970))
@@ -4959,13 +4967,13 @@ ROM_START(monopred)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("monopdsp.400", 0x00000, 0x80000, CRC(0105572b) SHA1(fd9e1dfa4f396b953f82ccde11b54ee638382bee))
- ROM_REGION(0x010000, "soundcpu", 0)
+ ROM_REGION(0x010000, "decobsmt:soundcpu", 0)
ROM_LOAD("monopred.u7", 0x0000, 0x10000, CRC(1ca0cf63) SHA1(c4ce78718e3e3f1a8451b134f2869dd6410fee30))
- ROM_REGION(0x1000000, "bsmt", 0)
+ ROM_REGION(0x1000000, "decobsmt:bsmt", 0)
ROM_LOAD_SND_8M("monopred.u17", 0x000000, CRC(467dca62) SHA1(c727748b6b0b39ead19ce98bddd89fd05fb62d00))
ROM_REGION(0x117, "plds", 0 )
@@ -4982,7 +4990,7 @@ ROM_START(elvisp)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("elvsdspa.500", 0x00000, 0x80000, CRC(76a672cb) SHA1(8a9d4ac9538f0f91f2e95800147478cbaeb152a5))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5009,7 +5017,7 @@ ROM_START(elvisp4)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspa.401", 0x0000, 0x80000, CRC(fb08d5c3) SHA1(03f9886381d32bfd012a2663d2b7331a76c8c1c0))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5036,7 +5044,7 @@ ROM_START(elvisp303)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspa.302", 0x0000, 0x80000, CRC(892da6d2) SHA1(66a2f9faab9c7b925a90455ce7e1d31e19fce99e))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5063,7 +5071,7 @@ ROM_START(elvisp302)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspa.302", 0x0000, 0x80000, CRC(892da6d2) SHA1(66a2f9faab9c7b925a90455ce7e1d31e19fce99e))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5090,7 +5098,7 @@ ROM_START(elvisp100)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvis_display_1.00.bin", 0x0000, 0x80000, CRC(8feffc70) SHA1(71849701d49064c65adfdf76908f9fa79a8b25b8))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5117,7 +5125,7 @@ ROM_START(elvisl)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("elvsdspl.500", 0x00000, 0x80000, CRC(68946b3b) SHA1(5764a5f6779097acfcf82eb176f6d966f6bb6988))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5144,7 +5152,7 @@ ROM_START(elvisl4)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspl.401", 0x0000, 0x80000, CRC(57fc6ed2) SHA1(3349a56ce38ab4ffdf1469bac8dbc9d08c077f6e))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5171,7 +5179,7 @@ ROM_START(elvisl303)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspl.302", 0x0000, 0x80000, CRC(f75ea4cb) SHA1(aa351bb0912fd9dc93e9c95f96af2d31aaf03777))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5198,7 +5206,7 @@ ROM_START(elvisl302)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspl.302", 0x0000, 0x80000, CRC(f75ea4cb) SHA1(aa351bb0912fd9dc93e9c95f96af2d31aaf03777))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5225,7 +5233,7 @@ ROM_START(elvisg)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("elvsdspg.500", 0x00000, 0x80000, CRC(4b6e7d37) SHA1(259a5d0d11392f05504d4477cf03f2a270db670c))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5252,7 +5260,7 @@ ROM_START(elvisg4)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspg.401", 0x0000, 0x80000, CRC(a694f642) SHA1(a44febcc08445f53aa96b0c791a636d541cebb97))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5279,7 +5287,7 @@ ROM_START(elvisg303)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspg.302", 0x0000, 0x80000, CRC(6340bb11) SHA1(d510f1a913cd3fb9593ef88c5652e03a5d3c3ebb))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5306,7 +5314,7 @@ ROM_START(elvisg302)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspg.302", 0x0000, 0x80000, CRC(6340bb11) SHA1(d510f1a913cd3fb9593ef88c5652e03a5d3c3ebb))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5333,7 +5341,7 @@ ROM_START(elvisf)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("elvsdspf.500", 0x00000, 0x80000, CRC(e4ce2da7) SHA1(030d9200844fc47d5ea6c4afeab0851de5b42b23))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5360,7 +5368,7 @@ ROM_START(elvisf4)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspf.401", 0x0000, 0x80000, CRC(1ddd1823) SHA1(86c2bacb596265a28a4b6dce3cd47ed5a2cf74d7))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5387,7 +5395,7 @@ ROM_START(elvisf303)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspf.302", 0x0000, 0x80000, CRC(410b6ae5) SHA1(ea29e1c81695df25ad61deedd84e6c3159976797))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5414,7 +5422,7 @@ ROM_START(elvisf302)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspf.302", 0x0000, 0x80000, CRC(410b6ae5) SHA1(ea29e1c81695df25ad61deedd84e6c3159976797))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5441,7 +5449,7 @@ ROM_START(elvisi)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("elvsdspi.500", 0x00000, 0x80000, CRC(3ecbadb2) SHA1(589cf6de348359944585b718b2289dd70676807a))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5468,7 +5476,7 @@ ROM_START(elvisi4)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspi.401", 0x0000, 0x80000, CRC(51f92cec) SHA1(a678dcb29f867b07641f39f5e0a9bf0e5daf9dc3))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5495,7 +5503,7 @@ ROM_START(elvisi303)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspi.302", 0x0000, 0x80000, CRC(217c7d17) SHA1(bfd67e876ea85847212c936f9f8477aba8a7b573))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5522,7 +5530,7 @@ ROM_START(elvisi302)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "elvsdspi.302", 0x0000, 0x80000, CRC(217c7d17) SHA1(bfd67e876ea85847212c936f9f8477aba8a7b573))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5552,7 +5560,7 @@ ROM_START(gprix)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("gpdspa.400", 0x00000, 0x80000, CRC(ce431306) SHA1(2573049b52b928052f196371dbc3a5236ce8cfc3))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5579,7 +5587,7 @@ ROM_START(gprix_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("gpdspa.400", 0x00000, 0x80000, CRC(ce431306) SHA1(2573049b52b928052f196371dbc3a5236ce8cfc3))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5606,7 +5614,7 @@ ROM_START(gprix_352)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspa.303", 0x0000, 0x80000, CRC(814f6a50) SHA1(727eac96c4beaafc3ddd9ccd9ef098bd557cbc74))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5633,7 +5641,7 @@ ROM_START(gprix_350)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspa.303", 0x0000, 0x80000, CRC(814f6a50) SHA1(727eac96c4beaafc3ddd9ccd9ef098bd557cbc74))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5660,7 +5668,7 @@ ROM_START(gprix_340)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspa.303", 0x0000, 0x80000, CRC(814f6a50) SHA1(727eac96c4beaafc3ddd9ccd9ef098bd557cbc74))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5687,7 +5695,7 @@ ROM_START(gprix_301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspa.301", 0x0000, 0x80000, CRC(b11d752d) SHA1(c0e6f5544a3061027bf9addef4363c744aaaf736))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5714,7 +5722,7 @@ ROM_START(gprixg)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("gpdspg.400", 0x00000, 0x80000, CRC(b3f64332) SHA1(84e1b094c74b2dfae8e3cd3ce3f1cd20dc400fd7))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5741,7 +5749,7 @@ ROM_START(gprixg_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("gpdspg.400", 0x00000, 0x80000, CRC(b3f64332) SHA1(84e1b094c74b2dfae8e3cd3ce3f1cd20dc400fd7))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5768,7 +5776,7 @@ ROM_START(gprixg_352)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspg.303", 0x0000, 0x80000, CRC(0be9eb1d) SHA1(78c402efcc818e4960ef5ca17e7fa43a028b5c9b))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5795,7 +5803,7 @@ ROM_START(gprixg_350)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspg.303", 0x0000, 0x80000, CRC(0be9eb1d) SHA1(78c402efcc818e4960ef5ca17e7fa43a028b5c9b))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5822,7 +5830,7 @@ ROM_START(gprixg_340)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspg.303", 0x0000, 0x80000, CRC(0be9eb1d) SHA1(78c402efcc818e4960ef5ca17e7fa43a028b5c9b))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5849,7 +5857,7 @@ ROM_START(gprixg_301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspg.301", 0x0000, 0x80000, CRC(0d214a2a) SHA1(c7f9bbd56d7038931c8658bc586d29ad2b9ecac2))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5876,7 +5884,7 @@ ROM_START(gprixl)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("gpdspl.400", 0x00000, 0x80000, CRC(74d9aa40) SHA1(802c6fbe4248a516f18e4b69997254b3dcf27706))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5903,7 +5911,7 @@ ROM_START(gprixl_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("gpdspl.400", 0x00000, 0x80000, CRC(74d9aa40) SHA1(802c6fbe4248a516f18e4b69997254b3dcf27706))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5930,7 +5938,7 @@ ROM_START(gprixl_352)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspl.303", 0x0000, 0x80000, CRC(82f30b13) SHA1(2f15228dbd6f3957f657772725f3280adf778d72))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5957,7 +5965,7 @@ ROM_START(gprixl_350)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspl.303", 0x0000, 0x80000, CRC(82f30b13) SHA1(2f15228dbd6f3957f657772725f3280adf778d72))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -5984,7 +5992,7 @@ ROM_START(gprixl_340)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspl.303", 0x0000, 0x80000, CRC(82f30b13) SHA1(2f15228dbd6f3957f657772725f3280adf778d72))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6011,7 +6019,7 @@ ROM_START(gprixl_301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspl.301", 0x0000, 0x80000, CRC(2f483f0a) SHA1(42550741bee6af022bccd130626913edff6180a0))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6038,7 +6046,7 @@ ROM_START(gprixf)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("gpdspf.400", 0x00000, 0x80000, CRC(f9b1ef9a) SHA1(a7e3c0fc1526cf3632e6b1f22caf7f73749e77a6))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6065,7 +6073,7 @@ ROM_START(gprixf_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("gpdspf.400", 0x00000, 0x80000, CRC(f9b1ef9a) SHA1(a7e3c0fc1526cf3632e6b1f22caf7f73749e77a6))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6092,7 +6100,7 @@ ROM_START(gprixf_352)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspf.303", 0x0000, 0x80000, CRC(f48f3a4b) SHA1(74c7d1670d6f1ed68d5aed5a755f27ffdb566cbd))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6119,7 +6127,7 @@ ROM_START(gprixf_350)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspf.303", 0x0000, 0x80000, CRC(f48f3a4b) SHA1(74c7d1670d6f1ed68d5aed5a755f27ffdb566cbd))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6146,7 +6154,7 @@ ROM_START(gprixf_340)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspf.303", 0x0000, 0x80000, CRC(f48f3a4b) SHA1(74c7d1670d6f1ed68d5aed5a755f27ffdb566cbd))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6173,7 +6181,7 @@ ROM_START(gprixf_301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspf.301", 0x0000, 0x80000, CRC(b19729cd) SHA1(491fdf356f5a24b9895d2feccfe29d0bf45f4e27))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6200,7 +6208,7 @@ ROM_START(gprixi)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("gpdspi.400", 0x00000, 0x80000, CRC(88675cdf) SHA1(b305a683350d38b43f2e3c9277af14d5503b3219))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6227,7 +6235,7 @@ ROM_START(gprixi_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("gpdspi.400", 0x00000, 0x80000, CRC(88675cdf) SHA1(b305a683350d38b43f2e3c9277af14d5503b3219))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6254,7 +6262,7 @@ ROM_START(gprixi_352)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspi.303", 0x0000, 0x80000, CRC(36418722) SHA1(66f04e3069c51004cb82961a7d82ac0a5f6a84dd))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6281,7 +6289,7 @@ ROM_START(gprixi_350)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspi.303", 0x0000, 0x80000, CRC(36418722) SHA1(66f04e3069c51004cb82961a7d82ac0a5f6a84dd))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6308,7 +6316,7 @@ ROM_START(gprixi_340)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspi.303", 0x0000, 0x80000, CRC(36418722) SHA1(66f04e3069c51004cb82961a7d82ac0a5f6a84dd))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6335,7 +6343,7 @@ ROM_START(gprixi_301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "gpdspi.301", 0x0000, 0x80000, CRC(1fc478da) SHA1(5307e9b302a7e49eb3460e8ba1e4c22525a1dcfe))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6365,7 +6373,7 @@ ROM_START(nascar)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("nasdspa.400", 0x00000, 0x80000, CRC(364878bf) SHA1(a1fb477a37459a3583d3767386f87aa620e31e34))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6392,7 +6400,7 @@ ROM_START(nascar_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("nasdspa.400", 0x00000, 0x80000, CRC(364878bf) SHA1(a1fb477a37459a3583d3767386f87aa620e31e34))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6419,7 +6427,7 @@ ROM_START(nascar_352)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "nasdspa.303", 0x0000, 0x80000, CRC(86e20410) SHA1(c499682713facc6b2923fdd0eff47b98f6a36d14))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6446,7 +6454,7 @@ ROM_START(nascar_350)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "nasdspa.303", 0x0000, 0x80000, CRC(86e20410) SHA1(c499682713facc6b2923fdd0eff47b98f6a36d14))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6473,7 +6481,7 @@ ROM_START(nascar_340)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "nasdspa.303", 0x0000, 0x80000, CRC(86e20410) SHA1(c499682713facc6b2923fdd0eff47b98f6a36d14))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6500,7 +6508,7 @@ ROM_START(nascar_301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "nasdspa.301", 0x0000, 0x80000, CRC(4de3c8d5) SHA1(c2c08ddd0ecc511cf34ba6a6cae9968e903b88ad))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6527,7 +6535,7 @@ ROM_START(dalejr)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "daledisp.500", 0x0000, 0x80000, CRC(5dad91cd) SHA1(ef9ce5573f580abc720a184625c96672b5337191))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6554,7 +6562,7 @@ ROM_START(nascarl)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("nasdspl.400", 0x00000, 0x80000, CRC(a4de490f) SHA1(bc1aa9fc0182045f5d10044b3e4fa083572be4ac))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6581,7 +6589,7 @@ ROM_START(nascarl_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("nasdspl.400", 0x00000, 0x80000, CRC(a4de490f) SHA1(bc1aa9fc0182045f5d10044b3e4fa083572be4ac))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6608,7 +6616,7 @@ ROM_START(nascarl_352)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "nasdspl.303", 0x0000, 0x80000, CRC(868277f0) SHA1(9c058054e6dc3b838bfc3a91d37438afcd59aa4b))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6635,7 +6643,7 @@ ROM_START(nascarl_350)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "nasdspl.303", 0x0000, 0x80000, CRC(868277f0) SHA1(9c058054e6dc3b838bfc3a91d37438afcd59aa4b))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6662,7 +6670,7 @@ ROM_START(nascarl_340)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "nasdspl.303", 0x0000, 0x80000, CRC(868277f0) SHA1(9c058054e6dc3b838bfc3a91d37438afcd59aa4b))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6689,7 +6697,7 @@ ROM_START(nascarl_301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "nasdspl.301", 0x0000, 0x80000, CRC(a6d4a9e7) SHA1(c87286bd173a50e17994474f98574c30cd6d8d39))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6719,7 +6727,7 @@ ROM_START(ripleys)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispa.300", 0x00000, 0x80000, CRC(016907c9) SHA1(d37f1ca5ebe089fca879339cdaffc3fabf09c15c))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6746,7 +6754,7 @@ ROM_START(rip310)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispa.300", 0x00000, 0x80000, CRC(016907c9) SHA1(d37f1ca5ebe089fca879339cdaffc3fabf09c15c))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6772,7 +6780,7 @@ ROM_START(rip302)
ROM_RELOAD(0x20000, 0x20000)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispa.300", 0x00000, 0x80000, CRC(016907c9) SHA1(d37f1ca5ebe089fca879339cdaffc3fabf09c15c))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6799,7 +6807,7 @@ ROM_START(rip301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispa.300", 0x00000, 0x80000, CRC(016907c9) SHA1(d37f1ca5ebe089fca879339cdaffc3fabf09c15c))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6826,7 +6834,7 @@ ROM_START(rip300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispa.300", 0x00000, 0x80000, CRC(016907c9) SHA1(d37f1ca5ebe089fca879339cdaffc3fabf09c15c))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6853,7 +6861,7 @@ ROM_START(ripleysf)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispf.301", 0x00000, 0x80000, CRC(e5ae9d99) SHA1(74929b324b457d08a925c641430e6a7036c7039d))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6880,7 +6888,7 @@ ROM_START(ripf310)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispf.301", 0x00000, 0x80000, CRC(e5ae9d99) SHA1(74929b324b457d08a925c641430e6a7036c7039d))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6907,7 +6915,7 @@ ROM_START(ripf302)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispf.301", 0x00000, 0x80000, CRC(e5ae9d99) SHA1(74929b324b457d08a925c641430e6a7036c7039d))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6933,7 +6941,7 @@ ROM_START(ripf301)
ROM_RELOAD(0x20000, 0x20000)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispf.301", 0x00000, 0x80000, CRC(e5ae9d99) SHA1(74929b324b457d08a925c641430e6a7036c7039d))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6960,7 +6968,7 @@ ROM_START(ripf300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "ripdispf.300", 0x0000, 0x80000, CRC(b9901941) SHA1(653997ff5d63e7ee0270db08cad952ac8293a8cd))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -6987,7 +6995,7 @@ ROM_START(ripleysg)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispg.300", 0x00000, 0x80000, CRC(1a75883b) SHA1(0ef2f4af72e435e5be9d3d8a6b69c66ae18271a1))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7014,7 +7022,7 @@ ROM_START(ripg310)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispg.300", 0x00000, 0x80000, CRC(1a75883b) SHA1(0ef2f4af72e435e5be9d3d8a6b69c66ae18271a1))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7041,7 +7049,7 @@ ROM_START(ripg302)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispg.300", 0x00000, 0x80000, CRC(1a75883b) SHA1(0ef2f4af72e435e5be9d3d8a6b69c66ae18271a1))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7068,7 +7076,7 @@ ROM_START(ripg301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispg.300", 0x00000, 0x80000, CRC(1a75883b) SHA1(0ef2f4af72e435e5be9d3d8a6b69c66ae18271a1))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7095,7 +7103,7 @@ ROM_START(ripg300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispg.300", 0x00000, 0x80000, CRC(1a75883b) SHA1(0ef2f4af72e435e5be9d3d8a6b69c66ae18271a1))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7122,7 +7130,7 @@ ROM_START(ripleysi)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispi.300", 0x00000, 0x80000, CRC(c3541c04) SHA1(26256e8dee77bcfa96326d2e3f67b6fd3696c0c7))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7149,7 +7157,7 @@ ROM_START(ripi310)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispi.300", 0x00000, 0x80000, CRC(c3541c04) SHA1(26256e8dee77bcfa96326d2e3f67b6fd3696c0c7))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7176,7 +7184,7 @@ ROM_START(ripi302)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispi.300", 0x00000, 0x80000, CRC(c3541c04) SHA1(26256e8dee77bcfa96326d2e3f67b6fd3696c0c7))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7203,7 +7211,7 @@ ROM_START(ripi301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispi.300", 0x00000, 0x80000, CRC(c3541c04) SHA1(26256e8dee77bcfa96326d2e3f67b6fd3696c0c7))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7230,7 +7238,7 @@ ROM_START(ripi300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispi.300", 0x00000, 0x80000, CRC(c3541c04) SHA1(26256e8dee77bcfa96326d2e3f67b6fd3696c0c7))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7257,7 +7265,7 @@ ROM_START(ripleysl)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispl.301", 0x00000, 0x80000, CRC(47c87ad4) SHA1(eb372b9f17b28d0781c49a28cb850916ccec323d))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7284,7 +7292,7 @@ ROM_START(ripl310)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispl.301", 0x00000, 0x80000, CRC(47c87ad4) SHA1(eb372b9f17b28d0781c49a28cb850916ccec323d))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7311,7 +7319,7 @@ ROM_START(ripl302)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispl.301", 0x00000, 0x80000, CRC(47c87ad4) SHA1(eb372b9f17b28d0781c49a28cb850916ccec323d))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7338,7 +7346,7 @@ ROM_START(ripl301)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("ripdispl.301", 0x00000, 0x80000, CRC(47c87ad4) SHA1(eb372b9f17b28d0781c49a28cb850916ccec323d))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7365,7 +7373,7 @@ ROM_START(ripl300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "ripdispl.300", 0x0000, 0x80000, CRC(d2f496bb) SHA1(48622e25171030b83d8d1736735e97a13c5f47c6))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7396,7 +7404,7 @@ ROM_START(lotr)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("lotrdspa.a00", 0x00000, 0x80000, CRC(99634603) SHA1(c40d1480e5df10a491bcd471c6a3a118a9120bcb))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7423,7 +7431,7 @@ ROM_START(lotr9)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspa.900", 0x0000, 0x80000, CRC(2b1debd3) SHA1(eab1ffa7b5111bf224c47688bb6c0f40ee6e12fb))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7450,7 +7458,7 @@ ROM_START(lotr8)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspa.800", 0x0000, 0x80000, CRC(2aa1f00d) SHA1(e9df5b61b467c307aacdb5a6980a78af26492e6a))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7477,7 +7485,7 @@ ROM_START(lotr7)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspa.700", 0x0000, 0x80000, CRC(233ef0ad) SHA1(1564ae806639dac49add0c464f4499f46b5589ab)) // ver 7.00
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7504,7 +7512,7 @@ ROM_START(lotr6)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspa.600", 0x0000, 0x80000, CRC(d2098cec) SHA1(06c5c0b29e1442f503b4b374537b9d233721b4b6))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7531,7 +7539,7 @@ ROM_START(lotr501)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspa.501", 0x0000, 0x80000, CRC(2d555b9f) SHA1(d2d23182dea810624cab010890971d8997f8570c))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7558,7 +7566,7 @@ ROM_START(lotr5)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspa.500", 0x0000, 0x80000, CRC(19bda8d2) SHA1(a3d9e60f964d100594f82ed361f86e74c8d69748))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7585,7 +7593,7 @@ ROM_START(lotr410)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspa.404", 0x0000, 0x80000, CRC(1aefcbe7) SHA1(b17fc82425dd5a6ea5a17205d4000294324bb5cc))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7612,7 +7620,7 @@ ROM_START(lotr401)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspa.403", 0x0000, 0x80000, CRC(2630cef1) SHA1(1dfd929e7eb57983f2fd9184d471f2e919359de0))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7639,7 +7647,7 @@ ROM_START(lotr3)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspa.300", 0x0000, 0x80000, CRC(522e3e33) SHA1(11987872604e2a3e2c9567f8f9313c36e6c08cc7))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7665,7 +7673,7 @@ ROM_START(lotr_sp)
ROM_RELOAD(0x20000, 0x20000)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("lotrdspl.a00", 0x00000, 0x80000, CRC(2494a5ee) SHA1(5b95711858d88eeb445503cac8b9b754cf8e9960))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7693,7 +7701,7 @@ ROM_START(lotr_sp9)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspl.900", 0x0000, 0x80000, CRC(00f98242) SHA1(9a0e7e572e209b20691392a694a524192daa0d2a))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7720,7 +7728,7 @@ ROM_START(lotr_sp8)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspl.800", 0x0000, 0x80000, CRC(137c1255) SHA1(43d9ffec18ab2aa80f30b195ca5270d4574d7b8d))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7747,7 +7755,7 @@ ROM_START(lotr_sp7)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspl.700", 0x0000, 0x80000, CRC(3be0283d) SHA1(e019c69cd452b67d6427ddda12b5c3f341afb414))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7774,7 +7782,7 @@ ROM_START(lotr_sp6)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspl.600", 0x0000, 0x80000, CRC(d664d989) SHA1(575f9dcc7cb8aac4bfdb25575b7b9c00cf6459b9))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7801,7 +7809,7 @@ ROM_START(lotr_sp501)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspl.501", 0x0000, 0x80000, CRC(7e96c0f8) SHA1(2ef63b1b30fb2680b97a9080f7b9d76b4d2a76d4))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7828,7 +7836,7 @@ ROM_START(lotr_sp5)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspl.500", 0x0000, 0x80000, CRC(ab538b24) SHA1(039aa8f4286694971cd9a78805bb9f3acabcd692))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7855,7 +7863,7 @@ ROM_START(lotr_sp401)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspl.403", 0x0000, 0x80000, CRC(6d4075c9) SHA1(7944ba597cb476c33060cead4feaf6dcad4f4b16))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7883,7 +7891,7 @@ ROM_START(lotr_gr)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("lotrdspg.a00", 0x00000, 0x80000, CRC(6743a910) SHA1(977773515f00af3937aa59426917e8111ec855ab))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7910,7 +7918,7 @@ ROM_START(lotr_gr9)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspg.900", 0x0000, 0x80000, CRC(f5fdd2c2) SHA1(0c5f1b1efe3d38063e2327e2ccfe40936f3988b8))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7937,7 +7945,7 @@ ROM_START(lotr_gr8)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspg.800", 0x0000, 0x80000, CRC(55765c23) SHA1(690a72e8cb1099a6873eb3214e72bb0fea54fa22))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7964,7 +7972,7 @@ ROM_START(lotr_gr7)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspg.700", 0x0000, 0x80000, CRC(137f223c) SHA1(bb06a6f587bf86555aea85bc1c0402e2137e1c76))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -7991,7 +7999,7 @@ ROM_START(lotr_gr6)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspg.600", 0x0000, 0x80000, CRC(b0de0827) SHA1(1a0aa25a3b881148aafa5e2fabb7a3c501343524))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8018,7 +8026,7 @@ ROM_START(lotr_gr501)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspg.501", 0x0000, 0x80000, CRC(16984eaa) SHA1(999254d12402b0866e4a6f5bb2c03dc5c1c59c5f))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8045,7 +8053,7 @@ ROM_START(lotr_gr5)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspg.500", 0x0000, 0x80000, CRC(39177315) SHA1(13bcf2833ff89fe056517d3ea7b58fb31963cbfc))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8072,7 +8080,7 @@ ROM_START(lotr_gr410)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspg.404", 0x0000, 0x80000, CRC(b78975e5) SHA1(33d9f4d29a83ce0f68e654c15973dfdeee4d224d))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8099,7 +8107,7 @@ ROM_START(lotr_gr401)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspg.403", 0x0000, 0x80000, CRC(74e925cb) SHA1(2edc8666d53f212a053b7a356d2bf6e3180d7bfb))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8126,7 +8134,7 @@ ROM_START(lotr_fr)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("lotrdspf.a00", 0x00000, 0x80000, CRC(15c26c2d) SHA1(c8e4b442d717aa5881f3d92f044c44d29a14126c))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8153,7 +8161,7 @@ ROM_START(lotr_fr9)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspf.900", 0x0000, 0x80000, CRC(f2d8296e) SHA1(3eb6e1e6ba299b720816bf165b1e20e02f6c0c1e))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8180,7 +8188,7 @@ ROM_START(lotr_fr8)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspf.800", 0x0000, 0x80000, CRC(e1ccc04b) SHA1(1d5c7ea06f0cb2e1965c968ed01330867aae8e2b))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8207,7 +8215,7 @@ ROM_START(lotr_fr7)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspf.700", 0x0000, 0x80000, CRC(c98aeb30) SHA1(16b0ae41db8b4083121cc5ebf2706320d554dd08))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8234,7 +8242,7 @@ ROM_START(lotr_fr6)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspf.600", 0x0000, 0x80000, CRC(5cf6c0b6) SHA1(d7fde5dda4c48da15b682ed9f52d20d8ea2accc9))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8261,7 +8269,7 @@ ROM_START(lotr_fr501)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspf.501", 0x0000, 0x80000, CRC(a07596ac) SHA1(99db750971eafc3dba5f5d3e15728de306984ba4))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8288,7 +8296,7 @@ ROM_START(lotr_fr5)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspf.500", 0x0000, 0x80000, CRC(ee5768a1) SHA1(05e696bfc4a7630b483f2f9acd39e53fefe937ef))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8315,7 +8323,7 @@ ROM_START(lotr_fr410)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspf.404", 0x0000, 0x80000, CRC(ebf4bb43) SHA1(5e392c3363db3d56b2ec66fcc43a59b5e8cdf944))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8342,7 +8350,7 @@ ROM_START(lotr_fr401)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspf.403", 0x0000, 0x80000, CRC(d02a77cf) SHA1(8cf4312a04ad486714de5c0041cacb1eb475478f))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8369,7 +8377,7 @@ ROM_START(lotr_it)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("lotrdspi.a00", 0x00000, 0x80000, CRC(6c88f395) SHA1(365d5c6908f5861816b73f287194c85d2300635d))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8396,7 +8404,7 @@ ROM_START(lotr_it9)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspi.900", 0x0000, 0x80000, CRC(a09407d7) SHA1(2cdb70ee0bae7f67f4bf12b0dd3e6cf574087e3d))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8423,7 +8431,7 @@ ROM_START(lotr_it8)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspi.800", 0x0000, 0x80000, CRC(b80730d7) SHA1(552c0bfac1c7a6b246829378a30d58769e695f7e))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8450,7 +8458,7 @@ ROM_START(lotr_it7)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspi.700", 0x0000, 0x80000, CRC(6a0d2a6d) SHA1(2b3ca8b26d79919b7102c60515972ab142d1cbf1))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8477,7 +8485,7 @@ ROM_START(lotr_it6)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspi.600", 0x0000, 0x80000, CRC(9d0b9b3d) SHA1(21363ddbb2c2510fcc9386020f2fd3f49e9c49c3))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8504,7 +8512,7 @@ ROM_START(lotr_it501)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspi.501", 0x0000, 0x80000, CRC(440bbba1) SHA1(e85eca9a1b04ba8bc2784414f7003674bcafba9d))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8531,7 +8539,7 @@ ROM_START(lotr_it5)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspi.500", 0x0000, 0x80000, CRC(ea8d4ac6) SHA1(f46e8c3f344babc67e72f7077880c21df0c42030))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8558,7 +8566,7 @@ ROM_START(lotr_it410)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspi.404", 0x0000, 0x80000, CRC(05db2615) SHA1(0146abd3681d351ef6c1160b85be8bed2886fb27))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8585,7 +8593,7 @@ ROM_START(lotr_it401)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "lotrdspi.403", 0x0000, 0x80000, CRC(5922ce10) SHA1(c57f2de4e3344f16056405d71510c0c0b60ef86d)) // ver 4.03
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8612,7 +8620,7 @@ ROM_START(lotr_le)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("lotrdspa.a00", 0x00000, 0x80000, CRC(99634603) SHA1(c40d1480e5df10a491bcd471c6a3a118a9120bcb))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8642,7 +8650,7 @@ ROM_START(sopranos)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sopdspa.500", 0x00000, 0x80000, CRC(170bd8d1) SHA1(df8d240425ac2c1aa4bea560ecdd3d64120faeb7))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8669,7 +8677,7 @@ ROM_START(sopranos_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sopdspa.400", 0x00000, 0x80000, CRC(60d6b9d3) SHA1(925d2c84e486e4a71bd05b542429a0e22a99072f))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8696,7 +8704,7 @@ ROM_START(sopranos_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sopdspa.300", 0x00000, 0x80000, CRC(aa6306ac) SHA1(80737bd2b93bfc64490d07d2cd482350ed3303b3))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8723,7 +8731,7 @@ ROM_START(sopranos_204)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sopdspa.200", 0x0000, 0x80000, CRC(e5de9a5d) SHA1(6e18d4bdf2d35c9c0743fa6f91f540686d0a706b))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8750,7 +8758,7 @@ ROM_START(sopranog)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sopdspg.500", 0x00000, 0x80000, CRC(d8f365e9) SHA1(395209169e023913bf0bf3c3837e9a1b6b636e75))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8777,7 +8785,7 @@ ROM_START(sopranog_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sopdspg.400", 0x0000, 0x80000, CRC(2672ef2c) SHA1(8e042b6a98edd8d7b7682d01914d8d021f526b35))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8804,7 +8812,7 @@ ROM_START(sopranog_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sopdspg.300", 0x0000, 0x80000, CRC(9fa4f9d6) SHA1(86af57435d3d33f8686a56ac59e411f2cb69f565))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8831,7 +8839,7 @@ ROM_START(sopranog_107)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sopdspg.100", 0x0000, 0x80000, CRC(38625560) SHA1(c41a6808fe05cafe44ea5026689b2ea6eb195e41))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8859,7 +8867,7 @@ ROM_START(sopranof)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sopdspf.500", 0x00000, 0x80000, CRC(e4252fb5) SHA1(be54181af8f3650023f20cf1bf3b8b0310adb1bb))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8886,7 +8894,7 @@ ROM_START(sopranof_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sopdspf.400", 0x0000, 0x80000, CRC(df451810) SHA1(3c396cac89c57dbacde9b82681dd5600616d6d93))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8913,7 +8921,7 @@ ROM_START(sopranof_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sopdspf.300", 0x0000, 0x80000, CRC(693bd940) SHA1(dd277da4e8239ae5ede3ded37efc8377ba85919a))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8940,7 +8948,7 @@ ROM_START(sopranof_107)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sopdspf.100", 0x00000, 0x80000, CRC(18c36c19) SHA1(2b2e5cb00b92d7c8875de2d2d19b82305d9fb27f))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8967,7 +8975,7 @@ ROM_START(sopranol)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sopdspl.500", 0x00000, 0x80000, CRC(a4100c9e) SHA1(08ea2424ff315f6174d56301c7a8164a32629367))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -8994,7 +9002,7 @@ ROM_START(sopranol_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sopdspl.400", 0x0000, 0x80000, CRC(4fbef543) SHA1(3ffb48031451d3b318f88bfab4d92d2903993492))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -9021,7 +9029,7 @@ ROM_START(sopranol_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sopdspl.300", 0x0000, 0x80000, CRC(d6f7a723) SHA1(462c8c82ffb6e386adfc411d3e70c4b25553dc7a))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -9048,7 +9056,7 @@ ROM_START(sopranol_107)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sopdspl.100", 0x0000, 0x80000, CRC(1f52723e) SHA1(c972252a139c871e4bbbf20382ceb738b84f9a18))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -9076,7 +9084,7 @@ ROM_START(sopranoi)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD("sopdspi.500", 0x00000, 0x80000, CRC(5a3f479b) SHA1(43f36e27549259df172ed4340ae891eca634a594))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -9103,7 +9111,7 @@ ROM_START(sopranoi_400)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sopdspi.400", 0x0000, 0x80000, CRC(7e58e364) SHA1(1fcf282ae68e3e725e16e43b85f57d1a18b43508))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -9130,7 +9138,7 @@ ROM_START(sopranoi_300)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sopdspi.300", 0x0000, 0x80000, CRC(d7903ed2) SHA1(ae54952cd3e6f7fb0075e71d484701def764f0d6))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -9157,7 +9165,7 @@ ROM_START(sopranoi_107)
ROM_RELOAD(0x40000, 0x20000)
ROM_RELOAD(0x60000, 0x20000)
- ROM_REGION(0x80000, "dmdcpu", 0)
+ ROM_REGION(0x80000, "decodmd", 0)
ROM_LOAD( "sopdspi.100", 0x0000, 0x80000, CRC(2a6320c1) SHA1(8cd25c53abb353cbbb88af3e7384c7275d836dbb))
ROM_REGION32_LE(0x600000, "cpu2", 0)
@@ -9165,8 +9173,8 @@ ROM_START(sopranoi_107)
ROM_RELOAD(0x0,0x20000)
ROM_REGION(0x10000, "soundcpu", 0)
-
ROM_LOAD("sopsndi.u7",0x0000,0x10000,CRC(afb9c474) SHA1(fd184e8cd6afff61fd2874b08f0e841934916ccb))
+
ROM_REGION(0x1000000, "bsmt", 0)
ROM_LOAD("sopsndi1.u17", 0x000000, 0x100000, CRC(7cb762dd) SHA1(84ec54d6495ccb02052c8d5b6b66c018a702bb4e))
ROM_LOAD("sopsndi.u21", 0x100000, 0x100000, CRC(37727b76) SHA1(8801091870a30222d5a99535bbe15ac97334e368))
diff --git a/src/mame/pinball/wpc_95.cpp b/src/mame/pinball/wpc_95.cpp
index 39f5aa0f3486d..3d12c0845bbe6 100644
--- a/src/mame/pinball/wpc_95.cpp
+++ b/src/mame/pinball/wpc_95.cpp
@@ -49,6 +49,8 @@ Ticket Tac Toe 90005 Hold X hit 1 (n/a)
#include "machine/nvram.h"
#include "machine/timer.h"
+#include "speaker.h"
+
namespace {
class wpc_95_state : public driver_device
@@ -2312,7 +2314,12 @@ void wpc_95_state::wpc_95(machine_config &config)
WPC_DMD(config, "dmd", 0).scanline_callback().set(FUNC(wpc_95_state::scanline_irq));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
+
+ SPEAKER(config, "mono").front_center();
+
DCS_AUDIO_WPC(config, m_dcs, 0);
+ m_dcs->set_maincpu_tag(m_maincpu);
+ m_dcs->add_route(0, "mono", 1.0);
}
/*-------------------------
diff --git a/src/mame/pinball/wpc_dcs.cpp b/src/mame/pinball/wpc_dcs.cpp
index af7960be00cb3..7c7946207c8e3 100644
--- a/src/mame/pinball/wpc_dcs.cpp
+++ b/src/mame/pinball/wpc_dcs.cpp
@@ -37,6 +37,8 @@ Addams Family Values 60022 5 then 1 then the destination key
#include "cpu/m6809/m6809.h"
#include "machine/nvram.h"
+#include "speaker.h"
+
namespace {
class wpc_dcs_state : public driver_device
@@ -472,7 +474,12 @@ void wpc_dcs_state::wpc_dcs(machine_config &config)
WPC_DMD(config, "dmd", 0).scanline_callback().set(FUNC(wpc_dcs_state::scanline_irq));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
+
+ SPEAKER(config, "mono").front_center();
+
DCS_AUDIO_8K(config, m_dcs, 0);
+ m_dcs->set_maincpu_tag(m_maincpu);
+ m_dcs->add_route(0, "mono", 1.0);
}
/*----------------------
diff --git a/src/mame/pinball/wpc_dot.h b/src/mame/pinball/wpc_dot.h
index e491bf2b89f1f..8b79aca167eec 100644
--- a/src/mame/pinball/wpc_dot.h
+++ b/src/mame/pinball/wpc_dot.h
@@ -12,8 +12,6 @@
#pragma once
-#include "dcs.h"
-
#include "cpu/m6809/m6809.h"
#include "wpcsnd.h"
#include "wpc.h"
diff --git a/src/mame/pinball/wpc_s.cpp b/src/mame/pinball/wpc_s.cpp
index 670cfdaf473b5..95f304d850fd1 100644
--- a/src/mame/pinball/wpc_s.cpp
+++ b/src/mame/pinball/wpc_s.cpp
@@ -49,6 +49,8 @@ The Pinball Circus 60020 (not emulated)
#include "cpu/m6809/m6809.h"
#include "machine/nvram.h"
+#include "speaker.h"
+
namespace {
class wpc_s_state : public driver_device
@@ -2057,7 +2059,12 @@ void wpc_s_state::wpc_s(machine_config &config)
WPC_DMD(config, "dmd", 0).scanline_callback().set(FUNC(wpc_s_state::scanline_irq));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
+
+ SPEAKER(config, "mono").front_center();
+
DCS_AUDIO_8K(config, m_dcs, 0);
+ m_dcs->set_maincpu_tag(m_maincpu);
+ m_dcs->add_route(0, "mono", 1.0);
}
/*-----------------
diff --git a/src/mame/rare/kinst.cpp b/src/mame/rare/kinst.cpp
index be7eed48e3134..0453ec7ebe8c3 100644
--- a/src/mame/rare/kinst.cpp
+++ b/src/mame/rare/kinst.cpp
@@ -193,6 +193,7 @@ KILLER INSTINCT V4.0
#include "emupal.h"
#include "screen.h"
+#include "speaker.h"
namespace {
@@ -704,7 +705,11 @@ void kinst_state::kinst(machine_config &config)
PALETTE(config, m_palette, palette_device::BGR_555);
// sound hardware
+ SPEAKER(config, "mono").front_center();
+
DCS_AUDIO_2K(config, m_dcs, 0);
+ m_dcs->set_maincpu_tag(m_maincpu);
+ m_dcs->add_route(0, "mono", 1.0);
}
diff --git a/src/mame/shared/dcs.cpp b/src/mame/shared/dcs.cpp
index 826a48b0eda27..a2463f7890ca6 100644
--- a/src/mame/shared/dcs.cpp
+++ b/src/mame/shared/dcs.cpp
@@ -154,7 +154,6 @@
#include "emu.h"
#include "dcs.h"
-#include "speaker.h"
#define LOG_DCS_TRANSFERS (1U << 1)
#define LOG_DCS_IO (1U << 2)
@@ -172,8 +171,10 @@
*
*************************************/
-#define LCTRL_OUTPUT_EMPTY 0x400
-#define LCTRL_INPUT_EMPTY 0x800
+static constexpr uint16_t LCTRL_OUTPUT_EMPTY = 0x400;
+static constexpr uint16_t LCTRL_INPUT_EMPTY = 0x800;
+
+static constexpr const char *const denver_regname[4] = { "SDRC_ROM", "SDRC_IO", "RAM_PAGE", "VER/FIFO_RESET" };
#define IS_OUTPUT_EMPTY() (m_latch_control & LCTRL_OUTPUT_EMPTY)
#define IS_OUTPUT_FULL() (!(m_latch_control & LCTRL_OUTPUT_EMPTY))
@@ -186,47 +187,47 @@
#define SET_INPUT_FULL() (m_latch_control &= ~LCTRL_INPUT_EMPTY)
-/* These are some of the control registers. We don't use them all */
+// These are some of the control registers. We don't use them all
enum
{
- IDMA_CONTROL_REG = 0, /* 3fe0 */
- BDMA_INT_ADDR_REG, /* 3fe1 */
- BDMA_EXT_ADDR_REG, /* 3fe2 */
- BDMA_CONTROL_REG, /* 3fe3 */
- BDMA_WORD_COUNT_REG, /* 3fe4 */
- PROG_FLAG_DATA_REG, /* 3fe5 */
- PROG_FLAG_CONTROL_REG, /* 3fe6 */
-
- S1_AUTOBUF_REG = 15, /* 3fef */
- S1_RFSDIV_REG, /* 3ff0 */
- S1_SCLKDIV_REG, /* 3ff1 */
- S1_CONTROL_REG, /* 3ff2 */
- S0_AUTOBUF_REG, /* 3ff3 */
- S0_RFSDIV_REG, /* 3ff4 */
- S0_SCLKDIV_REG, /* 3ff5 */
- S0_CONTROL_REG, /* 3ff6 */
- S0_MCTXLO_REG, /* 3ff7 */
- S0_MCTXHI_REG, /* 3ff8 */
- S0_MCRXLO_REG, /* 3ff9 */
- S0_MCRXHI_REG, /* 3ffa */
- TIMER_SCALE_REG, /* 3ffb */
- TIMER_COUNT_REG, /* 3ffc */
- TIMER_PERIOD_REG, /* 3ffd */
- WAITSTATES_REG, /* 3ffe */
- SYSCONTROL_REG /* 3fff */
+ IDMA_CONTROL_REG = 0, // 3fe0
+ BDMA_INT_ADDR_REG, // 3fe1
+ BDMA_EXT_ADDR_REG, // 3fe2
+ BDMA_CONTROL_REG, // 3fe3
+ BDMA_WORD_COUNT_REG, // 3fe4
+ PROG_FLAG_DATA_REG, // 3fe5
+ PROG_FLAG_CONTROL_REG, // 3fe6
+
+ S1_AUTOBUF_REG = 15, // 3fef
+ S1_RFSDIV_REG, // 3ff0
+ S1_SCLKDIV_REG, // 3ff1
+ S1_CONTROL_REG, // 3ff2
+ S0_AUTOBUF_REG, // 3ff3
+ S0_RFSDIV_REG, // 3ff4
+ S0_SCLKDIV_REG, // 3ff5
+ S0_CONTROL_REG, // 3ff6
+ S0_MCTXLO_REG, // 3ff7
+ S0_MCTXHI_REG, // 3ff8
+ S0_MCRXLO_REG, // 3ff9
+ S0_MCRXHI_REG, // 3ffa
+ TIMER_SCALE_REG, // 3ffb
+ TIMER_COUNT_REG, // 3ffc
+ TIMER_PERIOD_REG, // 3ffd
+ WAITSTATES_REG, // 3ffe
+ SYSCONTROL_REG // 3fff
};
-/* these macros are used to reference the SDRC ASIC */
-#define SDRC_ROM_ST ((m_sdrc.reg[0] >> 0) & 3) /* 0=0000, 1=3000, 2=3400, 3=none */
-#define SDRC_ROM_SZ ((m_sdrc.reg[0] >> 4) & 1) /* 0=4k, 1=1k */
-#define SDRC_ROM_MS ((m_sdrc.reg[0] >> 5) & 1) /* 0=/BMS, 1=/DMS */
+// these macros are used to reference the SDRC ASIC
+#define SDRC_ROM_ST ((m_sdrc.reg[0] >> 0) & 3) // 0=0000, 1=3000, 2=3400, 3=none
+#define SDRC_ROM_SZ ((m_sdrc.reg[0] >> 4) & 1) // 0=4k, 1=1k
+#define SDRC_ROM_MS ((m_sdrc.reg[0] >> 5) & 1) // 0=/BMS, 1=/DMS
#define SDRC_ROM_PG ((m_sdrc.reg[0] >> 7) & 7)
#define SDRC_SM_EN ((m_sdrc.reg[0] >> 11) & 1)
#define SDRC_SM_BK ((m_sdrc.reg[0] >> 12) & 1)
#define SDRC_SMODE ((m_sdrc.reg[0] >> 13) & 7)
-#define SDRC_DM_ST ((m_sdrc.reg[1] >> 0) & 3) /* 0=none, 1=0000, 2=3000, 3=3400 */
+#define SDRC_DM_ST ((m_sdrc.reg[1] >> 0) & 3) // 0=none, 1=0000, 2=3000, 3=3400
#define SDRC_DM_REF ((m_sdrc.reg[1] >> 4) & 3)
#define SDRC_DM_3WS ((m_sdrc.reg[1] >> 7) & 1)
#define SDRC_TFS_INV ((m_sdrc.reg[1] >> 8) & 1)
@@ -239,7 +240,7 @@ enum
#define SDRC_EPM_PG ((m_sdrc.reg[2] >> 0) & 0x1fff)
-/* these macros are used to reference the DSIO ASIC */
+// these macros are used to reference the DSIO ASIC
#define DSIO_EMPTY_FIFO ((m_dsio.reg[1] >> 0) & 1)
#define DSIO_CUR_OUTPUT ((m_dsio.reg[1] >> 4) & 1)
#define DSIO_RES_TFS ((m_dsio.reg[1] >> 10) & 1)
@@ -248,18 +249,18 @@ enum
#define DSIO_DM_PG ((m_dsio.reg[2] >> 0) & 0x1fff)
-#define DSIO_BANK_END 0x3ff
+static constexpr int DSIO_BANK_END = 0x3ff;
-/* these macros are used to reference the DENVER ASIC */
-#define DENV_DSP_SPEED ((m_dsio.reg[1] >> 2) & 3) /* read only: 1=33.33MHz */
+// these macros are used to reference the DENVER ASIC
+#define DENV_DSP_SPEED ((m_dsio.reg[1] >> 2) & 3) // read only: 1=33.33MHz
#define DENV_RES_TFS ((m_dsio.reg[1] >> 10) & 1)
-#define DENV_CHANNELS ((m_dsio.reg[1] >> 11) & 3) /* 0=2ch, 1=4ch, 2=6ch */
+#define DENV_CHANNELS ((m_dsio.reg[1] >> 11) & 3) // 0=2ch, 1=4ch, 2=6ch
#define DENV_LED ((m_dsio.reg[1] >> 13) & 1)
#define DENV_MUTE ((m_dsio.reg[1] >> 14) & 1)
#define DENV_DM_PG ((m_dsio.reg[2] >> 0) & 0x1fff)
-#define DENV_NUM_BANK 0x800
+static constexpr int DENV_NUM_BANK = 0x800;
/*************************************
@@ -268,19 +269,19 @@ enum
*
*************************************/
-/* DCS 2k memory map */
+// DCS 2k memory map
void dcs_audio_device::dcs_2k_program_map(address_map &map)
{
- map(0x0000, 0x03ff).ram().share("dcsint");
- map(0x0800, 0x0fff).ram().share("dcsext");
- map(0x1000, 0x17ff).ram().share("dcsext");
- map(0x1800, 0x1fff).ram().share("dcsext");
+ map(0x0000, 0x03ff).ram().share(m_internal_program_ram);
+ map(0x0800, 0x0fff).ram().share(m_external_program_ram);
+ map(0x1000, 0x17ff).ram().share(m_external_program_ram);
+ map(0x1800, 0x1fff).ram().share(m_external_program_ram);
}
void dcs_audio_device::dcs_2k_data_map(address_map &map)
{
map(0x0000, 0x07ff).mirror(0x1800).rw(FUNC(dcs_audio_device::dcs_dataram_r), FUNC(dcs_audio_device::dcs_dataram_w));
- map(0x2000, 0x2fff).bankr("databank");
+ map(0x2000, 0x2fff).bankr(m_data_bank);
map(0x3000, 0x33ff).w(FUNC(dcs_audio_device::dcs_data_bank_select_w));
map(0x3400, 0x37ff).rw(FUNC(dcs_audio_device::input_latch_r), FUNC(dcs_audio_device::output_latch_w));
map(0x3800, 0x39ff).ram();
@@ -288,25 +289,25 @@ void dcs_audio_device::dcs_2k_data_map(address_map &map)
}
-/* DCS 2k with UART memory map */
+// DCS 2k with UART memory map
void dcs_audio_device::dcs_2k_uart_data_map(address_map &map)
{
map(0x0000, 0x07ff).mirror(0x1800).rw(FUNC(dcs_audio_device::dcs_dataram_r), FUNC(dcs_audio_device::dcs_dataram_w));
- map(0x2000, 0x2fff).bankr("databank");
+ map(0x2000, 0x2fff).bankr(m_data_bank);
map(0x3000, 0x33ff).w(FUNC(dcs_audio_device::dcs_data_bank_select_w));
- map(0x3400, 0x3402).noprw(); /* UART (ignored) */
+ map(0x3400, 0x3402).noprw(); // UART (ignored)
map(0x3403, 0x3403).rw(FUNC(dcs_audio_device::input_latch_r), FUNC(dcs_audio_device::output_latch_w));
- map(0x3404, 0x3405).noprw(); /* UART (ignored) */
- map(0x3800, 0x39ff).ram().share("iram");
+ map(0x3404, 0x3405).noprw(); // UART (ignored)
+ map(0x3800, 0x39ff).ram().share(m_iram);
map(0x3fe0, 0x3fff).rw(FUNC(dcs_audio_device::adsp_control_r), FUNC(dcs_audio_device::adsp_control_w));
}
-/* DCS 8k memory map */
+// DCS 8k memory map
void dcs_audio_device::dcs_8k_program_map(address_map &map)
{
- map(0x0000, 0x03ff).ram().share("dcsint");
- map(0x0800, 0x1fff).ram().share("dcsext");
+ map(0x0000, 0x03ff).ram().share(m_internal_program_ram);
+ map(0x0800, 0x1fff).ram().share(m_external_program_ram);
map(0x3000, 0x3003).rw(FUNC(dcs_audio_device::input_latch32_r), FUNC(dcs_audio_device::output_latch32_w)); // why?
}
@@ -314,28 +315,28 @@ void dcs_audio_device::dcs_8k_data_map(address_map &map)
{
map(0x0000, 0x07ff).ram();
map(0x0800, 0x1fff).rw(FUNC(dcs_audio_device::dcs_dataram_r), FUNC(dcs_audio_device::dcs_dataram_w));
- map(0x2000, 0x2fff).bankr("databank");
+ map(0x2000, 0x2fff).bankr(m_data_bank);
map(0x3000, 0x3000).w(FUNC(dcs_audio_device::dcs_data_bank_select_w));
map(0x3400, 0x3403).rw(FUNC(dcs_audio_device::input_latch_r), FUNC(dcs_audio_device::output_latch_w)); // mk3 etc. need this
- map(0x3800, 0x39ff).ram().share("iram");
+ map(0x3800, 0x39ff).ram().share(m_iram);
map(0x3fe0, 0x3fff).rw(FUNC(dcs_audio_device::adsp_control_r), FUNC(dcs_audio_device::adsp_control_w));
}
-/* Williams WPC DCS/Security Pinball */
+// Williams WPC DCS/Security Pinball
void dcs_audio_device::dcs_wpc_program_map(address_map &map)
{
- map(0x0000, 0x03ff).ram().share("dcsint");
- map(0x1000, 0x3fff).ram().share("dcsext");
+ map(0x0000, 0x03ff).ram().share(m_internal_program_ram);
+ map(0x1000, 0x3fff).ram().share(m_external_program_ram);
}
void dcs_audio_wpc_device::dcs_wpc_data_map(address_map &map)
{
- map(0x0000, 0x07ff).bankr("databank");
+ map(0x0000, 0x07ff).bankr(m_data_bank);
map(0x1000, 0x2fff).rw(FUNC(dcs_audio_wpc_device::dcs_dataram_r), FUNC(dcs_audio_wpc_device::dcs_dataram_w));
map(0x3000, 0x3000).w(FUNC(dcs_audio_wpc_device::dcs_data_bank_select_w));
map(0x3100, 0x3100).w(FUNC(dcs_audio_wpc_device::dcs_data_bank_select2_w));
map(0x3300, 0x3303).rw(FUNC(dcs_audio_wpc_device::input_latch_r), FUNC(dcs_audio_wpc_device::output_latch_w));
- map(0x3800, 0x39ff).ram().share("iram");
+ map(0x3800, 0x39ff).ram().share(m_iram);
map(0x3fe0, 0x3fff).rw(FUNC(dcs_audio_wpc_device::adsp_control_r), FUNC(dcs_audio_wpc_device::adsp_control_w));
}
@@ -348,13 +349,13 @@ void dcs_audio_wpc_device::dcs_wpc_data_map(address_map &map)
void dcs_audio_device::dcs2_2115_program_map(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0x03ff).ram().share("dcsint");
+ map(0x0000, 0x03ff).ram().share(m_internal_program_ram);
}
void dcs_audio_device::dcs2_2104_program_map(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0x01ff).ram().share("dcsint");
+ map(0x0000, 0x01ff).ram().share(m_internal_program_ram);
}
@@ -367,7 +368,7 @@ void dcs_audio_device::dcs2_2115_data_map(address_map &map)
map(0x0403, 0x0403).r(FUNC(dcs_audio_device::latch_status_r));
map(0x0404, 0x0407).r(FUNC(dcs_audio_device::fifo_input_r));
map(0x0480, 0x0483).rw(FUNC(dcs_audio_device::sdrc_r), FUNC(dcs_audio_device::sdrc_w));
- map(0x3800, 0x39ff).ram().share("iram");
+ map(0x3800, 0x39ff).ram().share(m_iram);
map(0x3fe0, 0x3fff).rw(FUNC(dcs_audio_device::adsp_control_r), FUNC(dcs_audio_device::adsp_control_w));
}
@@ -380,7 +381,7 @@ void dcs_audio_device::dcs2_2104_data_map(address_map &map)
map(0x0403, 0x0403).r(FUNC(dcs_audio_device::latch_status_r));
map(0x0404, 0x0407).r(FUNC(dcs_audio_device::fifo_input_r));
map(0x0480, 0x0483).rw(FUNC(dcs_audio_device::sdrc_r), FUNC(dcs_audio_device::sdrc_w));
- map(0x3800, 0x39ff).ram().share("iram");
+ map(0x3800, 0x39ff).ram().share(m_iram);
map(0x3fe0, 0x3fff).rw(FUNC(dcs_audio_device::adsp_control_r), FUNC(dcs_audio_device::adsp_control_w));
}
@@ -395,22 +396,22 @@ void dcs_audio_device::dcs2_2104_data_map(address_map &map)
void dcs_audio_device::dsio_program_map(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0x3fff).ram().share("dcsint");
+ map(0x0000, 0x3fff).ram().share(m_internal_program_ram);
}
void dcs_audio_device::dsio_data_map(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0x1fff).m("data_map_bank", FUNC(address_map_bank_device::amap16));
- map(0x2000, 0x3fdf).ram().share("dcsint_data");
+ map(0x0000, 0x1fff).m(m_ram_map, FUNC(address_map_bank_device::amap16));
+ map(0x2000, 0x3fdf).ram().share(m_internal_data_ram);
map(0x3fe0, 0x3fff).rw(FUNC(dcs_audio_device::adsp_control_r), FUNC(dcs_audio_device::adsp_control_w));
}
void dcs_audio_device::dsio_rambank_map(address_map &map)
{
map(0x0000, 0x1fff).ram();
- map(0x2000, 0x3fff).bankrw("databank");
+ map(0x2000, 0x3fff).bankrw(m_data_bank);
}
void dcs_audio_device::dsio_io_map(address_map &map)
@@ -435,22 +436,22 @@ void dcs_audio_device::dsio_io_map(address_map &map)
void dcs_audio_device::denver_program_map(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0x3fff).ram().share("dcsint");
+ map(0x0000, 0x3fff).ram().share(m_internal_program_ram);
}
void dcs_audio_device::denver_data_map(address_map &map)
{
map.unmap_value_high();
- map(0x0000, 0x1fff).m("data_map_bank", FUNC(address_map_bank_device::amap16));
- map(0x2000, 0x3fdf).ram().share("dcsint_data");
+ map(0x0000, 0x1fff).m(m_ram_map, FUNC(address_map_bank_device::amap16));
+ map(0x2000, 0x3fdf).ram().share(m_internal_data_ram);
map(0x3fe0, 0x3fff).rw(FUNC(dcs_audio_device::adsp_control_r), FUNC(dcs_audio_device::adsp_control_w));
}
void dcs_audio_device::denver_rambank_map(address_map &map)
{
map(0x0000, 0x3fff).ram();
- map(0x4000, 0x7fff).bankrw("databank");
+ map(0x4000, 0x7fff).bankrw(m_data_bank);
}
@@ -476,53 +477,53 @@ void dcs_audio_device::dcs_boot()
{
switch (m_rev)
{
- /* rev 1/1.5: use the last set data bank to boot from */
+ // rev 1/1.5: use the last set data bank to boot from
case REV_DCS1:
case REV_DCS1P5:
{
- /* determine the base */
- // max_banks = m_bootrom_words / 0x1000;
- uint16_t* base = m_bootrom + ((m_sounddata_bank * 0x1000) % m_bootrom_words);
+ // determine the base
+ // max_banks = m_bootrom.length() / 0x1000;
+ uint16_t const *const base = &m_bootrom[(m_sounddata_bank * 0x1000) % m_bootrom.length()];
- /* convert from 16-bit data to 8-bit data and boot */
+ // convert from 16-bit data to 8-bit data and boot
uint8_t buffer[0x1000];
for (int i = 0; i < 0x1000; i++)
{
buffer[i] = base[i];
}
- assert(m_internal_program_ram != nullptr);
- m_cpu->load_boot_data(buffer, m_internal_program_ram);
+ assert(m_internal_program_ram);
+ m_cpu->load_boot_data(buffer, &m_internal_program_ram[0]);
break;
}
- /* rev 2: use the ROM page in the SDRC to boot from */
+ // rev 2: use the ROM page in the SDRC to boot from
case REV_DCS2:
{
- /* determine the base */
+ // determine the base
uint16_t* base;
- if (m_bootrom == m_sounddata)
+ if (m_bootrom.target() == m_sounddata)
{
- /* EPROM case: page is selected from the page register */
- base = m_bootrom + ((SDRC_EPM_PG * 0x1000) % m_bootrom_words);
+ // EPROM case: page is selected from the page register
+ base = &m_bootrom[(SDRC_EPM_PG * 0x1000) % m_bootrom.length()];
}
else
{
- /* DRAM case: page is selected from the ROM page register */
- base = m_bootrom + ((SDRC_ROM_PG * 0x1000) % m_bootrom_words);
+ // DRAM case: page is selected from the ROM page register
+ base = &m_bootrom[(SDRC_ROM_PG * 0x1000) % m_bootrom.length()];
}
- /* convert from 16-bit data to 8-bit data and boot */
+ // convert from 16-bit data to 8-bit data and boot
uint8_t buffer[0x1000];
for (int i = 0; i < 0x1000; i++)
{
buffer[i] = base[i];
}
- assert(m_internal_program_ram != nullptr);
- m_cpu->load_boot_data(buffer, m_internal_program_ram);
+ assert(m_internal_program_ram);
+ m_cpu->load_boot_data(buffer, &m_internal_program_ram[0]);
break;
}
- /* rev 3/4: HALT the ADSP-2181 until program is downloaded via IDMA */
+ // rev 3/4: HALT the ADSP-2181 until program is downloaded via IDMA
case REV_DSIO:
case REV_DENV:
m_cpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
@@ -543,44 +544,44 @@ TIMER_CALLBACK_MEMBER( dcs_audio_device::dcs_reset )
{
LOGMASKED(LOG_DCS_IO, "dcs_reset\n");
- /* reset the memory banking */
+ // reset the memory banking
switch (m_rev)
{
- /* rev 1/1.5: just reset the bank to 0 */
+ // rev 1/1.5: just reset the bank to 0
case REV_DCS1:
case REV_DCS1P5:
m_sounddata_bank = 0;
m_data_bank->set_entry(0);
break;
- /* rev 2: reset the SDRC ASIC */
+ // rev 2: reset the SDRC ASIC
case REV_DCS2:
sdrc_reset();
break;
- /* rev 3: reset the DSIO ASIC */
+ // rev 3: reset the DSIO ASIC
case REV_DSIO:
dsio_reset();
break;
- /* rev 4: reset the Denver ASIC */
+ // rev 4: reset the Denver ASIC
case REV_DENV:
denver_reset();
break;
}
- /* initialize our state structure and install the transmit callback */
+ // initialize our state structure and install the transmit callback
m_size = 0;
m_incs = 0;
m_ireg = 0;
- /* initialize the ADSP control regs */
+ // initialize the ADSP control regs
memset(m_control_regs, 0, sizeof(m_control_regs));
- /* clear all interrupts */
+ // clear all interrupts
m_cpu->set_input_line(ADSP2105_IRQ0, CLEAR_LINE);
m_cpu->set_input_line(ADSP2105_IRQ1, CLEAR_LINE);
m_cpu->set_input_line(ADSP2105_IRQ2, CLEAR_LINE);
- /* initialize the comm bits */
+ // initialize the comm bits
SET_INPUT_EMPTY();
SET_OUTPUT_EMPTY();
if (!m_last_input_empty && !m_input_empty_cb.isnull())
@@ -588,16 +589,16 @@ TIMER_CALLBACK_MEMBER( dcs_audio_device::dcs_reset )
if (m_last_output_full && !m_output_full_cb.isnull())
m_output_full_cb(m_last_output_full = 0);
- /* boot */
+ // boot
dcs_boot();
- /* reset timers */
+ // reset timers
m_timer_ignore = false;
m_timer_enable = 0;
m_timer_scale = 1;
m_internal_timer->reset();
- /* reset the HLE transfer states */
+ // reset the HLE transfer states
m_transfer.dcs_state = m_transfer.state = 0;
}
@@ -681,8 +682,22 @@ void dcs_audio_device::denver_postload()
// dcs_audio_device - constructor
//-------------------------------------------------
-dcs_audio_device::dcs_audio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int rev) :
+dcs_audio_device::dcs_audio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int rev, int outputs) :
device_t(mconfig, type, tag, owner, clock),
+ device_mixer_interface(mconfig, *this, outputs),
+ m_maincpu(*this, finder_base::DUMMY_TAG),
+ m_reg_timer(*this, "dcs_reg_timer"),
+ m_sport0_timer(*this, "dcs_sport0_timer"),
+ m_internal_timer(*this, "dcs_int_timer"),
+ m_ram_map(*this, "data_map_bank"),
+ m_bootrom(*this, DEVICE_SELF),
+ m_internal_program_ram(*this, "dcsint"),
+ m_external_program_ram(*this, "dcsext"),
+ m_internal_data_ram(*this, "dcsint_data"),
+ m_iram(*this, "iram"),
+ m_data_bank(*this, "databank"),
+ m_rom_page(*this, "rompage"),
+ m_dram_page(*this, "drampage"),
m_cpu(nullptr),
m_program(nullptr),
m_data(nullptr),
@@ -692,21 +707,12 @@ dcs_audio_device::dcs_audio_device(const machine_config &mconfig, device_type ty
m_channels(0),
m_size(0),
m_incs(0),
- m_reg_timer(*this, "dcs_reg_timer"),
- m_sport0_timer(*this, "dcs_sport0_timer"),
- m_internal_timer(*this, "dcs_int_timer"),
m_ireg(0),
m_ireg_base(0),
- m_bootrom(nullptr),
- m_bootrom_words(0),
m_sounddata(nullptr),
m_sounddata_words(0),
m_sounddata_banks(0),
m_sounddata_bank(0),
- m_ram_map(*this, "data_map_bank"),
- m_data_bank(*this, "databank"),
- m_rom_page(*this, "rompage"),
- m_dram_page(*this, "drampage"),
m_auto_ack(0),
m_latch_control(0),
m_input_data(0),
@@ -729,12 +735,7 @@ dcs_audio_device::dcs_audio_device(const machine_config &mconfig, device_type ty
m_timer_period(0),
m_timers_fired(0),
m_sram(nullptr),
- m_internal_program_ram(nullptr),
- m_external_program_ram(nullptr),
- m_internal_data_ram(nullptr),
- m_dram_in_mb(0),
- m_iram(*this, "iram"),
- m_maincpu(*this, ":maincpu")
+ m_dram_in_mb(0)
{
m_dmadac[0] = m_dmadac[1] = m_dmadac[2] = m_dmadac[3] = m_dmadac[4] = m_dmadac[5] = nullptr;
memset(m_control_regs, 0, sizeof(m_control_regs));
@@ -756,18 +757,7 @@ void dcs_audio_device::device_start()
{
m_sram = nullptr;
- memory_share *internal_ram = memshare("dcsint");
- if (internal_ram != nullptr)
- {
- m_internal_program_ram = (uint32_t *)internal_ram->ptr();
- }
- memory_share *external_ram = memshare("dcsext");
- if (external_ram != nullptr)
- {
- m_external_program_ram = (uint32_t *)external_ram->ptr();
- }
-
- /* find the DCS CPU and the sound ROMs */
+ // find the DCS CPU and the sound ROMs
m_cpu = subdevice("dcs");
if (m_cpu != nullptr && !m_cpu->started())
throw device_missing_dependencies();
@@ -777,11 +767,9 @@ void dcs_audio_device::device_start()
m_channels = 1;
m_dmadac[0] = subdevice("dac");
- /* configure boot and sound ROMs */
- m_bootrom = (uint16_t *)machine().root_device().memregion("dcs")->base();
- m_bootrom_words = machine().root_device().memregion("dcs")->bytes() / 2;
- m_sounddata = m_bootrom;
- m_sounddata_words = m_bootrom_words;
+ // configure boot and sound ROMs
+ m_sounddata = m_bootrom.target();
+ m_sounddata_words = m_bootrom.length();
if (m_rev == REV_DCS1)
{
m_sounddata_banks = m_sounddata_words / 0x1000;
@@ -793,16 +781,16 @@ void dcs_audio_device::device_start()
m_data_bank->configure_entries(0, m_sounddata_banks, m_sounddata, 0x800*2);
}
- /* allocate timers */
+ // allocate timers
m_s1_ack_timer = timer_alloc(FUNC(dcs_audio_device::s1_ack_callback1), this);
m_s1_ack2_timer = timer_alloc(FUNC(dcs_audio_device::s1_ack_callback2), this);
m_s2_ack_timer = timer_alloc(FUNC(dcs_audio_device::s2_ack_callback), this);
- /* non-RAM based automatically acks */
+ // non-RAM based automatically acks
m_auto_ack = true;
- /* register for save states */
+ // register for save states
dcs_register_state();
- /* reset the system */
+ // reset the system
dcs_reset(0);
}
@@ -811,23 +799,7 @@ void dcs2_audio_device::device_start()
{
int soundbank_words;
- memory_share *internal_ram = memshare("dcsint");
- if (internal_ram != nullptr)
- {
- m_internal_program_ram = (uint32_t *)internal_ram->ptr();
- }
- memory_share *external_ram = memshare("dcsext");
- if (external_ram != nullptr)
- {
- m_external_program_ram = (uint32_t *)external_ram->ptr();
- }
- memory_share *internal_data_ram = memshare("dcsint_data");
- if (internal_data_ram != nullptr)
- {
- m_internal_data_ram = (uint32_t *)internal_ram->ptr();
- }
-
- /* find the DCS CPU and the sound ROMs */
+ // find the DCS CPU and the sound ROMs
m_cpu = subdevice("dcs2");
m_rev = REV_DCS2;
soundbank_words = 0x1000;
@@ -852,15 +824,7 @@ void dcs2_audio_device::device_start()
m_dmadac[0] = subdevice("dac1");
m_dmadac[1] = subdevice("dac2");
- /* always boot from the base of "dcs" */
- memory_region *bootrom_region = machine().root_device().memregion("dcs");
- if (bootrom_region != nullptr)
- {
- m_bootrom = (uint16_t *)bootrom_region->base();
- m_bootrom_words = bootrom_region->bytes() / 2;
- }
-
- /* supports both RAM and ROM variants */
+ // supports both RAM and ROM variants
if (m_dram_in_mb != 0)
{
m_sounddata_words = (m_dram_in_mb << 20) / 2;
@@ -870,8 +834,8 @@ void dcs2_audio_device::device_start()
}
else
{
- m_sounddata = m_bootrom;
- m_sounddata_words = m_bootrom_words;
+ m_sounddata = m_bootrom.target();
+ m_sounddata_words = m_bootrom.length();
}
m_sounddata_banks = m_sounddata_words / soundbank_words;
if (m_rev != REV_DCS2)
@@ -883,29 +847,29 @@ void dcs2_audio_device::device_start()
}
- /* allocate memory for the SRAM */
+ // allocate memory for the SRAM
m_sram = std::make_unique(0x8000*4/2);
- /* we don't do auto-ack by default */
+ // we don't do auto-ack by default
m_auto_ack = false;
- /* install the speedup handler */
+ // install the speedup handler
install_speedup();
- /* allocate a watchdog timer for HLE transfers */
+ // allocate a watchdog timer for HLE transfers
m_transfer.hle_enabled = (ENABLE_HLE_TRANSFERS && m_dram_in_mb != 0 && m_rev < REV_DSIO);
if (m_transfer.hle_enabled)
m_transfer.watchdog = subdevice("dcs_hle_timer");
- /* allocate timers */
- m_s1_ack_timer = timer_alloc(FUNC(dcs_audio_device::s1_ack_callback1), this);
- m_s1_ack2_timer = timer_alloc(FUNC(dcs_audio_device::s1_ack_callback2), this);
- m_s2_ack_timer = timer_alloc(FUNC(dcs_audio_device::s2_ack_callback), this);
+ // allocate timers
+ m_s1_ack_timer = timer_alloc(FUNC(dcs2_audio_device::s1_ack_callback1), this);
+ m_s1_ack2_timer = timer_alloc(FUNC(dcs2_audio_device::s1_ack_callback2), this);
+ m_s2_ack_timer = timer_alloc(FUNC(dcs2_audio_device::s2_ack_callback), this);
- /* register for save states */
+ // register for save states
dcs_register_state();
- /* reset the system */
+ // reset the system
dcs_reset(0);
}
@@ -969,7 +933,7 @@ void dcs_audio_device::dcs_data_bank_select_w(uint16_t data)
m_data_bank->set_entry(m_sounddata_bank % m_sounddata_banks);
- /* bit 11 = sound board led */
+ // bit 11 = sound board led
#if 0
if (m_rev != REV_DCS1P5)
output().set_led_value(2, data & 0x800);
@@ -993,12 +957,12 @@ void dcs_audio_device::sdrc_update_bank_pointers()
{
if (SDRC_SM_EN != 0)
{
- int pagesize = (SDRC_ROM_SZ == 0 && SDRC_ROM_ST != 0) ? 4096 : 1024;
+ int const pagesize = (SDRC_ROM_SZ == 0 && SDRC_ROM_ST != 0) ? 4096 : 1024;
- /* update the bank pointer based on whether we are ROM-based or RAM-based */
- if (m_bootrom == m_sounddata)
+ // update the bank pointer based on whether we are ROM-based or RAM-based
+ if (m_bootrom.target() == m_sounddata)
{
- /* ROM-based; use the memory page to select from ROM */
+ // ROM-based; use the memory page to select from ROM
if (SDRC_ROM_MS == 1 && SDRC_ROM_ST != 3)
{
m_rom_page->set_base(&m_sounddata[(SDRC_EPM_PG * pagesize) % m_sounddata_words]);
@@ -1006,10 +970,10 @@ void dcs_audio_device::sdrc_update_bank_pointers()
}
else
{
- /* RAM-based; use the ROM page to select from ROM, and the memory page to select from RAM */
+ // RAM-based; use the ROM page to select from ROM, and the memory page to select from RAM
if (SDRC_ROM_MS == 1 && SDRC_ROM_ST != 3)
{
- m_rom_page->set_base(&m_bootrom[(SDRC_ROM_PG * 4096 /*pagesize*/) % m_bootrom_words]);
+ m_rom_page->set_base(&m_bootrom[(SDRC_ROM_PG * 4096 /*pagesize*/) % m_bootrom.length()]);
}
if (SDRC_DM_ST != 0)
{
@@ -1022,56 +986,55 @@ void dcs_audio_device::sdrc_update_bank_pointers()
void dcs_audio_device::sdrc_remap_memory()
{
- /* if SRAM disabled, clean it out */
if (SDRC_SM_EN == 0)
{
+ // if SRAM disabled, clean it out
m_program->unmap_readwrite(0x0800, 0x3fff);
m_data->unmap_readwrite(0x0800, 0x37ff);
}
-
- /* otherwise, map the SRAM */
else
{
- /* first start with a clean program map */
+ // otherwise, map the SRAM
+
+ // first start with a clean program map
m_program->install_ram(0x0800, 0x3fff, &m_sram[0x4800]);
- /* set up the data map based on the SRAM banking */
- /* map 0: ram from 0800-37ff */
+ // set up the data map based on the SRAM banking
if (SDRC_SM_BK == 0)
{
+ // map 0: ram from 0800-37ff
m_data->install_ram(0x0800, 0x17ff, &m_sram[0x0000]);
m_data->install_ram(0x1800, 0x27ff, &m_sram[0x1000]);
m_data->install_ram(0x2800, 0x37ff, &m_sram[0x2000]);
}
-
- /* map 1: nothing from 0800-17ff, alternate RAM at 1800-27ff, same RAM at 2800-37ff */
else
{
+ // map 1: nothing from 0800-17ff, alternate RAM at 1800-27ff, same RAM at 2800-37ff
m_data->unmap_readwrite(0x0800, 0x17ff);
m_data->install_ram(0x1800, 0x27ff, &m_sram[0x3000]);
m_data->install_ram(0x2800, 0x37ff, &m_sram[0x2000]);
}
}
- /* map the ROM page as bank 25 */
+ // map the ROM page as bank 25
if (SDRC_ROM_MS == 1 && SDRC_ROM_ST != 3)
{
- int baseaddr = (SDRC_ROM_ST == 0) ? 0x0000 : (SDRC_ROM_ST == 1) ? 0x3000 : 0x3400;
- int pagesize = (SDRC_ROM_SZ == 0 && SDRC_ROM_ST != 0) ? 4096 : 1024;
+ int const baseaddr = (SDRC_ROM_ST == 0) ? 0x0000 : (SDRC_ROM_ST == 1) ? 0x3000 : 0x3400;
+ int const pagesize = (SDRC_ROM_SZ == 0 && SDRC_ROM_ST != 0) ? 4096 : 1024;
m_data->install_read_bank(baseaddr, baseaddr + pagesize - 1, m_rom_page);
}
- /* map the DRAM page as bank 26 */
+ // map the DRAM page as bank 26
if (SDRC_DM_ST != 0)
{
- int baseaddr = (SDRC_DM_ST == 1) ? 0x0000 : (SDRC_DM_ST == 2) ? 0x3000 : 0x3400;
+ int const baseaddr = (SDRC_DM_ST == 1) ? 0x0000 : (SDRC_DM_ST == 2) ? 0x3000 : 0x3400;
m_data->install_readwrite_bank(baseaddr, baseaddr + 0x3ff, m_dram_page);
}
- /* update the bank pointers */
+ // update the bank pointers
sdrc_update_bank_pointers();
- /* reinstall the polling hotspot */
+ // reinstall the polling hotspot
install_speedup();
}
@@ -1095,41 +1058,41 @@ uint16_t dcs_audio_device::sdrc_r(offs_t offset)
sdrc_state &sdrc = m_sdrc;
uint16_t result = sdrc.reg[offset];
- /* offset 3 is for security */
+ // offset 3 is for security
if (offset == 3)
{
switch (SDRC_SMODE)
{
default:
- case 0: /* no-op */
+ case 0: // no-op
result = 0x5a81;
break;
- case 1: /* write seed */
+ case 1: // write seed
result = 0x5aa4;
break;
- case 2: /* read data */
+ case 2: // read data
result = 0x5a00 | ((sdrc.seed & 0x3f) << 1);
break;
- case 3: /* shift left */
+ case 3: // shift left
result = 0x5ab9;
break;
- case 4: /* add */
+ case 4: // add
result = 0x5a03;
break;
- case 5: /* xor */
+ case 5: // xor
result = 0x5a69;
break;
- case 6: /* prg */
+ case 6: // prg
result = 0x5a20;
break;
- case 7: /* invert */
+ case 7: // invert
result = 0x5aff;
break;
}
@@ -1142,11 +1105,11 @@ uint16_t dcs_audio_device::sdrc_r(offs_t offset)
void dcs_audio_device::sdrc_w(offs_t offset, uint16_t data)
{
sdrc_state &sdrc = m_sdrc;
- uint16_t diff = sdrc.reg[offset] ^ data;
+ uint16_t const diff = sdrc.reg[offset] ^ data;
switch (offset)
{
- /* offset 0 controls ROM mapping */
+ // offset 0 controls ROM mapping
case 0:
sdrc.reg[0] = data;
if (diff & 0x1833)
@@ -1155,7 +1118,7 @@ void dcs_audio_device::sdrc_w(offs_t offset, uint16_t data)
sdrc_update_bank_pointers();
break;
- /* offset 1 controls RAM mapping */
+ // offset 1 controls RAM mapping
case 1:
sdrc.reg[1] = data;
//dmadac_enable(&m_dmadac[0], m_channels, SDRC_MUTE);
@@ -1163,42 +1126,42 @@ void dcs_audio_device::sdrc_w(offs_t offset, uint16_t data)
sdrc_remap_memory();
break;
- /* offset 2 controls paging */
+ // offset 2 controls paging
case 2:
sdrc.reg[2] = data;
if (diff & 0x1fff)
sdrc_update_bank_pointers();
break;
- /* offset 3 controls security */
+ // offset 3 controls security
case 3:
switch (SDRC_SMODE)
{
- case 0: /* no-op */
- case 2: /* read data */
+ case 0: // no-op
+ case 2: // read data
break;
- case 1: /* write seed */
+ case 1: // write seed
sdrc.seed = data & 0xff;
break;
- case 3: /* shift left */
+ case 3: // shift left
sdrc.seed = (sdrc.seed << 1) | 1;
break;
- case 4: /* add */
+ case 4: // add
sdrc.seed += sdrc.seed >> 1;
break;
- case 5: /* xor */
+ case 5: // xor
sdrc.seed ^= (sdrc.seed << 1) | 1;
break;
- case 6: /* prg */
+ case 6: // prg
sdrc.seed = (((sdrc.seed << 7) ^ (sdrc.seed << 5) ^ (sdrc.seed << 4) ^ (sdrc.seed << 3)) & 0x80) | (sdrc.seed >> 1);
break;
- case 7: /* invert */
+ case 7: // invert
sdrc.seed = ~sdrc.seed;
break;
}
@@ -1229,11 +1192,16 @@ uint16_t dcs_audio_device::dsio_r(offs_t offset)
if (offset == 1)
{
- /* bit 4 specifies which channel is being output */
- dsio.channelbits ^= 0x0010;
+ // bit 4 specifies which channel is being output
+ if (!machine().side_effects_disabled())
+ dsio.channelbits ^= 0x0010;
result = (result & ~0x0010) | dsio.channelbits;
}
- if (offset != 2) LOGMASKED(LOG_DCS_IO, "%s dsio_r 0x%x = %04x\n", machine().describe_context(), offset, result);
+ if (offset != 2)
+ {
+ if (!machine().side_effects_disabled())
+ LOGMASKED(LOG_DCS_IO, "%s dsio_r 0x%x = %04x\n", machine().describe_context(), offset, result);
+ }
return result;
}
@@ -1244,19 +1212,19 @@ void dcs_audio_device::dsio_w(offs_t offset, uint16_t data)
switch (offset)
{
- /* offset 1 controls I/O */
+ // offset 1 controls I/O
case 1:
dsio.reg[1] = data;
- /* determine /MUTE and number of channels */
+ // determine /MUTE and number of channels
dmadac_enable(&m_dmadac[0], m_channels, DSIO_MUTE);
- /* bit 0 resets the FIFO */
+ // bit 0 resets the FIFO
if (!m_fifo_reset_w.isnull())
m_fifo_reset_w(DSIO_EMPTY_FIFO ^ 1);
break;
- /* offset 2 controls RAM pages */
+ // offset 2 controls RAM pages
case 2:
dsio.reg[2] = data;
m_data_bank->set_entry(DSIO_DM_PG % m_sounddata_banks);
@@ -1305,12 +1273,15 @@ uint16_t dcs_audio_device::denver_r(offs_t offset)
if (offset == 3)
{
- /* returns 1 for DRAM, 2 for EPROM-based */
+ // returns 1 for DRAM, 2 for EPROM-based
// SDRC Revision
result = 0x0003;
}
- if (offset != 0x2) LOGMASKED(LOG_DCS_IO, "%s denver_r %s 0x%x = %04x\n", machine().describe_context(), denver_regname[offset], offset, result);
-
+ if (offset != 0x2)
+ {
+ if (!machine().side_effects_disabled())
+ LOGMASKED(LOG_DCS_IO, "%s denver_r %s 0x%x = %04x\n", machine().describe_context(), denver_regname[offset], offset, result);
+ }
return result;
}
@@ -1324,15 +1295,15 @@ void dcs_audio_device::denver_w(offs_t offset, uint16_t data)
switch (offset)
{
- /* offset 1 controls I/O */
+ // offset 1 controls I/O
case 1:
dsio.reg[1] = data;
// Ignore LED
data_change &= ~(1 << 13);
- /* determine /MUTE and number of channels */
+ // determine /MUTE and number of channels
channels = 2 + 2 * DENV_CHANNELS;
- /* if the number of channels has changed adjust */
+ // if the number of channels has changed adjust
if (channels != m_channels)
{
m_channels = channels;
@@ -1351,12 +1322,12 @@ void dcs_audio_device::denver_w(offs_t offset, uint16_t data)
}
break;
- /* offset 2 controls RAM pages */
+ // offset 2 controls RAM pages
case 2:
dsio.reg[2] = data;
m_data_bank->set_entry(DENV_DM_PG % m_sounddata_banks);
break;
- /* offset 3 controls FIFO reset */
+ // offset 3 controls FIFO reset
case 3:
if (!m_fifo_reset_w.isnull())
m_fifo_reset_w(1);
@@ -1414,13 +1385,13 @@ void dcs_audio_device::dsio_idma_data_w(offs_t offset, uint32_t data, uint32_t m
uint32_t dcs_audio_device::dsio_idma_data_r()
{
- uint32_t result;
// IDMA is to internal memory only
m_ram_map->set_bank(0);
- result = downcast(m_cpu)->idma_data_r();
+ uint32_t result = downcast(m_cpu)->idma_data_r();
// Restore internal/external mapping
m_ram_map->set_bank(m_dmovlay_val);
- LOGMASKED(LOG_DCS_TRANSFERS, "%s IDMA_data_r(%04X) = %04X\n", machine().describe_context(), downcast(m_cpu)->idma_addr_r(), result);
+ if (!machine().side_effects_disabled())
+ LOGMASKED(LOG_DCS_TRANSFERS, "%s IDMA_data_r(%04X) = %04X\n", machine().describe_context(), downcast(m_cpu)->idma_addr_r(), result);
return result;
}
@@ -1433,7 +1404,7 @@ void dcs_audio_device::dmovlay_remap_memory()
} else {
m_ram_map->set_bank(1);
}
- if (m_dmovlay_val==0)
+ if (m_dmovlay_val == 0)
LOGMASKED(LOG_DCS_IO, "%s dmovlay_remap_memory: Switching to internal data ram location dmovlay=%i\n", machine().describe_context(), m_dmovlay_val);
else
LOGMASKED(LOG_DCS_IO, "%s dmovlay_remap_memory: Switching to external data ram location dmovlay=%i\n", machine().describe_context(), m_dmovlay_val);
@@ -1472,10 +1443,13 @@ void dcs_audio_device::set_fifo_callbacks(read16smo_delegate fifo_data_r, read16
int dcs_audio_device::control_r()
{
- /* only boost for DCS2 boards */
- if (!m_auto_ack && !m_transfer.hle_enabled)
- machine().scheduler().add_quantum(attotime::from_nsec(500), attotime::from_usec(5));
- if ( /* m_rev == REV_DSC1 || */ m_rev == REV_DCS1P5) // == 1 check breaks mk3
+ if (!machine().side_effects_disabled())
+ {
+ // only boost for DCS2 boards
+ if (!m_auto_ack && !m_transfer.hle_enabled)
+ machine().scheduler().add_quantum(attotime::from_nsec(500), attotime::from_usec(5));
+ }
+ if ( /* m_rev == REV_DCS1 || */ m_rev == REV_DCS1P5) // == 1 check breaks mk3
return IS_OUTPUT_FULL() ? 0x80 : 0x00;
return m_latch_control;
}
@@ -1483,17 +1457,17 @@ int dcs_audio_device::control_r()
void dcs_audio_device::reset_w(int state)
{
- /* going low halts the CPU */
+ // going low halts the CPU
if (!state)
{
// LOG("%s: DCS reset = %d\n", machine().describe_context(), state);
- /* just run through the init code again */
+ // just run through the init code again
machine().scheduler().synchronize(timer_expired_delegate(FUNC(dcs_audio_device::dcs_reset),this));
m_cpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
}
- /* going high resets and reactivates the CPU */
+ // going high resets and reactivates the CPU
else
m_cpu->set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
}
@@ -1501,7 +1475,7 @@ void dcs_audio_device::reset_w(int state)
uint16_t dcs_audio_device::latch_status_r(address_space &space)
{
- int result = 0;
+ uint16_t result = 0;
if (IS_INPUT_FULL())
result |= 0x80;
if (IS_OUTPUT_EMPTY())
@@ -1532,18 +1506,18 @@ void dcs_audio_device::dcs_delayed_data_w(uint16_t data)
{
LOGMASKED(LOG_DCS_IO, "%s:dcs_data_w(%04X)\n", machine().describe_context(), data);
- /* boost the interleave temporarily */
+ // boost the interleave temporarily
machine().scheduler().add_quantum(attotime::from_nsec(500), attotime::from_usec(5));
- /* set the IRQ line on the ADSP */
+ // set the IRQ line on the ADSP
m_cpu->set_input_line(ADSP2105_IRQ2, ASSERT_LINE);
- /* indicate we are no longer empty */
+ // indicate we are no longer empty
if (m_last_input_empty && !m_input_empty_cb.isnull())
m_input_empty_cb(m_last_input_empty = 0);
SET_INPUT_FULL();
- /* set the data */
+ // set the data
m_input_data = data;
}
@@ -1556,12 +1530,12 @@ TIMER_CALLBACK_MEMBER( dcs_audio_device::dcs_delayed_data_w_callback )
void dcs_audio_device::data_w(uint16_t data)
{
- /* preprocess the write */
+ // preprocess the write
// ADSP2181 variants use IDMA to transfer data
if (m_rev <= REV_DCS2 && preprocess_write(data))
return;
- /* if we are DCS1, set a timer to latch the data */
+ // if we are DCS1, set a timer to latch the data
if (!m_sport0_timer)
machine().scheduler().synchronize(timer_expired_delegate(FUNC(dcs_audio_device::dcs_delayed_data_w_callback),this), data);
else
@@ -1582,18 +1556,23 @@ void dcs_audio_device::input_latch_ack_w(uint16_t data)
uint16_t dcs_audio_device::input_latch_r()
{
- if (m_auto_ack)
- input_latch_ack_w(0);
-
- LOGMASKED(LOG_DCS_IO, "%s input_latch_r(%04X)\n", machine().describe_context(), m_input_data);
+ if (!machine().side_effects_disabled())
+ {
+ if (m_auto_ack)
+ input_latch_ack_w(0);
+ LOGMASKED(LOG_DCS_IO, "%s input_latch_r(%04X)\n", machine().describe_context(), m_input_data);
+ }
return m_input_data;
}
uint32_t dcs_audio_device::input_latch32_r()
{
- if (m_auto_ack)
- input_latch_ack_w(0);
- LOGMASKED(LOG_DCS_IO, "%s input_latch32_r(%04X)\n", machine().describe_context(), m_input_data);
+ if (!machine().side_effects_disabled())
+ {
+ if (m_auto_ack)
+ input_latch_ack_w(0);
+ LOGMASKED(LOG_DCS_IO, "%s input_latch32_r(%04X)\n", machine().describe_context(), m_input_data);
+ }
return m_input_data << 8;
}
@@ -1648,17 +1627,20 @@ void dcs_audio_device::ack_w()
uint16_t dcs_audio_device::data_r()
{
- // If the cpu is reading empty data it is probably polling so eat some cyles
- if IS_OUTPUT_EMPTY()
- m_maincpu->eat_cycles(4444);
+ if (!machine().side_effects_disabled())
+ {
+ // If the cpu is reading empty data it is probably polling so eat some cyles
+ if IS_OUTPUT_EMPTY()
+ m_maincpu->eat_cycles(4444);
- /* data is actually only 8 bit (read from d8-d15, which is d0-d7 from the data access instructions POV) on early dcs, but goes 16 on later (seattle) */
- if (m_last_output_full && !m_output_full_cb.isnull())
- m_output_full_cb(m_last_output_full = 0);
- if (m_auto_ack)
- delayed_ack_w();
+ // data is actually only 8 bit (read from d8-d15, which is d0-d7 from the data access instructions POV) on early dcs, but goes 16 on later (seattle)
+ if (m_last_output_full && !m_output_full_cb.isnull())
+ m_output_full_cb(m_last_output_full = 0);
+ if (m_auto_ack)
+ delayed_ack_w();
- LOGMASKED(LOG_DCS_IO, "%s:dcs_data_r(%04X)\n", machine().describe_context(), m_output_data);
+ LOGMASKED(LOG_DCS_IO, "%s:dcs_data_r(%04X)\n", machine().describe_context(), m_output_data);
+ }
return m_output_data;
}
@@ -1685,15 +1667,19 @@ void dcs_audio_device::output_control_w(uint16_t data)
uint16_t dcs_audio_device::output_control_r()
{
- LOGMASKED(LOG_DCS_IO, "%s output_control_r = %04X\n", machine().describe_context(), m_output_control);
- m_output_control_cycles = m_cpu->total_cycles();
+ if (!machine().side_effects_disabled())
+ {
+ LOGMASKED(LOG_DCS_IO, "%s output_control_r = %04X\n", machine().describe_context(), m_output_control);
+ m_output_control_cycles = m_cpu->total_cycles();
+ }
return m_output_control;
}
int dcs_audio_device::data2_r()
{
- LOGMASKED(LOG_DCS_IO, "%s: dcs:data2_r = %04X\n", machine().describe_context(), m_output_control);
+ if (!machine().side_effects_disabled())
+ LOGMASKED(LOG_DCS_IO, "%s: dcs:data2_r = %04X\n", machine().describe_context(), m_output_control);
return m_output_control;
}
@@ -1708,29 +1694,26 @@ int dcs_audio_device::data2_r()
void dcs_audio_device::update_timer_count()
{
- uint64_t periods_since_start;
- uint64_t elapsed_cycles;
- uint64_t elapsed_clocks;
-
- /* if not enabled, skip */
+ // if not enabled, skip
if (!m_timer_enable)
return;
- /* count cycles */
- elapsed_cycles = m_cpu->total_cycles() - m_timer_start_cycles;
- elapsed_clocks = elapsed_cycles / m_timer_scale;
+ // count cycles
+ uint64_t elapsed_cycles = m_cpu->total_cycles() - m_timer_start_cycles;
+ uint64_t elapsed_clocks = elapsed_cycles / m_timer_scale;
- /* if we haven't counted past the initial count yet, just do that */
- if (elapsed_clocks < m_timer_start_count + 1) {
+ if (elapsed_clocks < m_timer_start_count + 1)
+ {
+ // if we haven't counted past the initial count yet, just do that
m_timer_start_count -= elapsed_clocks;
m_control_regs[TIMER_COUNT_REG] = m_timer_start_count;
- /* otherwise, count how many periods */
}
else
{
+ // otherwise, count how many periods
elapsed_clocks -= m_timer_start_count + 1;
- periods_since_start = elapsed_clocks / (m_timer_period + 1);
+ uint64_t periods_since_start = elapsed_clocks / (m_timer_period + 1);
elapsed_clocks -= periods_since_start * (m_timer_period + 1);
m_timer_start_count = m_timer_period - elapsed_clocks;
m_control_regs[TIMER_COUNT_REG] = m_timer_start_count;
@@ -1740,19 +1723,17 @@ void dcs_audio_device::update_timer_count()
TIMER_DEVICE_CALLBACK_MEMBER( dcs_audio_device::internal_timer_callback )
{
- int64_t target_cycles;
-
- /* compute the absolute cycle when the next one should fire */
- /* we do this to avoid drifting */
+ // compute the absolute cycle when the next one should fire
+ // we do this to avoid drifting
m_timers_fired++;
- target_cycles = m_timer_start_cycles + m_timer_scale * (m_timer_start_count + 1 + m_timers_fired * (uint64_t)(m_timer_period + 1));
+ int64_t target_cycles = m_timer_start_cycles + m_timer_scale * (m_timer_start_count + 1 + m_timers_fired * (uint64_t)(m_timer_period + 1));
target_cycles -= m_cpu->total_cycles();
- /* set the next timer, but only if it's for a reasonable number */
+ // set the next timer, but only if it's for a reasonable number
if (!m_timer_ignore && (m_timer_period > 10 || m_timer_scale > 1))
timer.adjust(m_cpu->cycles_to_attotime(target_cycles));
- /* the IRQ line is edge triggered */
+ // the IRQ line is edge triggered
m_cpu->set_input_line(ADSP2105_TIMER, ASSERT_LINE);
m_cpu->set_input_line(ADSP2105_TIMER, CLEAR_LINE);
}
@@ -1760,45 +1741,46 @@ TIMER_DEVICE_CALLBACK_MEMBER( dcs_audio_device::internal_timer_callback )
void dcs_audio_device::reset_timer()
{
- /* if not enabled, skip */
+ // if not enabled, skip
if (!m_timer_enable)
return;
- /* compute the time until the first firing */
+ // compute the time until the first firing
m_timer_start_cycles = m_cpu->total_cycles();
m_timers_fired = 0;
- /* if this is the first timer, check the IRQ routine for the DRAM refresh stub */
- /* if that's all the timer does, we don't really need to fire */
+ // if this is the first timer, check the IRQ routine for the DRAM refresh stub
+ // if that's all the timer does, we don't really need to fire
if (!m_timer_ignore)
{
// Denver variants (mwskins and sf2049) use the timer as a scaler for another count so we can't disable here
// Denver gets disabled when reset TFS in the adsp control written
// Road Burners: Code gets moved after initial diagnostic checks
- /* Road Burners: @ 28: JMP $0032 18032F, same code at $32 */
- /* Road Burners: @ 28: JMP $0030 18030F, same code at $30 */
+ // Road Burners: @ 28: JMP $0032 18032F, same code at $32
+ // Road Burners: @ 28: JMP $0030 18030F, same code at $30
if (m_rev < REV_DSIO &&
- m_program->read_dword(0x18) == 0x0c0030 && /* ENA SEC_REG */
- m_program->read_dword(0x19) == 0x804828 && /* SI = DM($0482) */
- m_program->read_dword(0x1a) == 0x904828 && /* DM($0482) = SI */
- m_program->read_dword(0x1b) == 0x0C0020 && /* DIS SEC_REG */
- m_program->read_dword(0x1c) == 0x0A001F) /* RTI */
+ m_program->read_dword(0x18) == 0x0c0030 && // ENA SEC_REG
+ m_program->read_dword(0x19) == 0x804828 && // SI = DM($0482)
+ m_program->read_dword(0x1a) == 0x904828 && // DM($0482) = SI
+ m_program->read_dword(0x1b) == 0x0c0020 && // DIS SEC_REG
+ m_program->read_dword(0x1c) == 0x0a001f) // RTI
{
LOGMASKED(LOG_DCS_IO, "reset_timer: Disabled timer %llu\n", m_timer_start_cycles);
m_timer_ignore = true;
- } else if (m_rev == REV_DSIO &&
- m_program->read_dword(0x30) == 0x0c0030 && /* ENA SEC_REG */
- m_program->read_dword(0x31) == 0x014828 && /* SI = IO($0482) */
- m_program->read_dword(0x32) == 0x01c828 && /* IO($0482) = SI */
- m_program->read_dword(0x33) == 0x0C0020 && /* DIS SEC_REG */
- m_program->read_dword(0x34) == 0x0A001F) /* RTI */
+ }
+ else if (m_rev == REV_DSIO &&
+ m_program->read_dword(0x30) == 0x0c0030 && // ENA SEC_REG
+ m_program->read_dword(0x31) == 0x014828 && // SI = IO($0482)
+ m_program->read_dword(0x32) == 0x01c828 && // IO($0482) = SI
+ m_program->read_dword(0x33) == 0x0c0020 && // DIS SEC_REG
+ m_program->read_dword(0x34) == 0x0A001f) // RTI
{
LOGMASKED(LOG_DCS_IO, "reset_timer: Disabled timer %llu\n", m_timer_start_cycles);
m_timer_ignore = true;
}
}
- /* adjust the timer if not optimized */
+ // adjust the timer if not optimized
if (!m_timer_ignore)
m_internal_timer->adjust(m_cpu->cycles_to_attotime(m_timer_scale * (m_timer_start_count + 1)));
}
@@ -1858,7 +1840,8 @@ uint16_t dcs_audio_device::adsp_control_r(offs_t offset)
// Denver Atlantis mwskins wants 0x2 to toggle
// Denver Durnago sf2049te wants 0x6 to toogle
result = (m_control_regs[PROG_FLAG_CONTROL_REG] & m_control_regs[PROG_FLAG_DATA_REG]) | (m_progflags & ~m_control_regs[PROG_FLAG_CONTROL_REG]);
- m_progflags ^= 0x6;
+ if (!machine().side_effects_disabled())
+ m_progflags ^= 0x6;
break;
case IDMA_CONTROL_REG:
@@ -1867,7 +1850,8 @@ uint16_t dcs_audio_device::adsp_control_r(offs_t offset)
break;
case TIMER_COUNT_REG:
- update_timer_count();
+ if (!machine().side_effects_disabled())
+ update_timer_count();
result = m_control_regs[offset];
break;
@@ -1875,19 +1859,20 @@ uint16_t dcs_audio_device::adsp_control_r(offs_t offset)
result = m_control_regs[offset];
break;
}
- LOGMASKED(LOG_DCS_IO, "%s adsp_control_r(%06x) = %04X\n", machine().describe_context(), offset + 0x3fe0, result);
+ if (!machine().side_effects_disabled())
+ LOGMASKED(LOG_DCS_IO, "%s adsp_control_r(%06x) = %04X\n", machine().describe_context(), offset + 0x3fe0, result);
return result;
}
-void dcs_audio_device:: adsp_control_w(offs_t offset, uint16_t data)
+void dcs_audio_device::adsp_control_w(offs_t offset, uint16_t data)
{
m_control_regs[offset] = data;
switch (offset)
{
case SYSCONTROL_REG:
- /* bit 9 forces a reset (not on 2181) */
+ // bit 9 forces a reset (not on 2181)
if ((data & 0x0200) && !(m_rev == REV_DSIO || m_rev == REV_DENV))
{
LOG("%s Rebooting DCS due to SYSCONTROL write = %04X\n", machine().describe_context(), data);
@@ -1896,7 +1881,7 @@ void dcs_audio_device:: adsp_control_w(offs_t offset, uint16_t data)
m_control_regs[SYSCONTROL_REG] = 0;
}
- /* see if SPORT1 got disabled */
+ // see if SPORT1 got disabled
if ((data & 0x0800) == 0)
{
dmadac_enable(&m_dmadac[0], m_channels, 0);
@@ -1922,7 +1907,7 @@ void dcs_audio_device:: adsp_control_w(offs_t offset, uint16_t data)
break;
case S1_AUTOBUF_REG:
- /* autobuffer off: nuke the timer, and disable the DAC */
+ // autobuffer off: nuke the timer, and disable the DAC
if ((data & 0x0002) == 0)
{
dmadac_enable(&m_dmadac[0], m_channels, 0);
@@ -1976,18 +1961,17 @@ void dcs_audio_device:: adsp_control_w(offs_t offset, uint16_t data)
TIMER_DEVICE_CALLBACK_MEMBER( dcs_audio_device::dcs_irq )
{
- /* get the index register */
+ // get the index register
int reg = m_cpu->state_int(ADSP2100_I0 + m_ireg);
LOGMASKED(LOG_DCS_IO, "dcs_irq: m_ireg: %x m_size: %x m_incs: %x m_channels: %d m_ireg_base: %x reg: %06x\n", m_ireg, m_size, m_incs, m_channels, m_ireg_base, reg);
- /* copy the current data into the buffer */
+ // copy the current data into the buffer
{
- int count = m_size / (2*(m_incs ? m_incs : 1));
+ int const count = m_size / (2*(m_incs ? m_incs : 1));
// sf2049se was having overflow issues with fixed size of 0x400 buffer (m_size==0xb40, count=0x5a0).
int16_t buffer[0x800];
- int i;
- for (i = 0; i < count; i++)
+ for (int i = 0; i < count; i++)
{
buffer[i] = m_data->read_word(reg);
reg += m_incs;
@@ -1997,30 +1981,30 @@ TIMER_DEVICE_CALLBACK_MEMBER( dcs_audio_device::dcs_irq )
dmadac_transfer(&m_dmadac[0], m_channels, 1, m_channels, count / m_channels, buffer);
}
- /* check for wrapping */
+ // check for wrapping
m_ireg_base = m_cpu->get_ibase(m_ireg);
if (reg >= m_ireg_base + m_size)
{
- /* reset the base pointer */
+ // reset the base pointer
reg = m_ireg_base;
- /* generate the (internal, thats why the pulse) irq */
+ // generate the (internal, thats why the pulse) irq
LOGMASKED(LOG_DCS_IO, "dcs_irq: Generating interrupt\n");
m_cpu->pulse_input_line(ADSP2105_IRQ1, m_cpu->minimum_quantum_time());
}
- /* store it */
+ // store it
m_cpu->set_state_int(ADSP2100_I0 + m_ireg, reg);
LOGMASKED(LOG_DCS_IO, "dcs_irq end: m_size: %x m_incs: %x m_channels: %d m_ireg_base: %x reg: %06x\n", m_size, m_incs, m_channels, m_ireg_base, reg);
}
TIMER_DEVICE_CALLBACK_MEMBER( dcs_audio_device::sport0_irq )
{
- /* this latches internally, so we just pulse */
- /* note that there is non-interrupt code that reads/modifies/writes the output_control */
- /* register; if we don't interlock it, we will eventually lose sound (see CarnEvil) */
- /* so we skip the SPORT interrupt if we read with output_control within the last 5 cycles */
- uint64_t diff = m_cpu->total_cycles() - m_output_control_cycles;
+ // this latches internally, so we just pulse
+ // note that there is non-interrupt code that reads/modifies/writes the output_control
+ // register; if we don't interlock it, we will eventually lose sound (see CarnEvil)
+ // so we skip the SPORT interrupt if we read with output_control within the last 5 cycles
+ uint64_t const diff = m_cpu->total_cycles() - m_output_control_cycles;
if (diff > 5)
{
m_cpu->set_input_line(ADSP2115_SPORT0_RX, ASSERT_LINE);
@@ -2031,14 +2015,14 @@ TIMER_DEVICE_CALLBACK_MEMBER( dcs_audio_device::sport0_irq )
void dcs_audio_device::recompute_sample_rate()
{
- /* calculate how long until we generate an interrupt */
+ // calculate how long until we generate an interrupt
- /* frequency the time per each bit sent */
+ // frequency the time per each bit sent
attotime sample_period;
if (m_control_regs[S1_CONTROL_REG] & 0x4000) {
// Use internal clock for SPORT1 Tx timing
sample_period = attotime::from_hz(m_cpu->unscaled_clock()) * (2 * (m_control_regs[S1_SCLKDIV_REG] + 1));
- /* now put it down to samples, so we know what the channel frequency has to be */
+ // now put it down to samples, so we know what the channel frequency has to be
sample_period *= (16 * m_channels);
}
else {
@@ -2050,7 +2034,7 @@ void dcs_audio_device::recompute_sample_rate()
dmadac_enable(&m_dmadac[0], m_channels, 1);
LOGMASKED(LOG_DCS_IO, "recompute_sample_rate: Channels: %d Freq: %e Size: 0x%x m_incs: 0x%x\n", m_channels, sample_period.as_hz(), m_size, m_incs);
- /* fire off a timer which will hit every half-buffer */
+ // fire off a timer which will hit every half-buffer
if (m_incs)
{
attotime period = (sample_period * m_size) / (2 * m_channels * m_incs);
@@ -2060,46 +2044,43 @@ void dcs_audio_device::recompute_sample_rate()
void dcs_audio_device::sound_tx_callback(offs_t offset, uint32_t data)
{
- /* check if it's for SPORT1 */
+ // check if it's for SPORT1
if (offset != 1) {
LOG("sound_tx_callback: No code for offset %x\n", offset);
return;
}
- /* check if SPORT1 is enabled */
- if (m_control_regs[SYSCONTROL_REG] & 0x0800) /* bit 11 */
+ // check if SPORT1 is enabled
+ if (m_control_regs[SYSCONTROL_REG] & 0x0800) // bit 11
{
- /* we only support autobuffer here (wich is what this thing uses), bail if not enabled */
- if (m_control_regs[S1_AUTOBUF_REG] & 0x0002) /* bit 1 */
+ // we only support autobuffer here (wich is what this thing uses), bail if not enabled
+ if (m_control_regs[S1_AUTOBUF_REG] & 0x0002) // bit 1
{
- /* get the autobuffer registers */
- int mreg, lreg;
- uint16_t source;
-
+ // get the autobuffer registers
m_ireg = (m_control_regs[S1_AUTOBUF_REG] >> 9) & 7;
- mreg = (m_control_regs[S1_AUTOBUF_REG] >> 7) & 3;
- mreg |= m_ireg & 0x04; /* msb comes from ireg */
- lreg = m_ireg;
+ int mreg = (m_control_regs[S1_AUTOBUF_REG] >> 7) & 3;
+ mreg |= m_ireg & 0x04; // msb comes from ireg
+ int lreg = m_ireg;
- /* now get the register contents in a more legible format */
- /* we depend on register indexes to be continuous (which is the case in our core) */
- source = m_cpu->state_int(ADSP2100_I0 + m_ireg);
+ // now get the register contents in a more legible format
+ // we depend on register indexes to be continuous (which is the case in our core)
+ uint16_t source = m_cpu->state_int(ADSP2100_I0 + m_ireg);
m_incs = m_cpu->state_int(ADSP2100_M0 + mreg);
m_size = m_cpu->state_int(ADSP2100_L0 + lreg);
- /* get the base value, since we need to keep it around for wrapping */
+ // get the base value, since we need to keep it around for wrapping
//source -= m_incs;
// Just clear lower 4 bits of source since some DCS versions haven't incremented yet
source &= ~0xf;
- /* make it go back one so we dont lose the first sample */
+ // make it go back one so we dont lose the first sample
m_cpu->set_state_int(ADSP2100_I0 + m_ireg, source);
- /* save it as it is now */
+ // save it as it is now
m_ireg_base = source;
LOGMASKED(LOG_DCS_IO, "sound_tx_callback: m_ireg_base: %x m_size: %x m_incs: %x \n", m_ireg_base, m_size, m_incs);
- /* recompute the sample rate and timer */
+ // recompute the sample rate and timer
recompute_sample_rate();
return;
}
@@ -2107,10 +2088,10 @@ void dcs_audio_device::sound_tx_callback(offs_t offset, uint32_t data)
LOG("ADSP SPORT1: trying to transmit and autobuffer not enabled!\n");
}
- /* if we get there, something went wrong. Disable playing */
+ // if we get there, something went wrong. Disable playing
dmadac_enable(&m_dmadac[0], m_channels, 0);
- /* remove timer */
+ // remove timer
m_reg_timer->reset();
}
@@ -2122,8 +2103,11 @@ void dcs_audio_device::sound_tx_callback(offs_t offset, uint32_t data)
uint16_t dcs_audio_device::dcs_polling_r(address_space &space)
{
- if (m_polling_count++ > 5)
- space.device().execute().eat_cycles(2000);
+ if (!machine().side_effects_disabled())
+ {
+ if (m_polling_count++ > 5)
+ space.device().execute().eat_cycles(2000);
+ }
return m_polling_value;
}
@@ -2136,7 +2120,8 @@ void dcs_audio_device::dcs_polling_w(offs_t offset, uint16_t data, uint16_t mem_
uint32_t dcs_audio_device::dcs_polling32_r(address_space &space)
{
- space.device().execute().eat_cycles(1000);
+ if (!machine().side_effects_disabled())
+ space.device().execute().eat_cycles(1000);
return m_polling32_value;
}
@@ -2156,14 +2141,14 @@ void dcs_audio_device::fifo_notify(int count, int max)
{
hle_transfer_state &transfer = m_transfer;
- /* skip if not in mid-transfer */
+ // skip if not in mid-transfer
if (!transfer.hle_enabled || transfer.state == 0 || m_fifo_data_r.isnull())
{
transfer.fifo_entries = 0;
return;
}
- /* preprocess a word */
+ // preprocess a word
transfer.fifo_entries = count;
if (transfer.state != 5 || transfer.fifo_entries == transfer.writes_left || transfer.fifo_entries >= 256)
{
@@ -2176,7 +2161,7 @@ void dcs_audio_device::fifo_notify(int count, int max)
TIMER_DEVICE_CALLBACK_MEMBER( dcs_audio_device::transfer_watchdog_callback )
{
hle_transfer_state &transfer = m_transfer;
- int starting_writes_left = param;
+ int const starting_writes_left = param;
if (transfer.fifo_entries && starting_writes_left == transfer.writes_left)
{
@@ -2190,7 +2175,7 @@ TIMER_DEVICE_CALLBACK_MEMBER( dcs_audio_device::transfer_watchdog_callback )
TIMER_CALLBACK_MEMBER( dcs_audio_device::s1_ack_callback2 )
{
- /* if the output is full, stall for a usec */
+ // if the output is full, stall for a usec
if (IS_OUTPUT_FULL())
{
m_s1_ack2_timer->adjust(attotime::from_usec(1), param);
@@ -2202,7 +2187,7 @@ TIMER_CALLBACK_MEMBER( dcs_audio_device::s1_ack_callback2 )
TIMER_CALLBACK_MEMBER( dcs_audio_device::s1_ack_callback1 )
{
- /* if the output is full, stall for a usec */
+ // if the output is full, stall for a usec
if (IS_OUTPUT_FULL())
{
m_s1_ack_timer->adjust(attotime::from_usec(1), param);
@@ -2210,7 +2195,7 @@ TIMER_CALLBACK_MEMBER( dcs_audio_device::s1_ack_callback1 )
}
output_latch_w(param);
- /* chain to the next word we need to write back */
+ // chain to the next word we need to write back
m_s1_ack2_timer->adjust(attotime::from_usec(1));
}
@@ -2222,31 +2207,29 @@ int dcs_audio_device::preprocess_stage_1(uint16_t data)
switch (transfer.state)
{
case 0:
- /* look for command 0x001a to transfer chunks of data */
if (data == 0x001a)
{
+ // look for command 0x001a to transfer chunks of data
LOGMASKED(LOG_DCS_TRANSFERS, "%s:DCS Transfer command %04X\n", machine().describe_context(), data);
transfer.state++;
if (transfer.hle_enabled)
return 1;
}
-
- /* look for command 0x002a to start booting the uploaded program */
else if (data == 0x002a)
{
+ // look for command 0x002a to start booting the uploaded program
LOGMASKED(LOG_DCS_TRANSFERS, "%s:DCS State change %04X\n", machine().describe_context(), data);
transfer.dcs_state = 1;
}
-
- /* anything else is ignored */
else
{
+ // anything else is ignored
LOGMASKED(LOG_DCS_TRANSFERS, "Command: %04X\n", data);
}
break;
case 1:
- /* first word is the start address */
+ // first word is the start address
transfer.start = data;
transfer.state++;
LOGMASKED(LOG_DCS_TRANSFERS, "Start address = %04X\n", transfer.start);
@@ -2255,7 +2238,7 @@ int dcs_audio_device::preprocess_stage_1(uint16_t data)
break;
case 2:
- /* second word is the stop address */
+ // second word is the stop address
transfer.stop = data;
transfer.state++;
LOGMASKED(LOG_DCS_TRANSFERS, "Stop address = %04X\n", transfer.stop);
@@ -2264,23 +2247,23 @@ int dcs_audio_device::preprocess_stage_1(uint16_t data)
break;
case 3:
- /* third word is the transfer type */
- /* transfer type 0 = program memory */
- /* transfer type 1 = SRAM bank 0 */
- /* transfer type 2 = SRAM bank 1 */
+ // third word is the transfer type
+ // transfer type 0 = program memory
+ // transfer type 1 = SRAM bank 0
+ // transfer type 2 = SRAM bank 1
transfer.type = data;
transfer.state++;
LOGMASKED(LOG_DCS_TRANSFERS, "Transfer type = %04X\n", transfer.type);
- /* at this point, we can compute how many words to expect for the transfer */
+ // at this point, we can compute how many words to expect for the transfer
transfer.writes_left = transfer.stop - transfer.start + 1;
if (transfer.type == 0)
transfer.writes_left *= 2;
- /* reset the checksum */
+ // reset the checksum
transfer.sum = 0;
- /* handle the HLE case */
+ // handle the HLE case
if (transfer.hle_enabled)
{
if (transfer.type == 1 && SDRC_SM_BK == 1)
@@ -2298,20 +2281,20 @@ int dcs_audio_device::preprocess_stage_1(uint16_t data)
break;
case 4:
- /* accumulate the sum over all data */
+ // accumulate the sum over all data
transfer.sum += data;
- /* if we're out, stop the transfer */
+ // if we're out, stop the transfer
if (--transfer.writes_left == 0)
{
LOGMASKED(LOG_DCS_TRANSFERS, "Transfer done, sum = %04X\n", transfer.sum);
transfer.state = 0;
}
- /* handle the HLE case */
+ // handle the HLE case
if (transfer.hle_enabled)
{
- /* write the new data to memory */
+ // write the new data to memory
if (transfer.type == 0)
{
if (transfer.writes_left & 1)
@@ -2322,7 +2305,7 @@ int dcs_audio_device::preprocess_stage_1(uint16_t data)
else
m_data->write_word(transfer.start++, data);
- /* if we're done, start a timer to send the response words */
+ // if we're done, start a timer to send the response words
if (transfer.state == 0)
m_s1_ack_timer->adjust(attotime::from_usec(1), transfer.sum);
return 1;
@@ -2335,7 +2318,7 @@ int dcs_audio_device::preprocess_stage_1(uint16_t data)
TIMER_CALLBACK_MEMBER( dcs_audio_device::s2_ack_callback )
{
- /* if the output is full, stall for a usec */
+ // if the output is full, stall for a usec
if (IS_OUTPUT_FULL())
{
m_s2_ack_timer->adjust(attotime::from_usec(1), param);
@@ -2353,24 +2336,23 @@ int dcs_audio_device::preprocess_stage_2(uint16_t data)
switch (transfer.state)
{
case 0:
- /* look for command 0x55d0 or 0x55d1 to transfer chunks of data */
if (data == 0x55d0 || data == 0x55d1)
{
+ // look for command 0x55d0 or 0x55d1 to transfer chunks of data
LOGMASKED(LOG_DCS_TRANSFERS, "%s:DCS Transfer command %04X\n", machine().describe_context(), data);
transfer.state++;
if (transfer.hle_enabled)
return 1;
}
-
- /* anything else is ignored */
else
{
+ // anything else is ignored
LOGMASKED(LOG_DCS_TRANSFERS, "%s:Command: %04X\n", machine().describe_context(), data);
}
break;
case 1:
- /* first word is the upper bits of the start address */
+ // first word is the upper bits of the start address
transfer.start = data << 16;
transfer.state++;
if (transfer.hle_enabled)
@@ -2378,7 +2360,7 @@ int dcs_audio_device::preprocess_stage_2(uint16_t data)
break;
case 2:
- /* second word is the lower bits of the start address */
+ // second word is the lower bits of the start address
transfer.start |= data;
transfer.state++;
LOGMASKED(LOG_DCS_TRANSFERS, "Start address = %08X\n", transfer.start);
@@ -2387,7 +2369,7 @@ int dcs_audio_device::preprocess_stage_2(uint16_t data)
break;
case 3:
- /* third word is the upper bits of the stop address */
+ // third word is the upper bits of the stop address
transfer.stop = data << 16;
transfer.state++;
if (transfer.hle_enabled)
@@ -2395,15 +2377,15 @@ int dcs_audio_device::preprocess_stage_2(uint16_t data)
break;
case 4:
- /* fourth word is the lower bits of the stop address */
+ // fourth word is the lower bits of the stop address
transfer.stop |= data;
transfer.state++;
LOGMASKED(LOG_DCS_TRANSFERS, "Stop address = %08X\n", transfer.stop);
- /* at this point, we can compute how many words to expect for the transfer */
+ // at this point, we can compute how many words to expect for the transfer
transfer.writes_left = transfer.stop - transfer.start + 1;
- /* reset the checksum */
+ // reset the checksum
transfer.sum = 0;
if (transfer.hle_enabled)
{
@@ -2413,23 +2395,23 @@ int dcs_audio_device::preprocess_stage_2(uint16_t data)
break;
case 5:
- /* accumulate the sum over all data */
+ // accumulate the sum over all data
transfer.sum += data;
- /* if we're out, stop the transfer */
+ // if we're out, stop the transfer
if (--transfer.writes_left == 0)
{
LOGMASKED(LOG_DCS_TRANSFERS, "Transfer done, sum = %04X\n", transfer.sum);
transfer.state = 0;
}
- /* handle the HLE case */
+ // handle the HLE case
if (transfer.hle_enabled)
{
- /* write the new data to memory */
+ // write the new data to memory
m_sounddata[transfer.start++] = data;
- /* if we're done, start a timer to send the response words */
+ // if we're done, start a timer to send the response words
if (transfer.state == 0)
{
m_s2_ack_timer->adjust(attotime::from_usec(1), transfer.sum);
@@ -2448,17 +2430,17 @@ int dcs_audio_device::preprocess_write(uint16_t data)
hle_transfer_state &transfer = m_transfer;
int result;
- /* if we're not DCS2, skip */
+ // if we're not DCS2, skip
if (!m_sport0_timer)
return 0;
- /* state 0 - initialization phase */
+ // state 0 - initialization phase
if (transfer.dcs_state == 0)
result = preprocess_stage_1(data);
else
result = preprocess_stage_2(data);
- /* if we did the write, toggle the full/not full state so interrupts are generated */
+ // if we did the write, toggle the full/not full state so interrupts are generated
if (result && !m_input_empty_cb.isnull())
{
if (m_last_input_empty)
@@ -2469,22 +2451,20 @@ int dcs_audio_device::preprocess_write(uint16_t data)
return result;
}
-/* Basic DCS system with ADSP-2105 and 2k of SRAM (T-unit, V-unit, Killer Instinct) */
+// Basic DCS system with ADSP-2105 and 2k of SRAM (T-unit, V-unit, Killer Instinct)
void dcs_audio_device::add_mconfig_dcs(machine_config &config)
{
adsp2105_device &dcs(ADSP2105(config, "dcs", XTAL(10'000'000)));
- dcs.sport_tx().set(FUNC(dcs_audio_device::sound_tx_callback)); /* callback for serial transmit */
- dcs.timer_fired().set(FUNC(dcs_audio_device::timer_enable_callback)); /* callback for timer fired */
+ dcs.sport_tx().set(FUNC(dcs_audio_device::sound_tx_callback)); // callback for serial transmit
+ dcs.timer_fired().set(FUNC(dcs_audio_device::timer_enable_callback)); // callback for timer fired
dcs.set_addrmap(AS_PROGRAM, &dcs_audio_device::dcs_2k_program_map);
dcs.set_addrmap(AS_DATA, &dcs_audio_device::dcs_2k_data_map);
TIMER(config, m_reg_timer).configure_generic(FUNC(dcs_audio_device::dcs_irq));
TIMER(config, m_internal_timer).configure_generic(FUNC(dcs_audio_device::internal_timer_callback));
- SPEAKER(config, "mono").front_center();
-
- DMADAC(config, "dac").add_route(ALL_OUTPUTS, "mono", 1.0); // AD-1851 16bit mono
+ DMADAC(config, "dac").add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 0); // AD-1851 16bit mono
}
DEFINE_DEVICE_TYPE(DCS_AUDIO_2K, dcs_audio_2k_device, "dcs_audio_2k", "DCS Audio 2K")
@@ -2494,7 +2474,7 @@ DEFINE_DEVICE_TYPE(DCS_AUDIO_2K, dcs_audio_2k_device, "dcs_audio_2k", "DCS Audio
//-------------------------------------------------
dcs_audio_2k_device::dcs_audio_2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- dcs_audio_device(mconfig, DCS_AUDIO_2K, tag, owner, clock, REV_DCS1)
+ dcs_audio_device(mconfig, DCS_AUDIO_2K, tag, owner, clock, REV_DCS1, 1)
{
}
@@ -2510,11 +2490,11 @@ DEFINE_DEVICE_TYPE(DCS_AUDIO_2K_UART, dcs_audio_2k_uart_device, "dcs_audio_2k_ua
//-------------------------------------------------
dcs_audio_2k_uart_device::dcs_audio_2k_uart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- dcs_audio_device(mconfig, DCS_AUDIO_2K_UART, tag, owner, clock, REV_DCS1)
+ dcs_audio_device(mconfig, DCS_AUDIO_2K_UART, tag, owner, clock, REV_DCS1, 1)
{
}
-/* Basic DCS system with ADSP-2105 and 2k of SRAM, using a UART for communications (X-unit) */
+// Basic DCS system with ADSP-2105 and 2k of SRAM, using a UART for communications (X-unit)
void dcs_audio_2k_uart_device::device_add_mconfig(machine_config &config)
{
dcs_audio_device::add_mconfig_dcs(config);
@@ -2528,11 +2508,11 @@ DEFINE_DEVICE_TYPE(DCS_AUDIO_8K, dcs_audio_8k_device, "dcs_audio_8k", "DCS Audio
//-------------------------------------------------
dcs_audio_8k_device::dcs_audio_8k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- dcs_audio_device(mconfig, DCS_AUDIO_8K, tag, owner, clock, REV_DCS1)
+ dcs_audio_device(mconfig, DCS_AUDIO_8K, tag, owner, clock, REV_DCS1, 1)
{
}
-/* Basic DCS system with ADSP-2105 and 8k of SRAM (Wolf-unit) */
+// Basic DCS system with ADSP-2105 and 8k of SRAM (Wolf-unit)
void dcs_audio_8k_device::device_add_mconfig(machine_config &config)
{
dcs_audio_device::add_mconfig_dcs(config);
@@ -2547,7 +2527,7 @@ DEFINE_DEVICE_TYPE(DCS_AUDIO_WPC, dcs_audio_wpc_device, "dcs_audio_wpc", "DCS Au
//-------------------------------------------------
dcs_audio_wpc_device::dcs_audio_wpc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- dcs_audio_device(mconfig, DCS_AUDIO_WPC, tag, owner, clock, REV_DCS1P5)
+ dcs_audio_device(mconfig, DCS_AUDIO_WPC, tag, owner, clock, REV_DCS1P5, 1)
{
}
@@ -2563,29 +2543,26 @@ void dcs_audio_wpc_device::device_add_mconfig(machine_config &config)
// dcs2_audio_device - constructor
//-------------------------------------------------
-dcs2_audio_device::dcs2_audio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
- dcs_audio_device(mconfig, type, tag, owner, clock, REV_DCS1)
+dcs2_audio_device::dcs2_audio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int outputs) :
+ dcs_audio_device(mconfig, type, tag, owner, clock, REV_DCS1, outputs)
{
}
void dcs2_audio_device::add_mconfig_dcs2(machine_config &config)
{
adsp2115_device &dcs2(ADSP2115(config, "dcs2", XTAL(16'000'000)));
- dcs2.sport_tx().set(FUNC(dcs_audio_device::sound_tx_callback)); /* callback for serial transmit */
- dcs2.timer_fired().set(FUNC(dcs_audio_device::timer_enable_callback)); /* callback for timer fired */
+ dcs2.sport_tx().set(FUNC(dcs2_audio_device::sound_tx_callback)); // callback for serial transmit
+ dcs2.timer_fired().set(FUNC(dcs2_audio_device::timer_enable_callback)); // callback for timer fired
dcs2.set_addrmap(AS_PROGRAM, &dcs2_audio_device::dcs2_2115_program_map);
dcs2.set_addrmap(AS_DATA, &dcs2_audio_device::dcs2_2115_data_map);
- TIMER(config, "dcs_reg_timer").configure_generic(FUNC(dcs_audio_device::dcs_irq));
- TIMER(config, "dcs_sport0_timer").configure_generic(FUNC(dcs_audio_device::sport0_irq));
- TIMER(config, "dcs_int_timer").configure_generic(FUNC(dcs_audio_device::internal_timer_callback));
- TIMER(config, "dcs_hle_timer").configure_generic(FUNC(dcs_audio_device::transfer_watchdog_callback));
-
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
+ TIMER(config, m_reg_timer).configure_generic(FUNC(dcs2_audio_device::dcs_irq));
+ TIMER(config, m_sport0_timer).configure_generic(FUNC(dcs2_audio_device::sport0_irq));
+ TIMER(config, m_internal_timer).configure_generic(FUNC(dcs2_audio_device::internal_timer_callback));
+ TIMER(config, "dcs_hle_timer").configure_generic(FUNC(dcs2_audio_device::transfer_watchdog_callback));
- DMADAC(config, "dac1").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
- DMADAC(config, "dac2").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
+ DMADAC(config, "dac1").add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 0);
+ DMADAC(config, "dac2").add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 1);
}
DEFINE_DEVICE_TYPE(DCS2_AUDIO_2115, dcs2_audio_2115_device, "dcs2_audio_2115", "DCS2 Audio 2115")
@@ -2595,7 +2572,7 @@ DEFINE_DEVICE_TYPE(DCS2_AUDIO_2115, dcs2_audio_2115_device, "dcs2_audio_2115", "
//-------------------------------------------------
dcs2_audio_2115_device::dcs2_audio_2115_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- dcs2_audio_device(mconfig, DCS2_AUDIO_2115, tag, owner, clock)
+ dcs2_audio_device(mconfig, DCS2_AUDIO_2115, tag, owner, clock, 2)
{
}
@@ -2612,7 +2589,7 @@ DEFINE_DEVICE_TYPE(DCS2_AUDIO_2104, dcs2_audio_2104_device, "dcs2_audio_2104", "
dcs2_audio_2104_device::dcs2_audio_2104_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- dcs2_audio_device(mconfig, DCS2_AUDIO_2104, tag, owner, clock)
+ dcs2_audio_device(mconfig, DCS2_AUDIO_2104, tag, owner, clock, 2)
{
}
@@ -2621,8 +2598,8 @@ void dcs2_audio_2104_device::device_add_mconfig(machine_config &config)
dcs2_audio_device::add_mconfig_dcs2(config);
adsp2104_device &dcs2(ADSP2104(config.replace(), "dcs2", XTAL(16'000'000)));
- dcs2.sport_tx().set(FUNC(dcs_audio_device::sound_tx_callback)); /* callback for serial transmit */
- dcs2.timer_fired().set(FUNC(dcs_audio_device::timer_enable_callback)); /* callback for timer fired */
+ dcs2.sport_tx().set(FUNC(dcs2_audio_2104_device::sound_tx_callback)); // callback for serial transmit
+ dcs2.timer_fired().set(FUNC(dcs2_audio_2104_device::timer_enable_callback)); // callback for timer fired
dcs2.set_addrmap(AS_PROGRAM, &dcs2_audio_2104_device::dcs2_2104_program_map);
dcs2.set_addrmap(AS_DATA, &dcs2_audio_2104_device::dcs2_2104_data_map);
}
@@ -2634,61 +2611,58 @@ DEFINE_DEVICE_TYPE(DCS2_AUDIO_DSIO, dcs2_audio_dsio_device, "dcs2_audio_dsio", "
//-------------------------------------------------
dcs2_audio_dsio_device::dcs2_audio_dsio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- dcs2_audio_device(mconfig, DCS2_AUDIO_DSIO, tag, owner, clock)
+ dcs2_audio_device(mconfig, DCS2_AUDIO_DSIO, tag, owner, clock, 2)
{
}
void dcs2_audio_dsio_device::device_add_mconfig(machine_config &config)
{
adsp2181_device &dsio(ADSP2181(config, "dsio", XTAL(32'000'000)));
- dsio.sport_tx().set(FUNC(dcs_audio_device::sound_tx_callback)); /* callback for serial transmit */
- dsio.timer_fired().set(FUNC(dcs_audio_device::timer_enable_callback)); /* callback for timer fired */
- dsio.dmovlay().set(FUNC(dcs_audio_device::dmovlay_callback)); /* callback for adsp 2181 dmovlay instruction */
+ dsio.sport_tx().set(FUNC(dcs2_audio_dsio_device::sound_tx_callback)); // callback for serial transmit
+ dsio.timer_fired().set(FUNC(dcs2_audio_dsio_device::timer_enable_callback)); // callback for timer fired
+ dsio.dmovlay().set(FUNC(dcs2_audio_dsio_device::dmovlay_callback)); // callback for adsp 2181 dmovlay instruction
dsio.set_addrmap(AS_PROGRAM, &dcs2_audio_dsio_device::dsio_program_map);
dsio.set_addrmap(AS_DATA, &dcs2_audio_dsio_device::dsio_data_map);
dsio.set_addrmap(AS_IO, &dcs2_audio_dsio_device::dsio_io_map);
- ADDRESS_MAP_BANK(config, "data_map_bank").set_map(&dcs2_audio_dsio_device::dsio_rambank_map).set_options(ENDIANNESS_LITTLE, 16, 14, 0x2000);
-
- TIMER(config, m_reg_timer).configure_generic(FUNC(dcs_audio_device::dcs_irq));
- TIMER(config, m_internal_timer).configure_generic(FUNC(dcs_audio_device::internal_timer_callback));
- TIMER(config, m_sport0_timer).configure_generic(FUNC(dcs_audio_device::sport0_irq)); // roadburn needs this to pass hardware test
+ ADDRESS_MAP_BANK(config, m_ram_map).set_map(&dcs2_audio_dsio_device::dsio_rambank_map).set_options(ENDIANNESS_LITTLE, 16, 14, 0x2000);
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
+ TIMER(config, m_reg_timer).configure_generic(FUNC(dcs2_audio_dsio_device::dcs_irq));
+ TIMER(config, m_internal_timer).configure_generic(FUNC(dcs2_audio_dsio_device::internal_timer_callback));
+ TIMER(config, m_sport0_timer).configure_generic(FUNC(dcs2_audio_dsio_device::sport0_irq)); // roadburn needs this to pass hardware test
- DMADAC(config, "dac1").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
- DMADAC(config, "dac2").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
+ DMADAC(config, "dac1").add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 0);
+ DMADAC(config, "dac2").add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 1);
}
//-------------------------------------------------
// dcs2_audio_denver_device - constructor
//-------------------------------------------------
-dcs2_audio_denver_device::dcs2_audio_denver_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
- dcs2_audio_device(mconfig, type, tag, owner, clock)
+dcs2_audio_denver_device::dcs2_audio_denver_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int outputs) :
+ dcs2_audio_device(mconfig, type, tag, owner, clock, outputs)
{
}
void dcs2_audio_denver_device::device_add_mconfig(machine_config &config)
{
adsp2181_device &denver(ADSP2181(config, "denver", XTAL(33'333'000)));
- denver.sport_tx().set(FUNC(dcs_audio_device::sound_tx_callback)); /* callback for serial transmit */
- denver.timer_fired().set(FUNC(dcs_audio_device::timer_enable_callback)); /* callback for timer fired */
- denver.dmovlay().set(FUNC(dcs_audio_device::dmovlay_callback)); /* callback for adsp 2181 dmovlay instruction */
+ denver.sport_tx().set(FUNC(dcs2_audio_denver_device::sound_tx_callback)); // callback for serial transmit
+ denver.timer_fired().set(FUNC(dcs2_audio_denver_device::timer_enable_callback)); // callback for timer fired
+ denver.dmovlay().set(FUNC(dcs2_audio_denver_device::dmovlay_callback)); // callback for adsp 2181 dmovlay instruction
denver.set_addrmap(AS_PROGRAM, &dcs2_audio_denver_device::denver_program_map);
denver.set_addrmap(AS_DATA, &dcs2_audio_denver_device::denver_data_map);
denver.set_addrmap(AS_IO, &dcs2_audio_denver_device::denver_io_map);
ADDRESS_MAP_BANK(config, m_ram_map).set_map(&dcs2_audio_denver_device::denver_rambank_map).set_options(ENDIANNESS_LITTLE, 16, 15, 0x2000*2);
- TIMER(config, m_reg_timer).configure_generic(FUNC(dcs_audio_device::dcs_irq));
- TIMER(config, m_internal_timer).configure_generic(FUNC(dcs_audio_device::internal_timer_callback));
- TIMER(config, m_sport0_timer).configure_generic(FUNC(dcs_audio_device::sport0_irq)); // Atlantis driver waits for sport0 rx interrupts
+ TIMER(config, m_reg_timer).configure_generic(FUNC(dcs2_audio_denver_device::dcs_irq));
+ TIMER(config, m_internal_timer).configure_generic(FUNC(dcs2_audio_denver_device::internal_timer_callback));
+ TIMER(config, m_sport0_timer).configure_generic(FUNC(dcs2_audio_denver_device::sport0_irq)); // Atlantis driver waits for sport0 rx interrupts
}
dcs2_audio_denver_5ch_device::dcs2_audio_denver_5ch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- dcs2_audio_denver_device(mconfig, DCS2_AUDIO_DENVER_5CH, tag, owner, clock)
+ dcs2_audio_denver_device(mconfig, DCS2_AUDIO_DENVER_5CH, tag, owner, clock, 5)
{
}
@@ -2696,25 +2670,18 @@ void dcs2_audio_denver_5ch_device::device_add_mconfig(machine_config &config)
{
dcs2_audio_denver_device::device_add_mconfig(config);
- SPEAKER(config, "flspeaker").front_left();
- SPEAKER(config, "frspeaker").front_right();
- SPEAKER(config, "rlspeaker").headrest_left();
- SPEAKER(config, "rrspeaker").headrest_right();
- SPEAKER(config, "subwoofer").backrest();
-
- DMADAC(config, "dac1").add_route(ALL_OUTPUTS, "flspeaker", 1.0);
- DMADAC(config, "dac2").add_route(ALL_OUTPUTS, "frspeaker", 1.0);
- DMADAC(config, "dac3").add_route(ALL_OUTPUTS, "rlspeaker", 1.0);
- DMADAC(config, "dac4").add_route(ALL_OUTPUTS, "rrspeaker", 1.0);
- DMADAC(config, "dac5").add_route(ALL_OUTPUTS, "subwoofer", 1.0);
- DMADAC(config, "dac6");
- // Does not produce sound
+ DMADAC(config, "dac1").add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 0);
+ DMADAC(config, "dac2").add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 1);
+ DMADAC(config, "dac3").add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 2);
+ DMADAC(config, "dac4").add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 3);
+ DMADAC(config, "dac5").add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 4);
+ DMADAC(config, "dac6"); // Does not produce sound
}
DEFINE_DEVICE_TYPE(DCS2_AUDIO_DENVER_5CH, dcs2_audio_denver_5ch_device, "dcs2_audio_denver_5ch", "DCS2 Audio Denver 5 Channel")
dcs2_audio_denver_2ch_device::dcs2_audio_denver_2ch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- dcs2_audio_denver_device(mconfig, DCS2_AUDIO_DENVER_2CH, tag, owner, clock)
+ dcs2_audio_denver_device(mconfig, DCS2_AUDIO_DENVER_2CH, tag, owner, clock, 2)
{
}
@@ -2722,11 +2689,8 @@ void dcs2_audio_denver_2ch_device::device_add_mconfig(machine_config &config)
{
dcs2_audio_denver_device::device_add_mconfig(config);
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
-
- DMADAC(config, "dac1").add_route(ALL_OUTPUTS, "rspeaker", 1.0);
- DMADAC(config, "dac2").add_route(ALL_OUTPUTS, "lspeaker", 1.0);
+ DMADAC(config, "dac1").add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 0);
+ DMADAC(config, "dac2").add_route(ALL_OUTPUTS, *this, 1.0, AUTO_ALLOC_INPUT, 1);
}
DEFINE_DEVICE_TYPE(DCS2_AUDIO_DENVER_2CH, dcs2_audio_denver_2ch_device, "dcs2_audio_denver_2ch", "DCS2 Audio Denver 2 Channel")
diff --git a/src/mame/shared/dcs.h b/src/mame/shared/dcs.h
index 789fd09b3fc03..b0e628ce543a8 100644
--- a/src/mame/shared/dcs.h
+++ b/src/mame/shared/dcs.h
@@ -12,14 +12,17 @@
#pragma once
#include "cpu/adsp2100/adsp2100.h"
-#include "sound/dmadac.h"
#include "machine/bankdev.h"
#include "machine/timer.h"
+#include "sound/dmadac.h"
-class dcs_audio_device : public device_t
+class dcs_audio_device : public device_t, public device_mixer_interface
{
public:
+ enum { REV_DCS1, REV_DCS1P5, REV_DCS2, REV_DSIO, REV_DENV };
+
+ template void set_maincpu_tag(T &&tag) { m_maincpu.set_tag(std::forward(tag)); }
// for dcs2 (int dram_in_mb, offs_t polling_offset)
void set_dram_in_mb(int dram_in_mb) { m_dram_in_mb = dram_in_mb; }
void set_polling_offset(offs_t polling_offset) { m_polling_offset = polling_offset; }
@@ -47,98 +50,18 @@ class dcs_audio_device : public device_t
void denver_postload();
void install_speedup();
- // non public
- void dcs_boot();
- TIMER_CALLBACK_MEMBER( dcs_reset );
- void dcs_register_state();
- uint16_t dcs_dataram_r(offs_t offset);
- void dcs_dataram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- void dcs_data_bank_select_w(uint16_t data);
- void dcs_data_bank_select2_w(uint16_t data);
- inline void sdrc_update_bank_pointers();
- void sdrc_remap_memory();
- void sdrc_reset();
- uint16_t sdrc_r(offs_t offset);
- void sdrc_w(offs_t offset, uint16_t data);
- void dsio_reset();
- uint16_t dsio_r(offs_t offset);
- void dsio_w(offs_t offset, uint16_t data);
- void denver_alloc_dmadac();
- void denver_reset();
- uint16_t denver_r(offs_t offset);
- void denver_w(offs_t offset, uint16_t data);
- uint16_t latch_status_r(address_space &space);
- uint16_t fifo_input_r();
- void dcs_delayed_data_w(uint16_t data);
- TIMER_CALLBACK_MEMBER( dcs_delayed_data_w_callback );
- void input_latch_ack_w(uint16_t data);
- uint16_t input_latch_r();
- uint32_t input_latch32_r();
- TIMER_CALLBACK_MEMBER( latch_delayed_w );
- void output_latch_w(uint16_t data);
- void output_latch32_w(uint32_t data);
- void delayed_ack_w();
- TIMER_CALLBACK_MEMBER( delayed_ack_w_callback );
- TIMER_CALLBACK_MEMBER( output_control_delayed_w );
- void output_control_w(uint16_t data);
- uint16_t output_control_r();
- void update_timer_count();
- TIMER_DEVICE_CALLBACK_MEMBER( internal_timer_callback );
- void reset_timer();
- void timer_enable_callback(int state);
- uint16_t adsp_control_r(offs_t offset);
- void adsp_control_w(offs_t offset, uint16_t data);
- TIMER_DEVICE_CALLBACK_MEMBER( dcs_irq );
- TIMER_DEVICE_CALLBACK_MEMBER( sport0_irq );
- void recompute_sample_rate();
- void sound_tx_callback(offs_t offset, uint32_t data);
- uint16_t dcs_polling_r(address_space &space);
- void dcs_polling_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
- uint32_t dcs_polling32_r(address_space &space);
- void dcs_polling32_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
- TIMER_DEVICE_CALLBACK_MEMBER( transfer_watchdog_callback );
- TIMER_CALLBACK_MEMBER( s1_ack_callback2 );
- TIMER_CALLBACK_MEMBER( s1_ack_callback1 );
- int preprocess_stage_1(uint16_t data);
- TIMER_CALLBACK_MEMBER( s2_ack_callback );
- int preprocess_stage_2(uint16_t data);
- int preprocess_write(uint16_t data);
-
- void dcs2_2104_data_map(address_map &map);
- void dcs2_2104_program_map(address_map &map);
- void dcs2_2115_data_map(address_map &map);
- void dcs2_2115_program_map(address_map &map);
- void dcs_2k_data_map(address_map &map);
- void dcs_2k_program_map(address_map &map);
- void dcs_2k_uart_data_map(address_map &map);
- void dcs_8k_data_map(address_map &map);
- void dcs_8k_program_map(address_map &map);
- void dcs_wpc_program_map(address_map &map);
- void denver_data_map(address_map &map);
- void denver_io_map(address_map &map);
- void denver_program_map(address_map &map);
- void denver_rambank_map(address_map &map);
- void dsio_data_map(address_map &map);
- void dsio_io_map(address_map &map);
- void dsio_program_map(address_map &map);
- void dsio_rambank_map(address_map &map);
-
uint8_t get_rev() { return m_rev; } // TODO(RH): This can be done better, and shouldn't be necessary.
cpu_device *get_cpu() { return m_cpu; } // TODO(RH): Same.
- enum { REV_DCS1, REV_DCS1P5, REV_DCS2, REV_DSIO, REV_DENV };
-
protected:
// construction/destruction
- dcs_audio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int rev);
+ dcs_audio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int rev, int outputs);
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- void add_mconfig_dcs(machine_config &config);
+ // device_t implementation
+ virtual void device_start() override ATTR_COLD;
+ virtual void device_reset() override ATTR_COLD;
- static constexpr const char *const denver_regname[4] =
- { "SDRC_ROM", "SDRC_IO", "RAM_PAGE", "VER/FIFO_RESET" };
+ void add_mconfig_dcs(machine_config &config) ATTR_COLD;
struct sdrc_state
{
@@ -170,39 +93,47 @@ class dcs_audio_device : public device_t
timer_device *watchdog;
};
+ optional_device m_maincpu;
+
+ required_device m_reg_timer;
+ optional_device m_sport0_timer;
+ required_device m_internal_timer;
+
+ optional_device m_ram_map;
+
+ optional_region_ptr m_bootrom;
+ optional_shared_ptr m_internal_program_ram;
+ optional_shared_ptr m_external_program_ram;
+ optional_shared_ptr m_internal_data_ram;
+ optional_shared_ptr m_iram;
+
+ optional_memory_bank m_data_bank;
+ memory_bank_creator m_rom_page;
+ memory_bank_creator m_dram_page;
+
adsp21xx_device *m_cpu;
address_space *m_program;
address_space *m_data;
uint8_t m_rev;
offs_t m_polling_offset;
uint32_t m_polling_count;
- /* sound output */
+ // sound output
uint8_t m_channels;
uint16_t m_size;
uint16_t m_incs;
dmadac_sound_device *m_dmadac[6];
- required_device m_reg_timer;
- optional_device m_sport0_timer;
- required_device m_internal_timer;
int32_t m_ireg;
uint16_t m_ireg_base;
uint16_t m_control_regs[32];
- /* memory access/booting */
- uint16_t * m_bootrom;
- uint32_t m_bootrom_words;
+ // memory access
uint16_t * m_sounddata;
std::unique_ptr m_sounddata_ptr;
uint32_t m_sounddata_words;
uint32_t m_sounddata_banks;
uint16_t m_sounddata_bank;
- optional_device m_ram_map;
- optional_memory_bank m_data_bank;
- memory_bank_creator m_rom_page;
- memory_bank_creator m_dram_page;
-
- /* I/O with the host */
+ // I/O with the host
uint8_t m_auto_ack;
uint16_t m_latch_control;
uint16_t m_input_data;
@@ -236,11 +167,8 @@ class dcs_audio_device : public device_t
std::unique_ptr m_sram;
uint16_t m_polling_value;
uint32_t m_polling32_value;
- uint32_t *m_internal_program_ram;
- uint32_t *m_external_program_ram;
- uint32_t *m_internal_data_ram;
- int m_dmovlay_val;
+ int32_t m_dmovlay_val;
sdrc_state m_sdrc;
dsio_state m_dsio;
@@ -248,8 +176,81 @@ class dcs_audio_device : public device_t
int m_dram_in_mb;
- optional_shared_ptr m_iram;
- optional_device m_maincpu;
+ // non public
+ void dcs_boot();
+ TIMER_CALLBACK_MEMBER( dcs_reset );
+ void dcs_register_state();
+ uint16_t dcs_dataram_r(offs_t offset);
+ void dcs_dataram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
+ void dcs_data_bank_select_w(uint16_t data);
+ void dcs_data_bank_select2_w(uint16_t data);
+ inline void sdrc_update_bank_pointers();
+ void sdrc_remap_memory();
+ void sdrc_reset();
+ uint16_t sdrc_r(offs_t offset);
+ void sdrc_w(offs_t offset, uint16_t data);
+ void dsio_reset();
+ uint16_t dsio_r(offs_t offset);
+ void dsio_w(offs_t offset, uint16_t data);
+ void denver_alloc_dmadac();
+ void denver_reset();
+ uint16_t denver_r(offs_t offset);
+ void denver_w(offs_t offset, uint16_t data);
+ uint16_t latch_status_r(address_space &space);
+ uint16_t fifo_input_r();
+ void dcs_delayed_data_w(uint16_t data);
+ TIMER_CALLBACK_MEMBER( dcs_delayed_data_w_callback );
+ void input_latch_ack_w(uint16_t data);
+ uint16_t input_latch_r();
+ uint32_t input_latch32_r();
+ TIMER_CALLBACK_MEMBER( latch_delayed_w );
+ void output_latch_w(uint16_t data);
+ void output_latch32_w(uint32_t data);
+ void delayed_ack_w();
+ TIMER_CALLBACK_MEMBER( delayed_ack_w_callback );
+ TIMER_CALLBACK_MEMBER( output_control_delayed_w );
+ void output_control_w(uint16_t data);
+ uint16_t output_control_r();
+ void update_timer_count();
+ TIMER_DEVICE_CALLBACK_MEMBER( internal_timer_callback );
+ void reset_timer();
+ void timer_enable_callback(int state);
+ uint16_t adsp_control_r(offs_t offset);
+ void adsp_control_w(offs_t offset, uint16_t data);
+ TIMER_DEVICE_CALLBACK_MEMBER( dcs_irq );
+ TIMER_DEVICE_CALLBACK_MEMBER( sport0_irq );
+ void recompute_sample_rate();
+ void sound_tx_callback(offs_t offset, uint32_t data);
+ uint16_t dcs_polling_r(address_space &space);
+ void dcs_polling_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
+ uint32_t dcs_polling32_r(address_space &space);
+ void dcs_polling32_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
+ TIMER_DEVICE_CALLBACK_MEMBER( transfer_watchdog_callback );
+ TIMER_CALLBACK_MEMBER( s1_ack_callback2 );
+ TIMER_CALLBACK_MEMBER( s1_ack_callback1 );
+ int preprocess_stage_1(uint16_t data);
+ TIMER_CALLBACK_MEMBER( s2_ack_callback );
+ int preprocess_stage_2(uint16_t data);
+ int preprocess_write(uint16_t data);
+
+ void dcs2_2104_data_map(address_map &map) ATTR_COLD;
+ void dcs2_2104_program_map(address_map &map) ATTR_COLD;
+ void dcs2_2115_data_map(address_map &map) ATTR_COLD;
+ void dcs2_2115_program_map(address_map &map) ATTR_COLD;
+ void dcs_2k_data_map(address_map &map) ATTR_COLD;
+ void dcs_2k_program_map(address_map &map) ATTR_COLD;
+ void dcs_2k_uart_data_map(address_map &map) ATTR_COLD;
+ void dcs_8k_data_map(address_map &map) ATTR_COLD;
+ void dcs_8k_program_map(address_map &map) ATTR_COLD;
+ void dcs_wpc_program_map(address_map &map) ATTR_COLD;
+ void denver_data_map(address_map &map) ATTR_COLD;
+ void denver_io_map(address_map &map) ATTR_COLD;
+ void denver_program_map(address_map &map) ATTR_COLD;
+ void denver_rambank_map(address_map &map) ATTR_COLD;
+ void dsio_data_map(address_map &map) ATTR_COLD;
+ void dsio_io_map(address_map &map) ATTR_COLD;
+ void dsio_program_map(address_map &map) ATTR_COLD;
+ void dsio_rambank_map(address_map &map) ATTR_COLD;
};
@@ -262,13 +263,10 @@ class dcs_audio_2k_device : public dcs_audio_device
dcs_audio_2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
-
+ // device_t implementation
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
};
-// device type definition
-DECLARE_DEVICE_TYPE(DCS_AUDIO_2K, dcs_audio_2k_device)
// dcs_audio_2k_uart_device
@@ -279,12 +277,10 @@ class dcs_audio_2k_uart_device : public dcs_audio_device
dcs_audio_2k_uart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
+ // device_t implementation
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
};
-// device type definition
-DECLARE_DEVICE_TYPE(DCS_AUDIO_2K_UART, dcs_audio_2k_uart_device)
// dcs_audio_8k_device
@@ -295,12 +291,10 @@ class dcs_audio_8k_device : public dcs_audio_device
dcs_audio_8k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
+ // device_t implementation
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
};
-// device type definition
-DECLARE_DEVICE_TYPE(DCS_AUDIO_8K, dcs_audio_8k_device)
// dcs_audio_wpc_device
@@ -310,14 +304,12 @@ class dcs_audio_wpc_device : public dcs_audio_device
// construction/destruction
dcs_audio_wpc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- void dcs_wpc_data_map(address_map &map);
protected:
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
-};
+ // device_t implementation
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
-// device type definition
-DECLARE_DEVICE_TYPE(DCS_AUDIO_WPC, dcs_audio_wpc_device)
+ void dcs_wpc_data_map(address_map &map) ATTR_COLD;
+};
// dcs2_audio_device
@@ -326,13 +318,15 @@ class dcs2_audio_device : public dcs_audio_device
{
protected:
// construction/destruction
- dcs2_audio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
+ dcs2_audio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int outputs);
- // device-level overrides
- virtual void device_start() override;
- void add_mconfig_dcs2(machine_config &config);
+ // device_t implementation
+ virtual void device_start() override ATTR_COLD;
+
+ void add_mconfig_dcs2(machine_config &config) ATTR_COLD;
};
+
// dcs2_audio_2115_device
class dcs2_audio_2115_device : public dcs2_audio_device
@@ -342,12 +336,10 @@ class dcs2_audio_2115_device : public dcs2_audio_device
dcs2_audio_2115_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
+ // device_t implementation
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
};
-// device type definition
-DECLARE_DEVICE_TYPE(DCS2_AUDIO_2115, dcs2_audio_2115_device)
// dcs2_audio_2104_device
@@ -358,12 +350,10 @@ class dcs2_audio_2104_device : public dcs2_audio_device
dcs2_audio_2104_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
+ // device_t implementation
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
};
-// device type definition
-DECLARE_DEVICE_TYPE(DCS2_AUDIO_2104, dcs2_audio_2104_device)
// dcs2_audio_dsio_device
@@ -374,22 +364,21 @@ class dcs2_audio_dsio_device : public dcs2_audio_device
dcs2_audio_dsio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
+ // device_t implementation
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
};
-// device type definition
-DECLARE_DEVICE_TYPE(DCS2_AUDIO_DSIO, dcs2_audio_dsio_device)
// dcs2_audio_denver_device types
+
class dcs2_audio_denver_device : public dcs2_audio_device
{
-public:
- // construction/destruction
- dcs2_audio_denver_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
protected:
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
+ // construction/destruction
+ dcs2_audio_denver_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int outputs);
+
+ // device_t implementation
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
};
class dcs2_audio_denver_5ch_device : public dcs2_audio_denver_device
@@ -397,9 +386,10 @@ class dcs2_audio_denver_5ch_device : public dcs2_audio_denver_device
public:
// construction/destruction
dcs2_audio_denver_5ch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
protected:
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
+ // device_t implementation
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
};
class dcs2_audio_denver_2ch_device : public dcs2_audio_denver_device
@@ -407,14 +397,22 @@ class dcs2_audio_denver_2ch_device : public dcs2_audio_denver_device
public:
// construction/destruction
dcs2_audio_denver_2ch_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
protected:
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override;
+ // device_t implementation
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
};
-// device type definition
-DECLARE_DEVICE_TYPE(DCS2_AUDIO_DENVER_5CH, dcs2_audio_denver_5ch_device)
+// device type declarations
+DECLARE_DEVICE_TYPE(DCS_AUDIO_2K, dcs_audio_2k_device)
+DECLARE_DEVICE_TYPE(DCS_AUDIO_2K_UART, dcs_audio_2k_uart_device)
+DECLARE_DEVICE_TYPE(DCS_AUDIO_8K, dcs_audio_8k_device)
+DECLARE_DEVICE_TYPE(DCS_AUDIO_WPC, dcs_audio_wpc_device)
+DECLARE_DEVICE_TYPE(DCS2_AUDIO_2115, dcs2_audio_2115_device)
+DECLARE_DEVICE_TYPE(DCS2_AUDIO_2104, dcs2_audio_2104_device)
+DECLARE_DEVICE_TYPE(DCS2_AUDIO_DSIO, dcs2_audio_dsio_device)
+DECLARE_DEVICE_TYPE(DCS2_AUDIO_DENVER_5CH, dcs2_audio_denver_5ch_device)
DECLARE_DEVICE_TYPE(DCS2_AUDIO_DENVER_2CH, dcs2_audio_denver_2ch_device)
#endif // MAME_SHARED_DCS_H
diff --git a/src/mame/shared/decobsmt.cpp b/src/mame/shared/decobsmt.cpp
index 510435b660d2a..b787358d8e29d 100644
--- a/src/mame/shared/decobsmt.cpp
+++ b/src/mame/shared/decobsmt.cpp
@@ -13,13 +13,10 @@
#include "decobsmt.h"
#include "speaker.h"
-#define M6809_TAG "soundcpu"
-#define BSMT_TAG "bsmt"
-
void decobsmt_device::decobsmt_map(address_map &map)
{
map(0x0000, 0x1fff).ram();
- map(0x2000, 0xffff).rom().region(":soundcpu", 0x2000);
+ map(0x2000, 0xffff).rom().region("soundcpu", 0x2000);
map(0x2000, 0x2001).w(FUNC(decobsmt_device::bsmt_reset_w));
map(0x2002, 0x2003).r(FUNC(decobsmt_device::bsmt_comms_r));
map(0x2006, 0x2007).r(FUNC(decobsmt_device::bsmt_status_r));
@@ -29,12 +26,12 @@ void decobsmt_device::decobsmt_map(address_map &map)
void decobsmt_device::bsmt_map(address_map &map)
{
- map(0x000000, 0xffffff).rom().region(":bsmt", 0);
+ map(0x000000, 0xffffff).rom().region("bsmt", 0);
}
void decobsmt_device::bsmt_ready_callback()
{
- m_ourcpu->set_input_line(M6809_IRQ_LINE, ASSERT_LINE); /* BSMT is ready */
+ m_ourcpu->set_input_line(M6809_IRQ_LINE, ASSERT_LINE); // BSMT is ready
}
//**************************************************************************
@@ -52,15 +49,13 @@ void decobsmt_device::device_add_mconfig(machine_config &config)
{
MC6809E(config, m_ourcpu, XTAL(24'000'000) / 12); // 68B09E U6 (E & Q = 2 MHz according to manual)
m_ourcpu->set_addrmap(AS_PROGRAM, &decobsmt_device::decobsmt_map);
- m_ourcpu->set_periodic_int(FUNC(decobsmt_device::decobsmt_firq_interrupt), attotime::from_hz(489)); /* Fixed FIRQ of 489Hz as measured on real (pinball) machine */
+ m_ourcpu->set_periodic_int(FUNC(decobsmt_device::decobsmt_firq_interrupt), attotime::from_hz(489)); // Fixed FIRQ of 489Hz as measured on real (pinball) machine
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
BSMT2000(config, m_bsmt, XTAL(24'000'000));
m_bsmt->set_addrmap(0, &decobsmt_device::bsmt_map);
m_bsmt->set_ready_callback(FUNC(decobsmt_device::bsmt_ready_callback));
- m_bsmt->add_route(0, "lspeaker", 1.0);
- m_bsmt->add_route(1, "rspeaker", 1.0);
+ m_bsmt->add_route(0, *this, 1.0, AUTO_ALLOC_INPUT, 0);
+ m_bsmt->add_route(1, *this, 1.0, AUTO_ALLOC_INPUT, 1);
}
//**************************************************************************
@@ -73,8 +68,12 @@ void decobsmt_device::device_add_mconfig(machine_config &config)
decobsmt_device::decobsmt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, DECOBSMT, tag, owner, clock)
- , m_ourcpu(*this, M6809_TAG)
- , m_bsmt(*this, BSMT_TAG)
+ , device_mixer_interface(mconfig, *this, 2)
+ , m_ourcpu(*this, "soundcpu")
+ , m_bsmt(*this, "bsmt")
+ , m_bsmt_latch(0)
+ , m_bsmt_reset(0)
+ , m_bsmt_comms(0)
{
}
@@ -84,6 +83,9 @@ decobsmt_device::decobsmt_device(const machine_config &mconfig, const char *tag,
void decobsmt_device::device_start()
{
+ save_item(NAME(m_bsmt_latch));
+ save_item(NAME(m_bsmt_reset));
+ save_item(NAME(m_bsmt_comms));
}
//-------------------------------------------------
@@ -99,7 +101,7 @@ void decobsmt_device::device_reset()
void decobsmt_device::bsmt_reset_w(u8 data)
{
- uint8_t diff = data ^ m_bsmt_reset;
+ uint8_t const diff = data ^ m_bsmt_reset;
m_bsmt_reset = data;
if ((diff & 0x80) && !(data & 0x80))
m_bsmt->reset();
@@ -114,7 +116,7 @@ void decobsmt_device::bsmt1_w(offs_t offset, u8 data)
{
m_bsmt->write_reg(offset ^ 0xff);
m_bsmt->write_data((m_bsmt_latch << 8) | data);
- m_ourcpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE); /* BSMT is not ready */
+ m_ourcpu->set_input_line(M6809_IRQ_LINE, CLEAR_LINE); // BSMT is not ready
}
u8 decobsmt_device::bsmt_status_r()
diff --git a/src/mame/shared/decobsmt.h b/src/mame/shared/decobsmt.h
index 5e63b59076c67..afc2d05ce2dd1 100644
--- a/src/mame/shared/decobsmt.h
+++ b/src/mame/shared/decobsmt.h
@@ -8,47 +8,47 @@
#include "cpu/m6809/m6809.h"
#include "sound/bsmt2000.h"
-#define DECOBSMT_TAG "decobsmt"
-
//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
-class decobsmt_device : public device_t
+class decobsmt_device : public device_t, public device_mixer_interface
{
public:
// construction/destruction
decobsmt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- void bsmt_reset_w(u8 data);
- u8 bsmt_status_r();
- void bsmt0_w(u8 data);
- void bsmt1_w(offs_t offset, u8 data);
u8 bsmt_comms_r();
void bsmt_comms_w(u8 data);
void bsmt_reset_line(int state);
- void bsmt_map(address_map &map);
- void decobsmt_map(address_map &map);
protected:
- // device-level overrides
- virtual void device_start() override;
- virtual void device_reset() override;
- virtual void device_add_mconfig(machine_config &config) override;
+ // device_t implementation
+ virtual void device_start() override ATTR_COLD;
+ virtual void device_reset() override ATTR_COLD;
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
private:
required_device m_ourcpu;
required_device m_bsmt;
- uint8_t m_bsmt_latch = 0;
- uint8_t m_bsmt_reset = 0;
- uint8_t m_bsmt_comms = 0;
+ uint8_t m_bsmt_latch;
+ uint8_t m_bsmt_reset;
+ uint8_t m_bsmt_comms;
INTERRUPT_GEN_MEMBER(decobsmt_firq_interrupt);
+ void bsmt_reset_w(u8 data);
+ u8 bsmt_status_r();
+ void bsmt0_w(u8 data);
+ void bsmt1_w(offs_t offset, u8 data);
+
void bsmt_ready_callback();
+
+ void bsmt_map(address_map &map) ATTR_COLD;
+ void decobsmt_map(address_map &map) ATTR_COLD;
};
diff --git a/src/mame/sinclair/sprinter.cpp b/src/mame/sinclair/sprinter.cpp
index 3fdc45ed7516e..9e4f9b1b01ebe 100644
--- a/src/mame/sinclair/sprinter.cpp
+++ b/src/mame/sinclair/sprinter.cpp
@@ -123,6 +123,7 @@ class sprinter_state : public spectrum_128_state
void update_cpu();
virtual TIMER_CALLBACK_MEMBER(irq_on) override;
+ virtual TIMER_CALLBACK_MEMBER(irq_off) override;
TIMER_CALLBACK_MEMBER(cbl_tick);
u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@@ -258,6 +259,7 @@ class sprinter_state : public spectrum_128_state
u8 m_isa_addr_ext;
std::pair m_hold;
u8 m_kbd_data_cnt;
+ bool m_in_out_cmd;
bool m_ata_selected; // 0-primary, 1-secondary
u8 m_ata_data_latch;
@@ -281,6 +283,7 @@ class sprinter_state : public spectrum_128_state
u8 m_cbl_wa;
bool m_cbl_wae;
emu_timer *m_cbl_timer = nullptr;
+ bool m_hold_irq;
};
void sprinter_state::update_memory()
@@ -858,7 +861,7 @@ void sprinter_state::dcp_w(offs_t offset, u8 data)
void sprinter_state::accel_control_r(u8 data)
{
const bool is_prefix = (data == 0xcb) || (data == 0xdd) || (data == 0xed) || (data == 0xfd);
- if (!is_prefix && !m_prf_d) // neither prefix nor prefixed
+ if (acc_ena() && !is_prefix && !m_prf_d) // neither prefix nor prefixed
{
if ((((data & 0x1b) == 0x00) || ((data & 0x1b) == 0x09) || ((data & 0x1b) == 0x12) || ((data & 0x1b) == 0x1b))
&& (((data & 0xe4) == 0x40) || ((data & 0xe4) == 0x64)))
@@ -1087,7 +1090,7 @@ void sprinter_state::ram_w(offs_t offset, u8 data)
vram_w(vxa, data);
}
}
- else if ((m_acc_dir != OFF) && (page == 0xfd))
+ else if ((m_acc_dir == COPY) && (page == 0xfd))
{
if (!cbl_mode16())
m_cbl_data[m_cbl_wa++] = (data << 8);
@@ -1195,8 +1198,12 @@ u8 sprinter_state::m1_r(offs_t offset)
u8 data = m_program.read_byte(offset);
m_z80_m1 = 0;
- if (!machine().side_effects_disabled() && acc_ena())
+ if (!machine().side_effects_disabled())
+ {
+ if (!m_prf_d)
+ m_in_out_cmd = (data & 0xf7) == 0xd3; // d3/db
accel_control_r(data);
+ }
return data;
}
@@ -1255,6 +1262,8 @@ void sprinter_state::init_taps()
{
if (!machine().side_effects_disabled())
{
+ if (!m_z80_m1 && m_in_out_cmd && data == 0x1f)
+ data = 0x0f;
if (!(m_pages[BIT(offset, 14, 2)] & (BANK_FASTRAM_MASK | BANK_ISA_MASK))) // ROM+RAM
do_cpu_wait();
if(!m_z80_m1 && acc_ena() && (m_acc_dir != OFF))
@@ -1263,6 +1272,8 @@ void sprinter_state::init_taps()
});
prg.install_write_tap(0x10000, 0x1ffff, "accel_write", [this](offs_t offset, u8 &data, u8 mem_mask)
{
+ if (!m_z80_m1 && m_in_out_cmd && data == 0x1f)
+ data = 0x0f;
if (!(m_pages[BIT(offset, 14, 2)] & 0xff00)) // ROM only, RAM(w) applies waits manually
do_cpu_wait();
if (!m_z80_m1 && acc_ena() && (m_acc_dir != OFF))
@@ -1304,6 +1315,7 @@ void sprinter_state::machine_start()
save_item(NAME(m_isa_addr_ext));
//save_item(NAME(m_hold));
save_item(NAME(m_kbd_data_cnt));
+ save_item(NAME(m_in_out_cmd));
save_item(NAME(m_ata_selected));
save_item(NAME(m_ata_data_latch));
save_item(NAME(m_skip_write));
@@ -1321,6 +1333,7 @@ void sprinter_state::machine_start()
save_item(NAME(m_cbl_cnt));
save_item(NAME(m_cbl_wa));
save_item(NAME(m_cbl_wae));
+ save_item(NAME(m_hold_irq));
m_beta->enable();
@@ -1376,10 +1389,12 @@ void sprinter_state::machine_reset()
m_cbl_xx = 0;
m_cbl_wa = 0;
+ m_hold_irq = 0;
m_ata_selected = 0;
m_kbd_data_cnt = 0;
+ m_in_out_cmd = false;
m_turbo_hard = 1;
if (m_conf_loading)
@@ -1441,7 +1456,7 @@ void sprinter_state::video_start()
static void sprinter_ata_devices(device_slot_interface &device)
{
device.option_add("hdd", IDE_HARDDISK);
- device.option_add("cdrom", ATAPI_FIXED_CDROM);
+ device.option_add("cdrom", ATAPI_FIXED_CDROM); // TODO must be ATAPI_CDROM
device.option_add("dvdrom", ATAPI_FIXED_DVDROM);
}
@@ -1506,10 +1521,21 @@ void sprinter_state::do_cpu_wait(bool is_io)
TIMER_CALLBACK_MEMBER(sprinter_state::irq_on)
{
- m_maincpu->pulse_input_line(INPUT_LINE_IRQ0, attotime::from_ticks(26, m_maincpu->clock()));
+ if (!m_hold_irq)
+ {
+ m_maincpu->set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
+ m_irq_off_timer->adjust(attotime::from_ticks(32, m_maincpu->unscaled_clock()));
+ }
update_int(false);
}
+TIMER_CALLBACK_MEMBER(sprinter_state::irq_off)
+{
+ m_irq_off_timer->adjust(attotime::never); // in case it's called from INT Ack, not by timer itself
+ m_hold_irq = 0;
+ m_maincpu->set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
+}
+
TIMER_CALLBACK_MEMBER(sprinter_state::cbl_tick)
{
u16 left = m_cbl_data[m_cbl_cnt++];
@@ -1523,7 +1549,11 @@ TIMER_CALLBACK_MEMBER(sprinter_state::cbl_tick)
m_rdac->write(right);
if (cbl_int_ena() && !(m_cbl_cnt & 0x7f))
+ {
+ m_hold_irq = 1;
m_maincpu->set_input_line(INPUT_LINE_IRQ0, ASSERT_LINE);
+ m_irq_off_timer->adjust(attotime::never);
+ }
}
INPUT_CHANGED_MEMBER(sprinter_state::turbo_changed)
@@ -1692,7 +1722,7 @@ void sprinter_state::sprinter(machine_config &config)
m_maincpu->set_io_map(&sprinter_state::map_io);
m_maincpu->nomreq_cb().set_nop();
m_maincpu->set_irq_acknowledge_callback(NAME([](device_t &, int){ return 0xff; }));
- m_maincpu->irqack_cb().set_inputline(m_maincpu, INPUT_LINE_IRQ0, CLEAR_LINE);
+ m_maincpu->irqack_cb().set(FUNC(sprinter_state::irq_off));
ISA8(config, m_isa[0], 0);
m_isa[0]->set_custom_spaces();
diff --git a/src/mame/sinclair/tsconf.cpp b/src/mame/sinclair/tsconf.cpp
index 82fd1937a492b..dac2edb06ea5e 100644
--- a/src/mame/sinclair/tsconf.cpp
+++ b/src/mame/sinclair/tsconf.cpp
@@ -313,6 +313,9 @@ void tsconf_state::tsconf(machine_config &config)
PALETTE(config, "palette", FUNC(tsconf_state::tsconf_palette), 256);
m_screen->set_raw(14_MHz_XTAL / 2, 448, with_hblank(0), 448, 320, with_vblank(0), 320);
+ m_screen->set_screen_update(FUNC(tsconf_state::screen_update));
+ m_screen->set_no_palette();
+
subdevice("gfxdecode")->set_info(gfx_tsconf);
RAM(config, m_cram).set_default_size("512").set_default_value(0);
RAM(config, m_sfile).set_default_size("512").set_default_value(0); // 85*6
diff --git a/src/mame/sinclair/tsconf.h b/src/mame/sinclair/tsconf.h
index c247d6ce87dc3..31f07e0a788b9 100644
--- a/src/mame/sinclair/tsconf.h
+++ b/src/mame/sinclair/tsconf.h
@@ -51,9 +51,9 @@ class tsconf_state : public spectrum_128_state
static constexpr u16 with_vblank(u16 pixclocks) { return 32 + pixclocks; }
protected:
- virtual void video_start() override;
- virtual void machine_start() override;
- virtual void machine_reset() override;
+ virtual void video_start() override ATTR_COLD;
+ virtual void machine_start() override ATTR_COLD;
+ virtual void machine_reset() override ATTR_COLD;
virtual TIMER_CALLBACK_MEMBER(irq_off) override;
TIMER_CALLBACK_MEMBER(irq_frame);
@@ -152,11 +152,12 @@ class tsconf_state : public spectrum_128_state
virtual u8 get_border_color(u16 hpos = ~0, u16 vpos = ~0) override;
u32 get_vpage_offset();
virtual rectangle get_screen_area() override;
- virtual void spectrum_update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) override;
- void tsconf_UpdateZxScreenBitmap(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- void tsconf_UpdateTxtBitmap(bitmap_ind16 &bitmap, const rectangle &cliprect);
- void tsconf_UpdateGfxBitmap(bitmap_ind16 &bitmap, const rectangle &cliprect);
- void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+ void tsconf_update_screen(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+ void tsconf_draw_zx(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+ void tsconf_draw_txt(bitmap_rgb32 &bitmap, const rectangle &cliprect);
+ void tsconf_draw_gfx(bitmap_rgb32 &bitmap, const rectangle &cliprect);
+ void draw_sprites(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void tsconf_palette(palette_device &palette) const;
void tsconf_update_video_mode();
diff --git a/src/mame/sinclair/tsconf_m.cpp b/src/mame/sinclair/tsconf_m.cpp
index 3c15f870f27fc..bbda418f46ebd 100644
--- a/src/mame/sinclair/tsconf_m.cpp
+++ b/src/mame/sinclair/tsconf_m.cpp
@@ -112,6 +112,33 @@ u32 tsconf_state::get_vpage_offset()
return PAGE4K(m_regs[V_PAGE] & ((VM == VM_16C) ? 0xf8 : 0xf0));
}
+u32 tsconf_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+{
+ rectangle scr = get_screen_area();
+ rectangle vis = screen.visible_area();
+ if (vis != scr)
+ {
+ rectangle bsides[4] = {
+ rectangle(vis.left(), vis.right(), vis.top(), scr.top() - 1),
+ rectangle(vis.left(), scr.left() - 1, scr.top(), scr.bottom()),
+ rectangle(scr.right() + 1, vis.right(), scr.top(), scr.bottom()),
+ rectangle(vis.left(), vis.right(), scr.bottom() + 1, vis.bottom())
+ };
+ for (auto i = 0; i < 4; i++)
+ {
+ rectangle border = bsides[i] & cliprect;
+ if (!border.empty())
+ bitmap.fill(m_palette->pen_color(get_border_color()), border);
+ }
+ }
+
+ scr &= cliprect;
+ if (!scr.empty())
+ tsconf_update_screen(screen, bitmap, scr);
+
+ return 0;
+}
+
/*
Layered as:
+ Border - already updated with screen_update_spectrum()
@@ -122,32 +149,38 @@ Layered as:
+ Tiles 1
+ Sprites 2
*/
-void tsconf_state::spectrum_update_screen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+void tsconf_state::tsconf_update_screen(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
if (!BIT(m_regs[V_CONFIG], 5))
{
if (VM == VM_ZX)
- tsconf_UpdateZxScreenBitmap(screen, bitmap, cliprect);
+ tsconf_draw_zx(screen, bitmap, cliprect);
else if (VM == VM_TXT)
- tsconf_UpdateTxtBitmap(bitmap, cliprect);
+ tsconf_draw_txt(bitmap, cliprect);
else
- tsconf_UpdateGfxBitmap(bitmap, cliprect);
+ tsconf_draw_gfx(bitmap, cliprect);
}
else
{
- bitmap.fill(get_border_color(), cliprect);
+ bitmap.fill(m_palette->pen_color(get_border_color()), cliprect);
}
if (!BIT(m_regs[V_CONFIG], 4))
{
screen.priority().fill(0, cliprect);
if (BIT(m_regs[TS_CONFIG], 5))
- m_ts_tilemap[TM_TILES0]->draw(screen, bitmap, cliprect,
- BIT(m_regs[TS_CONFIG], 2) ? TILEMAP_DRAW_ALL_CATEGORIES : TILEMAP_DRAW_CATEGORY(1), 1);
+ {
+ m_ts_tilemap[TM_TILES0]->draw(
+ screen, bitmap, cliprect,
+ BIT(m_regs[TS_CONFIG], 2) ? TILEMAP_DRAW_ALL_CATEGORIES : TILEMAP_DRAW_CATEGORY(1), 1);
+ }
if (BIT(m_regs[TS_CONFIG], 6))
- m_ts_tilemap[TM_TILES1]->draw(screen, bitmap, cliprect,
- BIT(m_regs[TS_CONFIG], 3) ? TILEMAP_DRAW_ALL_CATEGORIES : TILEMAP_DRAW_CATEGORY(1), 2);
+ {
+ m_ts_tilemap[TM_TILES1]->draw(
+ screen, bitmap, cliprect,
+ BIT(m_regs[TS_CONFIG], 3) ? TILEMAP_DRAW_ALL_CATEGORIES : TILEMAP_DRAW_CATEGORY(1), 2);
+ }
if (BIT(m_regs[TS_CONFIG], 7))
{
@@ -159,7 +192,7 @@ void tsconf_state::spectrum_update_screen(screen_device &screen, bitmap_ind16 &b
}
}
-void tsconf_state::tsconf_UpdateZxScreenBitmap(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+void tsconf_state::tsconf_draw_zx(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
u8 pal_offset = m_regs[PAL_SEL] << 4;
u8 *screen_location = m_ram->pointer() + PAGE4K(m_regs[V_PAGE]);
@@ -172,7 +205,7 @@ void tsconf_state::tsconf_UpdateZxScreenBitmap(screen_device &screen, bitmap_ind
u16 y = vpos - get_screen_area().top();
u8 *scr = &screen_location[((y & 7) << 8) | ((y & 0x38) << 2) | ((y & 0xc0) << 5) | (x >> 3)];
u8 *attr = &attrs_location[((y & 0xf8) << 2) | (x >> 3)];
- u16 *pix = &(bitmap.pix(vpos, hpos));
+ u32 *pix = &(bitmap.pix(vpos, hpos));
while (hpos <= cliprect.right())
{
u16 ink = pal_offset | ((*attr >> 3) & 0x08) | (*attr & 0x07);
@@ -180,14 +213,14 @@ void tsconf_state::tsconf_UpdateZxScreenBitmap(screen_device &screen, bitmap_ind
u8 pix8 = (invert_attrs && (*attr & 0x80)) ? ~*scr : *scr;
for (u8 b = 0x80 >> (x & 0x07); b != 0 && hpos <= cliprect.right(); b >>= 1, x++, hpos++)
- *pix++ = (pix8 & b) ? ink : pap;
+ *pix++ = m_palette->pen_color((pix8 & b) ? ink : pap);
scr++;
attr++;
}
}
}
-void tsconf_state::tsconf_UpdateTxtBitmap(bitmap_ind16 &bitmap, const rectangle &cliprect)
+void tsconf_state::tsconf_draw_txt(bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
u8 *font_location = m_ram->pointer() + PAGE4K(m_regs[V_PAGE] ^ 0x01);
u8 pal_offset = m_regs[PAL_SEL] << 4;
@@ -200,20 +233,20 @@ void tsconf_state::tsconf_UpdateTxtBitmap(bitmap_ind16 &bitmap, const rectangle
// TODO? u16 x_offset = OFFS_512(G_X_OFFS_L);
u8 *text_location = m_ram->pointer() + PAGE4K(m_regs[V_PAGE]) + (y_offset / 8 * 256 + x / 8);
- u16 *pix = &(bitmap.pix(vpos, hpos));
+ u32 *pix = &(bitmap.pix(vpos, hpos));
while (hpos <= cliprect.right())
{
u8 font_color = *(text_location + 128) & 0x0f;
u8 bg_color = (*(text_location + 128) & 0xf0) >> 4;
u8 char_x = *(font_location + (*text_location * 8) + (y_offset % 8));
for (u8 b = 0x80 >> (x & 0x07); b != 0 && hpos <= cliprect.right(); b >>= 1, x++, hpos++)
- *pix++ = pal_offset | ((char_x & b) ? font_color : bg_color);
+ *pix++ = m_palette->pen_color(pal_offset | ((char_x & b) ? font_color : bg_color));
text_location++;
}
}
}
-void tsconf_state::tsconf_UpdateGfxBitmap(bitmap_ind16 &bitmap, const rectangle &cliprect)
+void tsconf_state::tsconf_draw_gfx(bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
u8 pal_offset = m_regs[PAL_SEL] << 4;
for (u16 vpos = cliprect.top(); vpos <= cliprect.bottom(); vpos++)
@@ -221,13 +254,13 @@ void tsconf_state::tsconf_UpdateGfxBitmap(bitmap_ind16 &bitmap, const rectangle
u16 y_offset = (OFFS_512(G_Y_OFFS_L) + m_gfx_y_frame_offset + vpos) & 0x1ff;
u16 x_offset = (OFFS_512(G_X_OFFS_L) + (cliprect.left() - get_screen_area().left())) & 0x1ff;
u8 *video_location = m_ram->pointer() + get_vpage_offset() + ((y_offset * 512 + x_offset) >> (2 - VM));
- u16 *bm = &(bitmap.pix(vpos, cliprect.left()));
+ u32 *bm = &(bitmap.pix(vpos, cliprect.left()));
s16 width = cliprect.width();
if (VM == VM_16C)
{
if (x_offset & 1)
{
- *bm++ = pal_offset | (*video_location++ & 0x0f);
+ *bm++ = m_palette->pen_color(pal_offset | (*video_location++ & 0x0f));
x_offset++;
width--;
}
@@ -236,9 +269,9 @@ void tsconf_state::tsconf_UpdateGfxBitmap(bitmap_ind16 &bitmap, const rectangle
if (x_offset == 512)
video_location -= 256;
u8 pix = *video_location++;
- *bm++ = pal_offset | (pix >> 4);
+ *bm++ = m_palette->pen_color(pal_offset | (pix >> 4));
if (width != 1)
- *bm++ = pal_offset | (pix & 0x0f);
+ *bm++ = m_palette->pen_color(pal_offset | (pix & 0x0f));
}
}
else // VM_256C
@@ -247,7 +280,7 @@ void tsconf_state::tsconf_UpdateGfxBitmap(bitmap_ind16 &bitmap, const rectangle
{
if (x_offset == 512)
video_location -= 512;
- *bm++ = *video_location++;
+ *bm++ = m_palette->pen_color(*video_location++);
}
}
}
@@ -262,7 +295,7 @@ SFILE Reg.16 7 6 5 4 3 2 1 0
4 R2L TNUM[7:0]
5 R2H SPAL[7:4] TNUM[11:8]
*/
-void tsconf_state::draw_sprites(screen_device &screen_d, bitmap_ind16 &bitmap, const rectangle &cliprect)
+void tsconf_state::draw_sprites(screen_device &screen_d, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
rectangle screen = get_screen_area();
@@ -303,15 +336,28 @@ void tsconf_state::draw_sprites(screen_device &screen_d, bitmap_ind16 &bitmap, c
u8 pal = BIT(*sinfo, 4, 4);
sinfo -= 11;
- u32 pmask = layer ? (layer == 1 ? GFX_PMASK_2 : 0) : (GFX_PMASK_1 | GFX_PMASK_2);
-
u8 tile_row = code / 64 + flipy * height8;
for (auto iy = y; iy <= y + height8 * 8; iy = iy + 8)
{
u8 tile_col = (code % 64) + flipx * width8;
for (auto ix = x; ix <= x + width8 * 8; ix = ix + 8)
{
- m_gfxdecode->gfx(TM_SPRITES)->prio_transpen(bitmap, cliprect, tmp_tile_oversized_to_code((tile_row % 64) * 64 + (tile_col % 64)), pal, flipx, flipy, ix, iy, screen_d.priority(), pmask, 0);
+ if (layer == 2)
+ {
+ m_gfxdecode->gfx(TM_SPRITES)->transpen(
+ bitmap, cliprect,
+ tmp_tile_oversized_to_code((tile_row % 64) * 64 + (tile_col % 64)),
+ pal, flipx, flipy, ix, iy,
+ 0);
+ }
+ else
+ {
+ m_gfxdecode->gfx(TM_SPRITES)->prio_transpen(
+ bitmap, cliprect,
+ tmp_tile_oversized_to_code((tile_row % 64) * 64 + (tile_col % 64)),
+ pal, flipx, flipy, ix, iy,
+ screen_d.priority(), GFX_PMASK_2 | (layer ? GFX_PMASK_1 : 0), 0);
+ }
tile_col += flipx ? -1 : 1;
}
tile_row += flipy ? -1 : 1;
@@ -412,8 +458,8 @@ void tsconf_state::sfile_write16(offs_t offset, u16 data)
u8 tsconf_state::tsconf_port_xx1f_r(offs_t offset) {
return m_beta->started() && m_beta->is_active()
- ? m_beta->status_r()
- : 0x00; // TODO kempston read
+ ? m_beta->status_r()
+ : 0x00; // TODO kempston read
}
void tsconf_state::tsconf_port_7ffd_w(u8 data)
@@ -637,8 +683,8 @@ u8 tsconf_state::tsconf_port_f7_r(offs_t offset)
{
// BFF7
return (m_port_f7_ext == PS2KEYBOARDS_LOG && m_glukrs->address_r() == 0xf0)
- ? m_keyboard->read()
- : m_glukrs->data_r();
+ ? m_keyboard->read()
+ : m_glukrs->data_r();
}
void tsconf_state::tsconf_port_f7_w(offs_t offset, u8 data)
@@ -849,8 +895,8 @@ TIMER_CALLBACK_MEMBER(tsconf_state::irq_scanline)
case G_Y_OFFS_L:
case G_Y_OFFS_H:
m_gfx_y_frame_offset = screen_vpos < get_screen_area().top()
- ? -get_screen_area().top()
- : -screen_vpos;
+ ? -get_screen_area().top()
+ : -screen_vpos;
break;
case T0_G_PAGE:
diff --git a/src/mame/sony/zn.h b/src/mame/sony/zn.h
index a6b8d5dc2f084..accc2f74ef4a9 100644
--- a/src/mame/sony/zn.h
+++ b/src/mame/sony/zn.h
@@ -21,7 +21,7 @@
#include "machine/7200fifo.h"
#include "machine/at28c16.h"
#include "machine/bankdev.h"
-#include "cat702.h"
+#include "machine/cat702.h"
#include "machine/gen_latch.h"
#include "machine/mb3773.h"
#include "machine/nvram.h"
diff --git a/src/mame/subsino/lastfght.cpp b/src/mame/subsino/lastfght.cpp
index aed6d6de575c6..e3c996c226e78 100644
--- a/src/mame/subsino/lastfght.cpp
+++ b/src/mame/subsino/lastfght.cpp
@@ -594,7 +594,7 @@ ROM_START( lastfght )
ROM_LOAD( "v100.u7", 0x000000, 0x100000, CRC(c134378c) SHA1(999c75f3a7890421cfd904a926ca377ee43a6825) )
ROM_REGION( 0x28, "eeprom", 0 )
- ROM_LOAD( "ds2430a.bin", 0x00, 0x28, CRC(622a8862) SHA1(fae60a326e6905aefc36275d505147e1860a71d0) BAD_DUMP ) // handcrafted to pass protection check
+ ROM_LOAD( "ds2430a.q3", 0x00, 0x28, CRC(af461d83) SHA1(bb8d25e9bb60e00e460e4b7e1855c735becaaa6d) )
ROM_END
void lastfght_state::init_lastfght()
@@ -605,7 +605,7 @@ void lastfght_state::init_lastfght()
rom[0x01b86 / 2] = 0x5670;
}
-} // Anonymous namespace
+} // anonymous namespace
GAME( 2000, lastfght, 0, lastfght, lastfght, lastfght_state, init_lastfght, ROT0, "Subsino", "Last Fighting", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_IMPERFECT_TIMING | MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/subsino/subsino.cpp b/src/mame/subsino/subsino.cpp
index 5bd30f1125a19..52c48f6725099 100644
--- a/src/mame/subsino/subsino.cpp
+++ b/src/mame/subsino/subsino.cpp
@@ -277,6 +277,7 @@ class subsino_state : public driver_device
void sharkpy(machine_config &config);
void victor5(machine_config &config);
void newhunterb(machine_config &config);
+ void newhunterd(machine_config &config);
void init_stbsub();
void init_stisub();
@@ -351,6 +352,7 @@ class subsino_state : public driver_device
void dinofmly_map(address_map &map);
void mtrainnv_map(address_map &map);
void newhunterb_map(address_map &map);
+ void newhunterd_map(address_map &map);
void ramdac_map(address_map &map);
void sharkpy_map(address_map &map);
void srider_map(address_map &map);
@@ -1027,6 +1029,30 @@ void subsino_state::newhunterb_map(address_map &map)
map(0x14000, 0x15fff).rom().region("program", 0x4000);
}
+void subsino_state::newhunterd_map(address_map &map)
+{
+ map(0x00000, 0x06fff).rom().region("maincpu", 0x0000); // 0x7000 - 0x9fff are 0xff filled
+ map(0x07000, 0x07fff).ram();
+ map(0x08000, 0x087ff).ram().w(FUNC(subsino_state::colorram_w)).share("colorram");
+ map(0x08800, 0x08fff).ram().w(FUNC(subsino_state::videoram_w)).share("videoram");
+ map(0x09000, 0x09002).r("ppi1", FUNC(i8255_device::read));
+ map(0x09004, 0x09006).r("ppi2", FUNC(i8255_device::read));
+ map(0x09008, 0x09008).rw(FUNC(subsino_state::out_c_r), FUNC(subsino_state::out_c_w));
+ map(0x09009, 0x09009).w(FUNC(subsino_state::out_b_w));
+ map(0x0900a, 0x0900a).w(FUNC(subsino_state::out_a_w));
+ map(0x0900c, 0x0900d).w("ymsnd", FUNC(ym3812_device::write));
+ map(0x0900e, 0x0900e).portr("INC");
+ map(0x0900f, 0x0900f).w(FUNC(subsino_state::tiles_offset_w));
+ map(0x09800, 0x09fff).ram();
+ map(0x0a000, 0x0dfff).rom().region("maincpu", 0xa000);
+ map(0x0f0c0, 0x0f0ff).ram().share("reel_scroll.2");
+ map(0x0f140, 0x0f17f).ram().share("reel_scroll.1");
+ map(0x0f180, 0x0f1bf).ram().share("reel_scroll.0");
+ map(0x0f800, 0x0f9ff).ram().w(FUNC(subsino_state::reel_ram_w<0>)).share("reel_ram.0");
+ map(0x0fa00, 0x0fbff).ram().w(FUNC(subsino_state::reel_ram_w<1>)).share("reel_ram.1");
+ map(0x0fc00, 0x0fdff).ram().w(FUNC(subsino_state::reel_ram_w<2>)).share("reel_ram.2");
+}
+
void subsino_state::ramdac_map(address_map &map)
{
map(0x000, 0x3ff).rw("ramdac", FUNC(ramdac_device::ramdac_pal_r), FUNC(ramdac_device::ramdac_rgb666_w));
@@ -2957,6 +2983,13 @@ void subsino_state::newhunterb(machine_config &config)
m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::newhunterb_map);
}
+void subsino_state::newhunterd(machine_config &config)
+{
+ tisub(config);
+
+ m_maincpu->set_addrmap(AS_PROGRAM, &subsino_state::newhunterd_map);
+}
+
void subsino_state::stbsub(machine_config &config)
{
// basic machine hardware
@@ -3416,14 +3449,10 @@ ROM_END
- Sound: SM64 + SM65.
- 12.000 MHz xtal (only one xtal on the PCB).
- Five positions for banks of eight DIP switches, but four of them unpopulated (only one present on the PCB).
- - MCU with its surface scratched out.
+ - MCU with its surface scratched out. Appears to run in external ROM mode.
Direct recording from PCB for reference: https://youtu.be/0cFNFCqEEQo */
ROM_START( newhunterd )
- ROM_REGION( 0x04000, "maincpu", 0 )
- ROM_LOAD( "hd647180.bin", 0x00000, 0x04000, NO_DUMP )
- HD647180X_FAKE_INTERNAL_ROM
-
- ROM_REGION( 0x10000, "program", 0 )
+ ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "1_am27c512.u44", 0x00000, 0x10000, CRC(456bdb88) SHA1(7135584576f7761b4a0b4c66318cd0cb649eeb93) )
ROM_REGION( 0x40000, "tilemap", 0 )
@@ -3442,10 +3471,10 @@ ROM_START( newhunterd )
ROM_LOAD( "3_m27512.u43", 0x04000, 0x04000, CRC(44933beb) SHA1(a19ed785cc3b38c2a2a6a08e9d639361ee118343) )
ROM_IGNORE(0xc000)
- ROM_REGION( 0x00300, "proms", 0 )
- ROM_LOAD( "n82s129an.u67", 0x00000, 0x00100, BAD_DUMP CRC(69af17fc) SHA1(38546f5665cf731195ac384aca182c56884333f0) ) // Not dumped on this set
- ROM_LOAD( "n82s129an.u68", 0x00100, 0x00100, BAD_DUMP CRC(4b5f288a) SHA1(b6b9f9067afe93bd13ea17311484e2a2af01a0ed) ) // Not dumped on this set
- ROM_LOAD( "n82s129an.u69", 0x00200, 0x00100, BAD_DUMP CRC(a1c0d069) SHA1(794df68451525901ebd5895feb26fcda2c517c3f) ) // Not dumped on this set
+ ROM_REGION( 0x00300, "proms", 0 ) // Not dumped for this set, the ones from newhunterb seem to fit
+ ROM_LOAD( "n82s129an.u67", 0x00000, 0x00100, BAD_DUMP CRC(971843e5) SHA1(4cb5fc1085503dae2f2f02eb49cca051ac84b890) )
+ ROM_LOAD( "n82s129an.u68", 0x00100, 0x00100, BAD_DUMP CRC(b4bd872c) SHA1(c0f9fe68186636d6d6bc6f81415459631cf38edd) )
+ ROM_LOAD( "n82s129an.u69", 0x00200, 0x00100, BAD_DUMP CRC(db99f6da) SHA1(d281a2fa06f1890ef0b1c4d099e6828827db14fd) )
ROM_REGION( 0x00045c, "plds", 0 )
ROM_LOAD( "palce16v8h.u61", 0x00000, 0x00117, NO_DUMP )
@@ -4396,8 +4425,8 @@ GAMEL( 1992, newhunter, tisub, tisub, tisub, subsino_state, init_tis
GAMEL( 1993, newhunterb, tisub, newhunterb, tisub, subsino_state, init_newhunterb, ROT0, "bootleg", "New HUNTer (bootleg, set 1)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING, layout_tisubb )
GAMEL( 1993, newhunterc, tisub, newhunterb, tisub, subsino_state, init_newhunterc, ROT0, "bootleg", "New HUNTer (bootleg, set 2)", MACHINE_NOT_WORKING, layout_tisubb ) // 1989 on screen, but "Copyright 1993 SubSino Corp. Taipei, Taiwan." on program ROM
-GAMEL( 1993, newhunterd, tisub, newhunterb, tisub, subsino_state, init_newhunterc, ROT0, "bootleg", "New HUNTer (bootleg, set 3)", MACHINE_NOT_WORKING, layout_tisubb )
-GAMEL( 1998, ndongmul, 0, newhunterb, tisub, subsino_state, init_newhunterc, ROT0, "Hyoja Game", "New DongmulDongmul", MACHINE_NOT_WORKING, layout_tisubb )
+GAMEL( 1993, newhunterd, tisub, newhunterd, tisub, subsino_state, empty_init, ROT0, "bootleg", "New HUNTer (bootleg, set 3)", MACHINE_NOT_WORKING, layout_tisubb ) // reel GFX don't appear, inputs
+GAMEL( 1998, ndongmul, 0, newhunterb, tisub, subsino_state, init_newhunterc, ROT0, "Hyoja Game", "New DongmulDongmul", MACHINE_NOT_WORKING, layout_tisubb ) // hangs after a while, bad reels GFX loading / decode
GAMEL( 1991, crsbingo, 0, crsbingo, crsbingo, subsino_state, init_crsbingo, ROT0, "Subsino", "Poker Carnival", 0, layout_crsbingo )
diff --git a/src/mame/tomy/tomy_princ.cpp b/src/mame/tomy/tomy_princ.cpp
index 06657bede3b50..46ff7766beec5 100644
--- a/src/mame/tomy/tomy_princ.cpp
+++ b/src/mame/tomy/tomy_princ.cpp
@@ -81,15 +81,17 @@ class tomy_princ_state : public driver_device
required_device m_maincpu;
required_device m_scantimer;
+ virtual void machine_start() override;
virtual void machine_reset() override;
TIMER_DEVICE_CALLBACK_MEMBER(scan_interrupt);
+ DEVICE_IMAGE_LOAD_MEMBER(cart_load);
void princ_map(address_map &map);
u8 read_gpu_status();
- uint32_t screen_update_tomy_princ(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
+ u32 screen_update_tomy_princ(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
bool bFirstPort8Read = false;
};
@@ -106,6 +108,15 @@ TIMER_DEVICE_CALLBACK_MEMBER(tomy_princ_state::scan_interrupt)
m_maincpu->tin1_w(CLEAR_LINE);
}
+void tomy_princ_state::machine_start()
+{
+ if (m_cart->exists())
+ {
+ memory_region *const cart_rom = m_cart->memregion("rom");
+ m_maincpu->space(AS_PROGRAM).install_rom(0x800000, 0x87ffff, cart_rom->base());
+ }
+}
+
void tomy_princ_state::machine_reset()
{
bFirstPort8Read = true;
@@ -122,11 +133,62 @@ u8 tomy_princ_state::read_gpu_status()
return 0x00;
}
-uint32_t tomy_princ_state::screen_update_tomy_princ(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
+u32 tomy_princ_state::screen_update_tomy_princ(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
return 0;
}
+DEVICE_IMAGE_LOAD_MEMBER(tomy_princ_state::cart_load)
+{
+ u64 length;
+ memory_region *cart_rom = nullptr;
+ if (m_cart->loaded_through_softlist())
+ {
+ cart_rom = m_cart->memregion("rom");
+ if (!cart_rom)
+ {
+ return std::make_pair(image_error::BADSOFTWARE, "Software list item has no 'rom' data area");
+ }
+ length = cart_rom->bytes();
+ }
+ else
+ {
+ length = m_cart->length();
+ }
+
+ if (!length)
+ {
+ return std::make_pair(image_error::INVALIDLENGTH, "Cartridges must not be empty");
+ }
+ if (length & 1)
+ {
+ return std::make_pair(image_error::INVALIDLENGTH, "Unsupported cartridge size (must be a multiple of 2 bytes)");
+ }
+
+ if (!m_cart->loaded_through_softlist())
+ {
+ cart_rom = machine().memory().region_alloc(m_cart->subtag("rom"), length, 2, ENDIANNESS_LITTLE);
+ if (!cart_rom)
+ {
+ return std::make_pair(std::errc::not_enough_memory, std::string());
+ }
+
+ u16 *const base = reinterpret_cast(cart_rom->base());
+ if (m_cart->fread(base, length) != length)
+ {
+ return std::make_pair(std::errc::io_error, "Error reading cartridge file");
+ }
+
+ if (ENDIANNESS_NATIVE != ENDIANNESS_LITTLE)
+ {
+ for (u64 i = 0; (length / 2) > i; ++i)
+ base[i] = swapendian_int16(base[i]);
+ }
+ }
+
+ return std::make_pair(std::error_condition(), std::string());
+}
+
// fe2d25
void tomy_princ_state::princ_map(address_map &map)
{
@@ -158,6 +220,11 @@ void tomy_princ_state::tomy_princ(machine_config &config)
m_scantimer->configure_scanline(FUNC(tomy_princ_state::scan_interrupt), "screen", 0, 1);
GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "princ_cart");
+ m_cart->set_endian(ENDIANNESS_LITTLE);
+ m_cart->set_width(GENERIC_ROM16_WIDTH);
+ m_cart->set_device_load(FUNC(tomy_princ_state::cart_load));
+ m_cart->set_must_be_loaded(false);
+
SOFTWARE_LIST(config, "cart_list").set_original("princ");
}
diff --git a/src/mame/ussr/uknc.cpp b/src/mame/ussr/uknc.cpp
index e5d4a86627a22..78b0ba8d69c28 100644
--- a/src/mame/ussr/uknc.cpp
+++ b/src/mame/ussr/uknc.cpp
@@ -14,7 +14,10 @@ Status: both CPUs start in the weeds.
****************************************************************************/
#include "emu.h"
+#include "bus/qbus/qbus.h"
#include "cpu/t11/t11.h"
+#include "imagedev/cassette.h"
+
#include "emupal.h"
#include "screen.h"
@@ -27,6 +30,10 @@ class uknc_state : public driver_device
uknc_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
+ , m_subcpu(*this, "subcpu")
+ , m_qbus(*this, "qbus")
+ , m_cart(*this, "cart")
+ , m_cassette(*this, "cassette")
{ }
void uknc(machine_config &config);
@@ -36,6 +43,10 @@ class uknc_state : public driver_device
virtual void machine_start() override;
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
required_device m_maincpu;
+ required_device m_subcpu;
+ required_device m_qbus;
+ required_device m_cart;
+ required_device m_cassette;
void uknc_mem(address_map &map);
void uknc_sub_mem(address_map &map);
@@ -46,7 +57,6 @@ void uknc_state::uknc_mem(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0x7fff).ram();
- map(0x8000, 0xffff).rom().region("maincpu",0);
}
void uknc_state::uknc_sub_mem(address_map &map)
@@ -77,13 +87,28 @@ uint32_t uknc_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
void uknc_state::uknc(machine_config &config)
{
/* basic machine hardware */
- K1801VM2(config, m_maincpu, 8'000'000);
+ K1801VM2(config, m_maincpu, XTAL(16'000'000)/4); // external clock is /2 + internal divider /2
m_maincpu->set_initial_mode(0x8000);
m_maincpu->set_addrmap(AS_PROGRAM, &uknc_state::uknc_mem);
+ m_maincpu->set_disable();
+
+ QBUS(config, m_qbus, 0);
+ m_qbus->set_space(m_maincpu, AS_PROGRAM);
+ m_qbus->birq4().set_inputline(m_maincpu, t11_device::VEC_LINE);
+ QBUS_SLOT(config, "qbus" ":1", qbus_cards, nullptr);
+
+ K1801VM2(config, m_subcpu, XTAL(12'500'000)/4);
+ m_subcpu->set_addrmap(AS_PROGRAM, &uknc_state::uknc_sub_mem);
+ m_subcpu->set_initial_mode(0x8000);
- k1801vm2_device &subcpu(K1801VM2(config, "subcpu", 6'250'000));
- subcpu.set_initial_mode(0x8000);
- subcpu.set_addrmap(AS_PROGRAM, &uknc_state::uknc_sub_mem);
+ QBUS(config, m_cart, 0);
+ m_cart->set_space(m_subcpu, AS_PROGRAM);
+ m_cart->birq4().set_inputline(m_subcpu, t11_device::VEC_LINE);
+ QBUS_SLOT(config, "cart" ":1", qbus_cards, "mz");
+ QBUS_SLOT(config, "cart" ":2", qbus_cards, nullptr);
+
+ CASSETTE(config, m_cassette);
+ m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
@@ -98,10 +123,8 @@ void uknc_state::uknc(machine_config &config)
/* ROM definition */
ROM_START( uknc )
- ROM_REGION( 0x8000, "maincpu", 0 )
- ROM_LOAD( "uknc.rom", 0x0000, 0x8000, CRC(a1536994) SHA1(b3c7c678c41ffa9b37f654fbf20fef7d19e6407b))
-
- ROM_REGION( 0x8000, "subcpu", ROMREGION_ERASEFF )
+ ROM_REGION16_LE(0100000, "subcpu", ROMREGION_ERASE00)
+ ROM_LOAD("uknc.rom", 0x0000, 0x8000, CRC(a1536994) SHA1(b3c7c678c41ffa9b37f654fbf20fef7d19e6407b))
ROM_END
} // anonymous namespace
diff --git a/src/osd/sdl/video.cpp b/src/osd/sdl/video.cpp
index dddc4ef80e63c..8fe836aabf26c 100644
--- a/src/osd/sdl/video.cpp
+++ b/src/osd/sdl/video.cpp
@@ -62,7 +62,6 @@ bool sdl_osd_interface::video_init()
for (index = 0; index < video_config.numscreens; index++)
{
osd_window_config conf;
- memset(&conf, 0, sizeof(conf));
get_resolution(options().resolution(), options().resolution(index), &conf, true);
// create window ...
diff --git a/src/osd/strconv.cpp b/src/osd/strconv.cpp
index 737cb9fc1dc28..83fb8eaecae63 100644
--- a/src/osd/strconv.cpp
+++ b/src/osd/strconv.cpp
@@ -5,15 +5,19 @@
// strconv.cpp - Win32 string conversion
//
//============================================================
-#if defined(SDLMAME_WIN32) || defined(OSD_WINDOWS)
-#include
-#endif
+
+#include "strconv.h"
+
+#include "unicode.h"
+
#include
#include
-// MAMEOS headers
-#include "strconv.h"
-#if defined(SDLMAME_WIN32) || defined(OSD_WINDOWS)
+
+#if defined(_WIN32)
+
+#include
+
namespace osd::text {
@@ -254,20 +258,22 @@ std::string from_wstring(const WCHAR *s)
int osd_uchar_from_osdchar(char32_t *uchar, const char *osdchar, size_t count)
{
- // FIXME: Does not handle charsets that use variable lengths encodings such
- // as example GB18030 or UTF-8.
- // FIXME: Assumes all characters can be converted into a single wchar_t
- // which may not always be the case such as with surrogate pairs.
-
- WCHAR wch;
+ // handle UTF-8 internally
+ if (GetACP() == CP_UTF8)
+ return uchar_from_utf8(uchar, osdchar, count);
+
+ // FIXME: This makes multiple bad assumptions:
+ // * Assumes any character can be converted to a single wchar_t.
+ // * Assumes characters are either one byte or maximum number of bytes.
+ // * Doesn't handle nominal single-byte encodings with combining characters.
CPINFO cp;
-
if (!GetCPInfo(CP_ACP, &cp))
goto error;
// The multibyte char can't be bigger than the max character size
count = std::min(count, size_t(IsDBCSLeadByte(*osdchar) ? cp.MaxCharSize : 1));
+ WCHAR wch;
if (MultiByteToWideChar(CP_ACP, 0, osdchar, static_cast(count), &wch, 1) == 0)
goto error;
@@ -280,23 +286,27 @@ int osd_uchar_from_osdchar(char32_t *uchar, const char *osdchar, size_t count)
}
-#else
-#include "unicode.h"
+#else // _WIN32
+
//============================================================
// osd_uchar_from_osdchar
//============================================================
int osd_uchar_from_osdchar(char32_t *uchar, const char *osdchar, size_t count)
{
+ // FIXME: mbstowcs depends on global state
wchar_t wch;
-
count = mbstowcs(&wch, (char *)osdchar, 1);
- if (count != -1)
+ if (count != size_t(-1))
+ {
*uchar = wch;
+ return int(count);
+ }
else
+ {
*uchar = 0;
-
- return count;
+ return -1;
+ }
}
-#endif
+#endif // _WIN32