srcclean and manual cleanup (nw)

This commit is contained in:
Vas Crabb 2020-04-26 12:04:54 +10:00
parent 2305442f6a
commit 8a923f9361
75 changed files with 655 additions and 655 deletions

View File

@ -7121,7 +7121,7 @@ X-1414 : Streetracer
<description>Grover's Music Maker (Prototype 19830118)</description>
<year>1983</year>
<publisher>Atari</publisher>
<!-- stephan r. keith, preston stuart -->
<!-- stephan r. keith, preston stuart -->
<part name="cart" interface="a2600_cart">
<feature name="slot" value="a26_f8" />
<dataarea name="rom" size="8192">
@ -7134,7 +7134,7 @@ X-1414 : Streetracer
<description>Grover's Music Maker (Prototype 19821229)</description>
<year>1982</year>
<publisher>Atari</publisher>
<!-- stephan r. keith, preston stuart -->
<!-- stephan r. keith, preston stuart -->
<part name="cart" interface="a2600_cart">
<feature name="slot" value="a26_f8" />
<dataarea name="rom" size="8192">

View File

@ -36601,8 +36601,8 @@ license:CC0
<publisher>Mindscape</publisher>
<info name="release" value="2020-03-22"/>
<!--
Keyboard overlay available at:
https://ia601404.us.archive.org/23/items/TheSeaVoyagers4amCrack/The%20Sea%20Voyagers%20%284am%20crack%29.txt
Keyboard overlay available at:
https://ia601404.us.archive.org/23/items/TheSeaVoyagers4amCrack/The%20Sea%20Voyagers%20%284am%20crack%29.txt
-->
<part name="flop1" interface="floppy_5_25">

View File

@ -12077,8 +12077,8 @@ license:CC0
<info name="release" value="2020-04-08"/>
<sharedfeat name="compatibility" value="A2,A2P,A2E,A2EE,A2C,A2GS"/>
<!-- It runs on any Apple II with 48K. -->
<part name="flop1" interface="floppy_5_25">
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="48405">
<rom name="meteoroids in space.woz" size="48405" crc="7beb3c05" sha1="61cdb1028a091a7bd85ac636f1f29087b57b4426"/>
</dataarea>

View File

@ -11794,7 +11794,7 @@ has been replaced with an all-zero block. -->
</dataarea>
</part>
</software>
<software name="bartvssm">
<description>The Simpsons - Bart vs. the Space Mutants</description>
<year>1991</year>

View File

@ -839,7 +839,7 @@ license:CC0
</part>
</software>
<!-- not original, has WinImage header -->
<software name="1stword">
<description>1st Word Plus 2.0</description>
@ -12423,7 +12423,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="rotd">
<description>Rise of the Dragon</description>
<year>1990</year>
@ -12729,7 +12729,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="sq1">
<description>Space Quest I: Roger Wilco in the Sarien Encounter (VGA release)</description>
<year>1991</year>

View File

@ -3,25 +3,25 @@
<!-- license:CC0 -->
<!--
Missing carts:
Missing carts:
500-13288-A DIDJi Racing - Tiki Tropics
500-13289-A Super Chicks - Make friends. Shop. Save the world
Tinker Bell and The Lost Treasure
500-13286-C Sonic The Hedgehog
Nancy Drew
Foster's Home for Imaginary Friends
Wolverine and the X-Men
Neopets - Quizara's Curse
Hannah Montana
High School Musical
Mitchell Van Morgan
Star Wars - Jedi Trials
500-13288-A DIDJi Racing - Tiki Tropics
500-13289-A Super Chicks - Make friends. Shop. Save the world
Tinker Bell and The Lost Treasure
500-13286-C Sonic The Hedgehog
Nancy Drew
Foster's Home for Imaginary Friends
Wolverine and the X-Men
Neopets - Quizara's Curse
Hannah Montana
High School Musical
Mitchell Van Morgan
Star Wars - Jedi Trials
-->
<softwarelist name="leapfrog_didj_cart" description="LeapFrog Didj Cartridges">
<!-- NAND ROMs, dumps not yet verified as good, although they do contain a filesystem -->
<software name="andinvasn" supported="no">
<description>Nicktoon Android Invasion (USA)</description>
<year>2008</year>

View File

@ -13228,7 +13228,7 @@ clips onto the player's ear.
</dataarea>
</part>
</software>
<software name="vpointp">
<description>Viewpoint 2064 (Prototype)</description>
<year>1999</year>

View File

@ -10819,7 +10819,7 @@ license:CC0
</dataarea>
</part>
</software>
<software name="mslug5b" cloneof="mslug5">
<description>Metal Slug 5 (bootleg)</description>
<year>2003</year>

View File

