mirror of
https://github.com/holub/mame
synced 2025-04-20 15:32:45 +03:00
srcclean and manual cleanup (nw)
This commit is contained in:
parent
2305442f6a
commit
8a923f9361
@ -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">
|
||||
|
@ -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">
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -13228,7 +13228,7 @@ clips onto the player's ear.
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<software name="vpointp">
|
||||
<description>Viewpoint 2064 (Prototype)</description>
|
||||
<year>1999</year>
|
||||
|
@ -10819,7 +10819,7 @@ license:CC0
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
|
||||
<software name="mslug5b" cloneof="mslug5">
|
||||
<description>Metal Slug 5 (bootleg)</description>
|
||||
<year>2003</year>
|
||||
|
@ -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><unknown></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 & 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>
|
||||
|
@ -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 -->
|
||||
|
||||
|
@ -249,9 +249,9 @@ if #disasm_files > 0 then
|
||||
}
|
||||
end
|
||||
if (MACHINES["NETLIST"]~=null) then
|
||||
links {
|
||||
"netlist",
|
||||
}
|
||||
links {
|
||||
"netlist",
|
||||
}
|
||||
end
|
||||
links {
|
||||
"utils",
|
||||
|
@ -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",
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
*/
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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];
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
};
|
||||
|
||||
//**************************************************************************
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
};
|
||||
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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".
|
||||
|
@ -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
|
||||
|
||||
*/
|
||||
|
||||
|
@ -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];
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 ?
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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) )
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
||||
|
||||
|
@ -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 )
|
||||
|
@ -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")
|
||||
|
@ -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?
|
||||
|
||||
*******************************************************************************/
|
||||
|
||||
|
@ -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) )
|
||||
|
@ -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 )
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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 )
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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");
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
*/
|
||||
|
@ -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.
|
||||
*/
|
||||
|
@ -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")
|
||||
|
@ -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:
|
||||
|
@ -113,7 +113,7 @@ protected:
|
||||
optional_device<msm5205_device> m_msm_2;
|
||||
|
||||
optional_memory_bank m_okibank;
|
||||
|
||||
|
||||
optional_ioport_array<3> m_sgyxz_dsw;
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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));
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user