srcclean and cleanup (nw)

This commit is contained in:
Vas Crabb 2020-06-21 14:59:50 +10:00
parent 8ef400ec67
commit 01661be41c
146 changed files with 1092 additions and 1092 deletions

View File

@ -35337,7 +35337,7 @@ license:CC0
</part> </part>
</software> </software>
<!-- red screen --> <!-- red screen -->
<software name="rickdng2" supported="no"> <software name="rickdng2" supported="no">
<!-- SPS (CAPS) release 570 --> <!-- SPS (CAPS) release 570 -->
<description>Rick Dangerous 2 (Euro)</description> <description>Rick Dangerous 2 (Euro)</description>
@ -35352,7 +35352,7 @@ license:CC0
</part> </part>
</software> </software>
<!-- red screen --> <!-- red screen -->
<software name="rickdng2a" cloneof="rickdng2" supported="no"> <software name="rickdng2a" cloneof="rickdng2" supported="no">
<!-- SPS (CAPS) release 1877 --> <!-- SPS (CAPS) release 1877 -->
<description>Rick Dangerous 2 (Euro, Budget)</description> <description>Rick Dangerous 2 (Euro, Budget)</description>
@ -48343,7 +48343,7 @@ license:CC0
</dataarea> </dataarea>
</part> </part>
</software> </software>
<!-- Locks up at Xenon logo --> <!-- Locks up at Xenon logo -->
<software name="xenon" supported="no"> <software name="xenon" supported="no">
<!-- SPS (CAPS) release 399 --> <!-- SPS (CAPS) release 399 -->

View File

@ -37003,7 +37003,7 @@ license:CC0
<year>1984</year> <year>1984</year>
<publisher>Gessler Educational Software</publisher> <publisher>Gessler Educational Software</publisher>
<info name="release" value="2020-05-26"/> <info name="release" value="2020-05-26"/>
<part name="flop1" interface="floppy_5_25"> <part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="143360"> <dataarea name="flop" size="143360">
<rom name="german word order (4am crack).dsk" size="143360" crc="acdab126" sha1="e2e9d4d71115899aa38c49292cd21c4c0f9dec6b"/> <rom name="german word order (4am crack).dsk" size="143360" crc="acdab126" sha1="e2e9d4d71115899aa38c49292cd21c4c0f9dec6b"/>

View File

@ -7476,7 +7476,7 @@ has been replaced with an all-zero block. -->
</dataarea> </dataarea>
</part> </part>
</software> </software>
<software name="aaow"> <software name="aaow">
<description>The Ancient Art of War</description> <description>The Ancient Art of War</description>
<year>1984</year> <year>1984</year>

View File

@ -8963,7 +8963,7 @@ license:CC0
</dataarea> </dataarea>
</part> </part>
</software> </software>
<software name="amazon"> <software name="amazon">
<description>Amazon - Guardians of Eden</description> <description>Amazon - Guardians of Eden</description>
<year>1992</year> <year>1992</year>
@ -9703,7 +9703,7 @@ license:CC0
</dataarea> </dataarea>
</part> </part>
</software> </software>
<software name="crystalc"> <software name="crystalc">
<description>Crystal Caves (1.0a)</description> <description>Crystal Caves (1.0a)</description>
<year>1991</year> <year>1991</year>
@ -10684,7 +10684,7 @@ license:CC0
</dataarea> </dataarea>
</part> </part>
</software> </software>
<software name="pharkas"> <software name="pharkas">
<description>Freddy Pharkas, Frontier Pharmacist</description> <description>Freddy Pharkas, Frontier Pharmacist</description>
<year>1993</year> <year>1993</year>
@ -11687,7 +11687,7 @@ license:CC0
</dataarea> </dataarea>
</part> </part>
</software> </software>
<software name="lemmings"> <software name="lemmings">
<!-- Dumped via Kryoflux --> <!-- Dumped via Kryoflux -->
<description>Lemmings</description> <description>Lemmings</description>
@ -12494,7 +12494,7 @@ license:CC0
</dataarea> </dataarea>
</part> </part>
</software> </software>
<software name="pquestvga"> <software name="pquestvga">
<description>Police Quest in Pursuit of the Death Angel (VGA release)</description> <description>Police Quest in Pursuit of the Death Angel (VGA release)</description>
<year>1992</year> <year>1992</year>
@ -12800,7 +12800,7 @@ license:CC0
</dataarea> </dataarea>
</part> </part>
</software> </software>
<software name="samnmax"> <software name="samnmax">
<description>Sam &amp; Max Hit the Road</description> <description>Sam &amp; Max Hit the Road</description>
<year>1993</year> <year>1993</year>
@ -12932,7 +12932,7 @@ license:CC0
</dataarea> </dataarea>
</part> </part>
</software> </software>
<software name="silverb2p"> <software name="silverb2p">
<description>Silverball 2 Plus</description> <description>Silverball 2 Plus</description>
<year>1994</year> <year>1994</year>
@ -13358,7 +13358,7 @@ license:CC0
</dataarea> </dataarea>
</part> </part>
</software> </software>
<software name="trek25th"> <software name="trek25th">
<description>Star Trek - 25th Anniversary</description> <description>Star Trek - 25th Anniversary</description>
<year>1992</year> <year>1992</year>
@ -13620,7 +13620,7 @@ license:CC0
</dataarea> </dataarea>
</part> </part>
</software> </software>
<software name="syndicate"> <software name="syndicate">
<description>Syndicate</description> <description>Syndicate</description>
<year>1993</year> <year>1993</year>

View File

@ -853,8 +853,8 @@ Info for original games comes from https://web.archive.org/web/20141023024713/mc
<part name="cass1" interface="mc1000_cass"> <part name="cass1" interface="mc1000_cass">
<!-- <!--
<dataarea name="cass" size="702764"> <dataarea name="cass" size="702764">
<rom name="aventura.wav" size="702764" crc="82a6263b" sha1="834d9511e22f5c34244923108366201e82b89179"/> <rom name="aventura.wav" size="702764" crc="82a6263b" sha1="834d9511e22f5c34244923108366201e82b89179"/>
--> -->
<dataarea name="cass" size="168558"> <dataarea name="cass" size="168558">
<rom name="aventura.wav" size="168558" crc="208c0c8b" sha1="169010d35d4fa3a63cf00f5758717e57fd4754e2"/> <rom name="aventura.wav" size="168558" crc="208c0c8b" sha1="169010d35d4fa3a63cf00f5758717e57fd4754e2"/>
@ -910,8 +910,8 @@ Info for original games comes from https://web.archive.org/web/20141023024713/mc
<part name="cass1" interface="mc1000_cass"> <part name="cass1" interface="mc1000_cass">
<!-- <!--
<dataarea name="cass" size="176812"> <dataarea name="cass" size="176812">
<rom name="circulos.wav" size="176812" crc="402caaea" sha1="614201ff32f80c91bf433243bc046eee78e190bf"/> <rom name="circulos.wav" size="176812" crc="402caaea" sha1="614201ff32f80c91bf433243bc046eee78e190bf"/>
--> -->
<dataarea name="cass" size="40350"> <dataarea name="cass" size="40350">
<rom name="circulos.wav" size="40350" crc="007a7c30" sha1="0002df62b1b37cd1c3d5b0db3a7a86f733604106"/> <rom name="circulos.wav" size="40350" crc="007a7c30" sha1="0002df62b1b37cd1c3d5b0db3a7a86f733604106"/>
@ -979,8 +979,8 @@ Info for original games comes from https://web.archive.org/web/20141023024713/mc
<part name="cass1" interface="mc1000_cass"> <part name="cass1" interface="mc1000_cass">
<!-- <!--
<dataarea name="cass" size="549964"> <dataarea name="cass" size="549964">
<rom name="explosao.wav" size="549964" crc="d231d3af" sha1="a3cce871efa9f8762257ac7ea47c71311f25920f"/> <rom name="explosao.wav" size="549964" crc="d231d3af" sha1="a3cce871efa9f8762257ac7ea47c71311f25920f"/>
--> -->
<dataarea name="cass" size="130822"> <dataarea name="cass" size="130822">
<rom name="explosao.wav" size="130822" crc="0b46f290" sha1="821b95bd675097d5ffba1c4c97898d20c9d10bb3"/> <rom name="explosao.wav" size="130822" crc="0b46f290" sha1="821b95bd675097d5ffba1c4c97898d20c9d10bb3"/>

View File

@ -374,7 +374,7 @@ Info on N64 chip labels (from The Cart Scan Repository)
<description>AeroGauge (Europe)</description> <description>AeroGauge (Europe)</description>
<year>1998</year> <year>1998</year>
<publisher>ASCII Entertainment</publisher> <publisher>ASCII Entertainment</publisher>
<info name="serial" value=" NUS-NAGP-NOE, NUS-NAGP-UKV"/> <info name="serial" value="NUS-NAGP-NOE, NUS-NAGP-UKV"/>
<part name="cart" interface="n64_cart"> <part name="cart" interface="n64_cart">
<feature name="pcb" value="NUS-01A-02" /> <feature name="pcb" value="NUS-01A-02" />
<feature name="u1" value="U1 [NUS-NAGP-0]" /> <feature name="u1" value="U1 [NUS-NAGP-0]" />

View File

@ -6488,11 +6488,11 @@ license:CC0
<!-- <!--
ID-0228 ID-0228
Ghostlop (prototype) 1996 Data East Corp. Ghostlop (prototype) 1996 Data East Corp.
Ghostlop (location test) 2001 Data East Corp. Ghostlop (location test) 2001 Data East Corp.
NEO-MVS PROGGSC / NEO-MVS CHA256 NEO-MVS PROGGSC / NEO-MVS CHA256
The location test version uses socketed EPROMs on the PROG board, flash chips on adapter boards for the C ROMs and EPROMs for M1 and S1 on the CHA. The location test version uses socketed EPROMs on the PROG board, flash chips on adapter boards for the C ROMs and EPROMs for M1 and S1 on the CHA.
It has a piece of cardboard between the 2 boards to avoid shorts because the socketed flash adapter boards are a bit too high and could get shorted with traces on the PROG board. It has a piece of cardboard between the 2 boards to avoid shorts because the socketed flash adapter boards are a bit too high and could get shorted with traces on the PROG board.
--> -->

View File

@ -47339,14 +47339,14 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
<feature name="pcb" value="KONAMI-VRC-2" /> <feature name="pcb" value="KONAMI-VRC-2" />
<feature name="vrc2-pin3" value="PRG A1" /> <feature name="vrc2-pin3" value="PRG A1" />
<feature name="vrc2-pin4" value="PRG A0" /> <feature name="vrc2-pin4" value="PRG A0" />
<feature name="vrc2-pin21" value ="CHR A10" /> <feature name="vrc2-pin21" value="CHR A10" />
<feature name="vrc2-pin22" value ="CHR A16" /> <feature name="vrc2-pin22" value="CHR A16" />
<feature name="vrc2-pin23" value ="CHR A11" /> <feature name="vrc2-pin23" value="CHR A11" />
<feature name="vrc2-pin24" value ="CHR A13" /> <feature name="vrc2-pin24" value="CHR A13" />
<feature name="vrc2-pin25" value ="CHR A14" /> <feature name="vrc2-pin25" value="CHR A14" />
<feature name="vrc2-pin26" value ="CHR A12" /> <feature name="vrc2-pin26" value="CHR A12" />
<feature name="vrc2-pin27" value ="CHR A15" /> <feature name="vrc2-pin27" value="CHR A15" />
<feature name="vrc2-pin28" value ="NC" /> <feature name="vrc2-pin28" value="NC" />
<dataarea name="chr" size="131072"> <dataarea name="chr" size="131072">
<rom name="mad city (japan) (beta).chr" size="131072" crc="028dc0ef" sha1="1212b249bfc2c13e76a337d4ceedc5f78d1d5be6" offset="00000" status="baddump" /> <rom name="mad city (japan) (beta).chr" size="131072" crc="028dc0ef" sha1="1212b249bfc2c13e76a337d4ceedc5f78d1d5be6" offset="00000" status="baddump" />
</dataarea> </dataarea>
@ -50292,14 +50292,14 @@ preliminary proto for the PAL version, still running on NTSC systems) or the gfx
<feature name="pcb" value="KONAMI-VRC-2" /> <feature name="pcb" value="KONAMI-VRC-2" />
<feature name="vrc2-pin3" value="PRG A1" /> <feature name="vrc2-pin3" value="PRG A1" />
<feature name="vrc2-pin4" value="PRG A0" /> <feature name="vrc2-pin4" value="PRG A0" />
<feature name="vrc2-pin21" value ="CHR A10" /> <feature name="vrc2-pin21" value="CHR A10" />
<feature name="vrc2-pin22" value ="CHR A16" /> <feature name="vrc2-pin22" value="CHR A16" />
<feature name="vrc2-pin23" value ="CHR A11" /> <feature name="vrc2-pin23" value="CHR A11" />
<feature name="vrc2-pin24" value ="CHR A13" /> <feature name="vrc2-pin24" value="CHR A13" />
<feature name="vrc2-pin25" value ="CHR A14" /> <feature name="vrc2-pin25" value="CHR A14" />
<feature name="vrc2-pin26" value ="CHR A12" /> <feature name="vrc2-pin26" value="CHR A12" />
<feature name="vrc2-pin27" value ="CHR A15" /> <feature name="vrc2-pin27" value="CHR A15" />
<feature name="vrc2-pin28" value ="NC" /> <feature name="vrc2-pin28" value="NC" />
<dataarea name="chr" size="131072"> <dataarea name="chr" size="131072">
<rom name="twinbee 3 - poko poko dai maou (japan) (beta).chr" size="131072" crc="22a2268f" sha1="a930b56984f1bf8cc08050a52a8e2ed2484619cf" offset="00000" status="baddump" /> <rom name="twinbee 3 - poko poko dai maou (japan) (beta).chr" size="131072" crc="22a2268f" sha1="a930b56984f1bf8cc08050a52a8e2ed2484619cf" offset="00000" status="baddump" />
</dataarea> </dataarea>

View File

@ -11,7 +11,7 @@ NOTE: This list is here only to document available dumps and it's not hooked up
<description>Ballistic</description> <description>Ballistic</description>
<year>2000</year> <year>2000</year>
<publisher>VM Labs, Inc.</publisher> <publisher>VM Labs, Inc.</publisher>
<part interface="dvdrom" name="dvdrom"> <part interface="dvdrom" name="dvdrom">
<diskarea name="dvdrom"> <diskarea name="dvdrom">
<disk name="ballstic" sha1="92b386f176eecc7d3b1e13675ccaf0b60a543175" /> <disk name="ballstic" sha1="92b386f176eecc7d3b1e13675ccaf0b60a543175" />
</diskarea> </diskarea>
@ -22,66 +22,66 @@ NOTE: This list is here only to document available dumps and it's not hooked up
<description>FreeFall 3050 A.D.</description> <description>FreeFall 3050 A.D.</description>
<year>200?</year> <year>200?</year>
<publisher>VM Labs, Inc.</publisher> <publisher>VM Labs, Inc.</publisher>
<part interface="dvdrom" name="dvdrom"> <part interface="dvdrom" name="dvdrom">
<diskarea name="dvdrom"> <diskarea name="dvdrom">
<disk name="freefall" sha1="56540609dcdf3d5234a1d045b28cba58ba6adae8" /> <disk name="freefall" sha1="56540609dcdf3d5234a1d045b28cba58ba6adae8" />
</diskarea> </diskarea>
</part> </part>
</software> </software>
<software name="is3"> <software name="is3">
<description>Iron Soldier 3</description> <description>Iron Soldier 3</description>
<year>2001</year> <year>2001</year>
<publisher>VM Labs, Inc.</publisher> <publisher>VM Labs, Inc.</publisher>
<part interface="dvdrom" name="dvdrom"> <part interface="dvdrom" name="dvdrom">
<diskarea name="dvdrom"> <diskarea name="dvdrom">
<disk name="is3" sha1="47dec1bbb819342cf8bc2fee98fc7b18d1302503" /> <disk name="is3" sha1="47dec1bbb819342cf8bc2fee98fc7b18d1302503" />
</diskarea> </diskarea>
</part> </part>
</software> </software>
<software name="merlinr"> <software name="merlinr">
<description>Merlin Racing</description> <description>Merlin Racing</description>
<year>200?</year> <year>200?</year>
<publisher>VM Labs, Inc.</publisher> <publisher>VM Labs, Inc.</publisher>
<part interface="dvdrom" name="dvdrom"> <part interface="dvdrom" name="dvdrom">
<diskarea name="dvdrom"> <diskarea name="dvdrom">
<disk name="merlinr" sha1="80116c3c9440492678f8f072c5fabd2cedb3034e" /> <disk name="merlinr" sha1="80116c3c9440492678f8f072c5fabd2cedb3034e" />
</diskarea> </diskarea>
</part> </part>
</software> </software>
<software name="spacinvx"> <software name="spacinvx">
<description>Space Invaders XL</description> <description>Space Invaders XL</description>
<year>200?</year> <year>200?</year>
<publisher>VM Labs, Inc.</publisher> <publisher>VM Labs, Inc.</publisher>
<part interface="dvdrom" name="dvdrom"> <part interface="dvdrom" name="dvdrom">
<diskarea name="dvdrom"> <diskarea name="dvdrom">
<disk name="spacinvx" sha1="76518e106ab04819f6b85cc3e1eea08968b7b249" /> <disk name="spacinvx" sha1="76518e106ab04819f6b85cc3e1eea08968b7b249" />
</diskarea> </diskarea>
</part> </part>
</software> </software>
<software name="tempest3"> <software name="tempest3">
<description>Tempest 3000</description> <description>Tempest 3000</description>
<year>200?</year> <year>200?</year>
<publisher>VM Labs, Inc.</publisher> <publisher>VM Labs, Inc.</publisher>
<part interface="dvdrom" name="dvdrom"> <part interface="dvdrom" name="dvdrom">
<diskarea name="dvdrom"> <diskarea name="dvdrom">
<disk name="tempest3" sha1="48e44d3de2642bb7b4fc5a044caf4cb2e8ad5c25" /> <disk name="tempest3" sha1="48e44d3de2642bb7b4fc5a044caf4cb2e8ad5c25" />
</diskarea> </diskarea>
</part> </part>
</software> </software>
<software name="toshsamp"> <software name="toshsamp">
<description>Toshiba Sampler (11-1-2000)</description> <description>Toshiba Sampler (11-1-2000)</description>
<year>200?</year> <year>200?</year>
<publisher>VM Labs, Inc.</publisher> <publisher>VM Labs, Inc.</publisher>
<part interface="dvdrom" name="dvdrom"> <part interface="dvdrom" name="dvdrom">
<diskarea name="dvdrom"> <diskarea name="dvdrom">
<disk name="toshsamp" sha1="e312c9cec7f11a4594c1a3340fbcc9f66a65e9b1" /> <disk name="toshsamp" sha1="e312c9cec7f11a4594c1a3340fbcc9f66a65e9b1" />
</diskarea> </diskarea>
</part> </part>
</software> </software>
</softwarelist> </softwarelist>

View File