@ -3,57 +3,57 @@
<!--
license:CC0
To load software, you must use the following sequence at the prompt:
"J" "shift+P" "shift+P" "enter" (this will enter the command LOAD "" and execute it)
You must then play the tape from the menu in MAME (you'll need to turn SCRLOCK off and hit TAB to get the MAME menu)
To load software, you must use the following sequence at the prompt:
"J" "shift+P" "shift+P" "enter" (this will enter the command LOAD "" and execute it)
You must then play the tape from the menu in MAME (you'll need to turn SCRLOCK off and hit TAB to get the MAME menu)
Notes on cassette dumps:
It's preferable to have a proper representation of each cassette side, rather than having both in a single TZX.
While the contents in both sides of each cassette are usually identical, it's preferable to have dumps of both to be completely sure.
Certain alternate editions might share the same data but have very different pauses between blocks, which makes them separate clones.
Beware of any "fake" TZX files with 1000ms pauses! Those are better added as TAP while the real TZXs are created.
Known software without a TZX or TAP dump:
Geovideo 4 (198x)(Paulo Sergio Coelho) -> https://www.worldofspectrum.org/infoseekid.cgi?id=4000104
Current bad dumps:
Cozinheiro (198x)(TMX Portugal Ltda)
Fórmula 1 (198x)(TMX Portugal Ltda)
Frogger (1983)(Games to Learn By Inc)
Mscript (rerelease) (1983)(Zebra Systems Inc)
Notes on cassette dumps:
It's preferable to have a proper representation of each cassette side, rather than having both in a single TZX.
While the contents in both sides of each cassette are usually identical, it's preferable to have dumps of both to be completely sure.
Certain alternate editions might share the same data but have very different pauses between blocks, which makes them separate clones.
Beware of any "fake" TZX files with 1000ms pauses! Those are better added as TAP while the real TZXs are created.
Currently in need of a proper TZX dump (unless never released as physical media):
Androids (1983)(Timex Computer Corporation)
Artworx (1985)(NovelSoft)
Auto Analyzer (1983)(Timex Computer Corporation)
Basic 64 Demo - TC 2068 (1985)(TMX Portugal Ltda)
Crazy Bugs! (1983)(Timex Computer Corporation)
Desktop Publisher (1987)(Charles Stelding)
Disassembler (19XX)(unknown)
Horace & the Spiders (1983)(Timex Computer Corporation)
Hot Z Disassembler v1.43 (1984)(Ray Kingsley)
Hot Z Disassembler v1.84 (1984)(Ray Kingsley)
Hot Z Disassembler v1.95 (1984)(Ray Kingsley)
Keyword v1 (1984)(Glyn Kendall, Jack Dohany)
Keyword v5.0 (198X)(Jack Dohany)
Mscript (1983)(21st Century Electronics)
Personal Portfolio Manager (1983)(Timex Computer Corporation)
Pro Pinball (1983)(Timex Computer Corporation)
Pro-File 2068 (19XX)(P.O. Box 64)
Smart Terminal 1 (1983)(Timex Computer Corporation)
Super Hot Z Disassembler v2.51 (19XX)(Ray Kingsley)
Tasword Two (1983)(Tasman Software)
The Worx! (1986)(NovelSoft)
Timachine (1986)(NovelSoft)
Toolkit (1986)(TMX Portugal Ltda)
Upload-2000 (1983)(EZ-Key)
VU-3D (1983)(Timex Computer Corporation)
VU-Calc (1983)(Timex Computer Corporation)
VU-File (1983)(Timex Computer Corporation)
Window Print 32 (1987)(John M. Bell)
Window Print 64 (1987)(John M. Bell)
Known software without a TZX or TAP dump:
Geovideo 4 (198x)(Paulo Sergio Coelho) -> https://www.worldofspectrum.org/infoseekid.cgi?id=4000104
Current bad dumps:
Cozinheiro (198x)(TMX Portugal Ltda)
Fórmula 1 (198x)(TMX Portugal Ltda)
Frogger (1983)(Games to Learn By Inc)
Mscript (rerelease) (1983)(Zebra Systems Inc)
Currently in need of a proper TZX dump (unless never released as physical media):
Androids (1983)(Timex Computer Corporation)
Artworx (1985)(NovelSoft)
Auto Analyzer (1983)(Timex Computer Corporation)
Basic 64 Demo - TC 2068 (1985)(TMX Portugal Ltda)
Crazy Bugs! (1983)(Timex Computer Corporation)
Desktop Publisher (1987)(Charles Stelding)
Disassembler (19XX)(unknown)
Horace & the Spiders (1983)(Timex Computer Corporation)
Hot Z Disassembler v1.43 (1984)(Ray Kingsley)
Hot Z Disassembler v1.84 (1984)(Ray Kingsley)
Hot Z Disassembler v1.95 (1984)(Ray Kingsley)
Keyword v1 (1984)(Glyn Kendall, Jack Dohany)
Keyword v5.0 (198X)(Jack Dohany)
Mscript (1983)(21st Century Electronics)
Personal Portfolio Manager (1983)(Timex Computer Corporation)
Pro Pinball (1983)(Timex Computer Corporation)
Pro-File 2068 (19XX)(P.O. Box 64)
Smart Terminal 1 (1983)(Timex Computer Corporation)
Super Hot Z Disassembler v2.51 (19XX)(Ray Kingsley)
Tasword Two (1983)(Tasman Software)
The Worx! (1986)(NovelSoft)
Timachine (1986)(NovelSoft)
Toolkit (1986)(TMX Portugal Ltda)
Upload-2000 (1983)(EZ-Key)
VU-3D (1983)(Timex Computer Corporation)
VU-Calc (1983)(Timex Computer Corporation)
VU-File (1983)(Timex Computer Corporation)
Window Print 32 (1987)(John M. Bell)
Window Print 64 (1987)(John M. Bell)
-->
<softwarelist name="timex_cass" description="Timex Sinclair 2068 cassettes">
@ -116,7 +116,7 @@ license:CC0
</software>
<software name="androids">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Androids</description>
<year>1983</year>
<publisher>Timex Computer Corporation</publisher>
@ -139,7 +139,7 @@ license:CC0
</software>
<software name="artworx">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Artworx</description>
<year>1985</year>
<publisher>NovelSoft</publisher>
@ -162,7 +162,7 @@ license:CC0
</software>
<software name="astrobla">
<!-- Thought to be a bootleg of Quicksilva's Spectrum release. -->
<!-- Thought to be a bootleg of Quicksilva's Spectrum release. -->
<description>Astro Blaster (bootleg?)</description>
<year>1984</year>
<publisher>Metal Soft</publisher>
@ -174,7 +174,7 @@ license:CC0
</software>
<software name="autoanaly">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Auto Analyzer</description>
<year>1983</year>
<publisher>Timex Computer Corporation</publisher>
@ -197,7 +197,7 @@ license:CC0
</software>
<software name="b64demo2068">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Basic 64 Demo - TC 2068</description>
<year>1985</year>
<publisher>TMX Portugal Ltda</publisher>
@ -282,7 +282,7 @@ license:CC0
</software>
<software name="chess">
<!-- Needs verification. This dump was previously thought to come from an alternate Spectrum release. -->
<!-- Needs verification. This dump was previously thought to come from an alternate Spectrum release. -->
<description>Chess</description>
<year>1983</year>
<publisher>Timex Computer Corporation</publisher>
@ -345,8 +345,8 @@ license:CC0
</software>
<software name="cozinhei">
<!-- Bad dump -->
<!-- Portuguese adaptation of Mr. Wimpy -->
<!-- Bad dump -->
<!-- Portuguese adaptation of Mr. Wimpy -->
<description>Cozinheiro</description>
<year>198?</year>
<publisher>TMX Portugal Ltda</publisher>
@ -358,7 +358,7 @@ license:CC0
</software>
<software name="crazybug">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Crazy Bugs</description>
<year>1983</year>
<publisher>Timex Computer Corporation</publisher>
@ -421,7 +421,7 @@ license:CC0
</software>
<software name="desktopp">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Desktop Publisher</description>
<year>1987</year>
<publisher>Charles Stelding</publisher>
@ -433,7 +433,7 @@ license:CC0
</software>
<software name="disassem">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Disassembler</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
@ -478,7 +478,7 @@ license:CC0
</software>
<software name="formula">
<!-- Bad dump -->
<!-- Bad dump -->
<description>Fórmula 1</description>
<year>198?</year>
<publisher>TMX Portugal Ltda</publisher>
@ -490,7 +490,7 @@ license:CC0
</software>
<software name="frogger">
<!-- Bad dump -->
<!-- Bad dump -->
<description>Frogger</description>
<year>1983</year>
<publisher>Games to Learn By Inc</publisher>
@ -546,7 +546,7 @@ license:CC0
</software>
<software name="heroi">
<!-- Portuguese adaptation of H.E.R.O. -->
<!-- Portuguese adaptation of H.E.R.O. -->
<description>Herói</description>
<year>198?</year>
<publisher>TMX Portugal Ltda</publisher>
@ -569,7 +569,7 @@ license:CC0
</software>
<software name="horaspid">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Horace &amp; the Spiders</description>
<year>1983</year>
<publisher>Timex Computer Corporation</publisher>
@ -603,7 +603,7 @@ license:CC0
</software>
<software name="hotzd143" cloneof="hotzd195">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Hot Z Disassembler v1.43</description>
<year>1984</year>
<publisher>Ray Kingsley</publisher>
@ -615,7 +615,7 @@ license:CC0
</software>
<software name="hotzd184" cloneof="hotzd195">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Hot Z Disassembler v1.84</description>
<year>1984</year>
<publisher>Ray Kingsley</publisher>
@ -627,7 +627,7 @@ license:CC0
</software>
<software name="hotzd195">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Hot Z Disassembler v1.95</description>
<year>1984</year>
<publisher>Ray Kingsley</publisher>
@ -661,16 +661,16 @@ license:CC0
</software>
<!--
<software name="intrs232p" cloneof="intrs232">
<description>Interface RS232 (Portugal)</description>
<year>198?</year>
<publisher>TMX Portugal Ltda</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="">
<rom name="interface rs232 (198x)(tmx portugal ltda).tzx" size="" crc="" sha1=""/>
</dataarea>
</part>
</software>
<software name="intrs232p" cloneof="intrs232">
<description>Interface RS232 (Portugal)</description>
<year>198?</year>
<publisher>TMX Portugal Ltda</publisher>
<part name="cass" interface="spectrum_cass">
<dataarea name="cass" size="">
<rom name="interface rs232 (198x)(tmx portugal ltda).tzx" size="" crc="" sha1=""/>
</dataarea>
</part>
</software>
-->
<software name="invasore">
@ -714,7 +714,7 @@ license:CC0
</software>
<software name="keyword1" cloneof="keyword5">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Keyword v1</description>
<year>1984</year>
<publisher>Glyn Kendall, Jack Dohany</publisher>
@ -726,7 +726,7 @@ license:CC0
</software>
<software name="keyword5">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Keyword v5.0</description>
<year>198?</year>
<publisher>Jack Dohany</publisher>
@ -793,7 +793,7 @@ license:CC0
</software>
<software name="mscript">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Mscript</description>
<year>1983</year>
<publisher>21st Century Electronics</publisher>
@ -805,7 +805,7 @@ license:CC0
</software>
<software name="mscriptr" cloneof="mscript">
<!-- Bad dump -->
<!-- Bad dump -->
<description>Mscript (rerelease)</description>
<year>1983</year>
<publisher>Zebra Systems Inc</publisher>
@ -872,7 +872,7 @@ license:CC0
</software>
<software name="perigosns">
<!-- Portuguese adaptation of Jungle Trouble -->
<!-- Portuguese adaptation of Jungle Trouble -->
<description>Perigos Na Selva</description>
<year>1983</year>
<publisher>TMX Portugal Ltda</publisher>
@ -895,7 +895,7 @@ license:CC0
</software>
<software name="perspoma">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Personal Portfolio Manager</description>
<year>1983</year>
<publisher>Timex Computer Corporation</publisher>
@ -907,7 +907,7 @@ license:CC0
</software>
<software name="propinba">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Pro Pinball</description>
<year>1983</year>
<publisher>Timex Computer Corporation</publisher>
@ -919,7 +919,7 @@ license:CC0
</software>
<software name="prof2068">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Pro-File 2068</description>
<year>19??</year>
<publisher>P.O. Box 64</publisher>
@ -982,7 +982,7 @@ license:CC0
</software>
<software name="smarttr1">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Smart Terminal 1</description>
<year>1983</year>
<publisher>Timex Computer Corporation</publisher>
@ -1067,7 +1067,7 @@ license:CC0
</software>
<software name="suprhzd251">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Super Hot Z Disassembler v2.51</description>
<year>19??</year>
<publisher>Ray Kingsley</publisher>
@ -1079,7 +1079,7 @@ license:CC0
</software>
<software name="tapecorr">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Tape Corrector</description>
<year>1988</year>
<publisher>Byte Power</publisher>
@ -1091,7 +1091,7 @@ license:CC0
</software>
<software name="tasword2">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Tasword Two</description>
<year>1983</year>
<publisher>Tasman Software</publisher>
@ -1154,7 +1154,7 @@ license:CC0
</software>
<software name="theworx">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>The Worx</description>
<year>1986</year>
<publisher>NovelSoft</publisher>
@ -1166,7 +1166,7 @@ license:CC0
</software>
<software name="timachin">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Timachine</description>
<year>1986</year>
<publisher>NovelSoft</publisher>
@ -1218,7 +1218,7 @@ license:CC0
</software>
<software name="toolkit">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Toolkit</description>
<year>1986</year>
<publisher>TMX Portugal Ltda</publisher>
@ -1252,7 +1252,7 @@ license:CC0
</software>
<software name="upload2k">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Upload-2000</description>
<year>1983</year>
<publisher>EZ-Key</publisher>
@ -1264,7 +1264,7 @@ license:CC0
</software>
<software name="vu3d">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>VU-3D</description>
<year>1983</year>
<publisher>Timex Computer Corporation</publisher>
@ -1276,7 +1276,7 @@ license:CC0
</software>
<software name="vucalc">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>VU-Calc</description>
<year>1983</year>
<publisher>Timex Computer Corporation</publisher>
@ -1288,7 +1288,7 @@ license:CC0
</software>
<software name="vufile">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>VU-File</description>
<year>1983</year>
<publisher>Timex Computer Corporation</publisher>
@ -1311,7 +1311,7 @@ license:CC0
</software>
<software name="windowp32">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Window Print 32</description>
<year>1987</year>
<publisher>John M. Bell</publisher>
@ -1323,7 +1323,7 @@ license:CC0
</software>
<software name="windowp64">
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<!-- Needs a proper dump. Current TZX is a direct copy of this TAP, missing the original pauses between blocks. -->
<description>Window Print 64</description>
<year>1987</year>
<publisher>John M. Bell</publisher>

View File

@ -311759,8 +311759,8 @@ license:CC0
</software>
<!-- Project 2612 VGM Archives located at http://project2612.org/list.php
Update April 7, 2020 - 13 new entries -->
@ -312893,7 +312893,7 @@ license:CC0
</part>
</software>
<!-- SMS Power! VGM Archives located at http://www.smspower.org/Music/VGMs
Later installments of vgmplay.xml may include other non-game OST content -->

View File

@ -249,9 +249,9 @@ if #disasm_files > 0 then
}
end
if (MACHINES["NETLIST"]~=null) then
links {
"netlist",
}
links {
"netlist",
}
end
links {
"utils",

View File

@ -235,5 +235,5 @@ project "netlist"
MAME_DIR .. "src/lib/netlist/macro/nlm_other.cpp",
MAME_DIR .. "src/lib/netlist/macro/nlm_other.h",
MAME_DIR .. "src/lib/netlist/generated/static_solvers.cpp",
MAME_DIR .. "src/lib/netlist/generated/static_solvers.cpp",
}

View File

@ -39,61 +39,61 @@ Notes:
/*
TODO
TODO
- command execution gets stuck in message in phase
- command execution gets stuck in message in phase
08A88 move.l D7,D0 D0=00000025
08A8A lsl.l #5, D0 D0=000004A0
08A8C ori.l #$7e000, D0 D0=0007E4A0
08A92 movea.l D0, A0 A0=0007E4A0
08A94 move.b ($2,A0), D0 D0=0007E4AF
08A98 btst #$2, D0
08A9C beq $8aa4
08AA0 bra $8a88
08A88 move.l D7,D0 D0=00000025
08A8A lsl.l #5, D0 D0=000004A0
08A8C ori.l #$7e000, D0 D0=0007E4A0
08A92 movea.l D0, A0 A0=0007E4A0
08A94 move.b ($2,A0), D0 D0=0007E4AF
08A98 btst #$2, D0
08A9C beq $8aa4
08AA0 bra $8a88
[:bus2:4105:sasi:0:s1410] state=3.1 change
[:bus2:4105:sasi:0:s1410] state=3.0 change
[:bus2:4105:sasi] ctrl .....B.CI stat 0005
[:bus2:4105:sasi] 0=ICB
[:bus2:4105:sasi] ctrl .....B.CI stat 0005
[:bus2:4105:sasi] 0=ICB
[:bus2:4105:sasi] ctrl .....B.CI stat 0000
[:bus2:4105:sasi] 0=ICB
[:bus2:4105:sasi] ctrl ...Q.B.CI stat 0000
[:bus2:4105:sasi] 0=QICB
[:bus2:4105:sasi] ctrl ...Q.B.CI stat 0000
[:bus2:4105:sasi] 0=QICB
[:bus2:4105:sasi:0:s1410] state=3.4 change
[:bus2:4105:sasi] ctrl ...Q.B.CI stat 0000
[:bus2:4105:sasi] 0=QICB
[:] ':3f' (089A8) STAT 25: 45
[:bus2:4105:sasi] ctrl ..KQ.B.CI stat 0000
[:bus2:4105:sasi] 0=QICB
[:bus2:4105:sasi] 1=K
[:bus2:4105:sasi:0:s1410] state=3.4 change
[:bus2:4105:sasi] ctrl ..K..B.CI stat 0000
[:bus2:4105:sasi] 0=ICB
[:bus2:4105:sasi] 1=K
[:bus2:4105:sasi] ctrl .....B.CI stat 0000
[:bus2:4105:sasi] 0=ICB
[:bus2:4105:sasi:0:s1410] state=3.3 change
[:bus2:4105:sasi:0:s1410] state=3.0 change
[:bus2:4105:sasi] ctrl .....BMCI min 0000
[:bus2:4105:sasi] 0=MICB
[:bus2:4105:sasi] ctrl .....BMCI min 0000
[:bus2:4105:sasi] 0=MICB
[:bus2:4105:sasi] ctrl .....BMCI min 0000
[:bus2:4105:sasi] 0=MICB
[:bus2:4105:sasi] ctrl ...Q.BMCI min 0000
[:bus2:4105:sasi] 0=QMICB
[:bus2:4105:sasi] ctrl ...Q.BMCI min 0000
[:bus2:4105:sasi] 0=QMICB
[:bus2:4105:sasi:0:s1410] state=3.4 change
[:bus2:4105:sasi] ctrl ...Q.BMCI min 0000
[:bus2:4105:sasi] 0=QMICB
[:] ':3f' (089D4) INP 25: 00
[:] ':3f' (089E8) STAT 25: 05
[:bus2:4105:sasi:0:s1410] state=3.1 change
[:bus2:4105:sasi:0:s1410] state=3.0 change
[:bus2:4105:sasi] ctrl .....B.CI stat 0005
[:bus2:4105:sasi] 0=ICB
[:bus2:4105:sasi] ctrl .....B.CI stat 0005
[:bus2:4105:sasi] 0=ICB
[:bus2:4105:sasi] ctrl .....B.CI stat 0000
[:bus2:4105:sasi] 0=ICB
[:bus2:4105:sasi] ctrl ...Q.B.CI stat 0000
[:bus2:4105:sasi] 0=QICB
[:bus2:4105:sasi] ctrl ...Q.B.CI stat 0000
[:bus2:4105:sasi] 0=QICB
[:bus2:4105:sasi:0:s1410] state=3.4 change
[:bus2:4105:sasi] ctrl ...Q.B.CI stat 0000
[:bus2:4105:sasi] 0=QICB
[:] ':3f' (089A8) STAT 25: 45
[:bus2:4105:sasi] ctrl ..KQ.B.CI stat 0000
[:bus2:4105:sasi] 0=QICB
[:bus2:4105:sasi] 1=K
[:bus2:4105:sasi:0:s1410] state=3.4 change
[:bus2:4105:sasi] ctrl ..K..B.CI stat 0000
[:bus2:4105:sasi] 0=ICB
[:bus2:4105:sasi] 1=K
[:bus2:4105:sasi] ctrl .....B.CI stat 0000
[:bus2:4105:sasi] 0=ICB
[:bus2:4105:sasi:0:s1410] state=3.3 change
[:bus2:4105:sasi:0:s1410] state=3.0 change
[:bus2:4105:sasi] ctrl .....BMCI min 0000
[:bus2:4105:sasi] 0=MICB
[:bus2:4105:sasi] ctrl .....BMCI min 0000
[:bus2:4105:sasi] 0=MICB
[:bus2:4105:sasi] ctrl .....BMCI min 0000
[:bus2:4105:sasi] 0=MICB
[:bus2:4105:sasi] ctrl ...Q.BMCI min 0000
[:bus2:4105:sasi] 0=QMICB
[:bus2:4105:sasi] ctrl ...Q.BMCI min 0000
[:bus2:4105:sasi] 0=QMICB
[:bus2:4105:sasi:0:s1410] state=3.4 change
[:bus2:4105:sasi] ctrl ...Q.BMCI min 0000
[:bus2:4105:sasi] 0=QMICB
[:] ':3f' (089D4) INP 25: 00
[:] ':3f' (089E8) STAT 25: 05
*/

View File

@ -37,7 +37,7 @@ public:
DECLARE_READ16_MEMBER(mslug5p_prot_r);
//DECLARE_WRITE16_MEMBER(ms5plus_bankswitch_w);
uint32_t mslug5p_bank_base(uint16_t sel);
void mslug5b_vx_decrypt(uint8_t* ymsndrom, uint32_t ymsndrom_size);
void mslug5b_cx_decrypt(uint8_t* sprrom, uint32_t sprrom_size);

View File

@ -25,7 +25,7 @@
TODO:
- finish off code cleanups (repetition etc.);
- improve debugging;
- fix DRQ behaviour, several softwares gets to the point of filling
- fix DRQ behaviour, several softwares gets to the point of filling
the buffer (and probably don't know what to do);
- fix startup, cfr. cdblock branch;
- merge common components with lle version via superclass (i.e. comms);
@ -35,7 +35,7 @@ DASM notes:
* whizzj:
- wpset 0x605e4b8,4,w,wpdata==0x4e
(second trigger)
- write to 0x605e498 -> 1
- write to 0x605e498 -> 1
(PUBLISH.CPK tries to playback a few frames then keeps looping)
***************************************************************************/
@ -231,7 +231,7 @@ inline u32 stvcd_device::dataxfer_long_r()
osd_printf_error("CD: unhandled 32-bit transfer type\n");
break;
}
return rv;
}
@ -375,7 +375,7 @@ inline u16 stvcd_device::dataxfer_word_r()
return rv;
}
READ16_MEMBER( stvcd_device::hirq_r )
READ16_MEMBER( stvcd_device::hirq_r )
{
// TODO: this member must return the register only
u16 rv;
@ -397,26 +397,26 @@ READ16_MEMBER( stvcd_device::hirq_r )
WRITE16_MEMBER( stvcd_device::hirq_w ) { hirqreg &= data; }
// TODO: these two are actually never read or written to by host?
READ16_MEMBER( stvcd_device::hirqmask_r )
{
READ16_MEMBER( stvcd_device::hirqmask_r )
{
printf("RW HIRM: %04x\n", hirqmask);
return hirqmask;
return hirqmask;
}
WRITE16_MEMBER( stvcd_device::hirqmask_w )
{
WRITE16_MEMBER( stvcd_device::hirqmask_w )
{
printf("WW HIRM: %04x => %04x\n", hirqmask, data);
COMBINE_DATA(&hirqmask);
COMBINE_DATA(&hirqmask);
}
READ16_MEMBER( stvcd_device::cr1_r ) { return cr1; }
READ16_MEMBER( stvcd_device::cr2_r ) { return cr2; }
READ16_MEMBER( stvcd_device::cr3_r ) { return cr3; }
READ16_MEMBER( stvcd_device::cr4_r )
{
READ16_MEMBER( stvcd_device::cr4_r )
{
cmd_pending = 0;
cd_stat |= CD_STAT_PERI;
return cr4;
return cr4;
}
// TODO: understand how dual-port interface really works out
@ -431,7 +431,7 @@ WRITE16_MEMBER( stvcd_device::cr1_w )
WRITE16_MEMBER( stvcd_device::cr2_w )
{
cr2 = data;
cmd_pending |= 2;
cmd_pending |= 2;
}
WRITE16_MEMBER( stvcd_device::cr3_w )
@ -444,7 +444,7 @@ WRITE16_MEMBER( stvcd_device::cr4_w )
{
cr4 = data;
cmd_pending |= 8;
m_sh1_timer->adjust(attotime::from_hz(get_timing_command()));
m_sh1_timer->adjust(attotime::from_hz(get_timing_command()));
}
READ32_MEMBER( stvcd_device::stvcd_r )
@ -601,7 +601,7 @@ void stvcd_device::cmd_get_session_info()
}
hirqreg |= (CMOK);
status_type = 0;
status_type = 0;
}
void stvcd_device::cmd_init_cdsystem()
@ -1057,7 +1057,7 @@ void stvcd_device::cmd_get_filter_range()
void stvcd_device::cmd_set_filter_subheader_conditions()
{
// Set Filter Subheader conditions
// Set Filter Subheader conditions
uint8_t fnum = (cr3>>8)&0xff;
LOG("%s: Set Filter Subheader conditions %x => chan %x masks %x fid %x vals %x\n", machine().describe_context(), fnum, cr1&0xff, cr2, cr3&0xff, cr4);
@ -1237,7 +1237,7 @@ void stvcd_device::cmd_reset_selector()
}
void stvcd_device::cmd_get_buffer_size()
{
{
// get Buffer Size
cr1 = cd_stat;
cr2 = (freeblocks > 200) ? 200 : freeblocks;
@ -1656,7 +1656,7 @@ void stvcd_device::cmd_read_directory()
}
void stvcd_device::cmd_get_file_scope()
{
{
// Get file system scope
LOG("%s: Get file system scope\n", machine().describe_context());
hirqreg |= (CMOK|EFLS);
@ -1814,7 +1814,7 @@ void stvcd_device::cmd_get_disc_region()
cr3 = 0;
cr4 = 0;
hirqreg |= (CMOK);
// cr_standard_return(cd_stat);
// cr_standard_return(cd_stat);
status_type = 0;
}
@ -1853,7 +1853,7 @@ void stvcd_device::cmd_mpeg_set_irq_mask()
// MPEG Set IRQ Mask
// ...
mpeg_standard_return(cd_stat);
hirqreg |= (CMOK);
hirqreg |= (CMOK);
}
void stvcd_device::cmd_mpeg_set_mode()
@ -1922,10 +1922,10 @@ void stvcd_device::cd_exec_command()
case 0x52: cmd_calculate_actual_data_size(); break;
case 0x53: cmd_get_actual_data_size(); break;
case 0x54: cmd_get_sector_information(); break;
// case 0x55: cmd_execute_frame_address_search()
// case 0x56: cmd_get_frame_address_search_results()
// case 0x55: cmd_execute_frame_address_search()
// case 0x56: cmd_get_frame_address_search_results()
case 0x60: cmd_set_sector_length(); break;
case 0x60: cmd_set_sector_length(); break;
case 0x61: cmd_get_sector_data(); break;
case 0x62: cmd_delete_sector_data(); break;
case 0x63: cmd_get_and_delete_sector_data(); break;
@ -1934,7 +1934,7 @@ void stvcd_device::cd_exec_command()
case 0x66: cmd_copy_sector_data(); break;
case 0x67: cmd_get_sector_data_copy_or_move_error(); break;
case 0x70: cmd_change_directory(); break;
case 0x70: cmd_change_directory(); break;
case 0x71: cmd_read_directory(); break;
case 0x72: cmd_get_file_scope(); break;
case 0x73: cmd_get_target_file_info(); break;

View File

@ -11,7 +11,7 @@
#include "machine/timer.h"
#include "sound/cdda.h"
class stvcd_device : public device_t,
class stvcd_device : public device_t,
public device_mixer_interface,
public device_memory_interface
{
@ -194,7 +194,7 @@ private:
required_device<timer_device> m_sector_timer;
required_device<timer_device> m_sh1_timer;
required_device<cdda_device> m_cdda;
// CDC commands
// 0x00
void cmd_get_status();
@ -254,7 +254,7 @@ private:
void cmd_check_copy_protection();
void cmd_get_disc_region();
void cmd_get_mpeg_card_boot_rom();
// comms
DECLARE_READ32_MEMBER(datatrns_r);
DECLARE_WRITE32_MEMBER(datatrns_w);
@ -269,7 +269,7 @@ private:
DECLARE_WRITE16_MEMBER(cr2_w);
DECLARE_WRITE16_MEMBER(cr3_w);
DECLARE_WRITE16_MEMBER(cr4_w);
DECLARE_READ16_MEMBER(hirq_r);
DECLARE_WRITE16_MEMBER(hirq_w);
DECLARE_READ16_MEMBER(hirqmask_r);

View File

@ -12,7 +12,7 @@
the analysis below is for wrlshunt, although gormiti could prove to be an easier case to look at
while jak_ths and jak_swc might be more difficult (the latter uses line/bitmap mode, but still
fails to copy the line data)
--
@ -24,7 +24,7 @@
(287b-287c) = 30 5e 12 00 (00125e30) (address for other layer tilemap) (or 'end' of above)
where do we get these copied to registers or used as a source to copy from?
-- callled from here
058F79: call 054e56 (with values above, for tilemap 0)
and
@ -34,61 +34,61 @@
there are other calls in the code, but those are the ones before sprites are uploaded for the menu
--
054E91: r4 = [bp+27] (contains lower part of address)
054E92: ds:[r1++] = r4 -- write 5698 to 2879
054E93: r4 = [bp+28] (contains upper part of address)
054E94: ds:[r1] = r4 -- write 0012 to 287a
054E91: r4 = [bp+27] (contains lower part of address)
054E92: ds:[r1++] = r4 -- write 5698 to 2879
054E93: r4 = [bp+28] (contains upper part of address)
054E94: ds:[r1] = r4 -- write 0012 to 287a
(this is a huge function that ends at 55968, also has lots of calls in it)
(this is a huge function that ends at 55968, also has lots of calls in it)
---
---
the base for tilemap params being written to RAM is 2879 + 0xe * tilmap number (0,1,2,3)
the code to calculate this offset from base uses 32-bit multiplication and even sign extends the tilemap number before using it, making it
look more complex than it really is!
the base for tilemap params being written to RAM is 2879 + 0xe * tilmap number (0,1,2,3)
the code to calculate this offset from base uses 32-bit multiplication and even sign extends the tilemap number before using it, making it
look more complex than it really is!
054E7B: 0B0D 0088 bp = bp + 0088
054E7D: 9800 r4 = [bp+00] -- which tilemap? (0,1,2,3)
054E7E: 2B0D 0088 bp = bp - 0088
054E7B: 0B0D 0088 bp = bp + 0088
054E7D: 9800 r4 = [bp+00] -- which tilemap? (0,1,2,3)
054E7E: 2B0D 0088 bp = bp - 0088
054E80: 973C r3 = r4 asr 4 -- sign extend tilemap 16-bit register r4 with r3 forming the upper word (always 0)
054E81: 973B r3 = r3 asr 4
054E82: 973B r3 = r3 asr 4
054E83: 973B r3 = r3 asr 4
054E80: 973C r3 = r4 asr 4 -- sign extend tilemap 16-bit register r4 with r3 forming the upper word (always 0)
054E81: 973B r3 = r3 asr 4
054E82: 973B r3 = r3 asr 4
054E83: 973B r3 = r3 asr 4
054E84: D688 push r3, r3 to [sp] -- push onto stack for use in call below
054E85: D888 push r4, r4 to [sp]
054E84: D688 push r3, r3 to [sp] -- push onto stack for use in call below
054E85: D888 push r4, r4 to [sp]
054E86: 964E r3 = 0e -- store 0000 000e as the 32-bit value to multply with
054E87: 9840 r4 = 00
054E88: D890 push r3, r4 to [sp] -- push that onto stack for function call below
054E86: 964E r3 = 0e -- store 0000 000e as the 32-bit value to multply with
054E87: 9840 r4 = 00
054E88: D890 push r3, r4 to [sp] -- push that onto stack for function call below
054E89: F045 D706 call 05d706 -- returns result in r1,r2
054E89: F045 D706 call 05d706 -- returns result in r1,r2
the result of this is then added to the base value of 2879 (which was stored earlier)
an additional offset is then added for each parameter.
the result of this is then added to the base value of 2879 (which was stored earlier)
an additional offset is then added for each parameter.
this code is repeated multiple times, with slight changes
this code is repeated multiple times, with slight changes
---
---
by the time you hit 055098 (which is a switch on tilemap type to disable a tilemap) the following params have been put at
2879 ( tilemap 0 call )
2879 + 0x0e (tilemap 1 call )
by the time you hit 055098 (which is a switch on tilemap type to disable a tilemap) the following params have been put at
2879 ( tilemap 0 call )
2879 + 0x0e (tilemap 1 call )
tmap0 params
5698 0012 | 5E30 0012 | 0280 01E0 | 0002 0020 0020 0000 0000 0100 0000 0000
125698 | 125e30 | = 640 = 480
tmap0 params
5698 0012 | 5E30 0012 | 0280 01E0 | 0002 0020 0020 0000 0000 0100 0000 0000
125698 | 125e30 | = 640 = 480
tmap1 params
7280 000D | 89F0 000D | 0280 01E0 | 0002 0020 0020 0002 0000 0040 0000 0000
0d7280 | 0d89f0 | = 640 = 480 |
tmap1 params
7280 000D | 89F0 000D | 0280 01E0 | 0002 0020 0020 0002 0000 0040 0000 0000
0d7280 | 0d89f0 | = 640 = 480 |
these parameter lists are not read after this? is there some kind of indirect dma mode, or is code not being called that should use them.
plenty more code is called, including more that looks a lot like the above, some use of 707f and at the end of the funciton, code to
write various tilemap registers, including reenabling the tilemap that was disabled around 055098.
these parameter lists are not read after this? is there some kind of indirect dma mode, or is code not being called that should use them.
plenty more code is called, including more that looks a lot like the above, some use of 707f and at the end of the funciton, code to
write various tilemap registers, including reenabling the tilemap that was disabled around 055098.
--
--
if you return rand() on 707f reads sometimes you see

View File

@ -8,7 +8,7 @@
TODO:
- non-video stuff needs to be ported there as well
- Verify difference between TC0090LVC and TC0091LVC
- Verify difference between TC0090LVC and TC0091LVC
***************************************************************************/
@ -145,14 +145,14 @@ tc0091lvc_device::tc0091lvc_device(const machine_config &mconfig, const char *ta
}
/*
Scroll Tilemap format (2 bytes per tiles, 64x32 tilemap)
Scroll Tilemap format (2 bytes per tiles, 64x32 tilemap)
Offset Bits Description
76543210
00 xxxxxxxx Code (bit 0-7)
01 ------xx Code (bit 8-9)
----xx-- Bank select (0x400 code boundary)
xxxx---- Palette select (16 color boundary)
Offset Bits Description
76543210
00 xxxxxxxx Code (bit 0-7)
01 ------xx Code (bit 8-9)
----xx-- Bank select (0x400 code boundary)
xxxx---- Palette select (16 color boundary)
*/
template<unsigned Offset>
@ -173,13 +173,13 @@ TILE_GET_INFO_MEMBER(tc0090lvc_device::get_tile_info)
}
/*
Fixed Tilemap format (2 bytes per tiles, 64x32 tilemap)
Fixed Tilemap format (2 bytes per tiles, 64x32 tilemap)
Offset Bits Description
76543210
00 xxxxxxxx Code (bit 0-7)
01 -----xxx Code (bit 8-10)
xxxx---- Palette select (16 color boundary)
Offset Bits Description
76543210
00 xxxxxxxx Code (bit 0-7)
01 -----xxx Code (bit 8-10)
xxxx---- Palette select (16 color boundary)
*/
TILE_GET_INFO_MEMBER(tc0090lvc_device::get_tx_tile_info)
@ -277,20 +277,20 @@ void tc0090lvc_device::mark_all_layer_dirty()
}
/*
Sprite format (8 bytes per sprites, max 125 entries (0x3e8 bytes))
Sprite format (8 bytes per sprites, max 125 entries (0x3e8 bytes))
Offset Bits Description
76543210
00 xxxxxxxx Code (bit 0-7)
01 xxxxxxxx Code (bit 8-15)
02 ----xxxx Palette select (16 color boundary)
03 ------x- Flip Y
-------x Flip X
04 xxxxxxxx X position (bit 0-7)
05 -------x X position (bit 8, unsigned)
06 xxxxxxxx Y position (unsigned)
07 xxxxxxxx unknown / ignored? Seems just garbage in many cases, e.g
plgirs2 bullets and raimais big bosses.
Offset Bits Description
76543210
00 xxxxxxxx Code (bit 0-7)
01 xxxxxxxx Code (bit 8-15)
02 ----xxxx Palette select (16 color boundary)
03 ------x- Flip Y
-------x Flip X
04 xxxxxxxx X position (bit 0-7)
05 -------x X position (bit 8, unsigned)
06 xxxxxxxx Y position (unsigned)
07 xxxxxxxx unknown / ignored? Seems just garbage in many cases, e.g
plgirs2 bullets and raimais big bosses.
*/
void tc0090lvc_device::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
@ -335,7 +335,7 @@ u32 tc0090lvc_device::screen_update(screen_device &screen, bitmap_ind16 &bitmap,
bitmap.fill(palette().black_pen(), cliprect);
return 0;
}
if (bitmap_mode()) // 8bpp bitmap enabled
{
for (int y = cliprect.min_y; y <= cliprect.max_y; y++)
@ -449,4 +449,4 @@ void tc0090lvc_device::update_scroll(u8 *ram)
m_bg_scroll[1][0] = ram[0x3fc];
m_bg_scroll[1][1] = ram[0x3fd];
m_bg_scroll[1][2] = ram[0x3fe];
}
}

View File

@ -90,7 +90,7 @@ DISCRETE_RESET(dst_crfilter)
* Prototype filters come from "Active-Filter Cookbook" by Don Lancaster, Ch. 3
*
* Low Pass: High Pass:
*
*
* K*wc K*s
* H(s) = ------ H(s) = ------
* s + wc s + wc
@ -183,20 +183,20 @@ DISCRETE_RESET(dst_filter1)
* (d is the Damping Factor, which is also 1/Q)
*
* Low Pass:
*
*
* K*wc^2
* H(s) = -------------------
* s^2 + d*wc*s + wc^2
*
* Band Pass:
*
*
* K*wc*s
* H(s) = -------------------
* s^2 + d*wc*s + wc^2
*
*
* High Pass:
*
*
* K*s^2
* H(s) = -------------------
* s^2 + d*wc*s + wc^2

View File

@ -369,11 +369,11 @@ void ks0164_device::cpu_map(address_map &map)
u16 ks0164_device::uncomp_8_16(u8 value)
{
int xp = value >> 5;
s16 o = (0x10 | (value & 0xf)) << 10;
o = o >> xp;
if(value & 0x10)
o = -o;
int xp = value >> 5;
s16 o = (0x10 | (value & 0xf)) << 10;
o = o >> xp;
if(value & 0x10)
o = -o;
return o;
}

View File

@ -36,12 +36,12 @@ DEFINE_DEVICE_TYPE(VGMVIZ, vgmviz_device, "vgmviz", "VGM Visualizer")
/*static*/ const bool vgmviz_device::NEEDS_FFT[VIZ_COUNT] =
{
false, // VIZ_WAVEFORM
true, // VIZ_WATERFALL
true, // VIZ_RAWSPEC
true, // VIZ_BARSPEC4
true, // VIZ_BARSPEC8
true // VIZ_BARSPEC16
false, // VIZ_WAVEFORM
true, // VIZ_WATERFALL
true, // VIZ_RAWSPEC
true, // VIZ_BARSPEC4
true, // VIZ_BARSPEC8
true // VIZ_BARSPEC16
};
//**************************************************************************

View File

@ -48,8 +48,8 @@ namespace
virtual bool append_single_video_frame(bitmap_rgb32 &bitmap, const rgb_t *palette, int palette_entries) override;
private:
std::unique_ptr<emu_file> m_mng_file; // handle to the open movie file
std::map<std::string, std::string> m_info_fields;
std::unique_ptr<emu_file> m_mng_file; // handle to the open movie file
std::map<std::string, std::string> m_info_fields;
};
};
@ -63,10 +63,10 @@ namespace
//-------------------------------------------------
movie_recording::movie_recording(screen_device *screen)
: m_screen(screen)
: m_screen(screen)
, m_frame(0)
{
m_frame_period = m_screen ? m_screen->frame_period() : attotime::from_hz(screen_device::DEFAULT_FRAME_RATE);
m_frame_period = m_screen ? m_screen->frame_period() : attotime::from_hz(screen_device::DEFAULT_FRAME_RATE);
}
@ -107,7 +107,7 @@ bool movie_recording::append_video_frame(bitmap_rgb32 &bitmap, attotime curtime)
//-------------------------------------------------
// movie_recording::create - creates a new recording
// for the specified format
// for the specified format
//-------------------------------------------------
movie_recording::ptr movie_recording::create(running_machine &machine, screen_device *screen, format fmt, std::unique_ptr<emu_file> &&file, bitmap_rgb32 &snap_bitmap)
@ -154,9 +154,9 @@ const char *movie_recording::format_file_extension(movie_recording::format fmt)
{
switch (fmt)
{
case format::AVI: return "avi";
case format::MNG: return "mng";
default: throw false;
case format::AVI: return "avi";
case format::MNG: return "mng";
default: throw false;
}
}

