mirror of
https://github.com/holub/mame
synced 2025-06-30 07:58:56 +03:00
(MESS) gameboy, gbcolor: added a configuration setting
(off by default) to skip BIOS checks at boot. This allows the recently dumped Rockman World Prototype to be played, and the Rocket Games pirate GBC carts too. [Fabio Priuli] (MESS) gba: added a configuration setting (off by default) to skip some BIOS checks at boot. This allows Tyrian 2000 Prototype to be played. [Fabio Priuli] out of whatsnew: for the Rocket Games pirates it is currently unclear how real carts were bypassing the BIOS checks on a real unit, and it would be nice to emulate it properly. however, this trick allows to go on fixing the rest of mapper emulation until it's fully understood.
This commit is contained in:
parent
28e4a813a4
commit
2a4d327e01
@ -17257,12 +17257,12 @@
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- does this fails the internal BIOS check? -->
|
<software name="rockmanp" cloneof="megaman">
|
||||||
<software name="rockmanp" cloneof="megaman" supported="no">
|
|
||||||
<description>Rockman World (Jpn, Prototype)</description>
|
<description>Rockman World (Jpn, Prototype)</description>
|
||||||
<year>1991</year>
|
<year>1991</year>
|
||||||
<publisher>Capcom</publisher>
|
<publisher>Capcom</publisher>
|
||||||
<info name="alt_title" value="ロックマンワールド"/>
|
<info name="alt_title" value="ロックマンワールド"/>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_mbc1" />
|
<feature name="slot" value="rom_mbc1" />
|
||||||
<dataarea name="rom" size="262144">
|
<dataarea name="rom" size="262144">
|
||||||
|
@ -35036,6 +35036,7 @@ The cart also contained a non-empty SRAM save which we currently include in the
|
|||||||
<year>2003</year>
|
<year>2003</year>
|
||||||
<publisher>Empire Entertainment</publisher>
|
<publisher>Empire Entertainment</publisher>
|
||||||
<part name="cart" interface="gba_cart">
|
<part name="cart" interface="gba_cart">
|
||||||
|
<feature name="slot" value="gba_eeprom_4k" />
|
||||||
<dataarea name="rom" size="4231928">
|
<dataarea name="rom" size="4231928">
|
||||||
<rom name="starsky & hutch (usa) (beta).bin" size="4231928" crc="ab142d2e" sha1="861066ddf8b52be194b30cbb70e959989f0a2f76" offset="000000" />
|
<rom name="starsky & hutch (usa) (beta).bin" size="4231928" crc="ab142d2e" sha1="861066ddf8b52be194b30cbb70e959989f0a2f76" offset="000000" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
@ -38439,10 +38440,11 @@ The cart also contained a non-empty SRAM save which we currently include in the
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="tyrian2k" supported="no">
|
<software name="tyrian2k">
|
||||||
<description>Tyrian 2000 (USA, Prototype)</description>
|
<description>Tyrian 2000 (USA, Prototype)</description>
|
||||||
<year>19??</year>
|
<year>19??</year>
|
||||||
<publisher>Stealth Productions</publisher>
|
<publisher>Stealth Productions</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gba_cart">
|
<part name="cart" interface="gba_cart">
|
||||||
<dataarea name="rom" size="2681544">
|
<dataarea name="rom" size="2681544">
|
||||||
<rom name="tyrian 2000 (usa) (proto).bin" size="2681544" crc="e5acba28" sha1="5148f40a58bc3d4512aced0f052f64b8c883ba87" offset="000000" />
|
<rom name="tyrian 2000 (usa) (proto).bin" size="2681544" crc="e5acba28" sha1="5148f40a58bc3d4512aced0f052f64b8c883ba87" offset="000000" />
|
||||||
|
@ -23273,11 +23273,12 @@ Rocket Games
|
|||||||
These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<software name="atvrackj" supported="no">
|
<software name="atvrackj" supported="partial">
|
||||||
<!-- Notes: GBC only -->
|
<!-- Notes: GBC only -->
|
||||||
<description>ATV Racing & Karate Joe (Euro)</description>
|
<description>ATV Racing & Karate Joe (Euro)</description>
|
||||||
<year>200?</year>
|
<year>200?</year>
|
||||||
<publisher>Rocket Games</publisher>
|
<publisher>Rocket Games</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_atvrac" />
|
<feature name="slot" value="rom_atvrac" />
|
||||||
<dataarea name="rom" size="524288">
|
<dataarea name="rom" size="524288">
|
||||||
@ -23288,11 +23289,12 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="atvrackja" cloneof="atvrackj" supported="no">
|
<software name="atvrackja" cloneof="atvrackj" supported="partial">
|
||||||
<!-- Notes: GBC only -->
|
<!-- Notes: GBC only -->
|
||||||
<description>ATV Racing & Karate Joe (Euro, Alt)</description>
|
<description>ATV Racing & Karate Joe (Euro, Alt)</description>
|
||||||
<year>200?</year>
|
<year>200?</year>
|
||||||
<publisher>Rocket Games</publisher>
|
<publisher>Rocket Games</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_atvrac" />
|
<feature name="slot" value="rom_atvrac" />
|
||||||
<dataarea name="rom" size="524288">
|
<dataarea name="rom" size="524288">
|
||||||
@ -23303,10 +23305,11 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="atvracin" supported="no">
|
<software name="atvracin">
|
||||||
<description>ATV Racing (Euro)</description>
|
<description>ATV Racing (Euro)</description>
|
||||||
<year>2001</year>
|
<year>2001</year>
|
||||||
<publisher>Rocket Games</publisher>
|
<publisher>Rocket Games</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_atvrac" />
|
<feature name="slot" value="rom_atvrac" />
|
||||||
<dataarea name="rom" size="262144">
|
<dataarea name="rom" size="262144">
|
||||||
@ -23317,11 +23320,12 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="fullhang" supported="no">
|
<software name="fullhang" supported="partial">
|
||||||
<!-- Notes: GBC only -->
|
<!-- Notes: GBC only -->
|
||||||
<description>Full Time Soccer & Hang Time Basketball (Euro)</description>
|
<description>Full Time Soccer & Hang Time Basketball (Euro)</description>
|
||||||
<year>200?</year>
|
<year>200?</year>
|
||||||
<publisher>Rocket Games</publisher>
|
<publisher>Rocket Games</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_atvrac" />
|
<feature name="slot" value="rom_atvrac" />
|
||||||
<dataarea name="rom" size="524288">
|
<dataarea name="rom" size="524288">
|
||||||
@ -23332,10 +23336,11 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="fulltime" supported="no">
|
<software name="fulltime">
|
||||||
<description>Full Time Soccer (Euro)</description>
|
<description>Full Time Soccer (Euro)</description>
|
||||||
<year>2000</year>
|
<year>2000</year>
|
||||||
<publisher>Rocket Games</publisher>
|
<publisher>Rocket Games</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_atvrac" />
|
<feature name="slot" value="rom_atvrac" />
|
||||||
<dataarea name="rom" size="262144">
|
<dataarea name="rom" size="262144">
|
||||||
@ -23346,24 +23351,12 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- This has been hacked to run on MBC01 mapper -->
|
<software name="hangtime">
|
||||||
<software name="fulltimeh" cloneof="fulltime">
|
|
||||||
<description>Full Time Soccer (Euro, Hacked)</description>
|
|
||||||
<year>2000</year>
|
|
||||||
<publisher>Rocket Games</publisher>
|
|
||||||
<part name="cart" interface="gameboy_cart">
|
|
||||||
<feature name="slot" value="rom_mbc1" />
|
|
||||||
<dataarea name="rom" size="262144">
|
|
||||||
<rom name="full time soccer (hacked) (unl).bin" size="262144" crc="655476f9" sha1="0d6c5f931223ea393a3f6bc1ecd1a18c1f889273" offset="000000" />
|
|
||||||
</dataarea>
|
|
||||||
</part>
|
|
||||||
</software>
|
|
||||||
|
|
||||||
<software name="hangtime" supported="no">
|
|
||||||
<!-- Notes: GBC only -->
|
<!-- Notes: GBC only -->
|
||||||
<description>Hang Time Basketball (Euro)</description>
|
<description>Hang Time Basketball (Euro)</description>
|
||||||
<year>200?</year>
|
<year>200?</year>
|
||||||
<publisher>Rocket Games</publisher>
|
<publisher>Rocket Games</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_atvrac" />
|
<feature name="slot" value="rom_atvrac" />
|
||||||
<dataarea name="rom" size="262144">
|
<dataarea name="rom" size="262144">
|
||||||
@ -23374,11 +23367,12 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="pocksmrt" supported="no">
|
<software name="pocksmrt" supported="partial">
|
||||||
<!-- Notes: GBC only -->
|
<!-- Notes: GBC only -->
|
||||||
<description>Pocket Smash Out & Race Time (Euro)</description>
|
<description>Pocket Smash Out & Race Time (Euro)</description>
|
||||||
<year>200?</year>
|
<year>200?</year>
|
||||||
<publisher>Rocket Games</publisher>
|
<publisher>Rocket Games</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_atvrac" />
|
<feature name="slot" value="rom_atvrac" />
|
||||||
<dataarea name="rom" size="524288">
|
<dataarea name="rom" size="524288">
|
||||||
@ -23392,6 +23386,7 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
<description>Pocket Smash Out (Euro)</description>
|
<description>Pocket Smash Out (Euro)</description>
|
||||||
<year>200?</year>
|
<year>200?</year>
|
||||||
<publisher>Rocket Games</publisher>
|
<publisher>Rocket Games</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_atvrac" />
|
<feature name="slot" value="rom_atvrac" />
|
||||||
<dataarea name="rom" size="262144">
|
<dataarea name="rom" size="262144">
|
||||||
@ -23402,11 +23397,12 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="karatej" supported="no">
|
<software name="karatej" supported="partial">
|
||||||
<!-- Notes: GBC only -->
|
<!-- Notes: GBC only -->
|
||||||
<description>Karate Joe (Euro)</description>
|
<description>Karate Joe (Euro)</description>
|
||||||
<year>200?</year>
|
<year>200?</year>
|
||||||
<publisher>Rocket Games</publisher>
|
<publisher>Rocket Games</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_atvrac" />
|
<feature name="slot" value="rom_atvrac" />
|
||||||
<dataarea name="rom" size="262144">
|
<dataarea name="rom" size="262144">
|
||||||
@ -23415,10 +23411,11 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="painter" supported="no">
|
<software name="painter">
|
||||||
<description>Painter (Euro)</description>
|
<description>Painter (Euro)</description>
|
||||||
<year>200?</year>
|
<year>200?</year>
|
||||||
<publisher>Rocket Games</publisher>
|
<publisher>Rocket Games</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_atvrac" />
|
<feature name="slot" value="rom_atvrac" />
|
||||||
<dataarea name="rom" size="262144">
|
<dataarea name="rom" size="262144">
|
||||||
@ -23427,11 +23424,12 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="racetime" supported="no">
|
<software name="racetime">
|
||||||
<!-- Notes: GBC only -->
|
<!-- Notes: GBC only -->
|
||||||
<description>Race Time (Euro)</description>
|
<description>Race Time (Euro)</description>
|
||||||
<year>200?</year>
|
<year>200?</year>
|
||||||
<publisher>Rocket Games</publisher>
|
<publisher>Rocket Games</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_atvrac" />
|
<feature name="slot" value="rom_atvrac" />
|
||||||
<dataarea name="rom" size="262144">
|
<dataarea name="rom" size="262144">
|
||||||
@ -23440,25 +23438,12 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- This has been hacked to run on MBC01 mapper -->
|
<software name="sinkj" supported="partial">
|
||||||
<software name="racetimeh" cloneof="racetime">
|
|
||||||
<!-- Notes: GBC only -->
|
|
||||||
<description>Race Time (Euro, Hacked)</description>
|
|
||||||
<year>200?</year>
|
|
||||||
<publisher>Rocket Games</publisher>
|
|
||||||
<part name="cart" interface="gameboy_cart">
|
|
||||||
<feature name="slot" value="rom_mbc1" />
|
|
||||||
<dataarea name="rom" size="262144">
|
|
||||||
<rom name="race time (hacked) (unl).bin" size="262144" crc="8a5fa98c" sha1="8d8d6c3f5545edbd50813a22fb666c106ceb140b" offset="000000" />
|
|
||||||
</dataarea>
|
|
||||||
</part>
|
|
||||||
</software>
|
|
||||||
|
|
||||||
<software name="sinkj" supported="no">
|
|
||||||
<!-- Notes: GBC only -->
|
<!-- Notes: GBC only -->
|
||||||
<description>Space Invasion & Karate Joe (Euro)</description>
|
<description>Space Invasion & Karate Joe (Euro)</description>
|
||||||
<year>200?</year>
|
<year>200?</year>
|
||||||
<publisher>Rocket Games</publisher>
|
<publisher>Rocket Games</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_atvrac" />
|
<feature name="slot" value="rom_atvrac" />
|
||||||
<dataarea name="rom" size="524288">
|
<dataarea name="rom" size="524288">
|
||||||
@ -23469,11 +23454,12 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="sinpntr" supported="no">
|
<software name="sinpntr" supported="partial">
|
||||||
<!-- Notes: GBC only -->
|
<!-- Notes: GBC only -->
|
||||||
<description>Space Invasion & Painter (Euro)</description>
|
<description>Space Invasion & Painter (Euro)</description>
|
||||||
<year>200?</year>
|
<year>200?</year>
|
||||||
<publisher>Rocket Games</publisher>
|
<publisher>Rocket Games</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_atvrac" />
|
<feature name="slot" value="rom_atvrac" />
|
||||||
<dataarea name="rom" size="524288">
|
<dataarea name="rom" size="524288">
|
||||||
@ -23484,11 +23470,12 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="sinvasn" supported="no">
|
<software name="sinvasn" supported="partial">
|
||||||
<!-- Notes: GBC only -->
|
<!-- Notes: GBC only -->
|
||||||
<description>Space Invasion (Euro)</description>
|
<description>Space Invasion (Euro)</description>
|
||||||
<year>200?</year>
|
<year>200?</year>
|
||||||
<publisher>Rocket Games</publisher>
|
<publisher>Rocket Games</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_atvrac" />
|
<feature name="slot" value="rom_atvrac" />
|
||||||
<dataarea name="rom" size="131072">
|
<dataarea name="rom" size="131072">
|
||||||
@ -24058,10 +24045,11 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<software name="iceage2a" cloneof="iceage2" supported="no">
|
<software name="iceage2a" cloneof="iceage2">
|
||||||
<description>Ice Age II (Chi)</description>
|
<description>Ice Age II (Chi)</description>
|
||||||
<year>20??</year>
|
<year>20??</year>
|
||||||
<publisher>Sintax</publisher>
|
<publisher>Sintax</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_mbc5" />
|
<feature name="slot" value="rom_mbc5" />
|
||||||
<!-- cartridge ram -->
|
<!-- cartridge ram -->
|
||||||
@ -25487,36 +25475,19 @@ These were produced between 2000 and 2001 by Rocket Games, run by Datel Design
|
|||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
|
||||||
<!-- works on gbpocket -->
|
|
||||||
<software name="sqsd">
|
<software name="sqsd">
|
||||||
<!-- Alt. Title: 石器時代 精靈王誕生 (Stone Age - Birth of the Goblin King) -->
|
<!-- Alt. Title: 石器時代 精靈王誕生 (Stone Age - Birth of the Goblin King) -->
|
||||||
<description>Shi Qi Shi Dai - Jing Ling Wang Dan Sheng (Chi)</description>
|
<description>Shi Qi Shi Dai - Jing Ling Wang Dan Sheng (Chi)</description>
|
||||||
<year>20??</year>
|
<year>20??</year>
|
||||||
<publisher>GOWIN</publisher>
|
<publisher>GOWIN</publisher>
|
||||||
|
<info name="usage" value="Enable 'Skip BIOS check' configuration setting to boot"/>
|
||||||
<part name="cart" interface="gameboy_cart">
|
<part name="cart" interface="gameboy_cart">
|
||||||
<feature name="slot" value="rom_yong" />
|
<feature name="slot" value="rom_yong" />
|
||||||
<!-- cartridge ram -->
|
<!-- cartridge ram -->
|
||||||
<dataarea name="rom" size="4194304">
|
<dataarea name="rom" size="4194304">
|
||||||
<rom name="stone age (unl).bin" size="4194304" crc="e7d9d377" sha1="f88f605960c1573aa8bc5fafab19014b0d987729" offset="000000" />
|
<rom name="stone age (unl).bin" size="4194304" crc="e7d9d377" sha1="f88f605960c1573aa8bc5fafab19014b0d987729" offset="000000" />
|
||||||
</dataarea>
|
</dataarea>
|
||||||
<dataarea name="nvram" size="8192">
|
<dataarea name="nvram" size="8192"> <!-- or 65536 ? -->
|
||||||
</dataarea>
|
|
||||||
</part>
|
|
||||||
</software>
|
|
||||||
|
|
||||||
<!-- works on gbpocket -->
|
|
||||||
<software name="sqsdh" cloneof="sqsd">
|
|
||||||
<!-- Alt. Title: 石器時代 精靈王誕生 (Stone Age - Birth of the Goblin King) -->
|
|
||||||
<description>Shi Qi Shi Dai - Jing Ling Wang Dan Sheng (Chi, Hacked?)</description>
|
|
||||||
<year>20??</year>
|
|
||||||
<publisher>GOWIN</publisher>
|
|
||||||
<part name="cart" interface="gameboy_cart">
|
|
||||||
<feature name="slot" value="rom_yong" />
|
|
||||||
<!-- cartridge ram -->
|
|
||||||
<dataarea name="rom" size="4194304">
|
|
||||||
<rom name="stone age (unl)(hacked).bin" size="4194304" crc="2ffe697c" sha1="b992f280b5dd2095c8f430282c5dba69c6a10eb4" offset="000000" />
|
|
||||||
</dataarea>
|
|
||||||
<dataarea name="nvram" size="65536">
|
|
||||||
</dataarea>
|
</dataarea>
|
||||||
</part>
|
</part>
|
||||||
</software>
|
</software>
|
||||||
|
@ -294,13 +294,11 @@ bool base_gb_cart_slot_device::call_load()
|
|||||||
offset = 0;
|
offset = 0;
|
||||||
if (get_mmm01_candidate(ROM, len))
|
if (get_mmm01_candidate(ROM, len))
|
||||||
offset = len - 0x8000;
|
offset = len - 0x8000;
|
||||||
int type;
|
|
||||||
|
|
||||||
if (software_entry() != NULL)
|
if (software_entry() != NULL)
|
||||||
type = gb_get_pcb_id(get_feature("slot") ? get_feature("slot") : "rom");
|
m_type = gb_get_pcb_id(get_feature("slot") ? get_feature("slot") : "rom");
|
||||||
else
|
else
|
||||||
type = get_cart_type(ROM + offset, len - offset);
|
m_type = get_cart_type(ROM + offset, len - offset);
|
||||||
|
|
||||||
|
|
||||||
// setup RAM/NVRAM/RTC/RUMBLE
|
// setup RAM/NVRAM/RTC/RUMBLE
|
||||||
if (software_entry() != NULL)
|
if (software_entry() != NULL)
|
||||||
@ -371,7 +369,7 @@ bool base_gb_cart_slot_device::call_load()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type == GB_MBC_MBC2 || type == GB_MBC_MBC7)
|
if (m_type == GB_MBC_MBC2 || m_type == GB_MBC_MBC7)
|
||||||
rambanks = 1;
|
rambanks = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -384,7 +382,7 @@ bool base_gb_cart_slot_device::call_load()
|
|||||||
if (m_cart->get_ram_size() && m_cart->get_has_battery())
|
if (m_cart->get_ram_size() && m_cart->get_has_battery())
|
||||||
battery_load(m_cart->get_ram_base(), m_cart->get_ram_size(), 0xff);
|
battery_load(m_cart->get_ram_base(), m_cart->get_ram_size(), 0xff);
|
||||||
|
|
||||||
//printf("Type: %s\n", gb_get_slot(type));
|
//printf("Type: %s\n", gb_get_slot(m_type));
|
||||||
|
|
||||||
internal_header_logging(ROM + offset, len);
|
internal_header_logging(ROM + offset, len);
|
||||||
|
|
||||||
@ -566,6 +564,7 @@ int base_gb_cart_slot_device::get_cart_type(UINT8 *ROM, UINT32 len)
|
|||||||
|
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-------------------------------------------------
|
/*-------------------------------------------------
|
||||||
get default card software
|
get default card software
|
||||||
-------------------------------------------------*/
|
-------------------------------------------------*/
|
||||||
|
@ -436,6 +436,16 @@ READ8_MEMBER(gb_state::gb_cart_r)
|
|||||||
if (offset < 0x100)
|
if (offset < 0x100)
|
||||||
{
|
{
|
||||||
UINT8 *ROM = m_region_maincpu->base();
|
UINT8 *ROM = m_region_maincpu->base();
|
||||||
|
if (m_bios_hack->read())
|
||||||
|
{
|
||||||
|
// patch out logo and checksum checks
|
||||||
|
// (useful to run some pirate carts until we implement
|
||||||
|
// their complete functionalities + to test homebrew)
|
||||||
|
if (offset == 0xe9 || offset == 0xea)
|
||||||
|
return 0x00;
|
||||||
|
if (offset == 0xfa || offset == 0xfb)
|
||||||
|
return 0x00;
|
||||||
|
}
|
||||||
return ROM[offset];
|
return ROM[offset];
|
||||||
}
|
}
|
||||||
else if (m_cartslot)
|
else if (m_cartslot)
|
||||||
@ -456,6 +466,16 @@ READ8_MEMBER(gb_state::gbc_cart_r)
|
|||||||
if (offset < 0x100)
|
if (offset < 0x100)
|
||||||
{
|
{
|
||||||
UINT8 *ROM = m_region_maincpu->base();
|
UINT8 *ROM = m_region_maincpu->base();
|
||||||
|
if (m_bios_hack->read())
|
||||||
|
{
|
||||||
|
// patch out logo and checksum checks
|
||||||
|
// (useful to run some pirate carts until we implement
|
||||||
|
// their complete functionalities + to test homebrew)
|
||||||
|
if (offset == 0xdb || offset == 0xdc)
|
||||||
|
return 0x00;
|
||||||
|
if (offset == 0xed || offset == 0xee)
|
||||||
|
return 0x00;
|
||||||
|
}
|
||||||
return ROM[offset];
|
return ROM[offset];
|
||||||
}
|
}
|
||||||
else if (offset >= 0x200 && offset < 0x900)
|
else if (offset >= 0x200 && offset < 0x900)
|
||||||
@ -607,6 +627,12 @@ static INPUT_PORTS_START( gameboy )
|
|||||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Button B")
|
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Button B")
|
||||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START) PORT_NAME("Start")
|
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START) PORT_NAME("Start")
|
||||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SELECT) PORT_NAME("Select")
|
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SELECT) PORT_NAME("Select")
|
||||||
|
|
||||||
|
PORT_START("SKIP_CHECK")
|
||||||
|
PORT_CONFNAME( 0x01, 0x00, "[HACK] Skip BIOS Logo check" )
|
||||||
|
PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
|
||||||
|
PORT_CONFSETTING( 0x01, DEF_STR( On ) )
|
||||||
|
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
static SLOT_INTERFACE_START(gb_cart)
|
static SLOT_INTERFACE_START(gb_cart)
|
||||||
|
@ -894,7 +894,7 @@ READ32_MEMBER(gba_state::gba_io_r)
|
|||||||
case 0x0130/4:
|
case 0x0130/4:
|
||||||
if( (mem_mask) & 0x0000ffff ) // KEYINPUT
|
if( (mem_mask) & 0x0000ffff ) // KEYINPUT
|
||||||
{
|
{
|
||||||
retval = m_io_in0->read();
|
retval = m_io_inputs->read();
|
||||||
}
|
}
|
||||||
else if( (mem_mask) & 0xffff0000 )
|
else if( (mem_mask) & 0xffff0000 )
|
||||||
{
|
{
|
||||||
@ -1886,11 +1886,18 @@ WRITE32_MEMBER(gba_state::gba_oam_w)
|
|||||||
READ32_MEMBER(gba_state::gba_bios_r)
|
READ32_MEMBER(gba_state::gba_bios_r)
|
||||||
{
|
{
|
||||||
UINT32 *rom = (UINT32 *)(*m_region_maincpu);
|
UINT32 *rom = (UINT32 *)(*m_region_maincpu);
|
||||||
if (m_bios_protected != 0)
|
if (m_bios_hack->read())
|
||||||
{
|
{
|
||||||
offset = (m_bios_last_address + 8) / 4;
|
// partially patch out logo and checksum checks
|
||||||
|
// (useful to run some protos + to test homebrew)
|
||||||
|
if (ACCESSING_BITS_0_15 && (offset == 0x6fc/4))
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
return rom[offset&0x3fff];
|
|
||||||
|
if (m_bios_protected != 0)
|
||||||
|
offset = (m_bios_last_address + 8) / 4;
|
||||||
|
|
||||||
|
return rom[offset & 0x3fff];
|
||||||
}
|
}
|
||||||
|
|
||||||
READ32_MEMBER(gba_state::gba_10000000_r)
|
READ32_MEMBER(gba_state::gba_10000000_r)
|
||||||
@ -1925,7 +1932,7 @@ static ADDRESS_MAP_START( gba_map, AS_PROGRAM, 32, gba_state )
|
|||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
static INPUT_PORTS_START( gbadv )
|
static INPUT_PORTS_START( gbadv )
|
||||||
PORT_START("IN0")
|
PORT_START("INPUTS")
|
||||||
PORT_BIT( 0xfc00, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_UNUSED
|
PORT_BIT( 0xfc00, IP_ACTIVE_HIGH, IPT_BUTTON5) PORT_UNUSED
|
||||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("P1 L") PORT_PLAYER(1) // L
|
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME("P1 L") PORT_PLAYER(1) // L
|
||||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("P1 R") PORT_PLAYER(1) // R
|
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME("P1 R") PORT_PLAYER(1) // R
|
||||||
@ -1937,6 +1944,11 @@ static INPUT_PORTS_START( gbadv )
|
|||||||
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SELECT ) PORT_PLAYER(1) // SELECT
|
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SELECT ) PORT_PLAYER(1) // SELECT
|
||||||
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("B") PORT_PLAYER(1) // B
|
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME("B") PORT_PLAYER(1) // B
|
||||||
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("A") PORT_PLAYER(1) // A
|
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("A") PORT_PLAYER(1) // A
|
||||||
|
|
||||||
|
PORT_START("SKIP_CHECK")
|
||||||
|
PORT_CONFNAME( 0x01, 0x00, "[HACK] Skip BIOS Logo check" )
|
||||||
|
PORT_CONFSETTING( 0x00, DEF_STR( Off ) )
|
||||||
|
PORT_CONFSETTING( 0x01, DEF_STR( On ) )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
|
||||||
@ -2121,10 +2133,9 @@ void gba_state::machine_start()
|
|||||||
// install the cart ROM & SRAM into the address map, if present
|
// install the cart ROM & SRAM into the address map, if present
|
||||||
if (m_cart->exists())
|
if (m_cart->exists())
|
||||||
{
|
{
|
||||||
address_space &space = machine().device<cpu_device>("maincpu")->space(AS_PROGRAM);
|
m_maincpu->space(AS_PROGRAM).install_read_bank(0x08000000, 0x09ffffff, 0, 0, "rom1");
|
||||||
space.install_read_bank(0x08000000, 0x09ffffff, 0, 0, "rom1");
|
m_maincpu->space(AS_PROGRAM).install_read_bank(0x0a000000, 0x0bffffff, 0, 0, "rom2");
|
||||||
space.install_read_bank(0x0a000000, 0x0bffffff, 0, 0, "rom2");
|
m_maincpu->space(AS_PROGRAM).install_read_bank(0x0c000000, 0x0cffffff, 0, 0, "rom3");
|
||||||
space.install_read_bank(0x0c000000, 0x0cffffff, 0, 0, "rom3");
|
|
||||||
|
|
||||||
astring region_tag;
|
astring region_tag;
|
||||||
memory_region *cart_rom = memregion(region_tag.cpy(m_cart->tag()).cat(GBASLOT_ROM_REGION_TAG));
|
memory_region *cart_rom = memregion(region_tag.cpy(m_cart->tag()).cat(GBASLOT_ROM_REGION_TAG));
|
||||||
|
@ -52,6 +52,7 @@ public:
|
|||||||
m_region_maincpu(*this, "maincpu"),
|
m_region_maincpu(*this, "maincpu"),
|
||||||
m_rambank(*this, "cgb_ram"),
|
m_rambank(*this, "cgb_ram"),
|
||||||
m_inputs(*this, "INPUTS"),
|
m_inputs(*this, "INPUTS"),
|
||||||
|
m_bios_hack(*this, "SKIP_CHECK"),
|
||||||
m_ram(*this, RAM_TAG),
|
m_ram(*this, RAM_TAG),
|
||||||
m_lcd(*this, "lcd") { }
|
m_lcd(*this, "lcd") { }
|
||||||
|
|
||||||
@ -119,6 +120,7 @@ protected:
|
|||||||
required_memory_region m_region_maincpu;
|
required_memory_region m_region_maincpu;
|
||||||
optional_memory_bank m_rambank; // cgb
|
optional_memory_bank m_rambank; // cgb
|
||||||
required_ioport m_inputs;
|
required_ioport m_inputs;
|
||||||
|
required_ioport m_bios_hack;
|
||||||
optional_device<ram_device> m_ram;
|
optional_device<ram_device> m_ram;
|
||||||
required_device<gb_lcd_device> m_lcd;
|
required_device<gb_lcd_device> m_lcd;
|
||||||
|
|
||||||
|
@ -140,7 +140,8 @@ public:
|
|||||||
m_gbsound(*this, "custom"),
|
m_gbsound(*this, "custom"),
|
||||||
m_cart(*this, "cartslot"),
|
m_cart(*this, "cartslot"),
|
||||||
m_region_maincpu(*this, "maincpu"),
|
m_region_maincpu(*this, "maincpu"),
|
||||||
m_io_in0(*this, "IN0")
|
m_io_inputs(*this, "INPUTS"),
|
||||||
|
m_bios_hack(*this, "SKIP_CHECK")
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
@ -268,7 +269,8 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
required_memory_region m_region_maincpu;
|
required_memory_region m_region_maincpu;
|
||||||
required_ioport m_io_in0;
|
required_ioport m_io_inputs;
|
||||||
|
required_ioport m_bios_hack;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user