@ -1337,7 +1337,7 @@ license:CC0
<year>1996</year> <!-- 03/96 --> <year>1996</year> <!-- 03/96 -->
<publisher>Silicon Graphics</publisher> <publisher>Silicon Graphics</publisher>
<part name="cdrom" interface="cdrom"> <part name="cdrom" interface="cdrom">
<feature name="part_number" value=" 812-0478-001"/> <feature name="part_number" value="812-0478-001"/>
<!-- Origin: jrra.zone --> <!-- Origin: jrra.zone -->
<diskarea name="cdrom"> <diskarea name="cdrom">
<disk name="iris_development_option_6_2" sha1="eabaa5238a3515f1c71d693efc2781b4d1675cf9" /> <disk name="iris_development_option_6_2" sha1="eabaa5238a3515f1c71d693efc2781b4d1675cf9" />
@ -2099,7 +2099,7 @@ license:CC0
<year>1993</year> <!-- 09/93 --> <year>1993</year> <!-- 09/93 -->
<publisher>Silicon Graphics</publisher> <publisher>Silicon Graphics</publisher>
<part name="cdrom" interface="cdrom"> <part name="cdrom" interface="cdrom">
<feature name="part_number" value=" 812-0232-002"/> <feature name="part_number" value="812-0232-002"/>
<!-- Origin: jrra.zone --> <!-- Origin: jrra.zone -->
<diskarea name="cdrom"> <diskarea name="cdrom">
<disk name="indy_irix_5_1_1" sha1="e041bee239367f926ce0cef0d16830bdbe49ea01" /> <disk name="indy_irix_5_1_1" sha1="e041bee239367f926ce0cef0d16830bdbe49ea01" />
@ -2231,7 +2231,7 @@ license:CC0
<publisher>Silicon Graphics</publisher> <publisher>Silicon Graphics</publisher>
<part name="cdrom1" interface="cdrom"> <part name="cdrom1" interface="cdrom">
<feature name="part_number" value="812-0469-001"/> <feature name="part_number" value="812-0469-001"/>
<feature name="part_id" value="IRIX 6.2 part 1 of 2"/> <feature name="part_id" value="IRIX 6.2 part 1 of 2"/>
<!-- Origin: private dump. Verified SHA1 against a Plextor dump without C2 errors --> <!-- Origin: private dump. Verified SHA1 against a Plextor dump without C2 errors -->
<diskarea name="cdrom"> <diskarea name="cdrom">
<disk name="irix_6_2_part_1_of_2" sha1="714ad598cde6a48132005e4728e7e7d18fdbbb1b" /> <disk name="irix_6_2_part_1_of_2" sha1="714ad598cde6a48132005e4728e7e7d18fdbbb1b" />
@ -2246,7 +2246,7 @@ license:CC0
</diskarea> </diskarea>
</part> </part>
</software> </software>
<software name="irix_6_2_a" cloneof="irix_6_2"> <software name="irix_6_2_a" cloneof="irix_6_2">
<description>IRIX 6.2 with Indigo IMPACT 10000</description> <description>IRIX 6.2 with Indigo IMPACT 10000</description>
<year>1996</year> <year>1996</year>
@ -2325,7 +2325,7 @@ license:CC0
</part> </part>
<part name="cdrom4" interface="cdrom"> <part name="cdrom4" interface="cdrom">
<feature name="part_number" value="812-0747-001"/> <feature name="part_number" value="812-0747-001"/>
<feature name="part_id" value=" IRIX 6.5 Beta Applications"/> <feature name="part_id" value="IRIX 6.5 Beta Applications"/>
<!-- Origin: jrra.zone --> <!-- Origin: jrra.zone -->
<diskarea name="cdrom"> <diskarea name="cdrom">
<disk name="irix_6_5_beta_applications" sha1="6640a6b668de811d681bb8b17c16a44d67529c33" /> <disk name="irix_6_5_beta_applications" sha1="6640a6b668de811d681bb8b17c16a44d67529c33" />
@ -2357,7 +2357,7 @@ license:CC0
</part> </part>
<part name="cdrom8" interface="cdrom"> <part name="cdrom8" interface="cdrom">
<feature name="part_number" value="812-0753-001"/> <feature name="part_number" value="812-0753-001"/>
<feature name="part_id" value=" IRIX 6.5 Beta O2 Demos"/> <feature name="part_id" value="IRIX 6.5 Beta O2 Demos"/>
<!-- Origin: jrra.zone --> <!-- Origin: jrra.zone -->
<diskarea name="cdrom"> <diskarea name="cdrom">
<disk name="irix_6_5_beta_o2_demos" sha1="c954caa735d92dcf4a6aba620c8d7ad44cf3b0bb" /> <disk name="irix_6_5_beta_o2_demos" sha1="c954caa735d92dcf4a6aba620c8d7ad44cf3b0bb" />
@ -3337,7 +3337,7 @@ license:CC0
</diskarea> </diskarea>
</part> </part>
<part name="cdrom4" interface="cdrom"> <part name="cdrom4" interface="cdrom">
<feature name="part_number" value="812-0877-022 "/> <feature name="part_number" value="812-0877-022 "/>
<feature name="part_id" value="IRIX 6.5 Applications November 2003"/> <feature name="part_id" value="IRIX 6.5 Applications November 2003"/>
<!-- Origin: archive.org --> <!-- Origin: archive.org -->
<diskarea name="cdrom"> <diskarea name="cdrom">

View File

@ -645,7 +645,7 @@ license:CC0
</software> </software>
<!-- <!--
<software name="ledstorm"> <software name="ledstorm">
--> -->
<!-- SPS (CAPS) release 3585 --> <!-- SPS (CAPS) release 3585 -->
<!-- <!--
@ -1012,7 +1012,7 @@ license:CC0
</software> </software>
<!-- <!--
<software name="rockhams"> <software name="rockhams">
--> -->
<!-- SPS (CAPS) release 3607 --> <!-- SPS (CAPS) release 3607 -->
<!-- <!--
@ -1451,7 +1451,7 @@ license:CC0
</software> </software>
<!-- <!--
<software name="tigeroad"> <software name="tigeroad">
--> -->
<!-- SPS (CAPS) release 3625 --> <!-- SPS (CAPS) release 3625 -->
<!-- <!--

View File

@ -315154,7 +315154,7 @@ license:CC0
</software> </software>
<!-- Project 2612 VGM Archives located at http://project2612.org/list.php <!-- Project 2612 VGM Archives located at http://project2612.org/list.php
Update May 2, 2020 - 5 new entries --> Update May 2, 2020 - 5 new entries -->
<software name="joemont2_md"> <software name="joemont2_md">
<description>Joe Montana II - Sports Talk Football (GEN/MD)</description> <description>Joe Montana II - Sports Talk Football (GEN/MD)</description>

View File

@ -800,7 +800,7 @@ Most info on release dates and Jpn titles come from the following (wonderful) re
</part> </part>
</software> </software>
<!-- boot OK, sometimes a line of garbage appear on background during gameplay (happened after continue on stage 3, hard to repro?) --> <!-- boot OK, sometimes a line of garbage appear on background during gameplay (happened after continue on stage 3, hard to repro?) -->
<!-- old note: has video glitches on first stage, Ajax title logo on background (cannot repro) --> <!-- old note: has video glitches on first stage, Ajax title logo on background (cannot repro) -->
<software name="ajax" supported="partial"> <software name="ajax" supported="partial">
<description>Ajax</description> <description>Ajax</description>
@ -22164,7 +22164,7 @@ sold through Takeru vending machines -->
</part> </part>
</software> </software>
<!-- boot OK --> <!-- boot OK -->
<!-- some projectiles don't move (cannot repro) --> <!-- some projectiles don't move (cannot repro) -->
<software name="actshoot"> <software name="actshoot">
<description>Active Shoot</description> <description>Active Shoot</description>

View File

@ -4440,4 +4440,4 @@ if (MACHINES["SWIM3"]~=null) then
MAME_DIR .. "src/devices/machine/swim3.cpp", MAME_DIR .. "src/devices/machine/swim3.cpp",
MAME_DIR .. "src/devices/machine/swim3.h", MAME_DIR .. "src/devices/machine/swim3.h",
} }
end end

View File

@ -6,8 +6,8 @@
Implementation of the Apple II IWM controller card Implementation of the Apple II IWM controller card
WANTED: there are no ROM dumps from this card in any form WANTED: there are no ROM dumps from this card in any form
(the IWM card, the UniDisk ) (the IWM card, the UniDisk )
*********************************************************************/ *********************************************************************/

View File

@ -595,7 +595,7 @@ uint8_t epson_lx810l_device::an3_r()
return res - 1; /* DIPSW2.4 */ return res - 1; /* DIPSW2.4 */
} }
uint8_t epson_lx810l_device::an4_r() uint8_t epson_lx810l_device::an4_r()
{ {
return 0xff; return 0xff;
} }

View File

@ -149,7 +149,7 @@ private:
// registers // registers
u8 m_cache_controler; u8 m_cache_controler;
u8 m_cache_pointer; u8 m_cache_pointer;
required_device<ram_device> m_cache_buffer; required_device<ram_device> m_cache_buffer;
}; };

View File

@ -6,7 +6,7 @@
Code for emulating the Disto RAM cartridge Code for emulating the Disto RAM cartridge
This cartridge came in several forms: 256K, 512K, 768K, and 1024K. This cartridge came in several forms: 256K, 512K, 768K, and 1024K.
***************************************************************************/ ***************************************************************************/
@ -53,7 +53,7 @@ namespace
private: private:
required_device<ram_device> m_staticram; required_device<ram_device> m_staticram;
int m_offset; int m_offset;
}; };
}; };
@ -124,7 +124,7 @@ void coco_pak_ram_device::device_reset()
void coco_pak_ram_device::scs_write(offs_t offset, u8 data) void coco_pak_ram_device::scs_write(offs_t offset, u8 data)
{ {
// int idata = data; // int idata = data;
switch(offset) switch(offset)
{ {

View File

@ -791,7 +791,7 @@ void ecb_grip21_device::cxstb_w(uint8_t data)
void grip5_state::eprom_w(uint8_t data) void grip5_state::eprom_w(uint8_t data)
{ {
membank("eprom")->set_entry(BIT(data, 0)); membank("eprom")->set_entry(BIT(data, 0));
} }
@ -801,7 +801,7 @@ void grip5_state::eprom_w(uint8_t data)
void grip5_state::dpage_w(uint8_t data) void grip5_state::dpage_w(uint8_t data)
{ {
m_dpage = BIT(data, 7); m_dpage = BIT(data, 7);
} }
*/ */

View File

@ -23,15 +23,15 @@ DEFINE_DEVICE_TYPE(GRID2101_HDD, grid2101_hdd_device, "grid2101_hdd", "GRID2101_
#include "logmacro.h" #include "logmacro.h"
#define GRID2102_FETCH32(Array, Offset) ((uint32_t)(\ #define GRID2102_FETCH32(Array, Offset) ((uint32_t)(\
(Array[Offset] << 0) |\ (Array[Offset] << 0) |\
(Array[Offset + 1] << 8) |\ (Array[Offset + 1] << 8) |\
(Array[Offset + 2] << 16) |\ (Array[Offset + 2] << 16) |\
(Array[Offset + 3] << 24)\ (Array[Offset + 3] << 24)\
)) ))
#define GRID2102_FETCH16(Array, Offset) ((uint16_t)(\ #define GRID2102_FETCH16(Array, Offset) ((uint16_t)(\
(Array[Offset] << 0) |\ (Array[Offset] << 0) |\
(Array[Offset + 1] << 8)\ (Array[Offset + 1] << 8)\
)) ))
#define GRID2101_HARDDISK_DEV_ADDR 4 #define GRID2101_HARDDISK_DEV_ADDR 4
@ -48,268 +48,268 @@ DEFINE_DEVICE_TYPE(GRID2101_HDD, grid2101_hdd_device, "grid2101_hdd", "GRID2101_
#define GRID210X_STATE_WRITING_DATA_WAIT 3 #define GRID210X_STATE_WRITING_DATA_WAIT 3
uint8_t grid2102_device::identify_response[56] = {0x00, 0x02, 0xf8, 0x01, 0xD0, 0x02, 0x01, 0x20, 0x01, 0x21, 0x01, 0x01, 0x00, 0x00, uint8_t grid2102_device::identify_response[56] = {0x00, 0x02, 0xf8, 0x01, 0xD0, 0x02, 0x01, 0x20, 0x01, 0x21, 0x01, 0x01, 0x00, 0x00,
0x34, 0x38, 0x20, 0x54, 0x50, 0x49, 0x20, 0x44, 0x53, 0x20, 0x44, 0x44, 0x20, 0x46, 0x34, 0x38, 0x20, 0x54, 0x50, 0x49, 0x20, 0x44, 0x53, 0x20, 0x44, 0x44, 0x20, 0x46,
0x4c, 0x4f, 0x50, 0x50, 0x59, 0x20, 0x20, 0x20, 0x20, 0x33, 0x30, 0x32, 0x33, 0x37, 0x4c, 0x4f, 0x50, 0x50, 0x59, 0x20, 0x20, 0x20, 0x20, 0x33, 0x30, 0x32, 0x33, 0x37,
0x2d, 0x30, 0x30, 0x00, 0x02, 0x09, 0x00}; 0x2d, 0x30, 0x30, 0x00, 0x02, 0x09, 0x00};
uint8_t grid2101_floppy_device::identify_response[56] = {0x00, 0x02, 0xf8, 0x01, 0xD0, 0x02, 0x01, 0x20, 0x01, 0x21, 0x01, 0x01, 0x00, 0x00, uint8_t grid2101_floppy_device::identify_response[56] = {0x00, 0x02, 0xf8, 0x01, 0xD0, 0x02, 0x01, 0x20, 0x01, 0x21, 0x01, 0x01, 0x00, 0x00,
0x34, 0x38, 0x20, 0x54, 0x50, 0x49, 0x20, 0x44, 0x53, 0x20, 0x44, 0x44, 0x20, 0x46, 0x34, 0x38, 0x20, 0x54, 0x50, 0x49, 0x20, 0x44, 0x53, 0x20, 0x44, 0x44, 0x20, 0x46,
0x4c, 0x4f, 0x50, 0x50, 0x59, 0x20, 0x20, 0x20, 0x20, 0x33, 0x30, 0x32, 0x33, 0x37, 0x4c, 0x4f, 0x50, 0x50, 0x59, 0x20, 0x20, 0x20, 0x20, 0x33, 0x30, 0x32, 0x33, 0x37,
0x2d, 0x30, 0x30, 0x00, 0x02, 0x09, 0x00}; 0x2d, 0x30, 0x30, 0x00, 0x02, 0x09, 0x00};
uint8_t grid2101_hdd_device::identify_response[56] = { uint8_t grid2101_hdd_device::identify_response[56] = {
0x00, 0x02, 0xF8, 0x01, 0x8C, 0x51, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x4D, 0x41, 0x00, 0x02, 0xF8, 0x01, 0x8C, 0x51, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x4D, 0x41,
0x4D, 0x45, 0x20, 0x48, 0x41, 0x52, 0x44, 0x44, 0x49, 0x53, 0x4B, 0x20, 0x44, 0x52, 0x49, 0x56, 0x4D, 0x45, 0x20, 0x48, 0x41, 0x52, 0x44, 0x44, 0x49, 0x53, 0x4B, 0x20, 0x44, 0x52, 0x49, 0x56,
0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x47, 0x52, 0x49, 0x44, 0x32, 0x31, 0x30, 0x31, 0x00, 0x02, 0x45, 0x20, 0x20, 0x20, 0x20, 0x20, 0x47, 0x52, 0x49, 0x44, 0x32, 0x31, 0x30, 0x31, 0x00, 0x02,
0x11, 0x00, 0x33, 0x01, 0x00, 0x00, 0x04, 0x00 0x11, 0x00, 0x33, 0x01, 0x00, 0x00, 0x04, 0x00
}; };
grid210x_device::grid210x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int bus_addr, uint8_t *identify_response, attotime read_delay) grid210x_device::grid210x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, int bus_addr, uint8_t *identify_response, attotime read_delay)
: device_t(mconfig, type, tag, owner, clock), : device_t(mconfig, type, tag, owner, clock),
device_ieee488_interface(mconfig, *this), device_ieee488_interface(mconfig, *this),
device_image_interface(mconfig, *this), device_image_interface(mconfig, *this),
m_gpib_loop_state(GRID210X_GPIB_STATE_IDLE), m_gpib_loop_state(GRID210X_GPIB_STATE_IDLE),
m_floppy_loop_state(GRID210X_STATE_IDLE), m_floppy_loop_state(GRID210X_STATE_IDLE),
listening(false), listening(false),
talking(false), talking(false),
serial_polling(false), serial_polling(false),
has_srq(false), has_srq(false),
serial_poll_byte(0), serial_poll_byte(0),
bus_addr(bus_addr), bus_addr(bus_addr),
identify_response_ptr(identify_response), identify_response_ptr(identify_response),
read_delay(read_delay) read_delay(read_delay)
{ {
} }
void grid210x_device::device_start() { void grid210x_device::device_start() {
m_bus->ndac_w(this, 1); m_bus->ndac_w(this, 1);
m_bus->nrfd_w(this, 1); m_bus->nrfd_w(this, 1);
m_delay_timer = timer_alloc(0); m_delay_timer = timer_alloc(0);
} }
void grid210x_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) { void grid210x_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) {
if (m_floppy_loop_state == GRID210X_STATE_READING_DATA) { if (m_floppy_loop_state == GRID210X_STATE_READING_DATA) {
std::unique_ptr<uint8_t[]> data(new uint8_t[io_size]); std::unique_ptr<uint8_t[]> data(new uint8_t[io_size]);
fseek(floppy_sector_number * 512, SEEK_SET); fseek(floppy_sector_number * 512, SEEK_SET);
fread(data.get(), io_size); fread(data.get(), io_size);
for (int i = 0; i < io_size; i++) { for (int i = 0; i < io_size; i++) {
m_output_data_buffer.push(data[i]); m_output_data_buffer.push(data[i]);
} }
serial_poll_byte = 0x0F; serial_poll_byte = 0x0F;
has_srq = true; has_srq = true;
m_bus->srq_w(this, 0); m_bus->srq_w(this, 0);
m_floppy_loop_state = GRID210X_STATE_IDLE; m_floppy_loop_state = GRID210X_STATE_IDLE;
} else if (m_floppy_loop_state == GRID210X_STATE_WRITING_DATA_WAIT) { } else if (m_floppy_loop_state == GRID210X_STATE_WRITING_DATA_WAIT) {
// send an srq as success flag // send an srq as success flag
for (int i = 0; i < 7; i++) { // FIXME: for (int i = 0; i < 7; i++) { // FIXME:
m_output_data_buffer.push(0); m_output_data_buffer.push(0);
} }
serial_poll_byte = 0x0F; serial_poll_byte = 0x0F;
has_srq = true; has_srq = true;
m_bus->srq_w(this, 0); m_bus->srq_w(this, 0);
m_floppy_loop_state = GRID210X_STATE_IDLE; m_floppy_loop_state = GRID210X_STATE_IDLE;
} }
} }
void grid210x_device::ieee488_eoi(int state) { void grid210x_device::ieee488_eoi(int state) {
// logerror("grid210x_device eoi state set to %d\n", state); // logerror("grid210x_device eoi state set to %d\n", state);
} }
void grid210x_device::accept_transfer() { void grid210x_device::accept_transfer() {
if (m_floppy_loop_state == GRID210X_STATE_IDLE) { if (m_floppy_loop_state == GRID210X_STATE_IDLE) {
if (m_data_buffer.size() >= 0xA) { if (m_data_buffer.size() >= 0xA) {
uint8_t command = m_data_buffer[0]; uint8_t command = m_data_buffer[0];
uint32_t sector_number = GRID2102_FETCH32(m_data_buffer, 3); uint32_t sector_number = GRID2102_FETCH32(m_data_buffer, 3);
uint16_t data_size = GRID2102_FETCH16(m_data_buffer, 7); uint16_t data_size = GRID2102_FETCH16(m_data_buffer, 7);
LOG("grid210x_device command %u, data size %u, sector no %u\n", (unsigned)command, (unsigned)data_size, (unsigned)sector_number); LOG("grid210x_device command %u, data size %u, sector no %u\n", (unsigned)command, (unsigned)data_size, (unsigned)sector_number);
(void)(sector_number); (void)(sector_number);
if (command == 0x1) { // ddGetStatus if (command == 0x1) { // ddGetStatus
for (int i = 0; i < 56 && i < data_size; i++) { for (int i = 0; i < 56 && i < data_size; i++) {
m_output_data_buffer.push(identify_response_ptr[i]); m_output_data_buffer.push(identify_response_ptr[i]);
} }
} else if (command == 0x4) { // ddRead } else if (command == 0x4) { // ddRead
floppy_sector_number = sector_number; floppy_sector_number = sector_number;
io_size = data_size; io_size = data_size;
m_floppy_loop_state = GRID210X_STATE_READING_DATA; m_floppy_loop_state = GRID210X_STATE_READING_DATA;
m_delay_timer->adjust(read_delay); m_delay_timer->adjust(read_delay);
} else if (command == 0x5) { } else if (command == 0x5) {
floppy_sector_number = sector_number; floppy_sector_number = sector_number;
io_size = data_size; io_size = data_size;
m_floppy_loop_state = GRID210X_STATE_WRITING_DATA; m_floppy_loop_state = GRID210X_STATE_WRITING_DATA;
} }
} // else something is wrong, ignore } // else something is wrong, ignore
} else if (m_floppy_loop_state == GRID210X_STATE_WRITING_DATA) { } else if (m_floppy_loop_state == GRID210X_STATE_WRITING_DATA) {
// write // write
if (floppy_sector_number != 0xFFFFFFFF) { if (floppy_sector_number != 0xFFFFFFFF) {
fseek(floppy_sector_number * 512, SEEK_SET); fseek(floppy_sector_number * 512, SEEK_SET);
fwrite(m_data_buffer.data(), m_data_buffer.size()); fwrite(m_data_buffer.data(), m_data_buffer.size());
} else { } else {
// TODO: set status // TODO: set status
} }
// logerror("grid210x_device write sector %d\n", floppy_sector_number); // logerror("grid210x_device write sector %d\n", floppy_sector_number);
// wait // wait
m_floppy_loop_state = GRID210X_STATE_WRITING_DATA_WAIT; m_floppy_loop_state = GRID210X_STATE_WRITING_DATA_WAIT;
m_delay_timer->adjust(read_delay); m_delay_timer->adjust(read_delay);
} }
} }
void grid210x_device::ieee488_dav(int state) { void grid210x_device::ieee488_dav(int state) {
if(state == 0 && m_gpib_loop_state == GRID210X_GPIB_STATE_IDLE) { if(state == 0 && m_gpib_loop_state == GRID210X_GPIB_STATE_IDLE) {
// read data and wait for transfer end // read data and wait for transfer end
int atn = m_bus->atn_r() ^ 1; int atn = m_bus->atn_r() ^ 1;
m_bus->nrfd_w(this, 0); m_bus->nrfd_w(this, 0);
uint8_t data = m_bus->dio_r() ^ 0xFF; uint8_t data = m_bus->dio_r() ^ 0xFF;
int eoi = m_bus->eoi_r() ^ 1; int eoi = m_bus->eoi_r() ^ 1;
LOG_BYTES("grid210x_device byte recv %02x atn %d eoi %d\n", data, atn, eoi); LOG_BYTES("grid210x_device byte recv %02x atn %d eoi %d\n", data, atn, eoi);
m_last_recv_byte = data; m_last_recv_byte = data;
m_last_recv_atn = atn; m_last_recv_atn = atn;
m_last_recv_eoi = eoi; m_last_recv_eoi = eoi;
m_bus->ndac_w(this, 1); m_bus->ndac_w(this, 1);
m_gpib_loop_state = GRID210X_GPIB_STATE_WAIT_DAV_FALSE; m_gpib_loop_state = GRID210X_GPIB_STATE_WAIT_DAV_FALSE;
} else if (state == 1 && m_gpib_loop_state == GRID210X_GPIB_STATE_WAIT_DAV_FALSE) { } else if (state == 1 && m_gpib_loop_state == GRID210X_GPIB_STATE_WAIT_DAV_FALSE) {
// restore initial state // restore initial state
// m_bus->ndac_w(this, 0); // m_bus->ndac_w(this, 0);
m_bus->nrfd_w(this, 1); m_bus->nrfd_w(this, 1);
m_gpib_loop_state = GRID210X_GPIB_STATE_IDLE; m_gpib_loop_state = GRID210X_GPIB_STATE_IDLE;
update_ndac(m_bus->atn_r() ^ 1); update_ndac(m_bus->atn_r() ^ 1);
if (m_last_recv_atn) { if (m_last_recv_atn) {
if ((m_last_recv_byte & 0xE0) == 0x20) { if ((m_last_recv_byte & 0xE0) == 0x20) {
if ((m_last_recv_byte & 0x1F) == bus_addr) { if ((m_last_recv_byte & 0x1F) == bus_addr) {
// dev-id = 5 // dev-id = 5
listening = true; listening = true;
LOG("grid210x_device now listening\n"); LOG("grid210x_device now listening\n");
} else if((m_last_recv_byte & 0x1F) == 0x1F) { } else if((m_last_recv_byte & 0x1F) == 0x1F) {
// reset listen // reset listen
listening = false; listening = false;
LOG("grid210x_device now not listening\n"); LOG("grid210x_device now not listening\n");
} }
} else if ((m_last_recv_byte & 0xE0) == 0x40) { } else if ((m_last_recv_byte & 0xE0) == 0x40) {
if ((m_last_recv_byte & 0x1F) == bus_addr) { if ((m_last_recv_byte & 0x1F) == bus_addr) {
// dev-id = 5 // dev-id = 5
talking = true; talking = true;
LOG("grid210x_device now talking\n"); LOG("grid210x_device now talking\n");
} else { } else {
// reset talk // reset talk
talking = false; talking = false;
LOG("grid210x_device now not talking\n"); LOG("grid210x_device now not talking\n");
} }
} else if (m_last_recv_byte == 0x18) { } else if (m_last_recv_byte == 0x18) {
// serial poll enable // serial poll enable
serial_polling = true; serial_polling = true;
} else if (m_last_recv_byte == 0x19) { } else if (m_last_recv_byte == 0x19) {
// serial poll disable // serial poll disable
serial_polling = false; serial_polling = false;
} }
} else if (listening) { } else if (listening) {
m_data_buffer.push_back(m_last_recv_byte); m_data_buffer.push_back(m_last_recv_byte);
if (m_last_recv_eoi) { if (m_last_recv_eoi) {
accept_transfer(); accept_transfer();
m_data_buffer.clear(); m_data_buffer.clear();
} }
} }
if (talking) { if (talking) {
if (serial_polling) { if (serial_polling) {
bool had_srq = has_srq; bool had_srq = has_srq;
if (has_srq) { if (has_srq) {
has_srq = false; has_srq = false;
m_bus->srq_w(this, 1); m_bus->srq_w(this, 1);
} }
m_byte_to_send = serial_poll_byte | (had_srq ? 0x40 : 0); m_byte_to_send = serial_poll_byte | (had_srq ? 0x40 : 0);
serial_poll_byte = 0; serial_poll_byte = 0;
m_send_eoi = 1; m_send_eoi = 1;
m_gpib_loop_state = GRID210X_GPIB_STATE_SEND_DATA_START; m_gpib_loop_state = GRID210X_GPIB_STATE_SEND_DATA_START;
} else if (!m_output_data_buffer.empty()) { } else if (!m_output_data_buffer.empty()) {
m_byte_to_send = m_output_data_buffer.front(); m_byte_to_send = m_output_data_buffer.front();
m_output_data_buffer.pop(); m_output_data_buffer.pop();
m_send_eoi = m_output_data_buffer.empty() ? 1 : 0; m_send_eoi = m_output_data_buffer.empty() ? 1 : 0;
m_gpib_loop_state = GRID210X_GPIB_STATE_SEND_DATA_START; m_gpib_loop_state = GRID210X_GPIB_STATE_SEND_DATA_START;
} }
} }
} }
} }
void grid210x_device::ieee488_nrfd(int state) { void grid210x_device::ieee488_nrfd(int state) {
if (state == 1 && m_gpib_loop_state == GRID210X_GPIB_STATE_SEND_DATA_START) { if (state == 1 && m_gpib_loop_state == GRID210X_GPIB_STATE_SEND_DATA_START) {
// set dio and assert dav // set dio and assert dav
m_bus->host_dio_w(m_byte_to_send ^ 0xFF); m_bus->host_dio_w(m_byte_to_send ^ 0xFF);
m_bus->eoi_w(this, m_send_eoi ^ 1); m_bus->eoi_w(this, m_send_eoi ^ 1);
m_bus->dav_w(this, 0); m_bus->dav_w(this, 0);
m_bus->ndac_w(this, 1); m_bus->ndac_w(this, 1);
m_gpib_loop_state = GRID210X_GPIB_STATE_WAIT_NDAC_FALSE; m_gpib_loop_state = GRID210X_GPIB_STATE_WAIT_NDAC_FALSE;
LOG_BYTES("grid210x_device byte send %02x eoi %d\n", m_byte_to_send, m_send_eoi); LOG_BYTES("grid210x_device byte send %02x eoi %d\n", m_byte_to_send, m_send_eoi);
ieee488_ndac(m_bus->ndac_r()); ieee488_ndac(m_bus->ndac_r());
} }
// logerror("grid210x_device nrfd state set to %d\n", state); // logerror("grid210x_device nrfd state set to %d\n", state);
} }
void grid210x_device::ieee488_ndac(int state) { void grid210x_device::ieee488_ndac(int state) {
if (state == 1 && m_gpib_loop_state == GRID210X_GPIB_STATE_WAIT_NDAC_FALSE) { if (state == 1 && m_gpib_loop_state == GRID210X_GPIB_STATE_WAIT_NDAC_FALSE) {
// restore initial state // restore initial state
// logerror("grid210x_device restore ndac nrfd dav eoi\n"); // logerror("grid210x_device restore ndac nrfd dav eoi\n");
m_bus->nrfd_w(this, 1); m_bus->nrfd_w(this, 1);
m_bus->dav_w(this, 1); m_bus->dav_w(this, 1);
m_bus->eoi_w(this, 1); m_bus->eoi_w(this, 1);
m_gpib_loop_state = GRID210X_GPIB_STATE_IDLE; m_gpib_loop_state = GRID210X_GPIB_STATE_IDLE;
if (serial_polling) { if (serial_polling) {
talking = false; talking = false;
} }
update_ndac(m_bus->atn_r() ^ 1); update_ndac(m_bus->atn_r() ^ 1);
if (!serial_polling && talking && !m_output_data_buffer.empty()) { if (!serial_polling && talking && !m_output_data_buffer.empty()) {
m_byte_to_send = m_output_data_buffer.front(); m_byte_to_send = m_output_data_buffer.front();
m_output_data_buffer.pop(); m_output_data_buffer.pop();
m_send_eoi = m_output_data_buffer.empty() ? 1 : 0; m_send_eoi = m_output_data_buffer.empty() ? 1 : 0;
m_gpib_loop_state = GRID210X_GPIB_STATE_SEND_DATA_START; m_gpib_loop_state = GRID210X_GPIB_STATE_SEND_DATA_START;
} }
} }
// logerror("grid210x_device ndac state set to %d\n", state); // logerror("grid210x_device ndac state set to %d\n", state);
} }
void grid210x_device::ieee488_ifc(int state) { void grid210x_device::ieee488_ifc(int state) {
// logerror("grid210x_device ifc state set to %d\n", state); // logerror("grid210x_device ifc state set to %d\n", state);
} }
void grid210x_device::ieee488_srq(int state) { void grid210x_device::ieee488_srq(int state) {
// logerror("grid210x_device srq state set to %d\n", state); // logerror("grid210x_device srq state set to %d\n", state);
} }
void grid210x_device::ieee488_atn(int state) { void grid210x_device::ieee488_atn(int state) {
// logerror("grid210x_device atn state set to %d\n", state); // logerror("grid210x_device atn state set to %d\n", state);
update_ndac(state ^ 1); update_ndac(state ^ 1);
} }
void grid210x_device::update_ndac(int atn) { void grid210x_device::update_ndac(int atn) {
if (m_gpib_loop_state == GRID210X_GPIB_STATE_IDLE) { if (m_gpib_loop_state == GRID210X_GPIB_STATE_IDLE) {
if (atn) { if (atn) {
// pull NDAC low // pull NDAC low
m_bus->ndac_w(this, 0); m_bus->ndac_w(this, 0);
} else { } else {
// pull NDAC high if not listener and low if listener // pull NDAC high if not listener and low if listener
m_bus->ndac_w(this, listening ? 0 : 1); m_bus->ndac_w(this, listening ? 0 : 1);
} }
} }
} }
void grid210x_device::ieee488_ren(int state) { void grid210x_device::ieee488_ren(int state) {
LOG("grid210x_device ren state set to %d\n", state); LOG("grid210x_device ren state set to %d\n", state);
} }
grid2101_hdd_device::grid2101_hdd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) grid2101_hdd_device::grid2101_hdd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: grid210x_device(mconfig, GRID2101_HDD, tag, owner, clock, 4, identify_response, attotime::from_usec(150)) : grid210x_device(mconfig, GRID2101_HDD, tag, owner, clock, 4, identify_response, attotime::from_usec(150))
{ {
} }
grid2101_floppy_device::grid2101_floppy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : grid210x_device(mconfig, GRID2101_FLOPPY, tag, owner, clock, 5, identify_response) grid2101_floppy_device::grid2101_floppy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : grid210x_device(mconfig, GRID2101_FLOPPY, tag, owner, clock, 5, identify_response)
{ {
} }
grid2102_device::grid2102_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : grid210x_device(mconfig, GRID2102, tag, owner, clock, 6, identify_response) grid2102_device::grid2102_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : grid210x_device(mconfig, GRID2102, tag, owner, clock, 6, identify_response)
{ {
} }