View File

@ -47,10 +47,10 @@ public:
virtual ~movie_recording();
// accessors
screen_device *screen() { return m_screen; }
attotime frame_period() { return m_frame_period; }
void set_next_frame_time(attotime time) { m_next_frame_time = time; }
attotime next_frame_time() const { return m_next_frame_time; }
screen_device *screen() { return m_screen; }
attotime frame_period() { return m_frame_period; }
void set_next_frame_time(attotime time) { m_next_frame_time = time; }
attotime next_frame_time() const { return m_next_frame_time; }
// methods
bool append_video_frame(bitmap_rgb32 &bitmap, attotime curtime);
@ -75,10 +75,10 @@ protected:
int current_frame() const { return m_frame; }
private:
screen_device * m_screen; // screen associated with this movie (can be nullptr)
attotime m_frame_period; // time of frame period
attotime m_next_frame_time; // time of next frame
int m_frame; // current movie frame number
screen_device * m_screen; // screen associated with this movie (can be nullptr)
attotime m_frame_period; // time of frame period
attotime m_next_frame_time; // time of next frame
int m_frame; // current movie frame number
};

View File

@ -414,7 +414,7 @@ std::string &video_manager::timecode_total_text(std::string &str)
//-------------------------------------------------
// begin_recording_screen - begin recording a
// movie for a specific screen
// movie for a specific screen
//-------------------------------------------------
void video_manager::begin_recording_screen(const std::string &filename, uint32_t index, screen_device *screen, movie_recording::format format)

View File

@ -223,8 +223,8 @@ static input_seq_type parse_seq_type(const std::string &s)
//-------------------------------------------------
// parse_movie_format - processes a movie format
// string
// parse_movie_format - processes a movie format
// string
//-------------------------------------------------
static movie_recording::format parse_movie_format(const std::string &s)
@ -239,8 +239,8 @@ static movie_recording::format parse_movie_format(const std::string &s)
//-------------------------------------------------
// process_snapshot_filename - processes a snapshot
// filename
// process_snapshot_filename - processes a snapshot
// filename
//-------------------------------------------------
static std::string process_snapshot_filename(running_machine &machine, const char *s)

View File

