MAME 0.287
This commit is contained in:
sonninnos committed 2026-04-01 20:49:38 +03:00
commit 8a9612baff
1078 files changed
+90350 -67927

No files matched your search

+5
View File
@@ -827,6 +827,7 @@ float64 int32_to_float64( int32 a )
bits64 zSig;
if ( a == 0 ) return 0;
if ( a == (sbits32) 0x80000000 ) return packFloat64( 1, 0x41E, 0 );
zSign = ( a < 0 );
absA = zSign ? - a : a;
shiftCount = countLeadingZeros32( absA ) + 21;
@@ -852,6 +853,7 @@ floatx80 int32_to_floatx80( int32 a )
bits64 zSig;
if ( a == 0 ) return packFloatx80( 0, 0, 0 );
if ( a == (sbits32) 0x80000000 ) return packFloatx80( 1, 0x401E, 0 );
zSign = ( a < 0 );
absA = zSign ? - a : a;
shiftCount = countLeadingZeros32( absA ) + 32;
@@ -956,6 +958,9 @@ floatx80 int64_to_floatx80( int64 a )
int8 shiftCount;
if ( a == 0 ) return packFloatx80( 0, 0, 0 );
if ( a == (sbits64) LIT64( 0x8000000000000000 ) ) {
return packFloatx80( 1, 0x403E, 0x8000000000000000 );
}
zSign = ( a < 0 );
absA = zSign ? - a : a;
shiftCount = countLeadingZeros64( absA );
+1
View File
@@ -34,6 +34,7 @@ MAME's purpose is to preserve decades of software history. As electronic technol
* [MAME Forums on bannister.org](https://forums.bannister.org/ubbthreads.php?ubb=cfrm&c=5)
* [r/MAME](https://www.reddit.com/r/MAME/) on Reddit
* [MAMEWorld Forums](https://www.mameworld.info/ubbthreads/)
## Development
@@ -4,8 +4,8 @@
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.mamedev.mame"
android:versionCode="286"
android:versionName="0.286"
android:versionCode="287"
android:versionName="0.287"
android:installLocation="auto">
<!-- OpenGL ES 2.0 -->
+2 -2
View File
@@ -63,9 +63,9 @@ copyright = u'1997-2026, MAMEdev and contributors'
# built documents.
#
# The short X.Y version.
version = '0.286'
version = '0.287'
# The full version, including alpha/beta/rc tags.
release = '0.286'
release = '0.287'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
+3 -1
View File
@@ -616,7 +616,9 @@ Simplification rules
CALLC
~~~~~
Call a C function with the signature ``void (*)(void *)``.
Call a C function with the signature ``void (*)(T *)`` or
``void (*)(T &)`` (i.e. a function with a single pointer or reference
parameter that does not return a value).
+---------------------------+-----------------------------------------+
| Disassembly | Usage |
+2 -2
View File
@@ -259,6 +259,8 @@ the standard keyboard configuration.
Usually a tilt switch or shock sensor that will end the current game, reset
credits and/or reset the machine if the machine is knocked excessively hard
or moved. Most commonly found on pinball machines.
**O**
Door Interlock (A coin door for example)
**-** *(not numeric keypad)*
Volume Down
@@ -620,8 +622,6 @@ buttons.
High/big
**S**
Low/small
**O**
Door
.. _default-blackjack-keys:
+38 -38
View File
@@ -6,170 +6,170 @@ license:CC0-1.0
<softwarelist name="abc1600_flop" description="Luxor ABC 1600 diskettes">
<software name="abcenix">
<description>ABCenix 5.12</description>
<year>198?</year>
<description>ABCenix 5.18</description>
<year>1986</year>
<publisher>Luxor</publisher>
<part name="flop1" interface="floppy_5_25">
<feature name="part_id" value="mount"/>
<dataarea name="flop" size="598257">
<rom name="mount.td0" size="598257" crc="7057462d" sha1="20d271dd18c6a5beb60f52bd5fb28759c03d3193"/>
<dataarea name="flop" size="655360">
<rom name="ABCenix_mount_XXX.img" size="655360" crc="ae417a82" sha1="e62a770cab8b49b146d98470ea71cab40260bdb4"/>
</dataarea>
</part>
<part name="flop2" interface="floppy_5_25">
<feature name="part_id" value="grund1"/>
<dataarea name="flop" size="620712">
<rom name="grund1_7.td0" size="620712" crc="d6042354" sha1="7b24d57af344bba232502fe55c15350be9ccf389"/>
<dataarea name="flop" size="655360">
<rom name="ABCenix_grund_XXX_1(7).img" size="655360" crc="bc23eba9" sha1="ff79ba411526571c1478fab91cf3e9e8b310d683"/>
</dataarea>
</part>
<part name="flop3" interface="floppy_5_25">
<feature name="part_id" value="grund2"/>
<dataarea name="flop" size="623256">
<rom name="grund2_7.td0" size="623256" crc="952b99ee" sha1="3711180a6dab355ee892a23cb85f44d6f11eb9a2"/>
<dataarea name="flop" size="655360">
<rom name="ABCenix_grund_XXX_2(7).img" size="655360" crc="d790e468" sha1="afe44322410d413ee7d632a12ec23211ebb84a9e"/>
</dataarea>
</part>
<part name="flop4" interface="floppy_5_25">
<feature name="part_id" value="grund3"/>
<dataarea name="flop" size="609084">
<rom name="grund3_7.td0" size="609084" crc="f942e438" sha1="a6028a8e3abd1f6d38deffa88a83ec796dce31c4"/>
<dataarea name="flop" size="655360">
<rom name="ABCenix_grund_XXX_3(7).img" size="655360" crc="fc624bec" sha1="7bb81bdd6c95c7037bb4874b73a400efbc27bcf5"/>
</dataarea>
</part>
<part name="flop5" interface="floppy_5_25">
<feature name="part_id" value="grund4"/>
<dataarea name="flop" size="641648">
<rom name="grund4_7.td0" size="641648" crc="38537a0f" sha1="009593963177f27b803707ee7a5436d731939d49"/>
<dataarea name="flop" size="655360">
<rom name="ABCenix_grund_XXX_4(7).img" size="655360" crc="acb9307b" sha1="419f0ebcff5707d8ab934be24a711cb2b90d5032"/>
</dataarea>
</part>
<part name="flop6" interface="floppy_5_25">
<feature name="part_id" value="grund5"/>
<dataarea name="flop" size="630248">
<rom name="grund5_7.td0" size="630248" crc="e769e8cc" sha1="12d8055fb7a01e134b84d263bfd7e215296f24b4"/>
<dataarea name="flop" size="655360">
<rom name="ABCenix_grund_XXX_5(7).img" size="655360" crc="f247ee5c" sha1="6300c0b706a02b75bfdeee61124e3af607c29a54"/>
</dataarea>
</part>
<part name="flop7" interface="floppy_5_25">
<feature name="part_id" value="grund6"/>
<dataarea name="flop" size="639152">
<rom name="grund6_7.td0" size="639152" crc="020d2d7c" sha1="733b1b8abae20afd7aa95cb2ac19f3e2d0a7ed03"/>
<dataarea name="flop" size="655360">
<rom name="ABCenix_grund_XXX_6(7).img" size="655360" crc="23dab3a5" sha1="6a371bcf000ade3f92f7b53410bb359fe54043a7"/>
</dataarea>
</part>
<part name="flop8" interface="floppy_5_25">
<feature name="part_id" value="grund7"/>
<dataarea name="flop" size="580734">
<rom name="grund7_7.td0" size="580734" crc="a756f817" sha1="fcd2832af1abfebdcd813e6568a959b498b7a3b2"/>
<dataarea name="flop" size="655360">
<rom name="ABCenix_grund_XXX_7(7).img" size="655360" crc="29cb7b76" sha1="b9c406a60cb4dbfabc59aa0f3e66885a7461d0ca"/>
</dataarea>
</part>
<part name="flop9" interface="floppy_5_25">
<feature name="part_id" value="uppg5_18"/>
<dataarea name="flop" size="596556">
<rom name="uppg5_18.td0" size="596556" crc="0e6d00e2" sha1="77538ce8260ca52cb328d08901443fa2ba7ee778"/>
</dataarea>
</part>
<part name="flop10" interface="floppy_5_25">
<feature name="part_id" value="man1"/>
<dataarea name="flop" size="549680">
<rom name="man1_5.td0" size="549680" crc="92ffa304" sha1="538dd1bf3f7a39e5d48bd6887e887d387d362835"/>
</dataarea>
</part>
<part name="flop10" interface="floppy_5_25">
<part name="flop11" interface="floppy_5_25">
<feature name="part_id" value="man2"/>
<dataarea name="flop" size="479260">
<rom name="man2_5.td0" size="479260" crc="f2b62529" sha1="c9b75ff27571e07c7f09ceb92f27d9213f54bd1e"/>
</dataarea>
</part>
<part name="flop11" interface="floppy_5_25">
<part name="flop12" interface="floppy_5_25">
<feature name="part_id" value="man3"/>
<dataarea name="flop" size="605552">
<rom name="man3_5.td0" size="605552" crc="5ae669f0" sha1="efc10b69e190d3d088655c94b951399c3b322099"/>
</dataarea>
</part>
<part name="flop12" interface="floppy_5_25">
<part name="flop13" interface="floppy_5_25">
<feature name="part_id" value="man4"/>
<dataarea name="flop" size="588256">
<rom name="man4_5.td0" size="588256" crc="f6a9bb84" sha1="5554c9fbfbec73bd4e7934f5b8b405e872d9783c"/>
</dataarea>
</part>
<part name="flop13" interface="floppy_5_25">
<part name="flop14" interface="floppy_5_25">
<feature name="part_id" value="man5"/>
<dataarea name="flop" size="90914">
<rom name="man5_5.td0" size="90914" crc="b861fbe0" sha1="22a0306b3421106cdf5ed3ecdf250fb8b81e6f94"/>
</dataarea>
</part>
<part name="flop14" interface="floppy_5_25">
<part name="flop15" interface="floppy_5_25">
<feature name="part_id" value="utv1"/>
<dataarea name="flop" size="590991">
<rom name="utv1_9.td0" size="590991" crc="ff5f7d19" sha1="2683912f9d746ebda72d493b5bec8703280c7f0d"/>
</dataarea>
</part>
<part name="flop15" interface="floppy_5_25">
<part name="flop16" interface="floppy_5_25">
<feature name="part_id" value="utv2"/>
<dataarea name="flop" size="624001">
<rom name="utv2_9.td0" size="624001" crc="2bf7950f" sha1="73872a837143492b000113db7c15b159c5798190"/>
</dataarea>
</part>
<part name="flop16" interface="floppy_5_25">
<part name="flop17" interface="floppy_5_25">
<feature name="part_id" value="utv3"/>
<dataarea name="flop" size="624576">
<rom name="utv3_9.td0" size="624576" crc="eaba675e" sha1="ab0b5f606289b40fe9ff1af0d2e8acdcc0afb1f3"/>
</dataarea>
</part>
<part name="flop17" interface="floppy_5_25">
<part name="flop18" interface="floppy_5_25">
<feature name="part_id" value="utv4"/>
<dataarea name="flop" size="569901">
<rom name="utv4_9.td0" size="569901" crc="d5fd2c6c" sha1="1713b57efe0c72cd181ae70498a8d0ec8ab9d5ed"/>
</dataarea>
</part>
<part name="flop18" interface="floppy_5_25">
<part name="flop19" interface="floppy_5_25">
<feature name="part_id" value="utv5"/>
<dataarea name="flop" size="599249">
<rom name="utv5_9.td0" size="599249" crc="bb964b7a" sha1="cd88904ff7ccda7e338dd52ee5e663a38e29385d"/>
</dataarea>
</part>
<part name="flop19" interface="floppy_5_25">
<part name="flop20" interface="floppy_5_25">
<feature name="part_id" value="utv6"/>
<dataarea name="flop" size="594658">
<rom name="utv6_9.td0" size="594658" crc="c9a97dd0" sha1="d737c33e04bb74e8c79cab6c73c60b51c7a8e31b"/>
</dataarea>
</part>
<part name="flop20" interface="floppy_5_25">
<part name="flop21" interface="floppy_5_25">
<feature name="part_id" value="utv7"/>
<dataarea name="flop" size="577404">
<rom name="utv7_9.td0" size="577404" crc="04e6b1f8" sha1="35f5beaf3d753abce79ce398d931bdfb37bec9df"/>
</dataarea>
</part>
<part name="flop21" interface="floppy_5_25">
<part name="flop22" interface="floppy_5_25">
<feature name="part_id" value="utv8"/>
<dataarea name="flop" size="584170">
<rom name="utv8_9.td0" size="584170" crc="cb82267e" sha1="caf704ee999bb2169239b360aa16abac4016dbbb"/>
</dataarea>
</part>
<part name="flop22" interface="floppy_5_25">
<part name="flop23" interface="floppy_5_25">
<feature name="part_id" value="utv9"/>
<dataarea name="flop" size="382960">
<rom name="utv9_9.td0" size="382960" crc="1a5448a1" sha1="515f72dc556b1460f0e44ac12f7d8951eb86c94b"/>
</dataarea>
</part>
<part name="flop23" interface="floppy_5_25">
<feature name="part_id" value="uppg5_18"/>
<dataarea name="flop" size="596556">
<rom name="uppg5_18.td0" size="596556" crc="0e6d00e2" sha1="77538ce8260ca52cb328d08901443fa2ba7ee778"/>
</dataarea>
</part>
</software>
<software name="systest">
+7 -18
View File
@@ -1,32 +1,21 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
license:CC0
license:CC0-1.0
-->
<softwarelist name="abc1600_hdd" description="Luxor ABC 1600 hard disks">
<software name="micr1325a">
<description>Formatted Micropolis 1325A 69MB</description>
<year>198?</year>
<publisher>unknown</publisher>
<software name="abcenix">
<description>ABCenix 5.18</description>
<year>1986</year>
<publisher>Luxor</publisher>
<!-- Micropolis 1325A 69MB -->
<part name="hdd" interface="scsi_hdd">
<diskarea name="harddriv">
<disk name="micr1325a" sha1="683180e8ac8f3b097e9f5c1a6950544e6e65a4d1" writeable="yes" />
<disk name="abcenix518" sha1="17215ac3c63b8f46664c437a9e92189e69f3a2bb" writeable="yes" />
</diskarea>
</part>
</software>
<software name="necd5126a">
<description>Formatted NEC D5216A 20MB</description>
<year>198?</year>
<publisher>unknown</publisher>
<!-- NEC D5126A 20MB -->
<part name="hdd" interface="scsi_hdd">
<diskarea name="harddriv">
<disk name="necd5126a" sha1="541ffe714517afc29ded60778066b7be5538e08f" writeable="yes" />
</diskarea>
</part>
</software>
</softwarelist>
+566 -246
View File
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+4672 -3018
View File
File diff suppressed because it is too large. Load diff
+30 -40
View File
@@ -1464,10 +1464,10 @@ license:CC0-1.0
</software>
<software name="mercury">
<description>Mercury (version 1.0) (cleanly cracked)</description>
<description>Mercury (A-249 version 1.0) (trex crack)</description>
<year>1989</year>
<publisher>MECC</publisher>
<info name="partno" value="A249" />
<info name="partno" value="A-249" />
<info name="programmer" value="John J. Krenz" />
<info name="programmer" value="Brian Nesse" />
<info name="programmer" value="Michael Palmquist" />
@@ -1478,18 +1478,16 @@ license:CC0-1.0
<info name="usage" value="Requires a 1MB Apple IIgs ROM 01 or later." />
<sharedfeat name="compatibility" value="A2GS"/>
<!-- Dump released: 2021-08-13 -->
<!-- It requires a 1MB Apple IIgs ROM 01 or later. -->
<!-- "Mercury" is a 1989 desktop publishing program developed by John J. Krenz, Brian Nesse, Michael Palmquist, Steve Splinter, Michael Stein, and Paul Wenker, and distributed by MECC. -->
<!-- desktop publishing program -->
<!-- Protection: Bad block check for block $8 -->
<part name="flop1" interface="floppy_3_5">
<feature name="part_id" value="Disk 1 - System disk"/>
<feature name="part_id" value="Disk 1 - System"/>
<dataarea name="flop" size="819264">
<rom name="mercury v1.0 iigs - disk 1 - system (trex crack).2mg" size="819264" crc="d28c1950" sha1="aeef36625bfdd12e5a7df000222725a2126cfc5d"/>
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
<feature name="part_id" value="Disk 2 - Program disk"/>
<feature name="part_id" value="Disk 2 - Program"/>
<dataarea name="flop" size="819264">
<rom name="mercury v1.0 iigs - disk 2 - program (trex crack).2mg" size="819264" crc="2682521b" sha1="5fd3948bac00b1ca4e08c79ccb437483798f25a9"/>
</dataarea>
@@ -2132,10 +2130,10 @@ license:CC0-1.0
</software>
<software name="strybkwv">
<description>Storybook Weaver (version 1.0) (cleanly cracked)</description>
<description>Storybook Weaver (A-275 version 1.0) (trex crack)</description>
<year>1990</year>
<publisher>MECC</publisher>
<info name="partno" value="A275" />
<info name="partno" value="A-275" />
<info name="programmer" value="Charolyn Kapplinger" />
<info name="programmer" value="Patricia Korn" />
<info name="programmer" value="John J. Krenz" />
@@ -2146,18 +2144,16 @@ license:CC0-1.0
<info name="usage" value="Requires a 1MB Apple IIgs ROM 01 or later." />
<sharedfeat name="compatibility" value="A2GS"/>
<!-- Dump released: 2021-08-13 -->
<!-- It requires a 1MB Apple IIgs ROM 01 or later. -->
<!-- "Storybook Weaver" is a 1990 educational program developed by Charolyn Kapplinger, Patricia Korn, John J. Krenz, Brian S. Nesse, Jean Sharp, and Steve Zehm, and distributed by MECC. -->
<!-- educational program -->
<!-- Protection: Bad block check for block $8 -->
<part name="flop1" interface="floppy_3_5">
<feature name="part_id" value="Disk 1 - System disk"/>
<feature name="part_id" value="Disk 1 - System"/>
<dataarea name="flop" size="819264">
<rom name="storybook weaver v1.0 iigs - disk 1 - system (trex crack).2mg" size="819264" crc="c6acd3b2" sha1="814f84b31bab49e29f80797dced8bc8692055e4e"/>
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
<feature name="part_id" value="Disk 2 - Program disk"/>
<feature name="part_id" value="Disk 2 - Program"/>
<dataarea name="flop" size="819264">
<rom name="storybook weaver v1.0 iigs - disk 2 - program (trex crack).2mg" size="819264" crc="5bafb45c" sha1="ddb7117bb3e096be90f638e538c0551409131bec"/>
</dataarea>
@@ -2165,10 +2161,10 @@ license:CC0-1.0
</software>
<software name="strywvwa">
<description>Storybook Weaver - World of Adventure (version 1.0) (cleanly cracked)</description>
<description>Storybook Weaver: World of Adventure (A-276 version 1.0) (trex crack)</description>
<year>1991</year>
<publisher>MECC</publisher>
<info name="partno" value="A276" />
<info name="partno" value="A-276" />
<info name="programmer" value="Patricia Korn" />
<info name="programmer" value="Brian S. Nesse" />
<info name="programmer" value="Dee Dee Roedel " />
@@ -2177,18 +2173,16 @@ license:CC0-1.0
<info name="usage" value="Requires a 1MB Apple IIgs ROM 01 or later." />
<sharedfeat name="compatibility" value="A2GS"/>
<!-- Dump released: 2021-08-13 -->
<!-- It requires a 1MB Apple IIgs ROM 01 or later. -->
<!-- "Storybook Weaver: World of Adventure" is a 1991 educational program developed by Patricia Korn, Brian S. Nesse, Dee Dee Roedel & Jean Sharp, and distributed by MECC. -->
<!-- educational program -->
<!-- Protection: Bad block check for block $8 -->
<part name="flop1" interface="floppy_3_5">
<feature name="part_id" value="Disk 1 - System disk"/>
<feature name="part_id" value="Disk 1 - System"/>
<dataarea name="flop" size="819264">
<rom name="storybook weaver - world of adventure v1.0 iigs - disk 1 - system (trex crack).2mg" size="819264" crc="589e942d" sha1="25ee4d9872302c2f235e3d775a0536a426e610d5"/>
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
<feature name="part_id" value="Disk 2 - Program disk"/>
<feature name="part_id" value="Disk 2 - Program"/>
<dataarea name="flop" size="819264">
<rom name="storybook weaver - world of adventure v1.0 iigs - disk 2 - program (trex crack).2mg" size="819264" crc="03e3ce87" sha1="86aca233933b10f3f25cdae7692375e60c3f6650"/>
</dataarea>
@@ -2196,10 +2190,10 @@ license:CC0-1.0
</software>
<software name="strywvmb">
<description>Storybook Weaver - World of Make-Believe (version 1.0) (cleanly cracked)</description>
<description>Storybook Weaver: World of Make-Believe (A-298 version 1.0) (trex crack)</description>
<year>1991</year>
<publisher>MECC</publisher>
<info name="partno" value="A298" />
<info name="partno" value="A-298" />
<info name="programmer" value="Charolyn Kapplinger" />
<info name="programmer" value="Patricia Korn" />
<info name="programmer" value="Jean Sharp" />
@@ -2207,18 +2201,16 @@ license:CC0-1.0
<info name="usage" value="Requires a 1MB Apple IIgs ROM 01 or later." />
<sharedfeat name="compatibility" value="A2GS"/>
<!-- Dump released: 2021-08-13 -->
<!-- It requires a 1MB Apple IIgs ROM 01 or later. -->
<!-- "Storybook Weaver: World of Make-Believe" is a 1991 educational program developed by Charolyn Kapplinger, Patricia Korn, and Jean Sharp, and distributed by MECC. -->
<!-- educational program -->
<!-- Protection: Bad block check for block $8 -->
<part name="flop1" interface="floppy_3_5">
<feature name="part_id" value="Disk 1 - System disk"/>
<feature name="part_id" value="Disk 1 - System"/>
<dataarea name="flop" size="819264">
<rom name="storybook weaver - world of make-believe v1.0 iigs - disk 1 - system (trex crack).2mg" size="819264" crc="54e1fb99" sha1="3fc4031f0bda54e2c73ffc3f2ac8a17c1f73fc71"/>
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
<feature name="part_id" value="Disk 2 - Program disk"/>
<feature name="part_id" value="Disk 2 - Program"/>
<dataarea name="flop" size="819264">
<rom name="storybook weaver - world of make-believe v1.0 iigs - disk 2 - program (trex crack).2mg" size="819264" crc="0c778c48" sha1="91b4b8d9264985b63eda4b34d3140d4414a800fa"/>
</dataarea>
@@ -3003,9 +2995,10 @@ license:CC0-1.0
</software>
<software name="usageogr">
<description>USA GeoGraph (Version 1.0) (cleanly cracked)</description>
<description>USA GeoGraph (A-300 version 1.0) (trex crack)</description>
<year>1989</year>
<publisher>MECC</publisher>
<info name="partno" value="A-300" />
<info name="programmer" value="Nelson Whyatt" />
<info name="programmer" value="Paul R. Wenker" />
<info name="programmer" value="Wayne Studer" />
@@ -3016,18 +3009,16 @@ license:CC0-1.0
<info name="usage" value="Requires a 768K Apple IIgs." />
<sharedfeat name="compatibility" value="A2GS"/>
<!-- Dump released: 2023-04-13 -->
<!-- It requires a 768K Apple IIgs. -->
<!-- "USA GeoGraph" is a 1989 educational program developed by Nelson Whyatt, Paul R. Wenker, Wayne Studer, Steven D. Splinter, John L. Krenz, and Charolyn Kapplinger, and distributed by MECC Software. -->
<!-- educational program -->
<!-- Protection: Bad block check for block $8 -->
<part name="flop1" interface="floppy_3_5">
<feature name="part_id" value="Disk 1 - Program disk"/>
<feature name="part_id" value="Disk 1 - Program"/>
<dataarea name="flop" size="819264">
<rom name="usa geograph v1.0 iigs - disk 1 - program (trex crack).2mg" size="819264" crc="f968d252" sha1="ebda6798c67d277a15314b97d116f40e6b072ccd" />
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
<feature name="part_id" value="Disk 2 - Information disk"/>
<feature name="part_id" value="Disk 2 - Information"/>
<dataarea name="flop" size="819264">
<rom name="usa geograph v1.0 iigs - disk 2 - Information (trex crack).2mg" size="819264" crc="c5bc2c2c" sha1="6ef5b7be7d2a813387cfb4fa381c76d40d94c6ca" />
</dataarea>
@@ -3237,9 +3228,10 @@ license:CC0-1.0
</software>
<software name="wldgeogr">
<description>World GeoGraph (Version 1.3) (cleanly cracked)</description>
<description>World GeoGraph (USG-100 version 1.3) (trex crack)</description>
<year>1989</year>
<publisher>MECC</publisher>
<info name="partno" value="USG-100" />
<info name="programmer" value="Charolyn Kapplinger" />
<info name="programmer" value="John L. Krenz" />
<info name="programmer" value="Diane Portner" />
@@ -3251,18 +3243,16 @@ license:CC0-1.0
<info name="usage" value="Requires a 768K Apple IIgs." />
<sharedfeat name="compatibility" value="A2GS"/>
<!-- Dump released: 2023-04-13 -->
<!-- It requires a 768K Apple IIgs. -->
<!-- "USA GeoGraph" is a 1989 educational program developed by Charolyn Kapplinger, John L. Krenz, Diane Portner, Steven D. Splinter, Wayne Studer, Paul R. Wenker, and Nelson Whyatt, and distributed by MECC Software. -->
<!-- educational program -->
<!-- Protection: Bad block check for block $8 -->
<part name="flop1" interface="floppy_3_5">
<feature name="part_id" value="Disk 1 - Program disk"/>
<feature name="part_id" value="Disk 1 - Program"/>
<dataarea name="flop" size="819264">
<rom name="world geograph v1.3 iigs - disk 1 - program (trex crack).2mg" size="819264" crc="a296d62a" sha1="15aa6627a08b3c4f3d1c9e7651218311f07e481e" />
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
<feature name="part_id" value="Disk 2 - Information disk"/>
<feature name="part_id" value="Disk 2 - Information"/>
<dataarea name="flop" size="819264">
<rom name="world geograph v1.3 iigs - disk 2 - Information (trex crack).2mg" size="819264" crc="1ec2c293" sha1="6131f8ea4938f9f180e8a5f0a67d5f8f38d90e22" />
</dataarea>
+109 -24
View File
@@ -695,11 +695,20 @@ Generated by SLIST 0.1
</part>
</software>
<software name="calcraft">
<description>Calendar Crafter</description>
<software name="calcraft" supported="no">
<description>Calendar Crafter (A-194 version 1.0)</description>
<year>1987</year>
<publisher>MECC</publisher>
<info name="partno" value="A-194" />
<info name="programmer" value="Gene Breault" />
<info name="programmer" value="Charolyn Kapplinger" />
<info name="programmer" value="Diane Portner" />
<info name="programmer" value="Steven D. Splinter" />
<info name="programmer" value="Paul R. Wenker" />
<info name="usage" value="Requires a 768K Apple IIgs ROM 01 or later." />
<info name="version" value="1.0" />
<sharedfeat name="compatibility" value="A2GS" />
<!-- productivity program -->
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="819264">
<rom name="calendar crafter (1987)(mecc)(us).2mg" size="819264" crc="47fcfdad" sha1="3bc497384aa2a49a65d5435ed128f899ef35bd51" />
@@ -1442,10 +1451,18 @@ Generated by SLIST 0.1
</software>
<software name="dsgnprnt">
<description>Designer Prints</description>
<description>Designer Prints (A-252 version 1.0)</description>
<year>1989</year>
<publisher>MECC</publisher>
<info name="partno" value="A-252" />
<info name="programmer" value="Diane Portner" />
<info name="programmer" value="Michael Stein" />
<info name="programmer" value="Brian Walker" />
<info name="programmer" value="Paul Wenker" />
<info name="usage" value="Requires a 768K Apple IIgs ROM 01 or later." />
<info name="version" value="1.0" />
<sharedfeat name="compatibility" value="A2GS" />
<!-- desktop publishing program -->
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="819264">
<rom name="designer prints (1989)(mecc)(us).2mg" size="819264" crc="42b3f642" sha1="6a9fd3b642267d347942c4385b3f01a1ba66ee88" />
@@ -1454,10 +1471,18 @@ Generated by SLIST 0.1
</software>
<software name="dsgnpuzl">
<description>Designer Puzzles</description>
<description>Designer Puzzles (A-223 version 1.0)</description>
<year>1990</year>
<publisher>MECC</publisher>
<info name="partno" value="A-223" />
<info name="programmer" value="Susan Gabrys" />
<info name="programmer" value="John J. Krenz" />
<info name="programmer" value="Diane Portner" />
<info name="programmer" value="Steve Splinter" />
<info name="usage" value="Requires a 768K Apple IIgs ROM 01 or later." />
<info name="version" value="1.0" />
<sharedfeat name="compatibility" value="A2GS" />
<!-- desktop publishing program -->
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="819264">
<rom name="designer puzzles (1990)(mecc)(us).2mg" size="819264" crc="c3820b33" sha1="051cecb8630a113195457dec41c59945f0c94abf" />
@@ -3687,10 +3712,20 @@ Generated by SLIST 0.1
</software>
<software name="mercury">
<description>Mercury</description>
<description>Mercury (A-249 version 1.0)</description>
<year>1990</year>
<publisher>MECC</publisher>
<info name="partno" value="A-249" />
<info name="programmer" value="John J. Krenz" />
<info name="programmer" value="Brian Nesse" />
<info name="programmer" value="Michael Palmquist" />
<info name="programmer" value="Steve Splinter" />
<info name="programmer" value="Michael Stein" />
<info name="programmer" value="Paul Wenker" />
<info name="usage" value="Requires a 1MB Apple IIgs ROM 01 or later." />
<info name="version" value="1.0" />
<sharedfeat name="compatibility" value="A2GS" />
<!-- desktop publishing program -->
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="819264">
<rom name="mercury (1990)(mecc)(us).2mg" size="819264" crc="a89c82ae" sha1="e5417b49d9b844b21a0b756982ca52130e6d9fca" />
@@ -5942,10 +5977,20 @@ Generated by SLIST 0.1
</software>
<software name="strybkwv">
<description>Storybook Weaver</description>
<description>Storybook Weaver (A-275 version 1.0)</description>
<year>1990</year>
<publisher>MECC</publisher>
<info name="partno" value="A-275" />
<info name="programmer" value="Charolyn Kapplinger" />
<info name="programmer" value="Patricia Korn" />
<info name="programmer" value="John J. Krenz" />
<info name="programmer" value="Brian S. Nesse" />
<info name="programmer" value="Jean Sharp" />
<info name="programmer" value="Steve Zehm" />
<info name="usage" value="Requires a 1MB Apple IIgs ROM 01 or later." />
<info name="version" value="1.0" />
<sharedfeat name="compatibility" value="A2GS" />
<!-- educational program -->
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="819264">
<rom name="storybook weaver (1990)(mecc)(us).2mg" size="819264" crc="a2e718c7" sha1="453523dd0b84d79df61ac1322058c3f92f478315" />
@@ -5953,26 +5998,41 @@ Generated by SLIST 0.1
</part>
</software>
<software name="strywvmb">
<description>Storybook Weaver World of Make Believe</description>
<software name="strywvwa">
<description>Storybook Weaver: World of Adventure (A-276 version 1.0)</description>
<year>1991</year>
<publisher>MECC</publisher>
<info name="partno" value="A-276" />
<info name="programmer" value="Patricia Korn" />
<info name="programmer" value="Brian S. Nesse" />
<info name="programmer" value="Dee Dee Roedel " />
<info name="programmer" value="Jean Sharp" />
<info name="usage" value="Requires a 1MB Apple IIgs ROM 01 or later." />
<info name="version" value="1.0" />
<sharedfeat name="compatibility" value="A2GS" />
<!-- educational program -->
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="819264">
<rom name="storybook weaver world of make believe (1991)(mecc)(us).2mg" size="819264" crc="1846d0a5" sha1="62c06c0a34455c60ce0466d18ae86789a9b5c038" />
<rom name="storybook weaver world of adventure (1991)(mecc)(us).2mg" size="819264" crc="1ec8f7e1" sha1="dd5a0f8715523d8fd6227e3acce9b60ae527ffe3" />
</dataarea>
</part>
</software>
<software name="strywvwa">
<description>Storybook Weaver World of Adventure</description>
<software name="strywvmb">
<description>Storybook Weaver: World of Make-Believe (A-298 version 1.0)</description>
<year>1991</year>
<publisher>MECC</publisher>
<info name="partno" value="A-298" />
<info name="programmer" value="Charolyn Kapplinger" />
<info name="programmer" value="Patricia Korn" />
<info name="programmer" value="Jean Sharp" />
<info name="usage" value="Requires a 1MB Apple IIgs ROM 01 or later." />
<info name="version" value="1.0" />
<sharedfeat name="compatibility" value="A2GS" />
<!-- educational program -->
<part name="flop1" interface="floppy_3_5">
<dataarea name="flop" size="819264">
<rom name="storybook weaver world of adventure (1991)(mecc)(us).2mg" size="819264" crc="1ec8f7e1" sha1="dd5a0f8715523d8fd6227e3acce9b60ae527ffe3" />
<rom name="storybook weaver world of make believe (1991)(mecc)(us).2mg" size="819264" crc="1846d0a5" sha1="62c06c0a34455c60ce0466d18ae86789a9b5c038" />
</dataarea>
</part>
</software>
@@ -7119,16 +7179,28 @@ Generated by SLIST 0.1
</software>
<software name="usageogr">
<description>USA Geography</description>
<description>USA GeoGraph (A-300 version 1.0)</description>
<year>1989</year>
<publisher>MECC</publisher>
<info name="partno" value="A-300" />
<info name="programmer" value="Nelson Whyatt" />
<info name="programmer" value="Paul R. Wenker" />
<info name="programmer" value="Wayne Studer" />
<info name="programmer" value="Steven D. Splinter" />
<info name="programmer" value="John L. Krenz" />
<info name="programmer" value="Charolyn Kapplinger" />
<info name="version" value="1.0" />
<info name="usage" value="Requires a 768K Apple IIgs." />
<sharedfeat name="compatibility" value="A2GS"/>
<!-- educational program -->
<part name="flop1" interface="floppy_3_5">
<feature name="part_id" value="Disk 1 - Program"/>
<dataarea name="flop" size="819264">
<rom name="usa geograph (1989)(mecc)(us)(disk 1 of 2).2mg" size="819264" crc="fbdeb34d" sha1="df437dae274659932396fc65a45f14ab2a47f2e1" />
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
<feature name="part_id" value="Disk 2 - Information"/>
<dataarea name="flop" size="819264">
<rom name="usa geograph (1989)(mecc)(us)(disk 2 of 2).2mg" size="819264" crc="3087aac3" sha1="a4f1a11d9d1a0f8943ced5631f9ee9acd24200e6" />
</dataarea>
@@ -7381,17 +7453,30 @@ Generated by SLIST 0.1
</part>
</software>
<software name="worldgeo">
<description>World Geograph</description>
<software name="wldgeogr">
<description>World GeoGraph (USG-100 version 1.0)</description>
<year>1989</year>
<publisher>MECC</publisher>
<info name="partno" value="USG-100" />
<info name="programmer" value="Charolyn Kapplinger" />
<info name="programmer" value="John L. Krenz" />
<info name="programmer" value="Diane Portner" />
<info name="programmer" value="Steven D. Splinter" />
<info name="programmer" value="Wayne Studer" />
<info name="programmer" value="Paul R. Wenker" />
<info name="programmer" value="Nelson Whyatt" />
<info name="version" value="1.0" />
<info name="usage" value="Requires a 768K Apple IIgs." />
<sharedfeat name="compatibility" value="A2GS"/>
<!-- educational program -->
<part name="flop1" interface="floppy_3_5">
<feature name="part_id" value="Disk 1 - Program"/>
<dataarea name="flop" size="819264">
<rom name="world geograph (1989)(mecc)(us)(disk 1 of 2).2mg" size="819264" crc="c56e1f36" sha1="1ab513db66e5226d4204a4571aaca11694ab3229" />
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
<feature name="part_id" value="Disk 2 - Information"/>
<dataarea name="flop" size="819264">
<rom name="world geograph (1989)(mecc)(us)(disk 2 of 2).2mg" size="819264" crc="c154bcf6" sha1="fa7863aedabfd21f1f3e725570b9bf46f40bf893" />
</dataarea>
+17 -17
View File
@@ -3915,7 +3915,7 @@ license:CC0-1.0
<description>Designer Puzzles (A-223 version 1.0)</description>
<year>1990</year>
<publisher>MECC</publisher>
<info name="partno" value="A223" />
<info name="partno" value="A-223" />
<info name="programmer" value="Susan Gabrys" />
<info name="programmer" value="John J. Krenz" />
<info name="programmer" value="Diane Portner" />
@@ -3940,10 +3940,10 @@ license:CC0-1.0
</software>
<software name="mercury">
<description>Mercury (version 1.0)</description>
<description>Mercury (A-249 version 1.0)</description>
<year>1989</year>
<publisher>MECC</publisher>
<info name="partno" value="A249" />
<info name="partno" value="A-249" />
<info name="programmer" value="John J. Krenz" />
<info name="programmer" value="Brian Nesse" />
<info name="programmer" value="Michael Palmquist" />
@@ -3956,13 +3956,13 @@ license:CC0-1.0
<!-- Dump released: 2021-06-25 -->
<!-- desktop publishing program -->
<part name="flop1" interface="floppy_3_5">
<feature name="part_id" value="Disk 1 - System disk" />
<feature name="part_id" value="Disk 1 - System" />
<dataarea name="flop" size="1345426">
<rom name="mercury iigs - disk 1 - system.woz" size="1345426" crc="43b4de3c" sha1="454548d46d73637756546557cb6dd49f38a22cb8" />
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
<feature name="part_id" value="Disk 2 - Program disk" />
<feature name="part_id" value="Disk 2 - Program" />
<dataarea name="flop" size="1345427">
<rom name="mercury iigs - disk 2 - program.woz" size="1345427" crc="f89fd07d" sha1="ef7cc05c80ca00c37d79a3604a2280b85c9b9e2a" />
</dataarea>
@@ -3970,10 +3970,10 @@ license:CC0-1.0
</software>
<software name="strybkwv">
<description>Storybook Weaver</description>
<description>Storybook Weaver (A-275 version 1.0)</description>
<year>1990</year>
<publisher>MECC</publisher>
<info name="partno" value="A275" />
<info name="partno" value="A-275" />
<info name="programmer" value="Charolyn Kapplinger" />
<info name="programmer" value="Patricia Korn" />
<info name="programmer" value="John J. Krenz" />
@@ -3986,13 +3986,13 @@ license:CC0-1.0
<!-- Dump released: 2021-06-25 -->
<!-- educational program -->
<part name="flop1" interface="floppy_3_5">
<feature name="part_id" value="Disk 1 - System disk" />
<feature name="part_id" value="Disk 1 - System" />
<dataarea name="flop" size="1296282">
<rom name="storybook weaver iigs - disk 1 - system.woz" size="1296282" crc="aff98402" sha1="d9eb47035807a144ea3d861c8f95ef609302329e" />
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
<feature name="part_id" value="Disk 2 - Program disk" />
<feature name="part_id" value="Disk 2 - Program" />
<dataarea name="flop" size="1345435">
<rom name="storybook weaver iigs - disk 2 - program.woz" size="1345435" crc="ddb0fb06" sha1="2dde4e9d2fe49fe8705bbb640a7e36542166c3ce" />
</dataarea>
@@ -4000,10 +4000,10 @@ license:CC0-1.0
</software>
<software name="strywvwa">
<description>Storybook Weaver: World of Adventure (version 1.0)</description>
<description>Storybook Weaver: World of Adventure (A-276 version 1.0)</description>
<year>1991</year>
<publisher>MECC</publisher>
<info name="partno" value="A276" />
<info name="partno" value="A-276" />
<info name="programmer" value="Patricia Korn" />
<info name="programmer" value="Brian S. Nesse" />
<info name="programmer" value="Dee Dee Roedel " />
@@ -4014,13 +4014,13 @@ license:CC0-1.0
<!-- Dump released: 2021-06-25 -->
<!-- educational program -->
<part name="flop1" interface="floppy_3_5">
<feature name="part_id" value="Disk 1 - System disk" />
<feature name="part_id" value="Disk 1 - System" />
<dataarea name="flop" size="1345425">
<rom name="storybook weaver - world of adventure iigs - disk 1 - system.woz" size="1345425" crc="34fe37e2" sha1="041e0a42c0577f5f0373b0be4c908d5d0ad1bed1" />
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
<feature name="part_id" value="Disk 2 - Program disk" />
<feature name="part_id" value="Disk 2 - Program" />
<dataarea name="flop" size="1299346">
<rom name="storybook weaver - world of adventure iigs - disk 2 - program.woz" size="1299346" crc="628cf0ea" sha1="1f0f71d46a71ce8b82ee24e1e1217199ff72d5f0" />
</dataarea>
@@ -4028,10 +4028,10 @@ license:CC0-1.0
</software>
<software name="strywvmb">
<description>Storybook Weaver: World of Make-Believe (version 1.0)</description>
<description>Storybook Weaver: World of Make-Believe (A-298 version 1.0)</description>
<year>1991</year>
<publisher>MECC</publisher>
<info name="partno" value="A298" />
<info name="partno" value="A-298" />
<info name="programmer" value="Charolyn Kapplinger" />
<info name="programmer" value="Patricia Korn" />
<info name="programmer" value="Jean Sharp" />
@@ -4041,13 +4041,13 @@ license:CC0-1.0
<!-- Dump released: 2021-06-25 -->
<!-- educational program -->
<part name="flop1" interface="floppy_3_5">
<feature name="part_id" value="Disk 1 - System disk" />
<feature name="part_id" value="Disk 1 - System" />
<dataarea name="flop" size="1345417">
<rom name="storybook weaver - world of make-believe iigs - disk 1 - system.woz" size="1345417" crc="0f23663b" sha1="dc41a0641411ffee8d86c4e7342c15c11acfb8d2" />
</dataarea>
</part>
<part name="flop2" interface="floppy_3_5">
<feature name="part_id" value="Disk 2 - Program disk" />
<feature name="part_id" value="Disk 2 - Program" />
<dataarea name="flop" size="1345418">
<rom name="storybook weaver - world of make-believe iigs - disk 2 - program.woz" size="1345418" crc="2321b1c5" sha1="5db8b0f9141a28f1e8039908549cd5bc7e8d8872" />
</dataarea>
+1 -1
View File
@@ -6,7 +6,7 @@ license:CC0-1.0
<softwarelist name="mm2_flop" description="Nokia MikroMikko 2 floppies">
<software name="msdos221" supported="no">
<software name="msdos221">
<description>Nokia MS-DOS 2.00 Versio 2.21 (Fin)</description>
<year>1985</year>
<publisher>Nokia Data</publisher>
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0"?>
<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
<!--
license:CC0-1.0
-->
<softwarelist name="mm2_hdd" description="Nokia MikroMikko 2 hard disks">
<software name="msdos221">
<description>Nokia MS-DOS 2.00 Versio 2.21 (Fin)</description>
<year>1985</year>
<publisher>Nokia Data</publisher>
<!-- Seagate ST-412 -->
<part name="hdd" interface="scsi_hdd">
<diskarea name="harddriv">
<disk name="st412" sha1="d87103175119edcf4d4efc252df46c9b59b2c351" writeable="yes" />
</diskarea>
</part>
</software>
</softwarelist>
+100
View File
@@ -13831,6 +13831,50 @@ license:CC0-1.0
</part>
</software>
<software name="galagahal" supported="partial">
<description>Galaga (prototype)</description>
<year>1988?</year>
<publisher>HAL Laboratory</publisher>
<notes><![CDATA[
Entirely different from Namco's port. The CHR ROM to this prototype is lost.
]]></notes>
<info name="serial" value="NES-JU-USA"/>
<part name="cart" interface="nes_cart">
<feature name="slot" value="nrom" />
<feature name="pcb" value="HVC-NROM-128" />
<feature name="mirroring" value="horizontal" />
<dataarea name="prg" size="32768">
<rom name="galaga.prg" size="16384" crc="92467be0" sha1="972a2602d1eff57a42263245ecc97ba476a2173c" offset="00000" />
<rom size="16384" offset="0x4000" loadflag="reload" />
</dataarea>
<dataarea name="chr" size="8192">
<rom name="chr" size="8192" status="nodump" /> <!-- CHR ROM missing -->
</dataarea>
</part>
</software>
<software name="galagahalg" cloneof="galagahal">
<description>Galaga (prototype, with recreated graphics)</description>
<year>1988?</year>
<publisher>HAL Laboratory</publisher>
<notes><![CDATA[
The graphics for the recreated CHR ROM were mostly sourced from HAL's port of Stargate and from the arcade version of Galaga.
]]></notes>
<info name="serial" value="NES-JU-USA"/>
<part name="cart" interface="nes_cart">
<feature name="slot" value="nrom" />
<feature name="pcb" value="HVC-NROM-128" />
<feature name="mirroring" value="horizontal" />
<dataarea name="prg" size="32768">
<rom name="galaga.prg" size="16384" crc="92467be0" sha1="972a2602d1eff57a42263245ecc97ba476a2173c" offset="00000" />
<rom size="16384" offset="0x4000" loadflag="reload" />
</dataarea>
<dataarea name="chr" size="8192">
<rom name="chr" size="8192" crc="bab53928" sha1="2c5b17a25e2b7db497096a1d28b3412e4aaa1ed2" offset="00000" status="baddump" /> <!-- Custom CHR ROM with recreated graphics -->
</dataarea>
</part>
</software>
<software name="galaxiana" cloneof="galaxian">
<description>Galaxian (Japan)</description>
<year>1984</year>
@@ -29395,6 +29439,62 @@ license:CC0-1.0
</part>
</software>
<software name="popils" supported="partial">
<description>Magical Puzzle Popils (prototype)</description>
<year>1989</year>
<publisher>Tengen</publisher>
<notes><![CDATA[
The EEPROM chip that contained the sequence data for the music and sound effects could not be found, which means that the game no longer has any audio to play at all.
]]></notes>
<part name="cart" interface="nes_cart">
<feature name="slot" value="namcot_3433" />
<feature name="pcb" value="TENGEN-800030" />
<feature name="mirroring" value="vertical" />
<dataarea name="chr" size="0x10000">
<rom name="popil chr0.bin" size="0x8000" crc="18fa74c0" sha1="64672be98a4745ceca3863759e586a6778e3958a" offset="0x00000" />
<rom name="popil chr1.bin" size="0x8000" crc="5980514c" sha1="8f793c1a9d587a2f60eaa22c14eca2fea53fe71b" offset="0x08000" />
</dataarea>
<dataarea name="prg" size="0x20000">
<rom name="popil prg0.bin" size="0x8000" status="nodump" /> <!-- EEPROM chip for the sound data, not found with the others -->
<rom name="popil prg1.bin" size="0x8000" crc="2ce83498" sha1="d3fc1b7cadb9be9de1a6028ef59df700a6e8588a" offset="0x08000" />
<rom name="popil prg2.bin" size="0x8000" crc="d0a719a8" sha1="bef214d4670df0b5eb44b1760b58a3b1f87f8fb5" offset="0x10000" />
<rom name="popil prg3.bin" size="0x8000" crc="b7b8b773" sha1="cb90b4ddfe0e5b7213905301292882be97f5a852" offset="0x18000" />
</dataarea>
<!-- 8k WRAM on cartridge, battery backed up -->
<dataarea name="bwram" size="0x2000">
<rom value="0x00" size="0x2000" offset="0" loadflag="fill" />
</dataarea>
</part>
</software>
<software name="popilss" cloneof="popils">
<description>Magical Puzzle Popils (prototype, with recreated sound)</description>
<year>1989</year>
<publisher>Tengen</publisher>
<notes><![CDATA[
This mod inserts recreations of the music tracks and sound effects into the prototype. This was done by porting the sequence data of all sounds found in the Game Gear version, along with doing many adjustments (ASDR, vibrato and note transposing edits) to match the audio heard in Jun Amanai’s gameplay videos as closely as possible.
]]></notes>
<part name="cart" interface="nes_cart">
<feature name="slot" value="namcot_3433" />
<feature name="pcb" value="TENGEN-800030" />
<feature name="mirroring" value="vertical" />
<dataarea name="chr" size="0x10000">
<rom name="popil chr0.bin" size="0x8000" crc="18fa74c0" sha1="64672be98a4745ceca3863759e586a6778e3958a" offset="0x00000" />
<rom name="popil chr1.bin" size="0x8000" crc="5980514c" sha1="8f793c1a9d587a2f60eaa22c14eca2fea53fe71b" offset="0x08000" />
</dataarea>
<dataarea name="prg" size="0x20000">
<rom name="prg0" size="0x8000" crc="90da0dd3" sha1="7db3ea71db43d4df7d75851f485d57620d3d57f3" offset="0" status="baddump" /> <!-- EEPROM chip for the sound data, recreated using the Game Gear version's sound data -->
<rom name="popil prg1.bin" size="0x8000" crc="2ce83498" sha1="d3fc1b7cadb9be9de1a6028ef59df700a6e8588a" offset="0x08000" />
<rom name="popil prg2.bin" size="0x8000" crc="d0a719a8" sha1="bef214d4670df0b5eb44b1760b58a3b1f87f8fb5" offset="0x10000" />
<rom name="popil prg3.bin" size="0x8000" crc="b7b8b773" sha1="cb90b4ddfe0e5b7213905301292882be97f5a852" offset="0x18000" />
</dataarea>
<!-- 8k WRAM on cartridge, battery backed up -->
<dataarea name="bwram" size="0x2000">
<rom value="0x00" size="0x2000" offset="0" loadflag="fill" />
</dataarea>
</part>
</software>
<software name="portopia">
<description>Portopia Renzoku Satsujin Jiken (Japan)</description>
<year>1985</year>
+72 -11
View File
@@ -11,18 +11,9 @@ TODO:
-->
<softwarelist name="pcfx" description="NEC PC-FX CD-ROMs">
<!-- Sourced from Redump -->
<!-- Unless otherwise noted, all dumps comes from redump.org -->
<software name="amateur" supported="no">
<description>Amateur Teikyou CD-ROM</description>
<year>1994</year>
<publisher>NEC</publisher>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="amateur teikyou cd-rom (japan)" sha1="ce2f6509a2bebcd36a1063ca6233d3d6150b7419"/>
</diskarea>
</part>
</software>
<!-- !Games -->
<software name="batlheat" supported="no">
<description>Battle Heat</description>
@@ -145,4 +136,74 @@ TODO:
</part>
</software>
<!-- !PC-FXGA software and games -->
<software name="amateur" supported="no">
<description>Amateur Teikyou CD-ROM (PC-98 C-Bus)</description>
<year>1995</year>
<publisher>NEC / Hudson Soft</publisher>
<notes><![CDATA[
GMAKER (v1.0) for PC-FXGA C-Bus
]]></notes>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="amateur teikyou cd-rom (japan)" sha1="ce2f6509a2bebcd36a1063ca6233d3d6150b7419"/>
</diskarea>
</part>
</software>
<software name="amateurv" cloneof="amateur" supported="no">
<description>Amateur Teikyou CD-ROM (ISA DOS/V-you)</description>
<year>1996</year>
<publisher>NEC / Hudson Soft</publisher>
<notes><![CDATA[
GMAKER (v1.1) for PC-FXGA ISA
]]></notes>
<info name="serial" value="79753618"/>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="amateur teikyou cd-rom (japan) (dos-v-you) (nec pc-fxga)" sha1="30f21880f75ee3be6c9dd1b747c5e2df2ba582ca"/>
</diskarea>
</part>
</software>
<software name="nnyuu" supported="no">
<description>N-nyuu: PC-FXGA Game ga Asoberu Tsukureru Hon</description>
<year>1996</year>
<publisher>NEC Home Electronics</publisher>
<notes><![CDATA[
Disc 2 requires a Win32 OS on PC-98 or DOS/V machines
]]></notes>
<info name="barcode" value="4904323270170"/>
<info name="serial" value="08486501"/>
<!-- GANHE001A + GANHE001B -->
<part name="cdrom1" interface="cdrom">
<diskarea name="cdrom">
<disk name="n-nyuu - pc-fxga game ga asoberu tsukureru hon (japan) (disc 1) (n-nyuu)" sha1="ebafc3236d5085d5b293805e0b33f6706b47979c"/>
</diskarea>
</part>
<part name="cdrom2" interface="cdrom">
<diskarea name="cdrom">
<disk name="n-nyuu - pc-fxga game ga asoberu tsukureru hon (japan) (disc 2)" sha1="6e9c966126c1fcf97c8cb8112a3880dd33c4798e"/>
</diskarea>
</part>
</software>
<software name="samegame" supported="no">
<!-- http://redump.org/disc/46445/ -->
<description>Same Game FX</description>
<year>1995</year>
<publisher>Hudson Soft</publisher>
<notes><![CDATA[
Bundled with PC-FXGA
]]></notes>
<info name="barcode" value="4904323240074"/>
<info name="serial" value="79753599"/>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="same game fx (japan) (nec pc-fxga)" sha1="940b7c0400fa617794764aa9d6dee60e002337be"/>
</diskarea>
</part>
</software>
</softwarelist>
+42
View File
@@ -38804,6 +38804,48 @@ Doesn't accept any input on System Memory requirement screen
<!-- Misc Protos -->
<!-- Released by Josh Fairhurst / Screaming Villains in Bin+Cue format, built from the original source files. -->
<software name="prizefhe" supported="no">
<description>Prize Fighter: Heavyweight Edition (USA, prototype 19960325)</description>
<year>1996</year>
<publisher>Digital Pictures</publisher>
<notes><![CDATA[
Game will freeze if you let the intro video play and press start. You can skip it at the start or let it finish to play normally.
]]></notes>
<sharedfeat name="compatibility" value="NTSC-U"/>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="prize fighter - heavyweight edition (usa) (proto) (1996-03-25) (disc 1)" sha1="dc333b7ea68a9a42f9a0baefe1a6e075ae9b6bee" />
</diskarea>
</part>
<part name="cdrom2" interface="cdrom">
<diskarea name="cdrom">
<disk name="prize fighter - heavyweight edition (usa) (proto) (1996-03-25) (disc 2)" sha1="7ba5aeb6934f4d2c0d964096670e564fe8efe6d7" />
</diskarea>
</part>
</software>
<!-- Released by Josh Fairhurst / Screaming Villains in Bin+Cue format, built from the original source files. -->
<software name="prizefhej" cloneof="prizefhe" supported="no">
<description>Prize Fighter: Heavyweight Edition (Japan, prototype 19960418)</description>
<year>1996</year>
<publisher>Digital Pictures</publisher>
<notes><![CDATA[
Game will freeze if you let the intro video play and press start. You can skip it at the start or let it finish to play normally.
]]></notes>
<sharedfeat name="compatibility" value="NTSC-J"/>
<part name="cdrom" interface="cdrom">
<diskarea name="cdrom">
<disk name="prize fighter - heavyweight edition (japan) (proto) (1996-04-18) (disc 1)" sha1="04c2357ab28a1842e3c7e9942fd1eb9e233da372" />
</diskarea>
</part>
<part name="cdrom2" interface="cdrom">
<diskarea name="cdrom">
<disk name="prize fighter - heavyweight edition (japan) (proto) (1996-04-18) (disc 2)" sha1="fe5d98f370b0cd1385c121b1a04935a41bd15397" />
</diskarea>
</part>
</software>
<!-- Identifying major damage 14-06-1996... -->
<software name="majordama" cloneof="majordam" supported="no">
<description>Major Damage (USA, prototype 19960614)</description>
+870 -674
View File
File diff suppressed because it is too large. Load diff
+11 -2
View File
@@ -1039,6 +1039,10 @@ $(info Clang $(CLANG_VERSION) detected)
ifneq ($(TARGETOS),asmjs)
ifeq ($(ARCHITECTURE),_x64)
ARCHITECTURE := _x64_clang
else ifneq ($(filter aarch64%,$(UNAME_M)),)
ARCHITECTURE := _arm64_clang
else ifneq ($(filter aarch64%,$(UNAME_P)),)
ARCHITECTURE := _arm64_clang
else ifneq ($(filter arm64%,$(UNAME_M)),)
ARCHITECTURE := _arm64_clang
else
@@ -1339,6 +1343,11 @@ linux_x64_clang: generate $(PROJECTDIR)/$(MAKETYPE)-linux-clang/Makefile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/$(MAKETYPE)-linux-clang config=$(CONFIG)64 precompile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/$(MAKETYPE)-linux-clang config=$(CONFIG)64
.PHONY: linux_arm64_clang
linux_arm64_clang: generate $(PROJECTDIR)/$(MAKETYPE)-linux-clang/Makefile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/$(MAKETYPE)-linux-clang config=$(CONFIG)64 precompile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/$(MAKETYPE)-linux-clang config=$(CONFIG)64
.PHONY: linux_x86_clang
linux_x86_clang: generate $(PROJECTDIR)/$(MAKETYPE)-linux-clang/Makefile
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/$(MAKETYPE)-linux-clang config=$(CONFIG)32 precompile
@@ -1617,7 +1626,7 @@ endif
ifeq (posix,$(SHELLTYPE))
$(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS)
@echo '#define BARE_BUILD_VERSION "0.286"' > $@
@echo '#define BARE_BUILD_VERSION "0.287"' > $@
@echo '#define BARE_VCS_REVISION "$(NEW_GIT_VERSION)"' >> $@
@echo 'extern const char bare_build_version[];' >> $@
@echo 'extern const char bare_vcs_revision[];' >> $@
@@ -1627,7 +1636,7 @@ $(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS)
@echo 'const char build_version[] = BARE_BUILD_VERSION " (" BARE_VCS_REVISION ")";' >> $@
else
$(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS)
@echo #define BARE_BUILD_VERSION "0.286" > $@
@echo #define BARE_BUILD_VERSION "0.287" > $@
@echo #define BARE_VCS_REVISION "$(NEW_GIT_VERSION)" >> $@
@echo extern const char bare_build_version[]; >> $@
@echo extern const char bare_vcs_revision[]; >> $@
+3 -3
View File
@@ -723,19 +723,19 @@ else
end
end
if _OPTIONS["with-system-jpeg"]~=nil then
if _OPTIONS["with-system-jpeg"] == "1" then
defines {
"XMD_H",
}
end
if not _OPTIONS["with-system-flac"]~=nil then
if _OPTIONS["with-system-flac"] ~= "1" then
defines {
"FLAC__NO_DLL",
}
end
if not _OPTIONS["with-system-pugixml"] then
if _OPTIONS["with-system-pugixml"] ~= "1" then
defines {
"PUGIXML_HEADER_ONLY",
}
+13 -13
View File
@@ -14,7 +14,7 @@
-- expat library objects
--------------------------------------------------
if not _OPTIONS["with-system-expat"] then
if _OPTIONS["with-system-expat"] ~= "1" then
project "expat"
uuid "f4cd40b1-c37c-452d-9785-640f26f0bf54"
kind "StaticLib"
@@ -120,7 +120,7 @@ end
-- zlib library objects
--------------------------------------------------
if not _OPTIONS["with-system-zlib"] then
if _OPTIONS["with-system-zlib"] ~= "1" then
project "zlib"
uuid "3d78bd2a-2bd0-4449-8087-42ddfaef7ec9"
kind "StaticLib"
@@ -181,7 +181,7 @@ end
-- zstd library objects
--------------------------------------------------
if not _OPTIONS["with-system-zstd"] then
if _OPTIONS["with-system-zstd"] ~= "1" then
project "zstd"
uuid "5edd8713-bc60-456d-9c95-b928a913c84b"
kind "StaticLib"
@@ -655,7 +655,7 @@ end
-- libJPEG library objects
--------------------------------------------------
if not _OPTIONS["with-system-jpeg"] then
if _OPTIONS["with-system-jpeg"] ~= "1" then
project "jpeg"
uuid "447c6800-dcfd-4c48-b72a-a8223bb409ca"
kind "StaticLib"
@@ -734,7 +734,7 @@ end
-- libflac library objects
--------------------------------------------------
if not _OPTIONS["with-system-flac"] then
if _OPTIONS["with-system-flac"] ~= "1" then
project "flac"
uuid "b6fc19e8-073a-4541-bb7b-d24b548d424a"
kind "StaticLib"
@@ -1023,7 +1023,7 @@ end
--------------------------------------------------
if (STANDALONE~=true) then
if not _OPTIONS["with-system-lua"] then
if _OPTIONS["with-system-lua"] ~= "1" then
project "lua"
uuid "d9e2eed1-f1ab-4737-a6ac-863700b1a5a9"
kind "StaticLib"
@@ -1057,7 +1057,7 @@ end
"LUA_COMPAT_5_1",
"LUA_COMPAT_5_2",
}
if not (_OPTIONS["targetos"]=="windows") and not (_OPTIONS["targetos"]=="asmjs") then
if (_OPTIONS["targetos"] ~= "windows") and (_OPTIONS["targetos"] ~= "asmjs") then
defines {
"LUA_USE_POSIX",
}
@@ -1174,7 +1174,7 @@ end
-- SQLite3 library objects
--------------------------------------------------
if not _OPTIONS["with-system-sqlite3"] then
if _OPTIONS["with-system-sqlite3"] ~= "1" then
project "sqlite3"
uuid "5cb3d495-57ed-461c-81e5-80dc0857517d"
kind "StaticLib"
@@ -1225,8 +1225,8 @@ end
-- portmidi library objects
--------------------------------------------------
if _OPTIONS["NO_USE_MIDI"]~="1" then
if not _OPTIONS["with-system-portmidi"] then
if _OPTIONS["NO_USE_MIDI"] ~= "1" then
if _OPTIONS["with-system-portmidi"] ~= "1" then
project "portmidi"
uuid "587f2da6-3274-4a65-86a2-f13ea315bb98"
kind "StaticLib"
@@ -1740,8 +1740,8 @@ end
-- PortAudio library objects
--------------------------------------------------
if _OPTIONS["NO_USE_PORTAUDIO"]~="1" then
if not _OPTIONS["with-system-portaudio"] then
if _OPTIONS["NO_USE_PORTAUDIO"] ~= "1" then
if _OPTIONS["with-system-portaudio"] ~= "1" then
project "portaudio"
uuid "0755c5f5-eccf-47f3-98a9-df67018a94d4"
kind "StaticLib"
@@ -1949,7 +1949,7 @@ end
-- utf8proc library objects
--------------------------------------------------
if not _OPTIONS["with-system-utf8proc"] then
if _OPTIONS["with-system-utf8proc"] ~= "1" then
project "utf8proc"
uuid "1f881f09-0395-4483-ac37-2935fb092187"
kind "StaticLib"
+18
View File
@@ -86,6 +86,8 @@ if BUSES["A2BUS"] then
MAME_DIR .. "src/devices/bus/a2bus/a2scsi.h",
MAME_DIR .. "src/devices/bus/a2bus/a2sd.cpp",
MAME_DIR .. "src/devices/bus/a2bus/a2sd.h",
MAME_DIR .. "src/devices/bus/a2bus/a2sic.cpp",
MAME_DIR .. "src/devices/bus/a2bus/a2sic.h",
MAME_DIR .. "src/devices/bus/a2bus/a2softcard.cpp",
MAME_DIR .. "src/devices/bus/a2bus/a2softcard.h",
MAME_DIR .. "src/devices/bus/a2bus/a2ssc.cpp",
@@ -180,6 +182,8 @@ if BUSES["A2BUS"] then
MAME_DIR .. "src/devices/bus/a2bus/ssprite.h",
MAME_DIR .. "src/devices/bus/a2bus/suprterminal.cpp",
MAME_DIR .. "src/devices/bus/a2bus/suprterminal.h",
MAME_DIR .. "src/devices/bus/a2bus/sweetalk.cpp",
MAME_DIR .. "src/devices/bus/a2bus/sweetalk.h",
MAME_DIR .. "src/devices/bus/a2bus/timemasterho.cpp",
MAME_DIR .. "src/devices/bus/a2bus/timemasterho.h",
MAME_DIR .. "src/devices/bus/a2bus/titan3plus2.cpp",
@@ -1596,6 +1600,8 @@ if BUSES["CENTRONICS"] then
MAME_DIR .. "src/devices/bus/centronics/epson_rx80.h",
MAME_DIR .. "src/devices/bus/centronics/hasp_savquest.cpp",
MAME_DIR .. "src/devices/bus/centronics/hasp_savquest.h",
MAME_DIR .. "src/devices/bus/centronics/neomania_adapter.cpp",
MAME_DIR .. "src/devices/bus/centronics/neomania_adapter.h",
MAME_DIR .. "src/devices/bus/centronics/mz1p16.cpp",
MAME_DIR .. "src/devices/bus/centronics/mz1p16.h",
MAME_DIR .. "src/devices/bus/centronics/nec_p72.cpp",
@@ -2949,6 +2955,8 @@ if BUSES["ISA"] then
MAME_DIR .. "src/devices/bus/isa/svga_tseng.h",
MAME_DIR .. "src/devices/bus/isa/tekram_dc820.cpp",
MAME_DIR .. "src/devices/bus/isa/tekram_dc820.h",
MAME_DIR .. "src/devices/bus/isa/tiga_spea.cpp",
MAME_DIR .. "src/devices/bus/isa/tiga_spea.h",
MAME_DIR .. "src/devices/bus/isa/ubpnic.cpp",
MAME_DIR .. "src/devices/bus/isa/ubpnic.h",
MAME_DIR .. "src/devices/bus/isa/ultra12f.cpp",
@@ -2967,6 +2975,8 @@ if BUSES["ISA"] then
MAME_DIR .. "src/devices/bus/isa/wd1007a.h",
MAME_DIR .. "src/devices/bus/isa/wdxt_gen.cpp",
MAME_DIR .. "src/devices/bus/isa/wdxt_gen.h",
MAME_DIR .. "src/devices/bus/isa/wss.cpp",
MAME_DIR .. "src/devices/bus/isa/wss.h",
MAME_DIR .. "src/devices/bus/isa/xsu_cards.cpp",
MAME_DIR .. "src/devices/bus/isa/xsu_cards.h",
MAME_DIR .. "src/devices/bus/isa/xtide.cpp",
@@ -3322,6 +3332,8 @@ if BUSES["MM2"] then
MAME_DIR .. "src/devices/bus/mm2/exp.h",
MAME_DIR .. "src/devices/bus/mm2/crtc186.cpp",
MAME_DIR .. "src/devices/bus/mm2/crtc186.h",
MAME_DIR .. "src/devices/bus/mm2/meme186.cpp",
MAME_DIR .. "src/devices/bus/mm2/meme186.h",
MAME_DIR .. "src/devices/bus/mm2/mm2kb.cpp",
MAME_DIR .. "src/devices/bus/mm2/mm2kb.h",
MAME_DIR .. "src/devices/bus/mm2/mmc186.cpp",
@@ -4334,6 +4346,8 @@ if BUSES["PC98_CBUS"] then
MAME_DIR .. "src/devices/bus/pc98_cbus/pc9801_86.h",
MAME_DIR .. "src/devices/bus/pc98_cbus/pc9801_118.cpp",
MAME_DIR .. "src/devices/bus/pc98_cbus/pc9801_118.h",
MAME_DIR .. "src/devices/bus/pc98_cbus/pcfxga.cpp",
MAME_DIR .. "src/devices/bus/pc98_cbus/pcfxga.h",
MAME_DIR .. "src/devices/bus/pc98_cbus/sb16_ct2720.cpp",
MAME_DIR .. "src/devices/bus/pc98_cbus/sb16_ct2720.h",
MAME_DIR .. "src/devices/bus/pc98_cbus/slot.cpp",
@@ -4428,6 +4442,8 @@ if BUSES["PCI"] then
MAME_DIR .. "src/devices/bus/pci/aha2940au.h",
MAME_DIR .. "src/devices/bus/pci/audiowerk2.cpp",
MAME_DIR .. "src/devices/bus/pci/audiowerk2.h",
MAME_DIR .. "src/devices/bus/pci/clgd543x_alpine.cpp",
MAME_DIR .. "src/devices/bus/pci/clgd543x_alpine.h",
MAME_DIR .. "src/devices/bus/pci/clgd5446.cpp",
MAME_DIR .. "src/devices/bus/pci/clgd5446.h",
MAME_DIR .. "src/devices/bus/pci/clgd546x_laguna.cpp",
@@ -4468,6 +4484,8 @@ if BUSES["PCI"] then
MAME_DIR .. "src/devices/bus/pci/sonicvibes.h",
MAME_DIR .. "src/devices/bus/pci/sw1000xg.cpp",
MAME_DIR .. "src/devices/bus/pci/sw1000xg.h",
MAME_DIR .. "src/devices/bus/pci/trident_4dwavedx.cpp",
MAME_DIR .. "src/devices/bus/pci/trident_4dwavedx.h",
MAME_DIR .. "src/devices/bus/pci/trio_pci.cpp",
MAME_DIR .. "src/devices/bus/pci/trio_pci.h",
MAME_DIR .. "src/devices/bus/pci/virge_pci.cpp",
+16 -8
View File
@@ -32,8 +32,8 @@ if CPU_INCLUDE_DRC then
MAME_DIR .. "src/devices/cpu/drcbeut.h",
MAME_DIR .. "src/devices/cpu/drccache.cpp",
MAME_DIR .. "src/devices/cpu/drccache.h",
MAME_DIR .. "src/devices/cpu/drcfe.cpp",
MAME_DIR .. "src/devices/cpu/drcfe.h",
MAME_DIR .. "src/devices/cpu/drcfe.ipp",
MAME_DIR .. "src/devices/cpu/drcuml.cpp",
MAME_DIR .. "src/devices/cpu/drcuml.h",
MAME_DIR .. "src/devices/cpu/uml.cpp",
@@ -283,8 +283,8 @@ if CPUS["ADSP2106X"] then
end
if opt_tool(CPUS, "ADSP2106X") then
table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sharc/sharcdsm.cpp")
table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sharc/sharcdsm.h")
table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sharc/sharc_dasm.cpp")
table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/sharc/sharc_dasm.h")
end
--------------------------------------------------
@@ -879,11 +879,13 @@ end
if CPUS["SH"] then
files {
MAME_DIR .. "src/devices/cpu/sh/sh_fe.cpp",
MAME_DIR .. "src/devices/cpu/sh/sh_fe.h",
MAME_DIR .. "src/devices/cpu/sh/sh.cpp",
MAME_DIR .. "src/devices/cpu/sh/sh.h",
MAME_DIR .. "src/devices/cpu/sh/sh2.cpp",
MAME_DIR .. "src/devices/cpu/sh/sh2.h",
MAME_DIR .. "src/devices/cpu/sh/sh2fe.cpp",
MAME_DIR .. "src/devices/cpu/sh/sh2fe.h",
MAME_DIR .. "src/devices/cpu/sh/sh3comn.cpp",
MAME_DIR .. "src/devices/cpu/sh/sh3comn.h",
MAME_DIR .. "src/devices/cpu/sh/sh4.cpp",
@@ -893,6 +895,7 @@ if CPUS["SH"] then
MAME_DIR .. "src/devices/cpu/sh/sh4dmac.cpp",
MAME_DIR .. "src/devices/cpu/sh/sh4dmac.h",
MAME_DIR .. "src/devices/cpu/sh/sh4fe.cpp",
MAME_DIR .. "src/devices/cpu/sh/sh4fe.h",
MAME_DIR .. "src/devices/cpu/sh/sh4regs.h",
MAME_DIR .. "src/devices/cpu/sh/sh4tmu.cpp",
MAME_DIR .. "src/devices/cpu/sh/sh4tmu.h",
@@ -940,6 +943,8 @@ if CPUS["SH"] then
MAME_DIR .. "src/devices/cpu/sh/sh7604_wdt.h",
MAME_DIR .. "src/devices/cpu/sh/sh7604.cpp",
MAME_DIR .. "src/devices/cpu/sh/sh7604.h",
MAME_DIR .. "src/devices/cpu/sh/sh7709s.h",
MAME_DIR .. "src/devices/cpu/sh/sh7709s.cpp",
}
end
@@ -1043,17 +1048,18 @@ if CPUS["E1"] then
files {
MAME_DIR .. "src/devices/cpu/e132xs/e132xs.cpp",
MAME_DIR .. "src/devices/cpu/e132xs/e132xs.h",
MAME_DIR .. "src/devices/cpu/e132xs/32xsdefs.h",
MAME_DIR .. "src/devices/cpu/e132xs/e132xsop.hxx",
MAME_DIR .. "src/devices/cpu/e132xs/e132xsfe.cpp",
MAME_DIR .. "src/devices/cpu/e132xs/e132xsdrc.cpp",
MAME_DIR .. "src/devices/cpu/e132xs/e132xsdrc_ops.hxx",
MAME_DIR .. "src/devices/cpu/e132xs/e132xsop.hxx",
MAME_DIR .. "src/devices/cpu/e132xs/e1defs.h",
MAME_DIR .. "src/devices/cpu/e132xs/e1fe.cpp",
MAME_DIR .. "src/devices/cpu/e132xs/e1fe.h",
}
end
if opt_tool(CPUS, "E1") then
table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/e132xs/32xsdasm.cpp")
table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/e132xs/32xsdasm.h")
table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/e132xs/e1dasm.cpp")
table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/e132xs/e1dasm.h")
end
--------------------------------------------------
@@ -3012,6 +3018,8 @@ if CPUS["TLCS900"] then
MAME_DIR .. "src/devices/cpu/tlcs900/900htbl.hxx",
MAME_DIR .. "src/devices/cpu/tlcs900/tmp94c241.cpp",
MAME_DIR .. "src/devices/cpu/tlcs900/tmp94c241.h",
MAME_DIR .. "src/devices/cpu/tlcs900/tmp94c241_serial.cpp",
MAME_DIR .. "src/devices/cpu/tlcs900/tmp94c241_serial.h",
MAME_DIR .. "src/devices/cpu/tlcs900/tmp95c061.cpp",
MAME_DIR .. "src/devices/cpu/tlcs900/tmp95c061.h",
MAME_DIR .. "src/devices/cpu/tlcs900/tmp95c063.cpp",
+14
View File
@@ -36,6 +36,8 @@ project "formats"
MAME_DIR .. "src/lib/formats/imageutl.cpp",
MAME_DIR .. "src/lib/formats/imageutl.h",
MAME_DIR .. "src/lib/formats/aiffile.cpp",
MAME_DIR .. "src/lib/formats/aiffile.h",
MAME_DIR .. "src/lib/formats/cassimg.cpp",
MAME_DIR .. "src/lib/formats/cassimg.h",
MAME_DIR .. "src/lib/formats/flacfile.cpp",
@@ -330,6 +332,18 @@ if opt_tool(FORMATS, "APPLIX_DSK") then
}
end
--------------------------------------------------
--
--@src/lib/formats/apricotpc_dsk.h,FORMATS["APRICOTPC_DSK"] = true
--------------------------------------------------
if opt_tool(FORMATS, "APRICOTPC_DSK") then
files {
MAME_DIR.. "src/lib/formats/apricotpc_dsk.cpp",
MAME_DIR.. "src/lib/formats/apricotpc_dsk.h",
}
end
--------------------------------------------------
--
--@src/lib/formats/apridisk.h,FORMATS["APRIDISK"] = true
+1 -1
View File
@@ -26,7 +26,7 @@ project "utils"
ext_includedir("utf8proc"),
}
if not _OPTIONS["with-system-utf8proc"] then
if _OPTIONS["with-system-utf8proc"] ~= "1" then
defines {
"UTF8PROC_STATIC",
}
+21
View File
@@ -2799,6 +2799,7 @@ end
--
--@src/devices/machine/nscsi_bus.h,MACHINES["NSCSI"] = true
--@src/devices/machine/nscsi_cb.h,MACHINES["NSCSI"] = true
--@src/devices/machine/nscsi_hle.h,MACHINES["NSCSI"] = true
---------------------------------------------------
if MACHINES["NSCSI"] then
@@ -2807,6 +2808,8 @@ if MACHINES["NSCSI"] then
MAME_DIR .. "src/devices/machine/nscsi_bus.h",
MAME_DIR .. "src/devices/machine/nscsi_cb.cpp",
MAME_DIR .. "src/devices/machine/nscsi_cb.h",
MAME_DIR .. "src/devices/machine/nscsi_hle.cpp",
MAME_DIR .. "src/devices/machine/nscsi_hle.h",
}
end
@@ -2895,6 +2898,10 @@ if MACHINES["PCI"] then
MAME_DIR .. "src/devices/machine/i82875p.h",
MAME_DIR .. "src/devices/machine/i6300esb.cpp",
MAME_DIR .. "src/devices/machine/i6300esb.h",
MAME_DIR .. "src/devices/machine/i82425ex_psc.cpp",
MAME_DIR .. "src/devices/machine/i82425ex_psc.h",
MAME_DIR .. "src/devices/machine/i82426ex_ib.cpp",
MAME_DIR .. "src/devices/machine/i82426ex_ib.h",
MAME_DIR .. "src/devices/machine/i82439hx.cpp",
MAME_DIR .. "src/devices/machine/i82439hx.h",
MAME_DIR .. "src/devices/machine/i82439tx.cpp",
@@ -2940,6 +2947,8 @@ if MACHINES["PCI"] then
MAME_DIR .. "src/devices/machine/sis7018_audio.h",
MAME_DIR .. "src/devices/machine/sis900_eth.cpp",
MAME_DIR .. "src/devices/machine/sis900_eth.h",
MAME_DIR .. "src/devices/machine/sis950_acpi.cpp",
MAME_DIR .. "src/devices/machine/sis950_acpi.h",
MAME_DIR .. "src/devices/machine/sis950_lpc.cpp",
MAME_DIR .. "src/devices/machine/sis950_lpc.h",
MAME_DIR .. "src/devices/machine/sis950_smbus.cpp",
@@ -4617,6 +4626,18 @@ if MACHINES["FDC37C93X"] then
}
end
---------------------------------------------------
--
--@src/devices/machine/i82091aa.h,MACHINES["I82091AA"] = true
---------------------------------------------------
if MACHINES["I82091AA"] then
files {
MAME_DIR .. "src/devices/machine/i82091aa.cpp",
MAME_DIR .. "src/devices/machine/i82091aa.h",
}
end
---------------------------------------------------
--
--@src/devices/machine/it8671f.h,MACHINES["IT8671F"] = true
+30 -2
View File
@@ -114,6 +114,24 @@ function sdlconfigcmd()
end
end
local function sdlpkgconfigcmd()
if _OPTIONS["SDL_PKGCONFIG_PATH"] then
return path.join(_OPTIONS["SDL_PKGCONFIG_PATH"],"pkg-config")
else
return pkgconfigcmd()
end
end
local function macosx_uses_libsdl_by_default()
if _OPTIONS["targetos"]~="macosx" then
return false
elseif _OPTIONS["SDL_INSTALL_ROOT"] then
return true
else
return os.execute(sdlpkgconfigcmd() .. " --exists sdl3")
end
end
newoption {
trigger = "MESA_INSTALL_ROOT",
@@ -179,7 +197,7 @@ newoption {
newoption {
trigger = "SDL_PKGCONFIG_PATH",
description = "Location of pkg-config command that knows about SDL. Useful for non-root Homebrew installs on Linux.",
description = "Location of pkg-config command that knows about SDL. Useful for non-default Homebrew installs.",
}
newoption {
@@ -187,6 +205,8 @@ newoption {
description = "Location of SDL framework for custom OS X installations",
}
local framework_path_default = (_OPTIONS["SDL_FRAMEWORK_PATH"] == nil)
-- SDL 3's framework now contains all Apple platforms in a single framework, so we need to
-- specifically ask for the macOS version.
if not _OPTIONS["SDL_FRAMEWORK_PATH"] then
@@ -202,10 +222,18 @@ newoption {
},
}
local use_libsdl_default = (_OPTIONS["USE_LIBSDL"] == nil)
if not _OPTIONS["USE_LIBSDL"] then
_OPTIONS["USE_LIBSDL"] = "0"
end
-- Prefer pkg-config/library installs on macOS when available, as that is the
-- common Homebrew layout. Preserve explicit framework and USE_LIBSDL choices.
if use_libsdl_default and framework_path_default and macosx_uses_libsdl_by_default() then
_OPTIONS["USE_LIBSDL"] = "1"
end
BASE_TARGETOS = "unix"
SDLOS_TARGETOS = "unix"
@@ -227,7 +255,6 @@ if BASE_TARGETOS=="unix" then
"-framework QuartzCore",
"-framework OpenGL",
"-framework IOKit",
"-rpath " .. _OPTIONS["SDL_FRAMEWORK_PATH"],
}
@@ -238,6 +265,7 @@ if BASE_TARGETOS=="unix" then
end
if _OPTIONS["USE_LIBSDL"]~="1" then
linkoptions {
"-rpath " .. _OPTIONS["SDL_FRAMEWORK_PATH"],
"-F" .. _OPTIONS["SDL_FRAMEWORK_PATH"],
}
links {
+12
View File
@@ -111,6 +111,18 @@ if SOUNDS["AC97"] then
}
end
---------------------------------------------------
-- SigmaTel STAC9704
--@src/devices/sound/ac97_stac9704.h,SOUNDS["AC97_STAC9704"] = true
---------------------------------------------------
if SOUNDS["AC97_STAC9704"] then
files {
MAME_DIR .. "src/devices/sound/ac97_stac9704.cpp",
MAME_DIR .. "src/devices/sound/ac97_stac9704.h",
}
end
---------------------------------------------------
-- Apple custom sound chips
+37
View File
@@ -787,6 +787,18 @@ if VIDEOS["K053936"] then
}
end
--------------------------------------------------
--
--@src/devices/video/ky3211_ky10510.h,VIDEOS["KY3211_KY10510"] = true
--------------------------------------------------
if VIDEOS["KY3211_KY10510"] then
files {
MAME_DIR .. "src/devices/video/ky3211_ky10510.cpp",
MAME_DIR .. "src/devices/video/ky3211_ky10510.h",
}
end
--------------------------------------------------
--
--@src/devices/video/lc7580.h,VIDEOS["LC7580"] = true
@@ -1171,6 +1183,19 @@ if VIDEOS["PC_VGA_PARADISE"] then
}
end
--------------------------------------------------
--
--@src/devices/video/pc_vga_video7.h,VIDEOS["PC_VGA_VIDEO7"] = true
--------------------------------------------------
if VIDEOS["PC_VGA_VIDEO7"] then
files {
MAME_DIR .. "src/devices/video/pc_vga_video7.cpp",
MAME_DIR .. "src/devices/video/pc_vga_video7.h",
}
end
--------------------------------------------------
--
--@src/devices/video/wd90c26.h,VIDEOS["WD90C26"] = true
@@ -1805,6 +1830,18 @@ if VIDEOS["X1_001"] then
}
end
--------------------------------------------------
--
--@src/devices/video/x1_020_dx_101.h,VIDEOS["X1_020_DX_101"] = true
--------------------------------------------------
if VIDEOS["X1_020_DX_101"] then
files {
MAME_DIR .. "src/devices/video/x1_020_dx_101.cpp",
MAME_DIR .. "src/devices/video/x1_020_dx_101.h",
}
end
--------------------------------------------------
--
--@src/devices/video/zeus2.h,VIDEOS["ZEUS2"] = true
+1 -4
View File
@@ -40,10 +40,7 @@ public:
a2bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&a2bus_tag, U &&opts, const char *dflt)
: a2bus_slot_device(mconfig, tag, owner, clock)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<U>(opts), dflt, false);
m_a2bus.set_tag(std::forward<T>(a2bus_tag));
}
a2bus_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+1 -4
View File
@@ -33,10 +33,7 @@ public:
a2eauxslot_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&slottag, U &&opts, char const *dflt)
: a2eauxslot_slot_device(mconfig, tag, owner, 0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<U>(opts), dflt, false);
m_a2eauxslot.set_tag(std::forward<T>(slottag));
}
+5 -4
View File
@@ -54,7 +54,7 @@ DEFINE_DEVICE_TYPE(A2BUS_HSSCSI, a2bus_hsscsi_device, "a2hsscsi", "Apple II High
#define SCSI_ROM_REGION "scsi_rom"
#define SCSI_BUS_TAG "scsibus"
#define SCSI_5380_TAG "scsibus:7:ncr5380"
#define SCSI_5380_TAG "ncr5380"
ROM_START( hsscsi )
ROM_REGION(0x8000, SCSI_ROM_REGION, 0)
@@ -79,9 +79,10 @@ void a2bus_hsscsi_device::device_add_mconfig(machine_config &config)
NSCSI_CONNECTOR(config, "scsibus:4", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsibus:5", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsibus:6", default_scsi_devices, "harddisk", false);
NSCSI_CONNECTOR(config, "scsibus:7").option_set("ncr5380", NCR53C80).machine_config([this](device_t *device) {
downcast<ncr53c80_device &>(*device).drq_handler().set(*this, FUNC(a2bus_hsscsi_device::drq_w));
});
NCR53C80(config, m_ncr5380);
m_scsibus->set_external_device(7, m_ncr5380);
m_ncr5380->drq_handler().set(DEVICE_SELF, FUNC(a2bus_hsscsi_device::drq_w));
}
//-------------------------------------------------
+5 -4
View File
@@ -52,7 +52,7 @@ DEFINE_DEVICE_TYPE(A2BUS_SCSI, a2bus_scsi_device, "a2scsi", "Apple II SCSI Card"
#define SCSI_ROM_REGION "scsi_rom"
#define SCSI_BUS_TAG "scsibus"
#define SCSI_5380_TAG "scsibus:7:ncr5380"
#define SCSI_5380_TAG "ncr5380"
ROM_START( scsi )
ROM_REGION(0x4000, SCSI_ROM_REGION, 0) // this is the Rev. C ROM
@@ -77,9 +77,10 @@ void a2bus_scsi_device::device_add_mconfig(machine_config &config)
NSCSI_CONNECTOR(config, "scsibus:4", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsibus:5", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsibus:6", default_scsi_devices, "harddisk", false);
NSCSI_CONNECTOR(config, "scsibus:7").option_set("ncr5380", NCR5380).machine_config([this](device_t *device) {
downcast<ncr5380_device &>(*device).drq_handler().set(*this, FUNC(a2bus_scsi_device::drq_w));
});
NCR5380(config, m_ncr5380);
m_scsibus->set_external_device(7, m_ncr5380);
m_ncr5380->drq_handler().set(DEVICE_SELF, FUNC(a2bus_scsi_device::drq_w));
// SOFTWARE_LIST(config, "cd_apple_dev").set_original("apple_devcd");
}
+211
View File
@@ -0,0 +1,211 @@
// license:BSD-3-Clause
// copyright-holders:AJR
/*********************************************************************
Apple II (High-Speed) Serial Interface Card (A2B0005, 670-X005)
This was Apple's second attempt at an RS-232 serial interface,
announced in 1978 but not released until 1979. Unlike the earlier
Communications Card, it uses neither an UART nor a clock divider
circuit, instead providing bitbanged half-duplex communications
at a baud rate determined by firmware delay loops. (In practice,
however, the firmware's normal mode spends so much time post-
processing each received character that continuous reception of
any data stream tends to fail even at low baud rates.)
**********************************************************************/
#include "emu.h"
#include "a2sic.h"
#include "bus/rs232/rs232.h"
namespace {
class a2sic_device : public device_t, public device_a2bus_card_interface
{
public:
// device type constructor
a2sic_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
protected:
// device_t implementation
virtual void device_start() override ATTR_COLD;
virtual void device_reset() override ATTR_COLD;
virtual ioport_constructor device_input_ports() const override ATTR_COLD;
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
virtual const tiny_rom_entry *device_rom_region() const override ATTR_COLD;
// device_a2bus_card_interface implementation
virtual u8 read_c0nx(u8 offset) override;
virtual void write_c0nx(u8 offset, u8 data) override;
virtual u8 read_cnxx(u8 offset) override;
virtual u8 read_c800(u16 offset) override;
virtual bool take_c800() const override;
virtual void reset_from_bus() override;
private:
// line handlers
void cts_loopback_w(int state);
void dsr_loopback_w(int state);
// object finders
required_device<rs232_port_device> m_rs232;
required_region_ptr<u8> m_p7;
required_region_ptr<u8> m_p8;
required_ioport m_switches;
// internal state
bool m_cts;
bool m_dsr;
};
//**************************************************************************
// DEVICE IMPLEMENTATION
//**************************************************************************
a2sic_device::a2sic_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: device_t(mconfig, A2BUS_SIC, tag, owner, clock)
, device_a2bus_card_interface(mconfig, *this)
, m_rs232(*this, "rs232")
, m_p7(*this, "p7")
, m_p8(*this, "p8")
, m_switches(*this, "SWITCHES")
, m_cts(false)
, m_dsr(false)
{
}
void a2sic_device::device_start()
{
save_item(NAME(m_cts));
save_item(NAME(m_dsr));
}
void a2sic_device::device_reset()
{
reset_from_bus();
m_rs232->write_rts(m_cts);
m_rs232->write_dtr(m_dsr);
}
u8 a2sic_device::read_c0nx(u8 offset)
{
u8 result = m_switches->read() | m_rs232->rxd_r() << 7;
// clock A0 into 74LS109 flip-flop (inverted output)
if (!machine().side_effects_disabled())
m_rs232->write_txd(!BIT(offset, 0));
return result;
}
void a2sic_device::write_c0nx(u8 offset, u8 data)
{
m_rs232->write_txd(!BIT(offset, 0));
}
u8 a2sic_device::read_cnxx(u8 offset)
{
return m_p7[offset];
}
u8 a2sic_device::read_c800(u16 offset)
{
if (BIT(offset, 9))
return 0xff; // TODO: select open bus
else
return m_p8[offset & 0x1ff];
}
bool a2sic_device::take_c800() const
{
return true;
}
void a2sic_device::reset_from_bus()
{
m_rs232->write_txd(1);
}
void a2sic_device::cts_loopback_w(int state)
{
if (m_cts != bool(state))
{
m_cts = state;
m_rs232->write_rts(state);
}
}
void a2sic_device::dsr_loopback_w(int state)
{
if (m_dsr != bool(state))
{
m_dsr = state;
m_rs232->write_dtr(state);
}
}
static INPUT_PORTS_START(a2sic)
PORT_START("SWITCHES")
PORT_DIPNAME(0x07, 0x06, "Baud Rate") PORT_DIPLOCATION("SW1:1,2,3")
PORT_DIPSETTING(0x00, "110")
PORT_DIPSETTING(0x01, "134.5")
PORT_DIPSETTING(0x02, "300")
PORT_DIPSETTING(0x03, "1200")
PORT_DIPSETTING(0x04, "2400")
PORT_DIPSETTING(0x05, "4800")
PORT_DIPSETTING(0x06, "9600")
PORT_DIPSETTING(0x07, "19200")
PORT_DIPNAME(0x08, 0x08, "Carriage Return Delay") PORT_DIPLOCATION("SW1:4")
PORT_DIPSETTING(0x08, DEF_STR(Off))
PORT_DIPSETTING(0x00, DEF_STR(On))
PORT_DIPNAME(0x30, 0x00, "Line Width") PORT_DIPLOCATION("SW1:5,6")
PORT_DIPSETTING(0x00, "40 (Video Enabled)")
PORT_DIPSETTING(0x10, "72 (Video Disabled)")
PORT_DIPSETTING(0x20, "80 (Video Disabled)")
PORT_DIPSETTING(0x30, "132 (Video Disabled)")
PORT_DIPNAME(0x40, 0x00, "Line Feed After Carriage Return") PORT_DIPLOCATION("SW1:7")
PORT_DIPSETTING(0x00, DEF_STR(Off))
PORT_DIPSETTING(0x40, DEF_STR(On))
INPUT_PORTS_END
ioport_constructor a2sic_device::device_input_ports() const
{
return INPUT_PORTS_NAME(a2sic);
}
void a2sic_device::device_add_mconfig(machine_config &config)
{
RS232_PORT(config, m_rs232, default_rs232_devices, nullptr);
m_rs232->cts_handler().set(FUNC(a2sic_device::cts_loopback_w));
m_rs232->dsr_handler().set(FUNC(a2sic_device::dsr_loopback_w));
}
ROM_START(a2sic)
ROM_SYSTEM_BIOS(0, "r4", "Revision 4")
ROM_SYSTEM_BIOS(1, "r3", "Revision 3")
ROM_REGION(0x100, "p7", 0)
ROMX_LOAD("341-0017.p7", 0x000, 0x100, CRC(5be57c50) SHA1(897c92517566f74b179165b8c7b1c9a9df89f014), ROM_BIOS(0)) // probably 317-0017-04 (P7-04)
ROMX_LOAD("p7-03", 0x000, 0x100, CRC(99d96608) SHA1(3abc7054f00fd09cc9ee7e76df913912990452f5), ROM_BIOS(1)) // from published listing dated July 21, 1978
ROM_REGION(0x200, "p8", 0)
ROMX_LOAD("341-0048.p8a", 0x000, 0x200, CRC(361c0462) SHA1(369fb95586efa184025d4770ae3686517b13598b), ROM_BIOS(0))
ROMX_LOAD("p8-01", 0x000, 0x200, CRC(7eafe564) SHA1(8ff44e892b2510573e9528d781b60429c38dbe30), ROM_BIOS(1)) // from published listing dated July 21, 1978
ROM_END
const tiny_rom_entry *a2sic_device::device_rom_region() const
{
return ROM_NAME(a2sic);
}
} // anonymous namespace
//**************************************************************************
// GLOBAL VARIABLES
//**************************************************************************
// device type definition
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_SIC, device_a2bus_card_interface, a2sic_device, "a2sic", "Apple II Serial Interface Card")
+12
View File
@@ -0,0 +1,12 @@
// license:BSD-3-Clause
// copyright-holders:AJR
#ifndef MAME_BUS_A2BUS_A2SIC_H
#define MAME_BUS_A2BUS_A2SIC_H
#include "a2bus.h"
// device type declarations
DECLARE_DEVICE_TYPE(A2BUS_SIC, device_a2bus_card_interface)
#endif // MAME_BUS_A2BUS_A2SIC_H
+7
View File
@@ -33,6 +33,7 @@
#include "a2sam.h"
#include "a2scsi.h"
#include "a2sd.h"
#include "a2sic.h"
#include "a2softcard.h"
#include "a2ssc.h"
#include "a2superdrive.h"
@@ -70,6 +71,7 @@
#include "ssbapple.h"
#include "ssprite.h"
#include "suprterminal.h"
#include "sweetalk.h"
#include "timemasterho.h"
#include "titan3plus2.h"
#include "transwarp.h"
@@ -161,6 +163,8 @@ void apple2_cards(device_slot_interface &device)
device.option_add("romcardfp", A2BUS_ROMCARDFP); // Apple II ROM Card with Autostart Monitor + Applesoft BASIC
device.option_add("romcardint", A2BUS_ROMCARDINT); // Apple II ROM Card with Autostart Monitor + Integer BASIC
device.option_add("ap2", A2BUS_IBSAP2); // IBS Computertechnik AP 2 Serial Interface
device.option_add("sic", A2BUS_SIC); // Apple II Serial Interface Card
device.option_add("sweetalk", A2BUS_SWEETALK); // Micromint Sweet Talker Phonetic Speech Synthesizer Interface
}
void apple2e_cards(device_slot_interface &device)
@@ -248,6 +252,8 @@ void apple2e_cards(device_slot_interface &device)
device.option_add("romcardfp", A2BUS_ROMCARDFP); // Apple II ROM Card with Autostart Monitor + Applesoft BASIC
device.option_add("romcardint", A2BUS_ROMCARDINT); // Apple II ROM Card with Autostart Monitor + Integer BASIC
device.option_add("ap2", A2BUS_IBSAP2); // IBS Computertechnik AP 2 Serial Interface
device.option_add("sic", A2BUS_SIC); // Apple II Serial Interface Card
device.option_add("sweetalk", A2BUS_SWEETALK); // Micromint Sweet Talker Phonetic Speech Synthesizer Interface
}
void apple2gs_cards(device_slot_interface &device)
@@ -324,6 +330,7 @@ void apple2gs_cards(device_slot_interface &device)
device.option_add("wicotrackball", A2BUS_WICOTRACKBALL); // Wico Trackball
device.option_add("ieee488", A2BUS_IEEE488); // Apple II IEEE-488 Interface Card
device.option_add("ap2", A2BUS_IBSAP2); // IBS Computertechnik AP 2 Serial Interface
device.option_add("sweetalk", A2BUS_SWEETALK); // Micromint Sweet Talker Phonetic Speech Synthesizer Interface
}
void apple3_cards(device_slot_interface &device)
+3 -2
View File
@@ -42,7 +42,7 @@ DEFINE_DEVICE_TYPE(A2BUS_CMSSCSI, a2bus_cmsscsi_device, "cmsscsi", "CMS SCSI II
#define SCSI_ROM_REGION "scsi_rom"
#define SCSI_BUS_TAG "scsibus"
#define SCSI_5380_TAG "scsibus:7:ncr5380"
#define SCSI_5380_TAG "ncr5380"
ROM_START( scsi )
ROM_REGION(0x4000, SCSI_ROM_REGION, 0)
@@ -72,7 +72,8 @@ void a2bus_cmsscsi_device::device_add_mconfig(machine_config &config)
NSCSI_CONNECTOR(config, "scsibus:4", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsibus:5", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsibus:6", default_scsi_devices, "harddisk", false);
NSCSI_CONNECTOR(config, "scsibus:7").option_set("ncr5380", NCR5380);
NCR5380(config, m_ncr5380);
m_scsibus->set_external_device(7, m_ncr5380);
}
//-------------------------------------------------
+19 -26
View File
@@ -119,7 +119,7 @@ void a2bus_sider_device::device_add_mconfig(machine_config &config)
NSCSI_CONNECTOR(config, "sasibus:4", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "sasibus:5", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "sasibus:6", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "sasibus:7", default_scsi_devices, "scsicb", true).option_add_internal("scsicb", NSCSI_CB);
m_sasibus->set_external_device(7, *this);
}
//-------------------------------------------------
@@ -142,9 +142,9 @@ const tiny_rom_entry *a2bus_sider1card_device::device_rom_region() const
a2bus_sider_device::a2bus_sider_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, type, tag, owner, clock),
nscsi_device_interface(mconfig, *this),
device_a2bus_card_interface(mconfig, *this),
m_sasibus(*this, "sasibus"),
m_sasi(*this, "sasibus:7:scsicb"),
m_rom(*this, SASI_ROM_REGION),
m_latch(0xff),
m_control(0)
@@ -193,19 +193,19 @@ uint8_t a2bus_sider_device::read_c0nx(uint8_t offset)
// b5: I/O
// b6: C/D
// b7: REQ
rv |= m_sasi->req_r() ? 0x80 : 0;
rv |= m_sasi->cd_r() ? 0x40 : 0;
rv |= m_sasi->io_r() ? 0x20 : 0;
rv |= m_sasi->msg_r() ? 0x10 : 0;
rv |= m_sasi->bsy_r() ? 0x08 : 0;
rv |= m_scsi_bus->ctrl_r() & S_REQ ? 0x80 : 0;
rv |= m_scsi_bus->ctrl_r() & S_CTL ? 0x40 : 0;
rv |= m_scsi_bus->ctrl_r() & S_INP ? 0x20 : 0;
rv |= m_scsi_bus->ctrl_r() & S_MSG ? 0x10 : 0;
rv |= m_scsi_bus->ctrl_r() & S_BSY ? 0x08 : 0;
return rv;
case 1:
rv = m_sasi->read();
if ((m_sasi->req_r()) && (m_sasi->io_r()))
rv = m_scsi_bus->data_r();
if ((m_scsi_bus->ctrl_r() & S_REQ) && (m_scsi_bus->ctrl_r() & S_INP))
{
m_sasi->ack_w(1);
m_sasi->ack_w(0);
m_scsi_bus->ctrl_w(m_scsi_refid, S_ACK, S_ACK);
m_scsi_bus->ctrl_w(m_scsi_refid, 0, S_ACK);
}
return rv;
@@ -230,13 +230,13 @@ void a2bus_sider_device::write_c0nx(uint8_t offset, uint8_t data)
m_latch = data;
if (!(m_control & 0x10))
{
m_sasi->write(m_latch);
m_scsi_bus->data_w(m_scsi_refid, m_latch);
if (m_sasi->req_r())
if (m_scsi_bus->ctrl_r() & S_REQ)
{
m_sasi->ack_w(1);
m_sasi->write(0); // stop driving the data lines
m_sasi->ack_w(0);
m_scsi_bus->ctrl_w(m_scsi_refid, S_ACK, S_ACK);
m_scsi_bus->data_w(m_scsi_refid, 0); // stop driving the data lines
m_scsi_bus->ctrl_w(m_scsi_refid, 0, S_ACK);
}
}
break;
@@ -247,16 +247,9 @@ void a2bus_sider_device::write_c0nx(uint8_t offset, uint8_t data)
// b6: /BSY
// b7: /SEL (error in note on A2DP's schematic; BSY and SEL are the same polarity from the 6502's POV)
m_control = data;
m_sasi->sel_w((data & 0x80) ? 1 : 0);
m_sasi->bsy_w((data & 0x40) ? 1 : 0);
if (data & 0x20)
{
m_sasibus->reset();
}
else if (!(data & 0x10))
{
m_sasi->write(m_latch);
}
m_scsi_bus->ctrl_w(m_scsi_refid, ((data & 0x80) ? S_SEL : 0) | ((data & 0x40) ? S_BSY : 0) | ((data & 0x20) ? S_RST : 0), S_SEL|S_BSY|S_RST);
if (!(data & 0x10))
m_scsi_bus->data_w(m_scsi_refid, m_latch);
break;
default:
+1 -2
View File
@@ -16,7 +16,6 @@
#include "a2bus.h"
#include "bus/nscsi/devices.h"
#include "machine/nscsi_bus.h"
#include "machine/nscsi_cb.h"
//**************************************************************************
// TYPE DEFINITIONS
@@ -24,6 +23,7 @@
class a2bus_sider_device:
public device_t,
public nscsi_device_interface,
public device_a2bus_card_interface
{
protected:
@@ -43,7 +43,6 @@ protected:
virtual bool take_c800() const override { return true; }
required_device<nscsi_bus_device> m_sasibus;
required_device<nscsi_callback_device> m_sasi;
required_region_ptr<u8> m_rom;
private:
+73
View File
@@ -0,0 +1,73 @@
// license:BSD-3-Clause
// copyright-holders:AJR
/*********************************************************************
Sweet Talker Phonetic Speech Synthesizer Interface
(The Micromint Inc.)
**********************************************************************/
#include "emu.h"
#include "sweetalk.h"
#include "sound/votrax.h"
#include "speaker.h"
namespace {
class sweetalk_device : public device_t, public device_a2bus_card_interface
{
public:
// device type constructor
sweetalk_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
protected:
// device_t implementation
virtual void device_start() override ATTR_COLD;
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
// device_a2bus_card_interface implementation
virtual u8 read_cnxx(u8 offset) override;
virtual void write_cnxx(u8 offset, u8 data) override;
private:
// object finders
required_device<votrax_sc01_device> m_sc01;
};
sweetalk_device::sweetalk_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: device_t(mconfig, A2BUS_SWEETALK, tag, owner, clock)
, device_a2bus_card_interface(mconfig, *this)
, m_sc01(*this, "sc01")
{
}
void sweetalk_device::device_start()
{
}
u8 sweetalk_device::read_cnxx(u8 offset)
{
// lower 7 bits are actually open bus
return m_sc01->request() ? 0x80 : 0;
}
void sweetalk_device::write_cnxx(u8 offset, u8 data)
{
m_sc01->write(data);
m_sc01->inflection_w(~data >> 6);
}
void sweetalk_device::device_add_mconfig(machine_config &config)
{
// "The frequency is adjusted through potentiometer R8 and nominally set for 720 KHz." (owner's manual, p. 5)
VOTRAX_SC01A(config, m_sc01, 720'000);
m_sc01->add_route(ALL_OUTPUTS, "speaker", 0.8);
SPEAKER(config, "speaker").front_center();
}
} // anonymous namespace
// device type definition
DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_SWEETALK, device_a2bus_card_interface, sweetalk_device, "sweetalk", "Micromint Sweet Talker Phonetic Speech Synthesizer Interface")
+12
View File
@@ -0,0 +1,12 @@
// license:BSD-3-Clause
// copyright-holders:AJR
#ifndef MAME_BUS_A2BUS_SWEETALK_H
#define MAME_BUS_A2BUS_SWEETALK_H
#include "a2bus.h"
// device type definition
DECLARE_DEVICE_TYPE(A2BUS_SWEETALK, device_a2bus_card_interface)
#endif // MAME_BUS_A2BUS_SWEETALK_H
+1 -4
View File
@@ -33,10 +33,7 @@ public:
a2kbd_connector_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
: a2kbd_connector_device(mconfig, tag, owner, 0U)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
// standard options
+1 -4
View File
@@ -92,10 +92,7 @@ public:
a78_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock, T &&opts, char const *dflt)
: a78_cart_slot_device(mconfig, tag, owner, clock)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
a78_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~a78_cart_slot_device();
+36 -77
View File
@@ -39,8 +39,6 @@ Notes:
#include "emu.h"
#include "lux4105.h"
#include "bus/scsi/scsihd.h"
#include "bus/scsi/s1410.h"
@@ -69,17 +67,9 @@ DEFINE_DEVICE_TYPE(LUXOR_4105, luxor_4105_device, "lux4105", "Luxor 4105")
void luxor_4105_device::device_add_mconfig(machine_config &config)
{
NSCSI_BUS(config, "sasi");
auto &sasi(NSCSI_BUS(config, "sasi"));
NSCSI_CONNECTOR(config, "sasi:0", default_scsi_devices, "s1410");
NSCSI_CONNECTOR(config, "sasi:7", default_scsi_devices, "scsicb", true)
.option_add_internal("scsicb", NSCSI_CB)
.machine_config([this](device_t* device) {
downcast<nscsi_callback_device&>(*device).cd_callback().set(*this, FUNC(luxor_4105_device::write_sasi_cd));
downcast<nscsi_callback_device&>(*device).bsy_callback().set(*this, FUNC(luxor_4105_device::write_sasi_bsy));
downcast<nscsi_callback_device&>(*device).req_callback().set(*this, FUNC(luxor_4105_device::write_sasi_req));
downcast<nscsi_callback_device&>(*device).msg_callback().set(*this, FUNC(luxor_4105_device::write_sasi_msg));
downcast<nscsi_callback_device&>(*device).io_callback().set(*this, FUNC(luxor_4105_device::write_sasi_io));
});
sasi.set_external_device(7, *this);
}
@@ -138,8 +128,8 @@ ioport_constructor luxor_4105_device::device_input_ports() const
luxor_4105_device::luxor_4105_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, LUXOR_4105, tag, owner, clock),
nscsi_device_interface(mconfig, *this),
device_abcbus_card_interface(mconfig, *this),
m_sasi(*this, "sasi:7:scsicb"),
m_1e(*this, "1E"),
m_5e(*this, "5E"),
m_cs(false),
@@ -186,18 +176,20 @@ void luxor_4105_device::internal_reset()
m_data_out = 0;
m_sasi->sel_w(0);
m_scsi_bus->ctrl_w(m_scsi_refid, 0, S_SEL);
m_sasi->rst_w(1);
m_sasi->rst_w(0);
m_scsi_bus->ctrl_w(m_scsi_refid, S_RST, S_RST);
m_scsi_bus->ctrl_w(m_scsi_refid, 0, S_RST);
m_scsi_bus->ctrl_wait(m_scsi_refid, S_BSY|S_REQ|S_CTL|S_MSG|S_INP, S_ALL);
}
void luxor_4105_device::update_dma()
{
// TRRQ
bool req = m_sasi->req_r() && !m_req;
bool cd = m_sasi->cd_r();
bool req = (m_scsi_bus->ctrl_r() & S_REQ) && !m_req;
bool cd = m_scsi_bus->ctrl_r() & S_CTL;
m_trrq = !(req && !cd);
if (DMA_O2)
{
@@ -208,14 +200,14 @@ void luxor_4105_device::update_dma()
update_ack();
req = m_sasi->req_r() && !m_req;
req = (m_scsi_bus->ctrl_r() & S_REQ) && !m_req;
m_trrq = !(req && !cd);
}
}
m_slot->trrq_w(DMA_O2 ? m_trrq : 1);
// DRQ
bool io = m_sasi->io_r();
bool io = m_scsi_bus->ctrl_r() & S_INP;
m_drq = (!((!cd || !io) && !(!cd && !DMA_O2))) && req;
// IRQ
@@ -231,13 +223,13 @@ void luxor_4105_device::update_dma()
{
irq = 0;
}
m_slot->irq_w(!irq);
m_slot->irq_w(irq);
}
void luxor_4105_device::update_ack()
{
m_sasi->ack_w(m_sasi->req_r() && (m_sasi->msg_r() || m_req));
m_scsi_bus->ctrl_w(m_scsi_refid, (m_scsi_bus->ctrl_r() & S_REQ && (m_scsi_bus->ctrl_r() & S_MSG || m_req)) ? S_ACK : 0, S_ACK);
}
@@ -273,66 +265,33 @@ void luxor_4105_device::write_sasi_data(uint8_t data)
{
m_data_out = data;
if (!m_sasi->io_r())
if (!(m_scsi_bus->ctrl_r() & S_INP))
{
m_sasi->write(data);
m_scsi_bus->data_w(m_scsi_refid, data);
}
// clock REQ FF
m_req = m_sasi->req_r();
m_req = m_scsi_bus->ctrl_r() & S_REQ;
update_ack();
update_dma();
}
void luxor_4105_device::write_sasi_bsy(int state)
void luxor_4105_device::scsi_ctrl_changed()
{
if (state)
{
m_sasi->sel_w(0);
}
}
if (m_scsi_bus->ctrl_r() & S_BSY)
m_scsi_bus->ctrl_w(m_scsi_refid, 0, S_SEL);
void luxor_4105_device::write_sasi_cd(int state)
{
update_dma();
}
void luxor_4105_device::write_sasi_req(int state)
{
if (LOG) logerror("%s REQ %u\n", machine().describe_context(), state);
if (!state)
{
if (!(m_scsi_bus->ctrl_r() & S_REQ))
// reset REQ FF
m_req = 0;
}
update_ack();
update_dma();
}
void luxor_4105_device::write_sasi_msg(int state)
{
update_ack();
}
void luxor_4105_device::write_sasi_io(int state)
{
if (state)
{
m_sasi->write(0);
}
if (m_scsi_bus->ctrl_r() & S_INP)
m_scsi_bus->data_w(m_scsi_refid, 0);
else
{
m_sasi->write(m_data_out);
}
m_scsi_bus->data_w(m_scsi_refid, m_data_out);
update_ack();
update_dma();
}
@@ -382,10 +341,10 @@ uint8_t luxor_4105_device::abcbus_stat()
*/
data = m_sasi->req_r() && !m_req;
data |= !m_sasi->cd_r() << 1;
data |= m_sasi->bsy_r() << 2;
data |= !m_sasi->io_r() << 3;
data = m_scsi_bus->ctrl_r() & S_REQ && !m_req;
data |= m_scsi_bus->ctrl_r() & S_CTL ? 0 : 2;
data |= m_scsi_bus->ctrl_r() & S_BSY ? 4 : 0;
data |= m_scsi_bus->ctrl_r() & S_INP ? 0 : 8;
data |= !DMA_O3 << 5;
data |= !m_pren << 6;
@@ -406,9 +365,9 @@ uint8_t luxor_4105_device::abcbus_inp()
if (m_cs)
{
if (m_sasi->bsy_r())
if (m_scsi_bus->ctrl_r() & S_BSY)
{
data = m_sasi->read();
data = m_scsi_bus->data_r();
}
else
{
@@ -416,7 +375,7 @@ uint8_t luxor_4105_device::abcbus_inp()
}
// clock REQ FF
m_req = m_sasi->req_r();
m_req = m_scsi_bus->ctrl_r() & S_REQ;
update_ack();
update_dma();
@@ -453,7 +412,7 @@ void luxor_4105_device::abcbus_c1(uint8_t data)
{
if (LOG) logerror("%s SELECT\n", machine().describe_context());
m_sasi->sel_w(1);
m_scsi_bus->ctrl_w(m_scsi_refid, S_SEL, S_SEL);
}
}
@@ -498,13 +457,13 @@ uint8_t luxor_4105_device::abcbus_tren()
if (DMA_O2)
{
if (m_sasi->bsy_r())
if (m_scsi_bus->ctrl_r() & S_BSY)
{
data = m_sasi->read();
data = m_scsi_bus->data_r();
}
// clock REQ FF
m_req = m_sasi->req_r();
m_req = m_scsi_bus->ctrl_r() & S_REQ;
update_ack();
update_dma();
+4 -8
View File
@@ -15,7 +15,6 @@
#include "abcbus.h"
#include "bus/nscsi/devices.h"
#include "machine/nscsi_bus.h"
#include "machine/nscsi_cb.h"
@@ -26,6 +25,7 @@
// ======================> luxor_4105_device
class luxor_4105_device : public device_t,
public nscsi_device_interface,
public device_abcbus_card_interface
{
public:
@@ -54,6 +54,9 @@ protected:
virtual void abcbus_tren(uint8_t data) override;
virtual void abcbus_prac(int state) override;
// nscsi_device_interface overrides
virtual void scsi_ctrl_changed() override;
private:
void internal_reset();
void update_ack();
@@ -61,13 +64,6 @@ private:
void write_dma_register(uint8_t data);
void write_sasi_data(uint8_t data);
void write_sasi_bsy(int state);
void write_sasi_cd(int state);
void write_sasi_req(int state);
void write_sasi_msg(int state);
void write_sasi_io(int state);
required_device<nscsi_callback_device> m_sasi;
required_ioport m_1e;
required_ioport m_5e;
+7 -10
View File
@@ -46,7 +46,7 @@ a590_device::a590_device(const machine_config &mconfig, const char *tag, device_
device_amiga_cpuslot_interface(mconfig, *this),
m_irq(*this, "irq"),
m_dmac(*this, "dmac"),
m_wdc(*this, "scsi:7:wdc"),
m_wdc(*this, "wdc"),
m_xt(*this, "xt"),
m_jp1(*this, "jp1"),
m_dip(*this, "dip"),
@@ -167,13 +167,6 @@ const tiny_rom_entry *a590_device::device_rom_region() const
// MACHINE DEFINITIONS
//**************************************************************************
void a590_device::wd33c93_config(device_t *device)
{
device->set_clock(28.37516_MHz_XTAL / 4); // 7M
downcast<wd33c93a_device *>(device)->irq_cb().set(m_irq, FUNC(input_merger_any_high_device::in_w<0>));
downcast<wd33c93a_device *>(device)->drq_cb().set(m_dmac, FUNC(amiga_dmac_device::sdreq_w));
}
void a590_device::device_add_mconfig(machine_config &config)
{
AMIGA_DMAC_REV2(config, m_dmac, 28.37516_MHz_XTAL / 4); // 7M
@@ -191,14 +184,18 @@ void a590_device::device_add_mconfig(machine_config &config)
INPUT_MERGER_ANY_HIGH(config, m_irq);
m_irq->output_handler().set(m_dmac, FUNC(amiga_dmac_device::intx_w));
NSCSI_BUS(config, "scsi", 0);
auto &scsi(NSCSI_BUS(config, "scsi"));
NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:7").option_set("wdc", WD33C93A).machine_config([this] (device_t *device) { wd33c93_config(device); });
WD33C93A(config, m_wdc, 28.37516_MHz_XTAL / 4); // 7M
scsi.set_external_device(7, m_wdc);
m_wdc->irq_cb().set(m_irq, FUNC(input_merger_any_high_device::in_w<0>));
m_wdc->drq_cb().set(m_dmac, FUNC(amiga_dmac_device::sdreq_w));
XT_HDC(config, m_xt, 0);
m_xt->irq_handler().set(m_irq, FUNC(input_merger_any_high_device::in_w<1>));
-2
View File
@@ -40,8 +40,6 @@ protected:
virtual void rst_w(int state) override;
private:
void wd33c93_config(device_t *device);
uint8_t xt_r(offs_t offset);
void xt_w(offs_t offset, uint8_t data);
uint8_t dip_r(offs_t offset);
+1 -4
View File
@@ -35,10 +35,7 @@ public:
amiga_keyboard_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
: amiga_keyboard_bus_device(mconfig, tag, owner, 0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
amiga_keyboard_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0U);
virtual ~amiga_keyboard_bus_device();
+7 -10
View File
@@ -47,7 +47,7 @@ a2091_device::a2091_device(const machine_config &mconfig, const char *tag, devic
device_zorro2_card_interface(mconfig, *this),
m_irq(*this, "irq"),
m_dmac(*this, "dmac"),
m_wdc(*this, "scsi:7:wdc"),
m_wdc(*this, "wdc"),
m_xt(*this, "xt"),
m_jp1(*this, "jp1"),
m_ram_size(0)
@@ -151,13 +151,6 @@ const tiny_rom_entry *a2091_device::device_rom_region() const
// MACHINE DEFINITIONS
//**************************************************************************
void a2091_device::wd33c93_config(device_t *device)
{
device->set_clock(28.37516_MHz_XTAL / 4); // 7M
downcast<wd33c93a_device *>(device)->irq_cb().set(m_irq, FUNC(input_merger_any_high_device::in_w<0>));
downcast<wd33c93a_device *>(device)->drq_cb().set(m_dmac, FUNC(amiga_dmac_device::sdreq_w));
}
void a2091_device::device_add_mconfig(machine_config &config)
{
AMIGA_DMAC_REV2(config, m_dmac, 28.37516_MHz_XTAL / 4); // 7M
@@ -175,14 +168,18 @@ void a2091_device::device_add_mconfig(machine_config &config)
INPUT_MERGER_ANY_HIGH(config, m_irq);
m_irq->output_handler().set(m_dmac, FUNC(amiga_dmac_device::intx_w));
NSCSI_BUS(config, "scsi", 0);
auto &scsi(NSCSI_BUS(config, "scsi"));
NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:3", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:7").option_set("wdc", WD33C93A).machine_config([this] (device_t *device) { wd33c93_config(device); });
WD33C93A(config, m_wdc, 28.37516_MHz_XTAL / 4); // 7M
scsi.set_external_device(7, m_wdc);
m_wdc->irq_cb().set(m_irq, FUNC(input_merger_any_high_device::in_w<0>));
m_wdc->drq_cb().set(m_dmac, FUNC(amiga_dmac_device::sdreq_w));
XT_HDC(config, m_xt, 0);
m_xt->irq_handler().set(m_irq, FUNC(input_merger_any_high_device::in_w<1>));
-2
View File
@@ -40,8 +40,6 @@ protected:
virtual void busrst_w(int state) override;
private:
void wd33c93_config(device_t *device);
uint8_t xt_r(offs_t offset);
void xt_w(offs_t offset, uint8_t data);
+7 -7
View File
@@ -63,7 +63,7 @@ private:
oktagon2008_device::oktagon2008_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, AMIGA_OKTAGON2008, tag, owner, clock)
, device_zorro2_card_interface(mconfig, *this)
, m_scsic(*this, "scsi:7:scsic")
, m_scsic(*this, "scsic")
, m_eeprom(*this, "eeprom")
, m_rom(*this, "rom")
, m_jumpers(*this, "JUMPERS")
@@ -236,7 +236,7 @@ ioport_constructor oktagon2008_device::device_input_ports() const
void oktagon2008_device::device_add_mconfig(machine_config &config)
{
NSCSI_BUS(config, "scsi");
auto &scsi(NSCSI_BUS(config, "scsi"));
NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, "harddisk");
NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr);
@@ -244,11 +244,11 @@ void oktagon2008_device::device_add_mconfig(machine_config &config)
NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsi:7").option_set("scsic", NCR53C94).machine_config([this](device_t *device) {
device->set_clock(25_MHz_XTAL);
downcast<ncr53c94_device &>(*device).set_busmd(ncr53c94_device::BUSMD_1);
downcast<ncr53c94_device &>(*device).irq_handler_cb().set(*this, FUNC(oktagon2008_device::irq_w));
});
NCR53C94(config, m_scsic, 25_MHz_XTAL);
scsi.set_external_device(7, m_scsic);
m_scsic->set_busmd(ncr53c94_device::BUSMD_1);
m_scsic->irq_handler_cb().set(*this, FUNC(oktagon2008_device::irq_w));
I2C_24C04(config, m_eeprom); // 24C02 on some PCBs; only addresses 0x100-0x10e appear to be used by the firmware
}
+1 -4
View File
@@ -153,10 +153,7 @@ public:
zorro2_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt) :
zorro2_slot_device(mconfig, tag, owner, 0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
protected:
+1 -4
View File
@@ -20,10 +20,7 @@ public:
applepp_connector(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt, bool fixed = false)
: applepp_connector(mconfig, tag, owner, (uint32_t)0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(fixed);
set_options(std::forward<T>(opts), dflt, fixed);
}
applepp_connector(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -78,7 +78,7 @@ const tiny_rom_entry *arc_scsi_a500_device::device_rom_region() const
void arc_scsi_a500_device::device_add_mconfig(machine_config &config)
{
NSCSI_BUS(config, "scsi");
auto &scsi(NSCSI_BUS(config, "scsi"));
NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr, false); // Philips VP415
NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr, false);
@@ -86,12 +86,10 @@ void arc_scsi_a500_device::device_add_mconfig(machine_config &config)
NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:7").option_set("wd33c93", WD33C93).clock(DERIVED_CLOCK(1, 1))
.machine_config([this](device_t *device)
{
wd33c93_device &wd33c93(downcast<wd33c93_device &>(*device));
wd33c93.irq_cb().set([this](int state) { set_pirq(state); });
});
WD33C93(config, m_wd33c93, DERIVED_CLOCK(1, 1));
scsi.set_external_device(7, m_wd33c93);
m_wd33c93->irq_cb().set([this](int state) { set_pirq(state); });
}
@@ -106,7 +104,7 @@ void arc_scsi_a500_device::device_add_mconfig(machine_config &config)
arc_scsi_a500_device::arc_scsi_a500_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: device_t(mconfig, ARC_SCSI_A500, tag, owner, clock)
, device_archimedes_podule_interface(mconfig, *this)
, m_wd33c93(*this, "scsi:7:wd33c93")
, m_wd33c93(*this, "wd33c93")
, m_podule_rom(*this, "podule_rom")
{
}
@@ -42,7 +42,7 @@ protected:
arc_scsi_aka30_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
: device_t(mconfig, type, tag, owner, clock)
, device_archimedes_podule_interface(mconfig, *this)
, m_wd33c93(*this, "scsi:7:wd33c93a")
, m_wd33c93(*this, "wd33c93a")
, m_dmac(*this, "dma")
, m_podule_rom(*this, "podule_rom")
, m_memory_page(0)
@@ -177,7 +177,7 @@ const tiny_rom_entry *arc_scsi_aka32_device::device_rom_region() const
void arc_scsi_aka30_device::device_add_mconfig(machine_config &config)
{
NSCSI_BUS(config, "scsi");
auto &scsi(NSCSI_BUS(config, "scsi"));
NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, "harddisk", false);
NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr, false);
@@ -185,13 +185,11 @@ void arc_scsi_aka30_device::device_add_mconfig(machine_config &config)
NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:7").option_set("wd33c93a", WD33C93A).clock(DERIVED_CLOCK(1, 1))
.machine_config([this](device_t *device)
{
wd33c93a_device &wd33c93(downcast<wd33c93a_device &>(*device));
wd33c93.irq_cb().set([this](int state) { m_sbic_int = state; update_interrupts(); });
wd33c93.drq_cb().set([this](int state) { m_dmac->dmarq(state, 0); });
});
WD33C93A(config, m_wd33c93, DERIVED_CLOCK(1, 1));
scsi.set_external_device(7, m_wd33c93);
m_wd33c93->irq_cb().set([this](int state) { m_sbic_int = state; update_interrupts(); });
m_wd33c93->drq_cb().set([this](int state) { m_dmac->dmarq(state, 0); });
UPD71071(config, m_dmac, 0);
m_dmac->set_cpu_tag(":maincpu");
@@ -88,7 +88,7 @@ const tiny_rom_entry *arc_scsi_cumana_device::device_rom_region() const
void arc_scsi_cumana_device::device_add_mconfig(machine_config &config)
{
NSCSI_BUS(config, "scsi");
auto &scsi(NSCSI_BUS(config, "scsi"));
NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, "harddisk", false);
NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr, false);
@@ -96,11 +96,10 @@ void arc_scsi_cumana_device::device_add_mconfig(machine_config &config)
NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:7").option_set("dp8490", DP8490) // DP8490N
.machine_config([this](device_t *device)
{
downcast<dp8490_device &>(*device).irq_handler().set([this](int state) { set_pirq(state); });
});
DP8490(config, m_dp8490);
scsi.set_external_device(7, m_dp8490);
m_dp8490->irq_handler().set([this](int state) { set_pirq(state); });
EEPROM_93C06_16BIT(config, m_eeprom);
}
@@ -117,7 +116,7 @@ void arc_scsi_cumana_device::device_add_mconfig(machine_config &config)
arc_scsi_cumana_device::arc_scsi_cumana_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: device_t(mconfig, ARC_SCSI_CUMANA, tag, owner, clock)
, device_archimedes_podule_interface(mconfig, *this)
, m_dp8490(*this, "scsi:7:dp8490")
, m_dp8490(*this, "dp8490")
, m_eeprom(*this, "eeprom")
, m_podule_rom(*this, "podule_rom")
, m_rom_page(0)
@@ -87,7 +87,7 @@ const tiny_rom_entry *arc_scsi_ling_device::device_rom_region() const
void arc_scsi_ling_device::device_add_mconfig(machine_config &config)
{
NSCSI_BUS(config, "scsi");
auto &scsi(NSCSI_BUS(config, "scsi"));
NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, "harddisk", false);
NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr, false);
@@ -95,11 +95,9 @@ void arc_scsi_ling_device::device_add_mconfig(machine_config &config)
NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:7").option_set("ncr5380", NCR5380)
.machine_config([this](device_t *device)
{
downcast<ncr5380_device &>(*device).irq_handler().set([this](int state) { set_pirq(state); });
});
NCR5380(config, m_ncr5380);
scsi.set_external_device(7, m_ncr5380);
m_ncr5380->irq_handler().set([this](int state) { set_pirq(state); });
}
@@ -114,7 +112,7 @@ void arc_scsi_ling_device::device_add_mconfig(machine_config &config)
arc_scsi_ling_device::arc_scsi_ling_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: device_t(mconfig, ARC_SCSI_LING, tag, owner, clock)
, device_archimedes_podule_interface(mconfig, *this)
, m_ncr5380(*this, "scsi:7:ncr5380")
, m_ncr5380(*this, "ncr5380")
, m_podule_rom(*this, "podule_rom")
, m_rom_page(0)
{
@@ -97,7 +97,7 @@ const tiny_rom_entry *arc_scsi_morley_device::device_rom_region() const
void arc_scsi_morley_device::device_add_mconfig(machine_config &config)
{
NSCSI_BUS(config, "scsi");
auto &scsi(NSCSI_BUS(config, "scsi"));
NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, "harddisk", false);
NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr, false);
@@ -105,14 +105,12 @@ void arc_scsi_morley_device::device_add_mconfig(machine_config &config)
NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:7").option_set("esp216", NCR53CF94).clock(24_MHz_XTAL) // ESP216
.machine_config([this](device_t *device)
{
ncr53c94_device &esp216(downcast<ncr53c94_device &>(*device));
esp216.set_busmd(ncr53c94_device::busmd_t::BUSMD_1);
esp216.irq_handler_cb().set([this](int state) { set_pirq(state); });
//esp216.drq_handler_cb().set([this](int state) { m_drq_status = state; });
});
NCR53CF94(config, m_esp216, 24_MHz_XTAL); // ESP216
scsi.set_external_device(7, m_esp216);
m_esp216->set_busmd(ncr53c94_device::busmd_t::BUSMD_1);
m_esp216->irq_handler_cb().set([this](int state) { set_pirq(state); });
//m_esp216->drq_handler_cb().set([this](int state) { m_drq_status = state; });
IDT7201(config, m_fifo_out);
//m_fifo_out->hf_handler().set([this](int state) { set_irq(IRQ_FIFO_OUT, state); });
@@ -132,7 +130,7 @@ void arc_scsi_morley_device::device_add_mconfig(machine_config &config)
arc_scsi_morley_device::arc_scsi_morley_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: device_t(mconfig, ARC_SCSI_MORLEY, tag, owner, clock)
, device_archimedes_podule_interface(mconfig, *this)
, m_esp216(*this, "scsi:7:esp216")
, m_esp216(*this, "esp216")
, m_fifo_in(*this, "fifo_in")
, m_fifo_out(*this, "fifo_out")
, m_podule_rom(*this, "podule_rom")
@@ -195,7 +195,7 @@ const tiny_rom_entry *arc_scsi_oak_device::device_rom_region() const
void arc_scsi_oak_device::device_add_mconfig(machine_config &config)
{
NSCSI_BUS(config, "scsi");
auto &scsi(NSCSI_BUS(config, "scsi"));
NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, "harddisk", false);
NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr, false);
@@ -203,12 +203,11 @@ void arc_scsi_oak_device::device_add_mconfig(machine_config &config)
NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:7").option_set("ncr5380", NCR5380)
.machine_config([this](device_t *device)
{
downcast<ncr5380_device&>(*device).irq_handler().set([this](int state) { m_irq_state = state; });
downcast<ncr5380_device &>(*device).drq_handler().set([this](int state) { m_drq_state = state; });
});
NCR5380(config, m_ncr5380);
scsi.set_external_device(7, m_ncr5380);
m_ncr5380->irq_handler().set([this](int state) { m_irq_state = state; });
m_ncr5380->drq_handler().set([this](int state) { m_drq_state = state; });
EEPROM_93C06_16BIT(config, m_eeprom);
}
@@ -225,7 +224,7 @@ void arc_scsi_oak_device::device_add_mconfig(machine_config &config)
arc_scsi_oak_device::arc_scsi_oak_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: device_t(mconfig, ARC_SCSI_OAK, tag, owner, clock)
, device_archimedes_podule_interface(mconfig, *this)
, m_ncr5380(*this, "scsi:7:ncr5380")
, m_ncr5380(*this, "ncr5380")
, m_eeprom(*this, "eeprom")
, m_podule_rom(*this, "podule_rom")
, m_rom_page(0)
+8 -10
View File
@@ -92,7 +92,7 @@ const tiny_rom_entry *arc_scsi_vti_device::device_rom_region() const
void arc_scsi_vti_device::device_add_mconfig(machine_config &config)
{
NSCSI_BUS(config, "scsi");
auto &scsi(NSCSI_BUS(config, "scsi"));
NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, "harddisk", false);
NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr, false);
@@ -100,14 +100,12 @@ void arc_scsi_vti_device::device_add_mconfig(machine_config &config)
NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr, false);
NSCSI_CONNECTOR(config, "scsi:7").option_set("fas216", NCR53CF94).clock(24.576_MHz_XTAL) // FAS216
.machine_config([this](device_t *device)
{
ncr53c94_device &fas216(downcast<ncr53c94_device &>(*device));
fas216.set_busmd(ncr53c94_device::busmd_t::BUSMD_1);
fas216.irq_handler_cb().set([this](int state) { set_pirq(state); });
fas216.drq_handler_cb().set([this](int state) { m_drq_status = state; });
});
NCR53CF94(config, m_fas216, 24.576_MHz_XTAL); // FAS216
scsi.set_external_device(7, m_fas216);
m_fas216->set_busmd(ncr53c94_device::busmd_t::BUSMD_1);
m_fas216->irq_handler_cb().set([this](int state) { set_pirq(state); });
m_fas216->drq_handler_cb().set([this](int state) { m_drq_status = state; });
EEPROM_93C06_16BIT(config, m_eeprom); // 2600 b0
@@ -136,7 +134,7 @@ void arc_scsi_vti_device::device_add_mconfig(machine_config &config)
arc_scsi_vti_device::arc_scsi_vti_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: device_t(mconfig, ARC_SCSI_VTI, tag, owner, clock)
, device_archimedes_podule_interface(mconfig, *this)
, m_fas216(*this, "scsi:7:fas216")
, m_fas216(*this, "fas216")
, m_eeprom(*this, "eeprom")
, m_podule_rom(*this, "podule_rom")
, m_rom_page(0)
+1 -4
View File
@@ -30,10 +30,7 @@ public:
: astrocade_accessory_port_device(mconfig, tag, owner, 0U)
{
m_screen.set_tag(std::forward<T>(screen_tag));
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<U>(opts), dflt, false);
}
astrocade_accessory_port_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0U);
virtual ~astrocade_accessory_port_device();
+1 -4
View File
@@ -50,10 +50,7 @@ public:
bbc_analogue_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&slot_options, const char *default_option)
: bbc_analogue_slot_device(mconfig, tag, owner)
{
option_reset();
slot_options(*this);
set_default_option(default_option);
set_fixed(false);
set_options(std::forward<T>(slot_options), default_option, false);
}
bbc_analogue_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0);
+1 -4
View File
@@ -54,10 +54,7 @@ public:
bbc_quinkey_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&slot_options, const char *default_option)
: bbc_quinkey_slot_device(mconfig, tag, owner)
{
option_reset();
slot_options(*this);
set_default_option(default_option);
set_fixed(false);
set_options(std::forward<T>(slot_options), default_option, false);
}
bbc_quinkey_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0);
+1 -4
View File
@@ -126,10 +126,7 @@ public:
bbc_cartslot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock, T &&slot_options, const char *default_option)
: electron_cartslot_device(mconfig, tag, owner, clock)
{
option_reset();
slot_options(*this);
set_default_option(default_option);
set_fixed(false);
set_options(std::forward<T>(slot_options), default_option, false);
}
bbc_cartslot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+1 -4
View File
@@ -29,10 +29,7 @@ public:
bbc_fdc_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock, T &&slot_options, const char *default_option)
: bbc_fdc_slot_device(mconfig, tag, owner, clock)
{
option_reset();
slot_options(*this);
set_default_option(default_option);
set_fixed(false);
set_options(std::forward<T>(slot_options), default_option, false);
set_insert_rom(true);
}
+1 -4
View File
@@ -49,10 +49,7 @@ public:
bbc_joyport_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&slot_options, const char *default_option)
: bbc_joyport_slot_device(mconfig, tag, owner)
{
option_reset();
slot_options(*this);
set_default_option(default_option);
set_fixed(false);
set_options(std::forward<T>(slot_options), default_option, false);
}
bbc_joyport_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0);
+1 -4
View File
@@ -53,10 +53,7 @@ public:
bbc_modem_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock, T &&slot_options, const char *default_option)
: bbc_modem_slot_device(mconfig, tag, owner, clock)
{
option_reset();
slot_options(*this);
set_default_option(default_option);
set_fixed(false);
set_options(std::forward<T>(slot_options), default_option, false);
}
bbc_modem_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock);
+1 -4
View File
@@ -53,10 +53,7 @@ public:
bbc_tube_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&slot_options, char const *default_option)
: bbc_tube_slot_device(mconfig, tag, owner)
{
option_reset();
slot_options(*this);
set_default_option(default_option);
set_fixed(false);
set_options(std::forward<T>(slot_options), default_option, false);
set_insert_rom(true);
}
+1 -4
View File
@@ -29,10 +29,7 @@ public:
bbc_vsp_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&slot_options, const char *default_option)
: bbc_vsp_slot_device(mconfig, tag, owner)
{
option_reset();
slot_options(*this);
set_default_option(default_option);
set_fixed(false);
set_options(std::forward<T>(slot_options), default_option, false);
}
bbc_vsp_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0);
+1 -4
View File
@@ -63,10 +63,7 @@ public:
bk_parallel_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock, T &&slot_options, const char *default_option)
: bk_parallel_slot_device(mconfig, tag, owner, clock)
{
option_reset();
bk_parallel_devices(*this);
set_default_option(nullptr);
set_fixed(false);
set_options(std::forward<T>(slot_options), default_option, false);
}
bk_parallel_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~bk_parallel_slot_device();
+1 -4
View File
@@ -34,10 +34,7 @@ public:
bml3bus_slot_device(machine_config const &mconfig, const char *tag, device_t *owner, T &&nbtag, U &&opts, const char *dflt)
: bml3bus_slot_device(mconfig, tag, owner, (uint32_t)0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<U>(opts), dflt, false);
set_bml3bus_slot(std::forward<T>(nbtag), tag);
}
+1 -4
View File
@@ -58,10 +58,7 @@ public:
c64_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&opts, const char *dflt)
: c64_expansion_slot_device(mconfig, tag, owner, clock)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
c64_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+1 -4
View File
@@ -126,10 +126,7 @@ public:
cbm_iec_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, int address, T &&opts, char const *dflt)
: cbm_iec_slot_device(mconfig, tag, owner, (uint32_t)0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
set_address(address);
}
cbm_iec_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+3
View File
@@ -128,6 +128,7 @@ device_centronics_peripheral_interface::~device_centronics_peripheral_interface(
#include "epson_lx810l.h"
#include "epson_rx80.h"
#include "hasp_savquest.h"
#include "neomania_adapter.h"
#include "mz1p16.h"
#include "nec_p72.h"
#include "nlq401.h"
@@ -158,4 +159,6 @@ void centronics_devices(device_slot_interface &device)
device.option_add("mz1p16", MZ1P16);
device.option_add_internal("hasp_savquest", HASP_SAVQUEST);
// TODO: will become option_add_internal when misc/neomania.cpp will have a working chipset
device.option_add("neomania", NEOMANIA_ADAPTER);
}
@@ -0,0 +1,143 @@
// license:BSD-3-Clause
// copyright-holders: Angelo Salese
#include "emu.h"
#include "neomania_adapter.h"
#define VERBOSE (LOG_GENERAL)
//#define LOG_OUTPUT_FUNC osd_printf_info
#include "logmacro.h"
DEFINE_DEVICE_TYPE(NEOMANIA_ADAPTER, neomania_adapter_device, "neomania_adapter", "Neo Mania Adapter JAMMA board")
neomania_adapter_device::neomania_adapter_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
device_t(mconfig, NEOMANIA_ADAPTER, tag, owner, clock),
device_centronics_peripheral_interface(mconfig, *this),
m_in(*this, "IN%u", 0U),
m_select_in(0),
m_init(0),
m_strobe(0),
m_autofd(0),
m_has_inited(false)
{ }
// "Testing I/O board input bits" wants IN0~3 and IN7 to return low
static INPUT_PORTS_START( neomania_adapter )
PORT_START("IN0")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN1")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN2")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN3")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("IN4")
PORT_START("IN5")
PORT_START("IN6")
PORT_START("IN7")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
ioport_constructor neomania_adapter_device::device_input_ports() const
{
return INPUT_PORTS_NAME( neomania_adapter );
}
void neomania_adapter_device::device_start()
{
save_item(NAME(m_select_in));
save_item(NAME(m_init));
save_item(NAME(m_strobe));
save_item(NAME(m_autofd));
save_item(NAME(m_ddr));
}
void neomania_adapter_device::device_reset()
{
m_select_in = m_init = 0;
m_autofd = m_strobe = 0;
m_has_inited = false;
m_ddr = 0xff;
}
void neomania_adapter_device::input_strobe(int state)
{
LOG("input_strobe %d\n", state);
m_strobe = !state;
update_ack();
}
void neomania_adapter_device::input_select_in(int state)
{
m_select_in = state;
LOG("input_select_in %d\n", state);
update_ack();
}
void neomania_adapter_device::input_autofd(int state)
{
m_autofd = !state;
LOG("input_autofd %d\n", state);
update_ack();
}
void neomania_adapter_device::input_init(int state)
{
LOG("input_init %d\n", state);
m_init = state;
update_ack();
// "Testing I/O board connection" at bp 100027e2
// this is enough to make it output a 0x02 in the buffer, perhaps different board revs?
if (state && !m_select_in)
{
output_fault(0);
output_select(0);
output_perror(0);
output_busy(0);
// avoid BIOS interfering with actual I/O reading
m_has_inited = true;
}
}
// "Testing I/O board communications"
// wants an encoded ACK depending on control writes
// 0xec -> 0xe0 -> 0xe1 -> ... -> 0xe7
void neomania_adapter_device::update_ack()
{
const int id_table[8] = { 1, 1, 0, 0, 1, 0, 1, 0 };
u8 id_ptr = (m_strobe | (m_autofd << 1) | (m_init << 2)) & 7;
int result = id_table[id_ptr];
LOG("ACK %d -> %d\n", id_ptr, result);
output_ack(result);
if (m_has_inited)
{
// "Testing I/O board input bits"
// TODO: doesn't work, BIOS writes a 0 to pc_lpt data_w, which craps this out the window
const u8 data_in = m_in[id_ptr]->read();
LOG("read input @ %d -> %02x\n", id_ptr, data_in);
output_data0(BIT(data_in, 0));
output_data1(BIT(data_in, 1));
output_data2(BIT(data_in, 2));
output_data3(BIT(data_in, 3));
output_data4(BIT(data_in, 4));
output_data5(BIT(data_in, 5));
output_data6(BIT(data_in, 6));
output_data7(BIT(data_in, 7));
}
}
@@ -0,0 +1,54 @@
// license:BSD-3-Clause
// copyright-holders: Angelo Salese
#ifndef MAME_BUS_CENTRONICS_NEOMANIA_ADAPTER_H
#define MAME_BUS_CENTRONICS_NEOMANIA_ADAPTER_H
#pragma once
#include "ctronics.h"
class neomania_adapter_device : public device_t,
public device_centronics_peripheral_interface
{
public:
neomania_adapter_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void input_strobe(int state) override;
virtual void input_data0(int state) override { if (state) m_ddr |= 0x01; else m_ddr &= ~0x01; }
virtual void input_data1(int state) override { if (state) m_ddr |= 0x02; else m_ddr &= ~0x02; }
virtual void input_data2(int state) override { if (state) m_ddr |= 0x04; else m_ddr &= ~0x04; }
virtual void input_data3(int state) override { if (state) m_ddr |= 0x08; else m_ddr &= ~0x08; }
virtual void input_data4(int state) override { if (state) m_ddr |= 0x10; else m_ddr &= ~0x10; }
virtual void input_data5(int state) override { if (state) m_ddr |= 0x20; else m_ddr &= ~0x20; }
virtual void input_data6(int state) override { if (state) m_ddr |= 0x40; else m_ddr &= ~0x40; }
virtual void input_data7(int state) override { if (state) m_ddr |= 0x80; else m_ddr &= ~0x80; }
// virtual void input_ack(int state) override { printf("input_ack %d\n", state); }
// virtual void input_busy(int state) override { printf("input_busy %d\n", state); }
// virtual void input_perror(int state) override { printf("input_perror %d\n", state); }
// virtual void input_select(int state) override { printf("input_select %d\n", state); }
virtual void input_autofd(int state) override;
// virtual void input_fault(int state) override { printf("input_fault %d\n", state); }
virtual void input_init(int state) override;
virtual void input_select_in(int state) override;
protected:
virtual void device_start() override ATTR_COLD;
virtual void device_reset() override ATTR_COLD;
virtual ioport_constructor device_input_ports() const override ATTR_COLD;
private:
required_ioport_array<8> m_in;
int m_select_in, m_init, m_strobe, m_autofd;
bool m_has_inited;
u8 m_ddr;
void update_ack();
};
DECLARE_DEVICE_TYPE(NEOMANIA_ADAPTER, neomania_adapter_device)
#endif // MAME_BUS_CENTRONICS_NEOMANIA_ADAPTER_H
+1 -4
View File
@@ -68,10 +68,7 @@ public:
channelf_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
: channelf_cart_slot_device(mconfig, tag, owner, 0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
channelf_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+11 -8
View File
@@ -3,14 +3,17 @@
#include "emu.h"
#include "coco_dwsock.h"
#include <cstdio>
#include <cstdlib>
#ifdef __GNUC__
#include <unistd.h>
#endif
#include <fcntl.h>
#include <sys/types.h>
//#define VERBOSE 1
#include "logmacro.h"
//**************************************************************************
// DEVICE DEFINITIONS
@@ -110,7 +113,7 @@ void beckerport_device::device_stop()
{
if (m_pSocket)
{
printf("%s: Closing connection to Drivewire server\n", tag());
osd_printf_verbose("%s: Closing connection to Drivewire server\n", tag());
m_pSocket.reset();
}
}
@@ -144,11 +147,11 @@ u8 beckerport_device::read(offs_t offset)
// Try to read from dws
std::error_condition filerr = m_pSocket->read(m_buf, 0, sizeof(m_buf), m_rx_pending);
if (filerr && (std::errc::operation_would_block != filerr))
osd_printf_error("%s: coco_dwsock.c: beckerport_device::read() socket read operation failed with error %s:%d %s\n", tag(), filerr.category().name(), filerr.value(), filerr.message());
osd_printf_error("%s: beckerport_device::read() socket read operation failed with error %s:%d %s\n", tag(), filerr.category().name(), filerr.value(), filerr.message());
else
m_head = 0;
}
//logerror("beckerport_device: status read. %i bytes remaining.\n", m_rx_pending);
LOG("status read. %d bytes remaining.\n", m_rx_pending);
data = (m_rx_pending > 0) ? 2 : 0;
break;
case DWS_DATA:
@@ -162,7 +165,7 @@ u8 beckerport_device::read(offs_t offset)
//logerror("beckerport_device: data read 1 byte (0x%02x). %i bytes remaining.\n", data&0xff, m_rx_pending);
break;
default:
fprintf(stderr, "%s: read from bad offset %d\n", __FILE__, offset);
logerror("read from bad offset %u\n", offset);
}
return data;
@@ -184,16 +187,16 @@ void beckerport_device::write(offs_t offset, u8 data)
switch (offset)
{
case DWS_STATUS:
//logerror("beckerport_write: error: write (0x%02x) to status register\n", d);
LOG("beckerport_write: error: write (0x%02x) to status register\n", data);
break;
case DWS_DATA:
filerr = m_pSocket->write(&d, 0, 1, written);
if (filerr)
osd_printf_error("%s: coco_dwsock.c: beckerport_device::write() socket write operation failed with error %s:%d %s\n", tag(), filerr.category().name(), filerr.value(), filerr.message());
//logerror("beckerport_write: data write one byte (0x%02x)\n", d & 0xff);
LOG("beckerport_write: data write one byte (0x%02x)\n", data);
break;
default:
fprintf(stderr, "%s: write to bad offset %d\n", __FILE__, offset);
logerror("write to bad offset %u\n", offset);
}
}
+1 -1
View File
@@ -556,7 +556,7 @@ static std::error_condition read_coco_rpk(std::unique_ptr<util::random_read> &&s
return err;
// copy the bytes
offs_t size = (offs_t) std::min(contents.size(), (size_t)cart_length - pos);
size_t const size = std::min<size_t>(contents.size(), cart_length - pos);
memcpy(&mem[pos], &contents[0], size);
pos += size;
}
+1 -4
View File
@@ -57,10 +57,7 @@ public:
colecovision_cartridge_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
: colecovision_cartridge_slot_device(mconfig, tag, owner, (uint32_t)0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
colecovision_cartridge_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+1 -4
View File
@@ -52,10 +52,7 @@ public:
colecovision_control_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
: colecovision_control_port_device(mconfig, tag, owner, (uint32_t)0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
colecovision_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+1 -4
View File
@@ -65,10 +65,7 @@ public:
coleco_expansion_device(machine_config const &mconfig, char const *tag, device_t *owner, const char *dflt) :
coleco_expansion_device(mconfig, tag, owner, uint32_t(0))
{
option_reset();
coleco_expansion_cards(*this);
set_default_option(dflt);
set_fixed(false);
set_options(coleco_expansion_cards, dflt, false);
}
coleco_expansion_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+1 -4
View File
@@ -97,10 +97,7 @@ public:
cpc_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&opts, const char *dflt)
: cpc_expansion_slot_device(mconfig, tag, owner, clock)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
virtual ~cpc_expansion_slot_device();
+1 -4
View File
@@ -30,10 +30,7 @@ public:
dmvcart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
: dmvcart_slot_device(mconfig, tag, owner, (uint32_t)0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
dmvcart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~dmvcart_slot_device();
+1 -4
View File
@@ -106,10 +106,7 @@ public:
electron_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&opts, const char *dflt)
: electron_expansion_slot_device(mconfig, tag, owner, clock)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
electron_expansion_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+1 -4
View File
@@ -31,10 +31,7 @@ public:
keyboard_port_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt)
: keyboard_port_device(mconfig, tag, owner, 0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
keyboard_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0U);
+1 -4
View File
@@ -45,10 +45,7 @@ public:
megaduck_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt) :
megaduck_cart_slot_device(mconfig, tag, owner, 0U)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
megaduck_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, u32 clock);
+8 -13
View File
@@ -204,9 +204,7 @@ public:
h89bus_left_slot_device(const machine_config &mconfig, T &&tag, device_t *owner, const char *sltag, U &&opts, const char *dflt)
: h89bus_left_slot_device(mconfig, tag, owner, (uint32_t)0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_options(std::forward<U>(opts), dflt, false);
set_h89bus_slot(std::forward<T>(sltag), tag);
}
@@ -232,7 +230,7 @@ protected:
const char *m_h89bus_slottag;
};
// device type definition
// device type declaration
DECLARE_DEVICE_TYPE(H89BUS_LEFT_SLOT, h89bus_left_slot_device)
class h89bus_right_slot_device : public device_t, public device_single_card_slot_interface<device_h89bus_right_card_interface>
@@ -243,9 +241,7 @@ public:
h89bus_right_slot_device(const machine_config &mconfig, T &&tag, device_t *owner, const char *sltag, U &&opts, const char *dflt)
: h89bus_right_slot_device(mconfig, tag, owner, (uint32_t)0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_options(std::forward<U>(opts), dflt, false);
set_h89bus_slot(std::forward<T>(sltag), tag);
}
@@ -277,7 +273,7 @@ protected:
bool m_p506_signals;
};
// device type definition
// device type declaration
DECLARE_DEVICE_TYPE(H89BUS_RIGHT_SLOT, h89bus_right_slot_device)
@@ -349,6 +345,7 @@ protected:
required_region_ptr<uint8_t> m_decode_prom;
};
// device type declaration
DECLARE_DEVICE_TYPE(H89BUS_IO_DECODER_444_43, heath_io_decoder_444_43)
DECLARE_DEVICE_TYPE(H89BUS_IO_DECODER_444_61, heath_io_decoder_444_61)
DECLARE_DEVICE_TYPE(H89BUS_IO_DECODER_MMS_61C, heath_io_decoder_mms_61c)
@@ -363,10 +360,7 @@ public:
heath_io_decoder_socket(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt, bool fixed = false) :
heath_io_decoder_socket(mconfig, tag, owner, 0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(fixed);
set_options(std::forward<T>(opts), dflt, fixed);
}
heath_io_decoder_socket(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -379,6 +373,7 @@ protected:
virtual void device_start() override ATTR_COLD;
};
// device type declaration
DECLARE_DEVICE_TYPE(H89BUS_IO_DECODER_SOCKET, heath_io_decoder_socket)
@@ -494,7 +489,7 @@ inline void device_h89bus_right_card_interface::set_slot_wait(int state)
h89bus().set_wait_line(state);
}
// device type definition
// device type declaration
DECLARE_DEVICE_TYPE(H89BUS, h89bus_device)
#endif // MAME_BUS_HEATHZENITH_H89_H89BUS_H
@@ -131,10 +131,7 @@ public:
heath_intr_socket(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts, const char *dflt, bool fixed = false) :
heath_intr_socket(mconfig, tag, owner, 0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(fixed);
set_options(std::forward<T>(opts), dflt, fixed);
}
heath_intr_socket(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0);
+14 -26
View File
@@ -28,8 +28,6 @@ public:
// construction/destruction
dio16_98265a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
void mb87030(device_t *device);
protected:
dio16_98265a_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -58,7 +56,6 @@ private:
static constexpr int REG_CONTROL_DE0 = (1 << 0);
static constexpr int REG_CONTROL_DE1 = (1 << 1);
static void mb87030_scsi_adapter(device_t *device);
required_ioport m_sw1;
required_ioport m_sw2;
int get_int_level();
@@ -71,18 +68,9 @@ private:
bool m_dmar0;
};
void dio16_98265a_device::mb87030_scsi_adapter(device_t *device)
{
mb87030_device &spc = downcast<mb87030_device &>(*device);
spc.set_clock(8_MHz_XTAL);
spc.out_irq_callback().set("^^", FUNC(dio16_98265a_device::irq_w));
spc.out_dreq_callback().set("^^", FUNC(dio16_98265a_device::dmar0_w));
}
void dio16_98265a_device::device_add_mconfig(machine_config &config)
{
NSCSI_BUS(config, m_scsibus, 0);
auto &scsi(NSCSI_BUS(config, m_scsibus));
nscsi_connector &scsicon0(NSCSI_CONNECTOR(config, "scsibus:0", 0));
default_scsi_devices(scsicon0);
scsicon0.set_default_option("harddisk");
@@ -97,11 +85,11 @@ void dio16_98265a_device::device_add_mconfig(machine_config &config)
scsicon5.set_default_option("cdrom");
default_scsi_devices(NSCSI_CONNECTOR(config, "scsibus:6", 0));
nscsi_connector &scsicon7(NSCSI_CONNECTOR(config, "scsibus:7", 0));
scsicon7.option_add_internal("mb87030", MB87030);
scsicon7.set_default_option("mb87030");
scsicon7.set_fixed(true);
scsicon7.set_option_machine_config("mb87030", mb87030_scsi_adapter);
MB87030(config, m_spc, 8_MHz_XTAL);
scsi.set_external_device(7, m_spc);
m_spc->out_irq_callback().set(DEVICE_SELF, FUNC(dio16_98265a_device::irq_w));
m_spc->out_dreq_callback().set(DEVICE_SELF, FUNC(dio16_98265a_device::dmar0_w));
}
dio16_98265a_device::dio16_98265a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
@@ -113,7 +101,7 @@ dio16_98265a_device::dio16_98265a_device(const machine_config &mconfig, device_t
device_t(mconfig, type, tag, owner, clock),
device_dio32_card_interface(mconfig, *this),
m_scsibus(*this, "scsibus"),
m_spc(*this, "scsibus:7:mb87030"),
m_spc(*this, "mb87030"),
m_sw1(*this, "SW1"),
m_sw2(*this, "SW2"),
m_installed_io(false),
@@ -276,18 +264,18 @@ void dio16_98265a_device::io_w(offs_t offset, uint16_t data)
case 2:
uint8_t val = 0;
if (data & 0x80)
val |= nscsi_device::S_REQ;
val |= nscsi_device_interface::S_REQ;
if (data & 0x40)
val |= nscsi_device::S_ACK;
val |= nscsi_device_interface::S_ACK;
if (data & 0x08)
val |= nscsi_device::S_BSY;
val |= nscsi_device_interface::S_BSY;
if (data & 0x04)
val |= nscsi_device::S_MSG;
val |= nscsi_device_interface::S_MSG;
if (data & 0x02)
val |= nscsi_device::S_CTL;
val |= nscsi_device_interface::S_CTL;
if (data & 0x01)
val |= nscsi_device::S_INP;
m_spc->ctrl_write(val, nscsi_device::S_ALL);
val |= nscsi_device_interface::S_INP;
m_spc->ctrl_write(val, nscsi_device_interface::S_ALL);
break;
}
}
+1 -4
View File
@@ -25,10 +25,7 @@ public:
hp_ipc_io_slot_device(machine_config const &mconfig, char const *tag, device_t *owner)
: hp_ipc_io_slot_device(mconfig, tag, owner, (uint32_t)0)
{
option_reset();
hp_ipc_io_slot_devices(*this);
set_default_option(nullptr);
set_fixed(false);
set_options(hp_ipc_io_slot_devices, nullptr, false);
}
hp_ipc_io_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+1 -4
View File
@@ -63,10 +63,7 @@ public:
bus_connector_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&bus_tag, U &&opts, const char *dflt)
: bus_connector_device(mconfig, tag, owner)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<U>(opts), dflt, false);
m_bus.set_tag(std::forward<T>(bus_tag));
}
+1 -4
View File
@@ -54,10 +54,7 @@ public:
imi7000_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
: imi7000_slot_device(mconfig, tag, owner, (uint32_t)0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
imi7000_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+4 -7
View File
@@ -16,10 +16,7 @@ public:
interpro_mouse_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&slot_options, const char *default_option)
: interpro_mouse_port_device(mconfig, tag, owner)
{
option_reset();
slot_options(*this);
set_default_option(default_option);
set_fixed(false);
set_options(std::forward<T>(slot_options), default_option, false);
}
interpro_mouse_port_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock = 0);
@@ -28,9 +25,9 @@ public:
auto state_func() { return m_state_func.bind(); }
protected:
// device-level overrides
// device_t implementation
virtual void device_start() override ATTR_COLD;
virtual void device_config_complete() override;
virtual void device_config_complete() override ATTR_COLD;
private:
devcb_write32 m_state_func;
@@ -73,7 +70,7 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(mouse_y);
protected:
// device overrides
// device_t implementation
virtual void device_start() override ATTR_COLD;
virtual void device_reset() override ATTR_COLD;
+1 -4
View File
@@ -102,10 +102,7 @@ public:
intv_cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
: intv_cart_slot_device(mconfig, tag, owner, 0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
intv_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+1 -4
View File
@@ -44,10 +44,7 @@ public:
intv_control_port_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
: intv_control_port_device(mconfig, tag, owner, 0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
intv_control_port_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+1 -4
View File
@@ -91,10 +91,7 @@ public:
iq151cart_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, T &&opts, char const *dflt)
: iq151cart_slot_device(mconfig, tag, owner, 0)
{
option_reset();
opts(*this);
set_default_option(dflt);
set_fixed(false);
set_options(std::forward<T>(opts), dflt, false);
}
iq151cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
+13 -17
View File
@@ -27,7 +27,7 @@ aha154x_device::aha154x_device(const machine_config &mconfig, device_type type,
: device_t(mconfig, type, tag, owner, clock)
, device_isa16_card_interface(mconfig, *this)
, m_localcpu(*this, "localcpu")
, m_scsic(*this, "scsi:7:scsic")
, m_scsic(*this, "scsic")
, m_fdc(*this, "fdc")
, m_bios(*this, "bios")
{
@@ -379,18 +379,9 @@ ioport_constructor aha1542b_device::device_input_ports() const
return INPUT_PORTS_NAME(aha1542b);
}
void aha154x_device::scsic_config(device_t *device)
{
device->set_clock(20_MHz_XTAL);
downcast<aic6250_device &>(*device).int_cb().set_inputline("^^localcpu", I8085_RST65_LINE);
downcast<aic6250_device &>(*device).breq_cb().set("^^dmaaic", FUNC(aic580_device::breq_w));
downcast<aic6250_device &>(*device).port_a_r_cb().set_ioport("^^SETUP");
downcast<aic6250_device &>(*device).port_b_r_cb().set_ioport("^^CONFIG");
}
void aha154x_device::scsi_add(machine_config &config)
{
NSCSI_BUS(config, "scsi");
auto &scsi(NSCSI_BUS(config, "scsi"));
NSCSI_CONNECTOR(config, "scsi:0", default_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsi:1", default_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsi:2", default_scsi_devices, nullptr);
@@ -398,10 +389,15 @@ void aha154x_device::scsi_add(machine_config &config)
NSCSI_CONNECTOR(config, "scsi:4", default_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsi:5", default_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsi:6", default_scsi_devices, nullptr);
NSCSI_CONNECTOR(config, "scsi:7").option_set("scsic", AIC6250)
.machine_config([this] (device_t *device) { scsic_config(device); });
AIC6250(config, m_scsic, 20_MHz_XTAL);
scsi.set_external_device(7, m_scsic);
m_scsic->int_cb().set_inputline(m_localcpu, I8085_RST65_LINE);
m_scsic->port_a_r_cb().set_ioport("SETUP");
m_scsic->port_b_r_cb().set_ioport("CONFIG");
aic580_device &dmaaic(AIC580(config, "dmaaic", 20_MHz_XTAL));
m_scsic->breq_cb().set(dmaaic, FUNC(aic580_device::breq_w));
dmaaic.bdin_callback().set(m_scsic, FUNC(aic6250_device::dma_r));
dmaaic.bdout_callback().set(m_scsic, FUNC(aic6250_device::dma_w));
dmaaic.back_callback().set(m_scsic, FUNC(aic6250_device::back_w));
@@ -409,8 +405,8 @@ void aha154x_device::scsi_add(machine_config &config)
void aha1542a_device::device_add_mconfig(machine_config &config)
{
i8085a_cpu_device &localcpu(I8085A(config, m_localcpu, 20_MHz_XTAL / 2));
localcpu.set_addrmap(AS_PROGRAM, &aha1542a_device::i8085_map);
I8085A(config, m_localcpu, 20_MHz_XTAL / 2);
m_localcpu->set_addrmap(AS_PROGRAM, &aha1542a_device::i8085_map);
generic_latch_8_device &fromhost(GENERIC_LATCH_8(config, "fromhost"));
fromhost.data_pending_callback().set_inputline(m_localcpu, I8085_RST55_LINE);
@@ -424,8 +420,8 @@ void aha1542a_device::device_add_mconfig(machine_config &config)
void aha1542b_device::device_add_mconfig(machine_config &config)
{
i8085a_cpu_device &localcpu(I8085A(config, m_localcpu, 20_MHz_XTAL / 2));
localcpu.set_addrmap(AS_PROGRAM, &aha1542b_device::i8085_map);
I8085A(config, m_localcpu, 20_MHz_XTAL / 2);
m_localcpu->set_addrmap(AS_PROGRAM, &aha1542b_device::i8085_map);
AIC565(config, m_busaic);
m_busaic->hrst_callback().set_inputline(m_localcpu, INPUT_LINE_RESET);
Loaded 100 of 1078 files, more files were not shown because too many files have changed in this diff. Show more