View File

@ -2,7 +2,7 @@
// copyright-holders:Sergey Svishchev // copyright-holders:Sergey Svishchev
/*************************************************************************** /***************************************************************************
DEC PC11 paper tape reader and punch controller (punch not implemented) DEC PC11 paper tape reader and punch controller (punch not implemented)
***************************************************************************/ ***************************************************************************/

View File

@ -2,7 +2,7 @@
// copyright-holders:Sergey Svishchev // copyright-holders:Sergey Svishchev
/*************************************************************************** /***************************************************************************
DEC PC11 paper tape reader and punch controller (punch not implemented) DEC PC11 paper tape reader and punch controller (punch not implemented)
***************************************************************************/ ***************************************************************************/

View File

@ -54,7 +54,7 @@ private:
class qbus_device : public device_t, class qbus_device : public device_t,
public device_memory_interface, public device_memory_interface,
public device_z80daisy_interface public device_z80daisy_interface
{ {
public: public:
// construction/destruction // construction/destruction

View File

@ -84,7 +84,7 @@
V2: D7 BDI ROM_latch (0=enable, 1=disble), D4 - FDC HLT, D3 - SIDE, D0-2 - floppy drive select (bitmask, active low). V2: D7 BDI ROM_latch (0=enable, 1=disble), D4 - FDC HLT, D3 - SIDE, D0-2 - floppy drive select (bitmask, active low).
V3-V4: D7 BDI ROM_latch (0=enable, 1=disble), D6 - FDC DDEN, D4 - SIDE, D3 - FDC HLT, D2 - FDC /MR (reset), D0-1 - floppy drive select (binary value). V3-V4: D7 BDI ROM_latch (0=enable, 1=disble), D6 - FDC DDEN, D4 - SIDE, D3 - FDC HLT, D2 - FDC /MR (reset), D0-1 - floppy drive select (binary value).
CBI clones: D5 - printer port /STROBE CBI clones: D5 - printer port /STROBE
IO read port 0b1xxxx111 <- D7 - FDC INTRQ, D6 - FDC DRQ IO read port 0b1xxxx111 <- D7 - FDC INTRQ, D6 - FDC DRQ
IO read/write ports 0b0YYxx111 - access FDC ports YY IO read/write ports 0b0YYxx111 - access FDC ports YY
So mostly the same as beta128, except for new BDI ROM_latch bit So mostly the same as beta128, except for new BDI ROM_latch bit

View File

@ -11,7 +11,7 @@
is moved from 3cxx to 3dxx for example) is moved from 3cxx to 3dxx for example)
TODO: TODO:
original ROMs should have bits 0 and 7 swapped original ROMs should have bits 0 and 7 swapped
there were many unofficial ROMs available for this, make them there were many unofficial ROMs available for this, make them
available for use. available for use.

View File

@ -2,8 +2,8 @@
// copyright-holders:MetalliC // copyright-holders:MetalliC
/********************************************************************** /**********************************************************************
Didaktik D40/D80 disk interface Didaktik D40/D80 disk interface
(C) 1991 Didaktik Scalica (C) 1991 Didaktik Scalica
**********************************************************************/ **********************************************************************/

View File