@ -11,8 +11,8 @@
#endif
#define USE_FRONTIERS 1
#define FAST_SWITCHES 1
#define USE_FRONTIERS 1
#define FAST_SWITCHES 1
// I got this circuit's layout from Midway's schematic, "Gun Fight Sound
// Generator Detail P.C. 597-907E".

View File

@ -69,8 +69,8 @@
- hard disk
- 4105 SASI interface card
- connect RS-232 printer port
- Z80 SCC/DART interrupt chain
- Z80 SCC DMA request
- Z80 SCC/DART interrupt chain
- Z80 SCC DMA request
*/

View File

@ -143,7 +143,7 @@ Notes:
- abc806 30K banking
- cassette
- abc800 video card bus
- abc800 video card bus
*/
@ -191,7 +191,7 @@ READ8_MEMBER( abc800_state::pling_r )
READ8_MEMBER( abc800_state::read )
{
uint8_t data = 0xff;
if (offset < 0x4000 && (!m_keydtr || m_fetch_charram))
{
data = m_video_ram[offset];
@ -212,7 +212,7 @@ READ8_MEMBER( abc800_state::read )
{
data = m_ram->pointer()[offset & m_ram->mask()];
}
return data;
}
@ -224,7 +224,7 @@ WRITE8_MEMBER( abc800_state::write )
}
else if (offset >= 0x7800 && offset < 0x8000)
{
m_char_ram[offset & (m_char_ram_size - 1)] = data;
m_char_ram[offset & (m_char_ram_size - 1)] = data;
}
else if (offset >= 0x8000)
{
@ -248,9 +248,9 @@ READ8_MEMBER( abc802_state::read )
{
data = m_rom->base()[offset];
}
else
else
{
if (m_fetch_charram)
if (m_fetch_charram)
{
data = m_rom->base()[offset];
}

View File

@ -963,11 +963,11 @@ void at_state::pg750(machine_config &config)
config.set_maximum_quantum(attotime::from_hz(60));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
ds12885_device &rtc(DS12885(config.replace(), "mb:rtc")); // TODO: move this into the cs8221
rtc.irq().set("mb:pic8259_slave", FUNC(pic8259_device::ir0_w)); // this is in :mb
rtc.set_century_index(0x32);
// on-board devices
ISA16_SLOT(config, "board1", 0, "mb:isabus", pc_isa16_cards, "fdc", true).set_option_machine_config("fdc", cfg_dual_1440K); // FIXME: deteremine ISA bus clock
ISA16_SLOT(config, "board2", 0, "mb:isabus", pc_isa16_cards, "comat", true);
@ -979,7 +979,7 @@ void at_state::pg750(machine_config &config)
ISA16_SLOT(config, "isa4", 0, "mb:isabus", pc_isa16_cards, nullptr, false);
ISA16_SLOT(config, "isa5", 0, "mb:isabus", pc_isa16_cards, nullptr, false);
PC_KBDC_SLOT(config, "kbd", pc_at_keyboards, STR_KBD_MICROSOFT_NATURAL).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
/* internal ram */
RAM(config, m_ram).set_default_size("3712K");
}
@ -2154,7 +2154,7 @@ ROM_END
// Mainboard: Baugr.Nr. 51513 with internal EGA, 52591 EGA components omitted (see: EURO VGA)
// Chipset: 2xHeadland GC102-PC, HT101A/B1A4924, Schneider BIGJIM 30773, WD37C65BJM, Siemens SAB 16C450-N
// EGA chipset (mainboard 51513): G2 GC201-PC, 64K RAM - Main RAM: 1MB
// CPU: Siemens SAB 80286-12, Keyboard-BIOS: Schneider ROM BIOS 1985, 1989 Phoenix
// CPU: Siemens SAB 80286-12, Keyboard-BIOS: Schneider ROM BIOS 1985, 1989 Phoenix
// Connectors: Keyboard, Printer, Serial, Floppy (can use the same external floppy disk drives as the EuroXT), EGA monitor
// OSC: 34.0000, 19.2000MHz, 24.0000, 16.000MHz
// BUS: proprietary connectors, ISA riser (ISA8x1, ISA16x1), BIOS can set CPU and BUS speed up to 12MHz
@ -2166,11 +2166,11 @@ ROM_START( euroat )
ROMX_LOAD( "euro_at_v201a_l.bin", 0x10000, 0x8000, CRC(0f8a2688) SHA1(95db9010b1c0465f878e5036bcf242ddf0a3be6a), ROM_SKIP(1) | ROM_BIOS(0) )
ROMX_LOAD( "euro_at_v201a_h.bin", 0x10001, 0x8000, CRC(75b6771b) SHA1(3aa0921914ea6e24249ce3f995fdcb341124d7e9), ROM_SKIP(1) | ROM_BIOS(0) )
// EGA ROM dump missing
ROM_SYSTEM_BIOS( 1, "v203", "V2.03" )
ROMX_LOAD( "80286at_bioslow_schneider_ag_id50444_v2.03.bin", 0x10000, 0x8000, CRC(de356110) SHA1(6bed59a756afa0b6181187d202b325e35afadd55), ROM_SKIP(1) | ROM_BIOS(1) )
ROMX_LOAD( "80286at_bioshigh_schneider_ag_id50445_v2.03.bin", 0x10001, 0x8000, CRC(c4c9c840) SHA1(09deaa659191075b6ccc58403979d61bdf990dcd), ROM_SKIP(1) | ROM_BIOS(1) )
ROM_REGION( 0x10000, "vga", 0 )
ROM_LOAD( "euro-vga_52255_bios_v1.02_row.bin", 0x00000, 0x10000, CRC(71d42e58) SHA1(be64990325f52128e102dfc3ed87d2d831183ddc))
ROM_END
@ -3586,7 +3586,7 @@ ROM_END
// ISA16: 7
// on board: V24/Mouse, V24/Modem, Printer
ROM_START( pg750 )
ROM_REGION32_LE( 0x20000, "bios", 0 )
ROM_REGION32_LE( 0x20000, "bios", 0 )
// 0: Phoenix 80386 ROM BIOS PLUS Version 1.10 14 / SIEMENS PG-750
// Time-of-day clock stopped
// EGA/TIGA Graphics System "Highgraph II"
@ -4987,21 +4987,21 @@ ROM_END
//**************************************************************************
// NCR Class 3433 - CPU: 486SX/DX 25/33, coprocessor socket provided - Chipset: NCR WPD CLEMSON 006-2001325 CQO1842 9209N
// LSI LOGIC L1A5840 006-2000654B NAR 9212Delta WG35494 GERMANY, NCR 006-2001895 WPD FALCON E CQO 2291 9218N,
// LSI LOGIC L1A5840 006-2000654B NAR 9212Delta WG35494 GERMANY, NCR 006-2001895 WPD FALCON E CQO 2291 9218N,
// WD58C65JM, VLSI 9210AV 211411 VGA8203C4570 NCR PB 006-2001329, Dallas DS1387
// OSC: 16.000000MHz, 1.8432MHz, 65.00000MHz, 25.175/26.322, 36.000000MHz, 50.000000MHz, 14.31818MHz, 66.66600MHz
// on board VGA: NCR 77C22 VGA-2 609-3400639 CQO1570 9210R, 8xMCM514245AJ70
// Slots: 4xMCA, 3x32-bit external memory card, 1xSCSI host adapter - ports: PS/2 mouse, keyboard, 2xserial, parallel, floppy
ROM_START( ncr3433 )
ROM_REGION32_LE( 0x20000, "bios", 0 )
ROM_REGION32_LE( 0x20000, "bios", 0 )
// 0: NCR ROM BIOS Version 82.01.00 (3433, 3434, 3432, 3437)
ROM_SYSTEM_BIOS(0, "82.01.00", "82.01.00")
ROMX_LOAD( "rbios206.bin", 0x00000, 0x20000, CRC(06e77547) SHA1(41c517b284ed6335024c2b8398504cf3eb8a09e1), ROM_BIOS(0) )
// 1: NCR ROM BIOS Version 83.01.00 (3433, 3434, 3432, 3437)
ROM_SYSTEM_BIOS(1, "83.01.00", "83.01.00")
ROMX_LOAD( "rbios1.bin", 0x00000, 0x20000, CRC(cf793ce9) SHA1(69d531d14a86bdada8940ba2466515ebcd870d0d), ROM_BIOS(1) )
ROM_REGION( 0x0800, "keyboard", 0 )
ROM_REGION( 0x0800, "keyboard", 0 )
ROM_LOAD( "i8742_150-0008390_vers_3.1.bin", 0x000, 0x800, CRC(1bf17f29) SHA1(031ea1bb40756e3e5a1f01b01a53cc3a7c074338) )
ROM_END

View File

@ -346,7 +346,7 @@ INTERRUPT_GEN_MEMBER(cps_state::cps1_interrupt)
/*
/INT2 (IRQ4) is tied high on some early B boards (eg. 89624B-3),
On later B boards (90629B-2, 91634B-2, 91635B-2) it is passed to the C board via connector CNA pin 9.
On later B boards (90629B-2, 91634B-2, 91635B-2) it is passed to the C board via connector CNA pin 9.
On the later cps-b-21 based C boards (92631C-6, 90631C-5, 92641C-1) it then passes to pin 57 of the cps-b-21 via jumper JP1.
Ganbare! Marine Kun (B:91634B-2, C:92631C-6) is only game known to use it, requires a cps-b-21 C-board (90631C-5, 92631C-6, 92641C-1) with JP1 closed.
Strider has a handler but no h/w support to call it, perhaps a remnant of some dev tool?
@ -2968,7 +2968,7 @@ INPUT_PORTS_END
// Note: if you have service mode stuck then start button doesn't get recognized on title screen.
static INPUT_PORTS_START( gulunpa )
PORT_INCLUDE( cps1_2b )
PORT_START("DSWA")
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW(A):1,2,3")
PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
@ -2993,7 +2993,7 @@ static INPUT_PORTS_START( gulunpa )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW(A):8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("DSWB")
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW(B):1,2,3")
PORT_DIPSETTING( 0x07, "1 Easiest" )
@ -3020,7 +3020,7 @@ static INPUT_PORTS_START( gulunpa )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW(B):8")
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START("DSWC")
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW(C):1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
@ -3043,7 +3043,7 @@ static INPUT_PORTS_START( gulunpa )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW(C):7")
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, "Game Mode") PORT_DIPLOCATION("SW(C):8")
PORT_DIPNAME( 0x80, 0x80, "Game Mode") PORT_DIPLOCATION("SW(C):8")
PORT_DIPSETTING( 0x80, "Game" )
PORT_DIPSETTING( 0x00, DEF_STR( Test ) )
INPUT_PORTS_END
@ -13264,7 +13264,7 @@ ROM_END
ROM_START( gulunpa ) // ROMs could do with 2nd pass dump verification
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */
ROM_LOAD16_BYTE( "26", 0x00000, 0x020000, CRC(f30ffa29) SHA1(9e70daf4229485dc5700b074dba55839c7357351) )
ROM_LOAD16_BYTE( "30", 0x00001, 0x020000, CRC(5d35f737) SHA1(47b6bfa6eaa512684e12c23162243d1a21cb1a7a) )
ROM_LOAD16_BYTE( "30", 0x00001, 0x020000, CRC(5d35f737) SHA1(47b6bfa6eaa512684e12c23162243d1a21cb1a7a) )
ROM_REGION( 0x18000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */
ROM_LOAD( "9", 0x00000, 0x08000, CRC(15afd06f) SHA1(1a4ff3e11e55266e7c93743b6564c226eaaba142) )
@ -13276,7 +13276,7 @@ ROM_START( gulunpa ) // ROMs could do with 2nd pass dump verification
ROM_LOAD64_WORD( "3", 0x000004, 0x080000, CRC(36c3951a) SHA1(74edaca2c78dd6a304ea702091a9f0b7f6036e41) )
ROM_LOAD64_WORD( "4", 0x000006, 0x080000, BAD_DUMP CRC(ff0cb826) SHA1(fec7833652e6789e886a1ec7b4680a608ddbbe20) )
ROM_FILL(0x000006, 1, 0xff) // patch first byte of ROM 4 pending redump (corrupt top line of 0 character, 8x8 tile data should match between ROM pairs)
// ROM_COPY( "gfx", 0x000000, 0x200000, 0x200000 )
// ROM_COPY( "gfx", 0x000000, 0x200000, 0x200000 )
ROM_REGION( 0x40000, "oki", ROMREGION_ERASEFF ) /* Samples */
ROM_LOAD( "18", 0x00000, 0x20000, CRC(9997a34f) SHA1(8e107d6413836c48fc57e4a9b89ae99a9e381e8b) )
@ -13654,7 +13654,7 @@ void cps_state::init_pang3()
// encryption is switched on/off by pin 37.
// encrypted code range is controlled by PAL CP1B9K which sets pin 37 such that: 00000-7ffff unencrypted, >=80000 encrypted.
// the mach215 responds to R/W 800174-80017B enabled by pin 36, range set by PAL CP1B8K.
uint16_t *rom = (uint16_t *)memregion("maincpu")->base();
int A, src, dst;

View File

@ -36,10 +36,10 @@ wofpic: No sound. Some minor gfx issues (sprite priorities mainly).
all dinopic sets have some priority issues with sprites overlapping foreground objects on certain levels
brightness circuity present on pcb?
slampic2 yes
dinopic3 no
jurassic99 no
others tbc... assume no for now
slampic2 yes
dinopic3 no
jurassic99 no
others tbc... assume no for now
*/
#include "emu.h"
@ -92,7 +92,7 @@ public:
slampic2_state(const machine_config &mconfig, device_type type, const char *tag)
: fcrash_state(mconfig, type, tag)
{ }
void slampic2(machine_config &config);
void init_slampic2();
@ -111,7 +111,7 @@ public:
dinopic_state(const machine_config &mconfig, device_type type, const char *tag)
: cps1bl_pic_state(mconfig, type, tag)
{ }
void dinopic(machine_config &config);
private:
@ -127,7 +127,7 @@ public:
wofpic_state(const machine_config &mconfig, device_type type, const char *tag)
: dinopic_state(mconfig, type, tag)
{ }
void wofpic(machine_config &config);
void init_wofpic();
@ -305,15 +305,15 @@ WRITE16_MEMBER(wofpic_state::wofpic_layer_w)
// see bootleggers routines starting at $101000
// writes values 0-f to 98000c
// how does this relate to layer control reg value?
// original game values:
// m_cps_b_regs[m_layer_enable_reg / 2] = m_mainram[0x6398 / 2];
// m_cps_b_regs[m_layer_mask_reg[1] / 2] = m_mainram[0x639a / 2];
// m_cps_b_regs[m_layer_mask_reg[2] / 2] = m_mainram[0x639c / 2];
// m_cps_b_regs[m_layer_mask_reg[3] / 2] = m_mainram[0x639e / 2];
m_cps_b_regs[0x3e / 2] = data;
switch (data)
{
case 0: // 12ce
@ -1240,37 +1240,37 @@ ROM_START( dinopic3 )
ROM_END
/*
Jurassic 99 (Cadillacs and Dinosaurs bootleg)
pcb marking: H11F6
uses a pin compatible EMC EM78P447AP instead of usual PIC 16c57, secured unfortunately so no dump
Confirmed clocks (measured):
Jurassic 99 (Cadillacs and Dinosaurs bootleg)
pcb marking: H11F6
uses a pin compatible EMC EM78P447AP instead of usual PIC 16c57, secured unfortunately so no dump
Confirmed clocks (measured):
xtals: 30MHz, 24MHz
68k = 12MHz
em78 = 3.75MHz
oki = 1MHz pin 7 high
__________________________________________
|TDA2003(V) U6295 ROM 30MHz 6116 |
| 93C46 EM78P447AP 6116 |
== 6116 |
== 6116 6116 |
== 6116 P2 |
== P3 A1020A |
== (T) P8 |
== 62256 P6 6116 |
== 62256 6116 |
== ROM1 P4 P8 |
== ROM2 P5 P8 GFXROM1 |
== 62256 P8 |
# 68K P1 24MHz 62256 P8 GFXROM2 |
|_________________________________________|
V = volume pot
# = player 3 connector
T = test mode button
U6295 = oki M6295 clone
68K = MC68HC000FN16 PLCC68
__________________________________________
|TDA2003(V) U6295 ROM 30MHz 6116 |
| 93C46 EM78P447AP 6116 |
== 6116 |
== 6116 6116 |
== 6116 P2 |
== P3 A1020A |
== (T) P8 |
== 62256 P6 6116 |
== 62256 6116 |
== ROM1 P4 P8 |
== ROM2 P5 P8 GFXROM1 |
== 62256 P8 |
# 68K P1 24MHz 62256 P8 GFXROM2 |
|_________________________________________|
V = volume pot
# = player 3 connector
T = test mode button
U6295 = oki M6295 clone
68K = MC68HC000FN16 PLCC68
*/
ROM_START( jurassic99 )
ROM_REGION( CODE_SIZE, "maincpu", 0 )
@ -1307,7 +1307,7 @@ ROM_START( jurassic99 )
U99G ATF16V8B-15PC 8
U134G ATF16V8B-15PC 8?
U124 Actel A1020A 84-pin PLCC
3rd column numbers are what's hand-written on each chip
? = hard to read or rubbed off
seems to be no #7 ?

View File

@ -1006,7 +1006,7 @@ WRITE16_MEMBER(dpb7000_state::cpu_ctrlbus_w)
//m_store_addr[1]->reg_w(data);
//if (BIT(data, 15))
// m_store_addr[0]->reg_w(data);
// m_store_addr[0]->reg_w(data);
break;
case 8: // Brush Address Card, "Select 8" signal to PAL 16L8, BE

View File

@ -548,7 +548,7 @@ ROM_START( euroxt )
ROMX_LOAD("euro_xt_bios_id.nr.51463_v1.02.bin", 0x8000, 0x8000, CRC(c36de60e) SHA1(c668cc9c5f3325233f30eac654678e1b8b7a7847), ROM_BIOS(1))
ROM_SYSTEM_BIOS( 2, "v1.04", "EuroXT v1.04" )
ROMX_LOAD("euro_xt_bios_v1.04_cs8b00_5.12.89_21_25.bin", 0x8000, 0x8000, CRC(24033a62) SHA1(9d1d89cb8b99569b6c0aaa7c6aceb355dc20b2fd), ROM_BIOS(2))
// BIOS ROM versions 1.02 and 1.04 were accompanied by identical char ROM versions 50146, which in turn match the one used in /bus/isa/aga.cpp
ROM_END

View File

@ -90,10 +90,10 @@ sgyxz: Priority problems - doesn't seem to write the layer mask val
wofr1bl: Priority problems - doesn't seem to write the layer mask values anywhere.
brightness circuity present on pcb?
sgyxz no
wofabl no
wofr1bl no
others tbc... assume yes for now
sgyxz no
wofabl no
wofr1bl no
others tbc... assume yes for now
*/
#include "emu.h"
@ -336,15 +336,15 @@ WRITE16_MEMBER(fcrash_state::wofr1bl_layer_w)
// see bootleggers routines starting at $101000
// writes values 0-f to 98000c
// how does this relate to layer control reg value?
// original game values:
// m_cps_b_regs[m_layer_enable_reg / 2] = m_mainram[0x6398 / 2];
// m_cps_b_regs[m_layer_mask_reg[1] / 2] = m_mainram[0x639a / 2];
// m_cps_b_regs[m_layer_mask_reg[2] / 2] = m_mainram[0x639c / 2];
// m_cps_b_regs[m_layer_mask_reg[3] / 2] = m_mainram[0x639e / 2];
m_cps_b_regs[0x3e / 2] = data;
switch (data)
{
case 0: // 12ce
@ -1008,7 +1008,7 @@ MACHINE_START_MEMBER(fcrash_state, sgyxz)
{
m_layer_enable_reg = 0x20;
// palette_control = 0x2a
// layer priority masks:
// clears 0x28, 0x2c, 0x2e at boot, then never writes any layer mask values anywhere outside main ram.
// (bootleggers have nop'd the original code)
@ -1017,14 +1017,14 @@ MACHINE_START_MEMBER(fcrash_state, sgyxz)
m_layer_mask_reg[1] = 0x3a;
m_layer_mask_reg[2] = 0x3c;
m_layer_mask_reg[3] = 0x3e;
m_layer_scroll1x_offset = 0x40;
m_layer_scroll2x_offset = 0x40;
m_layer_scroll3x_offset = 0x40;
m_sprite_base = 0x1000;
m_sprite_list_end_marker = 0x8000;
m_sprite_x_offset = 0;
membank("bank1")->configure_entries(0, 2, memregion("audiocpu")->base() + 0x10000, 0x4000);
}
@ -1433,10 +1433,10 @@ static INPUT_PORTS_START( sgyxz )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_START2 )
PORT_SERVICE_NO_TOGGLE( 0x4000, IP_ACTIVE_LOW ) // test mode doesn't work
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
// No COIN3, must use SERVICE1 to credit 3P in "3 Players, 3 Chutes" mode
// STARTx changes character during gameplay
PORT_START ("IN1")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
@ -1483,7 +1483,7 @@ static INPUT_PORTS_START( sgyxz )
PORT_DIPSETTING( 0x80, "2" )
PORT_DIPSETTING( 0x40, "1" )
PORT_DIPSETTING( 0x00, "0" )
PORT_START("DSWC")
PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SW(C):1" )
PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SW(C):2" )
@ -1519,7 +1519,7 @@ static INPUT_PORTS_START( wofabl )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_START2 )
PORT_SERVICE_NO_TOGGLE( 0x4000, IP_ACTIVE_LOW )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START ("IN1")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1)
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1)
@ -1537,7 +1537,7 @@ static INPUT_PORTS_START( wofabl )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START("DSWA")
PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW(A):1,2,3,4")
PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) )
@ -1555,7 +1555,7 @@ static INPUT_PORTS_START( wofabl )
PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SW(A):6" ) // 1c 8c?
PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "SW(A):7" ) // 2 coins start?
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW(A):8" ) // 1c 7c?
PORT_START("DSWB")
PORT_DIPNAME( 0x07, 0x04, "Game Difficulty" ) PORT_DIPLOCATION("SW(B):1,2,3")
PORT_DIPSETTING( 0x07, "0 (Extra Easy)" )
@ -1577,7 +1577,7 @@ static INPUT_PORTS_START( wofabl )
PORT_DIPSETTING( 0x10, "Start 3, Continue 4" )
PORT_DIPSETTING( 0x00, "Start 4, Continue 5" )
PORT_DIPUNKNOWN_DIPLOC( 0x80, 0x80, "SW(B):8" )
PORT_START("DSWC")
PORT_DIPNAME( 0x03, 0x03, "Cabinet" ) PORT_DIPLOCATION("SW(C):1,2")
PORT_DIPSETTING( 0x03, "3 Players, 3 Chutes" )
@ -1715,8 +1715,8 @@ void cps1bl_no_brgt::fcrash_build_palette()
// some bootlegs don't have the brightness hardware, the 2x 74ls07 and 2x extra resistor arrays
// are either unpopulated or simply don't exist in the bootleg design.
// this is a problem as some games (wofabl, jurassic99) use erroneous brightness values
// which have no effect on the bootleg pcb, but cause issues in mame (as they would on genuine hardware).
// which have no effect on the bootleg pcb, but cause issues in mame (as they would on genuine hardware).
int offset;
// all the bootlegs seem to write the palette offset as usual
@ -2112,13 +2112,13 @@ ROM_END
24mhz crystal (maincpu), 28.322 crystal (video), 3.579545 crystal (sound)
sound cpu is (239 V 249521 VC5006 KABUKI DL-030P-110V) - recycled Kabuki Z80 from genuine Capcom HW?
3x8 dsws
bootlegger hacks:
2 extra playable characters (7 total)
can swap character during gameplay (press start to cycle)
new special move (button 3)
level order is changed
attract sequence shortened
bootlegger hacks:
2 extra playable characters (7 total)
can swap character during gameplay (press start to cycle)
new special move (button 3)
level order is changed
attract sequence shortened
*/
ROM_START( sgyxz )
ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 Code */
@ -2264,7 +2264,7 @@ ROM_START( sf2m9 )
ROM_CONTINUE( 0x000006, 0x40000)
ROM_LOAD64_BYTE( "tat-06.bin", 0x000003, 0x40000, CRC(90f2053e) SHA1(a78710421e702b410650c45c3dec21bf16799fb4) )
ROM_CONTINUE( 0x000007, 0x40000)
ROM_LOAD64_BYTE( "tat-03.bin", 0x200000, 0x40000, CRC(79fa8bf0) SHA1(9f8f7b8dc54a75226beb017b9ca9fd62a9e42f6b) )
ROM_CONTINUE( 0x200004, 0x40000)
ROM_LOAD64_BYTE( "tat-07.bin", 0x200001, 0x40000, CRC(6a5f153c) SHA1(f3d82ad01e2e4bdb2039815747fa14399c69753a) )
@ -2273,7 +2273,7 @@ ROM_START( sf2m9 )
ROM_CONTINUE( 0x200006, 0x40000)
ROM_LOAD64_BYTE( "tat-08.bin", 0x200003, 0x40000, CRC(c16579ae) SHA1(42c9d6df9f3b015f5d1ad4fa2b34ea90bb37bcae) )
ROM_CONTINUE( 0x200007, 0x40000)
ROM_LOAD64_BYTE( "tat-09.bin", 0x400000, 0x40000, CRC(169d85a6) SHA1(dd98c8807e80465858b2eac10825e598c37e1a93) )
ROM_CONTINUE( 0x400004, 0x40000)
ROM_LOAD64_BYTE( "tat-11.bin", 0x400001, 0x40000, CRC(32a3a841) SHA1(6f9a13b8828998d194dd3933b032c75efed9cab3) )

View File

@ -161,7 +161,7 @@ uint32_t goori_state::screen_update(screen_device& screen, bitmap_ind16& bitmap,
gfx_element *gfx = m_gfxdecode->gfx(0);
gfx->transpen(bitmap,cliprect,tile,colour,flipx,0,realx,y,0xff);
}
return 0;
}

View File

@ -3,10 +3,10 @@
/***************************************************************************
KiKi KaiKai - (c) 1987 Taito
+ Knight Boy (bootleg with 68705)
+ Knight Boy (bootleg with 68705)
Kick & Run - (c) 1987 Taito
+ Mexico 86 (bootleg with 68705)
+ Mexico 86 (bootleg with 68705)

View File

@ -914,7 +914,7 @@ WRITE32_MEMBER(konamigx_state::type4_prot_w)
u32 dst = 0xd20000;
//u32 input_src = 0xc01cc0;
//u32 input_dst = 0xc00507;
// screen 1
// if (m_last_prot_param == 0x004a)
// screen 2
@ -925,7 +925,7 @@ WRITE32_MEMBER(konamigx_state::type4_prot_w)
//input_src += 0x10000;
//input_dst += 0x40;
}
for (int spr = 0; spr < 256; spr++)
{
for (i = 0; i <= 0x10; i += 4)
@ -969,7 +969,7 @@ WRITE32_MEMBER(konamigx_state::type4_prot_w)
{
u32 src = 0xc18400;
u32 dst = 0xd21000;
for (int spr = 0; spr < 0x400; spr++)
{
space.write_word(dst, space.read_word(src));
@ -1255,7 +1255,7 @@ static INPUT_PORTS_START( common )
PORT_DIPUNUSED_DIPLOC( 0x00200000, 0x00200000, "SW2:6")
PORT_DIPUNUSED_DIPLOC( 0x00400000, 0x00400000, "SW2:7")
PORT_DIPUNUSED_DIPLOC( 0x00800000, 0x00800000, "SW2:8")
PORT_START( "EEPROMOUT" )
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, di_write)
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_OUTPUT ) PORT_WRITE_LINE_DEVICE_MEMBER("eeprom", eeprom_serial_93cxx_device, cs_write)
@ -1279,18 +1279,18 @@ static INPUT_PORTS_START( racinfrc )
PORT_START("AN1")
PORT_BIT( 0xff, 0xf0, IPT_PEDAL ) PORT_MINMAX(0x90,0xff) PORT_SENSITIVITY(35) PORT_KEYDELTA(35) PORT_CODE_INC(KEYCODE_LCONTROL) PORT_REVERSE
PORT_MODIFY("SYSTEM_DSW")
PORT_DIPUNUSED_DIPLOC( 0x01000000, 0x01000000, "SW1:1")
PORT_DIPUNUSED_DIPLOC( 0x02000000, 0x02000000, "SW1:2")
PORT_DIPNAME( 0x04000000, 0x04000000, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:3")
PORT_DIPSETTING( 0x04000000, DEF_STR( No ) )
PORT_DIPSETTING( 0x04000000, DEF_STR( No ) )
PORT_DIPSETTING( 0x00000000, DEF_STR( Yes ) )
PORT_DIPNAME( 0x18000000, 0x00000000, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:4,5")
PORT_DIPSETTING( 0x18000000, "2in1" )
PORT_DIPSETTING( 0x10000000, "Upright (Mono)" )
PORT_DIPSETTING( 0x18000000, "2in1" )
PORT_DIPSETTING( 0x10000000, "Upright (Mono)" )
PORT_DIPSETTING( 0x08000000, DEF_STR( Unused ) ) // ???
PORT_DIPSETTING( 0x00000000, "Upright (Stereo)" )
PORT_DIPSETTING( 0x00000000, "Upright (Stereo)" )
PORT_DIPNAME( 0xe0000000, 0xe0000000, "Car Number & Color" ) PORT_DIPLOCATION("SW1:6,7,8")
PORT_DIPSETTING( 0xe0000000, "No. 1 (Red)" )
PORT_DIPSETTING( 0xc0000000, "No. 2 (Blue)" )
@ -1304,7 +1304,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( opengolf )
PORT_INCLUDE( racinfrc )
PORT_MODIFY("INPUTS")
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4) PORT_NAME("P4 Shoot")
PORT_BIT( 0x00000060, IP_ACTIVE_LOW, IPT_UNUSED )
@ -1314,13 +1314,13 @@ static INPUT_PORTS_START( opengolf )
PORT_BIT( 0x00600000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Shoot")
PORT_BIT( 0x60000000, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("AN0")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("AN1")
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_MODIFY("SYSTEM_DSW")
// TODO: these coin mechs are available only when coin slots is in independent mode
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_COIN3 )
@ -1345,7 +1345,7 @@ INPUT_PORTS_END
static INPUT_PORTS_START( ggreats2 )
PORT_INCLUDE( opengolf )
PORT_MODIFY("INPUTS")
PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED ) // P3/P4 connector
// Advice is on top of the ball device
@ -1366,7 +1366,7 @@ static INPUT_PORTS_START( ggreats2 )
PORT_BIT( 0x20000000, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(1) PORT_NAME("P1 Stance/Right")
PORT_BIT( 0x40000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Advice")
PORT_BIT( 0x80000000, IP_ACTIVE_LOW, IPT_START1 )
PORT_MODIFY("SYSTEM_DSW")
PORT_BIT( 0x00000c00, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0000c000, IP_ACTIVE_LOW, IPT_UNUSED )

View File

@ -658,7 +658,7 @@ static INPUT_PORTS_START( franticf ) // how do the directional inputs work?
/*
"Play Based" Tickets despenced based on setting of DSW6-8
--------------------------------------------------------------
Apples Per Game 0x7000 0x6000 0x5000 0x4000 0x3000 0x2000 0x1000 0x0000
Apples Per Game 0x7000 0x6000 0x5000 0x4000 0x3000 0x2000 0x1000 0x0000
----------------------------------------------------------------------------------
5 3 9 3 9 7 6 5 5
7 4 10 4 13 8 7 9 7
@ -748,20 +748,20 @@ static INPUT_PORTS_START( franticfa ) // how do the directional inputs work?
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
/*
PORT_DIPNAME( 0x1c00, 0x0400, "Number of Fruit" )
PORT_DIPSETTING( 0x0000, "3" )
PORT_DIPSETTING( 0x0400, "5" )
PORT_DIPSETTING( 0x0800, "7" )
PORT_DIPSETTING( 0x0c00, "9" )
PORT_DIPSETTING( 0x1000, "9 (duplicate 1)" ) // appear to be duplicates but could affect something else too
PORT_DIPSETTING( 0x1400, "9 (duplicate 2)" )
PORT_DIPSETTING( 0x1800, "9 (duplicate 3)" )
PORT_DIPSETTING( 0x1c00, "9 (duplicate 4)" )
PORT_DIPNAME( 0x6000, 0x2000, "Initial Fruit Values" )
PORT_DIPSETTING( 0x0000, "Lowest" )
PORT_DIPSETTING( 0x2000, "Low" )
PORT_DIPSETTING( 0x4000, "Medium" )
PORT_DIPSETTING( 0x6000, "High" )
PORT_DIPNAME( 0x1c00, 0x0400, "Number of Fruit" )
PORT_DIPSETTING( 0x0000, "3" )
PORT_DIPSETTING( 0x0400, "5" )
PORT_DIPSETTING( 0x0800, "7" )
PORT_DIPSETTING( 0x0c00, "9" )
PORT_DIPSETTING( 0x1000, "9 (duplicate 1)" ) // appear to be duplicates but could affect something else too
PORT_DIPSETTING( 0x1400, "9 (duplicate 2)" )
PORT_DIPSETTING( 0x1800, "9 (duplicate 3)" )
PORT_DIPSETTING( 0x1c00, "9 (duplicate 4)" )
PORT_DIPNAME( 0x6000, 0x2000, "Initial Fruit Values" )
PORT_DIPSETTING( 0x0000, "Lowest" )
PORT_DIPSETTING( 0x2000, "Low" )
PORT_DIPSETTING( 0x4000, "Medium" )
PORT_DIPSETTING( 0x6000, "High" )
*/
PORT_DIPNAME( 0x0c00, 0x0400, "Apples Per Game" ) PORT_DIPLOCATION("SW3:4,3")