@ -75,7 +75,7 @@ const i960_disassembler::mnemonic_t i960_disassembler::mnem_reg[197] =
{ "notbit", 0x580, -3 }, { "and", 0x581, -3 }, { "andnot", 0x582, -3 }, { "setbit", 0x583, -3 }, // 58 { "notbit", 0x580, -3 }, { "and", 0x581, -3 }, { "andnot", 0x582, -3 }, { "setbit", 0x583, -3 }, // 58
{ "notand", 0x584, -3 }, { "xor", 0x586, -3 }, { "or", 0x587, -3 }, { "notand", 0x584, -3 }, { "xor", 0x586, -3 }, { "or", 0x587, -3 },
{ "nor", 0x588, -3 }, { "xnor", 0x589, -3 }, { "not", 0x58a, -2 }, { "ornot", 0x58b, -3 }, { "nor", 0x588, -3 }, { "xnor", 0x589, -3 }, { "not", 0x58a, -2 }, { "ornot", 0x58b, -3 },
{ "clrbit", 0x58c, -3 }, { "notor", 0x58d, -3 }, { "nand", 0x58e, -3 }, { "alterbit", 0x58f, -3 }, { "clrbit", 0x58c, -3 }, { "notor", 0x58d, -3 }, { "nand", 0x58e, -3 }, { "alterbit", 0x58f, -3 },
{ "addo", 0x590, -3 }, { "addi", 0x591, -3 }, { "subo", 0x592, -3 }, { "subi", 0x593, -3 }, // 59 { "addo", 0x590, -3 }, { "addi", 0x591, -3 }, { "subo", 0x592, -3 }, { "subi", 0x593, -3 }, // 59
{ "cmpob", 0x594, 2 }, { "cmpib", 0x595, 2 }, { "cmpos", 0x596, 2 }, { "cmpis", 0x597, 2 }, { "cmpob", 0x594, 2 }, { "cmpib", 0x595, 2 }, { "cmpos", 0x596, 2 }, { "cmpis", 0x597, 2 },
@ -133,7 +133,7 @@ const i960_disassembler::mnemonic_t i960_disassembler::mnem_reg[197] =
{ "cvtri", 0x6c0, -20 }, { "cvtril", 0x6c1, -20 }, { "cvtzri", 0x6c2, -20 }, { "cvtzril", 0x6c3, -20 }, // 6c { "cvtri", 0x6c0, -20 }, { "cvtril", 0x6c1, -20 }, { "cvtzri", 0x6c2, -20 }, { "cvtzril", 0x6c3, -20 }, // 6c
{ "movr", 0x6c9, -20 }, { "movr", 0x6c9, -20 },
{ "movrl", 0x6d9, -20 }, // 6d { "movrl", 0x6d9, -20 }, // 6d
{ "movre", 0x6e1, -20 }, { "cpysre", 0x6e2, -30 }, { "cpyrsre", 0x6e3, -30 }, // 6e { "movre", 0x6e1, -20 }, { "cpysre", 0x6e2, -30 }, { "cpyrsre", 0x6e3, -30 }, // 6e
@ -241,7 +241,7 @@ offs_t i960_disassembler::dis_decode_cobr(std::ostream &stream, u32 iCode, u32 i
switch(cnt) switch(cnt)
{ {
case 1: // 1 operand (test*) case 1: // 1 operand (test*)
// For the test-if instructions, only the srcl field is used. Here, this field specifies a destination global or local register (ml is ignored). // For the test-if instructions, only the srcl field is used. Here, this field specifies a destination global or local register (ml is ignored).
util::stream_format(stream, "%-8s%s", mnemonic[op].mnem, regnames[src1]); util::stream_format(stream, "%-8s%s", mnemonic[op].mnem, regnames[src1]);
break; break;
case 3: // 3 operands case 3: // 3 operands

View File

@ -11,8 +11,8 @@
Currently implementation is similar to single stepping Currently implementation is similar to single stepping
with single cycle with single cycle
- Implement and acknowlodge remain registers; - Implement and acknowlodge remain registers;
- Improve delay slot display in debugger (highlight current instruction - Improve delay slot display in debugger (highlight current instruction
doesn't work but instruction hook does); doesn't work but instruction hook does);
***************************************************************************/ ***************************************************************************/
@ -265,7 +265,7 @@ void jaguar_cpu_device::check_irqs()
latch &= mask; latch &= mask;
if (latch == 0) if (latch == 0)
return; return;
/* determine which interrupt */ /* determine which interrupt */
for (int i = 0; i < 6; i++) for (int i = 0; i < 6; i++)
if (latch & (1 << i)) if (latch & (1 << i))
@ -371,7 +371,7 @@ void jaguar_cpu_device::device_start()
save_item(NAME(m_imask)); save_item(NAME(m_imask));
save_item(NAME(m_div_remainder)); save_item(NAME(m_div_remainder));
save_item(NAME(m_div_offset)); save_item(NAME(m_div_offset));
save_item(NAME(m_io_end)); save_item(NAME(m_io_end));
save_item(NAME(m_io_pc)); save_item(NAME(m_io_pc));
save_item(NAME(m_io_status)); save_item(NAME(m_io_status));
@ -1292,10 +1292,10 @@ void jaguar_cpu_device::io_common_map(address_map &map)
map(0x00, 0x03).rw(FUNC(jaguar_cpu_device::flags_r), FUNC(jaguar_cpu_device::flags_w)); map(0x00, 0x03).rw(FUNC(jaguar_cpu_device::flags_r), FUNC(jaguar_cpu_device::flags_w));
map(0x04, 0x07).w(FUNC(jaguar_cpu_device::matrix_control_w)); map(0x04, 0x07).w(FUNC(jaguar_cpu_device::matrix_control_w));
map(0x08, 0x0b).w(FUNC(jaguar_cpu_device::matrix_address_w)); map(0x08, 0x0b).w(FUNC(jaguar_cpu_device::matrix_address_w));
// map(0x0c, 0x0f) endian // map(0x0c, 0x0f) endian
map(0x10, 0x13).w(FUNC(jaguar_cpu_device::pc_w)); map(0x10, 0x13).w(FUNC(jaguar_cpu_device::pc_w));
map(0x14, 0x17).rw(FUNC(jaguar_cpu_device::status_r), FUNC(jaguar_cpu_device::control_w)); map(0x14, 0x17).rw(FUNC(jaguar_cpu_device::status_r), FUNC(jaguar_cpu_device::control_w));
// map(0x18, 0x1b) implementation specific // map(0x18, 0x1b) implementation specific
map(0x1c, 0x1f).rw(FUNC(jaguar_cpu_device::div_remainder_r), FUNC(jaguar_cpu_device::div_control_w)); map(0x1c, 0x1f).rw(FUNC(jaguar_cpu_device::div_remainder_r), FUNC(jaguar_cpu_device::div_control_w));
} }
@ -1327,11 +1327,11 @@ void jaguar_cpu_device::flags_w(offs_t offset, u32 data, u32 mem_mask)
// clear imask only on bit 3 clear (1 has no effect) // clear imask only on bit 3 clear (1 has no effect)
if ((m_flags & 0x08) == 0) if ((m_flags & 0x08) == 0)
m_imask = false; m_imask = false;
// update int latch & mask // update int latch & mask
m_int_mask = (m_flags >> 4) & 0x1f; m_int_mask = (m_flags >> 4) & 0x1f;
m_int_latch &= ~((m_flags >> 9) & 0x1f); m_int_latch &= ~((m_flags >> 9) & 0x1f);
// TODO: move to specific handler // TODO: move to specific handler
if (m_isdsp) if (m_isdsp)
{ {
@ -1370,11 +1370,11 @@ void jaguar_cpu_device::pc_w(offs_t offset, u32 data, u32 mem_mask)
/* /*
* Data Organization Register * Data Organization Register
* Note: The canonical way to set this up from 68k is $00070007, * Note: The canonical way to set this up from 68k is $00070007,
* so that Power-On endianness doesn't matter. 1=Big Endian * so that Power-On endianness doesn't matter. 1=Big Endian
* ---- -x-- Instruction endianness * ---- -x-- Instruction endianness
* ---- --x- Pixel endianness (GPU only) * ---- --x- Pixel endianness (GPU only)
* ---- ---x I/O endianness * ---- ---x I/O endianness
*/ */
// TODO: just log if anything farts for now, change to bit struct once we have something to test out // TODO: just log if anything farts for now, change to bit struct once we have something to test out
void jaguar_cpu_device::end_w(offs_t offset, u32 data, u32 mem_mask) void jaguar_cpu_device::end_w(offs_t offset, u32 data, u32 mem_mask)
@ -1400,7 +1400,7 @@ void jaguardsp_cpu_device::dsp_end_w(offs_t offset, u32 data, u32 mem_mask)
* y ---- -xxx xx-- ---- interrupt latch (y is DSP specific) (r/o) * y ---- -xxx xx-- ---- interrupt latch (y is DSP specific) (r/o)
* - ---- ---- --0- ---- <unused> * - ---- ---- --0- ---- <unused>
* - ---- ---- ---x x--- single step regs * - ---- ---- ---x x--- single step regs
* - ---- ---- ---- -x-- GPUINT0 or DSPINT0 * - ---- ---- ---- -x-- GPUINT0 or DSPINT0
* - ---- ---- ---- --x- Host interrupt (w/o) * - ---- ---- ---- --x- Host interrupt (w/o)
* - ---- ---- ---- ---x GPUGO or DSPGO flag * - ---- ---- ---- ---x GPUGO or DSPGO flag
* *
@ -1428,19 +1428,19 @@ void jaguar_cpu_device::control_w(offs_t offset, u32 data, u32 mem_mask)
bool new_go = BIT(m_io_status, 0); bool new_go = BIT(m_io_status, 0);
if (new_go != m_go) if (new_go != m_go)
go_w(new_go); go_w(new_go);
if (BIT(m_io_status, 1)) if (BIT(m_io_status, 1))
m_cpu_interrupt(ASSERT_LINE); m_cpu_interrupt(ASSERT_LINE);
// TODO: following does nothing if set by itself, or acts as a trap? // TODO: following does nothing if set by itself, or acts as a trap?
if (BIT(m_io_status, 2)) if (BIT(m_io_status, 2))
{ {
m_int_latch |= 1; m_int_latch |= 1;
check_irqs(); check_irqs();
} }
// TODO: single step handling // TODO: single step handling
m_bus_hog = BIT(m_io_status, 11); m_bus_hog = BIT(m_io_status, 11);
// TODO: protect/protectse uses this, why? // TODO: protect/protectse uses this, why?
if (m_bus_hog == true) if (m_bus_hog == true)

View File

@ -82,7 +82,7 @@ protected:
// device_state_interface overrides // device_state_interface overrides
virtual void state_string_export(const device_state_entry &entry, std::string &str) const override; virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;
// I/Os (common) // I/Os (common)
u32 flags_r(); u32 flags_r();
void flags_w(offs_t offset, u32 data, u32 mem_mask = ~0); void flags_w(offs_t offset, u32 data, u32 mem_mask = ~0);
@ -243,7 +243,7 @@ protected:
u32 m_io_status; u32 m_io_status;
u32 m_io_mtxc; u32 m_io_mtxc;
u32 m_io_mtxa; u32 m_io_mtxa;
u32 m_pc; u32 m_pc;
u32 m_flags; u32 m_flags;
bool m_imask; bool m_imask;
@ -256,7 +256,7 @@ protected:
bool m_bus_hog; bool m_bus_hog;
u32 m_div_remainder; u32 m_div_remainder;
bool m_div_offset; bool m_div_offset;
// GPU specific // GPU specific
u32 m_hidata; u32 m_hidata;
static const op_func gpu_op_table[64]; static const op_func gpu_op_table[64];

View File

@ -43,7 +43,7 @@ void m6502_device::device_start()
} }
void m6502_device::init() void m6502_device::init()
{ {
space(AS_PROGRAM).cache(mintf->cprogram); space(AS_PROGRAM).cache(mintf->cprogram);
space(has_space(AS_OPCODES) ? AS_OPCODES : AS_PROGRAM).cache(mintf->csprogram); space(has_space(AS_OPCODES) ? AS_OPCODES : AS_PROGRAM).cache(mintf->csprogram);
if(space(AS_PROGRAM).addr_width() > 14) if(space(AS_PROGRAM).addr_width() > 14)

View File

@ -6,16 +6,16 @@
AMD Am2901B / Am2901C AMD Am2901B / Am2901C
Four-Bit Bipolar Microprocessor Slice Four-Bit Bipolar Microprocessor Slice
To Do: To Do:
- Opcode hookup - Opcode hookup
- Verification - Verification
***************************************************************************/ ***************************************************************************/
#include "emu.h" #include "emu.h"
#include "am2901b.h" #include "am2901b.h"
#define VERBOSE (1) #define VERBOSE (1)
#include "logmacro.h" #include "logmacro.h"
/*****************************************************************************/ /*****************************************************************************/
@ -225,4 +225,4 @@ void am2901b_device::disassemble()
snprintf(dasm_buf + buf_idx, ARRAY_LENGTH(dasm_buf) - 12, "%c,%c", s_r_table[m_i & 7], s_s_table[m_i & 7]); snprintf(dasm_buf + buf_idx, ARRAY_LENGTH(dasm_buf) - 12, "%c,%c", s_r_table[m_i & 7], s_s_table[m_i & 7]);
LOG("%s: %s\n", machine().describe_context(), dasm_buf); LOG("%s: %s\n", machine().describe_context(), dasm_buf);
} }

View File

@ -212,10 +212,10 @@ void sunplus_gcm394_base_device::trigger_systemm_dma(int channel)
// what is it waiting for when we need these? (needed on some service mode screens) // what is it waiting for when we need these? (needed on some service mode screens)
//if (mem.read_word(0x3f368) == 0x4840) //if (mem.read_word(0x3f368) == 0x4840)
// mem.write_word(0x3f368, 0x4841); // cars 2 IRQ? wait hack // mem.write_word(0x3f368, 0x4841); // cars 2 IRQ? wait hack
//if (mem.read_word(0x4d8d4) == 0x4840) //if (mem.read_word(0x4d8d4) == 0x4840)
// mem.write_word(0x4d8d4, 0x4841); // golden tee IRQ? wait hack // mem.write_word(0x4d8d4, 0x4841); // golden tee IRQ? wait hack
// clear params after operation // clear params after operation

View File

@ -373,7 +373,7 @@ uint32_t gcm394_base_video_device::screen_update(screen_device &screen, bitmap_r
} }
//const uint16_t bgcol = 0x7c1f; // magenta //const uint16_t bgcol = 0x7c1f; // magenta
// const uint16_t bgcol = 0x0000; // black // const uint16_t bgcol = 0x0000; // black
bool highres; bool highres;
if (m_707f & 0x0010) if (m_707f & 0x0010)
{ {
@ -390,7 +390,7 @@ uint32_t gcm394_base_video_device::screen_update(screen_device &screen, bitmap_r
const uint32_t sprites_addr = (m_sprite_702d_gfxbase_msb << 16) | m_sprite_7022_gfxbase_lsb; const uint32_t sprites_addr = (m_sprite_702d_gfxbase_msb << 16) | m_sprite_7022_gfxbase_lsb;
for (uint32_t scanline = (uint32_t)cliprect.min_y; scanline <= (uint32_t)cliprect.max_y; scanline++) for (uint32_t scanline = (uint32_t)cliprect.min_y; scanline <= (uint32_t)cliprect.max_y; scanline++)
{ {
m_renderer->new_line(cliprect); m_renderer->new_line(cliprect);
@ -1054,7 +1054,7 @@ void gcm394_base_video_device::palette_w(offs_t offset, uint16_t data)
{ {
offset |= (m_703a_palettebank & 0x000c) << 6; offset |= (m_703a_palettebank & 0x000c) << 6;
m_paletteram[offset] = data; m_paletteram[offset] = data;
// for debug // for debug
m_palette->set_pen_color(offset, rgb_t( m_palette->set_pen_color(offset, rgb_t(
(((data >> 10) & 0x1f)<<3), (((data >> 10) & 0x1f)<<3),

View File

@ -81,8 +81,8 @@ void i80130_device::io_w(offs_t offset, uint16_t data, uint16_t mem_mask)
//------------------------------------------------- //-------------------------------------------------
//ROM_START( i80130 ) //ROM_START( i80130 )
// ROM_REGION16_LE( 0x4000, "rom", 0 ) // ROM_REGION16_LE( 0x4000, "rom", 0 )
// ROM_LOAD( "80130", 0x0000, 0x4000, NO_DUMP ) // ROM_LOAD( "80130", 0x0000, 0x4000, NO_DUMP )
//ROM_END //ROM_END
@ -92,7 +92,7 @@ void i80130_device::io_w(offs_t offset, uint16_t data, uint16_t mem_mask)
//const tiny_rom_entry *i80130_device::device_rom_region() const //const tiny_rom_entry *i80130_device::device_rom_region() const
//{ //{
// return ROM_NAME( i80130 ); // return ROM_NAME( i80130 );
//} //}

View File

@ -367,7 +367,7 @@ void iwm_device::sync()
break; break;
} }
m_rsh = (m_rsh << 1) | (m_rw_state == SR_WINDOW_EDGE_1 ? 1 : 0); m_rsh = (m_rsh << 1) | (m_rw_state == SR_WINDOW_EDGE_1 ? 1 : 0);
m_next_state_change = m_last_sync = endw; m_next_state_change = m_last_sync = endw;
m_rw_state = SR_WINDOW_EDGE_0; m_rw_state = SR_WINDOW_EDGE_0;
if(is_sync()) { if(is_sync()) {
if(m_rsh >= 0x80) { if(m_rsh >= 0x80) {

View File

@ -34,7 +34,7 @@
#define LOG_DEBUG (1U << 2) #define LOG_DEBUG (1U << 2)
//#define LOG_MASK (LOG_GENERAL | LOG_DEV_CALLS | LOG_DEBUG) //#define LOG_MASK (LOG_GENERAL | LOG_DEV_CALLS | LOG_DEBUG)
#define LOG_MASK (0) #define LOG_MASK (0)
#define LOGDEVCALLS(...) LOGMASKED(LOG_DEV_CALLS, __VA_ARGS__) #define LOGDEVCALLS(...) LOGMASKED(LOG_DEV_CALLS, __VA_ARGS__)
#define LOGDEBUG(...) LOGMASKED(LOG_DEBUG, __VA_ARGS__) #define LOGDEBUG(...) LOGMASKED(LOG_DEBUG, __VA_ARGS__)
@ -870,7 +870,7 @@ void netlist_mame_stream_output_device::process(netlist::netlist_time_ext tim, n
int pos = (tim - m_last_buffer_time) / m_sample_time; int pos = (tim - m_last_buffer_time) / m_sample_time;
//if (pos > m_bufsize) //if (pos > m_bufsize)
// throw emu_fatalerror("sound %s: pos %d exceeded bufsize %d\n", name().c_str(), pos, m_bufsize); // throw emu_fatalerror("sound %s: pos %d exceeded bufsize %d\n", name().c_str(), pos, m_bufsize);
while (m_buffer.size() < pos ) while (m_buffer.size() < pos )
{ {
m_buffer.push_back(static_cast<stream_sample_t>(m_cur)); m_buffer.push_back(static_cast<stream_sample_t>(m_cur));
@ -1375,7 +1375,7 @@ void netlist_mame_sound_device::device_start()
void netlist_mame_sound_device::nl_register_devices(netlist::nlparse_t &parser) const void netlist_mame_sound_device::nl_register_devices(netlist::nlparse_t &parser) const
{ {
//parser.factory().add<nld_sound_out>("NETDEV_SOUND_OUT", //parser.factory().add<nld_sound_out>("NETDEV_SOUND_OUT",
// netlist::factory::properties("+CHAN", PSOURCELOC())); // netlist::factory::properties("+CHAN", PSOURCELOC()));
parser.factory().add<nld_sound_in>("NETDEV_SOUND_IN", parser.factory().add<nld_sound_in>("NETDEV_SOUND_IN",
netlist::factory::properties("-", PSOURCELOC())); netlist::factory::properties("-", PSOURCELOC()));
} }

View File

@ -3086,7 +3086,7 @@ void S3C24_CLASS_NAME::s3c24xx_nand_w(offs_t offset, uint32_t data, uint32_t mem
} }
} }
ATTR_UNUSED WRITE_LINE_MEMBER( S3C24_CLASS_NAME::s3c24xx_pin_frnb_w ) ATTR_UNUSED WRITE_LINE_MEMBER( S3C24_CLASS_NAME::s3c24xx_pin_frnb_w )
{ {
LOGMASKED(LOG_FLASH, "s3c24xx_pin_frnb_w (%d)\n", state); LOGMASKED(LOG_FLASH, "s3c24xx_pin_frnb_w (%d)\n", state);
#if defined(DEVICE_S3C2440) #if defined(DEVICE_S3C2440)

View File

@ -32,7 +32,7 @@ TODO:
#define LOG_MMU (1 << 5) #define LOG_MMU (1 << 5)
#define LOG_IRQS (1 << 6) #define LOG_IRQS (1 << 6)
#define LOG_UNKNOWN (1 << 7) #define LOG_UNKNOWN (1 << 7)
#define LOG_MORE_UART (1 << 8) #define LOG_MORE_UART (1 << 8)
#define LOG_ALL (LOG_I2C | LOG_UART | LOG_TIMERS | LOG_DMA | LOG_MMU | LOG_IRQS | LOG_UNKNOWN) #define LOG_ALL (LOG_I2C | LOG_UART | LOG_TIMERS | LOG_DMA | LOG_MMU | LOG_IRQS | LOG_UNKNOWN)
#define VERBOSE (0) #define VERBOSE (0)

View File

@ -27,7 +27,7 @@ DEFINE_DEVICE_TYPE(SPG28X_IO, spg28x_io_device, "spg28x_io", "SPG280-series Syst
#define LOG_EXT_MEM (1U << 27) #define LOG_EXT_MEM (1U << 27)
#define LOG_EXTINT (1U << 28) #define LOG_EXTINT (1U << 28)
#define LOG_SPI (1U << 29) #define LOG_SPI (1U << 29)
#define LOG_ADC (1U << 30) #define LOG_ADC (1U << 30)
#define LOG_IO (LOG_IO_READS | LOG_IO_WRITES | LOG_IRQS | LOG_GPIO | LOG_UART | LOG_I2C | LOG_TIMERS | LOG_EXTINT | LOG_UNKNOWN_IO | LOG_SPI | LOG_ADC) #define LOG_IO (LOG_IO_READS | LOG_IO_WRITES | LOG_IRQS | LOG_GPIO | LOG_UART | LOG_I2C | LOG_TIMERS | LOG_EXTINT | LOG_UNKNOWN_IO | LOG_SPI | LOG_ADC)
#define LOG_ALL (LOG_IO | LOG_VLINES | LOG_SEGMENT | LOG_WATCHDOG | LOG_FIQ | LOG_SIO | LOG_EXT_MEM | LOG_ADC) #define LOG_ALL (LOG_IO | LOG_VLINES | LOG_SEGMENT | LOG_WATCHDOG | LOG_FIQ | LOG_SIO | LOG_EXT_MEM | LOG_ADC)
@ -1655,7 +1655,7 @@ void spg2xx_io_device::check_irqs(const uint16_t changed)
if (changed & 0x0c00) // Timer A, Timer B IRQ if (changed & 0x0c00) // Timer A, Timer B IRQ
{ {
LOGMASKED(LOG_TIMERS, "%ssserting IRQ2 (%04x, %04x)\n", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0c00) ? "A" : "Dea", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0c00), changed); LOGMASKED(LOG_TIMERS, "%ssserting IRQ2 (%04x, %04x)\n", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0c00) ? "A" : "Dea", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0c00), changed);
if (m_timer_irq_cb) if (m_timer_irq_cb)
m_timer_irq_cb((IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0c00) ? ASSERT_LINE : CLEAR_LINE); m_timer_irq_cb((IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x0c00) ? ASSERT_LINE : CLEAR_LINE);
else else
@ -1693,7 +1693,7 @@ void spg2xx_io_device::check_irqs(const uint16_t changed)
if (changed & 0x008b) // TMB1, TMB2, 4Hz, key change IRQ if (changed & 0x008b) // TMB1, TMB2, 4Hz, key change IRQ
{ {
LOGMASKED(LOG_IRQS, "%ssserting IRQ7 (%04x, %04x)\n", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x008b) ? "A" : "Dea", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x008b), changed); LOGMASKED(LOG_IRQS, "%ssserting IRQ7 (%04x, %04x)\n", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x008b) ? "A" : "Dea", (IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x008b), changed);
if (m_ffreq_tmr2_irq_cb) if (m_ffreq_tmr2_irq_cb)
m_ffreq_tmr2_irq_cb((IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x008b) ? ASSERT_LINE : CLEAR_LINE); m_ffreq_tmr2_irq_cb((IO_IRQ_ENABLE & IO_IRQ_STATUS & 0x008b) ? ASSERT_LINE : CLEAR_LINE);
else else
logerror("spg2xx_io_device::check_irqs, attempted to use m_ffreq_tmr2_irq_cb without setting it\n"); logerror("spg2xx_io_device::check_irqs, attempted to use m_ffreq_tmr2_irq_cb without setting it\n");

View File

@ -104,7 +104,7 @@ uint32_t spg2xx_video_device::screen_update(screen_device &screen, bitmap_rgb32
const uint32_t page1_addr = 0x40 * m_video_regs[0x20]; const uint32_t page1_addr = 0x40 * m_video_regs[0x20];
const uint32_t page2_addr = 0x40 * m_video_regs[0x21]; const uint32_t page2_addr = 0x40 * m_video_regs[0x21];
const uint32_t sprite_addr = 0x40 * m_video_regs[0x22]; const uint32_t sprite_addr = 0x40 * m_video_regs[0x22];
uint16_t *page1_scroll = m_video_regs + 0x10; uint16_t *page1_scroll = m_video_regs + 0x10;
uint16_t *page2_scroll = m_video_regs + 0x16; uint16_t *page2_scroll = m_video_regs + 0x16;
uint16_t *page1_regs = m_video_regs + 0x12; uint16_t *page1_regs = m_video_regs + 0x12;

View File

@ -60,7 +60,7 @@ void spg_renderer_device::device_reset()
m_video_regs_1e = 0x0000; m_video_regs_1e = 0x0000;
m_video_regs_2a = 0x0000; m_video_regs_2a = 0x0000;
m_video_regs_30 = 0x0000; m_video_regs_30 = 0x0000;
m_video_regs_3c = 0x0020; m_video_regs_3c = 0x0020;
@ -140,8 +140,8 @@ void spg_renderer_device::draw_tilestrip(bool read_from_csspace, uint32_t screen
{ {
m_linebuf[realdrawpos] = (mix_channel((uint8_t)(m_linebuf[realdrawpos] >> 10) & 0x1f, (rgb >> 10) & 0x1f, blendlevel) << 10) | m_linebuf[realdrawpos] = (mix_channel((uint8_t)(m_linebuf[realdrawpos] >> 10) & 0x1f, (rgb >> 10) & 0x1f, blendlevel) << 10) |
(mix_channel((uint8_t)(m_linebuf[realdrawpos] >> 5) & 0x1f, (rgb >> 5) & 0x1f, blendlevel) << 5) | (mix_channel((uint8_t)(m_linebuf[realdrawpos] >> 5) & 0x1f, (rgb >> 5) & 0x1f, blendlevel) << 5) |
(mix_channel((uint8_t)(m_linebuf[realdrawpos] >> 0) & 0x1f, (rgb >> 0) & 0x1f, blendlevel) << 0); (mix_channel((uint8_t)(m_linebuf[realdrawpos] >> 0) & 0x1f, (rgb >> 0) & 0x1f, blendlevel) << 0);
} }
else else
{ {
@ -158,7 +158,7 @@ void spg_renderer_device::draw_linemap(bool has_extended_tilemaps, const rectang
if (has_extended_tilemaps) if (has_extended_tilemaps)
{ {
uint32_t ctrl = tilemapregs[1]; uint32_t ctrl = tilemapregs[1];
if (0) if (0)
{ {
if (ctrl & 0x0010) if (ctrl & 0x0010)
@ -350,7 +350,7 @@ void spg_renderer_device::update_vcmp_table()
{ {
m_ycmp_table[i] = currentline; m_ycmp_table[i] = currentline;
} }
counter += current_inc_value; counter += current_inc_value;
while (counter >= (0x20<<4)) while (counter >= (0x20<<4))
@ -417,7 +417,7 @@ void spg_renderer_device::draw_page(bool read_from_csspace, bool has_extended_ti
{ {
// used by senspeed // used by senspeed
//if (m_video_regs_1e != 0x0000) //if (m_video_regs_1e != 0x0000)
// popmessage("vertical compression mode with non-0 step amount %04x offset %04x step %04x\n", m_video_regs_1c, m_video_regs_1d, m_video_regs_1e); // popmessage("vertical compression mode with non-0 step amount %04x offset %04x step %04x\n", m_video_regs_1c, m_video_regs_1d, m_video_regs_1e);
logical_scanline = m_ycmp_table[scanline]; logical_scanline = m_ycmp_table[scanline];
if (logical_scanline == 0xffffffff) if (logical_scanline == 0xffffffff)
@ -428,7 +428,7 @@ void spg_renderer_device::draw_page(bool read_from_csspace, bool has_extended_ti
uint32_t y_mask; uint32_t y_mask;
uint32_t screenwidth; uint32_t screenwidth;
if (read_from_csspace && (attr & 0x8000)) // is this only available in high res mode, or always? if (read_from_csspace && (attr & 0x8000)) // is this only available in high res mode, or always?
{ {
// just a guess based on this being set on the higher resolution tilemaps we've seen, could be 100% incorrect register // just a guess based on this being set on the higher resolution tilemaps we've seen, could be 100% incorrect register
@ -617,7 +617,7 @@ void spg_renderer_device::draw_sprite(bool read_from_csspace, bool has_extended_
uint32_t screenwidth = 320; uint32_t screenwidth = 320;
// uint32_t screenheight = 240; // uint32_t screenheight = 240;
uint32_t screenheight = 256; uint32_t screenheight = 256;
uint32_t xmask = 0x1ff; uint32_t xmask = 0x1ff;
uint32_t ymask = 0x1ff; uint32_t ymask = 0x1ff;
@ -625,7 +625,7 @@ void spg_renderer_device::draw_sprite(bool read_from_csspace, bool has_extended_
if (highres) if (highres)
{ {
screenwidth = 640; screenwidth = 640;
// screenheight = 480; // screenheight = 480;
screenheight = 512; screenheight = 512;
xmask = 0x3ff; xmask = 0x3ff;
ymask = 0x3ff; ymask = 0x3ff;
@ -637,7 +637,7 @@ void spg_renderer_device::draw_sprite(bool read_from_csspace, bool has_extended_
if (!(m_video_regs_42 & 0x0002)) if (!(m_video_regs_42 & 0x0002))
{ {
x = ((screenwidth/2) + x) - tile_w / 2; x = ((screenwidth/2) + x) - tile_w / 2;
// y = ((screenheight/2) - y) - (tile_h / 2) + 8; // y = ((screenheight/2) - y) - (tile_h / 2) + 8;
y = ((screenheight/2) - y) - (tile_h / 2); y = ((screenheight/2) - y) - (tile_h / 2);
} }
@ -656,7 +656,7 @@ void spg_renderer_device::draw_sprite(bool read_from_csspace, bool has_extended_
uint8_t blendlevel = (m_video_regs_2a & 3) << 3; uint8_t blendlevel = (m_video_regs_2a & 3) << 3;
uint32_t words_per_tile; uint32_t words_per_tile;
// good for gormiti, smartfp, wrlshunt, paccon, jak_totm, jak_s500, jak_gtg // good for gormiti, smartfp, wrlshunt, paccon, jak_totm, jak_s500, jak_gtg
if (has_extended_sprites && ((m_video_regs_42 & 0x0010) == 0x10)) if (has_extended_sprites && ((m_video_regs_42 & 0x0010) == 0x10))
{ {
@ -682,7 +682,7 @@ void spg_renderer_device::draw_sprite(bool read_from_csspace, bool has_extended_
bool flip_y = (attr & 0x0008); bool flip_y = (attr & 0x0008);
// various games don't want the flip bits in the usual place, wrlshunt for example, there's probably a bit to control this // various games don't want the flip bits in the usual place, wrlshunt for example, there's probably a bit to control this
// and likewise these bits probably now have a different meaning, so this shouldn't be trusted // and likewise these bits probably now have a different meaning, so this shouldn't be trusted
if (has_extended_sprites) if (has_extended_sprites)
@ -693,9 +693,9 @@ void spg_renderer_device::draw_sprite(bool read_from_csspace, bool has_extended_
flip_y = 0; flip_y = 0;
} }
} }
uint32_t palette_offset = (attr & 0x0f00) >> 4; uint32_t palette_offset = (attr & 0x0f00) >> 4;
if (has_extended_sprites) if (has_extended_sprites)
{ {
// guess, tkmag220 / myac220 don't set this bit and expect all sprite palettes to be from the same bank as background palettes // guess, tkmag220 / myac220 don't set this bit and expect all sprite palettes to be from the same bank as background palettes

View File

@ -78,9 +78,9 @@ protected:
inline void draw_tilestrip(bool read_from_csspace, uint32_t screenwidth, uint32_t drawwidthmask, spg_renderer_device::blend_enable_t blend, spg_renderer_device::flipx_t flip_x, const rectangle& cliprect, uint32_t tile_h, uint32_t tile_w, uint32_t tilegfxdata_addr, uint32_t tile, uint32_t tile_scanline, int drawx, bool flip_y, uint32_t palette_offset, const uint32_t nc_bpp, const uint32_t bits_per_row, const uint32_t words_per_tile, address_space& spc, uint16_t* paletteram, uint8_t blendlevel); inline void draw_tilestrip(bool read_from_csspace, uint32_t screenwidth, uint32_t drawwidthmask, spg_renderer_device::blend_enable_t blend, spg_renderer_device::flipx_t flip_x, const rectangle& cliprect, uint32_t tile_h, uint32_t tile_w, uint32_t tilegfxdata_addr, uint32_t tile, uint32_t tile_scanline, int drawx, bool flip_y, uint32_t palette_offset, const uint32_t nc_bpp, const uint32_t bits_per_row, const uint32_t words_per_tile, address_space& spc, uint16_t* paletteram, uint8_t blendlevel);
inline void draw_sprite(bool read_from_csspace, bool has_extended_sprites, bool alt_extrasprite_hack, uint32_t palbank, bool highres, const rectangle& cliprect, uint32_t scanline, int priority, uint32_t spritegfxdata_addr, uint32_t base_addr, address_space& spc, uint16_t* paletteram, uint16_t* spriteram); inline void draw_sprite(bool read_from_csspace, bool has_extended_sprites, bool alt_extrasprite_hack, uint32_t palbank, bool highres, const rectangle& cliprect, uint32_t scanline, int priority, uint32_t spritegfxdata_addr, uint32_t base_addr, address_space& spc, uint16_t* paletteram, uint16_t* spriteram);
inline void draw_linemap(bool has_extended_tilemaps, const rectangle& cliprect, uint32_t scanline, int priority, uint32_t tilegfxdata_addr, uint16_t* scrollregs, uint16_t* tilemapregs, address_space& spc, uint16_t* paletteram); inline void draw_linemap(bool has_extended_tilemaps, const rectangle& cliprect, uint32_t scanline, int priority, uint32_t tilegfxdata_addr, uint16_t* scrollregs, uint16_t* tilemapregs, address_space& spc, uint16_t* paletteram);
inline uint8_t mix_channel(uint8_t a, uint8_t b, uint8_t alpha); inline uint8_t mix_channel(uint8_t a, uint8_t b, uint8_t alpha);
uint8_t m_rgb5_to_rgb8[32]; uint8_t m_rgb5_to_rgb8[32];

View File

@ -33,15 +33,15 @@ DEFINE_DEVICE_TYPE(SUN4C_MMU, sun4c_mmu_device, "sun4c_mmu", "Sun 4c MMU")
#define LOG_TYPE1_TIMEOUT (1U << 12) #define LOG_TYPE1_TIMEOUT (1U << 12)
#define LOG_UNKNOWN_SPACE (1U << 13) #define LOG_UNKNOWN_SPACE (1U << 13)
#define LOG_WRITE_PROTECT (1U << 14) #define LOG_WRITE_PROTECT (1U << 14)
#define LOG_READ_PROTECT (1U << 15) #define LOG_READ_PROTECT (1U << 15)
#define LOG_PARITY (1U << 16) #define LOG_PARITY (1U << 16)
#define LOG_ALL_ASI (1U << 17) // WARNING: Heavy! #define LOG_ALL_ASI (1U << 17) // WARNING: Heavy!
#define LOG_UNKNOWN_ASI (1U << 18) #define LOG_UNKNOWN_ASI (1U << 18)
#define LOG_SEGMENT_FLUSH (1U << 19) #define LOG_SEGMENT_FLUSH (1U << 19)
#define LOG_PAGE_FLUSH (1U << 20) #define LOG_PAGE_FLUSH (1U << 20)
#define LOG_CONTEXT_FLUSH (1U << 21) #define LOG_CONTEXT_FLUSH (1U << 21)
#define LOG_CACHE_FILLS (1U << 22) #define LOG_CACHE_FILLS (1U << 22)
#define LOG_PAGE_ENTRIES (1U << 23) #define LOG_PAGE_ENTRIES (1U << 23)
#if SUN4CMMU_LOG_MEM_ACCESSES #if SUN4CMMU_LOG_MEM_ACCESSES
static FILE* s_mem_log = nullptr; static FILE* s_mem_log = nullptr;

View File

@ -15,7 +15,7 @@
#include "machine/ram.h" #include "machine/ram.h"
#include "machine/z80scc.h" #include "machine/z80scc.h"
#define SUN4CMMU_LOG_MEM_ACCESSES (0) #define SUN4CMMU_LOG_MEM_ACCESSES (0)
class sun4_mmu_base_device : public device_t, public sparc_mmu_interface class sun4_mmu_base_device : public device_t, public sparc_mmu_interface
{ {

View File

@ -33,7 +33,7 @@ void swim1_device::device_reset()
m_param_idx = 0; m_param_idx = 0;
memset(m_param, 0, sizeof(m_param)); memset(m_param, 0, sizeof(m_param));
m_floppy = nullptr; m_floppy = nullptr;
m_devsel_cb(0); m_devsel_cb(0);
m_sel35_cb(true); m_sel35_cb(true);
m_hdsel_cb(false); m_hdsel_cb(false);
@ -86,7 +86,7 @@ u8 swim1_device::read(offs_t offset)
u8 r = m_param[m_param_idx]; u8 r = m_param[m_param_idx];
m_param_idx = (m_param_idx + 1) & 15; m_param_idx = (m_param_idx + 1) & 15;
return r; return r;
} }
case 0x4: case 0xc: case 0x4: case 0xc:
return m_phases; return m_phases;
case 0x5: case 0xd: case 0x5: case 0xd:
@ -122,7 +122,7 @@ void swim1_device::write(offs_t offset, u8 data)
m_param[m_param_idx] = data; m_param[m_param_idx] = data;
m_param_idx = (m_param_idx + 1) & 3; m_param_idx = (m_param_idx + 1) & 3;
break; break;
} }
case 0x4: { case 0x4: {
m_phases = data; m_phases = data;
update_phases(); update_phases();

View File

@ -35,7 +35,7 @@ void swim2_device::device_reset()
m_param_idx = 0; m_param_idx = 0;
memset(m_param, 0, sizeof(m_param)); memset(m_param, 0, sizeof(m_param));
m_floppy = nullptr; m_floppy = nullptr;
m_devsel_cb(0); m_devsel_cb(0);
m_sel35_cb(true); m_sel35_cb(true);
m_hdsel_cb(false); m_hdsel_cb(false);
@ -88,7 +88,7 @@ u8 swim2_device::read(offs_t offset)
u8 r = m_param[m_param_idx]; u8 r = m_param[m_param_idx];
m_param_idx = (m_param_idx + 1) & 15; m_param_idx = (m_param_idx + 1) & 15;
return r; return r;
} }
case 0x4: case 0xc: case 0x4: case 0xc:
return m_phases; return m_phases;
case 0x5: case 0xd: case 0x5: case 0xd:
@ -124,7 +124,7 @@ void swim2_device::write(offs_t offset, u8 data)
m_param[m_param_idx] = data; m_param[m_param_idx] = data;
m_param_idx = (m_param_idx + 1) & 3; m_param_idx = (m_param_idx + 1) & 3;
break; break;
} }
case 0x4: { case 0x4: {
m_phases = data; m_phases = data;
update_phases(); update_phases();

View File

@ -33,7 +33,7 @@ void swim3_device::device_reset()
m_param_idx = 0; m_param_idx = 0;
memset(m_param, 0, sizeof(m_param)); memset(m_param, 0, sizeof(m_param));
m_floppy = nullptr; m_floppy = nullptr;
m_devsel_cb(0); m_devsel_cb(0);
m_sel35_cb(true); m_sel35_cb(true);
m_hdsel_cb(false); m_hdsel_cb(false);
@ -86,7 +86,7 @@ u8 swim3_device::read(offs_t offset)
u8 r = m_param[m_param_idx]; u8 r = m_param[m_param_idx];
m_param_idx = (m_param_idx + 1) & 15; m_param_idx = (m_param_idx + 1) & 15;
return r; return r;
} }
case 0x4: case 0xc: case 0x4: case 0xc:
return m_phases; return m_phases;
case 0x5: case 0xd: case 0x5: case 0xd:
@ -122,7 +122,7 @@ void swim3_device::write(offs_t offset, u8 data)
m_param[m_param_idx] = data; m_param[m_param_idx] = data;
m_param_idx = (m_param_idx + 1) & 3; m_param_idx = (m_param_idx + 1) & 3;
break; break;
} }
case 0x4: { case 0x4: {
m_phases = data; m_phases = data;
update_phases(); update_phases();

View File

@ -419,7 +419,7 @@ void c219_device::sound_stream_update(sound_stream &stream, stream_sample_t **in
if (ch_noise(v)) // noise if (ch_noise(v)) // noise
{ {
m_lfsr = (m_lfsr >> 1) ^ ((-(m_lfsr & 1)) & 0xfff6); m_lfsr = (m_lfsr >> 1) ^ ((-(m_lfsr & 1)) & 0xfff6);
lastdt = s16(m_lfsr); lastdt = s16(m_lfsr);
} }
else else

View File

@ -1,19 +1,19 @@
// license:BSD-3-Clause // license:BSD-3-Clause
// copyright-holders:Alex Marshall,nimitz,austere // copyright-holders:Alex Marshall,nimitz,austere
/* /*
ICS2115 by Raiden II team (c) 2010 ICS2115 by Raiden II team (c) 2010
members: austere, nimitz, Alex Marshal members: austere, nimitz, Alex Marshal
Original driver by O. Galibert, ElSemi Original driver by O. Galibert, ElSemi
Use tab size = 4 for your viewing pleasure. Use tab size = 4 for your viewing pleasure.
TODO: TODO:
- Implement Panning, Chip has support stereo - Implement Panning, Chip has support stereo
- Verify BYTE/ROMEN pin behaviors - Verify BYTE/ROMEN pin behaviors
- DRAM, DMA, MIDI interface is unimplemented - DRAM, DMA, MIDI interface is unimplemented
- Verify interrupt, envelope, timer period - Verify interrupt, envelope, timer period
- Verify unemulated registers - Verify unemulated registers
*/ */
#include "emu.h" #include "emu.h"

View File

@ -150,8 +150,8 @@ private:
bool m_irq_on; bool m_irq_on;
/* /*
Unknown variable, seems to be effected by 0x12. Further investigation Unknown variable, seems to be effected by 0x12. Further investigation
Required. Required.
*/ */
u8 m_vmode; u8 m_vmode;
}; };

View File

@ -65,21 +65,21 @@ static constexpr int CLOCKS_PER_SAMPLE = 64;
// device type definition // device type definition
DEFINE_DEVICE_TYPE(K053260, k053260_device, "k053260", "K053260 KDSC") DEFINE_DEVICE_TYPE(K053260, k053260_device, "k053260", "K053260 KDSC")
; ;
// Pan multipliers. Set according to integer angles in degrees, amusingly. // Pan multipliers. Set according to integer angles in degrees, amusingly.
// Exact precision hard to know, the floating point-ish output format makes // Exact precision hard to know, the floating point-ish output format makes
// comparisons iffy. So we used a 1.16 format. // comparisons iffy. So we used a 1.16 format.
const int k053260_device::pan_mul[8][2] = { const int k053260_device::pan_mul[8][2] = {
{ 0, 0 }, // No sound for pan 0 { 0, 0 }, // No sound for pan 0
{ 65536, 0 }, // 0 degrees { 65536, 0 }, // 0 degrees
{ 59870, 26656 }, // 24 degrees { 59870, 26656 }, // 24 degrees
{ 53684, 37950 }, // 35 degrees { 53684, 37950 }, // 35 degrees
{ 46341, 46341 }, // 45 degrees { 46341, 46341 }, // 45 degrees
{ 37950, 53684 }, // 55 degrees { 37950, 53684 }, // 55 degrees
{ 26656, 59870 }, // 66 degrees { 26656, 59870 }, // 66 degrees
{ 0, 65536 } // 90 degrees { 0, 65536 } // 90 degrees
}; };

View File

@ -141,7 +141,7 @@ void debugger_console::execute_help_custom(int ref, const std::vector<std::strin
} }
/*------------------------------------------------------------ /*------------------------------------------------------------
execute_condump - execute the condump command execute_condump - execute the condump command
------------------------------------------------------------*/ ------------------------------------------------------------*/
void debugger_console::execute_condump(int ref, const std::vector<std::string>& params) void debugger_console::execute_condump(int ref, const std::vector<std::string>& params)
@ -584,8 +584,8 @@ std::string debugger_console::cmderr_to_string(CMDERR error)
/*------------------------------------------------- /*-------------------------------------------------
print_core - write preformatted text print_core - write preformatted text
to the debug console to the debug console
-------------------------------------------------*/ -------------------------------------------------*/
void debugger_console::print_core(const char *text) void debugger_console::print_core(const char *text)
@ -597,8 +597,8 @@ void debugger_console::print_core(const char *text)
} }
/*------------------------------------------------- /*-------------------------------------------------
print_core_wrap - write preformatted text print_core_wrap - write preformatted text
to the debug console, with wrapping to the debug console, with wrapping
-------------------------------------------------*/ -------------------------------------------------*/
void debugger_console::print_core_wrap(const char *text, int wrapcol) void debugger_console::print_core_wrap(const char *text, int wrapcol)

View File

@ -318,8 +318,8 @@ text_buffer_lines text_buffer_get_lines(text_buffer* text)
} }
/*--------------------------------------------------------------------- /*---------------------------------------------------------------------
text_buffer_lines::text_buffer_line_iterator::operator* text_buffer_lines::text_buffer_line_iterator::operator*
Gets the line that the iterator currently points to. Gets the line that the iterator currently points to.
-----------------------------------------------------------------------*/ -----------------------------------------------------------------------*/
text_buffer_line text_buffer_lines::text_buffer_line_iterator::operator*() const text_buffer_line text_buffer_lines::text_buffer_line_iterator::operator*() const
@ -331,7 +331,7 @@ text_buffer_line text_buffer_lines::text_buffer_line_iterator::operator*() const
next_lineptr = 0; next_lineptr = 0;
const char* nextline = &m_buffer.buffer[m_buffer.lineoffs[next_lineptr]]; const char* nextline = &m_buffer.buffer[m_buffer.lineoffs[next_lineptr]];
/* -1 for the '\0' at the end of line */ /* -1 for the '\0' at the end of line */
ptrdiff_t difference = (nextline - line) - 1; ptrdiff_t difference = (nextline - line) - 1;
@ -343,8 +343,8 @@ text_buffer_line text_buffer_lines::text_buffer_line_iterator::operator*() const
} }
/*--------------------------------------------------------------------- /*---------------------------------------------------------------------
text_buffer_lines::text_buffer_line_iterator::operator++ text_buffer_lines::text_buffer_line_iterator::operator++
Moves to the next line. Moves to the next line.
-----------------------------------------------------------------------*/ -----------------------------------------------------------------------*/
text_buffer_lines::text_buffer_line_iterator& text_buffer_lines::text_buffer_line_iterator::operator++() text_buffer_lines::text_buffer_line_iterator& text_buffer_lines::text_buffer_line_iterator::operator++()
@ -356,8 +356,8 @@ text_buffer_lines::text_buffer_line_iterator& text_buffer_lines::text_buffer_lin
} }
/*------------------------------------------------------ /*------------------------------------------------------
text_buffer_lines::begin() text_buffer_lines::begin()
Returns an iterator that points to the first line. Returns an iterator that points to the first line.
--------------------------------------------------------*/ --------------------------------------------------------*/
text_buffer_lines::iterator text_buffer_lines::begin() const text_buffer_lines::iterator text_buffer_lines::begin() const
@ -366,8 +366,8 @@ text_buffer_lines::iterator text_buffer_lines::begin() const
} }
/*----------------------------------------------------------- /*-----------------------------------------------------------
text_buffer_lines::begin() text_buffer_lines::begin()
Returns an iterator that points just past the last line. Returns an iterator that points just past the last line.
-------------------------------------------------------------*/ -------------------------------------------------------------*/
text_buffer_lines::iterator text_buffer_lines::end() const text_buffer_lines::iterator text_buffer_lines::end() const

View File

@ -21,49 +21,49 @@ struct text_buffer;
struct text_buffer_line struct text_buffer_line
{ {
const char *text; const char *text;
size_t length; size_t length;
}; };
/* helper class that makes it possible to iterate over the lines of a text_buffer */ /* helper class that makes it possible to iterate over the lines of a text_buffer */
class text_buffer_lines class text_buffer_lines
{ {
private: private:
text_buffer& m_buffer; text_buffer& m_buffer;
public: public:
text_buffer_lines(text_buffer& buffer) : m_buffer(buffer) { } text_buffer_lines(text_buffer& buffer) : m_buffer(buffer) { }
class text_buffer_line_iterator class text_buffer_line_iterator
{ {
text_buffer& m_buffer; text_buffer& m_buffer;
s32 m_lineptr; s32 m_lineptr;
public: public:
text_buffer_line_iterator(text_buffer& buffer, s32 lineptr) : text_buffer_line_iterator(text_buffer& buffer, s32 lineptr) :
m_buffer(buffer), m_buffer(buffer),
m_lineptr(lineptr) m_lineptr(lineptr)
{ {
} }
/* technically this isn't a valid forward iterator, because /* technically this isn't a valid forward iterator, because
* operator * doesn't return a reference * operator * doesn't return a reference
*/ */
text_buffer_line operator *() const; text_buffer_line operator *() const;
text_buffer_line_iterator& operator ++(); text_buffer_line_iterator& operator ++();
bool operator != (const text_buffer_line_iterator& rhs) bool operator != (const text_buffer_line_iterator& rhs)
{ {
return m_lineptr != rhs.m_lineptr; return m_lineptr != rhs.m_lineptr;
} }
/* according to C++ spec, only != is needed; == is present for completeness. */ /* according to C++ spec, only != is needed; == is present for completeness. */
bool operator == (const text_buffer_line_iterator& rhs) { return !(operator !=(rhs)); } bool operator == (const text_buffer_line_iterator& rhs) { return !(operator !=(rhs)); }
}; };
typedef text_buffer_line_iterator iterator; typedef text_buffer_line_iterator iterator;
typedef text_buffer_line_iterator const iterator_const; typedef text_buffer_line_iterator const iterator_const;
iterator begin() const; iterator begin() const;
iterator end() const; iterator end() const;
}; };
/*************************************************************************** /***************************************************************************

View File

@ -15,8 +15,8 @@ template<int AddrWidth, int DataWidth, int AddrShift, endianness_t Endian>
void device_rom_interface<AddrWidth, DataWidth, AddrShift, Endian>::override_address_width(u8 width) void device_rom_interface<AddrWidth, DataWidth, AddrShift, Endian>::override_address_width(u8 width)
{ {
// cach does not need level match, only specific does at this point // cach does not need level match, only specific does at this point
// if(emu::detail::handler_entry_dispatch_level(AddrWidth) != emu::detail::handler_entry_dispatch_level(width)) // if(emu::detail::handler_entry_dispatch_level(AddrWidth) != emu::detail::handler_entry_dispatch_level(width))
// emu_fatalerror("%s: Widths %d and %d are incompatible", device().tag(), width, AddrWidth); // emu_fatalerror("%s: Widths %d and %d are incompatible", device().tag(), width, AddrWidth);
m_rom_config.m_addr_width = width; m_rom_config.m_addr_width = width;
} }

View File

@ -1941,7 +1941,7 @@ private:
template<int Width, int AddrShift, endianness_t Endian> template<int Width, int AddrShift, endianness_t Endian>
typename emu::detail::handler_entry_size<Width>::uX typename emu::detail::handler_entry_size<Width>::uX
emu::detail::memory_access_cache<Width, AddrShift, Endian>:: emu::detail::memory_access_cache<Width, AddrShift, Endian>::
read_native(offs_t address, typename emu::detail::handler_entry_size<Width>::uX mask) read_native(offs_t address, typename emu::detail::handler_entry_size<Width>::uX mask)
{ {

View File

@ -23,7 +23,7 @@ template<int Width, int AddrShift, endianness_t Endian> std::string handler_entr
} }
template<int Width, int AddrShift, endianness_t Endian> void handler_entry_write_unmapped<Width, AddrShift, Endian>::write(offs_t offset, uX data, uX mem_mask)const template<int Width, int AddrShift, endianness_t Endian> void handler_entry_write_unmapped<Width, AddrShift, Endian>::write(offs_t offset, uX data, uX mem_mask)const
{ {
if (inh::m_space->log_unmap() && !inh::m_space->m_manager.machine().side_effects_disabled()) if (inh::m_space->log_unmap() && !inh::m_space->m_manager.machine().side_effects_disabled())
inh::m_space->device().logerror(inh::m_space->is_octal() inh::m_space->device().logerror(inh::m_space->is_octal()

View File

@ -3520,14 +3520,14 @@ void analog_field::frame_update(running_machine &machine)
// get the new raw analog value and its type // get the new raw analog value and its type
input_item_class itemclass; input_item_class itemclass;
s32 rawvalue = machine.input().seq_axis_value(m_field.seq(SEQ_TYPE_STANDARD), itemclass); s32 rawvalue = machine.input().seq_axis_value(m_field.seq(SEQ_TYPE_STANDARD), itemclass);
// use programmatically set value if avaiable // use programmatically set value if avaiable
if (m_was_written) if (m_was_written)
{ {
m_was_written = false; m_was_written = false;
rawvalue = m_prog_analog_value; rawvalue = m_prog_analog_value;
} }
// if we got an absolute input, it overrides everything else // if we got an absolute input, it overrides everything else
if (itemclass == ITEM_CLASS_ABSOLUTE) if (itemclass == ITEM_CLASS_ABSOLUTE)
{ {

View File

@ -459,7 +459,7 @@ enum
// INPUT_STRING_8C_4C, // 0.500000 // INPUT_STRING_8C_4C, // 0.500000
// INPUT_STRING_6C_3C, // 0.500000 // INPUT_STRING_6C_3C, // 0.500000
INPUT_STRING_4C_2C, // 0.500000 INPUT_STRING_4C_2C, // 0.500000
INPUT_STRING_5C_2C, // 0.500000 INPUT_STRING_5C_2C, // 0.500000
INPUT_STRING_2C_1C, // 0.500000 INPUT_STRING_2C_1C, // 0.500000
// INPUT_STRING_9C_5C, // 0.555556 // INPUT_STRING_9C_5C, // 0.555556
// INPUT_STRING_7C_4C, // 0.571429 // INPUT_STRING_7C_4C, // 0.571429
@ -1266,10 +1266,10 @@ public:
void read(ioport_value &value); void read(ioport_value &value);
float crosshair_read(); float crosshair_read();
void frame_update(running_machine &machine); void frame_update(running_machine &machine);
// setters // setters
void set_value(s32 value); void set_value(s32 value);
private: private:
// helpers // helpers
s32 apply_min_max(s32 value) const; s32 apply_min_max(s32 value) const;

View File

@ -658,7 +658,7 @@ void natural_keyboard::build_codes(ioport_manager &manager)
} }
newcode.field[fieldnum] = &field; newcode.field[fieldnum] = &field;
if (m_keycode_map.end() == found) if (m_keycode_map.end() == found)
{ {
keycode_map_list map_list; keycode_map_list map_list;
map_list.emplace_back(newcode); map_list.emplace_back(newcode);
@ -882,7 +882,7 @@ const natural_keyboard::keycode_map_entry *natural_keyboard::find_code(char32_t
keycode_map::const_iterator const found(m_keycode_map.find(ch)); keycode_map::const_iterator const found(m_keycode_map.find(ch));
if (m_keycode_map.end() == found) return nullptr; if (m_keycode_map.end() == found) return nullptr;
for(const keycode_map_entry &entry : found->second) for(const keycode_map_entry &entry : found->second)
{ {
if (entry.condition.eval()) if (entry.condition.eval())
return &entry; return &entry;
} }
@ -912,7 +912,7 @@ void natural_keyboard::dump(std::ostream &str) const
{ {
// identify the keys used // identify the keys used
for (std::size_t field = 0; (entry.field.size() > field) && entry.field[field]; ++field) for (std::size_t field = 0; (entry.field.size() > field) && entry.field[field]; ++field)
util::stream_format(str, "%s'%s'", first ? "" : ", ", entry.field[field]->name()); util::stream_format(str, "%s'%s'", first ? "" : ", ", entry.field[field]->name());
// carriage return // carriage return
str << '\n'; str << '\n';

View File

@ -239,7 +239,7 @@ namespace
} }
private: private:
std::array<std::pair<const char *, T>, SIZE> m_map; std::array<std::pair<const char *, T>, SIZE> m_map;
}; };
}; };

View File

@ -508,7 +508,7 @@ bool imd_format::load(io_generic *io, uint32_t form_factor, floppy_image *image)
desc_pc_sector sects[256]; desc_pc_sector sects[256];
for(int i=0; i<m_sector_count.back(); i++) { for(int i=0; i<m_sector_count.back(); i++) {
uint8_t stype = img[pos++]; uint8_t stype = img[pos++];
sects[i].track = m_tnum.back().size() ? m_tnum.back()[i] : m_track.back(); sects[i].track = m_tnum.back().size() ? m_tnum.back()[i] : m_track.back();
sects[i].head = m_hnum.back().size() ? m_hnum.back()[i] : m_head.back(); sects[i].head = m_hnum.back().size() ? m_hnum.back()[i] : m_head.back();
sects[i].sector = m_snum.back()[i]; sects[i].sector = m_snum.back()[i];
@ -629,7 +629,7 @@ bool imd_format::save(io_generic* io, floppy_image* image)
mode = 1; mode = 1;
io_generic_write(io, &mode, pos++, 1); io_generic_write(io, &mode, pos++, 1);
io_generic_write(io, &sdata, pos, actual_size); io_generic_write(io, &sdata, pos, actual_size);
pos += actual_size; pos += actual_size;
} }
} }
} }

View File

@ -99,7 +99,7 @@
NET_CONNECT(name, B, cB) \ NET_CONNECT(name, B, cB) \
NET_CONNECT(name, C, cC) \ NET_CONNECT(name, C, cC) \
NET_CONNECT(name, D, cD) NET_CONNECT(name, D, cD)
#define TTL_74161(...) \ #define TTL_74161(...) \
NET_REGISTER_DEVEXT(TTL_74161, __VA_ARGS__) NET_REGISTER_DEVEXT(TTL_74161, __VA_ARGS__)

View File

@ -157,7 +157,7 @@ namespace devices
if (doOUT) if (doOUT)
//for (std::size_t i = 0; i < m_NO; ++i) //for (std::size_t i = 0; i < m_NO; ++i)
// m_Q[i].push((out >> i) & 1, tim[t[i]]); // m_Q[i].push((out >> i) & 1, tim[t[i]]);
this->push(out, t); this->push(out, t);
else else
{ {

View File

@ -13,8 +13,8 @@ NETLIST_START(perf)
ANALOG_INPUT(V5, 5) ANALOG_INPUT(V5, 5)
CLOCK(CLK, 100) // clock for driving the 74393 CLOCK(CLK, 100) // clock for driving the 74393
CLOCK(CLK2, 3) // off-beat clock for master reset CLOCK(CLK2, 3) // off-beat clock for master reset
TTL_74393_DIP(TESTCHIP) TTL_74393_DIP(TESTCHIP)
NET_C(V5, CLK.VCC, CLK2.VCC, TESTCHIP.14) NET_C(V5, CLK.VCC, CLK2.VCC, TESTCHIP.14)

View File

@ -2475,8 +2475,8 @@ namespace netlist
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// inline implementations - cold // inline implementations - cold
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------

View File

@ -124,20 +124,20 @@ namespace factory {
{ } { }
template <std::size_t... Is> template <std::size_t... Is>
dev_uptr make_device(device_arena &pool, dev_uptr make_device(device_arena &pool,
netlist_state_t &anetlist, netlist_state_t &anetlist,
const pstring &name, std::tuple<Args...>& args, std::index_sequence<Is...>) const pstring &name, std::tuple<Args...>& args, std::index_sequence<Is...>)
{ {
return plib::make_unique<C>(pool, anetlist, name, std::forward<Args>(std::get<Is>(args))...); return plib::make_unique<C>(pool, anetlist, name, std::forward<Args>(std::get<Is>(args))...);
} }
dev_uptr make_device(device_arena &pool, dev_uptr make_device(device_arena &pool,
netlist_state_t &anetlist, netlist_state_t &anetlist,
const pstring &name, std::tuple<Args...>& args) const pstring &name, std::tuple<Args...>& args)
{ {
return make_device(pool, anetlist, name, args, std::index_sequence_for<Args...>{}); return make_device(pool, anetlist, name, args, std::index_sequence_for<Args...>{});
} }
dev_uptr make_device(device_arena &pool, dev_uptr make_device(device_arena &pool,
netlist_state_t &anetlist, netlist_state_t &anetlist,

View File

@ -32,21 +32,21 @@ namespace netlist
/// The following code is an example on how to add the device to /// The following code is an example on how to add the device to
/// the netlist factory. /// the netlist factory.
/// ///
/// const pstring pin(m_in); /// const pstring pin(m_in);
/// pstring dname = pstring("OUT_") + pin; /// pstring dname = pstring("OUT_") + pin;
/// ///
/// const auto lambda = [this](auto &in, netlist::nl_fptype val) /// const auto lambda = [this](auto &in, netlist::nl_fptype val)
/// { /// {
/// this->cpu()->update_icount(in.exec().time()); /// this->cpu()->update_icount(in.exec().time());
/// this->m_delegate(val, this->cpu()->local_time()); /// this->m_delegate(val, this->cpu()->local_time());
/// this->cpu()->check_mame_abort_slice(); /// this->cpu()->check_mame_abort_slice();
/// }; /// };
/// ///
/// using lb_t = decltype(lambda); /// using lb_t = decltype(lambda);
/// using cb_t = netlist::interface::NETLIB_NAME(analog_callback)<lb_t>; /// using cb_t = netlist::interface::NETLIB_NAME(analog_callback)<lb_t>;
/// ///
/// parser.factory().add<cb_t, netlist::nl_fptype, lb_t>(dname, /// parser.factory().add<cb_t, netlist::nl_fptype, lb_t>(dname,
/// netlist::factory::properties("-", PSOURCELOC()), 1e-6, std::forward<lb_t>(lambda)); /// netlist::factory::properties("-", PSOURCELOC()), 1e-6, std::forward<lb_t>(lambda));
/// ///
template <typename FUNC> template <typename FUNC>
@ -232,7 +232,7 @@ namespace netlist
object_array_t<param_fp_t, MAX_INPUT_CHANNELS> m_param_mults; object_array_t<param_fp_t, MAX_INPUT_CHANNELS> m_param_mults;
object_array_t<param_fp_t, MAX_INPUT_CHANNELS> m_param_offsets; object_array_t<param_fp_t, MAX_INPUT_CHANNELS> m_param_offsets;
std::array<param_fp_t *, MAX_INPUT_CHANNELS> m_params; std::array<param_fp_t *, MAX_INPUT_CHANNELS> m_params;
std::array<T *, MAX_INPUT_CHANNELS> m_buffers; std::array<T *, MAX_INPUT_CHANNELS> m_buffers;
}; };
} // namespace interface } // namespace interface

View File

@ -189,7 +189,7 @@ namespace plib {
using base_allocator_typex = typename BASEARENA::template allocator_type<std::pair<void * const, info>>; using base_allocator_typex = typename BASEARENA::template allocator_type<std::pair<void * const, info>>;
std::unordered_map<void *, info, std::hash<void *>, std::equal_to<void *>, std::unordered_map<void *, info, std::hash<void *>, std::equal_to<void *>,
base_allocator_typex> m_info; base_allocator_typex> m_info;
// std::unordered_map<void *, info> m_info; // std::unordered_map<void *, info> m_info;
std::vector<block *, typename BASEARENA::template allocator_type<block *>> m_blocks; std::vector<block *, typename BASEARENA::template allocator_type<block *>> m_blocks;
}; };

View File

@ -117,7 +117,7 @@ namespace plib {
|| ci::os() == ci_os::EMSCRIPTEN)) ? 2 : || ci::os() == ci_os::EMSCRIPTEN)) ? 2 :
(ci::type() == ci_compiler::CLANG || ci::type() == ci_compiler::GCC) ? 1 : (ci::type() == ci_compiler::CLANG || ci::type() == ci_compiler::GCC) ? 1 :
(ci::type() == ci_compiler::MSC && ci::m64()) ? 3 : (ci::type() == ci_compiler::MSC && ci::m64()) ? 3 :
0 0
}; };
}; };
@ -416,10 +416,10 @@ namespace plib {
/// plib::late_pmfp<plib::pmfp<void, pstring>> a(&nld_7493::printer); /// plib::late_pmfp<plib::pmfp<void, pstring>> a(&nld_7493::printer);
/// // Store the a object somewhere /// // Store the a object somewhere
/// ///
/// // After full construction ... /// // After full construction ...
/// ///
/// auto dele = a(this); /// auto dele = a(this);
/// dele(pstring("Hello World!")); /// dele(pstring("Hello World!"));
/// ///
template<typename T> template<typename T>
class late_pmfp class late_pmfp

View File

@ -89,7 +89,7 @@ namespace plib {
std::size_t capacity() const noexcept { return m_list.capacity() - 1; } std::size_t capacity() const noexcept { return m_list.capacity() - 1; }
bool empty() const noexcept { return (m_end == &m_list[1]); } bool empty() const noexcept { return (m_end == &m_list[1]); }
template<bool KEEPSTAT, typename... Args> template<bool KEEPSTAT, typename... Args>
void emplace(Args&&... args) noexcept void emplace(Args&&... args) noexcept
{ {
// Lock // Lock

View File

@ -148,7 +148,7 @@ namespace plib
using arch = std::integral_constant<ci_arch, ci_arch::ARM>; using arch = std::integral_constant<ci_arch, ci_arch::ARM>;
#elif defined(__MIPSEL__) || defined(__mips_isa_rev) || defined(__mips64) #elif defined(__MIPSEL__) || defined(__mips_isa_rev) || defined(__mips64)
using arch = std::integral_constant<ci_arch, ci_arch::MIPS>; using arch = std::integral_constant<ci_arch, ci_arch::MIPS>;
#else #else
using arch = std::integral_constant<ci_arch, ci_arch::UNKNOWN>; using arch = std::integral_constant<ci_arch, ci_arch::UNKNOWN>;
#endif #endif
#if defined(__MINGW32__) #if defined(__MINGW32__)

View File

@ -40,7 +40,7 @@
class bu3905_device : public device_t class bu3905_device : public device_t
{ {
public: // construction/destruction public: // construction/destruction
bu3905_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0); bu3905_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock = 0);
void write(offs_t offset, u8 data); void write(offs_t offset, u8 data);

View File

@ -50,7 +50,7 @@
// numeric instability. Also adjusts values of resistors associated with these // numeric instability. Also adjusts values of resistors associated with these
// oscillators to maintain their frequency and voltage levels. // oscillators to maintain their frequency and voltage levels.
#define CONVERGENCE_FRONTIERS 1 #define CONVERGENCE_FRONTIERS 1
static NETLIST_START(mc3340) static NETLIST_START(mc3340)
@ -61,7 +61,7 @@ static NETLIST_START(mc3340)
// control signal, with a maximum gain of about 12-13 dB (about a // control signal, with a maximum gain of about 12-13 dB (about a
// factor of 4 in voltage), and higher control voltages giving greater // factor of 4 in voltage), and higher control voltages giving greater
// attenuation, which scales logarithmically. // attenuation, which scales logarithmically.
// The netlist here is based on the circuit schematic given in // The netlist here is based on the circuit schematic given in
// Motorola's own data books, especially the most recent ones // Motorola's own data books, especially the most recent ones
// published in the 1990s (e.g. _Motorola Analog/Interface ICs Device // published in the 1990s (e.g. _Motorola Analog/Interface ICs Device
@ -286,7 +286,7 @@ static NETLIST_START(280zzzap_schematics)
// 280-ZZZAP schematic and the schematic for the earlier Laguna Racer // 280-ZZZAP schematic and the schematic for the earlier Laguna Racer
// board, but this is a non-standard value. The nearest standard value // board, but this is a non-standard value. The nearest standard value
// is 470 Kohm, and this may have been used in production. Need to // is 470 Kohm, and this may have been used in production. Need to
// check against actual PCBs. // check against actual PCBs.
RES(R51, RES_K(480)) // 470 Kohm in later Laguna and Super Speed Race RES(R51, RES_K(480)) // 470 Kohm in later Laguna and Super Speed Race
RES(R46, RES_M(2)) // 2.2 Mohm in later Laguna and Super Speed Race RES(R46, RES_M(2)) // 2.2 Mohm in later Laguna and Super Speed Race
RES(R47, RES_M(1)) RES(R47, RES_M(1))
@ -840,13 +840,13 @@ NETLIST_START(280zzzap)
// All together, loosening both tolerances and reducing accuracy // All together, loosening both tolerances and reducing accuracy
// increases speed by ~10%, but it also causes audible "crackling". // increases speed by ~10%, but it also causes audible "crackling".
// PARAM(Solver.RELTOL, 1e-2) // default 1e-3 (several % faster, but < quality) // PARAM(Solver.RELTOL, 1e-2) // default 1e-3 (several % faster, but < quality)
// PARAM(Solver.VNTOL, 5e-3) // default 1e-7 (several % faster, but < quality) // PARAM(Solver.VNTOL, 5e-3) // default 1e-7 (several % faster, but < quality)
// PARAM(Solver.ACCURACY, 1e-3) // default 1e-7 (few % faster) // PARAM(Solver.ACCURACY, 1e-3) // default 1e-7 (few % faster)
// PARAM(Solver.DYNAMIC_TS, 1) // PARAM(Solver.DYNAMIC_TS, 1)
// PARAM(Solver.DYNAMIC_LTE, 1e-4) // default 1e-5 // PARAM(Solver.DYNAMIC_LTE, 1e-4) // default 1e-5
// PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 1e-8) // default 1e-6 // PARAM(Solver.DYNAMIC_MIN_TIMESTEP, 1e-8) // default 1e-6
ANALOG_INPUT(I_V12, 12) ANALOG_INPUT(I_V12, 12)
ANALOG_INPUT(I_V5, 5) ANALOG_INPUT(I_V5, 5)
@ -899,27 +899,27 @@ NETLIST_START(280zzzap)
// Power pins for logic inputs: // Power pins for logic inputs:
NET_C(I_V5.Q, NET_C(I_V5.Q,
I_F4_2.VCC, I_F4_5.VCC, I_F4_7.VCC, I_F4_10.VCC, I_F4_2.VCC, I_F4_5.VCC, I_F4_7.VCC, I_F4_10.VCC,
I_F5_2.VCC, I_F5_5.VCC, I_F5_7.VCC, I_F5_10.VCC, I_F5_2.VCC, I_F5_5.VCC, I_F5_7.VCC, I_F5_10.VCC,
I_F5_12.VCC, I_F5_15.VCC) I_F5_12.VCC, I_F5_15.VCC)
NET_C(GND, NET_C(GND,
I_F4_2.GND, I_F4_5.GND, I_F4_7.GND, I_F4_10.GND, I_F4_2.GND, I_F4_5.GND, I_F4_7.GND, I_F4_10.GND,
I_F5_2.GND, I_F5_5.GND, I_F5_7.GND, I_F5_10.GND, I_F5_2.GND, I_F5_5.GND, I_F5_7.GND, I_F5_10.GND,
I_F5_12.GND, I_F5_15.GND) I_F5_12.GND, I_F5_15.GND)
// Power inputs for the LM3900 op-amps. These aren't shown on the // Power inputs for the LM3900 op-amps. These aren't shown on the
// schematics, but it looks like 5-volt power is needed to get proper // schematics, but it looks like 5-volt power is needed to get proper
// results. // results.
NET_C(I_V5.Q, NET_C(I_V5.Q,
H4_1.VCC, H4_2.VCC, H4_3.VCC, H4_4.VCC, H4_1.VCC, H4_2.VCC, H4_3.VCC, H4_4.VCC,
H5_1.VCC, H5_2.VCC, H5_3.VCC, H5_4.VCC, H5_1.VCC, H5_2.VCC, H5_3.VCC, H5_4.VCC,
J3_1.VCC, J3_2.VCC, J3_3.VCC, J3_4.VCC, J3_1.VCC, J3_2.VCC, J3_3.VCC, J3_4.VCC,
J5_1.VCC, J5_2.VCC, J5_3.VCC) J5_1.VCC, J5_2.VCC, J5_3.VCC)
NET_C(GND, NET_C(GND,
H4_1.GND, H4_2.GND, H4_3.GND, H4_4.GND, H4_1.GND, H4_2.GND, H4_3.GND, H4_4.GND,
H5_1.GND, H5_2.GND, H5_3.GND, H5_4.GND, H5_1.GND, H5_2.GND, H5_3.GND, H5_4.GND,
J3_1.GND, J3_2.GND, J3_3.GND, J3_4.GND, J3_1.GND, J3_2.GND, J3_3.GND, J3_4.GND,
J5_1.GND, J5_2.GND, J5_3.GND) J5_1.GND, J5_2.GND, J5_3.GND)
// Power inputs for the CD4016 switches. Again, these aren't shown on // Power inputs for the CD4016 switches. Again, these aren't shown on
// the schematics, but 5-volt power must be used for the switches to // the schematics, but 5-volt power must be used for the switches to

View File

@ -274,7 +274,7 @@ void redalert_state::ww3_audio(machine_config &config)
void redalert_state::panther_audio(machine_config &config) void redalert_state::panther_audio(machine_config &config)
{ {
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();
redalert_audio_m37b(config); redalert_audio_m37b(config);
m_audiocpu->set_addrmap(AS_PROGRAM, &redalert_state::panther_audio_map); m_audiocpu->set_addrmap(AS_PROGRAM, &redalert_state::panther_audio_map);
} }

View File

@ -2299,7 +2299,7 @@ ROM_END
ROM_START( towerat2xx ) ROM_START( towerat2xx )
ROM_REGION16_LE( 0x20000, "bios", 0 ) ROM_REGION16_LE( 0x20000, "bios", 0 )
ROM_SYSTEM_BIOS(0, "v2.02", "V2.02" ) // from a model 220 ROM_SYSTEM_BIOS(0, "v2.02", "V2.02" ) // from a model 220
ROM_SYSTEM_BIOS(1, "v2.01", "V2.01" ) ROM_SYSTEM_BIOS(1, "v2.01", "V2.01" )
ROM_SYSTEM_BIOS(2, "v1.07", "V1.07" ) // seen on a model 240 "mega" ROM_SYSTEM_BIOS(2, "v1.07", "V1.07" ) // seen on a model 240 "mega"
ROM_SYSTEM_BIOS(3, "v1.06", "V1.06" ) // from a model 220 ROM_SYSTEM_BIOS(3, "v1.06", "V1.06" ) // from a model 220
ROM_SYSTEM_BIOS(4, "v1.05a", "V1.05a" ) ROM_SYSTEM_BIOS(4, "v1.05a", "V1.05a" )

View File

@ -3302,11 +3302,11 @@ ROM_START( donpachihk )
ROM_END ROM_END
/* /*
When you press the 2p start button, it pauses the game (music still plays). When you press the 2p start button, it pauses the game (music still plays).
Pressing the 1p start button unpauses the game. Pressing the 1p start button unpauses the game.
If you press both 1p start and 2p start at the same time, the game lets you play in slow motion (music still plays normally). If you press both 1p start and 2p start at the same time, the game lets you play in slow motion (music still plays normally).
This was on the label of the ROM chip: This was on the label of the ROM chip:
*/ */
ROM_START( donpachijs ) ROM_START( donpachijs )

View File

@ -63,11 +63,11 @@ TODO:
// TODO: NTSC system clock is 30.2098 MHz; additional 4.9152 MHz XTAL provided for UART // TODO: NTSC system clock is 30.2098 MHz; additional 4.9152 MHz XTAL provided for UART
#define CLOCK_A 30_MHz_XTAL #define CLOCK_A 30_MHz_XTAL
#define LOG_DVC (1 << 1) #define LOG_DVC (1 << 1)
#define LOG_QUIZARD_READS (1 << 2) #define LOG_QUIZARD_READS (1 << 2)
#define LOG_QUIZARD_WRITES (1 << 3) #define LOG_QUIZARD_WRITES (1 << 3)
#define LOG_QUIZARD_OTHER (1 << 4) #define LOG_QUIZARD_OTHER (1 << 4)
#define LOG_UART (1 << 5) #define LOG_UART (1 << 5)
#define VERBOSE (0) #define VERBOSE (0)
#include "logmacro.h" #include "logmacro.h"

View File

@ -690,7 +690,7 @@ void armchamp2_state::armchmp2_map(address_map &map)
map(0x100000, 0x100001).portr("IN2").w(FUNC(armchamp2_state::scudhamm_oki_bank_w)); map(0x100000, 0x100001).portr("IN2").w(FUNC(armchamp2_state::scudhamm_oki_bank_w));
map(0x100004, 0x100005).portr("DSW"); // DSW map(0x100004, 0x100005).portr("DSW"); // DSW
map(0x100008, 0x100009).portr("IN0").w(FUNC(armchamp2_state::output_w)); map(0x100008, 0x100009).portr("IN0").w(FUNC(armchamp2_state::output_w));
map(0x10000d, 0x10000d).rw("adc", FUNC(adc0804_device::read), FUNC(adc0804_device::write)); map(0x10000d, 0x10000d).rw("adc", FUNC(adc0804_device::read), FUNC(adc0804_device::write));
map(0x100010, 0x100011).rw(FUNC(armchamp2_state::motor_status_r), FUNC(armchamp2_state::motor_command_w)); map(0x100010, 0x100011).rw(FUNC(armchamp2_state::motor_status_r), FUNC(armchamp2_state::motor_command_w));
// same hookup as acommand, most notably the "Arm Champs II" voice sample on title screen playbacks on oki1 mirror // same hookup as acommand, most notably the "Arm Champs II" voice sample on title screen playbacks on oki1 mirror
map(0x100014, 0x100017).rw(m_oki1, FUNC(okim6295_device::read), FUNC(okim6295_device::write)).umask16(0x00ff); map(0x100014, 0x100017).rw(m_oki1, FUNC(okim6295_device::read), FUNC(okim6295_device::write)).umask16(0x00ff);
@ -2108,7 +2108,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(cischeat_state::scudhamm_scanline)
if(scanline == 240) // vblank-out irq if(scanline == 240) // vblank-out irq
m_maincpu->set_input_line(4, HOLD_LINE); m_maincpu->set_input_line(4, HOLD_LINE);
if(scanline == 16) // clears a flag, sprite end DMA? if(scanline == 16) // clears a flag, sprite end DMA?
m_maincpu->set_input_line(2, HOLD_LINE); m_maincpu->set_input_line(2, HOLD_LINE);
} }
@ -2129,10 +2129,10 @@ void cischeat_state::scudhamm(machine_config &config)
m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK); m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK);
// measured values for Arm Champs II: VSync: 59.1784Hz, HSync: 15082.0 kHz // measured values for Arm Champs II: VSync: 59.1784Hz, HSync: 15082.0 kHz
m_screen->set_raw(XTAL(12'000'000)/2,396,0,256,256,16,240); m_screen->set_raw(XTAL(12'000'000)/2,396,0,256,256,16,240);
// m_screen->set_refresh_hz(30); //TODO: wrong! // m_screen->set_refresh_hz(30); //TODO: wrong!
// m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500 * 3) /* not accurate */); // m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500 * 3) /* not accurate */);
// m_screen->set_size(256, 256); // m_screen->set_size(256, 256);
// m_screen->set_visarea(0, 256-1, 0 +16, 256-1 -16); // m_screen->set_visarea(0, 256-1, 0 +16, 256-1 -16);
m_screen->set_screen_update(FUNC(cischeat_state::screen_update_scudhamm)); m_screen->set_screen_update(FUNC(cischeat_state::screen_update_scudhamm));
m_screen->set_palette(m_palette); m_screen->set_palette(m_palette);

View File

@ -50,7 +50,7 @@ public:
{ } { }
void cm1800(machine_config &config); void cm1800(machine_config &config);
private: private:
void io_map(address_map &map); void io_map(address_map &map);
void mem_map(address_map &map); void mem_map(address_map &map);

View File

@ -84,8 +84,8 @@ void consoemt_state::io_map(address_map &map)
map(0x220, 0x220).portr("NUMBUS-H"); map(0x220, 0x220).portr("NUMBUS-H");
map(0x230, 0x230).portr("NUMFAB-L"); map(0x230, 0x230).portr("NUMFAB-L");
map(0x240, 0x240).portr("NUMFAB-H"); map(0x240, 0x240).portr("NUMFAB-H");
// map(0x250, 0x250).r // read on int2 // map(0x250, 0x250).r // read on int2
// map(0x260, 0x260).r // read on int1 // map(0x260, 0x260).r // read on int1
map(0x280, 0x281).rw(m_lcdc, FUNC(hd44780_device::read), FUNC(hd44780_device::write)); map(0x280, 0x281).rw(m_lcdc, FUNC(hd44780_device::read), FUNC(hd44780_device::write));
} }

View File

@ -8071,7 +8071,7 @@ ROM_START( sf2rk )
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */ ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
ROM_LOAD16_BYTE( "w6.u222", 0x000000, 0x80000, CRC(49422b6f) SHA1(69fe9147c7ee3f6fa29077df16f4ef1224495be3) ) ROM_LOAD16_BYTE( "w6.u222", 0x000000, 0x80000, CRC(49422b6f) SHA1(69fe9147c7ee3f6fa29077df16f4ef1224495be3) )
ROM_LOAD16_BYTE( "w5.u196", 0x000001, 0x80000, CRC(7e9c8c2f) SHA1(3d34a3920a771e1d62a41c104c8b16e3c6ac9405) ) ROM_LOAD16_BYTE( "w5.u196", 0x000001, 0x80000, CRC(7e9c8c2f) SHA1(3d34a3920a771e1d62a41c104c8b16e3c6ac9405) )
/* The dark screen issue is present on the real pcb, although much less noticable than in mame. /* The dark screen issue is present on the real pcb, although much less noticable than in mame.
The bootleggers have patched out the code which modifies the brightness/fade component of the palette word. The bootleggers have patched out the code which modifies the brightness/fade component of the palette word.
This is somewhat strange as unlike some bootlegs, this board DOES have the brightness circuitry (2x 7407's, 12x resistor dac) populated! This is somewhat strange as unlike some bootlegs, this board DOES have the brightness circuitry (2x 7407's, 12x resistor dac) populated!

View File

@ -751,10 +751,10 @@ void dec8_state::csilver_mcu_to_main_w(uint8_t data)
{ {
if (~data & 0x10) if (~data & 0x10)
m_i8751_port0 = m_i8751_value >> 8; m_i8751_port0 = m_i8751_value >> 8;
if (~data & 0x20) if (~data & 0x20)
m_i8751_port1 = m_i8751_value & 0xff; m_i8751_port1 = m_i8751_value & 0xff;
if (~data & 0x40) if (~data & 0x40)
{ {
m_i8751_return = (m_i8751_return & 0xff) | (m_i8751_port0 << 8); m_i8751_return = (m_i8751_return & 0xff) | (m_i8751_port0 << 8);
@ -763,7 +763,7 @@ void dec8_state::csilver_mcu_to_main_w(uint8_t data)
if (~data & 0x80) if (~data & 0x80)
m_i8751_return = (m_i8751_return & 0xff00) | m_i8751_port1; m_i8751_return = (m_i8751_return & 0xff00) | m_i8751_port1;
m_i8751_p2 = data; m_i8751_p2 = data;
} }

View File

@ -35,13 +35,13 @@
#define LOG_FDC_CTRL (1 << 6) #define LOG_FDC_CTRL (1 << 6)
#define LOG_FDC_PORT (1 << 7) #define LOG_FDC_PORT (1 << 7)
#define LOG_FDC_CMD (1 << 8) #define LOG_FDC_CMD (1 << 8)
#define LOG_FDC_MECH (1 << 9) #define LOG_FDC_MECH (1 << 9)
#define LOG_OUTPUT_TIMING (1 << 10) #define LOG_OUTPUT_TIMING (1 << 10)
#define LOG_BRUSH_ADDR (1 << 11) #define LOG_BRUSH_ADDR (1 << 11)
#define LOG_STORE_ADDR (1 << 12) #define LOG_STORE_ADDR (1 << 12)
#define LOG_COMBINER (1 << 13) #define LOG_COMBINER (1 << 13)
#define LOG_SIZE_CARD (1 << 14) #define LOG_SIZE_CARD (1 << 14)
#define LOG_FILTER_CARD (1 << 15) #define LOG_FILTER_CARD (1 << 15)
#define LOG_ALL (LOG_UNKNOWN | LOG_CSR | LOG_CTRLBUS | LOG_SYS_CTRL | LOG_FDC_CTRL | LOG_FDC_PORT | LOG_FDC_CMD | LOG_FDC_MECH | LOG_BRUSH_ADDR | \ #define LOG_ALL (LOG_UNKNOWN | LOG_CSR | LOG_CTRLBUS | LOG_SYS_CTRL | LOG_FDC_CTRL | LOG_FDC_PORT | LOG_FDC_CMD | LOG_FDC_MECH | LOG_BRUSH_ADDR | \
LOG_STORE_ADDR | LOG_COMBINER | LOG_SIZE_CARD | LOG_FILTER_CARD) LOG_STORE_ADDR | LOG_COMBINER | LOG_SIZE_CARD | LOG_FILTER_CARD)
@ -1276,55 +1276,55 @@ void dpb7000_state::cpu_ctrlbus_w(uint16_t data)
((data >> 8) & 0xf) == 6 ? "Initiate" : "Continue"); ((data >> 8) & 0xf) == 6 ? "Initiate" : "Continue");
/*if (((data >> 8) & 0xf) == 6) /*if (((data >> 8) & 0xf) == 6)
{ {
m_size_h = 0; m_size_h = 0;
m_size_v = 0; m_size_v = 0;
} }
uint16_t disc_buffer_addr = 0; uint16_t disc_buffer_addr = 0;
uint16_t bx = m_bxlen_counter - m_bxlen; uint16_t bx = m_bxlen_counter - m_bxlen;
uint16_t by = m_bylen_counter - m_bylen; uint16_t by = m_bylen_counter - m_bylen;
while (m_diskbuf_data_count > 0 && m_bylen_counter < 0x1000) while (m_diskbuf_data_count > 0 && m_bylen_counter < 0x1000)
{ {
uint8_t hv = (m_size_h << 4) | m_size_v; uint8_t hv = (m_size_h << 4) | m_size_v;
uint8_t hv_permuted = bitswap<8>(hv,4,6,0,2,5,7,1,3); uint8_t hv_permuted = bitswap<8>(hv,4,6,0,2,5,7,1,3);
if (BIT(m_brush_addr_func, 7)) // Luma Enable if (BIT(m_brush_addr_func, 7)) // Luma Enable
{ {
//printf("%02x ", m_diskbuf_ram[disc_buffer_addr]); //printf("%02x ", m_diskbuf_ram[disc_buffer_addr]);
m_brushstore_lum[by * 256 + hv_permuted] = m_diskbuf_ram[disc_buffer_addr]; m_brushstore_lum[by * 256 + hv_permuted] = m_diskbuf_ram[disc_buffer_addr];
} }
disc_buffer_addr++; disc_buffer_addr++;
m_diskbuf_data_count--; m_diskbuf_data_count--;
if (BIT(m_brush_addr_func, 8)) // Chroma Enable if (BIT(m_brush_addr_func, 8)) // Chroma Enable
{ {
m_brushstore_chr[by * 256 + hv_permuted] = m_diskbuf_ram[disc_buffer_addr]; m_brushstore_chr[by * 256 + hv_permuted] = m_diskbuf_ram[disc_buffer_addr];
} }
disc_buffer_addr++; disc_buffer_addr++;
m_diskbuf_data_count--; m_diskbuf_data_count--;
m_size_h++; m_size_h++;
if (m_size_h == 16) if (m_size_h == 16)
{ {
m_size_h = 0; m_size_h = 0;
m_size_v++; m_size_v++;
if (m_size_v == 16) if (m_size_v == 16)
{ {
m_size_v = 0; m_size_v = 0;
} }
} }
bx++; bx++;
m_bxlen_counter++; m_bxlen_counter++;
if (m_bxlen_counter == 0x1000) if (m_bxlen_counter == 0x1000)
{ {
bx = 0; bx = 0;
by++; by++;
m_bxlen_counter = m_bxlen; m_bxlen_counter = m_bxlen;
m_bylen_counter++; m_bylen_counter++;
//printf("\n"); //printf("\n");
} }
}*/ }*/
m_diskseq_complete_clk->adjust(attotime::from_msec(1)); m_diskseq_complete_clk->adjust(attotime::from_msec(1));
break; break;
@ -1563,7 +1563,7 @@ void dpb7000_state::fdd_index_callback(floppy_image_device *floppy, int state)
bit_idx++; bit_idx++;
//if ((bit_idx % 8) == 0) //if ((bit_idx % 8) == 0)
//{ //{
// printf("%02x ", (uint8_t)curr_window); // printf("%02x ", (uint8_t)curr_window);
//} //}
if (!seen_pregap && curr_window == PREGAP_MARK) if (!seen_pregap && curr_window == PREGAP_MARK)

View File

@ -480,7 +480,7 @@ void fp6000_state::fp6000(machine_config &config)
PALETTE(config, m_palette).set_entries(16); PALETTE(config, m_palette).set_entries(16);
GFXDECODE(config, m_gfxdecode, m_palette, gfx); GFXDECODE(config, m_gfxdecode, m_palette, gfx);
// audio hardware // audio hardware
SPEAKER(config, "mono").front_center(); SPEAKER(config, "mono").front_center();

View File

@ -1126,7 +1126,7 @@ IRQ_CALLBACK_MEMBER(galaxian_state::froggermc_audiocpu_irq_ack)
* *
*************************************/ *************************************/
uint8_t galaxian_state::frogf_ppi8255_r(offs_t offset) uint8_t galaxian_state::frogf_ppi8255_r(offs_t offset)
{ {
/* the decoding here is very simplistic, and you can address both simultaneously */ /* the decoding here is very simplistic, and you can address both simultaneously */
uint8_t result = 0xff; uint8_t result = 0xff;

View File

@ -58,7 +58,7 @@ Biblical
NOTE: Series 8 through 14 are "T3" sets as noted by the first 2 bytes of the questions ROMs. NOTE: Series 8 through 14 are "T3" sets as noted by the first 2 bytes of the questions ROMs.
The question ROMs are 27256 (twice the size of previous question ROMs) and contain 3 The question ROMs are 27256 (twice the size of previous question ROMs) and contain 3
times the number of questions. ROM labels are yellow. times the number of questions. ROM labels are yellow.
Series 8: (256K) Series 9: (256K) Series 10: (256K) Series 8: (256K) Series 9: (256K) Series 10: (256K)
---------------- ---------------- ----------------- ---------------- ---------------- -----------------
@ -88,13 +88,13 @@ NOTE: Series 15 and later are "T4" sets as noted by the first 2 bytes of the que
pink. pink.
Series 15: (256K) Series 16: (256K) Series 17: (256K) Series 15: (256K) Series 16: (256K) Series 17: (256K)
----------------- ----------------- ----------------- ----------------- ----------------- -----------------
Entertainment 2 Late TV Shows Night Time TV Entertainment 2 Late TV Shows Night Time TV
The Seventies The Eighties New Eighties The Seventies The Eighties New Eighties
Facts 2 People and Places History and Geography Facts 2 People and Places History and Geography
New Science 3 Potluck New Potpourri New Science 3 Potluck New Potpourri
N F L Football N B A Basketball N H L Hockey N F L Football N B A Basketball N H L Hockey
or alt: Adult Sex 6 or alt: Adult Sex 7 or alt: Adult Sex 8 or alt: Adult Sex 6 or alt: Adult Sex 7 or alt: Adult Sex 8

View File

@ -62,8 +62,8 @@
the High School Musical part has its own test mode which tests a different part of the ROM, use the same code but after selecting the game from menu the High School Musical part has its own test mode which tests a different part of the ROM, use the same code but after selecting the game from menu
--- the individual CS spaces could (and probably should?) be done with a bunch of extra memory spaces rather than the cs0_r / cs0_w etc. but that would mean yet --- the individual CS spaces could (and probably should?) be done with a bunch of extra memory spaces rather than the cs0_r / cs0_w etc. but that would mean yet
another trip through the memory system for almost everything and at ~100Mhz that is slow. another trip through the memory system for almost everything and at ~100Mhz that is slow.
*/ */

View File

@ -2,18 +2,18 @@
// copyright-holders:David Haywood // copyright-holders:David Haywood
/* /*
GPL16250 / GPAC800 / GMC384 / GCM420 related support GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 is the GeneralPlus / SunPlus part number GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die GMC384 / GCM420 is what is printed on the die
---- ----
GPL16250 Mobigo support GPL16250 Mobigo support
the original Mobigo is ROM+RAM config the original Mobigo is ROM+RAM config
the Mobigo 2 is NAND+RAM config the Mobigo 2 is NAND+RAM config
cartridges are compatible cartridges are compatible
*/ */
#include "emu.h" #include "emu.h"

View File

@ -1,15 +1,15 @@
// license:BSD-3-Clause // license:BSD-3-Clause
// copyright-holders:David Haywood // copyright-holders:David Haywood
/* /*
GPL16250 / GPAC800 / GMC384 / GCM420 related support GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 is the GeneralPlus / SunPlus part number GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die GMC384 / GCM420 is what is printed on the die
---- ----
GPL16250 games using NAND + RAM configuration GPL16250 games using NAND + RAM configuration
*/ */
/* /*

View File

@ -1,15 +1,15 @@
// license:BSD-3-Clause // license:BSD-3-Clause
// copyright-holders:David Haywood // copyright-holders:David Haywood
/* /*
GPL16250 / GPAC800 / GMC384 / GCM420 related support GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 is the GeneralPlus / SunPlus part number GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die GMC384 / GCM420 is what is printed on the die
---- ----
GPL16250 games using ROM (no extra RAM) configuration GPL16250 games using ROM (no extra RAM) configuration
*/ */
#include "emu.h" #include "emu.h"
@ -329,7 +329,7 @@ static INPUT_PORTS_START( tkmag220 )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START("IN2") PORT_START("IN2")
PORT_DIPNAME( 0x0001, 0x0001, "IN2" ) // set 0x0001 and 0x0002 on to get a test mode (some of the ROM banks fail their test, but dumps were repeatable, should be verified on another unit) PORT_DIPNAME( 0x0001, 0x0001, "IN2" ) // set 0x0001 and 0x0002 on to get a test mode (some of the ROM banks fail their test, but dumps were repeatable, should be verified on another unit)
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) ) PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
@ -403,8 +403,8 @@ ROM_END
ROM_START( myac220 ) ROM_START( myac220 )
//ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 ) // not on this model? (or at least not this size, as CS base is different) //ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 ) // not on this model? (or at least not this size, as CS base is different)
//ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP ) //ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP )
ROM_REGION( 0x8000000, "maincpu", ROMREGION_ERASE00 ) ROM_REGION( 0x8000000, "maincpu", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "myarcadegogamerportable.bin", 0x0000000, 0x8000000, BAD_DUMP CRC(c929a2fa) SHA1(e99007ccc45a268267b4ea0efaf22e3117f5a6bd) ) // again several sections seemed to be erased, was repaired with data from tkmag220, likely good but should be verified ROM_LOAD16_WORD_SWAP( "myarcadegogamerportable.bin", 0x0000000, 0x8000000, BAD_DUMP CRC(c929a2fa) SHA1(e99007ccc45a268267b4ea0efaf22e3117f5a6bd) ) // again several sections seemed to be erased, was repaired with data from tkmag220, likely good but should be verified
ROM_END ROM_END

View File

@ -1,15 +1,15 @@
// license:BSD-3-Clause // license:BSD-3-Clause
// copyright-holders:David Haywood // copyright-holders:David Haywood
/* /*
GPL16250 / GPAC800 / GMC384 / GCM420 related support GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 is the GeneralPlus / SunPlus part number GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die GMC384 / GCM420 is what is printed on the die
---- ----
GPL16250 games using ROM + RAM configuration GPL16250 games using ROM + RAM configuration
*/ */
#include "emu.h" #include "emu.h"
@ -324,7 +324,7 @@ void paccon_game_state::machine_reset()
{ {
jak_s500_game_state::machine_reset(); jak_s500_game_state::machine_reset();
m_maincpu->space(AS_PROGRAM).install_read_handler(0x6593, 0x6593, read16smo_delegate(*this, FUNC(paccon_game_state::paccon_speedup_hack_r))); m_maincpu->space(AS_PROGRAM).install_read_handler(0x6593, 0x6593, read16smo_delegate(*this, FUNC(paccon_game_state::paccon_speedup_hack_r)));
// install_speedup_hack(0x6593, 0x30033); // install_speedup_hack(0x6593, 0x30033);
} }
void jak_pf_game_state::machine_reset() void jak_pf_game_state::machine_reset()

View File

@ -1,15 +1,15 @@
// license:BSD-3-Clause // license:BSD-3-Clause
// copyright-holders:David Haywood // copyright-holders:David Haywood
/* /*
GPL16250 / GPAC800 / GMC384 / GCM420 related support GPL16250 / GPAC800 / GMC384 / GCM420 related support
GPL16250 is the GeneralPlus / SunPlus part number GPL16250 is the GeneralPlus / SunPlus part number
GPAC800 is the JAKKS Pacific codename GPAC800 is the JAKKS Pacific codename
GMC384 / GCM420 is what is printed on the die GMC384 / GCM420 is what is printed on the die
---- ----
GPL16250 games using SPI Flash + RAM configuration GPL16250 games using SPI Flash + RAM configuration
*/ */
#include "emu.h" #include "emu.h"

View File

@ -29,24 +29,24 @@
- MK5089N - DTMF generator - MK5089N - DTMF generator
- ... - ...
high-resolution motherboard photo (enough to read chip numbers): http://deltacxx.insomnia247.nl/gridcompass/motherboard.jpg high-resolution motherboard photo (enough to read chip numbers): http://deltacxx.insomnia247.nl/gridcompass/motherboard.jpg
differences between models: differences between models:
- Compass 110x do not have GRiDROM slots. - Compass 110x do not have GRiDROM slots.
- Compass II (112x, 113x) have 4 of them. - Compass II (112x, 113x) have 4 of them.
- Compass II 113x have 512x256 screen size - Compass II 113x have 512x256 screen size
- Compass 11x9 have 512K ram - Compass 11x9 have 512K ram
- Compass II have DMA addresses different from Compass 110x - Compass II have DMA addresses different from Compass 110x
to do: to do:
- keyboard: decode and add the rest of keycodes - keyboard: decode and add the rest of keycodes
keycode table can be found here on page A-2: keycode table can be found here on page A-2:
http://deltacxx.insomnia247.nl/gridcompass/large_files/Yahoo%20group%20backup/RuGRiD-Laptop/files/6_GRiD-OS-Programming/3_GRiD-OS-Reference.pdf http://deltacxx.insomnia247.nl/gridcompass/large_files/Yahoo%20group%20backup/RuGRiD-Laptop/files/6_GRiD-OS-Programming/3_GRiD-OS-Reference.pdf
- EAROM, RTC - EAROM, RTC
- serial port (incomplete), modem (incl. DTMF generator) - serial port (incomplete), modem (incl. DTMF generator)
- proper custom DMA logic timing - proper custom DMA logic timing
- implement units other than 1101 - implement units other than 1101
missing dumps: missing dumps:
@ -56,9 +56,9 @@
- external floppy and hard disk (2101, 2102) - external floppy and hard disk (2101, 2102)
to boot CCOS 3.0.1: to boot CCOS 3.0.1:
- convert GRIDOS.IMD to IMG format - convert GRIDOS.IMD to IMG format
- create zero-filled 384K bubble memory image and attach it as -memcard - create zero-filled 384K bubble memory image and attach it as -memcard
- attach floppy with `-ieee_grid grid2102 -flop GRIDOS.IMG` - attach floppy with `-ieee_grid grid2102 -flop GRIDOS.IMG`
- use grid1101 with 'ccos' ROM - use grid1101 with 'ccos' ROM
***************************************************************************/ ***************************************************************************/

View File

@ -51,17 +51,17 @@ void gs6502_state::gs6502(machine_config &config)
/* basic machine hardware */ /* basic machine hardware */
M6502(config, m_maincpu, XTAL(1'843'200)); M6502(config, m_maincpu, XTAL(1'843'200));
m_maincpu->set_addrmap(AS_PROGRAM, &gs6502_state::gs6502_mem); m_maincpu->set_addrmap(AS_PROGRAM, &gs6502_state::gs6502_mem);
// Configure UART (via m_acia) // Configure UART (via m_acia)
ACIA6850(config, m_acia, 0); ACIA6850(config, m_acia, 0);
m_acia->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd)); m_acia->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
// should this be reverse polarity? // should this be reverse polarity?
m_acia->irq_handler().set("rs232", FUNC(rs232_port_device::write_rts)); m_acia->irq_handler().set("rs232", FUNC(rs232_port_device::write_rts));
clock_device &acia_clock(CLOCK(config, "acia_clock", 1'843'200)); clock_device &acia_clock(CLOCK(config, "acia_clock", 1'843'200));
acia_clock.signal_handler().set("acia", FUNC(acia6850_device::write_txc)); acia_clock.signal_handler().set("acia", FUNC(acia6850_device::write_txc));
acia_clock.signal_handler().append("acia", FUNC(acia6850_device::write_rxc)); acia_clock.signal_handler().append("acia", FUNC(acia6850_device::write_rxc));
// Configure a "default terminal" to connect to the 6850, so we have a console // Configure a "default terminal" to connect to the 6850, so we have a console
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal")); rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
rs232.rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd)); rs232.rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd));

View File

@ -51,17 +51,17 @@ void gs6809_state::gs6809(machine_config &config)
/* basic machine hardware */ /* basic machine hardware */
MC6809(config, m_maincpu, XTAL(7'372'800)); MC6809(config, m_maincpu, XTAL(7'372'800));
m_maincpu->set_addrmap(AS_PROGRAM, &gs6809_state::gs6809_mem); m_maincpu->set_addrmap(AS_PROGRAM, &gs6809_state::gs6809_mem);
// Configure UART (via m_acia) // Configure UART (via m_acia)
ACIA6850(config, m_acia, 0); ACIA6850(config, m_acia, 0);
m_acia->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd)); m_acia->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
// should this be reverse polarity? // should this be reverse polarity?
m_acia->irq_handler().set("rs232", FUNC(rs232_port_device::write_rts)); m_acia->irq_handler().set("rs232", FUNC(rs232_port_device::write_rts));
clock_device &acia_clock(CLOCK(config, "acia_clock", 7'372'800/4)); // E Clock from M6809 clock_device &acia_clock(CLOCK(config, "acia_clock", 7'372'800/4)); // E Clock from M6809
acia_clock.signal_handler().set("acia", FUNC(acia6850_device::write_txc)); acia_clock.signal_handler().set("acia", FUNC(acia6850_device::write_txc));
acia_clock.signal_handler().append("acia", FUNC(acia6850_device::write_rxc)); acia_clock.signal_handler().append("acia", FUNC(acia6850_device::write_rxc));
// Configure a "default terminal" to connect to the 6850, so we have a console // Configure a "default terminal" to connect to the 6850, so we have a console
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal")); rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
rs232.rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd)); rs232.rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd));

View File

@ -3,7 +3,7 @@
// http://searle.x10host.com/cpm/index.html // http://searle.x10host.com/cpm/index.html
// Written by Frank Palazzolo - frank@avoidspikes.com // Written by Frank Palazzolo - frank@avoidspikes.com
// This driver uses a compact flash card as a hard disk device. // This driver uses a compact flash card as a hard disk device.
// To create a virtual disk file, use the following (for a 128MB card): // To create a virtual disk file, use the following (for a 128MB card):
// chdman createhd -s 134217728 -o filename.chd // chdman createhd -s 134217728 -o filename.chd
// (or use -s 67108864 for 64MB card) // (or use -s 67108864 for 64MB card)
@ -56,7 +56,7 @@ protected:
void gscpm_state::gscpm_mem(address_map &map) void gscpm_state::gscpm_mem(address_map &map)
{ {
//map(0x0000, 0x3fff).rom("maincpu"); // This is ROM after reset, and RAM is switched in when CP/M is booted //map(0x0000, 0x3fff).rom("maincpu"); // This is ROM after reset, and RAM is switched in when CP/M is booted
// (will install handlers dynamically) // (will install handlers dynamically)
map(0x4000, 0xffff).ram(); map(0x4000, 0xffff).ram();
} }
@ -166,13 +166,13 @@ void gscpm_state::gscpm(machine_config &config)
m_sio->out_txdb_callback().set("rs232", FUNC(rs232_port_device::write_txd)); m_sio->out_txdb_callback().set("rs232", FUNC(rs232_port_device::write_txd));
m_sio->out_rtsb_callback().set("rs232", FUNC(rs232_port_device::write_rts)); m_sio->out_rtsb_callback().set("rs232", FUNC(rs232_port_device::write_rts));
m_sio->out_int_callback().set_inputline("maincpu", INPUT_LINE_IRQ0); // Connect interrupt pin to our Z80 INT line m_sio->out_int_callback().set_inputline("maincpu", INPUT_LINE_IRQ0); // Connect interrupt pin to our Z80 INT line
clock_device &sio_clock(CLOCK(config, "sio_clock", 7'372'800)); clock_device &sio_clock(CLOCK(config, "sio_clock", 7'372'800));
sio_clock.signal_handler().set("sio", FUNC(z80sio_device::txca_w)); sio_clock.signal_handler().set("sio", FUNC(z80sio_device::txca_w));
sio_clock.signal_handler().append("sio", FUNC(z80sio_device::rxca_w)); sio_clock.signal_handler().append("sio", FUNC(z80sio_device::rxca_w));
sio_clock.signal_handler().append("sio", FUNC(z80sio_device::txcb_w)); sio_clock.signal_handler().append("sio", FUNC(z80sio_device::txcb_w));
sio_clock.signal_handler().append("sio", FUNC(z80sio_device::rxcb_w)); sio_clock.signal_handler().append("sio", FUNC(z80sio_device::rxcb_w));
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal")); rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
rs232.rxd_handler().set("sio", FUNC(z80sio_device::rxb_w)); rs232.rxd_handler().set("sio", FUNC(z80sio_device::rxb_w));
rs232.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal)); // must be below the DEVICE_INPUT_DEFAULTS_START block rs232.set_option_device_input_defaults("terminal", DEVICE_INPUT_DEFAULTS_NAME(terminal)); // must be below the DEVICE_INPUT_DEFAULTS_START block