View File

@ -2,20 +2,20 @@
// copyright-holders:David Haywood
/******************************************************************************
https://elinux.org/Pollux
https://elinux.org/Pollux
"The Pollux is a System on a Chip (SoC) that was manufactured by MagicEyes,
whose intellectual property is now owned by Core Logic. Originally designed
for LeapFrog as the LF1000, the 533MHz ARM926EJ core VR3520F has now made
its way into several products running WinCE and Linux."
"The Pollux is a System on a Chip (SoC) that was manufactured by MagicEyes,
whose intellectual property is now owned by Core Logic. Originally designed
for LeapFrog as the LF1000, the 533MHz ARM926EJ core VR3520F has now made
its way into several products running WinCE and Linux."
(there are also links to datasheets etc.)
(there are also links to datasheets etc.)
used by
Leapfrog Didj (as LF1000)
GP2X Wiz (as VR3520F)
GP2X Caanoo (as VR3520F)
+ more?
used by
Leapfrog Didj (as LF1000)
GP2X Wiz (as VR3520F)
GP2X Caanoo (as VR3520F)
+ more?
*******************************************************************************/

View File

@ -29,7 +29,7 @@
- implement sprite-playfield collisions;
- sprite-playfield colors are dubious at best;
- Tiles may be flipped for playfield in final stage;
- Ranking table doesn't sort properly when player gets a better score than
- Ranking table doesn't sort properly when player gets a better score than
the ones listed, CPU core bug?
- improve gfx layers superimposing, honor PAL timings;
- sound (2x SN76477)
@ -149,7 +149,7 @@ void malzak_state::malzak2_map(address_map &map)
READ8_MEMBER(malzak_state::s2650_data_r)
{
// popmessage("S2650 data port read");
// popmessage("S2650 data port read");
return 0xff;
}
@ -165,7 +165,7 @@ WRITE8_MEMBER(malzak_state::port40_w)
m_mainbank->set_entry((data & 0x40) >> 6);
// bit 7 is set at final stage
u8 gfx_bank = ((data & 0x80) >> 7);
if (m_playfield_bank != gfx_bank)
if (m_playfield_bank != gfx_bank)
{
m_playfield_bank = gfx_bank;
m_playfield_tilemap->mark_all_dirty();
@ -398,7 +398,7 @@ ROM_START( malzak2 )
ROM_REGION( 0x0800, "gfx1", 0 )
ROM_LOAD( "malzak.1", 0x0000, 0x0800, CRC(74d5ff7b) SHA1(cae326370dc83b86542f9d070e2dc91b1b833356) )
ROM_REGION( 0x0100, "nvram", 0 )
// default nvram so that game boots in version II off the bat
ROM_LOAD( "malzak2.nv", 0x0000, 0x0100, CRC(aadf03d8) SHA1(9d751c4249faab7f5d88d0c99f33468f439641ad) )

View File

@ -776,7 +776,7 @@ static INPUT_PORTS_START( mosdraw )
PORT_MODIFY("IN2")
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // to bypass printer check TODO: proper emulation
INPUT_PORTS_END
static INPUT_PORTS_START( iowapp )
PORT_INCLUDE( meritpoker )

View File

@ -66,7 +66,7 @@ TILE_GET_INFO_MEMBER(mpu4dealem_state::tile_info)
uint16_t tile = ((attr & 0x07) << 8) | data;
uint8_t color = (attr >> 4) & 0x0f;
tileinfo.set(0, tile, color, 0);
}

View File

@ -2883,7 +2883,7 @@ WRITE16_MEMBER(namcos23_state::mcuen_w)
default:
// For some reason, the main program write the high 16bits of the
// 32 bits words of itself there...
// logerror("mcuen_w: mask %04x, data %04x @ %x\n", mem_mask, data, offset);
// logerror("mcuen_w: mask %04x, data %04x @ %x\n", mem_mask, data, offset);
break;
}
}

View File

@ -11054,7 +11054,7 @@ ROM_END
/* clear cart, orange pcbs
prog board: no v encryption, uses a plcc epm7096lc84-15 for pcm, 16-bit v roms decoded by 2x 74hc245
cha board: no c/m encryption, uses a soic palce16v8 for zmc, 5x 74hc273a for neo-273, 6x so44 m59pw064 64Mbit + 2x dip lh28f160 16MBit flash roms for gfx
cha board: no c/m encryption, uses a soic palce16v8 for zmc, 5x 74hc273a for neo-273, 6x so44 m59pw064 64Mbit + 2x dip lh28f160 16MBit flash roms for gfx
all roms are erasable flash chips, mixture of 5v and 3.3v
produced sometime after early 2004 (going by youngest ic date code) */
ROM_START( mslug5b )

View File

@ -35,7 +35,7 @@ protected:
virtual void video_start() override;
DECLARE_WRITE8_MEMBER(sprite_dma_w);
virtual DECLARE_READ8_MEMBER(in0_r);
virtual DECLARE_READ8_MEMBER(in1_r);
virtual DECLARE_WRITE8_MEMBER(in0_w);

View File

@ -69,7 +69,7 @@ protected:
DECLARE_READ8_MEMBER(vt_rom_r);
DECLARE_WRITE8_MEMBER(vtspace_w);
void configure_soc(nes_vt_soc_device* soc);
DECLARE_READ8_MEMBER(upper_412c_r);
@ -190,7 +190,7 @@ public:
nes_vt_hum_state(const machine_config& mconfig, device_type type, const char* tag) :
nes_vt_state(mconfig, type, tag)
{ }
void nes_vt_hummer_2mb(machine_config& config);
void nes_vt_hummer_4mb(machine_config& config);
};
@ -494,7 +494,7 @@ READ8_MEMBER(nes_vt_base_state::extrain_0_r)
{
logerror("%s: extrain_0_r (not hooked up)\n", machine().describe_context());
}
return 0x00;
return 0x00;
}
READ8_MEMBER(nes_vt_base_state::extrain_1_r)
@ -505,7 +505,7 @@ READ8_MEMBER(nes_vt_base_state::extrain_1_r)
{
logerror("%s: extrain_1_r (not hooked up)\n", machine().describe_context());
}
return 0x00;
return 0x00;
}
READ8_MEMBER(nes_vt_base_state::extrain_2_r)
@ -516,7 +516,7 @@ READ8_MEMBER(nes_vt_base_state::extrain_2_r)
{
logerror("%s: extrain_2_r (not hooked up)\n", machine().describe_context());
}
return 0x00;
return 0x00;
}
READ8_MEMBER(nes_vt_base_state::extrain_3_r)
@ -527,7 +527,7 @@ READ8_MEMBER(nes_vt_base_state::extrain_3_r)
{
logerror("%s: extrain_3_r (not hooked up)\n", machine().describe_context());
}
return 0x00;
return 0x00;
}
/* Standard I/O handlers (NES Controller clone) */
@ -1018,7 +1018,7 @@ void nes_vt_dg_state::nes_vt_dg(machine_config &config)
m_screen->set_refresh_hz(50.0070);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC((106.53/(PAL_APU_CLOCK.dvalue()/1000000)) *
(ppu2c0x_device::VBLANK_LAST_SCANLINE_PAL-ppu2c0x_device::VBLANK_FIRST_SCANLINE+1+2)));
(ppu2c0x_device::VBLANK_LAST_SCANLINE_PAL-ppu2c0x_device::VBLANK_FIRST_SCANLINE+1+2)));
m_screen->set_size(32*8, 312);
m_screen->set_visarea(0*8, 32*8-1, 0*8, 30*8-1);
*/
@ -1070,7 +1070,7 @@ void nes_vt_hh_state::nes_vt_vg_1mb_majkon(machine_config &config)
{
nes_vt_dg(config);
m_soc->set_addrmap(AS_PROGRAM, &nes_vt_hh_state::vt_external_space_map_1mbyte);
m_soc->set_default_palette_mode(PAL_MODE_NEW_VG);
}
@ -1091,7 +1091,7 @@ void nes_vt_hh_state::nes_vt_hh(machine_config &config)
m_screen->set_refresh_hz(50.0070);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC((106.53/(PAL_APU_CLOCK.dvalue()/1000000)) *
(ppu2c0x_device::VBLANK_LAST_SCANLINE_PAL-ppu2c0x_device::VBLANK_FIRST_SCANLINE+1+2)));
(ppu2c0x_device::VBLANK_LAST_SCANLINE_PAL-ppu2c0x_device::VBLANK_FIRST_SCANLINE+1+2)));
m_screen->set_size(32*8, 312);
m_screen->set_visarea(0*8, 32*8-1, 0*8, 30*8-1);
*/
@ -1286,7 +1286,7 @@ void nes_vt_swap_op_d5_d6_state::nes_vt_vh2009(machine_config &config)
{
NES_VT_SOC(config, m_soc, NTSC_APU_CLOCK);
configure_soc(m_soc);
NES_VT_SOC_SCRAMBLE(config.replace(), m_soc, NTSC_APU_CLOCK);
configure_soc(m_soc);
@ -1309,7 +1309,7 @@ void nes_vt_swap_op_d5_d6_state::nes_vt_vh2009_8mb(machine_config& config)
void nes_vt_swap_op_d5_d6_state::nes_vt_senwld_512kb(machine_config &config)
{
nes_vt_vh2009(config);
m_soc->set_addrmap(AS_PROGRAM, &nes_vt_swap_op_d5_d6_state::vt_external_space_map_senwld_512kbyte);
m_soc->set_addrmap(AS_PROGRAM, &nes_vt_swap_op_d5_d6_state::vt_external_space_map_senwld_512kbyte);
m_soc->set_default_palette_mode(PAL_MODE_NEW_VG);
}

View File

@ -4590,7 +4590,7 @@ void nmk16_state::strahl(machine_config &config)
void nmk16_state::strahljbl(machine_config &config)
{
M68000(config, m_maincpu, 12_MHz_XTAL);
M68000(config, m_maincpu, 12_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &nmk16_state::strahljbl_map);
set_hacky_interrupt_timing(config);

View File

@ -67,7 +67,7 @@ WRITE8_MEMBER(pcktgal_state::adpcm_data_w)
READ8_MEMBER(pcktgal_state::sound_unk_r)
{
// POST only? Unknown purpose
// m_msm->reset_w(0);
// m_msm->reset_w(0);
return 0;
}

View File

@ -23,13 +23,13 @@ Known issues:
Most likely ends when specific data format is encountered during playback
cfr. jantotsu.cpp;
- Verify irq sources;
- Unemulated partial update bg scrolling, which should effectively add layer
tearing at line ~12 according to the refs. Scrolling currently
- Unemulated partial update bg scrolling, which should effectively add layer
tearing at line ~12 according to the refs. Scrolling currently
triggers at line 6 with current timings so we are quite off.
Additionally scrolling updates every other frame so simply using partial
Additionally scrolling updates every other frame so simply using partial
updates won't cope with it;
- None of the refs has the top 8 pixels shown but 256x232 seems unlikely.
Verify what it shows on real HW, should be either garbage or vblank or
- None of the refs has the top 8 pixels shown but 256x232 seems unlikely.
Verify what it shows on real HW, should be either garbage or vblank or
border color;
- Verify if coin counter is really tied to $3807;
@ -292,7 +292,7 @@ void renegade_state::renegade_sound_map(address_map &map)
map(0x2000, 0x2000).w(FUNC(renegade_state::adpcm_addr_w));
map(0x2800, 0x2801).rw("ymsnd", FUNC(ym3526_device::read), FUNC(ym3526_device::write));
map(0x3000, 0x3000).w(FUNC(renegade_state::adpcm_stop_w));
// map(0x2000, 0x7fff) read in service mode during sound test
// map(0x2000, 0x7fff) read in service mode during sound test
map(0x8000, 0xffff).rom();
}

View File

@ -8,7 +8,7 @@
IC21 = NEC uPD8279C-2 Programmable Keyboard Display Interface
IC24 = Toshiba TMP8255AP-5 Programmable Peripheral Interface
IC32 = 27C128
IC34 = Toshiba TC5517APL 2.048 Word X 8 Bit CMOS Static RAM
IC34 = Toshiba TC5517APL 2.048 Word X 8 Bit CMOS Static RAM
IC31 = uPD8085AC CPU (Xtal 5.0688 MHz)
IC33 = AMD P8212 8-Bit IO Port
IC40 = Signetics SCN8035A MCU (Xtal 6.000 MHz)
@ -120,7 +120,7 @@ ROM_START(unkrfslt)
ROM_LOAD("m1-31_b_1704.ic32", 0x0000, 0x4000, CRC(a74a85b7) SHA1(f562495a6b97f34165cc9fd5c750664701cac21f))
ROM_REGION(0x1000, "audiocpu", 0)
ROM_LOAD( "8a.ic44", 0x0000, 0x1000, CRC(51b564b6) SHA1(8992a5cb4dff8c6b38b77a7e0199a71f2969b496) )
ROM_LOAD( "8a.ic44", 0x0000, 0x1000, CRC(51b564b6) SHA1(8992a5cb4dff8c6b38b77a7e0199a71f2969b496) )
ROM_IGNORE( 0x3000 ) // 0xff filled and it's outside of the 8035's global address mask (fff)
ROM_END

View File

@ -1498,9 +1498,9 @@ void spg2xx_game_gssytts_state::gssytts(machine_config &config)
spg2xx_base(config);
// m_maincpu->porta_out().set(FUNC(spg2xx_game_state::porta_w));
// m_maincpu->portb_out().set(FUNC(spg2xx_game_state::portb_w));
// m_maincpu->portc_out().set(FUNC(spg2xx_game_state::portc_w));
// m_maincpu->porta_out().set(FUNC(spg2xx_game_state::porta_w));
// m_maincpu->portb_out().set(FUNC(spg2xx_game_state::portb_w));
// m_maincpu->portc_out().set(FUNC(spg2xx_game_state::portc_w));
m_maincpu->porta_in().set_ioport("P1");
m_maincpu->portb_in().set_ioport("P2");

View File

@ -30,9 +30,9 @@ static INPUT_PORTS_START( jak_sharp )
PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
PORT_START("P2")
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNUSED )
@ -50,7 +50,7 @@ void jakks_sharp_state::base_config(machine_config& config)
spg2xx_base(config);
m_maincpu->set_addrmap(AS_PROGRAM, &jakks_sharp_state::mem_map_1m);
m_maincpu->porta_in().set_ioport("P1");
m_maincpu->portb_in().set_ioport("P2");
m_maincpu->portc_in().set_ioport("P3");
@ -73,7 +73,7 @@ ROM_END
// has UK specific voice actors, US versions on YouTube have different voices not present in this set
CONS( 2007, jsc_thom, 0, 0, base_config_pal, jak_sharp, jakks_sharp_state, empty_init, "JAKKS Pacific Inc / Child Guidance / Pronto Games", "Thomas & Friends - Learning Circus Express (Sharp Cookie) (PAL, UK)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS ) // uses NK keys (same as Nicktoons & Spongebob) (3 released) - The upper part of this one is pink/purple.
// The Amazing Spider-Man - Great Math Caper
// The Amazing Spider-Man - Great Math Caper
// Scooby-Doo! - The Pirate's Puzzles
// Go Diego Go - Aztec ABC Adventure
// Dora the Explorer - Dora Saves the Mermaids
// Go Diego Go - Aztec ABC Adventure
// Dora the Explorer - Dora Saves the Mermaids

View File

@ -56,10 +56,10 @@
Galaga - Incorrect sprite used for left shot in 'Double Ship' mode
JAKKS Pacific Test modes:
JAKKS Pacific Test modes:
jak_hmhsm : uses the standard JAKKS code (on first screen - Hold Up, Hold A, Release Up, Down)
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
jak_hmhsm : uses the standard JAKKS code (on first screen - Hold Up, Hold A, Release Up, Down)
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
*/
@ -1688,7 +1688,7 @@ ROM_END
/* The following pinout was used when dumping jak_sspop, jak_hmhsm, jak_umdf
For the 256Mbyte parts the parameters of the programmer had to be overridden to dump the full capacity as there were no equivalent parts.
Sandisk TSOP32 NAND Flash
Sandisk TSOP32 NAND Flash
+----------------------------------------------+
NC-|01 32|-NC
@ -1718,13 +1718,13 @@ ROM_START( jak_sspop )
ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP ) // used as bootstrap only
/* TSOP32 NAND ROM
S976172-1
SanDisk
11015-128B
POC142
0845
<obscured #>
<obscured #>
appears to be a 128MByte part (or at least that is how much service mode tests)
@ -1737,9 +1737,9 @@ ROM_END
ROM_START( jak_hmhsm )
ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP ) // used as bootstrap only
/* TSOP32 NAND ROM
5769522.1
SanDisk
11354-256B
@ -1759,16 +1759,16 @@ ROM_END
ROM_START( jak_umdf )
ROM_REGION16_BE( 0x40000, "maincpu:internal", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "internal.rom", 0x00000, 0x40000, NO_DUMP ) // used as bootstrap only
/* TSOP32 NAND ROM
S744565-1
SanDisk
11352-256B
PA2777.00
0834
61050
61050
again part number would suggest that this is a 256MByte ROM, although in reality all data fits into 64Mbyte, rest is blank
*/

View File

@ -34,9 +34,9 @@ Tandy 1000 (80286) variations:
1000RLX-HD 1024MB RAM 10.0/5.0 MHz v02.00.00
Tandy 1000 (80386) variations:
1000RSX/1000RSX-HD 1M-9M RAM 25.0/8.0 MHz v01.10.00
1000RSX/1000RSX-HD 1M-9M RAM 25.0/8.0 MHz v01.10.00
According to http://nerdlypleasures.blogspot.com/2014/04/the-original-8-bit-ide-interface.html
According to http://nerdlypleasures.blogspot.com/2014/04/the-original-8-bit-ide-interface.html
the 286 based Tandy 1000 TL/2, TL/3, RLX, RLX-B and the 8086 based Tandy 1000RL & RL-HD
used XTA (8-bit IDE) harddisks.
*/

View File

@ -18,11 +18,11 @@ Notes:
buttons for shot direction (right/left) and club selection.
Twist the "shot controller" to adjust shot power, then release it.
The controller returns to its default position by internal spring.
TODO:
- glfgreat: imperfect protection emulation:
1. putting to MAX power on green causes the game to return an incorrect
1. putting to MAX power on green causes the game to return an incorrect
value a.k.a. it detects a bunker/rough/water hazard;
2. top/back spins doesn't seem to have any effect in-game;
- prmrsocr: when the field rotates before the penalty kicks, parts of the
@ -1622,7 +1622,7 @@ static INPUT_PORTS_START( glfgreat )
PORT_START("P3/P4")
KONAMI16_LSB( 3, IPT_BUTTON3, IPT_UNUSED ) PORT_PLAYER(3)
KONAMI16_MSB( 4, IPT_BUTTON3, IPT_UNUSED ) PORT_PLAYER(4)
// actually unused by World/US sets but still tested in service mode
PORT_START("CONTROLA")
PORT_BIT( 0xff, 0x00, IPT_PEDAL ) PORT_SENSITIVITY(35) PORT_KEYDELTA(35) PORT_PLAYER(1)
@ -1663,9 +1663,9 @@ static INPUT_PORTS_START( glfgreatj )
// (where stance button is on top of the ball shaped controller)
PORT_MODIFY("P1/P2")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 Stance Select Button")
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("P1 Left Direction Button")
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME("P1 Right Direction Button")
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) PORT_NAME("P1 Club Select Button")