View File

@ -20,7 +20,7 @@ class gsz80_state : public driver_device
public: public:
gsz80_state(const machine_config &mconfig, device_type type, const char *tag) gsz80_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) : driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu") // Tag name for Z80 is "maincpu" , m_maincpu(*this, "maincpu") // Tag name for Z80 is "maincpu"
, m_acia(*this, "acia") // Tag name for UART is "acia" , m_acia(*this, "acia") // Tag name for UART is "acia"
{ } { }
@ -64,23 +64,23 @@ DEVICE_INPUT_DEFAULTS_END
void gsz80_state::gsz80(machine_config &config) void gsz80_state::gsz80(machine_config &config)
{ {
/* basic machine hardware */ /* basic machine hardware */
// Configure member Z80 (via m_maincpu) // Configure member Z80 (via m_maincpu)
Z80(config, m_maincpu, XTAL(7'372'800)); Z80(config, m_maincpu, XTAL(7'372'800));
m_maincpu->set_addrmap(AS_PROGRAM, &gsz80_state::gsz80_mem); m_maincpu->set_addrmap(AS_PROGRAM, &gsz80_state::gsz80_mem);
m_maincpu->set_addrmap(AS_IO, &gsz80_state::gsz80_io); m_maincpu->set_addrmap(AS_IO, &gsz80_state::gsz80_io);
// Configure UART (via m_acia) // Configure UART (via m_acia)
ACIA6850(config, m_acia, 0); ACIA6850(config, m_acia, 0);
m_acia->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd)); m_acia->txd_handler().set("rs232", FUNC(rs232_port_device::write_txd));
m_acia->rts_handler().set("rs232", FUNC(rs232_port_device::write_rts)); m_acia->rts_handler().set("rs232", FUNC(rs232_port_device::write_rts));
m_acia->irq_handler().set_inputline("maincpu", INPUT_LINE_IRQ0); // Connect interrupt pin to our Z80 INT line m_acia->irq_handler().set_inputline("maincpu", INPUT_LINE_IRQ0); // Connect interrupt pin to our Z80 INT line
// Create a clock device to connect to the transmit and receive clock on the 6850 // Create a clock device to connect to the transmit and receive clock on the 6850
clock_device &acia_clock(CLOCK(config, "acia_clock", 7'372'800)); clock_device &acia_clock(CLOCK(config, "acia_clock", 7'372'800));
acia_clock.signal_handler().set("acia", FUNC(acia6850_device::write_txc)); acia_clock.signal_handler().set("acia", FUNC(acia6850_device::write_txc));
acia_clock.signal_handler().append("acia", FUNC(acia6850_device::write_rxc)); acia_clock.signal_handler().append("acia", FUNC(acia6850_device::write_rxc));
// Configure a "default terminal" to connect to the 6850, so we have a console // Configure a "default terminal" to connect to the 6850, so we have a console
rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal")); rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal"));
rs232.rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd)); rs232.rxd_handler().set(m_acia, FUNC(acia6850_device::write_rxd));

View File

@ -599,8 +599,8 @@ void gticlub_state::gn680_memmap(address_map &map)
map(0x000000, 0x01ffff).rom(); map(0x000000, 0x01ffff).rom();
map(0x200000, 0x203fff).ram(); map(0x200000, 0x203fff).ram();
map(0x300000, 0x300001).w(FUNC(gticlub_state::gn680_sysctrl_w)); map(0x300000, 0x300001).w(FUNC(gticlub_state::gn680_sysctrl_w));
// map(0x310000, 0x311fff).nopw(); //056230 regs? // map(0x310000, 0x311fff).nopw(); //056230 regs?
// map(0x312000, 0x313fff).nopw(); //056230 ram? // map(0x312000, 0x313fff).nopw(); //056230 ram?
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -232,7 +232,7 @@ void homelab3_state::homelab3_mem(address_map &map)
map(0x4000, 0xcfff).ram(); map(0x4000, 0xcfff).ram();
map(0xe800, 0xefff).r(FUNC(homelab3_state::exxx_r)); map(0xe800, 0xefff).r(FUNC(homelab3_state::exxx_r));
map(0xf800, 0xffff).lr8(NAME([this] (offs_t offset) { if(m_ramhere) return m_ram[offset]; else return m_vram[offset]; })) map(0xf800, 0xffff).lr8(NAME([this] (offs_t offset) { if(m_ramhere) return m_ram[offset]; else return m_vram[offset]; }))
.lw8(NAME([this] (offs_t offset, u8 data) { if(m_ramhere) m_ram[offset]=data; else m_vram[offset]=data; })); .lw8(NAME([this] (offs_t offset, u8 data) { if(m_ramhere) m_ram[offset]=data; else m_vram[offset]=data; }));
} }
void homelab3_state::homelab3_io(address_map &map) void homelab3_state::homelab3_io(address_map &map)

Some files were not shown because too many files have changed in this diff Show More