View File

@ -4,28 +4,28 @@
Joker Lady
Lady Gum
Paradar
Winner
Paradar
Winner
© 1995? Videos A A
© 1995? Videos A A
TODO:
- Palette
- Unknown tile attributes
- Palette
- Unknown tile attributes
Notes:
Notes:
Probably manufactured in Italy since PCBs are marked 'lato componenti'
(components side) and 'lato saldature' (solder side). Lady Gum's 68HC705
ROM contains strings in French, though.
(components side) and 'lato saldature' (solder side). Lady Gum's 68HC705
ROM contains strings in French, though.
PCBs couldn't be tested so game titles are taken from ROM stickers.
The only complete dump is Lady Gum, all the others are missing at least
the 68HC705 internal ROM.
the 68HC705 internal ROM.
On the first service mode screen hold PROG (HOLD5), then push COIN (HOLD1)
to adjust the coin values.
On the first service mode screen hold PROG (HOLD5), then push COIN (HOLD1)
to adjust the coin values.
Hardware:
- CPU: MC68HC705C8ACS (verified on Winner, stickers/PCB marks say 68HC705)
@ -86,7 +86,7 @@ private:
required_ioport m_dip;
output_finder<6> m_lamps;
uint8_t maincpu_porta_r();
void maincpu_porta_w(uint8_t data);
void maincpu_portb_w(uint8_t data);
@ -277,7 +277,7 @@ void videosaa_state::maincpu_portb_w(uint8_t data)
m_lamps[5] = BIT(m_porta, 5);
break;
case 4:
case 4:
// always 0?
if (m_porta)
logerror("Latch 4 port A = %02x\n", m_porta);
@ -313,14 +313,14 @@ void videosaa_state::maincpu_portb_w(uint8_t data)
{
case 0:
m_video_latch[0] = m_portc;
if (m_video_latch[0] < 0x08)
{
offs_t address = (m_video_latch[0] << 8) | m_video_latch[1];
m_vram0[address] = m_video_latch[3];
m_vram1[address] = m_video_latch[2];
m_tilemap->mark_tile_dirty(address);
}
else
@ -331,11 +331,11 @@ void videosaa_state::maincpu_portb_w(uint8_t data)
case 1:
m_video_latch[1] = m_portc;
break;
case 2:
m_video_latch[2] = m_portc;
break;
case 3:
m_video_latch[3] = m_portc;
break;
@ -346,7 +346,7 @@ void videosaa_state::maincpu_portb_w(uint8_t data)
if (BIT(m_chip_latch, 7) == 0 && BIT(m_chip_latch, 6) == 1)
m_crtc->register_w(m_portc);
break;
default:

View File

@ -113,7 +113,7 @@ protected:
optional_device<msm5205_device> m_msm_2;
optional_memory_bank m_okibank;
optional_ioport_array<3> m_sgyxz_dsw;
};

View File

@ -57,7 +57,7 @@ private:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
optional_device<cpu_device> m_subcpu;
optional_device<cpu_device> m_mcu;
optional_device<cpu_device> m_mcu;
optional_device<m68705p_device> m_68705mcu;
required_device<ym2203_device> m_ymsnd;
required_device<gfxdecode_device> m_gfxdecode;

View File

@ -249,7 +249,7 @@ uint8_t abc1600_mac_device::read_user_memory(offs_t offset)
uint8_t data = space().read_byte(virtual_offset);
if (LOG_IO && virtual_offset >= 0x1fe000) logerror("%s user read %06x:%02x\n", machine().describe_context(), virtual_offset, data);
return data;
}
@ -266,7 +266,7 @@ void abc1600_mac_device::write_user_memory(offs_t offset, uint8_t data)
//if (nonx || !wp) return;
if (LOG_IO && virtual_offset >= 0x1fe000) logerror("%s user write %06x:%02x\n", machine().describe_context(), virtual_offset, data);
space().write_byte(virtual_offset, data);
}

View File

@ -105,7 +105,7 @@ void namco_51xx_device::write(uint8_t data)
TIMER_CALLBACK_MEMBER( namco_51xx_device::write_sync )
{
m_portO = param;
m_portO = param;
}
uint8_t namco_51xx_device::K_r()
@ -135,11 +135,11 @@ uint8_t namco_51xx_device::R3_r()
void namco_51xx_device::O_w(uint8_t data)
{
uint8_t out = (data & 0x0f);
if (data & 0x10)
m_portO = (m_portO & 0x0f) | (out << 4);
else
m_portO = (m_portO & 0xf0) | (out);
uint8_t out = (data & 0x0f);
if (data & 0x10)
m_portO = (m_portO & 0x0f) | (out << 4);
else
m_portO = (m_portO & 0xf0) | (out);
}
/***************************************************************************

View File

@ -18,9 +18,9 @@ public:
auto lockout_callback() { return m_lockout.bind(); }
DECLARE_WRITE_LINE_MEMBER( reset );
DECLARE_WRITE_LINE_MEMBER( vblank );
DECLARE_WRITE_LINE_MEMBER( rw );
DECLARE_WRITE_LINE_MEMBER( chip_select );
DECLARE_WRITE_LINE_MEMBER( vblank );
DECLARE_WRITE_LINE_MEMBER( rw );
DECLARE_WRITE_LINE_MEMBER( chip_select );
void write(uint8_t data);
uint8_t read();
@ -33,8 +33,8 @@ protected:
private:
// internal state
required_device<mb88_cpu_device> m_cpu;
uint8_t m_portO;
uint8_t m_rw;
uint8_t m_portO;
uint8_t m_rw;
devcb_read8::array<4> m_in;
devcb_write8 m_out;
devcb_write_line m_lockout;

View File

@ -58,7 +58,7 @@ DIMM controller registers
28 16bit dddd---c ------ba
a - 0->1 NAOMI reset
b - 1 activates sdram command "load mode register", followed by write 01010101 to bank 10 offset 000110 or 000190 depending on cas latency
address bits 12-3 correspond to bits A9-A0 in the sdram chip address bus when sending the command
address bits 12-3 correspond to bits A9-A0 in the sdram chip address bus when sending the command
c - unk, set to 1 in VxWorks, 0 in 1.02
d - unk, checked for == 1 in 1.02

View File

@ -36,7 +36,7 @@
same chipset used in Mogis M320, but uses more advanced feature set.
(more)
todo (VT03):
@ -764,8 +764,8 @@ int nes_vt_soc_device::calculate_real_video_address(int addr, int extended, int
used for MMC3/other mapper compatibility
some consoles have scrambled registers for crude copy protection
is this always there with VT based games? it maps where mappers would be on a NES cartridge
but then seems to be able to alter internal state of extended PPU registers, which is awkward
is this always there with VT based games? it maps where mappers would be on a NES cartridge
but then seems to be able to alter internal state of extended PPU registers, which is awkward
*/
void nes_vt_soc_device::scrambled_8000_w(address_space& space, uint16_t offset, uint8_t data)
@ -988,9 +988,9 @@ void nes_vt_soc_device::do_dma(uint8_t data, bool has_ntsc_bug)
//TODO (always false)
//else if ((dma_mode == 1) && ((m_ppu->get_vram_dest() & 0xFF00) == 0x3F01) && !(m_ppu->get_201x_reg(0x1) & 0x80))
//{
// // Legacy mode for DGUN-2573 compat
// m_ppu->set_vram_dest(0x3F00);
// m_ppu->set_palette_mode(PAL_MODE_VT0x);
// // Legacy mode for DGUN-2573 compat
// m_ppu->set_vram_dest(0x3F00);
// m_ppu->set_palette_mode(PAL_MODE_VT0x);
//}
for (int i = 0; i < length; i++)
@ -1139,7 +1139,7 @@ void nes_vt_soc_device::nes_vt_map(address_map &map)
map(0x4000, 0x4013).rw(m_apu, FUNC(nesapu_device::read), FUNC(nesapu_device::write));
map(0x4014, 0x4014).r(FUNC(nes_vt_soc_device::psg1_4014_r)).w(FUNC(nes_vt_soc_device::vt_dma_w));
map(0x4015, 0x4015).rw(FUNC(nes_vt_soc_device::psg1_4015_r), FUNC(nes_vt_soc_device::psg1_4015_w)); // PSG status / first control register
map(0x4016, 0x4016).rw(FUNC(nes_vt_soc_device::in0_r), FUNC(nes_vt_soc_device::in0_w));
@ -1160,7 +1160,7 @@ void nes_vt_soc_device::nes_vt_map(address_map &map)
map(0x4119, 0x4119).r(FUNC(nes_vt_soc_device::rs232flags_region_r));
// 0x411a RS232 TX data
// 0x411b RS232 RX data
map(0x8000, 0xffff).rw(FUNC(nes_vt_soc_device::external_space_read), FUNC(nes_vt_soc_device::external_space_write));
map(0x6000, 0x7fff).ram();
@ -1288,8 +1288,8 @@ void nes_vt_soc_4kram_device::nes_vt_4k_ram_map(address_map &map)
nes_vt_soc_device::nes_vt_map(map);
map(0x0800, 0x0fff).ram();
// map(0x412c, 0x412c).rw(FUNC(nes_vt_soc_4kram_device::vtfp_412c_r, FUNC(nes_vt_soc_4kram_device::vtfp_412c_extbank_w)); // GPIO
// map(0x412d, 0x412d).r(FUNC(nes_vt_soc_4kram_device::vtfp_412d_r)); // GPIO
// map(0x412c, 0x412c).rw(FUNC(nes_vt_soc_4kram_device::vtfp_412c_r, FUNC(nes_vt_soc_4kram_device::vtfp_412c_extbank_w)); // GPIO
// map(0x412d, 0x412d).r(FUNC(nes_vt_soc_4kram_device::vtfp_412d_r)); // GPIO
}
@ -1517,7 +1517,7 @@ void nes_vt_soc_4kram_fp_device::nes_vt_fp_map(address_map &map)
map(0x4242, 0x4242).w(FUNC(nes_vt_soc_4kram_fp_device::vtfp_4242_w));
map(0x4a00, 0x4a00).w(FUNC(nes_vt_soc_4kram_fp_device::vtfp_4a00_w));
map(0x4a00, 0x4a00).w(FUNC(nes_vt_soc_4kram_fp_device::vtfp_4a00_w));
}
void nes_vt_soc_4kram_fp_pal_device::device_add_mconfig(machine_config& config)

View File

@ -94,7 +94,7 @@ protected:
DECLARE_WRITE8_MEMBER(vt_fixed_dma_w);
void do_dma(uint8_t data, bool has_ntsc_bug);
DECLARE_WRITE8_MEMBER(vt03_4034_w);
DECLARE_READ8_MEMBER(in0_r);
DECLARE_READ8_MEMBER(in1_r);
DECLARE_WRITE8_MEMBER(in0_w);
@ -119,7 +119,7 @@ protected:
uint8_t m_410x_scramble[2];
uint8_t m_8000_addr_latch;
uint8_t m_4242;
uint8_t m_411c;
uint8_t m_411d;
@ -223,8 +223,8 @@ protected:
DECLARE_READ8_MEMBER(vt03_413x_r);
DECLARE_WRITE8_MEMBER(vt03_413x_w);
DECLARE_READ8_MEMBER(vt03_414f_r);
DECLARE_READ8_MEMBER(vt03_414f_r);
DECLARE_READ8_MEMBER(vt03_415c_r);
DECLARE_WRITE8_MEMBER(vt03_48ax_w);

View File

@ -276,8 +276,8 @@ marioj // (c) 1983 Nintendo
masao // bootleg
@source:mw8080bw.cpp
gunfight // 597 [1975] Dave Nutting Associates / Midway
gunfighto // 597 [1975] Dave Nutting Associates / Midway
gunfight // 597 [1975] Dave Nutting Associates / Midway
gunfighto // 597 [1975] Dave Nutting Associates / Midway
@source:palestra.cpp
palestra

View File

@ -164,7 +164,7 @@ VIDEO_START_MEMBER(cave_state,ppsatan)
Zoomed Sprites Drawing
Sprite format with zoom, 16 bytes per each sprites
Sprite format with zoom, 16 bytes per each sprites
Offset: Bits: Value:
@ -189,13 +189,13 @@ VIDEO_START_MEMBER(cave_state,ppsatan)
0E.w Unused
* S.9.6 Fixed point or 10 bit signed integer,
Configured from videoregs
* S.9.6 Fixed point or 10 bit signed integer,
Configured from videoregs
Sprites Drawing
Sprite format without zoom, 16 bytes per each sprites
Sprite format without zoom, 16 bytes per each sprites
Offset: Bits: Value:
@ -224,7 +224,7 @@ VIDEO_START_MEMBER(cave_state,ppsatan)
0E.w Unused
** 10 bit signed only? need verifications.
** 10 bit signed only? need verifications.
***************************************************************************/

View File

@ -707,7 +707,7 @@ static const struct gfx_range mapper_TK24B1_table[] =
/* type start end bank */
{ GFXTYPE_SPRITES, 0x0000, 0x5fff, 0 },
{ GFXTYPE_SCROLL1, 0x6000, 0x7fff, 0 },
{ GFXTYPE_SCROLL2, 0x4000, 0x7fff, 1 },
{ GFXTYPE_SCROLL3, 0x0000, 0x3fff, 1 },
{ 0 }
@ -951,7 +951,7 @@ static const struct gfx_range mapper_MS22B_table[] =
/* type start end bank */
{ GFXTYPE_SPRITES, 0x0000, 0x3fff, 0 },
{ GFXTYPE_SCROLL1, 0x4000, 0x4fff, 1 },
{ GFXTYPE_SCROLL2, 0x5000, 0x6fff, 1 },
{ GFXTYPE_SCROLL3, 0x7000, 0x7fff, 1 },
@ -969,8 +969,8 @@ static const struct gfx_range mapper_CK24B_table[] =
// bank 0 = pin 16 (ROMs 1,3,5,7)
// pins 12,14 allow to populate the 8-bit ROM sockets instead of the 16-bit ones:
// pin 12 (ROMs 10,12,14,16,20,22,24,26) = sprites 0000-2fff, scroll1 3000-3fff
// pin 14 (ROMs 11,13,15,17,21,23,25,27) = scroll2 4000-6fff, scroll3 7000-7fff
// pin 14 (ROMs 11,13,15,17,21,23,25,27) = scroll2 4000-6fff, scroll3 7000-7fff
/* type start end bank */
{ GFXTYPE_SPRITES, 0x0000, 0x2fff, 0 },
{ GFXTYPE_SCROLL1, 0x3000, 0x3fff, 0 },
@ -992,7 +992,7 @@ static const struct gfx_range mapper_CK22B_table[] =
/* type start end bank */
{ GFXTYPE_SPRITES, 0x0000, 0x2fff, 0 },
{ GFXTYPE_SCROLL1, 0x3000, 0x3fff, 0 },
{ GFXTYPE_SCROLL2, 0x4000, 0x6fff, 1 },
{ GFXTYPE_SCROLL3, 0x7000, 0x7fff, 1 },
{ 0 }
@ -1331,7 +1331,7 @@ static const struct gfx_range mapper_Q522B_table[] =
/* type start end bank */
{ GFXTYPE_SPRITES | GFXTYPE_SCROLL2, 0x00000, 0x03fff, 0 },
{ GFXTYPE_SPRITES | GFXTYPE_SCROLL2, 0x04000, 0x06fff, 1 },
{ GFXTYPE_SCROLL3, 0x07000, 0x077ff, 1 },
{ GFXTYPE_SCROLL1, 0x07800, 0x07fff, 1 },
@ -1650,7 +1650,7 @@ static const struct gfx_range mapper_KNM10B_table[] =
// bank0 = pin 19 (ROMs 1,3) & pin 18 (ROMs 2,4)
// bank1 = pin 17 (ROMs 5,7) & pin 16 (ROMs 6,8)
// bank2 = pin 15 (ROMs 10,12) & pin 14 (ROMs 11,13)
/* type start end bank */
{ GFXTYPE_SPRITES , 0x00000, 0x07fff, 0 },
{ GFXTYPE_SPRITES , 0x08000, 0x0ffff, 1 },
@ -1917,7 +1917,7 @@ static const struct CPS1config cps1_config_table[]=
{"pang3b3", CPS_B_17, mapper_CP1B1F }, /* EEPROM port is among the CPS registers (handled by DRIVER_INIT) */
{"ganbare", CPS_B_21_DEF, mapper_GBPR2 },
{"gulunpa", CPS_B_21_DEF, mapper_gulunpa }, // wrong
/* CPS Changer */
{"sfach", CPS_B_21_DEF, mapper_sfzch }, // wrong, this set uses an unknown PAL, still not dumped

View File

@ -204,15 +204,15 @@ void dpb7000_combiner_card_device::fsck_tick()
/*uint32_t dpb7000_combiner_card_device::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
for (int y = cliprect.min_y; y <= cliprect.max_y; y++)
{
uint32_t *dest = &bitmap.pix32(y, cliprect.min_x);
for (int x = cliprect.min_x; x <= cliprect.max_x && x < 256; x++)
{
*dest++ = 0xff000000 | (m_lum_out << 16) | (m_lum_out << 8) | m_lum_out;
}
}
return 0;
for (int y = cliprect.min_y; y <= cliprect.max_y; y++)
{
uint32_t *dest = &bitmap.pix32(y, cliprect.min_x);
for (int x = cliprect.min_x; x <= cliprect.max_x && x < 256; x++)
{
*dest++ = 0xff000000 | (m_lum_out << 16) | (m_lum_out << 8) | m_lum_out;
}
}
return 0;
}*/
void dpb7000_combiner_card_device::reg_w(uint16_t data)

View File

@ -32,7 +32,7 @@ TILE_GET_INFO_MEMBER(drgnmst_base_state::get_fg_tile_info)
tileno = m_fg_videoram[tile_index * 2] & 0xfff;
colour = m_fg_videoram[tile_index * 2 + 1] & 0x1f;
flipyx = (m_fg_videoram[tile_index * 2 + 1] & 0x60)>>5;
if ((m_fg_videoram[tile_index * 2] & 0x4000))
tileno |= 0x10000;
@ -40,8 +40,8 @@ TILE_GET_INFO_MEMBER(drgnmst_base_state::get_fg_tile_info)
tileno |= 0x8000;
tileno ^= 0x18000;
// tileno |= (BIT(tile_index, 5)) << 15; // 8x8 tile bank seems like cps1 (not on mastfury at least)
// tileno |= (BIT(tile_index, 5)) << 15; // 8x8 tile bank seems like cps1 (not on mastfury at least)
tileinfo.set(1, tileno, colour, TILE_FLIPYX(flipyx));
}

View File

@ -143,7 +143,7 @@ void elan_eu3a05vid_device::draw_sprites(screen_device &screen, bitmap_ind16 &bi
aa = same as unk2 on tiles? ( --pp ---- )
p = page
p = page
FF = flags ( e-dD fFsS )
e = enable
@ -226,7 +226,7 @@ void elan_eu3a05vid_device::draw_sprites(screen_device &screen, bitmap_ind16 &bi
int base = (m_sprite_gfxbase_lo_data | (m_sprite_gfxbase_hi_data << 8)) * 0x100;
int page = (unk2 & 0x30) >> 4;
// rad_sinv menu screen and phoenix don't agree with this, but carlecfg needs it
if (m_use_spritepages)
{

View File

@ -491,7 +491,7 @@ void konamigx_state::konamigx_mixer(screen_device &screen, bitmap_rgb32 &bitmap,
u32 start_addr = m_type3_spriteram_bank ? 0x800 : 0;
u32 end_addr = start_addr + 0x800;
for (int offs=start_addr; offs<end_addr; offs+=8)
{

View File

@ -55,14 +55,14 @@ WRITE8_MEMBER(malzak_state::playfield_w)
m_playfield_code[tile] = data;
m_playfield_tilemap->mark_tile_dirty(tile);
// POST only, adds to the scrollx base address?
// if (offset & 0xf)
// popmessage("GFX: 0x16%02x write 0x%02x\n", offset, data);
// if (offset & 0xf)
// popmessage("GFX: 0x16%02x write 0x%02x\n", offset, data);
}
TILE_GET_INFO_MEMBER(malzak_state::get_tile_info)
{
u8 code = (m_playfield_code[tile_index] & 0x1f) | (m_playfield_bank << 5);
u8 color = ((m_playfield_code[tile_index] & 0xe0) >> 5);
u8 color = ((m_playfield_code[tile_index] & 0xe0) >> 5);
tileinfo.set(0, code, color, 0);
}
@ -99,7 +99,7 @@ uint32_t malzak_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap
int s2636_pix_1 = s2636_1_bitmap.pix16(sy, sx);
rgb_t trom_pix = m_trom_bitmap->pix32(y, x);
rgb_t play_pix = m_playfield_bitmap->pix32(sy, sx);
// SAA5050 > s2636[1] > s2636[0] > playfield
if (trom_pix != rgb_t::black())
bitmap.pix32(y, x) = trom_pix;

View File

@ -3,49 +3,49 @@
/*
Open questions:
- In f1en, the scrolling text in attract mode is very jumpy. Whatever
double buffering they are using seems to be out of sync with the sprite
rendering.
- In f1en, the scrolling text in attract mode is very jumpy. Whatever
double buffering they are using seems to be out of sync with the sprite
rendering.
- In radr, NBG1 should be opaque on select screen, and NBG3 should be
opaque while driving.
This is controlled by register $31ff8e (respectively $200 and $800),
likewise darkedge sets $800 on the first attract fight
(which has ugly black pens which should be white according to the ref).
harddunk sets $0f00 which completely breaks text display if current
hookup is enabled.
The theory is that opaque pens should go above background layer and
behind everything else like System 24.
- In radr, NBG1 should be opaque on select screen, and NBG3 should be
opaque while driving.
This is controlled by register $31ff8e (respectively $200 and $800),
likewise darkedge sets $800 on the first attract fight
(which has ugly black pens which should be white according to the ref).
harddunk sets $0f00 which completely breaks text display if current
hookup is enabled.
The theory is that opaque pens should go above background layer and
behind everything else like System 24.
- radr uses $1A0 as the X center for zooming; however, this
contradicts the theory that bit 9 is a sign bit. For now, the code
assumes that the X center has 10 bits of resolution.
- radr uses $1A0 as the X center for zooming; however, this
contradicts the theory that bit 9 is a sign bit. For now, the code
assumes that the X center has 10 bits of resolution.
- In svf (the field) and radr (on the field), they use tilemap-specific
flip in conjunction with rowscroll AND rowselect. According to Charles,
in this case, the rowselect lookups should be done in reverse order,
but this results in an incorrect display. For now, we assume there is
a bug in the procedure and implement it so that it looks correct.
- In svf (the field) and radr (on the field), they use tilemap-specific
flip in conjunction with rowscroll AND rowselect. According to Charles,
in this case, the rowselect lookups should be done in reverse order,
but this results in an incorrect display. For now, we assume there is
a bug in the procedure and implement it so that it looks correct.
- titlef NBG0 and NBG2 layers are currently hidden during gameplay.
It sets $31ff02 with either $7be0 and $2960 (and $31ff8e is $c00).
Game actually uses the "rowscroll/rowselect" tables for a line window
effect to draw the boxing ring over NBG0.
Same deal for ga2 when in stage 2 cave a wall torch is lit.
- harddunk draws solid white in attract mode when the players are presented.
NBG0 is set with $200 on center X/Y, same as above or perhaps missing
tilemap wraparound?
- titlef NBG0 and NBG2 layers are currently hidden during gameplay.
It sets $31ff02 with either $7be0 and $2960 (and $31ff8e is $c00).
Game actually uses the "rowscroll/rowselect" tables for a line window
effect to draw the boxing ring over NBG0.
Same deal for ga2 when in stage 2 cave a wall torch is lit.
- harddunk draws solid white in attract mode when the players are presented.
NBG0 is set with $200 on center X/Y, same as above or perhaps missing
tilemap wraparound?
- Wrong priority cases (parenthesis for the level setup):
dbzvrvs: draws text layer ($e) behind sprite-based gauges ($f).
dbzvrvs: Sheng-Long speech balloon during Piccoro ending (fixme: check levels).
f1lap: attract mode ranking sprite-based text ($a) vs. road ($d)
f1lap: attract mode map display (after aforementioned), sprite-based turn names
($a) are hidden by map ($d) again;
(Note: Theory about these being CPU core bug(s) is debunked by the fact that latter
sets up via immediate opcodes)
- Wrong priority cases (parenthesis for the level setup):
dbzvrvs: draws text layer ($e) behind sprite-based gauges ($f).
dbzvrvs: Sheng-Long speech balloon during Piccoro ending (fixme: check levels).
f1lap: attract mode ranking sprite-based text ($a) vs. road ($d)
f1lap: attract mode map display (after aforementioned), sprite-based turn names
($a) are hidden by map ($d) again;
(Note: Theory about these being CPU core bug(s) is debunked by the fact that latter
sets up via immediate opcodes)
Information extracted from below, and from Modeler:
Tile format:
@ -73,15 +73,15 @@
---- ---- ---- --1- : 1= X+Y flip for NBG1
---- ---- ---- ---0 : 1= X+Y flip for NBG0
$31FF02 : x--- ---- --x- ---- : Bitmap layer enable (?)
-x-- ---- ---- ---- : 1= NBG3 page wrapping disable (clipping enable according to code?)
--x- ---- ---- ---- : 1= NBG2 page wrapping disable
-x-- ---- ---- ---- : 1= NBG3 page wrapping disable (clipping enable according to code?)
--x- ---- ---- ---- : 1= NBG2 page wrapping disable
---1 ---- ---- ---- : 1= NBG1 page wrapping disable
---- 0--- ---- ---- : 1= NBG0 page wrapping disable
---- -x-- ---- ---- : 1= bitmap layer clipping mode (1=outside)
---- --x- ---- ---- : 1= NBG3 clipping mode (1=outside)
---- ---x ---- ---- : 1= NBG2 clipping mode (1=outside)
---- ---- x--- ---- : 1= NBG1 clipping mode (1=outside)
---- ---- -x-- ---- : 1= NBG0 clipping mode (1=outside)
---- -x-- ---- ---- : 1= bitmap layer clipping mode (1=outside)
---- --x- ---- ---- : 1= NBG3 clipping mode (1=outside)
---- ---x ---- ---- : 1= NBG2 clipping mode (1=outside)
---- ---- x--- ---- : 1= NBG1 clipping mode (1=outside)
---- ---- -x-- ---- : 1= NBG0 clipping mode (1=outside)
---- ---- --b- ---- : 1= Bitmap layer disable
---- ---- ---t ---- : 1= Text layer disable
---- ---- ---- 3--- : 1= NBG3 layer disable
@ -1240,7 +1240,7 @@ void segas32_state::update_background(struct segas32_state::layer_info *layer, c
{
bitmap_ind16 &bitmap = *layer->bitmap;
int x, y;
for (y = cliprect.min_y; y <= cliprect.max_y; y++)
{
uint16_t *dst = &bitmap.pix16(y);

View File

@ -3570,11 +3570,11 @@ int nv2a_renderer::execute_method_3d(address_space& space, uint32_t chanel, uint
offset = data;
texture[unit].buffer = direct_access_ptr(offset);
/*if (dma0 != 0) {
dmahand=channel[channel][subchannel].object.method[0x184/4];
geforce_read_dma_object(dmahand,dmaoff,dmasiz);
dmahand=channel[channel][subchannel].object.method[0x184/4];
geforce_read_dma_object(dmahand,dmaoff,dmasiz);
} else if (dma1 != 0) {
dmahand=channel[channel][subchannel].object.method[0x188/4];
geforce_read_dma_object(dmahand,dmaoff,dmasiz);
dmahand=channel[channel][subchannel].object.method[0x188/4];
geforce_read_dma_object(dmahand,dmaoff,dmasiz);
}*/
}
if (maddress == 0x1b04) {
@ -4631,7 +4631,7 @@ void nv2a_renderer::combiner_compute_a_outputs(int stage_number)
WRITE_LINE_MEMBER(nv2a_renderer::vblank_callback)
{
/*#ifdef LOG_NV2A
printf("vblank_callback\n\r");
printf("vblank_callback\n\r");
#endif*/
if ((state != 0) && (puller_waiting == 1)) {
puller_waiting = 0;

View File

@ -2208,7 +2208,7 @@ static pal_data paldata[] = {
nullptr},
/*{"GAL20V8A", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},
{"GAL22V10", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},*/
{"PAL22V10", 5828,
{"PAL22V10", 5828,
palce22v10_pal22v10pinfuserows, ARRAY_LENGTH(palce22v10_pal22v10pinfuserows),
palce22v10_pal22v10pinfusecolumns, ARRAY_LENGTH(palce22v10_pal22v10pinfusecolumns),
print_palce22v10_pal22v10_product_terms,