Compare commits

...
Author SHA1 Message Date
arcadez2003 89a47488e9 Compile test 2026-10-14 19:22:11 +01:00
arcadez2003 b12d6012b5 Merge pull request #2058 from zanac/mp_addams
Add mp_addams (The Addams Family ARCADE, Mega Play)
2026-10-13 21:19:28 +01:00
VanniandClaude Opus 5.5 2decddc0b5 Add mp_addams (The Addams Family ARCADE, Mega Play)
Homebrew Mega Play conversion of The Addams Family ARCADE (v77).
- INPUT_PORTS mp_addams with DSW C (1UP every, lives)
- megaplay_nvram: megaplay + NVRAM handler for the BIOS battery RAM
  (Z80 0x6800-0x77ff: credits, bookkeeping, per-slot game areas)
- ROM set epr-26013.ic1 (game) / epr-15175-20.ic2 (instruction ROM)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018jUxoG1TREth88C39ZMWSV
2026-10-13 21:19:18 +02:00
arcadez2003 fd01c495ad Merge pull request #2055 from zanac/master
Gunstar Heros, Grandslam Tennis and Mazin Wars - Mame backport
2026-10-13 19:25:28 +01:00
zanac eb611beff8 Backport for mp_gslam and mp_mazin on mega play 2026-10-13 16:12:19 +02:00
zanac 4a79de6337 Gunstar Heroes - Mega Play backport from new mame 2026-10-13 08:28:19 +02:00
zanac 7b1ad60b94 Gunstar Heroes - Mega Play implementation
Small patch that add support of Gunstar Heroes rom. This is a backport from recent mame version.
2026-10-13 08:17:53 +02:00
arcadez2003 b5ca65f5fd Revert for now 2026-10-13 01:05:37 +01:00
arcadez2003 5f39e722a5 78.u5 STV sprite colour fixes 2026-10-13 00:36:57 +01:00
arcadez2003 74a1af5baf Prevent pop up message triggering on the STV games 2026-10-12 23:54:28 +01:00
arcadez2003 ccaebab82e Fix some sprite colours for Princess Clara And More
Mariusz Wojcieszek improved the ST-V Emulation:

    Changes to sprites color calculation. I fixed it using in color bank modes by using color offset register from VDP2. Now shienryu kludge is no longer needed and also sprite colors in Winter Heat and Virtua Fighter Kids are correct.
    Changes for Princess Clara Daisakusen (prikura) so that game is playable now (as far I tested it).
    Prikura tried to render distorted sprites with xsize = 0 or ysize = 0 and this caused crash. As these values are prohibited according to manual, I ignore distorted sprites with xsize = 0 or ysize = 0.
    I found that missing MINIT for slave to run the sprites is done by using address 0x01406f40 instead of 0x01000000. I'm not sure if my change is a hack or real hardware behaves in that way, but in my opinion it is possible that whole range of addresses (0x01000000 - 0x017fffff) is used for MINIT. I added MINIT only for one address used by prikura.
    Bad sprite colors were fixed in point 1.
    Small change for vdp2: commented out a call to usrintf_showmessage().
2026-10-12 23:51:03 +01:00
arcadez2003 aa2b32f913 Needed so that Princess Clara will Bootup 2026-10-12 20:02:04 +01:00
arcadez2003 b0068b501e New Working Princess Clara Daisakusen
0.78u1: Mariusz Wojcieszek fixed Princess Clara Daisakusen - Game now playable.
2026-10-12 20:00:15 +01:00
Federico Pereira 3277597377 Input ports: save the values the board latched in save states (#2053) 2026-10-11 20:52:31 -04:00
Federico Pereira da8c86f159 X-Men: save the K054539 channels, the YM2151's selected register and the EEPROM count in save states (#2054)
* K054539: save where each channel plays in save states

* YM2151: save the register the data port writes to in save states

* X-Men: save the EEPROM count and the tilemap select in save states
2026-10-11 20:50:58 -04:00
Federico Pereira e05caba0aa The Simpsons: save the banks, banked RAM and the K053260 in save states (#2050) 2026-10-09 06:08:59 -04:00
Federico Pereira 9d9d1ed901 Galaga: save the stars, the Namco custom I/O and the 54XX in save states (#2052)
* Galaga: save the star field scroll and the graphics bank in save states

* Namco custom I/O: save each chip's state in save states

* Namco 54XX: save the explosion sound generator in save states
2026-10-09 06:05:01 -04:00
Federico Pereira 155d68254c Aliens: save the banks, palette RAM, the K051960 and the K007232 in save states (#2051) 2026-10-09 06:02:54 -04:00
Federico Pereira 0fe5665808 Sound: keep the sound identical after loading a save state (#2049)
* sndintrf: save the sound latches in save states

* cpuexec: save each CPU's local time and cycle count in save states

* mixer: save the channels' pending samples and resampling state in save states
2026-10-09 03:46:51 -04:00
Federico Pereira 97cb277199 cpuint: save the interrupt event queue in save states (#2048) 2026-10-09 03:07:45 -04:00
Federico Pereira d73ba22c26 Konami CPU: save its registers in save states (#2046) 2026-10-08 23:53:22 -04:00
Federico Pereira 64de9b21ed YM3812: keep the registers and write them back when loading a save state (#2045) 2026-10-08 21:56:59 -04:00
Federico Pereira 1104e225f9 Namco wave sound: save the voices and the sound enable in save states (#2044) 2026-10-08 20:10:41 -04:00
Federico Pereira 21c9f8ffd4 QSound games: keep the sound when loading a save state (#2043)
* QSound: save the channels and the data latch in save states

* CPS1/CPS2: save the QSound Z80 ROM bank in save states

* cpuexec: save each CPU's lasting suspend state (reset, halt, disable)
2026-10-08 13:38:21 -04:00
Federico Pereira 10315f744e YM2151: save the timers in save states (#2042)
The YM2151 timers are MAME timers, which MAME 0.78 save states do not keep. After loading, a timer that was running never fires again, so a sound CPU that takes its interrupt from a YM2151 timer (CPS1: Street Fighter II) or polls its flag stops, and the game is silent until it is reset.

Save the time left to each timer's next overflow (-1 when it is stopped) in a presave callback, and start the timers again with it in the existing postload callback.
2026-10-08 04:36:54 -04:00
Federico Pereira b52156ee5d YM2151: fix swapped arguments to set_connect when loading a save state (#2041)
ym2151_postload_refresh called set_connect(op, connect[j], j), but
set_connect takes the channel first and the algorithm second, as the
register write path does (set_connect(op, r&7, v&7)). After loading a
state every FM channel was rebuilt with the wrong algorithm until the
game wrote that register again (X-Men's music played wrong for a few
seconds after a load).
2026-10-07 01:39:18 -04:00
arcadez2003 a0ab0427b9 Fix Sound Samples For Zaxxon
0.99u2: Derrick Renaud fixed sample playing.
2026-10-05 23:33:37 +01:00
arcadez2003 c620bfebef Pleiads Small Gfx Fix
0.98u2: MASH fixed Pleiads palette banking.
2026-10-05 22:36:20 +01:00
arcadez2003 f073a5af73 Fix some sound niggles in Toki
0.122u7: Roberto Zandona and Corrado Tomaselli fixed missing/wrong sounds in various events.

https://mametesters.org/view.php?id=916
2026-10-01 22:48:23 +01:00
arcadez2003 0d9a325c96 Fix BG colours for Crater Raider
0.148: MASH fixed char color offset in Crater Raider (wrong since MAME 0.36b6).
2026-09-28 21:28:37 +01:00
arcadez2003 31419303cb Merge pull request #2040 from cscd98/psp-fix
libretro: ignore incompatible pointer types on psp
2026-09-25 23:48:03 +01:00
Craig Carnell 0077ef7e41 libretro: ignore incompatible pointer types on psp 2026-09-25 19:35:05 +01:00
arcadez2003 546424f3cd Improve dip switches for the Break Thru sets
0.81u8: Brian Troha fixed DIPs in Break Thru. Added dipswitches 'Bonus Life', 'Enemy Vehicles', 'Enemy Bullets' and 'Control Panel'.
2026-09-24 23:17:15 +01:00
mahoneyt944 8393e124af Refactor title fight kludge - game matches real hardware (#2039)
Preliminary work on a real opaque fix.
2026-09-19 06:25:45 -04:00
arcadez2003 0f72193fcc Burning Force fix a powerup related protection bug
0.132u5: hap fixed Burning Force powerup item is always "L" in MAME.
2026-09-18 15:32:03 +01:00
mahoneyt944 5da0428c7f Cleanup 2026-09-15 14:18:36 -04:00
GoodLuckTrying (Wolfric) e059bb0fe8 Add files via upload (#2037) 2026-09-15 04:51:55 -04:00
mahoneyt944 6e6f19aa43 Add files via upload 2026-09-14 21:04:34 -04:00
GoodLuckTrying (Wolfric) 9bbb94cf6d Adding the missing info for the Artoria hacks (#2036) 2026-09-13 17:48:19 -04:00
mahoneyt944 d3ac6c95f2 Fix insertion sort 2026-09-09 23:52:51 -04:00
mahoneyt944 3a2f7f39b1 Insertion sort and some cleanups (#2033) 2026-09-03 15:51:29 -04:00
mahoneyt944 07a41088de Segas32: fix per line clipping - jpark, ga2, titlef (#2032)
* Update segas32.c

* Update .gitlab-ci.yml

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update segas32.c

* Update .gitlab-ci.yml
2026-09-02 22:10:48 -04:00
mahoneyt944 21256d2412 src/driver/gng,c: Normalise file endings 2026-08-28 20:44:55 -04:00
GoodLuckTrying (Wolfric) a045126dad Updating GFX hashes for Artoria hacks (#2031) 2026-08-24 16:11:19 -04:00
GoodLuckTrying (Wolfric) 6c514a3242 Ghouls 'n Ghosts - Artoria Hacks (#2030)
* Add files via upload

* Add files via upload

* Ghouls 'n Ghosts - Artoria Edition Hacks

* Fixes some drivers
2026-08-23 21:53:39 -04:00
mahoneyt944 dc1f391a83 f1lap priority hack 2026-08-22 07:37:53 -04:00
mahoneyt944 93159c0ce9 f1lap eeprom 2026-08-19 14:54:40 -04:00
mahoneyt944 5bbb84086c Initialize before increment 2026-08-13 13:07:31 -04:00
mahoneyt944 e9cebbf19d Add files via upload 2026-08-12 12:06:38 -04:00
mahoneyt944 9125fe0fa7 segas32: cleanup comms hack, f1en attract video now works (#2025) 2026-08-12 01:05:09 -04:00
GoodLuckTrying (Wolfric) 80a84d2df0 Ghosts'n Goblins hacks: Enhanced Edition and Artoria Hacks + Enhanced Editions (#2024) 2026-08-11 01:59:38 -04:00
libretroadmin d6bf36f65f Bake in zlib for now even for statically linked platforms 2026-07-28 04:04:17 +02:00
mahoneyt944 bcd9192749 Add files via upload 2026-07-19 22:22:21 -04:00
mahoneyt944 2cca444170 Update patch 2026-06-11 13:19:37 -04:00
mahoneyt944 5d2f4a740b segas32 minor updates (#2023) 2026-06-11 13:13:13 -04:00
arcadez2003 f183f9862b Extend Drum Sample Support to Lode Runner 3 and 4
As per FBN with thanks to dink for the headsup
2026-06-08 13:51:52 +01:00
mahoneyt944 31c9da911c Add files via upload 2026-05-23 06:12:26 -04:00
Filippo Scognamiglio 0191984c9e Add support for 16KB pages on Android. (#2019) 2026-05-22 17:19:44 -04:00
grant2258 45f7a7f89f Rom ignore (#2022)
* add rom ignore

* fix gng romloads
2026-05-22 14:42:55 -04:00
arcadez2003 30f9b3fad9 Merge pull request #2021 from GoodLuckTrying/master
Adjust ROM REGION_GFX3 addresses for makknightc & makknightg files
2026-05-20 15:29:58 +01:00
GoodLuckTrying (Wolfric) eb164a5d84 Adjust ROM REGION_GFX3 addresses for makknightc & makknightg files 2026-05-19 18:31:59 -04:00
mahoneyt944 4c5d7fb8bc Add files via upload 2026-05-19 14:04:04 -04:00
arcadez2003 fba48d2b5a Merge pull request #2020 from GoodLuckTrying/master
Updating Goblins Artoria hacks to 1.1
2026-05-18 23:30:08 +01:00
GoodLuckTrying (Wolfric) d9a26ac7e8 Updating Goblins Artoria hacks to 1.1 2026-05-18 16:14:48 -04:00
mahoneyt944 a4a02f8f26 Add files via upload 2026-05-15 03:00:48 -04:00
arcadez2003 5373e38e10 New one 2026-05-03 00:08:07 +01:00
arcadez2003 9b296d7990 ketikd 2007 2026-05-02 23:44:53 +01:00
arcadez2003 ab58a72ccf Add a rather special version of Ketsui Kizuna Jigoku Tachi
IKD 2007 Special - 2007 Cave Matsuri Version
2026-05-02 23:41:45 +01:00
4shpool 87a1286dfa Add files via upload (#2017) 2026-04-14 14:13:39 -04:00
arcadez2003 7d7fc6d9d6 Adventure Canoe fix dip switches (Wayder)
Taken from manual
2026-04-08 19:38:05 +01:00
mahoneyt944 872b935cef Add files via upload 2026-04-06 16:21:48 -04:00
GoodLuckTrying (Wolfric) 3da943f4bc Rename sets (#2016) 2026-04-04 10:49:48 -04:00
GoodLuckTrying (Wolfric) e7e9738f10 Fixing REGION_GFX2 for gngmaident (#2015) 2026-04-04 06:51:48 -04:00
mahoneyt944 5bffa186b7 Add files via upload 2026-04-02 22:39:16 -04:00
mahoneyt944 b22393988e Gng rom hacks (#2013)
* Update gng.c

* Update driver.c

* Update .gitlab-ci.yml

* Update gng.c

* Update .gitlab-ci.yml

* Update .gitlab-ci.yml
2026-04-02 22:31:06 -04:00
mahoneyt944 b36d10e1a9 Update .gitlab-ci.yml 2026-04-02 21:25:59 -04:00
Craig 6702ed3e8c libretro: add webOS to CI (#2014) 2026-04-02 21:21:34 -04:00
LibretroAdmin 9041a9e6ac Merge pull request #2012 from warmenhoven/warmenhoven/pr/linux-aarch64
add linux-aarch64 build
2026-03-31 02:44:43 +02:00
Eric WarmenhovenandClaude Opus 4.6 6db645cab6 add linux-aarch64 build
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
2026-03-30 16:49:12 -04:00
arcadez2003 53453e5767 Adventure Canoe mention it can now be played in this core 2026-03-10 15:57:41 +00:00
tabudzandopenhands a8af95df1d Potential Vulnerability in Cloned Code (#2009)
* Avoid free-before-initialize vulnerability in heap

* src/libFACL/stream_decoder.c : Fail safely to avoid a heap overflow.

A file provided by the reporters caused the stream decoder to write to un-allocated heap space resulting in a segfault. The solution is to error out (by returning false from read_residual_partitioned_rice_()) instead of trying to continue to decode.

Fixes: CVE-2014-9028
Reported-by: Michele Spagnuolo,
             Google Security Team <[email protected]>

---------

Co-authored-by: openhands <[email protected]>
2026-03-07 13:49:52 -05:00
arcadez2003 01f5a03bb3 adcanoe fix player 1+2 inputs and add the service mode
With thanks to dink
2026-03-07 18:31:29 +00:00
mahoneyt944 3a69de934a Add files via upload 2026-02-27 07:57:04 -05:00
arcadez2003 e9249b97a8 Update driver.c 2026-02-24 23:39:05 +00:00
arcadez2003 95c5640969 New One Adventure Canoe By Taito 2026-02-24 23:35:44 +00:00
arcadez2003 b9b7bfaa2d Forgot one 2026-01-16 23:25:27 +00:00
arcadez2003 92f3b5de84 Just some recent WIP from my side 2026-01-16 23:20:50 +00:00
mahoneyt944 00b9562d8b Add files via upload 2026-01-14 03:05:55 -05:00
arcadez2003 9e119625ae Revert on https://github.com/libretro/mame2003-plus-libretro/commit/e784df7e3c2352f0885f983ea19a452a313ca343#diff-95593a8cc9cb2a6219f0bb66bfbad51d9021412b44ead88597c3db8a59c3da49 2026-01-05 19:33:07 +00:00
arcadez2003 e784df7e3c Possible fix for sprite bug 2026-01-03 20:44:15 +00:00
arcadez2003 bd5c1e12e3 dblewingb 2026-01-01 22:56:01 +00:00
arcadez2003 f1d057d593 Support Double Wings (ASIA) 2026-01-01 22:53:30 +00:00
arcadez2003 f6c6d9d3e4 Whoops 2025-12-30 23:55:00 +00:00
arcadez2003 4bba6ed207 Jammin 2025-12-30 23:36:19 +00:00
arcadez2003 5065fd21cf Merge pull request #2002 from libretro/arcadez2003-patch-3
Just some WIP
2025-12-30 23:33:46 +00:00
mahoneyt944 bcf5a63230 Add files via upload 2025-12-18 15:33:53 -05:00
grant2258 65314e3431 fix_ddragon_1 (#2004) 2025-12-18 14:32:04 -05:00
arcadez2003 b235c48df0 Fix some gfx niggles in the japan version of Camel Try [dink]
Flickering text layer
2025-12-13 23:30:04 +00:00
Flint 93f5620304 Fix potential buffer access in bitreader.c (#2003) 2025-12-13 06:39:00 -05:00
arcadez2003 731fe1119c Final sound clock freq 2025-12-12 19:14:43 +00:00
arcadez2003 ef7ac656f4 Remove unused roms 2025-12-11 22:23:23 +00:00
arcadez2003 a0fbe9244f reclock YM2151 2025-12-11 21:21:37 +00:00
arcadez2003 d035ea07d0 Just some WIP 2025-12-11 14:03:32 +00:00
arcadez2003 26cc26baf1 Merge pull request #2001 from libretro/arcadez2003-patch-2
Update driver.c
2025-12-10 22:29:57 +00:00
arcadez2003 ddfdc07803 Merge pull request #2000 from libretro/arcadez2003-patch-1
Double Dragon One add more demo and beta versions
2025-12-10 22:29:40 +00:00
arcadez2003 b426945e65 Update driver.c 2025-12-10 14:00:26 +00:00
arcadez2003 25fba78bcb Double Dragon One add more demo and beta versions 2025-12-10 13:49:42 +00:00
arcadez2003 0e8de267b7 Try using the raster machine call for doubled1 2025-12-10 12:08:22 +00:00
arcadez2003 f970c1ceba Try a couple of things 2025-12-10 00:36:26 +00:00
arcadez2003 1b67618d3c saurnfrnt 2025-12-05 19:39:40 +00:00
arcadez2003 8a37a04db6 Let's support Saurian Front (prototype)
MAMEDev, DU
2025-12-05 19:37:43 +00:00
arcadez2003 e58d3285f4 ffs it's eye not eve :) 2025-12-02 22:23:34 +00:00
arcadez2003 0486855fed Well it's been 6 months 2025-12-02 22:12:16 +00:00
arcadez2003 826e3630f4 teot 2025-12-02 22:04:45 +00:00
arcadez2003 db27e4e4ff New Working The Eye Of The Typhoon 2025-12-02 22:01:49 +00:00
mahoneyt944 198f6aa08c Add files via upload 2025-12-02 04:08:41 -05:00
arcadez2003 62c7089644 doubled1 2025-11-13 21:20:54 +00:00
arcadez2003 e2e9f71ae7 New Working Double Dragon One (Beta)
La Casa De Ruivo / Neo Byte Force
2025-11-13 21:18:51 +00:00
arcadez2003 dbd33ad168 Actually this is correct for this core both games are fine 2025-11-12 21:23:09 +00:00
arcadez2003 7e2d046e91 Revert on previous commit
As it broke both Charlie Ninja and Osman
2025-11-12 20:48:52 +00:00
mahoneyt944 870e8ba3fa Align notes 2025-10-05 16:15:49 -04:00
mahoneyt944 59b8a9fb06 Update segas32.c 2025-09-30 02:12:38 -04:00
mahoneyt944 48114cea1c Slight clean 2025-09-30 02:09:28 -04:00
mahoneyt944 a4239124d4 Cleanup (#1993)
* Update segas32.c

* Update .gitlab-ci.yml

* Update segas32.c

* Update .gitlab-ci.yml
2025-09-20 14:21:46 -04:00
mahoneyt944 eb6fd2ada2 Segas32 fix NBG0 - NBG3 layer flip (#1992) 2025-09-20 11:48:27 -04:00
mahoneyt944 95803f09cd Segas32 fix text flip 2025-09-16 15:18:18 -04:00
mahoneyt944 1e2be66646 Cleanup 2025-09-10 08:43:07 -04:00
mahoneyt944 1a97128775 Add files via upload 2025-09-09 12:51:46 -04:00
arcadez2003 5af62b9ed8 Missed a bit 2025-09-02 23:59:39 +01:00
arcadez2003 798e3c88aa FFS add the decrypt table 2025-09-02 23:54:05 +01:00
arcadez2003 28cd83e14c ddp2 2025-09-02 23:38:50 +01:00
arcadez2003 03b6f6862e ddp2 decrypt 2025-09-02 23:36:59 +01:00
arcadez2003 c15a7890ce Not working DoDonPachi II - Bee Storm
Added ddp2 hooked up inputs decryption and arm7
bypass hacks the game will play until halfway through level 1
2025-09-02 23:35:01 +01:00
mahoneyt944 250d22b0cb Update video.c (#1987) 2025-08-26 13:08:13 -04:00
arcadez2003 7cd497bf48 Merge pull request #1986 from grant2258/segac2
fix up Shuifeng
2025-08-24 13:43:55 +01:00
Grantonius maximus 0cc00a2d7d fix up Shuifeng 2025-08-24 13:39:20 +01:00
mahoneyt944 3f778c3a06 Add files via upload 2025-08-20 03:53:48 -04:00
arcadez2003 2761fabad1 Try to fix build 2025-08-19 21:29:06 +01:00
arcadez2003 0cd66be68c shuifeng and songjang 2025-08-19 21:18:27 +01:00
arcadez2003 c29b4eabe8 WIP add a couple of bootlegs to segac2 2025-08-19 21:14:25 +01:00
markwkidd d69dd909bc add bulbobr to hiscore bubble bobble clone list (#1984) 2025-08-15 07:43:26 -04:00
arcadez2003 04fb75e4f1 Might as well mention the new one 2025-06-28 20:11:58 +01:00
mahoneyt944 145a8ef321 Add files via upload 2025-06-24 15:53:09 -04:00
arcadez2003 45b4158fbd Merge pull request #1982 from grant2258/align
line mouse up a bit wasnt too far off
2025-06-24 14:49:48 +01:00
Grantonius maximus 933050f39a line mouse up a bit wasnt too far off 2025-06-24 13:02:23 +01:00
arcadez2003 a29811e60e Merge pull request #1981 from 4shpool/master
Thankyou as always
2025-06-22 13:56:25 +01:00
4shpool f4f2ba3f76 Add files via upload
various changes
2025-06-22 13:58:59 +02:00
arcadez2003 ada3b0c61f Target Hits / Quick Shots screen size and layer offsets 2025-06-17 22:04:47 +01:00
arcadez2003 2ddba63b3e Attempt to fix screen size and layer offsets 2025-06-17 22:03:38 +01:00
arcadez2003 c369a8a8fd Revert on test 2025-06-15 20:30:44 +01:00
arcadez2003 73d01a5dbb Test 2025-06-15 15:52:45 +01:00
arcadez2003 8def4b0202 LG's are reversed for Player 2 2025-06-14 20:48:51 +01:00
arcadez2003 09e84fe557 quickshts 2025-06-13 21:06:05 +01:00
arcadez2003 57af2900d6 WIP add support for QuickShots to targeth.c 2025-06-13 21:03:10 +01:00
mahoneyt944 c478eae748 Update .gitlab-ci.yml 2025-05-16 23:10:07 -04:00
mahoneyt944 caecdc1151 Update .gitlab-ci.yml 2025-05-16 23:09:44 -04:00
mahoneyt944 a3f85258e1 Cleanup menu 2025-05-16 17:03:45 -04:00
mahoneyt944 d3e5487008 Redefinition (log2) 2025-05-08 14:09:15 -04:00
mahoneyt944 decf81ee5d Unused redefinition (log2) 2025-05-08 13:58:37 -04:00
mahoneyt944 c557dee176 More redefinitions (ROM_LOAD64_WORD) 2025-05-08 13:37:43 -04:00
mahoneyt944 aa8c681b15 Fix redefinition msvc 2025-05-08 13:10:30 -04:00
grant2258 e7d1a6ecc1 Tidy (#1971)
* address cast issues and fix static ports not working properly

* remove duplicat from testing

* silence warnings

* undo this test was slower

* silence warnings and fix an easy typo to miss
2025-05-03 15:44:27 -04:00
arcadez2003 b3a1d08946 Updatey 2025-05-02 23:11:55 +01:00
mahoneyt944 c1de17eb54 Add files via upload 2025-05-02 12:28:00 -04:00
arcadez2003 925e165981 gladmort 2025-05-01 19:40:28 +01:00
arcadez2003 c39cef083b New Working Gladmort NeoGeo 2025-05-01 19:38:15 +01:00
mahoneyt944 c7cb4c4af9 Add files via upload 2025-04-24 21:19:35 -04:00
arcadez2003 04fa16be53 Updatey Mcdatety 2025-04-23 23:19:45 +01:00
arcadez2003 53fca33a3b Once again hookup the M68705 mcu for Taito's Field Day 2025-04-23 23:06:29 +01:00
arcadez2003 f307165454 Whoopsy revert on this 2025-04-23 22:37:44 +01:00
arcadez2003 69ea4c48ae Hookup the M68705 protection MCU for Taito's Field Day 2025-04-23 22:23:09 +01:00
mahoneyt944 ac2e805b22 Add files via upload 2025-04-19 22:56:18 -04:00
mahoneyt944 d11a112920 Shinobi OST extend level clear music slightly 2025-04-18 12:28:29 -04:00
mahoneyt944 0de5b2f6fa Shinobi OST Support (#1969) 2025-04-18 05:12:16 -04:00
mahoneyt944 c58dedb458 Add files via upload 2025-04-17 21:42:25 -04:00
arcadez2003 c2128c3e82 victnine 2025-04-16 23:59:37 +01:00
arcadez2003 7b705ae172 victnine video 2025-04-16 23:57:13 +01:00
arcadez2003 3d12f13318 victnine add mcu sim 2025-04-16 23:56:26 +01:00
arcadez2003 a2edd51b13 Finish off the flstory driver add in the missing game
0.82u2: BUT added 'Victorious Nine' (Taito 1984).

14th July 2002: Guru - Victorious Nine (Taito 1984) arrived and have been dumped. The Dumping Project wishes to thank the people who have contributed funds or PCBs or dumps, or at least offered them, to the project so far.
2025-04-16 23:55:08 +01:00
arcadez2003 a2b81fa548 Attempt to fix the "reset damage" cheat option 2025-04-16 15:50:12 +01:00
arcadez2003 666803b277 nycaptor, pri issue. fix spot 22, missing enemy in doorway [dink] 2025-04-16 14:51:36 +01:00
mahoneyt944 d76b3b7c40 Keep these for now 2025-04-16 05:08:07 -04:00
mahoneyt944 0afd3c56c9 OST Cleanups (#1967) 2025-04-15 16:55:45 -04:00
mahoneyt944 605eaa0dbe Update rf5c68.c 2025-04-08 13:57:57 -04:00
mahoneyt944 2e9c416450 Update rf5c68.c 2025-04-08 13:57:14 -04:00
mahoneyt944 4d0b821825 Use truncf again 2025-04-08 12:15:21 -04:00
grant2258 2b5fc26ee6 fix for plus (#1965) 2025-04-07 22:13:01 -04:00
grant2258 f8ca33c3fb fix rf5c68 and keep both compilers happy without workarounds (#1964)
* fix rf5c68 and keep both compilers happy without workarounds

* fix panning for stereo
2025-04-06 19:18:57 -04:00
arcadez2003 fa5277dd98 Mention the fix for Risky Challenge / Gussun Oyoyo 2025-04-07 00:09:01 +01:00
arcadez2003 5cd24817c9 Remove redundant code 2025-04-06 20:49:38 +01:00
mahoneyt944 1fa8c3ebcf Add files via upload 2025-04-05 18:48:18 -04:00
mahoneyt944 4659e0ec0f OST - add stereo to installer 2025-04-05 18:37:08 -04:00
mahoneyt944 fea2b1091a OST - Clean machine drivers 2025-04-05 17:22:36 -04:00
arcadez2003 f4782d9cbb Whoops wrong driver :) 2025-04-05 20:00:52 +01:00
arcadez2003 60b18093f8 Switch the M90 driver to use the new style Irem CPU decryption
This makes Risky Challenge / Gussun Oyoyo fully playable
2025-04-05 19:59:31 +01:00
arcadez2003 58764e9840 FetchOP now handled directly via nec.c 2025-04-05 19:18:33 +01:00
arcadez2003 5b1af7ead8 A proper fix for Risky Challenge / Gussun Oyoyo
Handle the brkn instructions in the correct way
2025-04-05 19:17:04 +01:00
mahoneyt944 a9e700649e Undo latest changes (#1961)
* Update rf5c68.c

* Update op2.c

* Update v60.c
2025-04-05 08:02:16 -04:00
mahoneyt944 0244587c0a Revert "Fix the rf5c68 another way" (#1960)
This reverts commit 4df08f4096.
2025-04-05 07:23:07 -04:00
mahoneyt944 2e3cc1d434 Include math v60.c 2025-04-04 15:36:48 -04:00
mahoneyt944 da2832c302 Apply RDI rounding control 2025-04-04 15:23:53 -04:00
mahoneyt944 bac1626f65 Allow OST to reset (#1959) 2025-04-03 15:44:20 -04:00
mahoneyt944 12d25f3872 Try 2025-04-02 07:40:33 -04:00
mahoneyt944 5aaeebb791 Revert, still errors msvc. 2025-04-02 02:41:41 -04:00
mahoneyt944 6580600e3a Try 2025-04-02 02:29:26 -04:00
grant2258 5bb27497c5 make gcc/clang fail like mscv does (#1958) 2025-04-02 02:15:58 -04:00
mahoneyt944 d4cbcad0a0 Revert 2025-03-28 14:15:25 -04:00
grant2258 8c9d48347c Update Makefile (#1957)
error the same way msvc does on buildbot so we know about these errors when compiling locally and generally cause less issues all in.
2025-03-28 13:53:32 -04:00
grant2258 4df08f4096 Fix the rf5c68 another way (#1956)
* rob peter to pay paul

* white space
2025-03-27 22:08:40 -04:00
grant2258 c0f2066ae3 back in the time machine compiler support (#1954)
* back in the time machine compiler support

* white space
2025-03-25 20:48:43 -04:00
arcadez2003 af6022eba8 Merge pull request #1953 from grant2258/testing
silence msvc
2025-03-25 22:49:07 +00:00
Grantonius maximus 93d38a487e sound fixes 2025-03-25 18:49:15 +00:00
Grantonius maximus 4e1cc83e73 sound fixes 2025-03-25 18:45:46 +00:00
grant2258 7908a5eaf0 sound fixes (#1952)
* sound fixes

* Update ost_samples.c
2025-03-25 12:26:36 -04:00
mahoneyt944 1112627984 Fix moonwlkb volume 2025-03-25 01:46:32 -04:00
Apaczer a5bb1f4425 Makefile: platform=miyoo ->USE_CYCLONE & USE_DRZ80 (#1949)
also `-fno-PIC`
2025-03-18 21:25:14 -04:00
arcadez2003 ea05ce215a Try something pure mental :) 2025-03-15 23:12:39 +00:00
arcadez2003 5529775a36 Fix some gfx niggle for Asura Buster 2025-03-15 22:09:42 +00:00
arcadez2003 e590112a6a Revert on https://github.com/libretro/mame2003-plus-libretro/commit/95b69c731bf4d9df538df21701847e30748876ce 2025-03-15 19:50:04 +00:00
arcadez2003 95b69c731b Hook up the sound in the correct way 2025-03-15 19:37:51 +00:00
mahoneyt944 38d400c11e Rename cpu_pause more accurately to mame_pause 2025-03-14 03:00:35 -04:00
arcadez2003 0ce322f784 Angel Kids and Space Position up the volume levels 2025-03-10 22:54:13 +00:00
arcadez2003 f40e11ed06 Extreme Downhill fix crash at the end of the game 2025-03-05 23:51:56 +00:00
grant2258 2a1b904154 update common (#1946) 2025-03-04 02:40:03 -05:00
grant2258 936133fa31 update soundcore (#1945) 2025-03-03 14:27:07 -05:00
arcadez2003 fd6c469d7f wolffang 2025-03-02 20:39:39 +00:00
arcadez2003 1225d5cab1 Add japanese version of Rohga Armour Force
It doesn't have certain protection related issues..
https://mametesters.org/view.php?id=3480
2025-03-02 20:37:16 +00:00
arcadez2003 40476ed855 Hmm 2025-03-02 20:19:52 +00:00
arcadez2003 5f14197c94 FFS where did that gap come from :) 2025-03-02 20:18:38 +00:00
arcadez2003 50b963e8f3 Nmk16 gfx niggles fixed 2025-03-02 20:14:39 +00:00
arcadez2003 aa7ce81f6e Fix gfx niggles in 4 nmk16 games
MAME 89.u6

Pierpaolo Prazzoli uddated the nmk16 video:
Added sprites priorities (still few problems with priority = 0)

Fixed raphero background all levels and mmacros2 background level 2, Fixed manybloc (added scrolls, fixed background gfx)
Added background banking in acrobatm fixes level 3 boss
2025-03-02 20:12:12 +00:00
arcadez2003 4893b3f744 Merge pull request #1943 from carlosefr/mrdo_volume
Lower volume in Mr. Do! to avoid clipping
2025-02-28 21:16:16 +00:00
Carlos Rodrigues 86009afa16 Lower volume in Mr. Do! to avoid clipping 2025-02-28 19:55:10 +00:00
Apaczer 558ef7258f cyclone: use HAVE_ARMv6 flag for backward asm compatibility (#1922) 2025-02-25 05:46:17 -05:00
mahoneyt944 ec335d3a61 shtngmst fix gun HS entry 2025-02-11 16:43:13 -05:00
arcadez2003 989e6c14bc Tidy up 2025-02-10 20:34:10 +00:00
arcadez2003 e3197d28cc Credits and stuff 2025-02-10 20:05:55 +00:00
mahoneyt944 bc53de2590 Add files via upload 2025-02-10 10:59:02 -05:00
grant2258 656c4c4341 add arcades squix updates 2025-02-10 08:40:22 -05:00
mahoneyt944 9efe0b7af8 shtngmst more improvement 2025-02-10 05:30:03 -05:00
mahoneyt944 0b630c106a Improve shtngmst some 2025-02-09 11:25:44 -05:00
mahoneyt944 bbf93723ac Add files via upload 2025-02-08 14:39:43 -05:00
mahoneyt944 3cd3740515 shtngmst preliminary support - still graphical issues to sort 2025-02-08 14:01:34 -05:00
arcadez2003 82c214ba5e Updatey 2025-02-04 23:13:04 +00:00
mahoneyt944 191b588dff Add files via upload 2025-01-31 14:37:22 -05:00
mahoneyt944 b10f326a72 Space wars reset playfield button 2025-01-30 01:54:47 -05:00
grant2258 7c239b1429 fix pengo attact (#1931) 2025-01-29 12:26:22 -05:00
arcadez2003 ef52c07615 Merge pull request #1930 from grant2258/master
update pengo sets and add missing
2025-01-28 22:35:30 +00:00
Grantonius maximus 1bf1aff46e update xml 2025-01-28 22:30:36 +00:00
Grantonius maximus a2a0b4faa3 dont need this 2025-01-28 22:28:00 +00:00
Grantonius maximus d58829ab3b update pengo sets 2025-01-28 22:22:55 +00:00
arcadez2003 2b709bcf70 bublbust 2025-01-28 22:03:09 +00:00
arcadez2003 beb3b9f226 New Working Bubble Buster
With thanks to FBN
2025-01-28 22:01:12 +00:00
Carlos Rodrigues 2cbe2659ad Updates the description for the four_way_emulation core option (#1929)
The previous description does not accurately reflect what this option does in practice, and can be misleading.
2025-01-26 17:29:18 -05:00
mahoneyt944 90ae4b521b Align map, clean, missing reads (#1927)
* Update megasys1.c

* Update megasys1.c
2025-01-26 10:10:08 -05:00
arcadez2003 dfc557cbad Revert https://github.com/libretro/mame2003-plus-libretro/commit/f691beea3be534b638770cc96195237d5ac06a65 2025-01-25 23:17:48 +00:00
arcadez2003 f691beea3b Data East's Breywood / shackled fix crash if you enter secret door on level 12 2025-01-25 21:02:50 +00:00
arcadez2003 100b135223 Merge pull request #1926 from grant2258/fix
fix chimerab and 64 to work on the same memory map
2025-01-25 20:58:38 +00:00
Grantonius maximus fa588eea44 fix chimerab and 64 to work on the same memory map 2025-01-25 18:26:24 +00:00
mahoneyt944 cea00d3aa5 Clean 2025-01-24 05:05:57 -05:00
grant2258 e8d87e9db1 fix vaportra for mr arcadez (#1924) 2025-01-24 04:59:04 -05:00
mahoneyt944 ece4dea4fd Detail resolution change 2025-01-24 04:24:23 -05:00
mahoneyt944 e70655ce44 Use old memory map for Chimera Beast for now 2025-01-23 00:32:19 -05:00
grant2258 cbe5872688 fix 64street attract (#1921)
* fix 64street attract

* add mahoneyt944 mapping back

* add mahoneyt944 mapping back
2025-01-21 19:04:24 -05:00
arcadez2003 48d8b87c9a Revert on commit 90cdced 2025-01-21 19:09:56 +00:00
arcadez2003 3989fc7e1c Caveman Ninja all sets barring the USA have this dip option
If turned on the Life Meter will be fully restored when Big Boss is Defeated at the end of each level.
2025-01-20 20:49:32 +00:00
arcadez2003 ac1346d264 Fix protection simulation for Data East's Express Raider
0.104u5: Pierpaolo Prazzoli fixed Express Raider protection. This fixes on the second level, there aren't enough enemies available to shoot to progress to the next stage.
2025-01-20 20:22:47 +00:00
arcadez2003 90cdced290 Attempt to fix broken attract mode in 64th Street and Chimera Beast 2025-01-20 20:08:04 +00:00
arcadez2003 98b21c864e Mention some recent fixes 2025-01-19 23:50:31 +00:00
mahoneyt944 fc802d496d Slyspy ram 2025-01-19 17:02:04 -05:00
arcadez2003 084885f9aa surely this time 2025-01-19 19:40:26 +00:00
arcadez2003 23928f5e4a fix build 2025-01-19 19:24:16 +00:00
arcadez2003 5b2782e5b7 Data East's Secret Agent / Sly Spy add RNG protection emulation
Emulated Sly Spy RNG device at $31c00d. This makes gameplay behave very differently than before, game extensively uses this port to mix up stuff especially with the bosses. [Angelo Salese]
2025-01-19 19:12:18 +00:00
grant2258 0fcccae96e fix ddribble (#1917) 2025-01-13 02:47:12 -05:00
4shpool 61305d6032 4 entries added (#1915) 2025-01-10 22:35:18 -05:00
arcadez2003 aee3dac97c Fix some gfx issues with SNK's Joyful Road / Munch Mobile
0.130u4: Munch Mobile improvements [Roberto Zandona]: Implemented priorities. Removed unnecessary tile index check.

0.96: QWERTY fixed graphics in Joyful Road.
2025-01-06 22:16:48 +00:00
arcadez2003 dd6a6e5041 Mention the new stuff 2025-01-02 20:15:45 +00:00
mahoneyt944 ab4c818d75 Add files via upload 2025-01-01 18:11:57 -05:00
arcadez2003 38a426d27d captain barrel 2025-01-01 12:34:24 +00:00
arcadez2003 79a094df21 New working Captain Barrel
2024 NeoByteForce
2025-01-01 12:32:44 +00:00
mahoneyt944 aaf1a95728 Add files via upload 2024-12-29 11:38:41 -05:00
arcadez2003 564b73c513 Merge pull request #1914 from grant2258/cencourt
2 new working games
2024-12-29 14:53:50 +00:00
Grantonius maximus 61c9d71fa1 2 new working games 2024-12-29 10:29:58 +00:00
mahoneyt944 1fe0821faa Still WIP, don't invert 2024-12-25 19:36:14 -05:00
arcadez2003 5ca1a2d01f cencourt 2024-12-23 14:02:09 +00:00
arcadez2003 4eb7f7cbce WIP add Centre Court clone of Passing shot 2024-12-23 13:58:05 +00:00
mahoneyt944 75853b49e6 Single render title fight kludge 2024-12-22 10:07:29 -05:00
mahoneyt944 0b461178ad Update segas32.c (#1911) 2024-12-20 03:56:01 -05:00
mahoneyt944 445fa5fec6 Update segas32.c 2024-12-19 18:33:52 -05:00
mahoneyt944 ac4fe980fa Title Fight simplify kludge 2024-12-19 17:34:27 -05:00
mahoneyt944 4089958aeb Add files via upload 2024-12-17 15:35:31 -05:00
mahoneyt944 689fa63dc8 Use sim for now for performance. (#1909) 2024-12-16 18:08:43 -05:00
mahoneyt944 206a22a875 Rework v25 hookup, arabfgt still using simulation for now (#1908) 2024-12-16 12:41:31 -05:00
mahoneyt944 465e91a8d3 Ga2 use protection cpu [arcadez] 2024-12-15 15:29:54 -05:00
mahoneyt944 3251db24cf Driver init clean 2024-12-14 13:35:43 -05:00
mahoneyt944 3448ee617b Brival prot typo? (#1906) 2024-12-13 06:11:08 -05:00
mahoneyt944 664e176cb0 Zeropnt / Zeropnt2 Gun fix - reload 2024-12-11 15:39:32 -05:00
mahoneyt944 bd51bc81b8 Hack to enter coins easier 2024-12-11 13:11:37 -05:00
mahoneyt944 47d6b272b8 Remove static and init variable 2024-12-10 00:05:04 -05:00
grant2258 7283fb9ab7 fix timing up (#1902) 2024-12-09 12:03:36 -05:00
grant2258 3fc99dfd31 fix system18 vdp hamaway now has propper colours (#1903) 2024-12-09 12:02:25 -05:00
Rudi Heitbaum 4a9aec73e5 fix build with gcc 15 (#1900)
dont overwrite the system declarations of the f functions, prefix the
fubctions with l_ denoting that they are local.

Signed-off-by: Rudi Heitbaum <[email protected]>
2024-12-08 09:32:59 -05:00
mahoneyt944 f9919eee24 Typo 2024-12-07 19:43:08 -05:00
mahoneyt944 1d144fc476 Fix radr map select with opaque hack 2024-12-07 14:12:44 -05:00
mahoneyt944 8781823ff8 Add files via upload 2024-12-05 15:55:38 -05:00
arcadez2003 ab1276f90d Merge pull request #1896 from grant2258/dac
add speech and other fixes to dfjail
2024-12-05 19:37:25 +00:00
Grantonius maximus 5dba741f7a hook up speech and other fixes 2024-12-05 14:47:18 +00:00
mahoneyt944 6d469936e2 Resolution change when zooming 2024-12-04 09:47:55 -05:00
mahoneyt944 0ef78a9a4e Add files via upload 2024-12-03 23:36:27 -05:00
Grantonius maximus 329f28e34b start working on dfjail dac 2024-12-03 21:39:06 +00:00
grant2258 19fac219f3 Segas16b add dfjail (#1894)
* add dfjail

* mark imperfect sound, will get to fixing it
2024-12-01 15:08:11 -05:00
arcadez2003 63614309dd Fix some gfx niggles with Seibu's Dead Angle
added missing text layer disable, fixes missing text flickering at game start [David Haywood, Corrado Tomaselli]
2024-11-26 23:26:26 +00:00
mahoneyt944 b73691f933 Safeguard macro 2024-11-26 05:06:00 -05:00
mahoneyt944 1650537bf6 Update segas32.h 2024-11-22 08:43:27 -05:00
mahoneyt944 2063e86f23 Update segas32.h 2024-11-22 08:42:41 -05:00
mahoneyt944 74f4296b0f Update segas32.c 2024-11-21 02:27:09 -05:00
mahoneyt944 b79faa11ef Harddunk kludge attract mode background (#1891)
* Update segas32.c

* Update segas32.h
* Update segas32.c
2024-11-21 02:18:25 -05:00
mahoneyt944 b340ce492d Revert "Wrap tilemap - fix harddunk background in attract" (#1890)
This reverts commit fd4932189d.
2024-11-21 01:08:23 -05:00
mahoneyt944 fd4932189d Wrap tilemap - fix harddunk background in attract 2024-11-20 14:20:44 -05:00
mahoneyt944 f903e2e110 Cleanup (#1888) 2024-11-19 15:10:24 -05:00
4shpool b00ea1c957 Add files via upload (#1887)
2 entries added
2024-11-19 00:08:24 -05:00
arcadez2003 523f6bc471 Mention Title Fight gfx and sound improvements. 2024-11-18 23:45:43 +00:00
mahoneyt944 b7596f26f2 Clean 2024-11-15 15:26:31 -05:00
mahoneyt944 fda76d238d Simplify visible area 2024-11-15 04:52:10 -05:00
mahoneyt944 3b8fd05b7f Update multipcm.c 2024-11-14 13:26:37 -05:00
mahoneyt944 3545ffa17d Reset multipcm 2024-11-14 13:25:01 -05:00
mahoneyt944 2f8ebc37ad Restore register 2024-11-13 18:52:01 -05:00
mahoneyt944 627eb92a58 Clean2 2024-11-13 14:43:41 -05:00
mahoneyt944 8df15d2726 Clean 2024-11-13 12:05:36 -05:00
mahoneyt944 59329d99c2 Use multipcm_set_bank 2024-11-13 05:56:05 -05:00
mahoneyt944 d290c6573f Add files via upload 2024-11-12 13:59:46 -05:00
4shpool 7bc63c35e0 Add files via upload (#1881)
2 entries added, one corrected
2024-11-12 12:10:56 -05:00
arcadez2003 e97cd0d6e2 Fix Irem dynablaster decryption table (fixes bbmanw raster effect) [wickerwaka] 2024-11-11 23:09:04 +00:00
mahoneyt944 c86232158c Fix scross engine sounds missing - dink 2024-11-11 06:38:51 -05:00
mahoneyt944 90f5941078 Test sound changes for titlef 2024-11-10 23:15:04 -05:00
arcadez2003 ba1a04bfef Revert on last commit 2024-11-10 14:08:25 +00:00
mahoneyt944 7a8876bba7 Revert "Fix max geometry" (#1879)
This reverts commit 8daf4bcd9b.
2024-11-10 02:50:15 -05:00
mahoneyt944 8daf4bcd9b Fix max geometry 2024-11-10 00:02:42 -05:00
arcadez2003 44062887a6 Attempt to Fix Sonic 3 palette issues. 2024-11-10 00:00:16 +00:00
arcadez2003 5ff6e11472 Credit 2024-11-09 22:52:15 +00:00
arcadez2003 2fbb6b7230 Updatey 2024-11-09 22:28:25 +00:00
arcadez2003 83eb31b093 Tag Sonic 3 as having imperfect gfx 2024-11-09 22:24:09 +00:00
mahoneyt944 094f896dbd Update segas32.c 2024-11-09 16:02:33 -05:00
mahoneyt944 9965d14d88 Simplify 2024-11-08 13:50:41 -05:00
mahoneyt944 4b0a347a56 Title Fight patch ending credits 2024-11-08 10:15:41 -05:00
mahoneyt944 fb9550dc7c Optimize 2024-11-06 08:29:43 -05:00
mahoneyt944 34ebf55a63 Update segas32.c 2024-11-04 19:19:14 -05:00
mahoneyt944 fa5877d00f Improve title fight kludge and fix minor dual monitor bug (#1873) 2024-11-04 18:56:00 -05:00
grant2258 3352d872b1 add sf2mix 1.3 (#1872) 2024-11-03 17:05:32 -05:00
mahoneyt944 cfb86a37f3 Typo 2024-11-03 10:13:30 -05:00
arcadez2003 883b14f2b7 twinktmb 2024-11-03 14:18:53 +00:00
arcadez2003 b3caefeed3 Add Twinkle Tale Megadrive Arcade Bootleg
It will have coin issues like Jurassic Park bootleg
2024-11-03 14:14:48 +00:00
mahoneyt944 e915f1ed77 Add files via upload 2024-11-01 20:26:43 -04:00
arcadez2003 e6802571c6 jparkmb 2024-11-01 23:19:31 +00:00
arcadez2003 8338ca7626 Add Jurrasic Park Megadrive arcade bootleg
Might not work we'll see
2024-11-01 23:17:14 +00:00
mahoneyt944 5cd6c6a192 Slight improvement (#1869) 2024-11-01 11:24:49 -04:00
mahoneyt944 81333f3e52 Try 2024-11-01 10:35:01 -04:00
arcadez2003 4c2e4460bb Attempt to make the data call UINT8 2024-11-01 14:09:58 +00:00
mahoneyt944 76db9b75c3 Update segac2.c 2024-11-01 09:34:54 -04:00
mahoneyt944 9717fc0f2b Fix redefinition 2024-11-01 09:26:17 -04:00
arcadez2003 6052f9e4d3 Try it this way 2024-11-01 13:21:07 +00:00
arcadez2003 9511d7fa8f Fix it 2024-11-01 12:58:05 +00:00
arcadez2003 0da03f2489 sonic3mb 2024-11-01 12:50:33 +00:00
arcadez2003 505010fe51 Add support for Sonic The Hedgehog 3 Arcade Bootleg 2024-11-01 12:47:02 +00:00
mahoneyt944 96bf3d2d73 Update segas32.c 2024-10-31 18:51:02 -04:00
mahoneyt944 dd862a8b54 Segas32 title fight kludge, improved graphics 2024-10-31 18:32:51 -04:00
mahoneyt944 c994b0584d Segas32 fix extents error 2024-10-18 05:31:58 -04:00
mahoneyt944 6009a8ed48 Cleanup 2024-10-10 06:16:02 -04:00
mahoneyt944 5304594287 Multi32 fix aspect ratio (#1865) 2024-10-09 08:44:31 -04:00
arcadez2003 63d5c26b58 A wee mention 2024-10-05 23:57:24 +01:00
mahoneyt944 8db6d05653 Multi32 simplify monitor select 2024-10-04 16:23:09 -04:00
arcadez2003 c9428ec1c1 Merge pull request #1861 from libretro/arcadez2003-patch-1-1
Gfx improvements for Magical Cat Adventure and Nostradamus
2024-10-04 10:19:24 +01:00
arcadez2003 b6f99029dd Gfx improvements for Magical Cat Adventure and Nostradamus
Magical Cat Adventure

0.111u4: David Haywood added missing linescroll effect to Magical Cat Adventure. It can be seen in action on the first levels.

15th January 2007: David Haywood - I've added the missing linescroll to the Magical Cat Adventure driver, it's actually used in most levels for various little effect. Thanks to kold666 for the report at MAMEtesters.

Nostradamus

0.111u4: David Haywood added missing linescroll effect to Nostradamus. It can be seen in action on the first levels.
2024-10-02 23:34:44 +01:00
mahoneyt944 9221b2f66d DAT magic cleanup 2024-09-26 12:08:30 -04:00
mahoneyt944 3aa773e2a4 Add files via upload 2024-09-09 11:03:54 -04:00
arcadez2003 76830b0644 Mention Final Lap 2 + 3 are now playable 2024-09-08 23:16:00 +01:00
arcadez2003 404be42674 Remove not working flags for Final Lap 2 + 3 as both play now 2024-09-08 22:49:44 +01:00
mahoneyt944 3988b35060 Update segas32.c (#1858) 2024-09-08 10:27:06 -04:00
arcadez2003 4092d12132 Fix bad oversised sprites in Final Lap 2+3 and Suzuka 8H 1+2 2024-09-06 21:13:31 +01:00
arcadez2003 c6250585b8 Hookup the road colour clut proms for Final Lap and Suzuka 8H games
Also added one for Four Trax
2024-09-06 20:54:02 +01:00
arcadez2003 c90157bdc0 prelim code to handle road proms for final lap 2+3 and Suzuka 8h 2024-09-06 20:34:56 +01:00
4shpool 5f5e325987 8 titles added, 4 renamed and 1 removed (#1857)
* Add files via upload

added thndrbld1 to catver

* Add files via upload

Added 8 entries, renamed 4 and removed 1
2024-09-05 22:50:24 -04:00
mahoneyt944 c24656582d Draw screen in pause 2024-09-04 18:46:57 -04:00
mahoneyt944 6135089740 Fix null entry 2024-09-04 11:26:59 -04:00
arcadez2003 9b359c8a21 Add the proper sprite roms for Final Lap 2 2024-09-02 20:11:35 +01:00
mahoneyt944 1b448cefe8 Add files via upload 2024-09-02 12:00:46 -04:00
arcadez2003 27f6fd58d0 Tag Dragon Saber as having imperfect Gfx 2024-09-02 14:16:48 +01:00
arcadez2003 03f92aa4e2 FFs cnd was ban the bomb 2024-09-01 20:31:16 +01:00
arcadez2003 647045487e Attempt to fix build errors 2024-09-01 20:29:43 +01:00
arcadez2003 4e37a655f3 Improve the starfield emulation for the CPS1 games that use it
Strider etc etc should look nicer now stars wise
2024-09-01 20:08:29 +01:00
mahoneyt944 7d4e2ccc01 Fix 2024-08-28 09:53:55 -04:00
arcadez2003 8e504dda18 Merge pull request #1852 from grant2258/polepos
polepos sample tweak
2024-08-27 21:46:02 +01:00
Grantonius maximus 28a3bcc3db polepos sample tweak 2024-08-27 21:13:52 +01:00
mahoneyt944 4986bd37b3 Add files via upload 2024-08-25 09:53:01 -04:00
arcadez2003 77808fade3 Merge pull request #1851 from grant2258/namcos
update namoc52 and namco54 to mame 091 and tweak polepos sample
2024-08-24 23:47:58 +01:00
Grantonius maximus 8297da7659 fix namcos54 and polepos sample 2024-08-24 14:31:58 +01:00
mahoneyt944 f6c88f7391 Add files via upload 2024-08-23 02:46:33 -04:00
arcadez2003 1ad788fe88 Mention the new game and some other fixes 2024-08-22 20:17:04 +01:00
arcadez2003 cf2f727441 knightsch 2024-08-22 19:58:25 +01:00
arcadez2003 eccf3f5a1c New working knights Chance [NeoGeo] 2024-08-22 19:56:07 +01:00
mahoneyt944 931741d4ba Add files via upload 2024-08-22 10:47:36 -04:00
mahoneyt944 9234555754 Fix pause feature 2024-08-22 09:36:51 -04:00
Grantonius maximus 994829d390 remove old code not needed 2024-08-22 12:21:54 +01:00
Grantonius maximus 446d248d73 restore reverted changes for testing 2024-08-22 12:12:57 +01:00
arcadez2003 59ec9ae9a9 Merge pull request #1835 from grant2258/oops
missed the reset
2024-08-22 11:57:12 +01:00
arcadez2003 04af4c8ecb As per Namco rollback gaplus can just use the galaga sample again 2024-08-21 21:20:48 +01:00
arcadez2003 17cd76a4d1 Merge pull request #1848 from libretro/arcadez2003-patch-12
Namco rollback Final part
2024-08-21 21:17:12 +01:00
arcadez2003 3d41dd63ec Merge pull request #1847 from libretro/arcadez2003-patch-11
Namco rollback 10
2024-08-21 21:17:01 +01:00
arcadez2003 7d863fe55b Merge pull request #1846 from libretro/arcadez2003-patch-10
Namco rollback 9
2024-08-21 21:16:48 +01:00
arcadez2003 20f53256b1 Merge pull request #1845 from libretro/arcadez2003-patch-9
Namco rollback 8
2024-08-21 21:16:34 +01:00
arcadez2003 7a3745c91b Merge pull request #1844 from libretro/arcadez2003-patch-8
Namco rollback 7
2024-08-21 21:16:20 +01:00
arcadez2003 6c7587ab08 Merge pull request #1843 from libretro/arcadez2003-patch-7
Namco rollback 6
2024-08-21 21:16:05 +01:00
arcadez2003 2e126b09b6 Merge pull request #1842 from libretro/arcadez2003-patch-6
Namco rollback 5
2024-08-21 21:15:49 +01:00
arcadez2003 d9f7c75d0f Merge pull request #1841 from libretro/arcadez2003-patch-5
Namco rollback 4
2024-08-21 21:15:34 +01:00
arcadez2003 9094949e68 Merge pull request #1840 from libretro/arcadez2003-patch-4
Namco rollback 3
2024-08-21 21:15:18 +01:00
arcadez2003 7c91c55083 Merge pull request #1839 from libretro/arcadez2003-patch-3
Namco rollback 2
2024-08-21 21:14:50 +01:00
arcadez2003 d22b80aafa Merge pull request #1838 from libretro/arcadez2003-patch-2
Namco begin rollback
2024-08-21 21:14:36 +01:00
arcadez2003 8455198aa0 Namco rollback Final part 2024-08-21 21:14:15 +01:00
arcadez2003 5f60a36894 Namco rollback 10 2024-08-21 21:12:51 +01:00
arcadez2003 6b2291d140 Namco rollback 9 2024-08-21 21:11:23 +01:00
arcadez2003 c39dc96a47 Namco rollback 8 2024-08-21 21:10:03 +01:00
arcadez2003 7e3f5c55d7 Namco rollback 7 2024-08-21 21:07:41 +01:00
arcadez2003 42daae9497 Namco rollback 6 2024-08-21 21:06:36 +01:00
arcadez2003 93e5fbe660 Namco rollback 5 2024-08-21 21:05:17 +01:00
arcadez2003 e4830a0f5b Namco rollback 4 2024-08-21 21:04:06 +01:00
arcadez2003 8b23d0f1c3 Namco rollback 3 2024-08-21 21:02:35 +01:00
arcadez2003 107d488712 Namco rollback 2 2024-08-21 21:01:40 +01:00
arcadez2003 bac6ff86fc Namco begin rollback 2024-08-21 21:00:31 +01:00
mahoneyt944 bd371b5c70 Add files via upload 2024-08-18 18:32:10 -04:00
arcadez2003 33ac7ce4c8 Merge pull request #1835 from grant2258/oops
missed the reset
2024-08-18 20:14:51 +01:00
Grantonius maximus 555c824944 missed the reset 2024-08-18 19:30:51 +01:00
arcadez2003 2f6b79b8cd Merge pull request #1833 from grant2258/fix
fix compile
2024-08-18 18:43:14 +01:00
Grantonius maximus 2227597ff7 fix compile 2024-08-18 16:33:43 +01:00
arcadez2003 354384a08e Merge pull request #1832 from grant2258/namco
namco52 namco54 to mame091
2024-08-18 16:10:18 +01:00
Grantonius maximus b16dbc66e0 namco52 namco54 to mame091 2024-08-18 15:35:23 +01:00
mahoneyt944 95806c35f7 Add xway as extension. (#1831) 2024-08-18 03:45:18 -04:00
mahoneyt944 f38ab5903e Revert 2024-08-17 20:05:04 -04:00
arcadez2003 91279be5ea Fix dips in Super Pacman and sound and video improvements for Pacman & Chomp Chomp
0.97u2: Added new sound1 PROM to Pac & Pal and clones. Nicola Salmoria and Guru correct colors in clone 'Pac-Man & Chomp Chomp'. Fixed rom names.

0.84: Pierpaolo Prazzoli fixed Super Pacman dipswitches (Rack Test, Service Mode and Speedup Cheat).
2024-08-17 23:25:06 +01:00
mahoneyt944 f8f0f8100c Add files via upload 2024-08-17 17:53:11 -04:00
arcadez2003 c107ff4821 Merge pull request #1827 from grant2258/polepos
pole pos fix up sets and add new ones
2024-08-17 21:28:53 +01:00
arcadez2003 2b9c96b8f3 rollback to earlier today final one 2024-08-17 20:57:33 +01:00
arcadez2003 da281a6845 rollback to earlier today 10 2024-08-17 20:56:06 +01:00
arcadez2003 00aab4a06a rollback to earlier today 9 2024-08-17 20:53:32 +01:00
arcadez2003 3cad29367f rollback to earlier today 8 2024-08-17 20:52:06 +01:00
arcadez2003 f0983d56c8 Rollback to earlier today 7 2024-08-17 20:50:43 +01:00
arcadez2003 dae678270e Rollback to earlier today 6 2024-08-17 20:48:55 +01:00
arcadez2003 20ca69a61a Rollback to earlier today 5 2024-08-17 20:47:26 +01:00
arcadez2003 7c1d241f98 rollback to earlier today 4 2024-08-17 20:45:01 +01:00
arcadez2003 192492c28d rollback to earlier today 3 2024-08-17 20:42:22 +01:00
arcadez2003 00656ef605 rollback to earlier today 2 2024-08-17 20:40:02 +01:00
arcadez2003 064f99db63 Rollback to earlier today 1 2024-08-17 20:38:51 +01:00
arcadez2003 9f52be61b4 If this doesn't sort it im rolling way back 2024-08-17 20:09:02 +01:00
Grantonius maximus 95969cb409 pole pos fix up sets and add new ones 2024-08-17 20:07:58 +01:00
arcadez2003 dd43fddb29 Hopefully this will fix the build errors 2024-08-17 19:53:39 +01:00
arcadez2003 99dfc6d319 Update sound filter to MAME91 needed by the Namco sound changes 2024-08-17 19:52:25 +01:00
arcadez2003 87e9241898 finally hookup galaga.c to the new Namco sound cores 2024-08-17 19:32:32 +01:00
arcadez2003 0ad38d26f5 Hookup polepos.c to the new Namco soundcores 2024-08-17 19:30:31 +01:00
arcadez2003 e8f7ade377 Update Pole Position sound to use new Namco sound cores and add filtering support 2024-08-17 19:28:19 +01:00
arcadez2003 1e1aee8b01 Namco 52/54 done 2024-08-17 19:26:52 +01:00
arcadez2003 4e4a80bf07 Namco 52 2024-08-17 19:24:41 +01:00
arcadez2003 5120c554cf Now it's time for Namco 52 Sound 2024-08-17 19:23:45 +01:00
arcadez2003 957856360c Namco54 update 2024-08-17 19:22:20 +01:00
arcadez2003 3c3f5d2018 Begin updating Namco 52/54 soundcores to MAME91
Adds filtering support
2024-08-17 19:21:12 +01:00
arcadez2003 081f2fc388 When i use ole src's this is what happens :) 2024-08-17 14:00:01 +01:00
arcadez2003 eb5d8b6d91 Update polepos.c to use the new Namco54 soundcore 2024-08-17 13:56:03 +01:00
arcadez2003 68081252a6 Due to Galaga sample sound changes Gaplus now uses it's own 2024-08-17 13:53:50 +01:00
arcadez2003 7f6cc6f289 Update galaga.c for the new Namco54 soundcore 2024-08-17 13:52:40 +01:00
arcadez2003 93ed77caac 80s Namco Update Continued
Update the Namco54 sound core to MAME90 which should
give us some sound improvements for Bosconian, Galaga, 
Xevious and Pole Postions 1 and 2.

MAME WIP

Bosconian
0.89u5: Jarek Burczynski improved the Namco 54xx Noise Generator (Type A and B emulated, type C algo still unknown). Removed samples (bigbang and midbang.wav)

Galaga
0.89u5: Jarek Burczynski improved the Namco 54xx Noise Generator (Type A and B emulated, type C algo still unknown). Removed Samples sound and bang.wav sample.

Gaplus
Due to the above Gaplus will now need it's own sound sample

Pole Position 1 and 2
0.89u5: Jarek Burczynski improved the Namco 54XX Noise Generator (Type A and B emulated, type C algo still unknown). Removed pp2_17.wav sample.

Xevious
0.89u5: Jarek Burczynski improved the Namco 54XX Noise Generator (Type A and B emulated, type C algo still unknown). Removed Samples sound and explo1-4.wav samples.
2024-08-17 13:48:22 +01:00
mahoneyt944 cfe38c91c9 Update inptport.h (#1826) 2024-08-16 08:06:24 -04:00
mahoneyt944 cbfdd3cfac Fix immediate malloc issue 2024-08-16 06:10:44 -04:00
mahoneyt944 8ed99f0665 Multi32 instant sync when switching monitor modes (#1821) 2024-08-14 04:07:55 -04:00
mahoneyt944 5f98dc3cf1 Resync cyclone and drz80 cpus with xtreme (#1820) 2024-08-13 23:58:21 -04:00
mahoneyt944 3807c39bcd Separate sound drz80 for now 2024-08-12 13:59:41 -04:00
mahoneyt944 4adf11f0eb Cyclone / drz80 update (#1818) 2024-08-11 13:41:50 -04:00
zorro2055 444bc10c2a For Dial and Dial-V ports, 3 instead of 2 malloc lines are allocated now to fix memory allocation issue for ports. (#1817) 2024-08-07 20:56:22 -04:00
grant2258 fe1ede7f5d forgot to add the last commit (#1815) 2024-08-06 22:08:01 -04:00
grant2258 2fd4b574c4 fix drz80 (#1814) 2024-08-06 21:33:09 -04:00
mahoneyt944 ae63a9992d Delete old 2024-08-02 13:36:33 -04:00
mahoneyt944 765f054e02 Segas32 fix vblank (#1813) 2024-08-02 03:55:26 -04:00
mahoneyt944 8ffa3c7736 Disable automatic savestate loading (#1812) 2024-07-27 23:11:41 -04:00
mahoneyt944 4b1655566a Add files via upload 2024-07-27 11:10:03 -04:00
arcadez2003 48bf0c6576 Add Racing Hero to the list 2024-07-26 19:07:26 +01:00
arcadez2003 12e98d3825 All the segaxbd games work 2024-07-26 19:05:55 +01:00
mahoneyt944 fbec48de26 Revert "Slight delay for auto loading savestates - take 2" (#1811)
This reverts commit 3ff70f1049.
2024-07-26 12:10:02 -04:00
mahoneyt944 3ff70f1049 Slight delay for auto loading savestates - take 2 2024-07-26 06:56:23 -04:00
arcadez2003 6a35683078 More Sega X-board games now work so mention it 2024-07-25 13:34:02 +01:00
arcadez2003 7623e02f22 Tag Line Of Fire as working And Racing Hero as not 2024-07-25 13:09:41 +01:00
mahoneyt944 ff9a89de8d Revert "Slight delay for auto loading savestates (#1808)" (#1809)
This reverts commit 244018ddec.
2024-07-24 01:54:19 -04:00
mahoneyt944 244018ddec Slight delay for auto loading savestates (#1808) 2024-07-24 01:00:36 -04:00
arcadez2003 3da9f7be18 Line Of Fire related 2024-07-23 23:53:22 +01:00
mahoneyt944 10e5792459 Fix usgames inputs 2024-07-23 01:37:43 -04:00
mahoneyt944 ba480f9240 Segas32 utility macro 2024-07-22 18:22:31 -04:00
grant2258 5ad53fe043 bag another two games (#1804) 2024-07-21 22:26:36 -04:00
arcadez2003 5d37a2a958 FFS look before i leap 2024-07-22 01:06:42 +01:00
arcadez2003 f5adc67bf3 Add CPU reset line 2024-07-22 00:47:20 +01:00
arcadez2003 bc5668c328 Merge pull request #1803 from grant2258/segaxbd
add nvram
2024-07-21 22:18:20 +01:00
Grantonius maximus dae79e6881 static 2024-07-21 21:58:26 +01:00
Grantonius maximus 1845ee2d95 add nvram 2024-07-21 21:56:09 +01:00
arcadez2003 944d73bad6 Attempt to fix errors 2024-07-21 21:34:26 +01:00
arcadez2003 250b08ed78 Line Of Fire inputs + video + sync 2024-07-21 21:16:35 +01:00
grant2258 ddbf2ac634 update segaxbd (#1802) 2024-07-21 08:08:21 -04:00
grant2258 3ca57f4a5f add sonic cheats (#1801) 2024-07-21 00:34:31 -04:00
grant2258 a548b52061 fix rachero button maps and sound cpu read (#1800) 2024-07-20 19:19:37 -04:00
arcadez2003 65c195b90a smgp 2024-07-20 21:30:22 +01:00
arcadez2003 c12965bea4 Super Monaco GP 2024-07-20 21:28:42 +01:00
arcadez2003 1035dfb264 AB Cop and Racing Hero need this 2024-07-20 21:05:13 +01:00
arcadez2003 3feca60b07 rachero 2024-07-20 20:31:46 +01:00
arcadez2003 49596a7797 Add Racing Hero to the pot 2024-07-20 20:29:15 +01:00
arcadez2003 eb6295935f Hmm they're swapped around in this driver 2024-07-20 19:33:48 +01:00
arcadez2003 3a0e3d8426 abcop 2024-07-20 19:21:09 +01:00
arcadez2003 d2b68cced4 A.B.Cop maybe's aye maybe's nah 2024-07-20 19:16:42 +01:00
4shpool 389511ca3a Add files via upload (#1798)
added thndrbld1 to catver
2024-07-19 18:51:38 -04:00
mahoneyt944 a01198fd90 common write 2024-07-19 08:29:35 -04:00
mahoneyt944 2dbcd8a014 Rename 2024-07-19 06:39:24 -04:00
mahoneyt944 4af6b905b9 Separate protection 2024-07-19 04:22:00 -04:00
arcadez2003 a2ca0fc5ef Updatety for Thunder Blade 2024-07-18 19:47:04 +01:00
mahoneyt944 174bdd15b7 Add files via upload 2024-07-18 10:06:28 -04:00
mahoneyt944 abaf52d4ec Small tweak 2024-07-18 05:50:53 -04:00
mahoneyt944 6e32442172 Simplify some more 2024-07-18 01:14:22 -04:00
mahoneyt944 e04cf9cba9 Use newer rom loading (#1795) 2024-07-17 19:08:12 -04:00
mahoneyt944 d8fbbeb585 Revert "Update sprite loading" (#1793)
This reverts commit 5cb2e3756a.
2024-07-16 23:59:52 -04:00
mahoneyt944 5cb2e3756a Update sprite loading 2024-07-16 23:33:47 -04:00
grant2258 1ae2425549 update segacbrd mapping all accounted (#1791)
* update

* add a note
2024-07-16 20:48:44 -04:00
mahoneyt944 82d079d86c Update segas32.c 2024-07-16 08:43:25 -04:00
arcadez2003 48b565393f Fill in the release years for Thunderblade etc etc 2024-07-16 13:35:02 +01:00
mahoneyt944 0997277c7c Update 2024-07-15 23:43:33 -04:00
grant2258 cd4a083788 fix thunderblade for the 2003 plus amigos (#1788)
* fix thunderblade for the 2003 plus amigos

* notes

* update
2024-07-15 22:03:06 -04:00
mahoneyt944 2ac37bb5f2 Segas32 io improvements 2024-07-15 06:31:06 -04:00
arcadez2003 e57f1dc31c Swap Outzone sets around marking set 2 as an unfinished prototype
0.97u5: Aaron Giles swapped Out Zone (set 1) with (set 2) - the other set was a newer revision with more secret bonuses, refined sound effects and a real ending instead of a few text lines. Renamed (outzone) to (outzonea) and (outzonea) to (outzone).
2024-07-12 22:52:58 +01:00
mahoneyt944 0720293e22 Fix radr bitmap - cnt register
Note: output lamps are not hooked up.
2024-07-12 09:13:42 -04:00
mahoneyt944 61dc29213d More io cleanups 2024-07-12 06:21:26 -04:00
mahoneyt944 820b214bb7 mame2003-xtreme bootstrap 3 player mode 2024-07-11 21:59:38 -04:00
mahoneyt944 4db726c6b8 Fix gseeker (#1784) 2024-07-11 18:33:21 -04:00
arcadez2003 358f5c012a gseeker test 2024-07-11 20:25:27 +01:00
mahoneyt944 d1ea797420 Tighten the belt some 2024-07-10 18:53:06 -04:00
grant2258 720ef0c5d9 Sys32 sound (#1781)
* fix clipping

* adjust pcm volume causes clipping in orunners
2024-07-09 14:51:30 -04:00
4shpool 62bf8afca9 Added 4 roms (#1780) 2024-07-09 14:51:04 -04:00
mahoneyt944 85edcf5588 Update rf5c68.c 2024-07-08 02:12:57 -04:00
grant2258 29def6ac5b f1en fix (#1779) 2024-07-08 02:09:45 -04:00
mahoneyt944 333a6d550e Fix 2024-07-08 01:55:20 -04:00
mahoneyt944 655690dc68 Init data 2024-07-08 01:53:11 -04:00
mahoneyt944 a52de11944 Try new system18 clock 2024-07-07 23:46:14 -04:00
grant2258 cfc1a05064 Soundcore fix (#1778) 2024-07-07 23:43:12 -04:00
mahoneyt944 bdf262379f Test multi32 speedup 2024-07-04 17:03:09 -04:00
mahoneyt944 98944d3c0a Add files via upload 2024-07-03 00:31:27 -04:00
mahoneyt944 643c9bcf73 Add files via upload 2024-07-03 00:28:02 -04:00
mahoneyt944 0fe6f58200 Small tweaks 2024-07-02 06:09:12 -04:00
mahoneyt944 edc216ffa0 Revert 2024-07-02 04:03:14 -04:00
mahoneyt944 1b5869c510 Update V60 rom loading 2024-07-02 03:48:00 -04:00
arcadez2003 d6fdae0a80 slipstrh 2024-07-01 14:24:28 +01:00
arcadez2003 52cc561a4c Slipstream add another version
0.120u4: Guru added clone Slipstream (HISPANIC). Changed parent description to 'Slipstream (BRAZIL).
2024-07-01 14:15:50 +01:00
arcadez2003 81819b43b5 Tidy up 2024-07-01 13:52:19 +01:00
mahoneyt944 015fbd88bf Add files via upload 2024-06-30 19:20:07 -04:00
mahoneyt944 efaec4f28e Update CHANGELOG.md 2024-06-30 19:13:54 -04:00
arcadez2003 73e2aeed93 Updatety 2024-06-30 22:54:37 +01:00
mahoneyt944 d4a5bf4581 Sega protection 2024-06-30 13:50:41 -04:00
mahoneyt944 00679d3b78 Init mixer control 2024-06-30 03:44:13 -04:00
mahoneyt944 df1d09749d Segas32 interrupt controller 2024-06-29 22:54:07 -04:00
zorro2055 ffe307aaa4 Added recommended analog controls settings for Forgotten Worlds, Gondomania, and T.A.N.K. Changed default Dial position so the character will not move 0 or 2 steps for at least 30 rotations in either direction. (#1773) 2024-06-29 17:42:27 -04:00
mahoneyt944 c81ea394a6 Jpark remove cab motor 2024-06-28 17:53:28 -04:00
Ploggy 34e265745f [WiiU] Aroma CFW Compatibility (#1770)
* Update Makefile

* Update Makefile
2024-06-28 15:58:56 -04:00
zorro2055 e6c5af4d79 Adjusted default rotary value for Heavy Barrel, Midnight Reistance, Ikari III, and SAR - Search and Rescue to avoid precession effects for ~30 steps continuously in one rotational direction (#1771) 2024-06-28 14:42:57 -04:00
mahoneyt944 da3548f3c9 Segas32 merger 2024-06-28 10:26:45 -04:00
arcadez2003 fffb0665cd Fever SOS 2024-06-26 21:03:31 +01:00
arcadez2003 69e4b68a07 Add Support For Fever SOS
0.79u1: Fixed clone Fever SOS so it works now.
0.79: Added clone Fever SOS (International).
2024-06-26 21:01:18 +01:00
mahoneyt944 48e8458483 Compute flipping and opaque hack 2024-06-26 04:04:37 -04:00
mahoneyt944 7a18e6289a Unused cleanups 2024-06-25 23:22:52 -04:00
mahoneyt944 686b8976ff Multi32 lives on V60 2024-06-25 21:28:43 -04:00
zorro2055 ab6a8d9d31 Adjust DownTown Analog Control default number to be in middle of rotary step so it will take many rotary steps either way to precess enough to miss a step. The JOY_ROTATION macro had to be modified to keep Caliber 50's default value the same as before since it uses this macro as well. (#1765) 2024-06-25 00:17:39 -04:00
mahoneyt944 88784633bc Clean decode up (#1764) 2024-06-24 21:30:31 -04:00
arcadez2003 0422413bbb Twin Cobra 2 sets 2024-06-23 16:33:25 +01:00
arcadez2003 3233570240 Add Twin Cobra 2 + a redumped sprite rom for all versions
0.150: Replaced badly dumped sprite rom in Twin Cobra II and clones. This fixes the stray flashing pixels on the bottom left of the helicopter after starting a game [Kevin Eshbach]. 

0.85u2: Brian Troha added Twin Cobra 2 (World) and clone (US).
2024-06-23 16:31:40 +01:00
mahoneyt944 f3bbd6284a Fix undefined behavior 2024-06-23 05:11:07 -04:00
mahoneyt944 1337ed4d1e Update system32.c 2024-06-23 00:42:42 -04:00
mahoneyt944 f01f6c68c8 Fix size malloc and shared read (#1762) 2024-06-21 18:41:20 -04:00
mahoneyt944 4bbd426645 Update segas32.c 2024-06-21 16:56:04 -04:00
mahoneyt944 a3e1bdecc2 Update v60mem.c 2024-06-21 15:34:04 -04:00
mahoneyt944 6cfb3b4039 Fix v70 cpu 2024-06-21 15:24:44 -04:00
grant2258 a510183a53 fix fatal error logging (#1761) 2024-06-21 13:03:58 -04:00
mahoneyt944 96034b6efe Fix map. (#1759) 2024-06-21 11:03:12 -04:00
mahoneyt944 b6aac3b869 Segas32 video code update - system32 working only (#1758)
Multi32 temporarily broken, will update soon.
2024-06-21 10:30:16 -04:00
4shpool 20522a26c6 Added 2 clones of cbombers (#1756)
Added: cbombersj, cbombersp
2024-06-17 23:06:32 -04:00
mahoneyt944 f0294304be System32 untangle Spriteram / hookup read 2024-06-15 13:25:39 -04:00
mahoneyt944 148188345e System32 more cleanups 2024-06-15 12:31:42 -04:00
mahoneyt944 d399fb0434 System32 cleanup and prep 2024-06-15 11:11:07 -04:00
mahoneyt944 3baee8fd74 System32 - Use the palette directly
Need to hookup the indirect palette properly in the next update.
2024-06-14 09:35:06 -04:00
mahoneyt944 3206819c48 Add files via upload 2024-06-12 19:50:16 -04:00
mahoneyt944 418fe399ad Add cbombersj and cbombersp 2024-06-12 10:39:33 -04:00
mahoneyt944 be073fe1c5 Fix remaining cbombers color issues 2024-06-12 07:57:10 -04:00
mahoneyt944 c729e24b83 More improvement for cbombers / undrfire (#1750) 2024-06-11 08:10:40 -04:00
arcadez2003 3e74766852 cbombers add missing ram read pallette call 2024-06-11 11:04:32 +01:00
mahoneyt944 88061f4328 Some improvement to cbombers - still imperfect. 2024-06-10 10:16:56 -04:00
mahoneyt944 ecd00b1818 Black pix 2024-06-07 22:07:25 -04:00
mahoneyt944 6f006b90a0 Add full support for DolphinBar mode 2 in RetroArch => v1.19.0 (#1747)
* Update libretro.h

* Update mame2003.c
2024-06-07 14:24:38 -04:00
zorro2055 e49d9946a3 Add updated input sectionto changelog (#1746)
* Added new X-Way Joystick option and Recommended Analog Controls settings if using an X-Way rotary joystick for the games that used it in the arcade to the CHANGELOG.md

* Fixed added analog input device text in CHANGELOG.md to wrap around like the text in the rest of the file
2024-06-06 22:09:35 -04:00
mahoneyt944 b37ce12303 Reset behavior show gfx 2024-05-28 23:44:25 -04:00
zorro2055 7e0673fb35 Fix Analog Port initial default so Time Soldiers / Battlefield character is correctly pointing straight up. (#1743) 2024-05-27 20:50:23 -04:00
mahoneyt944 00f12f2da7 Revert "Fix time soldiers character init direction and precession (#1742)" (#1744)
This reverts commit 4e47c2409b.
2024-05-27 20:49:59 -04:00
zorro2055 4e47c2409b Fix time soldiers character init direction and precession (#1742)
* Fix initial direction character in Time Soldiers / Battlefield is facing. Have character pointing toward middle of rotary range per step so character will not skip or no step every so often from key / joy step which can only be an integer

* Removed unneeded set of braces that had been left over from testing
2024-05-27 19:37:36 -04:00
mahoneyt944 2a2ba583af Reset behavior
Allows the core to reset while the mame menu is open, following pre- `cpu_pause()` behavior. In such events the mame menu will be open while unpaused. Normal operation will continue on the next `cpu_pause()` event.
2024-05-27 12:52:48 -04:00
mahoneyt944 b0bd7ab4a2 Minor cleanup 2024-05-26 16:52:03 -04:00
zorro2055 fa04706178 Selectively hide x way joystick menu item (#1740) 2024-05-23 22:15:04 -04:00
mahoneyt944 a5646f7531 Fix interrupt pause 2024-05-23 05:07:57 -04:00
grant2258 929ebe9e4f fix frameskip take two (#1737) 2024-05-22 16:02:03 -04:00
mahoneyt944 5f0dff3012 Pause interrupt (#1736) 2024-05-22 12:58:48 -04:00
mahoneyt944 97dfe652db Pause sample stream 2024-05-21 09:47:16 -04:00
grant2258 b40699ea65 fix frameskip, will add the video code and latency options next update (#1733) 2024-05-21 03:32:08 -04:00
zorro2055 1b56b20cd6 Added measures to eliminate when occasionally, two character rotations steps occur when rotary joystick is twisted one position. (#1652) 2024-05-21 01:49:44 -04:00
mahoneyt944 38ec1ab42b Called in main loop 2024-05-20 13:32:17 -04:00
mahoneyt944 4cc15fa4a1 Use cpu_pause_state, remove redundancy. 2024-05-20 08:00:56 -04:00
mahoneyt944 a9cfcedc65 Fix API violation 😅 (#1731) 2024-05-20 07:09:38 -04:00
mahoneyt944 5abffa8e29 Use cpu_pause while in mame menu (#1730) 2024-05-20 04:33:11 -04:00
mahoneyt944 3bb111a8cd Create cpu_pause() 2024-05-19 21:30:40 -04:00
mahoneyt944 f0135f7f61 Make show gfx work (#1728) 2024-05-17 14:08:08 -04:00
mahoneyt944 ad1eeb8b08 COREDEFS never used. (#1727) 2024-05-17 06:31:41 -04:00
mahoneyt944 b7ed1be7b3 Fix show gfx crash (#1726) 2024-05-16 23:28:37 -04:00
mahoneyt944 d67bd2534a Increase palette length fix ASAN error 2024-05-15 16:39:10 -04:00
mahoneyt944 2154d31e62 Add files via upload 2024-05-14 23:50:02 -04:00
mahoneyt944 a663899c7d Update snowbros.c 2024-05-14 23:35:20 -04:00
mahoneyt944 ab725a7f30 GCC14 fixes 2024-05-07 12:00:34 -04:00
mahoneyt944 95165d5638 Add files via upload 2024-05-06 21:21:39 -04:00
4shpool 32f28b41c1 updated catver (#1720) 2024-05-06 08:07:47 -04:00
mahoneyt944 71c6b8ca36 Topspeed, topspedu, fullthrl add shifter indicator, fix graphics bug. 2024-05-06 04:13:02 -04:00
mahoneyt944 11fad92fae Fix bowler score board. 2024-05-03 06:02:04 -04:00
mahoneyt944 6c1d0f0a0a Update wecleman.c 2024-04-30 16:46:37 -04:00
mahoneyt944 80d41e0245 02996 hotchase: [debug] Access Violation [Phil Bennett] 2024-04-30 13:49:22 -04:00
mahoneyt944 73d72aea18 Update wecleman_vidhrdw.c 2024-04-30 13:08:31 -04:00
mahoneyt944 f0a37ce4ba Add shifter indicator wecleman / hotchase 2024-04-30 11:36:09 -04:00
mahoneyt944 f581919cac Fix drawing crash wecleman / hotchase
Broken some time around 73, fixed around 96u4.
2024-04-30 08:55:35 -04:00
mahoneyt944 7603522cb4 Preliminary support for seawolf2 target
X scaling still needs adjustment.
2024-04-27 14:01:36 -04:00
mahoneyt944 d6732ad36a Center update 2024-04-26 22:35:38 -04:00
mahoneyt944 0fe764272f Targeting for blueshrk and seawolf 2024-04-26 21:28:35 -04:00
mahoneyt944 e637995d2c Standardize shift indicator into lower corner 2024-04-26 13:10:38 -04:00
mahoneyt944 c275c79fe5 Add shift indicator for outrun and toutrun 2024-04-25 23:39:54 -04:00
mahoneyt944 bb864ca20b Add files via upload 2024-04-19 15:45:10 -04:00
mahoneyt944 3d88790f03 Move polepos shifter position to the side of the screen 2024-04-18 06:40:49 -04:00
mahoneyt944 d3b616a590 Allow button to map to gear change 2024-04-18 00:47:10 -04:00
arcadez2003 2d10f9a22a Fix some slowdown issues in Silent Dragon
0.109u1: Mamesick fixed interrupt in Silent Dragon (in all scenes with linescrolling, the characters move in slow motion).
2024-04-17 21:17:24 +01:00
mahoneyt944 b3982cb1a4 Descriptors for pedals (#1709) 2024-04-17 10:54:38 -04:00
arcadez2003 453f715014 Updatety time 2024-04-16 22:04:31 +01:00
arcadez2003 32784c7879 Buccaneers two sets 2024-04-16 21:10:04 +01:00
arcadez2003 8f5c5db523 Buccaneers video changes 2024-04-16 21:05:55 +01:00
arcadez2003 b81e4dd719 New game Buccaneers
0.95: Corrado Tomaselli fixed Buccaneers sound frequency. Pierpaolo Prazzoli fixed sprite bug. Changed Z80 CPU1 clock speed to 5688800 Hz, Z80 CPU2 to 3072000 Hz and the 2x YM2203 to 3072000 Hz.
0.94u5: Pierpaolo Prazzoli fixed transparency issue in Buccaneers. Added dipswitches 'Coin A/B', 'Flip Screen', 'Lives', 'Difficulty', 'Cabinet', 'Demo Sounds' and 'Allow Continue'.
0.94u4: Added Buccaneers (set 1). Added cpu1 rom and new gfx2 roms ($10000, 50000) to clone (set 2). Added dipswitches 'Service Mode' and 16x 'Unknown'. Changed 'Buccaneers' to clone 'Buccaneers (set 2)'. Renamed (buccanrs) to (buccanra).
17th March 2005: David Haywood - Did a little bit of work on the Buccaneers driver, this one seems 99% complete now, just one or two graphical oddities to verify.
3rd March 2005: f205v dumped Buccaneers (set 1).
0.90: Tomasz Slanina added Buccaneers (Duintronic 1989). Missing one program rom.
1st January 2005: Tomasz Slanina - Added Buccaneers (Duintronic) to Vigilante driver (one ROM is missing).
19th July 1998: Dumped Buccaneers (set 2).
2024-04-16 21:04:15 +01:00
arcadez2003 fd902427ef Fix Sample Sounds not playing in some versions of Bomber Man
0.142u2: Alex Jackson hooked up sample playback in Bomber Man World / New Dyna Blaster and clones and removed GAME_IMPERFECT_SOUND flag
2024-04-15 13:46:47 +01:00
arcadez2003 7ca870c416 tfrceacjpb 2024-04-13 22:03:59 +01:00
arcadez2003 21268ea8c7 ThunderForce AC add a new version with many diffs
Likely this is a bootleg of an early dev prototype diffs from
the final retail release are as follows......

1) The intro on mine is missing the background and the music is completely different. No cool tech!
2) The game has no voices at all. Lame!
3) Weird little differences - font colors are slightly different on the "How to Play" screen and text is changed
4) Stage 4 is "Haides" and Stage 5 is "Ellis", which apparently don't exist at ALL in AC(?), just in Thunder Force 3 on the Genesis
5) Again, game ends after Stage 5
6) Stage Select is present

More info here
https://shmups.system11.org/viewtopic.php?f=1&t=66235
2024-04-13 22:00:08 +01:00
mahoneyt944 5c52291ec4 Add files via upload 2024-04-10 06:36:32 -04:00
arcadez2003 bf25033136 Karate Champ fix some sound issues
0.131u1: Angelo Salese lowered DAC volume in Karate Champ from 0.50 to 0.15, it was having sound clipping problems since day one.
2024-04-09 23:38:18 +01:00
arcadez2003 c31cf77a12 Cyborg Force raise main CPU loading to 0x900000 2024-04-09 20:42:19 +01:00
arcadez2003 bc10b807b1 Updatey 2024-04-08 19:34:46 +01:00
arcadez2003 113f8fe342 Fix YM3812 clock speed for Zero Point 1 and Burgler X 2024-04-08 19:20:15 +01:00
arcadez2003 0ed70a12f1 Performan fix bg colours 2024-04-08 14:08:40 +01:00
arcadez2003 847393a71d Fix broken sound and incorrect bg colours in Performan
MAME WIP
0.111u1: Mamesick fixed music speed (VBLANK/interrupt) in Performan.
0.111: Pierpaolo Prazzoli added palette banking to Performan.
0.110u5: Pierpaolo Prazzoli fixed the background color in Performan.
2024-04-08 14:07:28 +01:00
arcadez2003 6473d053aa Typo 2024-04-08 13:47:38 +01:00
arcadez2003 f6ef16f4fb Romset 2024-04-08 13:45:32 +01:00
arcadez2003 d688f4fd49 Add support for Cyborg Force
Neo Byte Force LTD
2024-04-08 13:43:53 +01:00
grant2258 e4c17d5277 fixes (#1707) 2024-04-07 23:26:10 -04:00
arcadez2003 2df4978081 Sky Lancer GFX fixes cont 2024-04-07 21:12:45 +01:00
arcadez2003 d43251da46 Sky Lancer fix some gfx niggles including the cocktail mode
0.125u5: Nicola Salmoria fixed graphics in cocktail mode. Changed visible area to 224x236.
0.94u2: Nicola Salmoria fixed some bad gfx in Sky Lancer.
2024-04-07 21:11:37 +01:00
arcadez2003 859476acf9 Merge pull request #1705 from grant2258/clean
add toprollr as per request
2024-04-07 20:14:31 +01:00
Grantonius maximus 2a358de827 add toprollr 2024-04-07 19:36:49 +01:00
arcadez2003 cbafc60d5f Fix sound banking for Go Go! Mile Smile / Susume! Mile Smile
MAME WIP

0.155: System11 correct clock speeds. Changed YM2203 and YM3812 clock speeds to 3580000 Hz and OKI6295 to 1MHz. 
0.148u5: Increased Z80 clock to 6MHz. Fixes Go Go! Mile Smile intro music and speech [Phil Bennett].
0.99u1: Pierpaolo Prazzoli fixed OKI6295 sound banking in Go Go! Mile Smile.
2024-04-06 15:31:58 +01:00
arcadez2003 f03f865af9 Chinese Hero fix a sprite issue on level 7
0.141u1: Corrado Tomaselli and Pierpaolo Prazzoli fixed sprite drawing in Chinese Hero (bad sprite on level 7). Pierpaolo Prazzoli added sprites wrap around-y to fix gorilla sprites entering from the left.
2024-04-03 21:50:50 +01:00
arcadez2003 0d7dfa721f Mention the nice wee fix for Exerion. 2024-04-01 22:44:13 +01:00
arcadez2003 aafe295d5b Protection fix for Exerion
This will prevent the game from ending regardless of how
many lives you have left if you die after the 1st bonus round.
2024-04-01 21:31:37 +01:00
mahoneyt944 ee777f235b Add files via upload 2024-03-22 11:15:34 -04:00
arcadez2003 8e60ed0217 Strike Gunner S.T.G mention the fix 2024-03-21 22:12:26 +00:00
arcadez2003 f0f77bee45 Strike Gunner S.T.G add missing button 3 inputs
Used to merge both ships into one during a two player game
2024-03-21 22:08:03 +00:00
arcadez2003 f8b0565fd3 Might as well Mention Rabbit now works 2024-03-10 15:51:15 +00:00
mahoneyt944 a7cb863de4 Add files via upload 2024-03-02 13:02:26 -05:00
mahoneyt944 3bfa9f89ab rabbit bootstrap (#1697) 2024-02-27 17:24:38 -05:00
arcadez2003 eaaf94a351 Add default nvram settings for Rabbit 2024-02-27 19:30:32 +00:00
mahoneyt944 5ccce74b43 Try 2024-02-27 10:47:28 -05:00
arcadez2003 d3bc97daaf hmm 2024-02-26 21:28:11 +00:00
arcadez2003 9270cf4827 Update rabbit.c to MAME88 game now playable
MAME WIP
0.146u1: Healthbar color in Rabbit looks correct now. Small update [hap]
0.86u5: Deadscreem improved inputs in Rabbit. Added 2nd coin slot and 'Service Mode' dipswitch. Removed 4x 'Unknown' dipswitches.
0.86u4: R. Belmont hooked up EEPROM in Rabbit driver.
0.84u5: David Haywood fixed Rabbit - Game now playable. Significant improvements to the Rabbit driver [David Haywood]. Changed 68020 CPU1 to 68EC020 and fixed user1/2 rom loading.
2024-02-26 21:10:21 +00:00
4shpool 1a5b4b75e1 Add files via upload (#1695)
added hamaway
2024-02-21 13:09:00 -05:00
arcadez2003 a5582a4f76 Sega and more 2024-02-20 19:52:54 +00:00
arcadez2003 c3b9159216 Fix Player 2 Start For Tinkle Pit
Thanks to WeirdH for the bug report
2024-02-20 19:43:08 +00:00
arcadez2003 fc987f1913 Merge pull request #1692 from grant2258/clean
fix old system18 sound banking
2024-02-16 19:21:46 +00:00
Grantonius maximus ce562d9348 remove obselete rom banking madness 2024-02-16 17:00:57 +00:00
mahoneyt944 e15cd2be08 Revert "system18 updates (#1690)" (#1691)
This reverts commit 7f7ead9766.
2024-02-16 10:05:04 -05:00
mahoneyt944 0ead99edaf Add files via upload 2024-02-15 16:39:12 -05:00
grant2258 7f7ead9766 system18 updates (#1690) 2024-02-15 16:30:45 -05:00
Grantonius maximus b75cb35726 system18 updates 2024-02-15 17:46:45 +00:00
arcadez2003 a4d62997d3 Merge pull request #1688 from libretro/arcadez2003-patch-2
Wild Fang / Tecmo Knight emulate missing gfx effect cont
2024-02-13 11:12:40 +00:00
arcadez2003 2f135b9efb Merge pull request #1687 from libretro/arcadez2003-patch-1
Wild Fang / Tecmo Knight emulate missing gfx effect
2024-02-13 11:12:25 +00:00
mahoneyt944 a33e5c0a18 Add files via upload 2024-02-12 04:46:09 -05:00
arcadez2003 5373f31ca3 Wild Fang / Tecmo Knight emulate missing gfx effect cont 2024-02-11 19:59:36 +00:00
arcadez2003 89c8b2f4f9 Wild Fang / Tecmo Knight emulate missing gfx effect
0.138u4: hap fixed missing screen shaking effect in Wild Fang / Tecmo Knight.
17th July 2010: Smitdogg - When I was testing the Tecmo Knight PCB we recently got for decapping, I noticed there was an effect that shook the entire screen during some jump landings and parts where enemies break through walls. The effect was missing from MAME but thanks to hap it's going to be in 0.138u4 so be sure to try out Tecmo Knight / Wild Fang in the next release to check out this effect.
2024-02-11 19:57:15 +00:00
mahoneyt944 2ad90f22d7 Update system18.c 2024-02-11 12:40:18 -05:00
arcadez2003 75a6289408 Merge pull request #1686 from grant2258/ddcrew
ddcrew tweaks
2024-02-11 15:35:59 +00:00
arcadez2003 3f0bb3c930 Merge pull request #1685 from grant2258/hamaway
Hamaway
2024-02-11 15:35:46 +00:00
Grantonius maximus 8646ec13f6 ddcrew tweaks 2024-02-11 15:02:30 +00:00
Grantonius maximus ac64834ea6 fix var init 2024-02-10 16:56:14 +00:00
Grantonius maximus fc6bd6b640 fix sound 2024-02-10 16:18:08 +00:00
Grantonius maximus 3a1a18e780 fix hamaway 2024-02-10 15:48:50 +00:00
arcadez2003 debcb547ea enable vdp hack for ddcrew 2024-02-09 15:33:54 +00:00
arcadez2003 2823e46675 DD Crew WIP 2024-02-09 15:31:00 +00:00
mahoneyt944 42c6e1bc88 Fix coin workaround when game is reset 2024-02-08 18:18:00 -05:00
Allege fb90c4b9d2 Do not strip debug DLL, mark 2 (#1684)
Obviously linker flags were clobbered, now they won't be.
2024-02-08 02:45:26 -05:00
mahoneyt944 e1679b2a6e Revert "Do not strip debug library (#1681)" (#1683)
This reverts commit cbe2d591bd.
2024-02-07 23:23:09 -05:00
Allege cbe2d591bd Do not strip debug library (#1681) 2024-02-07 16:19:23 -05:00
arcadez2003 53c6083a20 Mention The Donkeys and the Kongs 2024-02-03 21:23:37 +00:00
arcadez2003 4924228dd5 Switch over to use grants updated banking 2024-02-03 00:33:41 +00:00
arcadez2003 52b0100473 Add coin hack so Donkey Kong Remix is playable grant2258 2024-02-02 21:47:51 +00:00
arcadez2003 692c1f9823 Merge pull request #1679 from 4shpool/master
updated catver
2024-01-31 23:52:09 +00:00
4shpool 283a78420c Merge branch 'libretro:master' into master 2024-02-01 00:44:38 +01:00
4shpool 8ba9cc0f03 Add files via upload
+: aquario, dkchrmx, dkremix, vr
-: dkrdemo
2024-01-31 18:15:49 +01:00
mahoneyt944 fb653702f0 Sega video flipping preliminary (#1678) 2024-01-30 03:37:23 -05:00
arcadez2003 ff664cf8ec Recent improvements from the dev team 2024-01-28 20:58:27 +00:00
arcadez2003 61b0f3a590 ffightae add missing button 3 for 1+2 players
For player 3 coin 3 acts as the third button in game so im told
2024-01-28 20:50:03 +00:00
mahoneyt944 517e2896ad Fix C2 syntax error 2024-01-28 00:19:47 -05:00
mahoneyt944 25f3e82011 Add cocktail to asteroid deluxe (#1677) 2024-01-27 22:32:16 -05:00
mahoneyt944 c7bcc47d11 Asteroids fix leds (#1676) 2024-01-26 22:16:15 -05:00
mahoneyt944 0d0461201d Add files via upload 2024-01-26 11:58:38 -05:00
mahoneyt944 ee4c13520c Asteroid cocktail controls hookup (#1675) 2024-01-26 11:36:46 -05:00
mahoneyt944 84f35d3af0 Add files via upload 2024-01-25 19:12:39 -05:00
mahoneyt944 d850ce5788 Add inverter circuit to asteroids - cocktail screen flip (#1674) 2024-01-25 19:04:31 -05:00
arcadez2003 aed76b26cc Merge pull request #1673 from grant2258/dkremix
use banking for braze
2024-01-24 23:24:20 +00:00
Grantonius maximus b0bb203aef add dk xmas remix 2024-01-24 22:52:03 +00:00
Grantonius maximus 06a353b6bc fix sounds 2024-01-24 21:35:32 +00:00
Grantonius maximus 9ae3c01cf0 try banks 2024-01-24 20:14:59 +00:00
Grantonius maximus 9a45ce9b9b start changes 2024-01-24 18:56:14 +00:00
Grantonius maximus d032999421 Revert "Maybe"
This reverts commit f1b1412f1b.
2024-01-24 17:33:04 +00:00
arcadez2003 f1b1412f1b Maybe 2024-01-24 15:45:23 +00:00
arcadez2003 ea3919785d Whoops 2024-01-23 23:08:12 +00:00
mahoneyt944 4523c667ca Add files via upload 2024-01-23 03:26:41 -05:00
arcadez2003 55f2f22d3e dkremix replaces dkrdemo 2024-01-22 22:27:44 +00:00
arcadez2003 cc8e6844c0 Add support for Donkey Kong Remix
And removed the demo version
2024-01-22 22:24:26 +00:00
arcadez2003 a536089b07 Merge pull request #1671 from grant2258/fix
fix aquario gfx
2024-01-22 19:35:44 +00:00
Grantonius maximus 5d4212664d fix aquario gfx 2024-01-22 18:31:23 +00:00
mahoneyt944 8c7797066d Add files via upload 2024-01-22 13:19:09 -05:00
arcadez2003 bf07e0f409 Merge pull request #1670 from grant2258/aquario_wip
add aquario no sound atm (arcadez wip)
2024-01-21 22:46:22 +00:00
Grantonius maximus 3e69da17a8 update status 2024-01-21 22:20:14 +00:00
Grantonius maximus 00ceb5fffe fixes 2024-01-21 22:13:13 +00:00
Grantonius maximus fb65e590ca add aquario no sound 2024-01-21 18:15:47 +00:00
mahoneyt944 32fa606e82 Fix inputs for tempest fully working (#1668) 2024-01-18 05:48:39 -05:00
mahoneyt944 b61da7548e Switch port to high, fixes tempest flip in cocktail mode. (#1666) 2024-01-17 04:13:33 -05:00
mahoneyt944 b9654b8b02 Fix unused bit range (#1665) 2024-01-16 18:26:27 -05:00
arcadez2003 c3e15ebd51 Attempt to fix Tempest screen flip niggles 2024-01-16 16:40:04 +00:00
mahoneyt944 99644ccca8 Patch in Tempest cocktail controls (#1664) 2024-01-16 09:38:35 -05:00
grant2258 7af5e18c3c model1 running as it should log was spamming the function slowing things down (#1662) 2024-01-11 02:46:08 -05:00
mahoneyt944 3934ad7f6a Add files via upload 2024-01-11 00:03:15 -05:00
arcadez2003 3d03cc4bc2 Some ole and new improvements 2024-01-09 23:35:51 +00:00
arcadez2003 b4b8587904 Make the kiki kai kai mcu romboot values match up with kicknrun
Both games have the same values but they're different in 
current MAME maybe with our code we need 0xf000
2024-01-06 14:59:59 +00:00
arcadez2003 f93c2f282f tidy up 2024-01-06 14:38:58 +00:00
arcadez2003 43b5d1f40e Mexico86 Dummy CPU call for player 3+4 inputs 2024-01-06 14:36:57 +00:00
arcadez2003 70c76b9cdc For Mexico86 2024-01-06 14:33:24 +00:00
arcadez2003 fe73badfd0 Tidy up 2024-01-05 15:50:00 +00:00
arcadez2003 f7e4b68db4 Get rid of Redundant kiki Kai Kai prot sim code 2024-01-04 23:13:33 +00:00
arcadez2003 0fecaf751c Hookup the M6801 MCU for Kiki Kai Kai
And nuke the dodgy protection simulation game is 100% emulated now

With thanks to MAMEDev [Madov, Raki, Travis Goodspeed]
2024-01-04 23:11:46 +00:00
arcadez2003 d2025b36e1 Remove inputs for games we dont support 2024-01-03 01:22:32 +00:00
arcadez2003 323d05b90d Test over revert the code back 2024-01-03 00:41:32 +00:00
arcadez2003 45129616ec Try this again 2024-01-03 00:31:10 +00:00
arcadez2003 380fa9092e Experiment with the sim code a little 2024-01-02 23:39:01 +00:00
arcadez2003 dbc6abe094 vr 2024-01-02 14:28:15 +00:00
arcadez2003 f65ef6d39a VR Track Logic Not 100% 2024-01-02 14:26:19 +00:00
arcadez2003 e69f753722 New Not Working Virtua Racing
0.107u3: Olivier Galibert fixed track lookup implementation in Virtua Racing, bringing the game much closer to playable.
0.86: Virtua Racing improvements [Olivier Galibert, Andrew Gardner].
0.85u2: Added 4x missing user2 roms. Fixed rom names.
0.81u1: Olivier Galibert added 'Virtua Racing' (Sega 1992).
2024-01-02 14:24:24 +00:00
arcadez2003 59e49400fa Shuz add missing sprite-to-playfield shadow effect
With thanks to [codefrog2002]
2023-12-03 15:51:11 +00:00
mahoneyt944 eddec6d603 Fix bitmap for radr and radm experimental (#1656) 2023-11-16 04:07:29 -05:00
LibretroAdmin c05ce28cba Update .gitlab-ci.yml 2023-11-09 16:35:29 -08:00
arcadez2003 3523655080 Merge pull request #1653 from 4shpool/master
Add files via upload
2023-11-06 13:50:48 +00:00
4shpool 23db610f65 Add files via upload
Added: dragoona, mstworld
2023-11-06 14:28:46 +01:00
mahoneyt944 156b3873fb Cmos protect bit hookup (#1651) 2023-11-02 05:26:34 -04:00
LibretroAdmin a34654262c Merge pull request #1650 from JoeOsborn/fix-emscripten
Update some variable declarations for newer clang
2023-11-01 20:06:54 +01:00
Joseph C. Osborn b320a1ffc5 Update some variable declarations for newer clang 2023-11-01 11:57:29 -07:00
arcadez2003 a477a49a26 Mention the new one and a previous fix. 2023-11-01 13:52:08 +00:00
mahoneyt944 bd41eb7547 Add files via upload 2023-11-01 03:59:37 -04:00
arcadez2003 40c457994d Merge pull request #1649 from libretro/arcadez2003-patch-3
mstworld
2023-10-31 22:26:34 +00:00
arcadez2003 a9eab878c4 Merge pull request #1648 from libretro/arcadez2003-patch-2
Monsters World video stuff
2023-10-31 22:26:23 +00:00
arcadez2003 cbe887d64d Merge pull request #1647 from libretro/arcadez2003-patch-1
New working Monsters World
2023-10-31 22:26:10 +00:00
arcadez2003 c711a0d870 mstworld 2023-10-31 22:25:53 +00:00
arcadez2003 7bdf57b5de Monsters World video stuff 2023-10-31 22:24:31 +00:00
arcadez2003 a6e6e44e55 New working Monsters World
Happy Halloween :)
2023-10-31 22:23:06 +00:00
arcadez2003 79aee414b6 Fixes additions and credits 2023-10-23 13:31:28 +01:00
mahoneyt944 c0afa9cf2f Add files via upload 2023-10-23 05:16:02 -04:00
grant2258 419021fc00 add dragoona (#1646) 2023-10-21 10:15:38 -04:00
mahoneyt944 912f435b61 Add files via upload 2023-10-21 04:53:55 -04:00
mahoneyt944 48f1c5bbb4 Update driver flags. 2023-10-21 04:41:43 -04:00
grant2258 e4935d64a8 fix dbzvrvs (#1644) 2023-10-21 04:26:30 -04:00
grant2258 bb7d918fa9 fix Fantastic Journey (#1643) 2023-10-21 04:25:04 -04:00
zorro2055 3cb60f8a87 Workaround to eliminate negative effects (no rotation) when invalid rotation code is selected. Invalid rotation code exists to workaround Guerilla War bug (#1642) 2023-10-19 08:53:27 -04:00
arcadez2003 695df35cf6 Fantastic Journey possible fix 2023-10-18 21:04:50 +01:00
mahoneyt944 e1719ffa2e Add files via upload 2023-10-12 07:01:07 -04:00
arcadez2003 0335c8926e forgot to remove prototype from the rom description 2023-10-09 23:17:08 +01:00
arcadez2003 619c8b94f1 Pack N Bang Bang switch to final retail release
Pack'n Bang Bang [twistedsymphony, Hammy, ekorz, rtw]

Removed the prototype and we'll now use the final version 
which has some extra polish
2023-10-09 23:15:10 +01:00
arcadez2003 ae56d31289 Merge pull request #1640 from 4shpool/master
Add files via upload
2023-10-08 23:30:59 +01:00
4shpool ea78a50a2f Add files via upload
Added: mazeinv
2023-10-08 18:25:50 +02:00
mahoneyt944 b13e614093 Add files via upload 2023-10-07 20:46:01 -04:00
mahoneyt944 cb3386c2dc System32 Fix background scrolld (#1639) 2023-10-06 08:21:11 -04:00
arcadez2003 7710d0c3eb New stuff and credits 2023-10-05 20:16:36 +01:00
mahoneyt944 1dece012e7 System32 log zoom factor (#1638) 2023-10-05 13:42:27 -04:00
arcadez2003 090df601be Merge pull request #1636 from libretro/arcadez2003-patch-3
Update Centipede palette handling to MAME82
2023-10-05 14:44:05 +01:00
arcadez2003 31e47d03f7 Merge pull request #1637 from libretro/arcadez2003-patch-4
mazeinv
2023-10-05 14:43:45 +01:00
arcadez2003 bec7506023 Merge pull request #1635 from libretro/arcadez2003-patch-2
For Maze Invaders
2023-10-05 14:43:05 +01:00
arcadez2003 2e712d1650 Merge pull request #1634 from libretro/arcadez2003-patch-1
New working Maze Invaders (Atari prototype)
2023-10-05 14:42:52 +01:00
arcadez2003 ab1ce8f1df mazeinv 2023-10-05 14:42:11 +01:00
arcadez2003 0053ae45a0 Update Centipede palette handling to MAME82
Needed for Maze Invaders
2023-10-05 14:40:39 +01:00
arcadez2003 e8bd2db9db For Maze Invaders 2023-10-05 14:37:48 +01:00
arcadez2003 442a839ad7 New working Maze Invaders (Atari prototype)
0.121u2: Aaron Giles added 'Maze Invaders (prototype)' (Atari 1981).
2023-10-05 14:36:22 +01:00
arcadez2003 cc6a2b0391 Solomon's Key hack around some game breaking protection calls
0.91u1: David Haywood fixed? blanking out of levels at certain scores in Solomon's Key (solomon36b10yel). This appears to be some basic protection, needs further investigation.
2023-10-05 13:56:27 +01:00
arcadez2003 0a8c91ea27 WWF Superstars fix some bad gfx
0.97u1: Pierpaolo Prazzoli some bad sprites in WWF Superstars.

Some of Randy Macho Man Savage moves eg back suplex.
2023-10-04 23:50:10 +01:00
mahoneyt944 9c7137f8a9 System32 Fix rad mobile stage transitions. (#1633) 2023-10-04 05:56:52 -04:00
mahoneyt944 c76d6ea5bb System32 Fix rowscroll / implement new flipping. (#1632) 2023-10-03 12:16:47 -04:00
mahoneyt944 63d624c17f System32 split zoom to it's own function (#1631) 2023-10-03 04:55:03 -04:00
mahoneyt944 e28af780b8 Add files via upload 2023-09-27 03:21:01 -04:00
arcadez2003 bdce39527e Mention the latest 2023-09-26 23:42:03 +01:00
arcadez2003 7c543ef481 Atomic Boy / Wily Tower now with sound and music
0.138u1: hap fixed very low background music in Wily Tower.
0.126u5: Tomasz Slanina and Stefan Lindberg added sprite wrapping to Irem M63 driver.
0.126u3: Irem M63 [Stefan Lindberg]: Adjusted 2x AY-3-8910A frequencies to proper 1.5MHz.
0.125u6: Tomasz Slanina added sound emulation to Wily Tower and clone Atomic Boy.
0.125u3: Stefan Lindberg added clone Atomic Boy (revision B). Changed Z80 CPU1 and I8039 CPU2 clock speeds to 3MHz. 
0.124: RansAckeR fixed watchdog resets.
0.123u6: Machone and RansAckeR Added dipswitches 'Bonus Points Rate.
0.122u6: Changed I8039 CPU2 clock speed to 8MHz.
2023-09-26 15:05:44 +01:00
arcadez2003 93f7845200 Mention some fixes and add some credits 2023-09-24 22:48:46 +01:00
arcadez2003 bdd9abedde Fix broken sound and missing inputs in Rim Rocking Basketball
0.95u2: Aaron Giles fixed lack of announcer voices and P3/P4 controls in Rim Rockin' Basketball.
0.84: Aaron Giles fixed multiplay in Rim Rockin' Basketbal. Brian Troha improved dipswitches in Rim Rockin' Basketball. Added dipswitches 'Video Sync', 'Coin Slots' and 'Cabinet'.
2023-09-24 22:34:54 +01:00
arcadez2003 a1ff7485de Merge pull request #1629 from libretro/arcadez2003-patch-4
Spriteram is now shared
2023-09-21 22:29:47 +01:00
arcadez2003 d4cc36cb28 Spriteram is now shared 2023-09-21 13:36:05 +01:00
mahoneyt944 09c04473e9 Remove multiple definition 2023-09-21 08:11:30 -04:00
arcadez2003 222b32bc6f Merge pull request #1627 from libretro/arcadez2003-patch-3
Remove redundant flkatck video hacks
2023-09-20 21:46:25 +01:00
arcadez2003 a009e4fa43 Merge pull request #1626 from libretro/arcadez2003-patch-2
Flak Attack / MX5000 fixes cont
2023-09-20 21:46:12 +01:00
arcadez2003 ce04eda93b Merge pull request #1625 from libretro/arcadez2003-patch-1
Flak Attack / MX5000 improvements
2023-09-20 21:45:59 +01:00
arcadez2003 5bb0cc4268 Remove redundant flkatck video hacks 2023-09-20 21:39:06 +01:00
arcadez2003 441c431362 Flak Attack / MX5000 fixes cont 2023-09-20 21:36:47 +01:00
arcadez2003 fa55e30ad1 Flak Attack / MX5000 improvements
0.203: Fixed sprite-sprite priorities and removed hackish implementation in K007121. Sprites are double buffered. Fixes the ground bases has the highest priority value meaning that planes and bullets goes behind it [Angelo Salese, Dink].

Some bullets were getting hidden behind enemy bosses and
the sprite prios were incorrect more generally.
2023-09-20 21:35:07 +01:00
arcadez2003 f9eed30e9d Contra improvements
As per PCB info switch the main cpu to a HD6309 and change
the clock speeds on both CPU's to match measured values.

Removes slowdowns in game and fixes a possible crash after you
defeat the boss at the end of the stage containing the second 
enemy base.
2023-09-20 21:27:54 +01:00
arcadez2003 94c3496b1e Merge pull request #1624 from 4shpool/master
catver updated
2023-09-18 19:51:44 +01:00
4shpool 0294852719 Add files via upload
115 entries added, 9 removed
2023-09-18 17:36:04 +02:00
4shpool e1557a79bd Merge branch 'libretro:master' into master 2023-09-18 17:33:32 +02:00
mahoneyt944 6c413c298f Add files via upload 2023-09-11 19:50:35 -04:00
arcadez2003 b72133ac05 mention the new PGM games 2023-09-09 21:57:23 +01:00
arcadez2003 a146f060eb py2k2 2023-09-09 21:12:13 +01:00
arcadez2003 cf23344e52 WIP Photo y2k2
With thanks to IQ_132 and Haze
2023-09-09 21:06:29 +01:00
arcadez2003 1d6b85fee5 Improve C++ to plain ole c conversion
Also remove redundant pz2 machine start as we're using the
the ole IRQ4 disable patches for the Puzzli 2 games
2023-09-09 19:55:45 +01:00
arcadez2003 7dab4451cc Merge pull request #1622 from MistyDreams/logerror
fix logerror and change pgm printf to logerror
2023-09-09 19:26:20 +01:00
MistyDreams e0a82be141 fix logerror and change pgm printf to logerror 2023-09-09 18:54:13 +01:00
arcadez2003 36f3d061e7 puzzli2 and puzzli2s 2023-09-08 21:27:54 +01:00
arcadez2003 5f335470f4 WIP Puzzli 2 and Puzzli 2 Super
With thanks to IQ_132 and Haze
2023-09-08 21:23:51 +01:00
arcadez2003 b0d18750ed Fix some comments from the last commit
Street Fighter II' - The World Warrior now clocks at 10mhz all
the other versions of Street Fighter II and the following games 
now run at 12mhz...

Dai Makai-Mura
Capcom World 2
Final Fight 30th Anniversary Edition
Megaman / Rockman - the Power Battle
Pang 3
Pnickies
Quiz and Dragons
Quiz Tonosama no Yabou 2 Zenkoku-ban
Strider Hiryu (Japan set 1)
Varth
2023-08-27 14:34:53 +01:00
mahoneyt944 e0f4c66ec4 Update bootstrap.c 2023-08-24 19:52:38 -04:00
arcadez2003 3091ddb45f Dogyuun main cpu clock is 12mhz confirmed 2023-08-21 15:43:05 +01:00
arcadez2003 671d3e481d Fix slowdowns in Dogyuun and likely others 2023-08-20 23:00:30 +01:00
arcadez2003 b3a143706d Mention the new one 2023-08-19 13:51:20 +01:00
arcadez2003 e7048e4170 Dogyuunto correct 6295 clock
And better balance the sound
2023-08-19 13:45:45 +01:00
arcadez2003 7a6d119048 Sigh 2023-08-19 02:36:31 +01:00
arcadez2003 f3c893e2cd dogyuunto 2023-08-19 02:30:14 +01:00
arcadez2003 aac6c20c8f Dogyuun add a new working set with full sound :)
Dogyuun (location test, older) [Osso13, Mike J Moffitt]

Still WIP need to check the OKIM6295 clocks, balance the sound
levels if required and splice in some coin and region diffs for
this set if they're really needed.

With thanks to grant2258 as im using his shared ram calls he 
created for Ghox
2023-08-19 02:27:15 +01:00
MistyDreams 0f7a9b8355 fix region (#1616) 2023-08-12 09:29:07 -04:00
mahoneyt944 5a4eb1e4da Add files via upload 2023-08-09 13:57:25 -04:00
MistyDreams 138893e6f2 update cps2 romsest to current mame since i fixed the decryption a while back (#1615)
* update cps2

* update dat

* add sf2 lables from old code

* remove old

* add missing bootstraps

* cut error fixed

* add ROM_IGNORE needed for fixing gigaman2 bootleg

* update dat

* Revert "update dat"

This reverts commit a2009a79a2.

* Revert "add ROM_IGNORE needed for fixing gigaman2 bootleg"

This reverts commit 06e21801ec.

* dont include bootlegs until they are fixed, update dat as well
2023-08-09 13:35:59 -04:00
arcadez2003 4406607dca CPS1 adjust clockspeed as per board type
Street Fighter II' - Champion Edition now clocks at 10mhz all
the other versions of Street Fighter II and the following games 
now run at 12mhz...

Dai Makai-Mura
Capcom World 2
Final Fight 30th Anniversary Edition
Megaman / Rockman - the Power Battle
Pang 3
Pnickies
Quiz and Dragons
Quiz Tonosama no Yabou 2 Zenkoku-ban
Strider Hiryu (Japan set 1)
Varth
2023-08-05 22:49:05 +01:00
MistyDreams ed20b64b07 fix cps vblank (#1614) 2023-08-03 22:24:38 -04:00
mahoneyt944 89298ff123 Add files via upload 2023-07-25 07:40:13 -04:00
arcadez2003 b4b499aacd mention the new set 2023-07-22 14:12:07 +01:00
arcadez2003 423f536a18 countrunb3 2023-07-22 14:09:25 +01:00
arcadez2003 af2a85078f Counter Run add another working set 2023-07-22 14:06:49 +01:00
MistyDreams 020efc01b4 stl force updates (#1611)
* memory map fixes and video flag I missed

* clarify comment

* sort memerymap fix mwa
2023-07-10 16:24:31 -04:00
mahoneyt944 6c37b976df Add files via upload 2023-07-08 11:47:53 -04:00
MistyDreams 9c7d3344bd remove pen fill not needed was from testing (#1610) 2023-07-08 11:03:30 -04:00
arcadez2003 aa9483fb32 once more 2023-07-08 14:46:54 +01:00
arcadez2003 41e7d82106 get rid of // 2023-07-08 14:45:46 +01:00
arcadez2003 c5bba9e35c Merge pull request #1609 from MistyDreams/stlforce
compile fix
2023-07-08 14:34:52 +01:00
arcadez2003 5f3068d39c Mention the new one and drop in some credits 2023-07-08 14:32:36 +01:00
MistyDreams 04eb7a1b1f compile fix 2023-07-08 14:22:17 +01:00
arcadez2003 3af552873f Merge pull request #1608 from MistyDreams/stlforce
backport mamedev fixes for stlforce, add mortalr
2023-07-08 14:14:32 +01:00
MistyDreams bdc942211f backport mamedev fixes for stlforce, add mortalr 2023-07-08 12:36:24 +01:00
4shpool 3a02e0dc17 Add files via upload (#1606)
Added guts. !haven't verified it, so I hope it really is: Guts n' Glory (prototype) [http://adb.arcadeitalia.net/dettaglio_mame.php?game_name=guts&arcade_only=0&autosearch=1]
2023-06-30 21:39:23 -04:00
4shpool d08c7a5eb2 Add files via upload
Added guts. !haven't verified it, so I hope it really is: Guts n' Glory (prototype) [http://adb.arcadeitalia.net/dettaglio_mame.php?game_name=guts&arcade_only=0&autosearch=1]
2023-07-01 01:43:33 +02:00
mahoneyt944 71766e8f0c Add files via upload 2023-06-19 11:39:00 -04:00
mahoneyt944 891264bca3 Guts speedup 2023-06-19 11:30:59 -04:00
arcadez2003 5caabb169f Credit Mahoneyt944 for fixing Gut's N' Glory 2023-06-19 14:53:31 +01:00
arcadez2003 87ae927539 Mahoneyt944 fix coinage issues for Gut's N' Glory 2023-06-19 14:51:35 +01:00
arcadez2003 2ec0caa3bb Another for the pot 2023-06-17 23:34:23 +01:00
arcadez2003 5e1b4bbc08 guts 2023-06-17 23:08:03 +01:00
arcadez2003 bae5a79322 Guts video 2023-06-17 23:04:53 +01:00
arcadez2003 1df09d273c Hookup the new video code 2023-06-17 23:03:46 +01:00
arcadez2003 7198ad2fba New Working Game
Gut's N' Glory (Atari Prototype)
2023-06-17 23:02:51 +01:00
mahoneyt944 56be1182df Make sonic controls more playable 2023-06-11 20:33:34 -04:00
mahoneyt944 1af4b556f7 Fix alien3 enter initials high score screen. (#1603) 2023-06-08 09:44:50 -04:00
mahoneyt944 966c10ed34 Add files via upload 2023-06-07 20:56:29 -04:00
mahoneyt944 33b20043b8 Hook up protection for jleague (#1602) 2023-06-07 20:35:13 -04:00
mahoneyt944 f71f0abcb5 Fix sonic attract screen graphics (#1601) 2023-06-06 20:55:35 -04:00
mahoneyt944 cd49b89ede namcos2 split build wip - required reduction to build (#1600) 2023-06-05 22:33:30 -04:00
mahoneyt944 f40335e800 match to current 2023-06-04 23:05:23 -04:00
mahoneyt944 4061b719fe Sonic 2023-06-04 22:31:46 -04:00
mahoneyt944 16f6c696d9 more split drivers (#1599) 2023-06-04 20:24:18 -04:00
mahoneyt944 13e588ec3b Update .gitlab-ci.yml 2023-06-04 16:33:21 -04:00
mahoneyt944 40a0a2e392 Update .gitlab-ci.yml 2023-06-04 16:23:33 -04:00
mahoneyt944 4ca349c84f Add files via upload 2023-06-02 21:08:18 -04:00
mahoneyt944 bcb814002c Add note 2023-06-02 14:30:06 -04:00
mahoneyt944 21e8f8ac0b Same for multi32 2023-06-02 13:27:47 -04:00
mahoneyt944 00ead5d666 More safeguards to prevent system32 draw crashes (#1597) 2023-06-02 09:33:22 -04:00
mahoneyt944 d71dbc1b57 Prevent more draw crashes (#1596) 2023-06-01 21:28:21 -04:00
mahoneyt944 d013fdf977 Random read / write - misty 2023-06-01 17:13:08 -04:00
mahoneyt944 d8f12a0220 Update system32.c 2023-06-01 12:35:18 -04:00
mahoneyt944 e460eb1a29 Fix sonic set (#1594) 2023-06-01 12:15:37 -04:00
mahoneyt944 e940e1a16f system32 fix sonic crash 2023-06-01 10:57:54 -04:00
arcadez2003 1c1e9b7687 Some changes
Add protection for Dark Edge still not playable hooked up protection and fixed rom loading for Dragon Ball Z V.R.V.S.
testing will be required to see if it works in this core or not.
2023-05-31 23:14:34 +01:00
mahoneyt944 a2f76b2c4e Hack to bypass network check radr and update dip 2023-05-28 14:46:48 -04:00
mahoneyt944 c2053dd23b Update .gitlab-ci.yml 2023-05-26 21:20:38 -04:00
mahoneyt944 cc2e1fe5bb Update .gitlab-ci.yml 2023-05-26 21:19:34 -04:00
mahoneyt944 b9966def4e Hack videoram to fix bitmap in radr (#1590) 2023-05-24 20:41:52 -04:00
arcadez2003 471ea5ac1b missed one 2023-05-24 14:46:23 +01:00
arcadez2003 756ccb779c Small Gfx fixes for Rad Mobile / Rally 2023-05-24 14:40:16 +01:00
mahoneyt944 48b7cd0522 Don't forget the flips 2023-05-24 00:21:01 -04:00
mahoneyt944 c6a799c425 Also update scroll multi32 2023-05-23 18:31:22 -04:00
mahoneyt944 77826515fb Fix scrolld in jpark - jeep bounce
Seems to work fine with other games, need to test more though. Likely the same change needed for multi32.
2023-05-23 14:38:34 -04:00
arcadez2003 dd704f41f3 Improve SlipStream Slightly
Fixed broken sprites hooked up the inputs, color mixing for the sprite layers is still wrong and no sound as yet banking issue likely.
2023-05-21 23:57:01 +01:00
mahoneyt944 d44ef2350b Revert (#1589) 2023-05-19 22:24:32 -04:00
mahoneyt944 f52a75644d Allow sprites to mix for alien3, fixes priority issues. (#1588) 2023-05-19 13:18:09 -04:00
mahoneyt944 c0b4997051 Jpark fix jeep flicker. (#1586)
Manually mix layers.
2023-05-17 20:23:21 -04:00
mahoneyt944 cb5043777a Update .gitlab-ci.yml 2023-05-17 08:10:29 -04:00
arcadez2003 7f357c5e06 Small Gfx fix for Cannon Dancer / Osman
For the truck on the last level [HAZE]
2023-05-14 14:50:17 +01:00
mahoneyt944 ae4e3ecac1 split drivers (#1584) 2023-05-13 23:56:26 -04:00
mahoneyt944 7454b53f05 split drivers (#1583) 2023-05-12 23:58:16 -04:00
mahoneyt944 7bbcf469b1 split drivers (#1582) 2023-05-11 20:34:51 -04:00
mahoneyt944 ba41a3defe split drivers (#1580)
start "b" drivers
2023-05-11 13:53:40 -04:00
mahoneyt944 26437fde9b finish "a" split drivers (#1579) 2023-05-09 18:28:33 -04:00
mahoneyt944 f47cba8b11 Add PS3 build (#1578) 2023-05-09 11:26:20 -04:00
mahoneyt944 379d50b456 Fix All Mortal Kombat games to default control layout (#1577)
* Update midwunit.c

* Update midtunit.c

* Update midyunit.c

* Update .gitlab-ci.yml

* Update controls.c

* Update .gitlab-ci.yml
2023-05-09 10:11:01 -04:00
mahoneyt944 07485ae940 split drivers (#1575) 2023-05-08 21:36:57 -04:00
mahoneyt944 9af3976990 Speed change for Wii 2023-05-08 14:16:24 -04:00
mahoneyt944 cafc5561fe split drivers (#1574) 2023-05-07 19:45:20 -04:00
mahoneyt944 89fb66229c 4 more split drivers (#1573) 2023-05-06 23:58:14 -04:00
mahoneyt944 bd51a0b1fe split drivers (#1572) 2023-05-04 23:20:51 -04:00
mahoneyt944 c58084c51a More split drivers (#1570) 2023-05-03 23:07:05 -04:00
mahoneyt944 7f6ac8455a Fix flip in tempest cocktail (#1569) 2023-05-03 23:02:37 -04:00
mahoneyt944 7400d8290b add more split drivers (#1567) 2023-05-03 17:38:38 -04:00
mahoneyt944 a9d71ca339 Wii skeleton core (#1566) 2023-05-02 18:31:47 -04:00
mahoneyt944 f992c9a035 Fix mk2 text (#1563) 2023-04-24 12:12:57 -04:00
mahoneyt944 b8a0db71ff Return instead of exit on duplicate function register (#1562) 2023-04-23 22:18:46 -04:00
mahoneyt944 42c09141c4 Update ddragon.c 2023-04-23 21:15:13 -04:00
mahoneyt944 03464271d6 Fix typo 2023-04-23 20:06:38 -04:00
mahoneyt944 27823d7192 Remove flash 2023-04-21 00:18:22 -04:00
mahoneyt944 8f4e0ecf34 Add files via upload 2023-04-19 07:38:19 -04:00
Marcus T 0497f72daf Update XML schema for driver status (#1559) 2023-04-19 07:29:21 -04:00
mahoneyt944 0b030b9e9d Crosshair 45 deg loop (#1558) 2023-04-17 14:33:44 -04:00
arcadez2003 d5e42aa060 FPS has now been confirmed for Top Driving 2023-04-12 14:06:28 +01:00
mahoneyt944 f2018dfc2d Add files via upload 2023-04-06 10:06:14 -04:00
arcadez2003 f146ea961e Fix VIOSTORM attract mode glitch
With thanks to dink and scandy
2023-04-03 20:43:02 +01:00
mahoneyt944 0208cc9924 OST - generate_ost_sound routine (#1556) 2023-04-01 16:53:40 -04:00
4shpool 83e4f7d40d added topdrive (#1555) 2023-04-01 16:16:31 -04:00
arcadez2003 4eea3d4d1c Mention the new one 2023-03-31 20:43:42 +01:00
arcadez2003 50e97e91b1 topdrive 2023-03-31 19:39:40 +01:00
arcadez2003 edf18a8809 Topdrive video code 2023-03-31 19:37:47 +01:00
arcadez2003 700bea86f6 New Working Game Top Driving
[ClawGrip, Museo del Recreativo, Recreativas.org, David Haywood]
2023-03-31 19:36:14 +01:00
mahoneyt944 aa0bc2d268 OST reductions 2023-03-30 12:51:31 -04:00
mahoneyt944 02bbcf6f86 OST - remove variable / invoke default volume control 2023-03-30 10:23:30 -04:00
mahoneyt944 0b9309d9d8 Add files via upload 2023-02-21 16:14:35 -05:00
arcadez2003 acd45da2ec hmm 2023-02-21 20:31:02 +00:00
arcadez2003 5a6db85846 shootgal gunsights 2023-02-21 20:04:12 +00:00
arcadez2003 db769cc0ca Shooting Gallery Fix and make playable 2023-02-21 20:02:21 +00:00
arcadez2003 b0f3b7bd10 Correct screen Rotation for Special Forces 1/2 2023-02-21 19:25:35 +00:00
arcadez2003 cc2ddd5458 Mention the sound fixes B-Rap Boys And GTMR games 2023-02-20 15:02:07 +00:00
mahoneyt944 ecc722cb5f Add files via upload 2023-02-12 20:49:48 -05:00
arcadez2003 f5ce5d301c updatey 2023-02-12 23:26:40 +00:00
arcadez2003 981fe9b338 Add sound for Special Forces
Taking ideas from current MAME i've added sound for both Special Forces games
2023-02-12 23:23:44 +00:00
mahoneyt944 2bd4ba1be0 Check option first 2023-02-10 07:52:52 -05:00
mahoneyt944 8337a2ad73 Allow paddle too 2023-02-10 07:44:05 -05:00
mahoneyt944 0db1cbe704 Update core_options.c 2023-02-09 10:08:46 -05:00
mahoneyt944 d757c21d0f Add options for paddle controls 2023-02-09 09:40:54 -05:00
arcadez2003 9f2dffe5ff Actually not sure you can add port masking via a port map in 78 so revert 2023-02-04 21:35:20 +00:00
arcadez2003 41d8e2e425 Add 8-bit masking for the sound ports 2023-02-03 19:36:08 +00:00
arcadez2003 62408bb3c4 Fix B Rap Boys sound pops and gtmr 1 and 2 sample banking 2023-02-03 19:31:45 +00:00
mahoneyt944 92d1f6e814 Add files via upload 2023-01-31 16:56:24 -05:00
mahoneyt944 90d84caf9e Remove deadzone core option (#1549) 2023-01-31 11:25:22 -05:00
arcadez2003 02a3d2a000 Alpha Blending + more fixes
Fixed missing gfx in Deroon DeroDero 
Fixed sound clock freq's
Properly synch between the M68k and Z80 CPU's
Renamed romsets to Toukidenshou - Angel Eyes
Disabled EEPROM CPU 3 rom loading as there is no dump for them this prevents warnings when the games boot.
2023-01-28 19:31:17 +00:00
mahoneyt944 e0d4ece3b2 Revert for now (#1547) 2023-01-27 22:19:17 -05:00
mahoneyt944 d3d07b2eb7 Make double 2023-01-27 21:23:51 -05:00
mahoneyt944 a9613c5b11 Allow more range at the high limit. 2023-01-27 18:19:10 -05:00
mahoneyt944 bf4f26f6fd Fix scale c89 2023-01-27 16:29:17 -05:00
mahoneyt944 3ed410ea73 Lockload crosshairs - incomplete wip (#1543) 2023-01-26 08:34:38 -05:00
arcadez2003 c4b556fdb5 Merge pull request #1542 from 4shpool/master
5 entries added to catlist
2023-01-24 21:03:59 +00:00
arcadez2003 995cee485e Might as well mention the new stuff 2023-01-24 21:01:51 +00:00
arcadez2003 7cc1688669 Correct OKIM6295 Freq and Vblank Timing 2023-01-24 20:51:54 +00:00
4shpool fd3820efef 5 entries added to catlist
bigfight, cyclwarr, deroon2, roundup5 and tkdensha
2023-01-24 21:28:42 +01:00
mahoneyt944 3f377aeba3 Add files via upload 2023-01-24 11:43:21 -05:00
arcadez2003 b8213ff599 Merge pull request #1541 from libretro/arcadez2003-patch-15
new Deroon set and add in the year and manufacturer
2023-01-24 15:49:47 +00:00
arcadez2003 e877ace351 Merge pull request #1540 from libretro/arcadez2003-patch-14
Fixes
2023-01-24 15:49:34 +00:00
arcadez2003 8a0ef0f493 new Deroon set and add in the year and manufacturer 2023-01-24 15:49:14 +00:00
arcadez2003 2af7f3ca9d Fixes
Deroon DeroDero now boots
Touki Denshou -Angel Eyes crash problems seem to be fixed
Added an English set for Deroon DeroDero

Still to do add back in the gfx improvements for Deroon DeroDero
2023-01-24 15:42:26 +00:00
libretroadmin 7d2f5c21c9 Use C comments instead of C++ comments for C source files 2023-01-24 03:00:14 +01:00
arcadez2003 ef14861d8e Merge pull request #1538 from libretro/arcadez2003-patch-13
new clone set
2023-01-23 23:58:07 +00:00
arcadez2003 609e8c43dd Merge pull request #1537 from libretro/arcadez2003-patch-12
tecmosys watchdog
2023-01-23 23:57:52 +00:00
arcadez2003 c48d49e706 Merge pull request #1536 from libretro/arcadez2003-patch-11
Create a new watchdog for the Tecmosys games
2023-01-23 23:57:38 +00:00
arcadez2003 2b38212664 Merge pull request #1535 from libretro/arcadez2003-patch-10
Tecmosys current WIP
2023-01-23 23:57:13 +00:00
arcadez2003 6b795e0243 new clone set 2023-01-23 23:56:54 +00:00
arcadez2003 758a3a573b tecmosys watchdog 2023-01-23 23:54:18 +00:00
arcadez2003 e9a6173d05 Create a new watchdog for the Tecmosys games 2023-01-23 23:52:39 +00:00
arcadez2003 030e54907f Tecmosys current WIP
Derron Dero Dero = Not working
Touki Denshou -Angel Eyes = Working however as per WIP dev comments it can crash
2023-01-23 23:50:49 +00:00
mahoneyt944 6a475f7399 Inline 2023-01-21 13:07:58 -05:00
mahoneyt944 86b4abf6b2 Update tatsumi.c 2023-01-21 11:16:53 -05:00
mahoneyt944 6ec15145e8 Update tatsumi.c 2023-01-21 11:03:43 -05:00
mahoneyt944 57c5796c48 Update tatsumi.c 2023-01-21 10:56:55 -05:00
MistyDreams fb230aad1e Tatsumi add files for arcadez (#1531)
* add arcadez wip

* arcadez fix input

* add new files form arcadez

* fix comments
2023-01-21 10:16:53 -05:00
mahoneyt944 a3c987880c Core option to disable input toggle (#1530) 2023-01-20 13:57:06 -05:00
4shpool 926d85c940 catver.ini updated (#1526)
* Add files via upload

53 entries added, 2 renamed

* Add files via upload

8 entries added, 2 renamed
2023-01-18 13:18:35 -05:00
mahoneyt944 d491ec4ad9 Add files via upload 2023-01-17 10:33:13 -05:00
MistyDreams f34453af7f Updates (#1525)
* convert cpp comments and add alexkidd1 fighter encrypted sets as working

* make the core c89 compatable like it should be
2023-01-17 08:17:04 -05:00
mahoneyt944 ec4bb7b7e5 Add files via upload 2023-01-16 07:42:51 -05:00
MistyDreams b30ebee2d9 add sega fd1089 decyption and add all aurail sets (#1524)
* add sega fd1098 decrption and add all aurail sets

* games to add when I have time

* dunkshot boots looks like the tilmaps/inputs need fixed/done

* add the other games as not working all are working accept sunkshot gfx issues

* fix dunkshot gfx

* small fix for reset with encryption

* add customio support for easier porting

* hook up custom inits

* start sdi inputs

* fix sdi inputts

* finish up
2023-01-15 14:37:24 -05:00
arcadez2003 1dd0eba80c drop in some more credits 2023-01-14 20:09:57 +00:00
arcadez2003 281acd239f Free Kick make the official version work
0.143u5: Charles MacDonald and The Dumping Union fixed Free Kick - Game now playable. Added maincpu rom (ns6201-a_1987.10_free_kick.cpu - 52k).
2023-01-14 19:56:26 +00:00
4shpool 6726ad759d 4shpool patch 2 (#1523)
* Add files via upload

53 entries added, 2 renamed

* Update catver.ini

Added radarscp1, radarscpc
2023-01-11 12:53:24 -05:00
arcadez2003 fffe8d17ab Metal Blast Fix missing gfx effect
megablst and clones: Shield powerup aura on option is missing {HAZE]
2023-01-10 23:18:14 +00:00
4shpool 3e666d814f 4shpool patch 1 (#1520)
* Add files via upload

53 entries added, 2 renamed

* Update catver.ini

53 entries added, 2 renamed since 20220331
2023-01-09 09:47:16 -05:00
mahoneyt944 a9672c4bf8 Add files via upload 2023-01-09 09:32:59 -05:00
arcadez2003 8d61636bd2 Zero Hour Improvements 2023-01-08 22:41:02 +00:00
arcadez2003 85b55f2b92 Make the background sound loop well constantly loop 2023-01-08 20:06:04 +00:00
arcadez2003 847832af18 Fix missing Red Asteroid Hit Sample Sounds 2023-01-08 19:31:59 +00:00
arcadez2003 40bd18a356 Merge pull request #1518 from MistyDreams/zero
zerohour fix samples
2023-01-08 19:27:55 +00:00
MistyDreams e31c8116ca fix samples 2023-01-08 19:03:47 +00:00
arcadez2003 20ead953b4 Zero Hour samples not 100% yet [dink] [Otto_Pylotte] 2023-01-07 21:27:00 +00:00
arcadez2003 77eb396fd4 zero hour, fix tiles, sprite colors, bullet color and width [Hap] dink] 2023-01-07 21:20:44 +00:00
libretroadmin 8c1b19c61f Fix initial for loop declarations 2023-01-05 19:06:21 +01:00
MistyDreams 3a12fda068 update radarscp and add updated shootgal rom (#1509) 2023-01-05 11:29:40 -05:00
mahoneyt944 f4cf2dd027 Add files via upload 2023-01-05 07:49:56 -05:00
MistyDreams fc34ab6986 fix marioe and palette total (#1516) 2023-01-03 20:25:18 -05:00
arcadez2003 44d02349a2 hmmm 2023-01-01 23:53:26 +00:00
arcadez2003 f81297eb63 megasys1 updates 2023-01-01 19:51:00 +00:00
arcadez2003 efcb9caf8a Merge pull request #1514 from libretro/arcadez2003-patch-8
kazan and edfu
2023-01-01 19:32:19 +00:00
arcadez2003 37c1ce2394 Merge pull request #1513 from libretro/arcadez2003-patch-7
megasys1 finished
2023-01-01 19:32:07 +00:00
arcadez2003 3631d8d370 Merge pull request #1512 from libretro/arcadez2003-patch-6
megasys1 cont
2023-01-01 19:31:54 +00:00
arcadez2003 c8a3a254cd Merge pull request #1511 from libretro/arcadez2003-patch-5
Jaleco Mega System 1 improvements
2023-01-01 19:31:41 +00:00
arcadez2003 1177518a15 kazan and edfu 2023-01-01 19:31:23 +00:00
arcadez2003 fe9dae3453 megasys1 finished 2023-01-01 19:25:27 +00:00
arcadez2003 62e8f31f3f megasys1 cont 2023-01-01 19:24:12 +00:00
arcadez2003 60bfb60bdc Jaleco Mega System 1 improvements
Fixed gfx priorities 64th. Street - A Detective Story by hooking up the missing prios prom
Added new prio proms for the other games which were missing it Big Striker, Chimera Beast and Iga Ninjyutsuden
Hooked up sprite buffering to fix some shaky sprites which affected all games on this system
Fixed broken sound in Hachoo and Kick Goal
Added new correct sound roms for Big Striker and Kick Goal
Added support for Ninja Kazan which is the English version of Iga Ninjyutsuden and E.D.F. : Earth Defense Force (North America)
2023-01-01 19:22:52 +00:00
mahoneyt944 b8c90d9b3c Add files via upload 2022-12-29 15:14:47 -05:00
arcadez2003 b3c0d6db39 updates 2022-12-29 19:17:57 +00:00
arcadez2003 eba3d6144e docastle.c improvements
Fixed mem maps and hooked up the inputs correctly via new CPU1 IO ports
Tweaked CPU1 clock speed  to 3.9 MHz (Dip switches now work correctly for all the games)
Third CPU hooked up correctly for all the games and added missing CPU3 dumps to Mr. Do's Wild Ride and Kick Rider
Fixed Indoor Soccer broken sound by adding new code to handle the MSM5205 correctly.
2022-12-29 14:41:52 +00:00
mahoneyt944 918f94a52b Add files via upload 2022-12-25 09:53:25 -05:00
arcadez2003 f873e768ee Merge pull request #1507 from MistyDreams/omega
omegarace spinner update [mamedev]
2022-12-24 20:01:11 +00:00
MistyDreams de117504ea omegarace spinner update [mamedev] 2022-12-24 15:56:05 +00:00
MistyDreams d26ef91553 add resnet to mario add 2 missing sets and fix dip switches (#1504) 2022-12-24 09:39:39 -05:00
MistyDreams bd02bf2ef7 fix pestplce sprites in hopes the pallete is fixed one day (#1505) 2022-12-24 09:35:58 -05:00
MistyDreams 6c9dd2cd48 Resnet update (#1506)
* update to resnet 142u2 and update palette normalize acoording to changes brings is inline with mame current

* remove old normalize
2022-12-24 09:34:40 -05:00
arcadez2003 92154f8c2e Update CHANGELOG.md 2022-12-23 23:13:02 +00:00
arcadez2003 2510e857b0 Fix the last boss missing energy bar in Dragon Gun
0.115u1: R. Belmont and Ryan Holtz fixed carry flag calculation for SUB/SBC/CMP family instructions in the ARM core. 
This fixes energy of last guy in Dragon Gun.
2022-12-23 20:06:00 +00:00
arcadez2003 e5be46e100 Prevent Dragon Gun from locking up on the last boss
0.149u1:  Some findings about the DVI playback In Dragon gun, also stopped the hang when killing the last boss [David Haywood].
2022-12-22 23:39:20 +00:00
arcadez2003 b0f22e6c8d nslasheru 2022-12-21 19:32:25 +00:00
arcadez2003 8641b827ab Add Night Slashers USA Set
Uncencored on a par with the Over Seas set but gore is enabled by default, different sound CPU HUC6280 which
caused me some trouble setting up the different IRQ commands via the prot ports, also added a new speedup address for the USA set

0.150: Smitdogg and The Dumping Union added clone Night Slashers (US Rev 1.2, HuC6280 Sound CPU)..
2022-12-21 19:30:03 +00:00
mahoneyt944 3249de7cea Add files via upload 2022-12-20 07:47:43 -05:00
MistyDreams cb4049518f fix dkong3j and dkong3b colors (#1502)
* fix dkong3j and dkong3j colors

* update doc

* pretty in pink notes.... copy pasta fix

* cleanups

* fix

* reorder
2022-12-20 07:23:40 -05:00
mahoneyt944 a84a95c961 Add files via upload 2022-12-19 21:09:27 -05:00
mahoneyt944 b6019e6867 nbajam te rewind support (#1501)
* Update midtunit.c

* Update driver.c

* Update .gitlab-ci.yml

* Update .gitlab-ci.yml
2022-12-19 20:26:39 -05:00
mahoneyt944 d7579d7c3c Nbajamte is parent (#1500) 2022-12-19 10:48:07 -05:00
MistyDreams 6493fe876a add dkong3 resnet colors (#1498) 2022-12-18 15:07:26 -05:00
arcadez2003 8f689fd8c9 Add missing P2 inputs Space War (Leijac)
0.90u4: Steve Ellenoff added missing Player 2 controls to clone Space War (Leijac). Added 'Coinage' dipswitch.
2022-12-18 14:44:23 +00:00
MistyDreams c7eb9822d6 fix malloc and add res set colors for easier porting (#1497)
* fix malloc and add res set colors for easier porting

* fix res_palette_set_colors to work with offsets
2022-12-17 22:10:23 -05:00
mahoneyt944 71cb57025c Try 2022-12-16 19:11:19 -05:00
MistyDreams 4d47ebefb8 add new resnet interface and fix dkong as an example (#1496) 2022-12-16 17:36:39 -05:00
arcadez2003 dc90a6ad07 Some progress with Hard Times sound
Sound now works in Hard Times but it causes the game to slow down to a crawl leaving it disabled 
for now until i find the time to investigate further
2022-12-15 22:53:25 +00:00
mahoneyt944 c3cc141d53 Add files via upload 2022-12-12 14:14:33 -05:00
mahoneyt944 214770c2a1 Port from 2003 (#1495)
* Update dkong_vidhrdw.c

* Update dkong.c
2022-12-12 13:49:01 -05:00
arcadez2003 bc8034c428 Improve somewhat 2022-12-09 23:32:07 +00:00
mahoneyt944 8e722788c1 Add files via upload 2022-12-09 09:19:37 -05:00
arcadez2003 cf9d8aafae tidy 2022-12-09 13:30:51 +00:00
arcadez2003 8aafa9d05c Deco Cassette changes 2022-12-08 20:35:37 +00:00
arcadez2003 8838c7d7a8 hook in new deccass sets 2022-12-08 20:19:56 +00:00
arcadez2003 93f136337b Merge pull request #1493 from libretro/arcadez2003-patch-4
decocass big update final part
2022-12-08 20:16:56 +00:00
arcadez2003 c9567f29cb Merge pull request #1492 from libretro/arcadez2003-patch-3
decocass big update part 3
2022-12-08 20:16:37 +00:00
arcadez2003 0b5d8d9a1e Merge pull request #1491 from libretro/arcadez2003-patch-2
decocass big update part 2
2022-12-08 20:16:24 +00:00
arcadez2003 c674416dd1 Merge pull request #1490 from libretro/arcadez2003-patch-1
Decocass big update part 1
2022-12-08 20:16:10 +00:00
arcadez2003 6746febb7e decocass big update final part 2022-12-08 20:08:57 +00:00
arcadez2003 51568444a5 decocass big update part 3 2022-12-08 20:07:44 +00:00
arcadez2003 d384a6a0d8 decocass big update part 2 2022-12-08 20:05:43 +00:00
arcadez2003 76e7239615 Decocass big update part 1
Add additonal bios type A set
Add support for 4 more games
Highway Chase now works allbeit with some gfx issues
Backport Haze gfx fix for Manhattan and Highway Chase
Fix colours for most of the games
2022-12-08 20:03:35 +00:00
mahoneyt944 2a89bca81e Add files via upload 2022-12-05 08:44:48 -05:00
arcadez2003 00302ae29c Hmmm 2022-12-03 23:15:27 +00:00
arcadez2003 1557b859cc Update CHANGELOG.md 2022-12-03 23:12:57 +00:00
arcadez2003 a92d40e016 sonic2mb 2022-12-03 23:08:24 +00:00
arcadez2003 7036b95ae5 Might as well support this one
We have the code already and since it's a drop in why not add it

New Working game Sonic The Hedgehog 2 (Bootleg Of Megadrive Version)
2022-12-03 23:07:02 +00:00
arcadez2003 f5d2d70430 Update CHANGELOG.md 2022-12-02 19:21:09 +00:00
arcadez2003 5269c0c448 Undercover Cops fix speedup addresses for the japan sets
With thanks to BMC and Scandy
2022-12-02 19:19:10 +00:00
mahoneyt944 92c0885b22 Add files via upload 2022-12-02 14:02:26 -05:00
arcadez2003 12b4c90b91 Test Lode Runner The Dig Fight with Region settings 2022-12-02 15:58:38 +00:00
arcadez2003 1584977db1 New working and credits 2022-12-02 14:51:16 +00:00
arcadez2003 231842c171 backfirt 2022-12-02 14:48:42 +00:00
arcadez2003 75f3092886 New working game Tecmo's Back Fire 2022-12-02 14:45:51 +00:00
arcadez2003 d22f343163 Update CHANGELOG.md 2022-12-02 14:42:59 +00:00
arcadez2003 2a84481f03 Improve the sound for Congo Bongo
0.104u8: Chris Law and Aaron Giles fixed second SN76496 on Congo Bongo to have the correct frequency (1MHz).
0.104u6: Chris Law improved samples support for Congo Bongo. Replaced all samples with new ones.
2022-12-02 14:39:14 +00:00
mahoneyt944 decbfe79a8 Prevent overflow with name as well. 2022-11-30 16:59:25 -05:00
mahoneyt944 d9c151c4d6 Fix define in formatted string (#1488) 2022-11-29 23:42:50 -05:00
mahoneyt944 15d060afeb Prevent overflow of description (#1487) 2022-11-29 19:32:14 -05:00
arcadez2003 4537e24549 Update CHANGELOG.md 2022-11-29 20:36:50 +00:00
arcadez2003 8dd631bcb2 Fix colours for Taxi Driver add proms and palette init
0.147u4: Zab and Angelo Salese added color prom to 'Taxi Driver', and fixed colors in it.
2022-11-29 20:34:45 +00:00
mahoneyt944 5dd4a30500 Fix maxforce screen size / crosshair for absolute input (#1486) 2022-11-21 03:13:48 -05:00
arcadez2003 b0525f6bfc Merge pull request #1485 from libretro/arcadez2003-patch-1
Updatey
2022-11-20 23:47:50 +00:00
arcadez2003 1654a0c039 Updatey 2022-11-20 22:22:05 +00:00
arcadez2003 6bdb7be5ec FFS remove dev code and comments 2022-11-20 21:57:34 +00:00
arcadez2003 36871ff63d Sound improvements for The Legend Of Silkroad
Adds some missing SFX and speech to the game eg when the special moves trigger "ice storm" etc etc

MAME WIP
0.129u5: Angelo Salese fixed sound not playing in Silkroad.
0.129u4: Pierpaolo Prazzoli added effect sound banking to Silkroad.
2022-11-20 21:55:33 +00:00
mahoneyt944 b2b642c517 Add files via upload 2022-11-16 09:36:43 -05:00
mahoneyt944 369dd20a68 Fix rom loading and add set 2 (woodpeca) (#1481) 2022-11-16 08:56:13 -05:00
mahoneyt944 89c43d62c0 Add files via upload 2022-11-15 21:26:01 -05:00
arcadez2003 58cd144b11 If we dont tell em they wont know :) 2022-11-15 22:22:54 +00:00
arcadez2003 ae88d3a4c9 Small gfx fix for Mario Bros
Upon hitting the POW box the screen should shake up and down not left and right as was the case here.
2022-11-15 22:14:41 +00:00
arcadez2003 522c5b0601 woodpek 2022-11-15 22:10:08 +00:00
arcadez2003 1a84070cc4 New working game Woodpecker
0.101u3: Pierpaolo Prazzoli fixed inputs in Woodpecker. Added Button1 for Player 1/2. Removed 'Difficulty' and a 'Unknown' dipswitch.

0.88u4: Tomasz Slanina and Pierpaolo Prazzoli fixed Woodpecker - Game now playable. Added new cpu1 rom ($b000), gfx1/2 roms 
and proms ($0, 20). 8th November 2004: Guru - You've probably noticed in MAME 0.88u4 that Woodpecker is now working. 
Here's a few pics of the protection module after I unearthed it. Actually 'unearthed' might give you a false impression. 
You could be mistaken for thinking that the mess on top of the PCB is sand. It's not though, it's epoxy resin. 
Though it seems like the manufacturer forgot to read the resin mixing instructions because several parts came off in BIG chunks. 
Also the resin didn't fully encase the PCB. I guess they ran out of resin or something. Lucky for us!

0.88u3: Guru and Dan Even added 'Woodpecker (set 1)' (Amenip (Palcom Queen River) 1981) and clone (set 2).
2022-11-15 22:08:39 +00:00
arcadez2003 7478b34302 Forgot one 2022-11-14 23:32:51 +00:00
arcadez2003 b5e55c9820 Mention the improvements 2022-11-14 23:03:57 +00:00
arcadez2003 9831bccec4 Prevent The Electric Yo-Yo from hanging during the attract mode
0.100u2: MASH bumped interleave in Electric Yo-Yo to avoid attract mode hang.
0.91u1: Nicola Salmoria fixed hang in Electric Yo-Yo attract (elecyoyo055yel).
2022-11-14 22:04:59 +00:00
arcadez2003 8df01583bf Taitosj big update final part 2022-11-14 21:52:38 +00:00
arcadez2003 cb8dbb62f5 Taitosj big update cont 2022-11-14 21:51:33 +00:00
arcadez2003 cf1d3a9eca Update some parts of Taitosj to MAME 106
Many improvements to the emulation of the games in this driver

MAME WIP

Alpine Ski
0.96u2: Nicola Salmoria fixed sprite hardware collision detection. 
This fixes bonuses in Alpine Ski.

Bio Attack
0.96: Peter Sealy fixed collision detection in Bio Attack 
and added missing RAM to the Taito SJ memory map.

Elevator Action
0.96u2: Nicola Salmoria fixed several sprite priority issues in Elevator Action 
and the car wrapping around at the end of a level. Added sprite clipping at the sides of the screen. 
This was verified to happen on the real board, and it affects bullets wrapping around in Elevator Action. 
I'm only 99% sure that the clipping is correct this way.

Highway Race
0.96u2: Nicola Salmoria fixed several sprite priority issues in High Way Race.

Jungle Hunt / Jungle king / Pirate Pete
0.96u2: Nicola Salmoria fixed sprite hardware collision detection. This fixes the last round in Pirate Pete.

Space Cruiser
0.99u7: Pierpaolo Prazzoli fixed Space Cruiser from resetting on the asteroids level when you die.

Space Seeker
Fixed game wont coin up and start by rolling back an earlier commit which added an extra
input the game doesn't have.

The Tin Star
0.96u2: Nicola Salmoria fixed several sprite priority issues in Tin Star.
0.183: maziac and AJR added "P1/2 Continue" button to Space Cruiser. 
Note: The game has a dedicated button to continue the game if all lives are lost. 
The player has to enter a coin and press the "Continue" button

Water Ski
0.96u2: Nicola Salmoria fixed sprite hardware collision detection. 
This fixes end of level 1 in Water Ski.

Wild Western
0.103u3: Nicola Salmoria fixed the Wild Western bonus screen, 
where the horse would not scroll into view.

Kick Start - Wheelie King
0.106u11: Canim fixed P2 inputs in Kick Start. Removed 3rd coin slot.

All games
0.92: Added Coin Lockout to prevent a crash if more than 9 coins were added.
2022-11-14 21:50:11 +00:00
mahoneyt944 7836cc7720 Switch regions lockload (#1480) 2022-11-12 00:01:17 -05:00
mahoneyt944 b9acd0a714 Add files via upload 2022-11-11 12:17:11 -05:00
arcadez2003 4f92cd7ed5 updatey 2022-11-11 16:13:37 +00:00
arcadez2003 aecfaf27c3 Fix broken sounds for Inferno
0.115u1: Aaron Giles fixed sound in Inferno after all these years. Sadly, it required a hack.
2022-11-11 16:09:17 +00:00
mahoneyt944 bc2bd4ddf8 Update system16_vidhrdw.c 2022-11-11 09:16:06 -05:00
mahoneyt944 4bf97d5a49 Add files via upload 2022-11-05 08:57:35 -04:00
arcadez2003 4bdef31591 Might as well mention the improvement 2022-11-01 22:32:01 +00:00
arcadez2003 c0e13731eb Fix missing sounds In Big Event Golf
Hooked up the Dac to support previously missing speech and crowd noises.
2022-11-01 22:30:37 +00:00
mahoneyt944 b31d1ac0dd Unused 2022-10-31 19:34:10 -04:00
mahoneyt944 52e8fd474a Bios fallback support (#1477) 2022-10-31 14:30:13 -04:00
mahoneyt944 7b276db014 Cleanup 2022-10-29 21:16:52 -04:00
mahoneyt944 062c22a249 Hangon and system18 fill black (#1474) 2022-10-26 15:43:16 -04:00
mahoneyt944andMistyDreams d5a70f9bf9 Outrun display enable (#1473)
authored-by: MistyDreams <[email protected]>
Co-authored-by: MistyDreams <[email protected]>
2022-10-26 08:13:56 -04:00
arcadez2003 0d94558f53 Switch Night Striker sound to center mixers
Attempt to fix the following using the older sound cores which we have.....

0.115u2: Corrected speaker locations and placement for Night Striker, fixes effects/music plays only on one side (music left, sfx right).
2022-10-24 16:28:53 +01:00
mahoneyt944 533bf97d22 Add files via upload 2022-10-24 10:57:33 -04:00
mahoneyt944 a6aedcc66c Fix some graphic issues with toutrun (#1472) 2022-10-24 10:36:56 -04:00
mahoneyt944 de97cc4bfe Fix 2022-10-23 18:19:22 -04:00
MistyDreams a16eb6d24d update turbo outrun only (#1471) 2022-10-23 18:08:30 -04:00
mahoneyt944 5fbf6ce577 Update outrun.c 2022-10-23 16:28:40 -04:00
mahoneyt944 e41903d6bc Update outrun.c 2022-10-23 16:27:18 -04:00
mahoneyt944 e2fa73fa75 Fix toutrun course map alignment (#1468) 2022-10-21 18:30:04 -04:00
mahoneyt944 b3fe591f9f Disable fast dma (#1467) 2022-10-21 12:22:57 -04:00
mahoneyt944 87ec1eab73 Pulse fast dma (#1466) 2022-10-21 10:00:52 -04:00
arcadez2003 d88d5c118e ddragon and ctribe fixes 2022-10-15 22:47:06 +01:00
mahoneyt944 2eb26d64a1 Revert change
Didn't fix the issue.
2022-10-14 17:40:25 -04:00
mahoneyt944 ca2223574f OST - fix default sound issues with OST samples (#1464) 2022-10-14 09:32:07 -04:00
arcadez2003 75401fee25 Test ddragon3 and ctribes gfx improvements 2022-10-13 23:55:29 +01:00
mahoneyt944 873e5751fc Fix video bugs in mk (#1462) 2022-10-13 14:28:14 -04:00
mahoneyt944 dc57125243 OST - rehook sf2 to real fade trigger (#1461) 2022-10-12 12:53:38 -04:00
arcadez2003 8581c7d83a Mention the fix 2022-10-07 15:38:37 +01:00
arcadez2003 843b9475c0 Elevator Action Returns and clones fix gfx
The original hack to enable the lighting effects taken from ShmupMAME caused some issues with the game ending,
so here is an updated hack via dink which sorts the problem modified for use in this core.
2022-10-07 15:34:19 +01:00
mahoneyt944 e7c5e866f2 OST bug noted 2022-10-06 10:05:30 -04:00
mahoneyt944 8d842197cc OST - mk combine t and y unit (#1460) 2022-10-04 17:17:30 -04:00
mahoneyt944 f1ff259775 OST mk - unmask and utilize tunit ost (#1459) 2022-10-04 14:48:19 -04:00
mahoneyt944 f78baa9e6c OST fix mk fallback (#1458) 2022-10-03 23:53:06 -04:00
mahoneyt944 36d6eb427d Enable fast dma - fix mk comic book offer (#1457) 2022-10-02 03:44:21 -04:00
mahoneyt944 982db57b32 OST nbajam - remove variables, fix fallback, fix some default sound bugs (#1455) 2022-09-29 09:03:43 -04:00
mahoneyt944 5d09a38282 Add files via upload 2022-09-27 10:54:12 -04:00
mahoneyt944 0383ad2c57 Add files via upload 2022-09-27 10:52:10 -04:00
mahoneyt944 fa46714923 Add files via upload 2022-09-27 10:13:50 -04:00
mahoneyt944 aa0a8682ef Contra - catch and fix spriteram buffer overflow (#1453) 2022-09-22 21:46:38 -04:00
mahoneyt944 6bd286e297 Move out of game specific var and into ost config 2022-09-22 10:12:55 -04:00
mahoneyt944 d65b98f4b5 OST contra support. (#1452) 2022-09-22 09:46:47 -04:00
mahoneyt944 7b2607e059 Add files via upload 2022-09-18 06:02:46 -04:00
mahoneyt944 58dff874ec Comment cleanup 2022-09-15 10:05:55 -04:00
mahoneyt944 15349c4529 Expand clock scale 2022-09-15 05:38:12 -04:00
mahoneyt944 3f2785447b OST ddragon fix volume raise during credits 2022-09-15 03:52:13 -04:00
mahoneyt944 a3aec9be50 Ddragon clock (#1450) 2022-09-15 00:02:00 -04:00
mahoneyt944 b2fe08afd2 Revert 2022-09-14 19:18:00 -04:00
mahoneyt944 4bab1ffc43 clock adjustment ddragon - remove slow down 2022-09-14 09:02:53 -04:00
MistyDreams 94cf80b829 ddragon fix (#1449) 2022-09-14 01:20:53 -04:00
mahoneyt944 e7c575a8fe OST dragon - remove counter - fix fallback - cleanup (#1447) 2022-09-13 04:11:39 -04:00
MistyDreams 2070ecc640 fixes for sound core update (#1446) 2022-09-12 19:00:05 -04:00
MistyDreamsandMistyDreams 20cd2a38fa update fm sound core to mame0127 tested nothing specifically uses the 2610b though (#1445)
Co-authored-by: MistyDreams <[email protected]>
2022-09-12 08:43:17 -04:00
MistyDreams afb32e592b decouple fast dma from dcs speed hack since we cant toggle options anymore (#1444) 2022-09-11 14:36:33 -04:00
MistyDreams 922df51837 update audio (#1443) 2022-09-10 20:17:13 -04:00
mahoneyt944 df23da8827 OST outrun - rewrite title screen / remove variables (#1442) 2022-09-09 20:39:08 -04:00
mahoneyt944 c58894e0c6 OST ikari - correct fallback sound 2022-09-09 17:56:36 -04:00
mahoneyt944 52ae0968ce OST outrun and sf1 cleanups (#1441) 2022-09-09 13:34:35 -04:00
mahoneyt944 839db58c41 OST moonwalker - correct fallback sound (#1440) 2022-09-09 11:26:53 -04:00
mahoneyt944 dd4c8ebc6f Add files via upload 2022-09-09 03:56:38 -04:00
mahoneyt944 3686446132 Robocop OST Support (#1439) 2022-09-08 17:19:37 -04:00
MistyDreams 2d51266fa6 Blktiger (#1437) 2022-09-07 21:17:25 -04:00
MistyDreams 1865122b58 init fix (#1438) 2022-09-07 21:16:44 -04:00
mahoneyt944 ee203e3922 Add files via upload 2022-09-05 14:44:13 -04:00
MistyDreams d0a3f1b46f Blktiger (#1435) 2022-09-05 13:06:23 -04:00
mahoneyt944 e1802ffb73 Add files via upload 2022-09-04 17:57:38 -04:00
mahoneyt944 5beccdc8e8 Don't need these looped / remove credit sample 2022-09-03 13:51:41 -04:00
mahoneyt944 daab00d69c Fix looping sf1 2022-09-02 04:01:33 -04:00
mahoneyt944 13e41517ab This one shouldn't loop
This plays as it goes through the line up of fallen foes, credit song kicks in right after.
2022-09-02 03:29:39 -04:00
mahoneyt944 b09b06a4f4 Update ost_samples.c 2022-09-02 02:10:06 -04:00
mahoneyt944 f58c4e190b Few more fixes 2022-09-02 00:36:25 -04:00
mahoneyt944 4e9f777cd4 Ikari OST update (#1434) 2022-09-02 00:01:04 -04:00
arcadez2003 f81421eb9a Mention the gfx fixes 2022-09-01 22:50:54 +01:00
arcadez2003 46bfbb2a91 Some gfx fixes for Beast Busters and Mechanized Attack
With thanks to bmcphail and dink

MAME WIP

0.202: Fixed Beast Busters sprite priority. Credit to Daniel Filner for information. Palettes 0xc-0xf on 2nd sprite chip behind the tilemap - 
confirmed on level 2 and matches real hardware video. Removed imperfect_graphics flags as no open bugs. Use single pass sprite render 
with priority buffer in case of cut-out effects. [Bryan McPhail].

0.173: Fixed some missing gfx in Beast Busters / Mechanized Attack [dink].
2022-09-01 22:46:33 +01:00
mahoneyt944 e03d6bf74b Update credit trigger value 2022-08-30 19:34:58 -04:00
mahoneyt944 26b145f0e0 Fix ikari ost (#1432) 2022-08-30 17:12:27 -04:00
mahoneyt944 e0b28e73c6 Ikari OST support added (#1431) 2022-08-30 04:06:39 -04:00
mahoneyt944 3e36be0646 Move ost sample packs out of the drivers (#1430) 2022-08-26 04:40:30 -04:00
mahoneyt944 05054e294e Revert 2022-08-26 03:19:10 -04:00
mahoneyt944 52a8cb60a8 Update ost_samples.c 2022-08-26 03:17:44 -04:00
mahoneyt944 bba8558618 Samples need to be enabled - another safeguard 2022-08-26 02:15:05 -04:00
mahoneyt944 0e52288cb2 Update hiscore.c 2022-08-20 19:27:14 -04:00
arcadez2003 ab455c7515 Update for recent cps2 changes 2022-08-18 16:27:07 +01:00
mahoneyt944 6fca6b8811 Add files via upload 2022-08-15 01:50:25 -04:00
arcadez2003 bdf96e5905 Merge pull request #1428 from MistyDreams/Mitchell
add mising mitchell sets we only had japan
2022-08-11 22:43:19 +01:00
MistyDreams 78bf492f69 add mising mitchell sets we only had japan 2022-08-11 17:04:29 +01:00
MistyDreamsandMistyDreams 55c1297356 add this as requested (#1427)
Co-authored-by: MistyDreams <[email protected]>
2022-08-10 22:04:18 -04:00
arcadez2003 6d0c845d71 Merge pull request #1426 from MistyDreams/hsf2
add hyper street fighter 2 and clones for arcadez2003
2022-08-10 22:45:11 +01:00
MistyDreams 080345ea0b remove after automalloc change 2022-08-10 20:46:36 +01:00
MistyDreams 638c9479ab add all 19xx sets and remove the need for region1 define in roms 2022-08-10 20:41:35 +01:00
MistyDreams 973723e7d3 spacing 2022-08-10 16:42:38 +01:00
MistyDreams e0dbe3049e cleanup 2022-08-10 16:40:19 +01:00
MistyDreams 22db76a273 add hyper street fighter 2 and clones for arcadez2003 2022-08-10 16:36:30 +01:00
mahoneyt944 f53fe6f227 Add files via upload 2022-08-10 04:00:29 -04:00
MistyDreams 615cd22e93 Cps2 encyption added (#1425) 2022-08-10 03:56:17 -04:00
mahoneyt944 a05c01bb7e Add files via upload 2022-08-08 23:46:01 -04:00
arcadez2003 fc1530a166 3 More 2022-08-09 00:04:28 +01:00
arcadez2003 8c73745835 Fix spec2k rom loading 2022-08-09 00:01:38 +01:00
arcadez2003 c3685fcbcd firehawk and spec2k 2022-08-08 23:38:55 +01:00
arcadez2003 bf8a170147 New video calls for Firehawk/spec2k 2022-08-08 23:37:03 +01:00
arcadez2003 a9215e45d5 Add two more to afega.c 2022-08-08 23:35:30 +01:00
mahoneyt944 e7013bd828 Another safe guard 2022-08-08 04:08:38 -04:00
mahoneyt944 9cfa3c15ff Cleanup - Remove unused variables 2022-08-08 02:04:50 -04:00
mahoneyt944 7b4b84cfe2 Cleanup - Remove unused variables 2022-08-08 01:57:46 -04:00
mahoneyt944 bc6b1c9fdd OST safe guard (#1423) 2022-08-08 00:50:01 -04:00
mahoneyt944 73bd6791f8 Add files via upload 2022-08-07 21:26:33 -04:00
arcadez2003 d3e1992150 Penky 2022-08-06 23:59:29 +01:00
arcadez2003 2524d27313 New working game :)
0.145u7: Brian Troha corrected 'Difficulty' DSW for Penky and dipswitch chart from manual. 
Added notes about alternate DSW settings as found in scanned Pins & Dip manual. Added 2x 'Unused' dipswitches.

0.143u4: Kevin Eshbach, ranger_lennier, B. Munger, bodger319, Brian Troha and The Dumping Union added Penky (Yun Sung 1996).
2022-08-06 23:58:19 +01:00
arcadez2003 b8600d2c2f Slight changes to the game flags for the PGM games
Graphics are fine in these ones so removed the imperfect flag, added unemulated protection flag to Puzzle Star 
rather than demoting it to non working as there is info online that it crashes on the second round with the older 
prot sim but as i've not got that far i cant confirm either way.
2022-08-06 23:34:46 +01:00
mahoneyt944 d2dd2e6688 Move ACCESSING_LSB back 2022-08-05 08:30:46 -04:00
mahoneyt944 d601e59092 Ost support check (#1422) 2022-08-05 07:12:23 -04:00
mahoneyt944 e27d8760e4 Sf1 OST (#1420) 2022-08-04 23:24:02 -04:00
arcadez2003 4a0a89925d Might as well mention two extra games work 2022-08-02 14:39:09 +01:00
mahoneyt944 b535de4355 Add files via upload 2022-07-29 03:39:22 -04:00
mahoneyt944 06f0a08381 Update .gitlab-ci.yml 2022-07-27 00:59:57 -04:00
arcadez2003 e9da71ccd8 powerbal 2022-07-16 22:00:09 +01:00
arcadez2003 f9772d2710 New working game Power Balls
Just added powerbal.c into the playmark driver for ease of porting

MAME WIP

0.105u5: Twisty added 'Difficulty' dipswitch.
0.105u4: f205v fixed OKI frequency in clone Power Balls (Super Slam conversion) to 7575 Hz.
0.102u3: Added 'Power Balls' (Playmark 1994). Changed 'Power Balls' to clone 'Power Balls (Super Slam conversion)'. Renamed (powerbal) to (powerbls).
0.100u3: Pierpaolo Prazzoli added 'Power Balls (Super Slam conversion)' (Playmark 1994).
2022-07-16 21:57:49 +01:00
mahoneyt944 12b524efd5 Add files via upload 2022-07-16 14:43:11 -04:00
arcadez2003 0f3dbde66d hrdtimes 2022-07-14 00:13:20 +01:00
arcadez2003 d2f9710778 Update to MAME107 2022-07-14 00:10:38 +01:00
arcadez2003 99e2e59686 Update playmark.c to MAME107
Graphical fixes for Big Twin and World Beach Volley plus a new working game Hard Times attempted to hook up the 
PIC CPU dumps for the games which have no sound but no joy as yet code left in the driver in an inactive state
2022-07-14 00:09:33 +01:00
mahoneyt944 6cfa08e13d Rename dip 2022-07-12 15:28:38 -04:00
mahoneyt944 5ca05e9735 Fix demo sound selection 2022-07-12 14:56:00 -04:00
mahoneyt944 d52595fd5e Add files via upload 2022-07-12 04:52:50 -04:00
mahoneyt944 08207c1d1a No init 2022-07-09 12:35:59 -04:00
arcadez2003 5aa09b427b update 2022-07-09 14:19:04 +01:00
arcadez2003 fa72185179 afightera 2022-07-09 14:09:11 +01:00
arcadez2003 67013fe1ed Action Fighter setup proper parent and clone sets
0.192: David Haywood added clone Action Fighter (System 16A Unprotected)
2022-07-09 14:06:57 +01:00
arcadez2003 666660455a Sega stuff feel free to edit if credits are wrong or changelogs could be better 2022-07-09 00:20:53 +01:00
arcadez2003 bd536204b5 FFS this time surely 2022-07-01 21:22:27 +01:00
arcadez2003 c476e46b46 schoolboy error 2022-07-01 21:10:35 +01:00
arcadez2003 e1d1bcdad8 Add sound for Snapper 2022-07-01 20:58:58 +01:00
mahoneyt944 effb03c933 Mono sound (#1409) 2022-06-30 21:12:54 -04:00
mahoneyt944 2f9d3e4420 Tone 2022-06-30 17:46:51 -04:00
mahoneyt944 5fb09fdc55 Fix tempo 2022-06-30 17:40:21 -04:00
arcadez2003 808ec51028 Match up the YM2203 to the system16b z80 clock 2022-06-30 21:49:43 +01:00
arcadez2003 83a442d615 attempt to sort the music tempo in passsht4b 2022-06-30 21:28:35 +01:00
arcadez2003 4da27c29f9 Whoops 2022-06-30 20:11:49 +01:00
arcadez2003 bc7bdb6bdf Passing Shot 4player bootleg add prelim sound
This game uses the same YM2003 + MSM5205 hookup as the Shinobi Datsu bootlegs, the msm side not fixed up as of yet.
2022-06-30 20:01:57 +01:00
mahoneyt944 3ab83328b0 Simplify calculation (#1408) 2022-06-30 07:38:09 -04:00
mahoneyt944 ed407edda9 Hack to fix shinobl sprite issue. (#1407) 2022-06-29 19:44:01 -04:00
mahoneyt944 bc2ca4e61b New priority calculation for action fighter (#1406) 2022-06-29 08:56:56 -04:00
mahoneyt944 b28c8ddd85 Much improved priority for action fighter (#1405) 2022-06-28 21:51:40 -04:00
mahoneyt944 b47319a191 Add files via upload 2022-06-28 09:49:24 -04:00
mahoneyt944 6903d25749 New game snapper using Korea clone board (#1404) 2022-06-28 09:45:13 -04:00
mahoneyt944 6e61a4b8a0 Oops 2022-06-27 20:27:12 -04:00
mahoneyt944 c3a3c187a7 Update sys16spr.c 2022-06-27 20:20:34 -04:00
mahoneyt944 af3c4de98b Fix gfx Passst4b (#1403) 2022-06-27 19:54:20 -04:00
mahoneyt944 4e5b6a9124 Remove already the default 2022-06-27 19:11:59 -04:00
mahoneyt944 7df5e0a180 Align the rest 2022-06-27 17:12:23 -04:00
mahoneyt944 cccc44ff64 Fix alignment 2022-06-27 06:47:22 -04:00
mahoneyt944 0daa495158 Update bodyslam timer. (#1402) 2022-06-27 04:58:02 -04:00
MistyDreamsandMistyDreams 2866616fbf fix abd and rel xydev switching (#1401)
Co-authored-by: MistyDreams <[email protected]>
2022-06-27 00:15:02 -04:00
mahoneyt944 9fdb450bb3 Core option to override ad stick (#1400) 2022-06-26 20:44:24 -04:00
arcadez2003 d780e6c724 Change the flag to not working as it doesn't anyway (#1398) 2022-06-25 19:29:19 -04:00
mahoneyt944 426a19314d bodyslam fix ring post alignment (#1395) 2022-06-24 19:04:25 -04:00
mahoneyt944 31a0186862 Bodyslam fix fg priority. (#1394) 2022-06-24 17:50:44 -04:00
mahoneyt944 02ebfbe1f1 bodyslam - fix missing graphics and align sprites (#1393) 2022-06-24 16:26:02 -04:00
mahoneyt944 fb2c27ab14 Add files via upload 2022-06-23 18:39:33 -04:00
arcadez2003 a41e0905be Action Fighter playable (#1391)
System A unprotected set
2022-06-23 17:20:54 -04:00
MistyDreams 58ecbbb74e simplify inits for poring other games add more as needed (#1389) 2022-06-21 08:24:15 -04:00
mahoneyt944 b648f8cdc4 Revert 2022-06-21 04:19:37 -04:00
mahoneyt944 f6fe4a800f Update aburner.c 2022-06-21 04:18:46 -04:00
mahoneyt944 98bc30c5ce Add files via upload 2022-06-20 23:51:43 -04:00
arcadez2003 401fc7a495 Small stuff (#1388)
Manufacturer and licence
2022-06-20 19:16:55 -04:00
mahoneyt944 430661a5c3 Update system16.c 2022-06-20 01:35:40 -04:00
mahoneyt944 52cc8a635b Graphics and sound should be fine now. 2022-06-20 01:34:09 -04:00
MistyDreams 409626e72e fix aliensyn sound rom loads (#1387) 2022-06-20 01:21:38 -04:00
MistyDreams fcaa5dfa82 Squashed commit of the following: (#1385) 2022-06-19 23:26:46 -04:00
MistyDreams 0b1cc70680 bump up segasic (#1386) 2022-06-19 23:26:03 -04:00
mahoneyt944 6372bbe902 Add files via upload 2022-06-19 18:17:11 -04:00
MistyDreams ea813452bf fix video issue (#1382) 2022-06-19 17:57:44 -04:00
MistyDreams a93c67bb75 fix 5579 case0 bank switch fantzn2 intro screen music for new systemb (#1383) 2022-06-19 17:56:52 -04:00
MistyDreams f150e1f35c New sys16 for 2003plus repo (#1381) 2022-06-19 11:55:09 -04:00
mahoneyt944 cbbb20e3f0 Remove driver init requirement to call sys16_onetime (#1380)
bombs away
2022-06-17 14:50:01 -04:00
mahoneyt944 d88eb3a455 Spacing cleanups 2022-06-17 04:13:24 -04:00
mahoneyt944 bf76263a40 Define unused port 2022-06-16 01:21:17 -04:00
mahoneyt944 23b95c6f57 Switch fantzn2x and wrestwar to new drawing (#1378) 2022-06-16 00:38:06 -04:00
mahoneyt944 2b223bf898 Update type0 and move initialized variables (#1377) 2022-06-15 17:11:55 -04:00
mahoneyt944 c0c1abeb6b Fix collision in goldnaxa (#1374) 2022-06-10 10:23:49 -04:00
mahoneyt944 e34f5b4221 Initial video update to system16 (#1373)
More work to be done.
2022-06-10 06:31:49 -04:00
mahoneyt944 4bba11d28d Bodyslam use type1 textram 2022-06-08 21:05:59 -04:00
mahoneyt944 2ecb71fcb1 Revert for now 2022-06-08 18:57:12 -04:00
mahoneyt944 6aef8b4a4e Update system16.c 2022-06-08 18:51:39 -04:00
mahoneyt944 445fee730c Remove duplicate 2022-06-08 09:18:59 -04:00
mahoneyt944 d03f97c8b3 Unbreak mjleague / create type1_sys16_textram (#1367) 2022-06-08 06:55:59 -04:00
mahoneyt944 d5da4f6826 Add files via upload 2022-06-08 03:39:34 -04:00
mahoneyt944 6ea13f3a47 Fix sound in tturf 2022-06-07 09:06:30 -04:00
mahoneyt944 a6aef0a640 Add sound dump tturf 2022-06-07 07:02:54 -04:00
mahoneyt944 8884d7088f Remove todo 2022-06-06 21:29:26 -04:00
mahoneyt944 5eeba98b34 Fix background scroll in tturfbl (#1365) 2022-06-06 21:09:46 -04:00
mahoneyt944 ae4ed00621 Fix wrestle war graphics. (#1364) 2022-06-06 18:23:53 -04:00
mahoneyt944 e77aaf9cc2 Revert 2022-06-05 23:31:09 -04:00
mahoneyt944 21aa171662 Remove gfx hack - MistyDreams 2022-06-05 23:16:41 -04:00
arcadez2003 7ff51a1524 Mention we support the only Sega System C game (#1363) 2022-06-04 20:24:30 -04:00
mahoneyt944 81dfb550b3 More cleanup (#1361) 2022-06-04 04:09:08 -04:00
mahoneyt944 48b019dab8 One more time 2022-06-03 09:23:35 -04:00
mahoneyt944 5f89a46c2e Missed one 2022-06-03 09:15:20 -04:00
mahoneyt944 a7a2782c0e Fix sprites in Fantasy Zone 2 and clean up driver (#1359) 2022-06-03 09:00:54 -04:00
mahoneyt944 f481abe0b0 Fantasy Zone 2 graphic improvements (#1357) 2022-05-31 22:10:39 -04:00
arcadez2003 5838f2e83e Unbreak the bootleg (#1356)
I guess no one noticed after all these years :)
2022-05-31 18:12:38 -04:00
mahoneyt944 0dc377060f Credit fantzn2x 2022-05-30 07:30:09 -04:00
mahoneyt944 df36e0e2cf Fantasy Zone II - The Tears of Opa-Opa (System 16C version) (#1353) 2022-05-30 05:36:00 -04:00
MistyDreams 04eee935ff fix latch (#1352) 2022-05-29 11:04:13 -04:00
mahoneyt944 b7b94d42d6 Reorder mem map 2022-05-29 10:36:06 -04:00
mahoneyt944 c34e689d2d Cleanups (#1351) 2022-05-29 04:04:50 -04:00
mahoneyt944 0513aeef33 Align playfields (#1350) 2022-05-29 03:42:03 -04:00
MistyDreams 915911b4b5 hook up inputs and and sound interrupts properly (#1349) 2022-05-29 00:04:43 -04:00
mahoneyt944 bed90331a7 Mm2_startup (#1348) 2022-05-28 20:28:33 -04:00
mahoneyt944 5d91ee7879 Reorder 2022-05-28 16:37:45 -04:00
mahoneyt944 b2a22711f7 Clearify ports 2022-05-28 14:40:29 -04:00
mahoneyt944 3e910d5f59 Fix player 3 selection (#1346) 2022-05-28 13:29:21 -04:00
mahoneyt944 1a3d3603f6 Update IO port marblmd2 2022-05-28 12:58:32 -04:00
mahoneyt944 2779c96006 Add files via upload 2022-05-28 00:20:08 -04:00
mahoneyt944 70089f16ef Credits 2022-05-27 20:34:21 -04:00
arcadez2003 1eee578672 Actually 6 is better (#1345) 2022-05-27 19:14:25 -04:00
arcadez2003 6f485085b7 Redundant (#1344) 2022-05-27 19:11:08 -04:00
arcadez2003 f7d36b7c18 A little more WIP (#1343)
Even out the screen position hook up the latch correctly and remove some redundant code
2022-05-27 19:10:28 -04:00
arcadez2003 4ea44e8eaa Remove redundant code and tidy up (#1342) 2022-05-27 19:08:47 -04:00
mahoneyt944 6a64dcfa7b Marble Madness II (prototype) WIP (#1339) 2022-05-27 13:14:38 -04:00
mahoneyt944 260bc0262c Add files via upload 2022-05-25 20:26:44 -04:00
Kyland K bf185ef305 Cheats Update! Turbo OutRun Correction! (#1337)
Only point to currently supported romsets within 2003 Xtreme/Plus.  To do: verify and add toutrun3.zip
2022-05-25 20:14:13 -04:00
arcadez2003 0183ab5f3c updatey (#1336) 2022-05-25 20:13:55 -04:00
arcadez2003 d17083ecb0 megrescu (#1335) 2022-05-25 20:13:45 -04:00
arcadez2003 77187a3974 Some video hacks for Megumi Rescue (#1334) 2022-05-25 20:13:18 -04:00
arcadez2003 693e575e09 New working game Megumi Rescue (#1333)
Megumi Rescue [Jeff Willard Jr] David Haywood
2022-05-25 20:13:04 -04:00
mahoneyt944 f70b8f8018 Add files via upload 2022-05-25 06:17:44 -04:00
mahoneyt944 4a9b28537d Hypernoid (#1331) 2022-05-25 00:03:09 -04:00
Kyland K b2c1c04b24 Cheats Update! Killer Instinct and Turbo OutRun! (#1329)
You can now select Tower Position and go directly to the End Boss!  Also, several nifty Cheats added for Turbo OutRun!

Thanks, Mahoneyt944!
2022-05-20 00:33:02 -04:00
Kyland K a2e387fbc3 Killer Instinct 1 and 2 Cheats Update! Volume Control! (#1327)
Toggle Core Option on, Select Volume Level, Toggle Off:)  Game will Restart.  Way more intuitive than the manual MAME menu method!
2022-05-18 20:55:04 -04:00
Kyland K fecf11dfbd Killer Instinct 1 and 2 Cheats Update! (#1325)
Note: Being that this the initial addition of massively updated KI1 and KI2 Cheats, please do not expect all Cheats to fully function as advertised! Some of the Cheats may be subject to change in future Updates!

Killer Instinct 1 and 2 Cheats Update!
Killer Instinct 1: Attack and Movement Speed Manipulation via Updated Cheats (cheat.dat)!

Selection of 12 different speeds and 21 different sizes, including Defaults.  You can choose to move as slow as molasses, or as fast as a Jedi!  Fight as a metaphorical watching paint dry sloth, or as frenetic as a one inch punch from Bruce Lee!  You can also be as small as a mouse or as large as a Kaiju!

Dozens of other Cheats added for both Killer Instinct 1 and 2, including Automated Ultra Combos and Humiliations and No Mercy Finishers!

Personal thanks to Mahoneyt944 and Abystus for their incredible efforts and insight in this little project I personally wanted to implement to help better lower spec platforms!

retroarch/system/mame2003-xtreme/cheat.dat

retroarch/system/mame2003-plus/cheat.dat

If using 2003 Plus, you must delete the .rzip, before the new cheat.dat will take effect!

R2 to open MAME Menu on 2003 Xtreme; L3 or Core Options to do the same for 2003 Plus.

Select Cheats, Apply, Resume Game, Rinse and Repeat, Enjoy the Performance/Speed Boost!
2022-05-16 23:12:51 -04:00
mahoneyt944 d4d9bd8aeb Set callback 2022-05-13 20:44:11 -04:00
mahoneyt944 36032c4a0b Missed frameskip option 2022-05-13 17:30:11 -04:00
arcadez2003 6de44ee0a3 Disable gfx speedup for R-Type Leo (#1321)
Fixes some serious graphical bugs throughout the game
2022-05-11 16:58:50 -04:00
arcadez2003 fd63f561b5 Recent diffs (#1322) 2022-05-11 16:58:34 -04:00
arcadez2003 de9f768db7 Test m92, disable palette banking for R-Type leo - fixes invincibility flash [Haze] (#1319) 2022-05-08 20:43:08 -04:00
mahoneyt944 8da6d3ca12 cleanup 2022-04-30 19:07:39 -04:00
mahoneyt944 6f3b18c941 resync 2022-04-28 17:34:16 -04:00
mahoneyt944 863389ff7e Fix lightgun offscreen position 2022-04-24 15:03:22 -04:00
mahoneyt944 9c9d542719 Typo 2022-04-23 11:41:57 -04:00
mahoneyt944 8c8e9c6917 Allow all inputs to be used at the same time 2022-04-23 11:36:41 -04:00
mahoneyt944 e5ee29ecb8 Add files via upload 2022-04-08 03:23:12 -04:00
arcadez2003 9ab273f3d0 updates (#1315) 2022-04-05 23:42:45 -04:00
arcadez2003 0f70a07dfc Finish off Zeroize hook in dongle changes (#1314) 2022-04-05 23:42:22 -04:00
arcadez2003 0c7cbc60d9 We need some new dongle handling let's hook it up (#1313) 2022-04-05 23:42:12 -04:00
arcadez2003 f21d0af52a Fix and make playable Deco's Zeroize (#1312)
0.136u1: Bryan McPhail fixed Zeroize (Cassette) protection simulation in lieu of proper dongle dump.
0.109u1: David Haywood fixed Zeroize (messed up graphics/unplayable).
0.99u2: Juergen Buchmueller found bitswap for Zeroize type #3 dongle; found hack to get it running w/o the dongle ROM by debugging the game code; changed year to 1983; removed NOT_WORKING flag. Changed visible area to 240x248.
2022-04-05 23:42:03 -04:00
mahoneyt944 8f1498fff4 rerom beta 2 2022-03-30 19:03:39 -04:00
mahoneyt944 13210d01c3 More updates (#1311) 2022-03-23 04:02:16 -04:00
mahoneyt944 c82ce094c2 Support Ultimate Mortal Kombat 3 Plus Beta 2 (#1310) 2022-03-22 17:26:08 -04:00
mahoneyt944 411ff45f10 Add files via upload 2022-03-19 17:47:56 -04:00
arcadez2003 886bfb3cfe Updates (#1308) 2022-03-17 19:57:16 -04:00
arcadez2003 9557ea82d7 Better balance between the music and SFX in Air Buster (#1307) 2022-03-17 19:57:07 -04:00
arcadez2003 7470fca163 djboyj (#1306) 2022-03-17 19:56:57 -04:00
arcadez2003 063b7a752d Finish off backporting the djboy driver (#1305)
Add support for the Japanese version which has a different DJ over the World set not sure if there are more diffs

MAME WIP

0.116u4: Phil Stroffolino Updated djboy driver [Phil Stroffolino]: Support for DJ Boy (Japan); same MCU, but ROM banking bits need to be XOR'd. 
0.105u2: Added clone DJ Boy (Japan).
2022-03-17 19:56:45 -04:00
mahoneyt944 bb8d16eeb1 Add files via upload 2022-03-17 06:43:51 -04:00
arcadez2003 9300ccaccd Romsets (#1303) 2022-03-16 02:35:29 -04:00
arcadez2003 a7a40ef748 Updatey (#1304) 2022-03-16 02:35:16 -04:00
arcadez2003 20367b706d New working games Angler Dangler / Fishing (#1302)
MAME WIP

0.147u2: Tornadoboy added Angler Dangler (DECO Cassette).
0.146u2: SRI, Charles MacDonald and Team Japump added 'Fishing (DECO Cassette)' (Data East 1982).
2022-03-16 02:35:04 -04:00
arcadez2003 6fbec5afba 1945kIII sound and video improvements (#1300)
MAME WIP

0.198: Added sprite color flashes. This fixes enemy damage flashes missing in 1945k III. Reduced palette size [AJR].
0.96u3: Fixed sound in 1945k III. Changed back to mono sound.
2022-03-14 16:28:40 -04:00
arcadez2003 6edf97587f 1945KIII (#1301) 2022-03-14 16:28:16 -04:00
mahoneyt944 6147fc1c8b Dat 2022-03-08 04:18:40 -05:00
arcadez2003 29ac9a3092 updatey (#1298) 2022-03-01 17:37:52 -05:00
arcadez2003 7be0706eae Kaneko changes cont (#1297) 2022-03-01 17:37:42 -05:00
arcadez2003 afefbe4455 Kaneko16 changes (#1296)
Fixed missing adpcm sounds in Pack 'n Bang Bang
Hooked up the sound correctly for Blood Warrior
Support a missing sprite effect used in Magical Crystals for the first boss

MAME WIP

0.101u2: Pierpaolo Prazzoli added bitmap to keep sprites on screen to the Kaneko video driver. This fixes level 1 boss sprites effect in Magical Crystals.
2022-03-01 17:37:25 -05:00
Kyland K 24e5516206 PlayChoice-10 Joypad Support (#1295)
PlayChoice-10 much easier to play, if actually supported by a controller:)

Select=Select
Start=Start
Enter=Select (Top Screen Information)
2022-02-26 10:41:12 -05:00
mahoneyt944 91547c9892 Dat 2022-02-19 07:21:23 -05:00
mahoneyt944 6d43b44d81 Tailgunner samples (#1293) 2022-02-19 06:26:07 -05:00
mahoneyt944 713b74c1f9 Add files via upload 2022-02-15 03:05:42 -05:00
arcadez2003 ad738c2ed0 Update CHANGELOG.md (#1290) 2022-02-14 19:34:27 -05:00
mahoneyt944 03ee05187d Remove faulty and broken c-chip simulation
Replace with a more basic but reliable version from MAME98 which simulates many c-chip commands
including the final end game boss sequence, i then taking ideas from this txt file...

https://github.com/mamedev/mame/blob/master/src/mame/etc/opwolf_cchip.txt

Updated the level data tables to enable and support the random enemy has located you mini levels using the older c-chip sim code
2022-02-14 00:18:08 -05:00
mahoneyt944 a5fc09cf82 lkage fixes (#1288)
* Update lkage.c

* Update lkage_vidhrdw.c
2022-02-14 00:14:38 -05:00
mahoneyt944 0bea0ad8dd Add files via upload 2022-02-08 13:35:43 -05:00
mahoneyt944 71233c3ee6 Tokio 2022-02-08 13:15:46 -05:00
mahoneyt944 d25447d3ce Hookup the M68705 MCU for Tokio game now playable
Also improved the sound switched the inputs to 8-way and filled out some missing dip switch options

MAME WIP

0.181: Dumped 68705 a71_24.bin MCU from Tokio / Scramble Formation (newer) - Game now playable [ShouTime, brizzo]. Hooked up new 68705 dump to Tokio / Scramble Formation (newer) and clones [David Haywood]. Fixed MCU clock rate based on comments in driver [Lord Nightmare]. Added 'M68705 (NEW)' (3MHz) CPU4.

0.93u1: Added dipswitches 'Enemies', 'Enemy Shots' and 'Unused'.

0.90: Nicola Salmoria adjusted PSG volume (YM2203) in Tokio. Fixed rom names. Changed description to 'Tokio / Scramble Formation (US)'.
2022-02-08 12:51:31 -05:00
mahoneyt944 8cfefb91fc Specifiy debug to enable action 2022-02-06 09:39:24 -05:00
mahoneyt944 6b8ac2910c Allow create failures to log only 2022-02-05 16:40:52 -05:00
mahoneyt944 5123462863 Dat 2022-02-05 15:17:14 -05:00
mahoneyt944 6a48b344ed Update CHANGELOG.md 2022-02-05 14:56:58 -05:00
mahoneyt944 2030fd6212 Update pgm.c
0.150: Implement some PGM missing ASIC25/ASIC28 registers. This fixes the high score screen for olds & clones [rockywall, Creamy Mami]. Mark olds & clones as working, removed a few now unneeded patches, notes and miscellanea [iq_132].

0.148u5: iq132 implemented bitswap protection and several DMA modes for olds. The ram_dump hack is no longer required. The protection simulation is still somewhat incomplete.
2022-02-05 13:15:27 -05:00
mahoneyt944 5760e8f190 Dat 2022-02-04 23:22:34 +01:00
mahoneyt944 42ff49fb51 Log cleanup 2022-02-04 23:22:34 +01:00
arcadez2003 8ca29ff29d Remove bkungfu 2022-02-04 23:22:34 +01:00
arcadez2003 37a43c2a98 As per a licence violation Remove support for Beyond Kung Fu 2022-02-04 23:22:28 +01:00
arcadez2003 63bc14c30b Slight correction 2022-02-02 23:54:03 +00:00
arcadez2003 3f608e361f Merge pull request #1284 from libretro/arcadez2003-patch-2
updatety
2022-01-30 00:35:46 +00:00
arcadez2003 a496fc0304 updatety 2022-01-29 23:45:19 +00:00
arcadez2003 c9a5f01578 dicegame 2022-01-29 23:38:12 +00:00
arcadez2003 9528328121 New working game Dice - The Dice Game
With thanks to Jonas Jago
2022-01-29 23:36:56 +00:00
arcadez2003 b25d57b6fa Fix some broken gfx in Buggy Challenge
MAME WIP

Kale Fixed background pen and clipping enable (fixes title screen and stage 3 graphics).

0.138u2: hap improved the sky in Buggy Challenge, the in-game foreground statusbar and speedometer don't clip it anymore
and it's a gradient of azure->turquoise now instead of azure->black.
2022-01-29 21:43:46 +00:00
arcadez2003 51b9b5e1e5 Fix for Momoko 120%
0.153: Changed Momoko to 4-way Joystick. Note that the game-breaking escalator bug only happens on an 8-way joystick, it's safe to assume that this game dedicated cpanel was 4-way [hap].
2022-01-27 22:20:39 +00:00
mahoneyt944 d2914bf635 Add files via upload 2022-01-26 18:49:01 -05:00
arcadez2003 7034237eed Fix Palette colours Beyond Kung-Fu 2022-01-26 19:55:06 +00:00
arcadez2003 36cfc3ec93 kungfum2 -> bkungfu 2022-01-26 16:56:09 +00:00
arcadez2003 b99b378c55 Tweak Prom loading order and match up rom naming with latest MAME 2022-01-26 16:53:32 +00:00
695 changed files with 122754 additions and 54149 deletions

No files matched your search

+64 -9
View File
@@ -41,6 +41,10 @@ include:
- project: 'libretro-infrastructure/ci-templates'
file: '/linux-i686.yml'
# Linux 64-bit (ARM)
- project: 'libretro-infrastructure/ci-templates'
file: '/linux-aarch64.yml'
# MacOS 64-bit
- project: 'libretro-infrastructure/ci-templates'
file: '/osx-x64.yml'
@@ -50,8 +54,8 @@ include:
file: '/osx-arm64.yml'
# MacOS PowerPC 32-bit
- project: 'libretro-infrastructure/ci-templates'
file: '/osx-ppc.yml'
# - project: 'libretro-infrastructure/ci-templates'
# file: '/osx-ppc.yml'
################################## CELLULAR ################################
# Android
@@ -67,6 +71,10 @@ include:
file: '/ios9.yml'
################################## CONSOLES ################################
# PlayStation3
- project: 'libretro-infrastructure/ci-templates'
file: '/psl1ght-static.yml'
# PlayStation Portable
- project: 'libretro-infrastructure/ci-templates'
file: '/psp-static.yml'
@@ -79,6 +87,10 @@ include:
- project: 'libretro-infrastructure/ci-templates'
file: '/ctr-legacy-static.yml'
# Nintendo Wii
- project: 'libretro-infrastructure/ci-templates'
file: '/wii-static.yml'
# Nintendo WiiU
- project: 'libretro-infrastructure/ci-templates'
file: '/wiiu-static.yml'
@@ -104,6 +116,10 @@ include:
- project: 'libretro-infrastructure/ci-templates'
file: '/emscripten-static.yml'
# webOS 32-bit (LGTV)
- project: 'libretro-infrastructure/ci-templates'
file: '/webos-make.yml'
# Stages for building
stages:
- build-prepare
@@ -171,12 +187,20 @@ libretro-build-linux-i686:
only:
- master
# Linux 64-bit (ARM)
libretro-build-linux-aarch64:
extends:
- .libretro-linux-aarch64-make-default
- .core-defs
only:
- master
# MacOS 64-bit
libretro-build-osx-x64:
tags:
- macosx-packaging
extends:
- .libretro-osx-x64-make-default
- .libretro-osx-x64-make-10-7
- .core-defs
only:
- master
@@ -192,12 +216,12 @@ libretro-build-osx-arm64:
- master
# MacOS PowerPC 32-bit
libretro-build-osx-ppc:
extends:
- .libretro-osx-ppc-make-default
- .core-defs
only:
- master
#libretro-build-osx-ppc:
# extends:
# - .libretro-osx-ppc-make-default
# - .core-defs
# only:
# - master
################################### CELLULAR #################################
# Android ARMv7a
@@ -257,6 +281,14 @@ libretro-build-tvos-arm64:
- master
################################### CONSOLES #################################
# PlayStation3
libretro-build-psl1ght:
extends:
- .libretro-psl1ght-static-retroarch-master
- .core-defs
only:
- master
# PlayStation Portable
libretro-build-psp:
extends:
@@ -281,6 +313,21 @@ libretro-build-ctr:
only:
- master
# Nintendo Wii
.core-defs-wii:
extends:
- .libretro-wii-static-retroarch-master
- .core-defs
only:
- master
#libretro-build-wii-core:
# extends:
# - .core-defs-wii
# variables:
# INCLUDE_DRV: drv_?
# CORENAME: mame2003_plus_drv_?
# Nintendo WiiU
libretro-build-wiiu:
extends:
@@ -345,3 +392,11 @@ libretro-build-emscripten:
- .core-defs
only:
- master
# webOS 32-bit
libretro-build-webos-armv7a:
extends:
- .libretro-webos-armv7a-make-default
- .core-defs
only:
- master
+352 -14
View File
@@ -2,7 +2,7 @@
* Current repository maintainers: arcadez, mahoneyt944, markwkidd, twinaphex
* Past repository maintiners: arnoldsecret, grant2258
* Significant code contributors to this project: AMadvanceMAME, BritneysPAIRS, dink, FBN Dev, grant2258, iq_132, MAME Dev, ShmupMAME
* Significant code contributors to this project: AMadvanceMAME, BritneysPAIRS, dink, FBN Dev, grant2258, iq_132, MAME Dev, Mistydreams, ShmupMAME
The list of direct contributors to the MAME 2003-Plus github repository can be found at https://github.com/libretro/mame2003-plus-libretro/graphs/contributors. Additional contributor credits can be found in LICENSE.md, CHANGELOG.old, and in the individual driver source files.
@@ -10,46 +10,63 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* 96 Flag Rally
* 1943 - The Battle Of Midway Mark II
* 19XX: The War Against Destiny (All Sets)
* 1945k III
* A.B. COP
* Action Fighter (Unprotected)
* Action Hollywood
* Adventure Canoe
* Air Attack
* Air Rescue
* Aladdin (bootleg of Megadrive version)
* Angler Dangler (Deco Cassette)
* Argus (Gottlieb, prototype)
* Astropal
* Asura Buster
* Backfire!
* Back Fire (Tecmo)
* Bang Bang Busters
* Bare Knuckle II (chinese bootleg of Megadrive version)
* Bare Knuckle III (bootleg of Megadrive version)
* Baryon: Future Assault
* Big Fight - Big Trouble In The Atlantic Ocean
* Bomb Kick
* Boogie Wings
* Born To Fight
* Botanic (English / Spanish set 1)
* Bronx (Cycle Shooting bootleg)
* Bubble Bobble 2 - The Return Of Super Drunk (prototype)
* Bubble Buster
* Buccaneers
* Bullet (unprotected of FD1094 317-0041 set)" )
* Cabal (World, Joystick version)
* Calorie Kun vs Moguranian
* Center Court
* Chain Reaction
* Charlie Ninja
* Chase Bombers
* Choky! Choky!
* Choutetsu Brikin'ger - iron clad
* Clockwork Aquario
* Combat Hawk
* Come Back Toto
* Cookie & Bibi
* Cookie & Bibi 3
* Command War - Super Special Battle & War Game (prototype)
* Cosmic Monsters II
* Cotton (set 4, World) (unprotected of FD1094 317-0181a set)
* Counter Run (Bootleg, Set 1)
* Counter Run (Bootleg, Set 3)
* Crossed Swords 2
* Cute Fighter
* Cycle Warriors
* Daikaiju no Gyakushu
* Danger Express (prototype)
* Deluxe 5
* Denjin Makai
* Deer Hunting
* Deroon DeroDero
* Dice - The Dice Game
* Diet Go Go
* Digger (CVS)
* Dolmen
@@ -59,17 +76,22 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Double Wings
* Dragon Bowl
* Dream World
* Dunk shot all sets
* Dyna Gear
* Eeekk!
* ESPGaluda
* F1 Super Lap (World)
* Fantasy Zone II - The Tears of Opa-Opa (System 16C version)
* Fever SOS
* Final Tetris
* Fire Hawk
* FixEight (bootleg)
* Flying Tiger
* Frog & Spiders (bootleg)
* Gaia: The Last Choice Of Earth
* Galactica - Batalha Espacial
* Ghostlop
* Gladmort (NeoGeo Final Release)
* Glass (Ver 1.1, Break Edition, Checksum D419AB69, Version 1994) (censored, unprotected)
* Golden Par Golf
* Golden Tee 3D Golf (v1.93N)
@@ -81,68 +103,97 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Gulun.Pa!
* Gunbarich
* GunMaster
* Gut's N' Glory (Atari Prototype)
* Hammer Away
* Hang Zo
* Hard Times
* Head On Channel (Japan, Prototype)
* Heavy Smash
* Hoops '96
* Hypernoid
* Hyper Crash
* Hyper Street Fighter II (Asia)
* Hyper Street Fighter II (All Sets)
* In Your Face
* Inca * Mature *
* Indian Battle
* Invasion
* Jammin (Atari Prototype)
* Joe & Mac Returns
* Jolly Jogger
* Jurassic Park (Bootleg Of Megadrive Version)
* Juezhan Tianhuang
* Jump Kun
* Kabuki-Z (World)
* Ketsui: Kizuna Jigoku Tachi
* Ketsui: Kizuna Jigoku Tachi - IKD 2007 Special Version
* Knightmare
* Knights Chance (NeoGeo)
* Last Hope
* Led Storm Rally 2011
* Lethal Enforcers
* Line Of Fire
* Mad Alien
* Mad Ball V2.0 * Mature * - Romset `madballn`
* Magic Purple
* Magic Purple
* Manhattan (Deco Cassette)
* Marble Madness II (prototype)
* Master's Fury
* Match It II * Mature *
* Maze Invaders
* Megumi Rescue
* Metal Slug 4
* Metal Slug 5
* Mighty Pang (All Sets)
* Mighty Warriors
* Mirax
* Mobile Suit Gundam Final Shooting
* Monsters World (Bootleg Of Super Pang)
* Monster Maulers
* More More
* Mortal Race
* Mouse Shooter GoGo
* Ms. Pacman Twin
* Mrs. Dynamite
* Multi Champ Deluxe * Mature *
* Ninja Kazan
* Oo Parts (Japan, Prototype)
* Opa Opa (Rev A Unprotected)
* Oriental Legend Special
* Oriental Legend Special - Xi You Shi E Zhuan Super (ver. 101, Korean Board)
* Oriental Legend Special - Xi You Shi E Zhuan Super (ver. 103, China, Tencent) (unprotected)
* Osman
* Oozumou - The Grand Sumo (Deco Cassette)
* Pack'n Bang Bang
* Parallel Turn
* Party Time: Gonta the Diver II / Ganbare! Gonta!! 2 * Mature *
* Passing Shot (Japan 2 players)
* Penky
* Photo Y2K 2
* Pirate Treasure
* Planet Probe
* Pochi & Nyaa
* Pocket Gal Deluxe * Mature *
* Power Balls
* Power Instinct Legends
* Power Instinct Matrimelee
* Power Up Baseball
* Progear
* Puzz Loop 2
* Puzz Loop 2 (All Sets)
* Puzzle Break
* Puzzle Star
* Puzzli 2
* Puzzli 2 Super
* Quick Shots (Clone Of Target Hits)
* Racing Beat
* Racing Hero
* Rage Of The Dragons
* Recalhorn (prototype)
* Riot
* Rolling Crush
* Round Up 5 - Super Delta Force
* Rumba Lumber
* Samurai Shodown V
* Samurai Shodown V Special
* Saurian Front (Williams Prototype)
* SD Fighters
* Sega Megaplay : Bio Hazard Battle
* Sega Megaplay : Columns III
@@ -152,20 +203,28 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Sega Megaplay : Tecmo World Cup
* Sega Sonic Bros (Japan, Prototype)
* Sengoku 3
* Shuihu Feng Yun Zhuan
* Skater (Deco Cassette)
* Skull Fang
* Slap Shooter
* Snow Brothers 3 - Magical Adventure
* Snk Vs Capcom : Svc Chaos (MVS)
* Snapper
* Sonic Boom
* Sonic The Hedgehog 2 (Bootleg Of Megadrive Version)
* Sonic The Hedgehog 3 (Bootleg Of Megadrive Version)
* Space Fever High Splitter
* Space Launcher
* Space Raider
* Spectrum 2000 (Euro)
* Squash
* Star Fire 2
* Steel Worker
* Success Joe
* Super Bishi Bashi Championship (ver JAA, 2 Players)
* Super Bubble Bobble (Sun Mixing, Megadrive clone hardware)
* Super Doubles Tennis (Deco Cassette)
* Super Monaco GP
* Super Rider
* Super Trio
* SWAT Police
@@ -179,16 +238,22 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* The King of Fighters 2002
* The King of Fighters 2003
* The Lost Castle In Darkmist
* ThunderForce AC (Japan, prototype, bootleg)
* Top Driving
* Top Roller
* Toppy & Rappy
* Torus * Mature *
* Touch & Go (Korea, unprotected)
* Thunder Heroes
* Thunder Hoop
* Title Fight
* Touki Denshou -Angel Eyes
* Trophy Hunting Bear & Moose
* Turkey Hunting
* Twin Cobra 2
* Twin Action
* Twinkle
* Twinkle Tale (Bootleg Of Megadrive Version)
* Tylz
* Ufo Senshi Yohko Chan
* Varia Metal
@@ -200,6 +265,7 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Wing Shooting Championship
* Wiz Warz
* Wonderboy In Monsterland (English Virtual Console Version)
* Woodpecker
* World Cup Volley 95
* Xeno Crisis
* Zintrick
@@ -216,10 +282,14 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Crouching Tiger Hidden Dragon 2003
* Crouching Tiger Hidden Dragon 2003 Super Plus
* Crystal Castles (Joystick Version)
* DJ Boy (Japan)
* DoDonPachi Dai-Ou-Jou (Black Label)
* Double Dragon 3 - The Rosetta Stone (Japan)
* Dunk Dream '95
* Dogyuun (8/25/1992 location test)
* E.D.F. : Earth Defense Force (North America)
* Escape Kids (Asia 4 Players)
* Fishing
* Flower (bootleg)
* Fujiyama Buster
* Gals Panic DX * Mature *
@@ -277,10 +347,15 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Bubble Bobble Lost Cave
* Bubble Bobble Ultra
* Captain Barrel
* Cyborg Force
* Do DonPachi (Arrange Ver. 1.1) (trap15, hack)
* Dogou Souken / Victory Road (joystick hack bootleg)
* Donkey Kong II Jumpman Returns
* Donkey Kong Remix
* Donkey Kong Christmas Remix
* Dottori-Man Jr. (Hack by Chris Covell)
* Double Dragon One (Beta 7)
* DownTown (joystick hack)
* Final Fight 30th Anniversary Edition (Grego And Rotwang)
* Food Fight - Live Center Rev 5 w/ debounce delay position hack
@@ -290,8 +365,9 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Midnight Resistance (joystick hack bootleg)
* Mortal Kombat 2 Plus Beta 2
* TANK III (joystick hack bootleg)
* The Eye Of The Typhoon (Beta 7)
* Tron freeplay custom rom
* Ultimate Mortal Kombat 3 Plus Beta 1
* Ultimate Mortal Kombat 3 Plus Beta 2
## Games fixed and now working
@@ -317,10 +393,13 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Competition Golf Final Round (revision 3) - `compgolf`
* Crater Raider - Romset `crater`
* Crazy Climber 2 - Romset `cclimbr2`
* Dark Edge - Romset `darkedge`
* DD Crew - Romset `ddcrew`
* Demolition Derby - Romset `demoderb`
* Die Hard Arcade - Romset `diehard` - Requires a fast system; video and sound issues remain
* Discs Of Tron - Romsets `dotron` and `dotrone`
* DJ Boy - Romset `djboy`
* Dragon Ball Z V.R.V.S. - Romset `dbzvrvs`
* Driving Force (galaxian hardware) - Romset `drivfrcg` - colors fixed
* Domino Man - Romset `domino`
* Dragon World - Romset `drgnwrld`
@@ -329,18 +408,24 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Eight Ball Action (Pacman conversion) - Romset `8bpm` - colors fixed
* F-1 Grand Prix Star II - Romset `f1gpstr2`
* F1 Super Lap (Japan) - Romset `f1lapj`
* Fantastic Journey - Romset `fanjour`
* Fighters History - Romsets `fghthist`, `fghthsta`, and `fghthstw` - Playable with minor remaining unemulated protection
* Find Out - Romset `findout` - colors fixed
* Fire Barrel - Romset `firebarr`
* Final Lap 2 - Romsets `finalap2` and `finalp2j`
* Final Lap 3 - Romsets `finalap3` and `finalp3a`
* Flower - Romset `flower`
* Free Kick - Romset `freekick`
* Funky Jet - Romset `funkyjet`
* Gardia - Romset `gardia`
* Get Star / Guardian - Romsets `getstar` and `getstarj`
* Great 1000 Miles Rally - Romsets `gtmr`, `gtmr2`, `gtmre`, and `gtmrusa`
* Green Beret - Romset `greenber`
* Gussun Oyoyo - Romset `gussun`
* Hacha Mecha Figher - Romsets `hachamf` and `hachamfb` - `hachamf` is playable but has remaining unemulated protection
* Hang-On - Romset `hangon`
* Hard Head 2 - Romset `hardhea2`
* Highway Chase - Romset `chwy`
* Hyper Duel - Romsets `hyprduel`, and `hyprdelj`
* IGMO - Romset `igmo` color fixed
* Imago - Romsets `imago` and `imagoa`
@@ -363,14 +448,17 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* New Sinbad 7 - Romset `newsin7` - colors fixed
* Night Slashers - Romset `nslasher`
* Off Road Challenge - Romset `offroadc` - Requires a fast system
* Passing Shot 4 player bootleg - Romset `passht4b`
* Phantasm - Romset `phantasm`
* Photo Y2k - Romset `photoy2k`
* Pigskin 621AD - Romset `pigskin`
* Power Drive - Romset `powerdrv`
* Prebillian - `pbillian`
* Pro Baseball Skill Tryout - `tryout`
* Puzzle King (PacMan 2 with Tetris & HyperMan 2 & Snow Bros - `4in1boot`
* Rabbit - Romset `rabbit` - no sound
* Rampage - Romsets `rampage` and `rampage2`
* Risky Challenge - Romset `riskchal` - Playable but dont press any buttons during the score calc screen between the levels
* Risky Challenge - Romset `riskchal`
* Rohga Armor Force - Romsets `rohga`, `rohgah`, `rohgau`
* Run And Gun - Romset `rungun`
* Rush'N Attack - Romset `rushatck`
@@ -384,9 +472,11 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Shrike Avenger - Romset `shrike`
* Sky Army - Romset `skyarmy`
* Slap Fight (Official Version) - Romset `slapfigh`
* Slipstream - Romset `slipstrm`
* Snowboard Championship - Romset `snowboar`
* Solar Fox - Romset `solarfox`
* Space Position - Romset `spcpostn`
* Space Seeker - Romset `spaceskr`
* Speed Spin - Romset `speedspn` - gfx glitches
* Spy Hunter - Romset `spyhunt`
* Spy Hunter 2 - Romset `spyhunt2`
@@ -397,10 +487,12 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Tapper - Romset `tapper`
* Target Ball (Nude) - Romset `tgtball`
* Task Force Harrier - Romsets `tharrier` and `tharierj`
* Thunder Blade - Romsets `thndrbld` and `thndrbld1`
* Thunder Dragon - Romset `tdragon` - Minor sound issues remaining
* Thunder Strike - Romset `tstrike`
* Timber - Romset `timber`
* Time Limit - Romset `timelimt` - colors fixed
* Thunder Dragon - Romset `tdragon` - Minor sound issues remaining
* Thunder Strike - Romset `tstrike`
* Tokio / Scramble Formation (US) - Romset `tokio`
* Tri-Sports - Romset `trisport`
* Tron - Romset `tron`
* Turbo Out Run - Romsets `toutrun` and `toutrun3`
@@ -409,12 +501,14 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Two Tigers - Romset `twotiger`
* Under Fire - Romset `undrfire`
* U.S. Classic - Romset `usclssic` - colors fixed
* VS. Hot Smash - `hotsmash`
* Wonder Boy in Monster Land (Japan New Ver.) - Romset `wbml`
* Wonder Boy in Monster Land (Japan Old Ver.) - Romset `wbmljo`
* Xenophobe - Romset `xenophob`
* X-men (6 players) - Romset `xmen6p` and `xmen6pu`
* Wacko - Romset `wacko`
* Whizz - Romset `whizz`
* Zeroize - Romset `czeroize`
* Zwackery - Romset `zwackery`
## Games now with sound
@@ -422,6 +516,7 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Acrobat Mission
* Altered Beast (version 2)
* Asura Blade
* Atomic Boy / Wily Tower
* Balloon Bomber
* Batsugun (Partial)
* Bio-ship Paladin
@@ -429,6 +524,7 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Cross Pang
* Daitoride
* Dharma Doujou
* Dogyuun (8/25/1992 location test)
* Fire Shark
* Ghox
* GunNail
@@ -457,6 +553,8 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Sky Alert
* Sky Diver
* Space Chaser (CV version)
* Special Forces
* Special Forces II
* Super Slam
* Super Spacefortress Macross
* Teki Paki
@@ -473,11 +571,16 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
## Games now with improved sound
* 1945kIII
* Air Buster
* Ashita no Joe
* Asterix
* Athena
* Bandito
* Big Event Golf
* Bosconian
* Burgler X
* Congo Bongo
* Cookie & Bibi 2
* Crazy Balloon
* Destination Earth - (Added lrescue.zip sample support)
@@ -492,9 +595,11 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Galaga 3
* Galaxy Rescue - (Added lrescue.zip sample support)
* Gaplus
* Go Go! Mile Smile / Susume! Mile Smile
* Grobda
* Hit The Ice
* Horizon
* Inferno (Williams)
* Journey (Added sepways.wav sample)
* Kaiketsu Yanchamaru
* Kid Niki - Radical Ninja (US)
@@ -512,13 +617,18 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Nibbler
* Open Ice
* Out Run - Added ost soundtrack (via KMFDManic)
* Pack 'n Bang Bang
* Pacman & Chomp Chomp
* Pac & Pal
* Passing Shot (4 Player Bootleg)
* Performan
* Pole Position
* Pole Position II
* Rampage World Tour
* Revolution X
* Rim Rockin Basketball (commentary voices)
* Rohga Armor Force
* R-Type Leo
* Shark Attack
* Sheriff
* Space Fever
@@ -532,7 +642,10 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Super Spacefortress Macross II
* Super Xevious
* Tecmo Bowl
* The Legend OF Silkroad
* Thief
* Title Fight
* Tough Turf (Japan)
* Tower Of Druaga
* Toypop
* Trojan / Tatakai No Banka
@@ -541,6 +654,7 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Two Tigers - `twotigra` romset
* WWF Wrestlemania
* Xevious
* Zero Point
## Games now with sound sample support
@@ -549,7 +663,6 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Destination Earth - lrescue
* Frogs
* Galaxy Rescue - lrescue
* Ghox (Toaplan Samples)
* Journey
* Lunar Rescue - lrescue
* NATO Defense
@@ -558,12 +671,15 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Sea Wolf II
* Shark Attack
* Space Firebird
* Tailgunner
* Thief
* Two Tigers - `twotigra` romset
* Zero Hour
## Games supporting new and improved samples
* Congo Bongo
* Destination Earth
* Donkey Kong
* Donkey Kong JR
@@ -574,7 +690,81 @@ The list of direct contributors to the MAME 2003-Plus github repository can be f
* Vanguard
## Changes
## New and/or Recommended Input Options and Settings
* Added 'X-Way Joystick' Option to Analog Controls Menu only for IPT_DIAL and IPT_DIAL_V devices. This option is for use with x-way rotary joysticks (where the joystick can rotate X discrete steps, 8 or 12 appears to be most common). The joystick can still move up, down, left, right and diagonally. The most famous game to use this control scheme is Ikari Warriors.
Notes on this option:
- When on, prevents the character from rotating two discrete steps sometimes when the rotary joystick is just rotated one step.
- When on, the character will only rotate up to half the frame rate instead of the frame rate, so up to 30 times per second instead of 60 times a second if the game is running at 60Hz.
* Recommended analog control settings for known games that use an x-way rotary joystick to give the intended rotary control of the character. (Note: Settings will work best if the game is running at its native 60Hz, and the time the rotary joystick "holds" down the virtual IPT_DIAL or IPT_DIAL_V button is longer than 1/60th of a second, but less than 2/60ths of a second.):
- Bermuda Triangle
Key/Joy Speed: 16
Sensitivity: 100%
X-Way Joystick: On
- Caliber 50
Key/Joy Speed: 4
Sensitivity: 100%
X-Way Joystick: On
- DownTown
Key/Joy Speed: 21
Sensitivity: 100%
X-Way Joystick: On
- Forgotten Worlds (arcade version used "roll" button, not rotary joystick)
Key/Joy Speed: 65
Sensitivity: 100%
X-Way Joystick: On
- Gondomania
Key/Joy Speed: 21
Sensitivity: 100%
X-Way Joystick: On
- Guerrilla War
Key/Joy Speed: 16
Sensitivity: 100%
X-Way Joystick: On
- Heavy Barrel
Key/Joy Speed: 21
Sensitivity: 100%
X-Way Joystick: On
- Ikari Warriors
Key/Joy Speed: 16
Sensitivity: 100%
X-Way Joystick: On
- Victory Road (kind of Ikari Warriors II)
Key/Joy Speed: 16
Sensitivity: 100%
X-Way Joystick: On
- Ikari III - The Rescue
Key/Joy Speed: 21
Sensitivity: 100%
X-Way Joystick: On
- Midnight Resistance
Key/Joy Speed: 21
Sensitivity: 100%
X-Way Joystick: On
- SAR - Search and Rescue
Key/Joy Speed: 21
Sensitivity: 100%
X-Way Joystick: On
- T.A.N.K
Key/Joy Speed: 16
Sensitivity: 100%
X-Way Joystick: On
- Time Soldiers
Key/Joy Speed: 21
Sensitivity: 100%
X-Way Joystick: On
- Touchdown Fever
Key/Joy Speed: 2
Sensitivity: 100%
X-Way Joystick: On
- Touchdown Fever 2
Key/Joy Speed: 2
Sensitivity: 100%
X-Way Joystick: On
## Misc Changes
* Added HD647180 MCU sound support for Fire Shark and Vimana [arcadez]
* Added sound sample support for Cosmic Alien [BritneysPAIRS, arcadez]
* Updated sample support for Donkey Kong and Donkey kong JR to MAME87 [BritneysPAIRS, arcadez]
@@ -652,7 +842,6 @@ Gun & Fronter, Metal Black, Ninja Kids, and Pulirula [arcadez]
* Ported Mamesick's fix for the sound in Super Spacefortress Macross II level 2 onwards [arcadez]
* Backported Kale's Taito F3 sound fixes for Riding Fight and Ring Rage from MAME 144 [arcadez]
* Backported Stefan Jokisch's graphical and sound improvemnets for the Nintendo 8080 based games from MAME81 [arcadez]
* Added Bryan McPhail's C-Chip simulation code for Operation Wolf from MAME98 and MAME176 respectively [arcadez]
* Fixed graphical problems in GunNail and better balanced the sound for the games using the NMK004 [arcadez]
* Removed imperfect MCU simulation code and hooked the proper M68705 MCU's for Renegade and Nekketsu Kouha Kunio-kun [dink, arcadez]
* Hooked up the sepways.wav sample for journey in mcr2.c [mahoneyt944, grant2258, arcadez]
@@ -676,7 +865,7 @@ Gun & Fronter, Metal Black, Ninja Kids, and Pulirula [arcadez]
* Hooked up x-men 6 players [arcadez, mahoneyt944, KMFDManic]
* Removed gauntlet entry from highscore dat to fix game glitches [mahoneyt944]
* Set flag in Ost drivers to allow them to be fully bypassed [mahoneyt944]
* Hooked up mk2p and umk3p romsets [Zoltan45, mahoneyt944]
* Hooked up mk2p and umk3p romsets [Zoltan45, palmerj, mahoneyt944]
* Ashita no Joe sound fixes / CPU clock frequencies [arcadez]
* Success Joe new game support added [mahoneyt944]
* Fixed directory and file creation for WiiU - should be working for all platforms now [mahoneyt944]
@@ -700,7 +889,7 @@ Gun & Fronter, Metal Black, Ninja Kids, and Pulirula [arcadez]
* Added support for 1943 - The Battle Of Midway Mark II to 1943.c [arcadez]
* Updated the legionnaire driver and video code to MAME142 added seicop protection Denjin Makai now playable [arcadez]
* Added a small hack to the seibu soundcore to fix music and sfx in Denjin Makai [arcadez]
* Added a working bootleg of Counter Run to freekick.c [BritneysPAIRS]
* Added two working bootlegs of Counter Run to freekick.c [BritneysPAIRS, arcadez]
* Updated the rohga.c driver to support the rare prototype Hang-Zo [arcadez]
* Added support for Hyper Crash to nemesis.c [arcadez]
* Added support for In Your Face a rare basketball prototype to the megasys1.c driver [arcadez]
@@ -824,3 +1013,152 @@ Gun & Fronter, Metal Black, Ninja Kids, and Pulirula [arcadez]
* Fixed sound in Dolmen and Twin Action then sorted an mcu simulation issue in Task Force Harrier [grant2258]
* Improved road vs scenery priorities meaning you dont see things that should be hidden behind the hills appearing all over the road in Jaleco's Big Run [arcadez]
* Updated the snowbros.c driver fixing three games and adding support for eight new games this also sorted the sound from cutting out in Cookie & Bibi 2 [arcadez]
* Fixed some graphical problems where the colours were wrong on level 3 and half the screen was missing eg rendered black in Buggy Challenge [arcadez]
* Added support for Dice - The Dice Game a bootleg of the undumped DiceDiceDice by IREM to the M90 driver [arcadez]
* Added a new protection simulation to pgm.c so that Oriental Legend Special - Xi You Shi E Zhuan Super (ver. 101, Korean Board) now works in this core [arcadez]
* Hooked up the M68705 protection MCU for the official Taito USA version of Tokio / Scramble Formation game now playable [arcadez]
* Fixed some graphical priority and screen display area niggles which affected The Legend Of Kage [arcadez]
* Added Bryan McPhail's C-Chip sim code for Operation Wolf from MAME98 and modded it slightly so the final end boss and enemy has located you mini levels can now be played [arcadez]
* Added new sample support in cinemat drivers for tailgunner - tailg [mahoneyt944]
* Fixed missing adpcm sound effects in Pack 'n Bang Bang and hooked up the sound correctly for Blood Warrior [arcadez]
* Added support for a special sprite effect to kaneko16 video used by Magical Crystals on the first boss [arcadez]
* Added a missing graphical sprite effect which handles enemy damage flashes and improved the sound for 1945k III [arcadez]
* Added support for Angler Dangler and the clone japanese set Fishing to the decocass.c driver [arcadez]
* Better balanced the music and Sfx levels in Kaneko's Air Buster and added the Japan version of DJ Boy [arcadez]
* Fixed Deco Cassette game Zeroize in the decocass.c driver game now playable [arcadez]
* Disabled palette banking for R-Type leo - fixes invincibiliy flashing [Haze, arcadez]
* Fixed some serious graphical problems in R-Type Leo by disabling a gfx based speedup which caused issues throughout the game [arcadez]
* Updated the Irem GRA20 soundcore to MAME 81 which fixes missing voices and improves the sound more generally for R-Type Leo [arcadez]
* Added support for Hypernoid to the neogeo driver [arcadez, mahoneyt944]
* Added Megumi Rescue to the Sega System E driver [Haze, arcadez]
* Added Marble Madness II (prototype) to the batman driver [Haze, MistyDreams, dink, iq_132, arcadez, mahoneyt944]
* Added Fantasy Zone II - The Tears of Opa-Opa (fantzn2x) to system16 driver [MistyDreams, mahoneyt944, arcadez]
* Added Action Fighter Sega System A unprotected set to the system16 driver hooked up the inputs and sound plus some new gfx calls game now playable [arcadez, mahoneyt944]
* Added support for Snapper to the system16 driver and hooked up the sound and music [mahoneyt944, arcadez]
* Added and integrated a new segas16b driver to support decrypted versions of Bullet, Cotton and now Fantasy Zone II also [MistyDreams]
* Added new Sega system16 graphical drawing routines and updated the UPD7759 soundcore plus all related drivers to MAME92 as per the above [MistyDreams]
* Fixed some graphical niggles in Body Slam, Major League, Shinobi (bootleg), Tough Turf and Wrestlewar by switching them over to use the new Sega drawing routines [mahoneyt944]
* Fixed missing speech samples in Tough Turf and some broken graphics in Passing Shot 4 player bootleg making the game now playable [mahoneyt944]
* Added partial sound to Passing Shot 4 player bootleg [arcadez, mahoneyt944]
* Fixed collisions in Golden Axe (Version 2) and improved the irq timers for Body Slam [mahoneyt944]
* Added Hard Times and Power Balls to the playmark driver, no sound in Hard Times as yet [arcadez]
* Added Penky to paradise.c plus Fire Hawk and Spectrum 2000 to afega.c [arcadez]
* Added new style MAME cps2 decryption many more Capcom Play System 2 sets are now supported and more games are now playable [MistyDreams]
* Fixed some missing graphics in Beast Busters and Mechanized Attack then sorted sprite priorities on level 2 in Beast Busters [bmcphail, dink, arcadez]
* Added a new hack to fix the lights dont go out when shot in Elevator Action Returns and clones which doesn't break the gfx on the game ending [dink, arcadez]
* Fixed some serious graphical issues on the final level in Double Dragon 3 and the third level in The Combat Tribes [Pierpaolo Prazzoli, arcadez, Cibomatto2002]
* Added missing dac sounds speech and crowd cheers etc etc to Taito's Big Event Golf [arcadez]
* Fixed broken sound for the classic Williams game Inferno by backporting a sound cpu hack from later MAME [Aaron Giles, arcadez]
* Prevented The Electric Yo-Yo from hanging during the attract mode by interleaving the CPU's [MAME Dev, arcadez]
* Updated some parts of the Taito SJ code to MAME 103 vastly improving the emulation for Elevator Action, Jungle Hunt, Sea Fighter Poseidon and more [MAME Dev, arcadez]
* Fixed an issue where Space Seeker would not coin up and start due to a previous commit which added an invalid input game now playable again [arcadez]
* Stopped Space Cruiser from crashing on the asteroids level and added the dedicated button for the continue mode [MAMEDev, arcadez]
* Fixed Jungle Hunt / Jungle King / Pirate Pete from crashing on the last level [MEMEDev, arcadez]
* Sorted a gfx niggle with Mario Bros where the screen would shake incorrectly left/right rather than up/down when you hit the POW box [MAMEDEv, arcadez]
* Added support for Woodpecker to the pacman.c driver [MAMEDEv, arcadez, mahoneyt944]
* Added sound banking to the OKIM6295 in silkroad.c fixing missing Sfx and Speech in The Legend Of Silkroad [MAMEDev, arcadez]
* Added the Prom dump for Taxi Driver and hooked up the palette init fixing colours in the game [MAMEDev, arcadez]
* Improved the sound for Congo Bongo by adding new samples and reclocking the 2nd SN76496 channel to fix the drums tempo [MAMEDev, arcadez]
* Added support for Back Fire to the Tecmo driver [MAMEDev, arcadez]
* Fix broken attract mode and likely other problems with the japan sets of Undercover Cops due to incorrect speedup addresses [Bryan Mcphail, Scandy]
* Added support for a bootleg version of Sonic The Hedgehog 2 to the segac2 driver and made Lode Runner The Dig Fight default to the English World Region [MAMEDev, arcadez]
* Added Deco Cassette Type A bios fixed Highway Chase sorted colours for all games then updated some parts of the machine and video code to MAME146 [MAMEDev, arcadez]
* Added support for Angler Dangler, Manhattan, Oozumou - The Grand Sumo, Skater, and Super Doubles Tennis to the Deco Cassette driver [MAMEDev, arcadez]
* Added support for resnet dkong and dkong3 machines are hooked up atm [MistyDreams]
* Fixed Dragon Gun from locking up on the final boss and sorted an issue with the energy bar being missing also on the final boss [MAMEDev, arcadez]
* Added support for the USA version of Night Slashers to the deco32.c driver [arcadez]
* Sorted broken dip switches in Mr Do's Castle, Do! Run Run and Mr Do's Wild Ride plus fixed the sound for Indoor Soccer [MAMEDev, arcadez, SapphireDrew]
* Fixed broken sound in Hachoo and Kick Goal plus sorted some graphical priority issues for 64th. Street - A Detective Story [MAMEDev, arcadez]
* Added sprite buffering to the megasys1 driver improving the gfx for 64th. Street - A Detective Story, Avenging Spirit, Chimera Beast, Cybattler
* E.D.F. : Earth Defense Force, Hachoo, In Your Face, Legend of Makai, P-47 - The Phantom Fighter, Ninja Kazan, Plus Alpha, Rod-Land, Saint Dragon
* Shingen Samurai-Fighter, The Astyanax + more also added missing prio prom dumps for the games that did not have em already [MAMEDev, arcadez]
* Added support for Ninja Kazan the English version of Iga Ninjyutsuden and E.D.F. : Earth Defense Force (North America) to megasys1.c [arcadez]
* Fixed some serious graphical problems affecting Zero Hour wrong colours bullet width tilemaps etc etc Red Clash will also benefit from this [Hap, dink, arcadez]
* Added sound sample support for Zero Hour which was totally silent previously [dink, Otto_Pylotte, MistyDreams, arcadez]
* Added sega fd089 added all dunkshot sets and aurail sets, also added sdib,destroyer sets [mamedev backports]
* Improved mario palette we now use resnet mamedev backports]
* Fixed the official andparent romset for Free Kick and hooked up missing button 2 for Free kick. Gigas and Giga Mark II [MAMEDev, arcadez]
* Added a previously missing graphical effect for Mega Blast in taito_f2.c now when you get the green pickup the shield orb on your ship can be seen [HAZE, arcadez]
* Added support for the Tatsumi driver supporting Big Fight - Big Trouble In The Atlantic Ocean, Cycle Warriors and Round Up 5 - Super Delta Force [Mame2003 Dev Team]
* Updated the Tecmo Sys driver to MAME126 both Deroon DeroDero and Touki Denshou - Angel Eyes are now playable [Haze, Arcadez, dink]
* Hooked up the missing SN76496 sound for Special Forces and Special Forces II in the dkong.c driver both games now have Sfx and music [arcadez]
* Fixed sound popping on B-Rap Boys and some sound banking niggles with The Great Thousand Mile Rally games [Mistydreams, arcadez]
* Added support for Top Driving to the kickgoal.c driver [HAZE, arcadez]
* Added a rare Atari Prototype Gut's N' Glory to the eprom.c driver [arcadez, mahoneyt944]
* Updated the stlforce driver adding support for Mortal Race then backported some video fixes for it and Steel Force from later MAME [Mistydreams]
* Added support for Dogyuun (8/25/1992 location test) to toaplan2 this version has full sound and music [arcadez, grant2258]
* Added Photo Y2K 2 Puzzli 2 and Puzzli 2 Super to the pgm driver [arcadez, IQ_132, Haze]
* Switched Contra to use the HD6309 for the main CPU to get rid of slowdowns and fix a crash after 2nd enemy base [arcadez]
* Backported a fix from later MAME which gets rid of sprites sticking on the screen in Contra [Kale, mahoneyt944]
* Fixed sprite prios and some bullets being hidden behind the bosses in Flak Attack / MX5000 [dink, KALE, arcadez]
* Fixed missing commentary voices and correctly hooked up player 3 and 4 inputs for Rim Rockin Basketball [arcadez]
* Fixed some graphical niggles and hooked up full sound and music for IREM's Atomic Boy / Wily Tower [MAMEDev, arcadez]
* Fixed WWF Superstars bad sprites with some of Randy Macho Man Savage moves eg back suplex etc etc [MAMEDev, arcadez]
* Hacked around some game breaking protection calls in Solomon's Key which could make levels unplayable [MAMEDEv, arcadez]
* Added Maze Invaders Atari prototype to the centipede driver [MAMEDEv, arcadez]
* Fixed Dragonball Z VRVS in the system32.c driver and Fantastic Journey in the konamigx.c driver [grant2258, arcadez]
* Updated the romset for Pack N' Bang Bang to use the final released version rather than the unfinished prototype [arcadez]
* Added the English language version of Dragon Might to the konamigx.c driver [arcadez, grant2258]
* Added support for Monsters World (Bootleg Of Super Pang) to the mitchell.c driver [arcadez]
* Fixed some graphical niggles in Cannon Dancer / Osman such as some objects didn't move previously eg trucks on final level [FBN Dev, MAMEDev, arcadez]
* Added shadow support to the SSV video greatly improving the graphical effects in Storm Blade [MAMEDev, arcadez]
* Fixed graphical corruption on left side of screen stage 3 onwards in Storm Blade and all stages in Ultra X Weapons [MAMEDev, arcadez]
* Added some alt sprite drawing to the ssv video to prevent performance drops in some SSV games after the above updates [BritneysPAIRS]
* Hooked up the M6801 Protection MCU for Kiki Kai Kai fixing many gameplay issues this game can now be considered 100% in the emulation dept [arcadez]
* Updated Sega system 16/c2 gfx to support the system18 VDP gfx then added Clockwork Aquario to the system18 driver[grant2258, arcadez, mistydreams]
* Fixed DD Crew so it is now playable in this core added support for Hammer Away and fixed the sound banking for games in system18.c [grant2258, arcadez, mistydreams]
* Added screen flipping and fixed the cocktail mode for Asteroids, Asteroids Deluxe and Tempest [mahoneyt944]
* Backported a graphical fix from latest MAME to fix missing shadows in Atari's Shuuz [MAMEdev, arcadez]
* Added Donkey Kong Remix and Donkey Kong Christmas Remix hacks to dkong.c [grant2258, arcadez]
* Emulated a missing graphical effect for Wild Fang / Tecmo Knight the screen now shakes when enemies break through walls and you land after a big jump [arcadez]
* Fixed Player 2 Start Button for Namco's Tinkle Pit [MAMEDev, arcadez]
* Updated the rabbit driver to MAME88 and bootstrapped the rom loading to prevent the game from hanging, Rabbit is now playable but without sound
* as we dont have the I5000 soundcore this game would require [arcadez, mahoneyt944]
* Added missing button 3 inputs for Strike Gunner S.T.G used to combine both ships into one during a two player game [MAMEDEv, arcadez]
* Updated the protection code for Exerion to prevent the game from ending should you die at anytime after the first bonus round [MAMEDev, arcadez]
* Added a new game Top Roller to the yamato.c driver and reworked the cpu encryption making it compatable with the MAME78 codebase [grant2258, arcadez]
* Fixed some graphical niggles with Chinese Hero on level 7 [MAMEDev, arcadez]
* Improved the sound for Go Go! Mile Smile / Susume! Mile Smile by adding sound banking and reclocking the sound and CPU speeds [MAMEDev, arcadez]
* Fixed some grahical niggles throughout the game and with the cocktail mode for Orca's Sky Lancer [MAMEDev, arcadez]
* Added support for Cyborg Force to the NeoGeo driver [arcadez]
* Fixed broken sound and incorrect background graphics in Performan [MAMEDev, arcadez]
* Improved the sound for Burgler X and Zero Point by reclocking the YM3812 sound call [MAMEDev, arcadez]
* Added support for Buccaneers to vigilant.c and ThunderForce AC (Japan, prototype, bootleg) to the segac2.c drivers [MAMEDev, arcadez]
* Fixed sound clipping in Karate Champ [MAMEDev, arcadez]
* Fixed sound samples not playing in two versions of Bomber Man namely Bomber Man World (World) and New Atomic Punk - Global Quest (US) [MAMEDev, arcadez]
* Added two sets of Twin Cobra 2 to the taito_f3.c driver and the international version of Dangun Feveron namely Fever SOS to cave.c [arcadez]
* Fixed up Dark Edge and Slipstream by hooking up the inputs adding the protection then fixing the graphics and sound both games now playable [mahoneyt944, grant2258, arcadez]
* Backported segas32 video driver, interrupt controllers for v60 and sound, general cleanup and merger of multi32 and system32 drivers. [mahoneyt944]
* Backported the segaxbd driver and video code from later MAME A.B. COP, Line Of Fire, Racing Hero, Super Monaco GP
* and Thunder Blade are now fully playable [grant2258]
* Added support for Knights Chance to the NeoGeo driver [arcadez]
* Fixed dip switches for Super Pac-man added new sound roms for Pac & Pal and new graphical roms which fix bad colours in Pac-man & Chomp Chomp [MAMEDev, arcadez]
* Added the proper sprite roms for Final Lap 2 game now playable and hooked up the road colour clut proms for the Final Lap games and Suzuka 8 Hours [arcadez]
* Fixed some missing line scrolling graphical effects in Magical Cat Adventure and Nostradamus [MAMEDev, arcadez]
* Added three more Megadrive arcade bootlegs to segac2 namely Jurassic Park, Sonic 3 and Twinkle Tale [MAMEDev, arcadez, mahoneyt944]
* Improved the gfx significantly for Sega's Title Fight [mahoneyt944]
* Fixed missing and or incorrect sounds with a two player game in Title Fight [arcadez]
* Added support for a decrypted version of Passing Shot and a rare prototype of the same game called Center Court to segas16b driver [grant2258]
* Added Captain Barrel by Neobyteforce to the neogeo driver [arcadez]
* Backported some graphical fixes for SNK's Joyful Road / Munch Mobile from later MAME [arcadez]
* Added RNG protection which handles random events during boss battles improving the emulation
* for Data East's Secret Agent / Sly Spy [arcadez, Mahoneyt944]
* Improved the protection for Data East's Express Raider to prevent the game stalling on level 2 [MAMEDev, arcadez]
* Added support for Bubble Buster a unique version of Puzzle Bobble with totally different gameplay and music [arcadez, FBNDev]
* Fixed the attract mode for 64th Street, Chimera Beast, pengo, updated the pengo sets and fixed the gameover annimation for Vapor Trail [grant2258]
* Added reset playfield dip switch option in Space Wars [mahoneyt944]
* Merged pbillian.c and superqix.c updating to MAME90 which improves the emulation and sound for Prebillian and VS. Hot Smash both games now playable [arcadez, grant2258]
* Ported across from advancemame a proper fix For Risky Challenge / Gussun Oyoyo the protection is now fully cracked fixing an issuemwhere the game
could crash on the score calc between levels is sorted [amadvance, arcadez]
* Added Taito's Victorious Nine to flstory.c and hooked up the M68705 protection MCU for Taito's Field Day [arcadez]
* Added support for Gladmort to the NeoGeo driver [arcadez]
* Added Quick Shots an unprotected version of Target Hits to the targeth.c driver then updated the gfx and configured the gun sights [arcadez, grant2258]
* Added Shuihu Feng Yun Zhuan and Songjiangyanyi Final to the segac2.c driver grant2258 fixed Shuihu Feng Yun Zhuan game now playable [grant2258, arcadez]
* Supported Double Dragon One and The Eve Of The Typhoon in neogeo.c [arcadez]
* Added Double Wings (Asia) to the dblewing.c driver as unlike the original version this one doen't have checkpoints [arcadez]
* Ported across from FBL dink's fix for the broken text gfx layer in the Japanese version Of Cameltry [dink, arcadez]
* Added support for Jammin a rare Atari prototype music game to the Donkey Kong driver [arcadez]
* Added Saurian Front a super rare Williams prototype of Midway's Strike Force to the midyunit driver [arcadez]
* Added Adventure Canoe to the taitosj driver [arcadez, jackphilippi, dink]
* Added support for Ketsui: Kizuna Jigoku Tachi - IKD 2007 Special Version to pgm.c [arcadez]
+41 -7
View File
@@ -1,10 +1,12 @@
TARGET_NAME := mame2003_plus
CORE_DIR := src
INCLUDE_DRV ?= all
DEBUG ?= 0
DEBUGGER ?= 0
SPLIT_UP_LINK ?= 0
ARM ?= 0 # set to 0 or 1 to indicate ARM or not
HAVE_ARMv6 ?= 0
CPU_ARCH ?= 0 # as of November 2018 this flag doesn't seem to be used but is being set to either arm or arm64 for some platforms
LIBS ?=
@@ -179,6 +181,7 @@ else ifeq ($(platform), rpi0)
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
CPU_ARCH := arm
ARM = 1
HAVE_ARMv6 = 1
# Raspberry Pi 1
else ifeq ($(platform), rpi1)
@@ -191,6 +194,7 @@ else ifeq ($(platform), rpi1)
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
CPU_ARCH := arm
ARM = 1
HAVE_ARMv6 = 1
# Raspberry Pi 2
else ifeq ($(platform), rpi2)
@@ -203,6 +207,7 @@ else ifeq ($(platform), rpi2)
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
CPU_ARCH := arm
ARM = 1
HAVE_ARMv6 = 1
# Raspberry Pi 3
else ifeq ($(platform), rpi3)
@@ -215,6 +220,7 @@ else ifeq ($(platform), rpi3)
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
CPU_ARCH := arm
ARM = 1
HAVE_ARMv6 = 1
# Raspberry Pi 3 (AArch64)
else ifeq ($(platform), rpi3_64)
@@ -238,6 +244,7 @@ else ifeq ($(platform), rpi4)
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
CPU_ARCH := arm
ARM = 1
HAVE_ARMv6 = 1
# Raspberry Pi 4 (AArch64)
else ifeq ($(platform), rpi4_64)
@@ -270,6 +277,7 @@ else ifeq ($(platform), classic_armv7_a7)
ARCH = arm
CPU_ARCH := arm
ARM = 1
HAVE_ARMv6 = 1
ifeq ($(shell echo `$(CC) -dumpversion` "< 4.9" | bc -l), 1)
CFLAGS += -march=armv7-a
else
@@ -300,6 +308,7 @@ else ifeq ($(platform), s812)
ARCH = arm
CPU_ARCH := arm
ARM = 1
HAVE_ARMv6 = 1
# Playstation Classic
else ifeq ($(platform), classic_armv8_a35)
@@ -321,6 +330,7 @@ else ifeq ($(platform), classic_armv8_a35)
ARCH = arm
CPU_ARCH := arm
ARM = 1
HAVE_ARMv6 = 1
CFLAGS += -march=armv8-a
LDFLAGS += -static-libgcc -static-libstdc++
@@ -378,13 +388,15 @@ else ifeq ($(platform), ngc)
# Nintendo Wii
else ifeq ($(platform), wii)
TARGET = $(TARGET_NAME)_libretro_$(platform).a
TARGET = $(TARGET_NAME)_$(INCLUDE_DRV)_libretro_$(platform).a
BIGENDIAN = 1
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT)
PLATCFLAGS += -DGEKKO -mrvl -mcpu=750 -meabi -mhard-float -D__ppc__ -D__POWERPC__
PLATCFLAGS += -U__INT32_TYPE__ -U __UINT32_TYPE__ -D__INT32_TYPE__=int
PLATCFLAGS += -D$(INCLUDE_DRV) -DSPLIT_CORE
STATIC_LINKING = 1
ZLIB_UNCOMPRESS = 1
# Nintendo WiiU
else ifeq ($(platform), wiiu)
@@ -393,7 +405,7 @@ else ifeq ($(platform), wiiu)
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT)
PLATCFLAGS += -DGEKKO -DWIIU -mcpu=750 -meabi -mhard-float -D__ppc__ -D__POWERPC__
PLATCFLAGS += -U__INT32_TYPE__ -U __UINT32_TYPE__ -D__INT32_TYPE__=int
PLATCFLAGS += -ffunction-sections -fdata-sections -D__wiiu__ -D__wut__
STATIC_LINKING = 1
# Nintendo Switch (libnx)
@@ -450,6 +462,7 @@ else ifeq ($(platform), psp1)
AR = psp-ar$(EXE_EXT)
PLATCFLAGS += -DPSP
CFLAGS += -G0
CFLAGS += -Wno-incompatible-pointer-types
STATIC_LINKING = 1
# Vita
@@ -467,6 +480,7 @@ else ifeq ($(platform), vita)
CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
HAVE_RZLIB := 1
ARM = 1
HAVE_ARMv6 = 1
STATIC_LINKING := 1
USE_CYCLONE := 1
USE_DRZ80 := 1
@@ -519,11 +533,14 @@ else ifeq ($(platform), miyoo)
CC = /opt/miyoo/usr/bin/arm-linux-gcc
CXX = /opt/miyoo/usr/bin/arm-linux-g++
AR = /opt/miyoo/usr/bin/arm-linux-ar
fpic := -fPIC
fpic := -fno-PIC
LDFLAGS += -shared -Wl,--version-script=link.T -Wl,-no-undefined
PLATCFLAGS := -DNO_UNALIGNED_ACCESS
PLATCFLAGS += -fomit-frame-pointer -march=armv5te -mtune=arm926ej-s -ffast-math
CXXFLAGS += -fno-rtti -fno-exceptions
ARM = 1
USE_CYCLONE := 1
USE_DRZ80 := 1
# Emscripten
else ifeq ($(platform), emscripten)
@@ -752,7 +769,11 @@ else ifneq (,$(findstring windows_msvc2017,$(platform)))
else
TARGET := $(TARGET_NAME)_libretro.dll
CC ?= gcc
LDFLAGS += -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=link.T
LDFLAGS += -shared -static-libgcc -static-libstdc++
ifneq ($(DEBUG), 1)
LDFLAGS += -s
endif
LDFLAGS += -Wl,--version-script=link.T
CFLAGS += -D__WIN32__
endif
@@ -802,6 +823,11 @@ CFLAGS += -DHAVE_SOCKLEN_T
CFLAGS += -D_LARGEFILE_SOURCE
CFLAGS += -D_FILE_OFFSET_BITS=64
# make gcc fail like msvc does
ifeq (,$(findstring msvc,$(platform)))
CFLAGS += -Werror=vla -Werror=declaration-after-statement
endif
# Required for RZIP support in cheat.c
CFLAGS += -DHAVE_ZLIB
@@ -834,8 +860,16 @@ else
endif
endif
ifeq ($(HAVE_ARMv6),1)
CFLAGS += -DHAVE_ARMv6
endif
# include the various .mak files
include Makefile.common
ifneq (,$(filter $(INCLUDE_DRV),all))
include Makefile.common
else
include Makefile.split
endif
# build the targets in different object dirs, since mess changes
# some structures and thus they can't be linked against each other.
@@ -844,9 +878,9 @@ DEFS = $(COREDEFINES) -Dasm=__asm__
CFLAGS += $(INCFLAGS) $(INCFLAGS_PLATFORM)
# combine the various definitions to one
CDEFS = $(DEFS) $(COREDEFS) $(CPUDEFS) $(SOUNDDEFS) $(ASMDEFS) $(DBGDEFS)
CDEFS = $(DEFS) $(CPUDEFS) $(SOUNDDEFS) $(ASMDEFS) $(DBGDEFS)
OBJECTS := $(SOURCES_C:.c=.o) $(SOURCES_ASM:.s=.o)
OBJECTS := $(SOURCES_C:.c=.o) $(SOURCES_ASM:.s=.o) $(SOURCES_ASM_PP:.S=.o)
OBJOUT = -o
LINKOUT = -o
+31 -21
View File
@@ -68,6 +68,7 @@ SOURCES_C += \
$(CORE_DIR)/x86drc.c
SOURCES_C += \
$(CORE_DIR)/machine/fd1089.c \
$(CORE_DIR)/machine/6522via.c \
$(CORE_DIR)/machine/6532riot.c \
$(CORE_DIR)/machine/6821pia.c \
@@ -94,7 +95,8 @@ SOURCES_C += \
$(CORE_DIR)/vidhrdw/matrix3d.c \
$(CORE_DIR)/vidhrdw/poly.c \
$(CORE_DIR)/vidhrdw/tlc34076.c \
$(CORE_DIR)/vidhrdw/vector.c
$(CORE_DIR)/vidhrdw/vector.c \
$(CORE_DIR)/vidhrdw/resnet.c
# the core object files (without target specific objects;
# those are added in the target.mak files)
@@ -422,7 +424,6 @@ SOURCES_C += \
$(CORE_DIR)/vidhrdw/topspeed_vidhrdw.c $(CORE_DIR)/drivers/topspeed.c \
$(CORE_DIR)/machine/arkanoid_machine.c $(CORE_DIR)/vidhrdw/arkanoid_vidhrdw.c $(CORE_DIR)/drivers/arkanoid.c \
$(CORE_DIR)/vidhrdw/superqix_vidhrdw.c $(CORE_DIR)/drivers/superqix.c \
$(CORE_DIR)/vidhrdw/pbillian_vidhrdw.c $(CORE_DIR)/drivers/pbillian.c $(CORE_DIR)/sndhrdw/pbillian_sndhrdw.c \
$(CORE_DIR)/vidhrdw/exzisus_vidhrdw.c $(CORE_DIR)/drivers/exzisus.c \
$(CORE_DIR)/drivers/taito_x.c $(CORE_DIR)/machine/cchip.c \
$(CORE_DIR)/vidhrdw/minivadr_vidhrdw.c $(CORE_DIR)/drivers/minivadr.c \
@@ -479,7 +480,7 @@ SOURCES_C += \
$(CORE_DIR)/machine/kabuki.c \
$(CORE_DIR)/vidhrdw/mitchell_vidhrdw.c $(CORE_DIR)/drivers/mitchell.c \
$(CORE_DIR)/vidhrdw/cbasebal_vidhrdw.c $(CORE_DIR)/drivers/cbasebal.c \
$(CORE_DIR)/vidhrdw/cps1_vidhrdw.c $(CORE_DIR)/drivers/cps1.c $(CORE_DIR)/drivers/cps2.c \
$(CORE_DIR)/vidhrdw/cps1_vidhrdw.c $(CORE_DIR)/drivers/cps1.c $(CORE_DIR)/drivers/cps2.c $(CORE_DIR)/machine/cps2crypt.c\
$(CORE_DIR)/drivers/zn.c \
$(CORE_DIR)/vidhrdw/tms34061_vidhrdw.c \
$(CORE_DIR)/machine/capbowl_machine.c $(CORE_DIR)/vidhrdw/capbowl_vidhrdw.c $(CORE_DIR)/drivers/capbowl.c \
@@ -502,12 +503,13 @@ SOURCES_C += \
$(CORE_DIR)/vidhrdw/system1_vidhrdw.c $(CORE_DIR)/drivers/system1.c \
$(CORE_DIR)/vidhrdw/segasyse_vidhrdw.c $(CORE_DIR)/drivers/segasyse.c \
$(CORE_DIR)/machine/system16_machine.c $(CORE_DIR)/vidhrdw/system16_vidhrdw.c $(CORE_DIR)/vidhrdw/sys16spr.c \
$(CORE_DIR)/sndhrdw/system16_sndhrdw.c \
$(CORE_DIR)/drivers/system16.c $(CORE_DIR)/drivers/aburner.c $(CORE_DIR)/drivers/outrun.c \
$(CORE_DIR)/vidhrdw/segaic16.c $(CORE_DIR)/vidhrdw/segas16b.c $(CORE_DIR)/vidhrdw/segaorun.c $(CORE_DIR)/drivers/segas16b.c \
$(CORE_DIR)/sndhrdw/system16_sndhrdw.c $(CORE_DIR)/machine/segaic16.c $(CORE_DIR)/vidhrdw/segaxbd.c\
$(CORE_DIR)/drivers/system16.c $(CORE_DIR)/drivers/aburner.c $(CORE_DIR)/drivers/outrun.c $(CORE_DIR)/drivers/segaxbd.c \
$(CORE_DIR)/drivers/sharrier.c $(CORE_DIR)/drivers/system18.c \
$(CORE_DIR)/drivers/system24.c $(CORE_DIR)/machine/system24_machine.c $(CORE_DIR)/vidhrdw/system24_vidhrdw.c \
$(CORE_DIR)/vidhrdw/segaic24.c \
$(CORE_DIR)/drivers/system32.c $(CORE_DIR)/drivers/multi32.c $(CORE_DIR)/vidhrdw/system32_vidhrdw.c \
$(CORE_DIR)/vidhrdw/segaic24.c $(CORE_DIR)/vidhrdw/segas18.c \
$(CORE_DIR)/drivers/segas32.c $(CORE_DIR)/machine/segas32.c $(CORE_DIR)/vidhrdw/segas32.c \
$(CORE_DIR)/vidhrdw/segac2_vidhrdw.c $(CORE_DIR)/drivers/segac2.c \
$(CORE_DIR)/drivers/stv.c $(CORE_DIR)/drivers/stvhacks.c $(CORE_DIR)/machine/stvcd.c \
$(CORE_DIR)/machine/scudsp.c \
@@ -1042,7 +1044,8 @@ SOURCES_C += \
$(CORE_DIR)/machine/model1_machine.c $(CORE_DIR)/vidhrdw/model1_vidhrdw.c $(CORE_DIR)/drivers/model1.c \
$(CORE_DIR)/drivers/calorie.c \
$(CORE_DIR)/machine/mc8123.c \
$(CORE_DIR)/machine/namcoio_machine.c
$(CORE_DIR)/machine/namcoio_machine.c \
$(CORE_DIR)/drivers/tatsumi.c $(CORE_DIR)/vidhrdw/tatsumi.c $(CORE_DIR)/machine/tatsumi.c
@@ -2673,6 +2676,19 @@ SOURCES_C += \
$(CORE_DIR)/libretro-deps/libFLAC/stream_decoder.c \
$(CORE_DIR)/libretro-deps/libFLAC/window.c
SOURCES_C += \
$(CORE_DIR)/lib/zlib/adler32.c \
$(CORE_DIR)/lib/zlib/crc32.c \
$(CORE_DIR)/lib/zlib/deflate.c \
$(CORE_DIR)/lib/zlib/inffast.c \
$(CORE_DIR)/lib/zlib/inflate.c \
$(CORE_DIR)/lib/zlib/inftrees.c \
$(CORE_DIR)/lib/zlib/ioapi.c \
$(CORE_DIR)/lib/zlib/trees.c \
$(CORE_DIR)/lib/zlib/uncompr.c \
$(CORE_DIR)/lib/zlib/unzip.c \
$(CORE_DIR)/lib/zlib/zutil.c
ifeq ($(STATIC_LINKING),1)
else
SOURCES_C += \
@@ -2697,23 +2713,17 @@ SOURCES_C += \
$(LIBRETRO_COMM_DIR)/string/stdstring.c \
$(LIBRETRO_COMM_DIR)/utils/md5.c \
$(LIBRETRO_COMM_DIR)/vfs/vfs_implementation.c \
$(LIBRETRO_COMM_DIR)/time/rtime.c \
$(CORE_DIR)/lib/zlib/adler32.c \
$(CORE_DIR)/lib/zlib/crc32.c \
$(CORE_DIR)/lib/zlib/deflate.c \
$(CORE_DIR)/lib/zlib/inffast.c \
$(CORE_DIR)/lib/zlib/inflate.c \
$(CORE_DIR)/lib/zlib/inftrees.c \
$(CORE_DIR)/lib/zlib/ioapi.c \
$(CORE_DIR)/lib/zlib/trees.c \
$(CORE_DIR)/lib/zlib/uncompr.c \
$(CORE_DIR)/lib/zlib/unzip.c \
$(CORE_DIR)/lib/zlib/zutil.c
$(LIBRETRO_COMM_DIR)/time/rtime.c
endif
ifeq ($(ZLIB_UNCOMPRESS), 1)
SOURCES_C += \
$(CORE_DIR)/lib/zlib/uncompr.c
endif
ifeq ($(USE_CYCLONE), 1)
CPUDEFS += -DHAS_CYCLONE=1
SOURCES_ASM += $(CORE_DIR)/cpu/m68000_cyclone/cyclone.s
SOURCES_ASM_PP += $(CORE_DIR)/cpu/m68000_cyclone/cyclone.S
SOURCES_C += $(CORE_DIR)/cpu/m68000_cyclone/c68000.c
endif
+2712
View File
File diff suppressed because it is too large. Load diff
+3 -2
View File
@@ -5,7 +5,7 @@ CORE_DIR := $(ROOT_DIR)/src
include $(ROOT_DIR)/Makefile.common
COREFLAGS := $(DEFS) $(COREDEFS) $(CPUDEFS) $(SOUNDDEFS) $(ASMDEFS) $(DBGDEFS) -ffast-math -funroll-loops -DANDROID -DHAVE_ZLIB $(INCFLAGS)
COREFLAGS := $(DEFS) $(COREDEFINES) $(CPUDEFS) $(SOUNDDEFS) $(ASMDEFS) $(DBGDEFS) -ffast-math -funroll-loops -DANDROID -DHAVE_ZLIB $(INCFLAGS)
GIT_VERSION := " $(shell git rev-parse --short HEAD || echo unknown)"
ifneq ($(GIT_VERSION)," unknown")
@@ -16,7 +16,8 @@ include $(CLEAR_VARS)
LOCAL_MODULE := retro
LOCAL_SRC_FILES := $(SOURCES_C)
LOCAL_CFLAGS := -std=gnu90 $(COREFLAGS) -fsigned-char
LOCAL_LDFLAGS := -Wl,-version-script=$(ROOT_DIR)/link.T
LOCAL_LDFLAGS := -Wl,-version-script=$(ROOT_DIR)/link.T,-z,max-page-size=16384
LOCAL_SHORT_COMMANDS := true
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
LOCAL_ARM_NEON := true
+5295 -5045
View File
File diff suppressed because it is too large. Load diff
+534 -40
View File
@@ -49262,34 +49262,532 @@ kingofb:0:C061:FF:070:Select Player's hits
kingofb:0:C021:FF:070:Select Computer's hits
; [ Killer Instinct (v1.0) ]
kinst:0:880884F8:46:000:Infinite Time
kinst:0:880884F9:09:500:Infinite Time (2/3)
kinst:0:880884FA:09:500:Infinite Time (3/3)
kinst:0:8808BC55:78:000:Infinite Energy PL1
kinst:0:8808BC54:00:500:Infinite Energy PL1 (2/2)
:kinst:62000000:0000000:00000000:00000000:Volume Control - After adjusting volume, turn this option off to resume game
:kinst:00010000:8808F3E4:00000001:FFFFFFFF:Volume Control
:kinst:62000000:0000000:00000000:00000000:Select Attack Speed PL1
:kinst:00010000:8808BC4F:00000000:FFFFFFFF:Default
:kinst:00010000:8808BC4F:00000001:FFFFFFFF:Xtreme
:kinst:00010000:8808BC4F:00000002:FFFFFFFF:Amped
:kinst:00010000:8808BC4F:00000003:FFFFFFFF:Turbo
:kinst:00010000:8808BC4F:00000004:FFFFFFFF:Ultra
:kinst:00010000:8808BC4F:00000005:FFFFFFFF:Blitz
:kinst:00010000:8808BC4F:00000006:FFFFFFFF:Insano
:kinst:00010000:8808BC4F:00000007:FFFFFFFF:Jedi
:kinst:00010000:8808BC4F:00000008:FFFFFFFF:Maverick
:kinst:00010000:8808BC4F:00000009:FFFFFFFF:Warp Speed
:kinst:00010000:8808BC4F:00000010:FFFFFFFF:Ludicrous
:kinst:00010000:8808BC4F:00000011:FFFFFFFF:Teleportation
:kinst:62000000:0000000:00000000:00000000:Select Movement Speed PL1
:kinst:00010000:8808BC4D:00000000:FFFFFFFF:Default
:kinst:00010000:8808BC4D:00000001:FFFFFFFF:Xtreme
:kinst:00010000:8808BC4D:00000002:FFFFFFFF:Amped
:kinst:00010000:8808BC4D:00000003:FFFFFFFF:Turbo
:kinst:00010000:8808BC4D:00000004:FFFFFFFF:Ultra
:kinst:00010000:8808BC4D:00000005:FFFFFFFF:Blitz
:kinst:00010000:8808BC4D:00000006:FFFFFFFF:Insano
:kinst:00010000:8808BC4D:00000007:FFFFFFFF:Jedi
:kinst:00010000:8808BC4D:00000008:FFFFFFFF:Maverick
:kinst:00010000:8808BC4D:00000009:FFFFFFFF:Warp Speed
:kinst:00010000:8808BC4D:00000010:FFFFFFFF:Ludicrous
:kinst:00010000:8808BC4D:00000011:FFFFFFFF:Teleportation
:kinst:62000000:0000000:00000000:00000000:Select Character Size PL1
:kinst:00010000:8808BC71:00000001:FFFFFFFF:Mouse
:kinst:00010000:8808BC71:00000002:FFFFFFFF:Rat
:kinst:00010000:8808BC71:00000003:FFFFFFFF:Kitten
:kinst:00010000:8808BC71:00000004:FFFFFFFF:Puppy
:kinst:00010000:8808BC71:00000005:FFFFFFFF:Cat
:kinst:00010000:8808BC71:00000006:FFFFFFFF:Chicken
:kinst:00010000:8808BC71:00000007:FFFFFFFF:Raccoon
:kinst:00010000:8808BC71:00000008:FFFFFFFF:Dog
:kinst:00010000:8808BC71:00000009:FFFFFFFF:Pig
:kinst:00010000:8808BC71:00000010:FFFFFFFF:Raptor
:kinst:00010000:8808BC71:00000011:FFFFFFFF:Lion
:kinst:00010000:8808BC71:00000012:FFFFFFFF:Tiger
:kinst:00010000:8808BC71:00000013:FFFFFFFF:Bear
:kinst:00010000:8808BC71:00000014:FFFFFFFF:Shark
:kinst:00010000:8808BC71:00000015:FFFFFFFF:Rhino
:kinst:00010000:8808BC71:00000016:FFFFFFFF:Hulk
:kinst:00010000:8808BC71:00000017:FFFFFFFF:T-Rex
:kinst:00010000:8808BC71:00000018:FFFFFFFF:Whale
:kinst:00010000:8808BC71:00000019:FFFFFFFF:Kong
:kinst:00010000:8808BC71:00000020:FFFFFFFF:Kaiju
:kinst:00000000:8808BC95:00000009:FFFFFFFF:Shadow Character PL1
:kinst:00000000:8808BCBB:00000006:FFFFFFFF:Maximum Combo Breaker PL1
:kinst:62000000:0000000:00000000:00000000:Select Attack Speed PL2
:kinst:00010000:8808BD4F:00000000:FFFFFFFF:Default
:kinst:00010000:8808BD4F:00000001:FFFFFFFF:Xtreme
:kinst:00010000:8808BD4F:00000002:FFFFFFFF:Amped
:kinst:00010000:8808BD4F:00000003:FFFFFFFF:Turbo
:kinst:00010000:8808BD4F:00000004:FFFFFFFF:Ultra
:kinst:00010000:8808BD4F:00000005:FFFFFFFF:Blitz
:kinst:00010000:8808BD4F:00000006:FFFFFFFF:Insano
:kinst:00010000:8808BD4F:00000007:FFFFFFFF:Jedi
:kinst:00010000:8808BD4F:00000008:FFFFFFFF:Maverick
:kinst:00010000:8808BD4F:00000009:FFFFFFFF:Warp Speed
:kinst:00010000:8808BD4F:00000010:FFFFFFFF:Ludicrous
:kinst:00010000:8808BD4F:00000011:FFFFFFFF:Teleportation
:kinst:62000000:0000000:00000000:00000000:Select Movement Speed PL2
:kinst:00010000:8808BD4D:00000000:FFFFFFFF:Default
:kinst:00010000:8808BD4D:00000001:FFFFFFFF:Xtreme
:kinst:00010000:8808BD4D:00000002:FFFFFFFF:Amped
:kinst:00010000:8808BD4D:00000003:FFFFFFFF:Turbo
:kinst:00010000:8808BD4D:00000004:FFFFFFFF:Ultra
:kinst:00010000:8808BD4D:00000005:FFFFFFFF:Insano
:kinst:00010000:8808BD4D:00000006:FFFFFFFF:Blitz
:kinst:00010000:8808BD4D:00000007:FFFFFFFF:Jedi
:kinst:00010000:8808BD4D:00000008:FFFFFFFF:Maverick
:kinst:00010000:8808BD4D:00000009:FFFFFFFF:Warp Speed
:kinst:00010000:8808BD4D:00000010:FFFFFFFF:Ludicrous
:kinst:00010000:8808BD4D:00000011:FFFFFFFF:Teleportation
:kinst:62000000:0000000:00000000:00000000:Select Character Size PL2
:kinst:00010000:8808BD71:00000001:FFFFFFFF:Mouse
:kinst:00010000:8808BD71:00000002:FFFFFFFF:Rat
:kinst:00010000:8808BD71:00000003:FFFFFFFF:Kitten
:kinst:00010000:8808BD71:00000004:FFFFFFFF:Puppy
:kinst:00010000:8808BD71:00000005:FFFFFFFF:Cat
:kinst:00010000:8808BD71:00000006:FFFFFFFF:Chicken
:kinst:00010000:8808BD71:00000007:FFFFFFFF:Raccoon
:kinst:00010000:8808BD71:00000008:FFFFFFFF:Dog
:kinst:00010000:8808BD71:00000009:FFFFFFFF:Pig
:kinst:00010000:8808BD71:00000010:FFFFFFFF:Raptor
:kinst:00010000:8808BD71:00000011:FFFFFFFF:Lion
:kinst:00010000:8808BD71:00000012:FFFFFFFF:Tiger
:kinst:00010000:8808BD71:00000013:FFFFFFFF:Bear
:kinst:00010000:8808BD71:00000014:FFFFFFFF:Shark
:kinst:00010000:8808BD71:00000015:FFFFFFFF:Rhino
:kinst:00010000:8808BD71:00000016:FFFFFFFF:Hulk
:kinst:00010000:8808BD71:00000017:FFFFFFFF:T-Rex
:kinst:00010000:8808BD71:00000018:FFFFFFFF:Whale
:kinst:00010000:8808BD71:00000019:FFFFFFFF:Kong
:kinst:00010000:8808BD71:00000020:FFFFFFFF:Kaiju
:kinst:00000000:8808BD95:00000009:FFFFFFFF:Shadow Character PL2
:kinst:00000000:8808BDBB:00000006:FFFFFFFF:Maximum Combo Breaker PL2
:kinst:60000000:0000000:00000000:00000000:-= COMBOS - use with the appropriate character =-
:kinst:00000001:8808BCBF:0000005E:FFFFFFFF:Jago Ultra Now! PL1
:kinst:00000001:8808BCBF:00000070:FFFFFFFF:Jago No Mercy 1 Now! PL1
:kinst:00000001:8808BCBF:0000005C:FFFFFFFF:Jago No Mercy 2 Now! PL1
:kinst:00000001:8808BCBF:00000063:FFFFFFFF:Jago Humiliation Now! PL1
:kinst:00000001:8808BCBF:0000005F:FFFFFFFF:Jago Combo Breaker Now! PL1
:kinst:00000001:8808BCBF:00000049:FFFFFFFF:TJ Combo Ultra Now! PL1
:kinst:00000001:8808BCBF:0000004C:FFFFFFFF:TJ Combo No Mercy 1 Now! PL1
:kinst:00000001:8808BCBF:00000051:FFFFFFFF:TJ Combo No Mercy 2 Now! PL1
:kinst:00000001:8808BCBF:00000050:FFFFFFFF:TJ Combo Humiliation Now! PL1
:kinst:00000001:8808BCBF:00000045:FFFFFFFF:TJ Combo Breaker Now! PL1
:kinst:00000001:8808BCBF:00000062:FFFFFFFF:Spinal Ultra Now! PL1
:kinst:00000001:8808BCBF:0000005E:FFFFFFFF:Spinal No Mercy 1 Now! PL1
:kinst:00000001:8808BCBF:00000061:FFFFFFFF:Spinal No Mercy 2 Now! PL1
:kinst:00000001:8808BCBF:00000070:FFFFFFFF:Spinal Humiliation Now! PL1
:kinst:00000001:8808BCBF:0000005C:FFFFFFFF:Spinal Combo Breaker Now! PL1
:kinst:00000001:8808BCBF:0000005D:FFFFFFFF:Chief Thunder Ultra Now! PL1
:kinst:00000001:8808BCBF:00000060:FFFFFFFF:Chief Thunder No Mercy 1 Now! PL1
:kinst:00000001:8808BCBF:00000063:FFFFFFFF:Chief Thunder No Mercy 2 Now! PL1
:kinst:00000001:8808BCBF:00000068:FFFFFFFF:Chief Thunder No Mercy 3 Now! PL1
:kinst:00000001:8808BCBF:00000067:FFFFFFFF:Chief Thunder Humiliation Now! PL1
:kinst:00000001:8808BCBF:0000002D:FFFFFFFF:Chief THunder Combo Breaker Now! PL1
:kinst:00000001:8808BCBF:0000004E:FFFFFFFF:Glacius Ultra Now! PL1
:kinst:00000001:8808BCBF:0000005C:FFFFFFFF:Glacius No Mercy 1 Now! PL1
:kinst:00000001:8808BCBF:00000051:FFFFFFFF:Glacius No Mercy 2 Now! PL1
:kinst:00000001:8808BCBF:0000004F:FFFFFFFF:Glacius No Mercy 3 Now! PL1
:kinst:00000001:8808BCBF:0000005B:FFFFFFFF:Glacius Humiliation Now! PL1
:kinst:00000001:8808BCBF:0000004C:FFFFFFFF:Glacius Combo Breaker Now! PL1
:kinst:00000001:8808BCBF:0000005E:FFFFFFFF:Fulgore Ultra Now! PL1
:kinst:00000001:8808BCBF:00000062:FFFFFFFF:Fulgore No Mercy 1 Now! PL1
:kinst:00000001:8808BCBF:00000057:FFFFFFFF:Fulgore No Mercy 2 Now! PL1
:kinst:00000001:8808BCBF:00000066:FFFFFFFF:Fulgore Humiliation Now! PL1
:kinst:00000001:8808BCBF:0000005D:FFFFFFFF:Fulgore Combo Breaker Now! PL1
:kinst:00000001:8808BCBF:00000015:FFFFFFFF:Cinder Ultra Now! PL1
:kinst:00000001:8808BCBF:0000004F:FFFFFFFF:Cinder No Mercy 1 Now! PL1
:kinst:00000001:8808BCBF:0000004C:FFFFFFFF:Cinder No Mercy 2 Now! PL1
:kinst:00000001:8808BCBF:00000058:FFFFFFFF:Cinder Humiliation Now! PL1
:kinst:00000001:8808BCBF:0000004A:FFFFFFFF:Cinder Combo Breaker Now! PL1
:kinst:00000001:8808BCBF:00000041:FFFFFFFF:Sabre Wulf Ultra Now! PL1
:kinst:00000001:8808BCBF:00000053:FFFFFFFF:Sabre Wulf No Mercy 1 Now! PL1
:kinst:00000001:8808BCBF:00000047:FFFFFFFF:Sabre Wulf No Mercy 2 Now! PL1
:kinst:00000001:8808BCBF:00000052:FFFFFFFF:Sabre Wulf Humiliation Now! PL1
:kinst:00000001:8808BCBF:00000043:FFFFFFFF:Sabre Wulf Combo Breaker Now! PL1
:kinst:00000001:8808BCBF:0000004E:FFFFFFFF:Orchid Ultra Now! PL1
:kinst:00000001:8808BCBF:00000051:FFFFFFFF:Orchid No Mercy 1 Now! PL1
:kinst:00000001:8808BCBF:00000061:FFFFFFFF:Orchid No Mercy 2 Now! PL1
:kinst:00000001:8808BCBF:00000054:FFFFFFFF:Orchid No Mercy 3 Now! PL1
:kinst:00000001:8808BCBF:0000005E:FFFFFFFF:Orchid Humiliation Now! PL1
:kinst:00000001:8808BCBF:0000004C:FFFFFFFF:Orchid Combo Breaker Now! PL1
:kinst:00000001:8808BCBF:00000049:FFFFFFFF:Riptor Ultra Now! PL1
:kinst:00000001:8808BCBF:00000052:FFFFFFFF:Riptor No Mercy 1 Now! PL1
:kinst:00000001:8808BCBF:00000055:FFFFFFFF:Riptor No Mercy 2 Now! PL1
:kinst:00000001:8808BCBF:0000005C:FFFFFFFF:Riptor No Mercy 3 Now! PL1
:kinst:00000001:8808BCBF:00000064:FFFFFFFF:Riptor Humiliation Now! PL1
:kinst:00000001:8808BCBF:00000050:FFFFFFFF:Riptor Combo Breaker Now! PL1
:kinst:60000000:0000000:00000000:00000000:-= COMBOS - use with the appropriate character =-:These are suitable for massive downsizing in the new xml cheat format
:kinst:00000001:8808BDBF:0000005E:FFFFFFFF:Jago Ultra Now! PL2
:kinst:00000001:8808BDBF:00000070:FFFFFFFF:Jago No Mercy 1 Now! PL2
:kinst:00000001:8808BDBF:0000005C:FFFFFFFF:Jago No Mercy 2 Now! PL2
:kinst:00000001:8808BDBF:00000063:FFFFFFFF:Jago Humiliation Now! PL2
:kinst:00000001:8808BDBF:0000005F:FFFFFFFF:Jago Combo Breaker Now! PL2
:kinst:00000001:8808BDBF:00000049:FFFFFFFF:TJ Combo Ultra Now! PL2
:kinst:00000001:8808BDBF:0000004C:FFFFFFFF:TJ Combo No Mercy 1 Now! PL2
:kinst:00000001:8808BDBF:00000051:FFFFFFFF:TJ Combo No Mercy 2 Now! PL2
:kinst:00000001:8808BDBF:00000050:FFFFFFFF:TJ Combo Humiliation Now! PL2
:kinst:00000001:8808BDBF:00000045:FFFFFFFF:TJ Combo Breaker Now! PL2
:kinst:00000001:8808BDBF:00000062:FFFFFFFF:Spinal Ultra Now! PL2
:kinst:00000001:8808BDBF:0000005E:FFFFFFFF:Spinal No Mercy 1 Now! PL2
:kinst:00000001:8808BDBF:00000061:FFFFFFFF:Spinal No Mercy 2 Now! PL2
:kinst:00000001:8808BDBF:00000070:FFFFFFFF:Spinal Humiliation Now! PL2
:kinst:00000001:8808BDBF:0000005C:FFFFFFFF:Spinal Combo Breaker Now! PL2
:kinst:00000001:8808BDBF:0000005D:FFFFFFFF:Chief Thunder Ultra Now! PL2
:kinst:00000001:8808BDBF:00000060:FFFFFFFF:Chief Thunder No Mercy 1 Now! PL2
:kinst:00000001:8808BDBF:00000063:FFFFFFFF:Chief Thunder No Mercy 2 Now! PL2
:kinst:00000001:8808BDBF:00000068:FFFFFFFF:Chief Thunder No Mercy 3 Now! PL2
:kinst:00000001:8808BDBF:00000067:FFFFFFFF:Chief Thunder Humiliation Now! PL2
:kinst:00000001:8808BDBF:0000002D:FFFFFFFF:Chief Thunder Combo Breaker Now! PL2
:kinst:00000001:8808BDBF:0000004E:FFFFFFFF:Glacius Ultra Now! PL2
:kinst:00000001:8808BDBF:0000005C:FFFFFFFF:Glacius No Mercy 1 Now! PL2
:kinst:00000001:8808BDBF:00000051:FFFFFFFF:Glacius No Mercy 2 Now! PL2
:kinst:00000001:8808BDBF:0000004F:FFFFFFFF:Glacius No Mercy 3 Now! PL2
:kinst:00000001:8808BDBF:0000005B:FFFFFFFF:Glacius Humiliation Now! PL2
:kinst:00000001:8808BDBF:0000004C:FFFFFFFF:Glacius Combo Breaker Now! PL2
:kinst:00000001:8808BDBF:0000005E:FFFFFFFF:Fulgore Ultra Now! PL2
:kinst:00000001:8808BDBF:00000062:FFFFFFFF:Fulgore No Mercy 1 Now! PL2
:kinst:00000001:8808BDBF:00000057:FFFFFFFF:Fulgore No Mercy 2 Now! PL2
:kinst:00000001:8808BDBF:00000066:FFFFFFFF:Fulgore Humiliation Now! PL2
:kinst:00000001:8808BDBF:0000005D:FFFFFFFF:Fulgore Combo Breaker Now! PL2
:kinst:00000001:8808BDBF:00000015:FFFFFFFF:Cinder Ultra Now! PL2
:kinst:00000001:8808BDBF:0000004F:FFFFFFFF:Cinder No Mercy 1 Now! PL2
:kinst:00000001:8808BDBF:0000004C:FFFFFFFF:Cinder No Mercy 2 Now! PL2
:kinst:00000001:8808BDBF:00000058:FFFFFFFF:Cinder Humiliation Now! PL2
:kinst:00000001:8808BDBF:0000004A:FFFFFFFF:Cinder Combo Breaker Now! PL2
:kinst:00000001:8808BDBF:00000041:FFFFFFFF:Sabre Wulf Ultra Now! PL2
:kinst:00000001:8808BDBF:00000053:FFFFFFFF:Sabre Wulf No Mercy 1 Now! PL2
:kinst:00000001:8808BDBF:00000047:FFFFFFFF:Sabre Wulf No Mercy 2 Now! PL2
:kinst:00000001:8808BDBF:00000052:FFFFFFFF:Sabre Wulf Humiliation Now! PL2
:kinst:00000001:8808BDBF:00000043:FFFFFFFF:Sabre Wulf Combo Breaker Now! PL2
:kinst:00000001:8808BDBF:0000004E:FFFFFFFF:Orchid Ultra Now! PL1
:kinst:00000001:8808BDBF:00000051:FFFFFFFF:Orchid No Mercy 1 Now! PL2
:kinst:00000001:8808BDBF:00000061:FFFFFFFF:Orchid No Mercy 2 Now! PL2
:kinst:00000001:8808BDBF:00000054:FFFFFFFF:Orchid No Mercy 3 Now! PL2
:kinst:00000001:8808BDBF:0000005E:FFFFFFFF:Orchid Humiliation Now! PL2
:kinst:00000001:8808BDBF:0000004C:FFFFFFFF:Orchid Combo Breaker Now! PL2
:kinst:00000001:8808BDBF:00000049:FFFFFFFF:Riptor Ultra Now! PL2
:kinst:00000001:8808BDBF:00000052:FFFFFFFF:Riptor No Mercy 1 Now! PL2
:kinst:00000001:8808BDBF:00000055:FFFFFFFF:Riptor No Mercy 2 Now! PL2
:kinst:00000001:8808BDBF:0000005C:FFFFFFFF:Riptor No Mercy 3 Now! PL2
:kinst:00000001:8808BDBF:00000064:FFFFFFFF:Riptor Humiliation Now! PL2
:kinst:00000001:8808BDBF:00000050:FFFFFFFF:Riptor Combo Breaker Now! PL2
:kinst:62000000:0000000:00000000:00000000:Select Earthquake Mode
:kinst:00010000:80884E8:00000001:FFFFFFFF:Enabled
:kinst:00010000:80884E8:00000000:FFFFFFFF:Disabled
:kinst:62000000:0000000:00000000:00000000:Select Player to Win Instantly:Use before round starts
:kinst:00010000:8088522:00000001:FFFFFFFF:PL1
:kinst:00010000:8088522:00000002:FFFFFFFF:PL2
kinst:0:8808BC55:00:001:Drain All Energy Now! PL1:You may need to use this cheat again if they recharge their energy and stand back up!
kinst:0:8808BC54:00:501:Drain All Energy Now! PL1 (2/2)
kinst:0:8808F304:0A:000:Always play as Eyedol PL1
kinst:0:8808BD55:78:000:Infinite Energy PL2
kinst:0:8808BD54:00:500:Infinite Energy PL2 (2/2)
kinst:0:8808BD55:00:001:Drain All Energy Now! PL2:You may need to use this cheat again if they recharge their energy and stand back up!
kinst:0:8808BD54:00:501:Drain All Energy Now! PL2 (2/2)
kinst:0:8808F36C:0A:000:Always play as Eyedol PL2
:kinst:62000000:0000000:00000000:00000000:Select Fighter Tower Opponent Position
:kinst:00010000:8808F3D4:00000000:FFFFFFFF:0
:kinst:00010000:8808F3D4:00000001:FFFFFFFF:1
:kinst:00010000:8808F3D4:00000002:FFFFFFFF:2
:kinst:00010000:8808F3D4:00000003:FFFFFFFF:3
:kinst:00010000:8808F3D4:00000004:FFFFFFFF:4
:kinst:00010000:8808F3D4:00000005:FFFFFFFF:5
:kinst:00010000:8808F3D4:00000006:FFFFFFFF:6
:kinst:00010000:8808F3D4:00000007:FFFFFFFF:7
:kinst:00010000:8808F3D4:00000008:FFFFFFFF:8
:kinst:00010000:8808F3D4:00000009:FFFFFFFF:9
:kinst:00010000:8808F3D4:0000000A:FFFFFFFF:10
:kinst:00000000:808F3E8:00000063:FFFFFFFF:Infinite Credits
:kinst:00200000:80884F8:00090946:FFFFFFFF:Infinite Time
:kinst:60000000:0000000:00000000:00000000:
:kinst:00100000:8808BC54:00007800:FFFFFFFF:Infinite Energy PL1
:kinst:60000000:0000000:00000000:00000000:
:kinst:00100000:8808BD54:00007800:FFFFFFFF:Infinite Energy PL2
; [ Killer Instinct 2 (v2.1) ]
kinst2:0:887F7A10:46:000:Infinite Time
kinst2:0:887F7A11:09:500:Infinite Time (2/3)
kinst2:0:887F7A12:09:500:Infinite Time (2/3)
kinst2:0:887FC105:78:000:Infinite Energy PL1
kinst2:0:887FC106:00:500:Infinite Energy PL1 (2/2)
kinst2:0:887FC105:00:001:Drain All Energy Now! PL1
kinst2:0:887FC106:00:501:Drain All Energy Now! PL1 (2/2)
:kinst2:00100000:887FF150:0000FF20:FFFFFFFF:Always play as Gargos PL1:Use on the character select screen
kinst2:0:887FC205:78:000:Infinite Energy PL2
kinst2:0:887FC206:00:500:Infinite Energy PL2 (2/2)
kinst2:0:887FC205:00:001:Drain All Energy Now! PL2
kinst2:0:887FC206:00:501:Drain All Energy Now! PL2 (2/2)
:kinst2:00100000:887FF280:0000FF20:FFFFFFFF:Always play as Gargos PL2:Use on the character select screen
:kinst2:00200000:887F7A10:00090946:FFFFFFFF:Infinite Time
:kinst2:00200001:887F7A10:00000002:FFFFFFFF:Finish this Round Now!
:kinst2:00100001:887FC105:00000000:FFFFFFFF:Drain All Energy Now! PL1
:kinst2:00100000:887FBEB4:0000C0C0:FFFFFFFF:Infinite Power PL1
:kinst2:62000000:0000000:00000000:00000000:Select Character PL1:Use on or before the character select screen
:kinst2:00110000:887FF150:00000000:FFFFFFFF:Jago
:kinst2:00110000:887FF150:0000FFE0:FFFFFFFF:Glacius
:kinst2:00110000:887FF150:0000FFC0:FFFFFFFF:Tusk
:kinst2:00110000:887FF150:0000FFA0:FFFFFFFF:Spinal
:kinst2:00110000:887FF150:0000FF80:FFFFFFFF:Kim Wu
:kinst2:00110000:887FF150:0000FF60:FFFFFFFF:Sabrewulf
:kinst2:00110000:887FF150:0000FF40:FFFFFFFF:Maya
:kinst2:00110000:887FF150:00000060:FFFFFFFF:Fulgore
:kinst2:00110000:887FF150:00000040:FFFFFFFF:Combo
:kinst2:00110000:887FF150:00000020:FFFFFFFF:Orchid
:kinst2:00110000:887FF150:0000FF20:FFFFFFFF:#Gargos#
:kinst2:62000000:0000000:00000000:00000000:Select Moveset PL1
:kinst2:00010000:887FC157:00000000:FFFFFFFF:Jago
:kinst2:00010000:887FC157:00000001:FFFFFFFF:TJ Combo
:kinst2:00010000:887FC157:00000002:FFFFFFFF:Spinal
:kinst2:00010000:887FC157:00000003:FFFFFFFF:Tusk
:kinst2:00010000:887FC157:00000004:FFFFFFFF:Glacius
:kinst2:00010000:887FC157:00000005:FFFFFFFF:Fulgore
:kinst2:00010000:887FC157:00000006:FFFFFFFF:Kim Wu
:kinst2:00010000:887FC157:00000007:FFFFFFFF:Sabre Wulf
:kinst2:00010000:887FC157:00000008:FFFFFFFF:Orchid
:kinst2:00010000:887FC157:00000009:FFFFFFFF:Maya
:kinst2:00010000:887FC157:0000000A:FFFFFFFF:Gargos
:kinst2:62000000:0000000:00000000:00000000:Select Shadow Character PL1
:kinst2:00010000:887FC145:00000000:FFFFFFFF:Jago
:kinst2:00010000:887FC145:00000001:FFFFFFFF:TJ Combo
:kinst2:00010000:887FC145:00000002:FFFFFFFF:Spinal
:kinst2:00010000:887FC145:00000003:FFFFFFFF:Tusk
:kinst2:00010000:887FC145:00000004:FFFFFFFF:Glacius
:kinst2:00010000:887FC145:00000005:FFFFFFFF:Fulgore
:kinst2:00010000:887FC145:00000006:FFFFFFFF:Kim Wu
:kinst2:00010000:887FC145:00000007:FFFFFFFF:Sabre Wulf
:kinst2:00010000:887FC145:00000008:FFFFFFFF:Orchid
:kinst2:00010000:887FC145:00000009:FFFFFFFF:Maya
:kinst2:00010000:887FC145:0000000A:FFFFFFFF:Gargos
:kinst2:60000000:0000000:00000000:00000000:-= COMBOS - use with the appropriate character =-:These are suitable for massive downsizing in the new xml cheat format
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:Jago Ultra Now! PL1
:kinst2:00000001:887FC16F:00000057:FFFFFFFF:Jago No Mercy 1 Now! PL1
:kinst2:00000001:887FC16F:00000086:FFFFFFFF:Jago No Mercy 2 Now! PL1
:kinst2:00000001:887FC16F:00000094:FFFFFFFF:Jago Mini Ultra Now! PL1
:kinst2:00000001:887FC16F:00000054:FFFFFFFF:Jago Combo Breaker Now! PL1
:kinst2:00000001:887FC16F:00000047:FFFFFFFF:TJ Combo Ultra Now! PL1
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:TJ Combo No Mercy 1 Now! PL1
:kinst2:00000001:887FC16F:0000006D:FFFFFFFF:TJ Combo No Mercy 2 Now! PL1
:kinst2:00000001:887FC16F:00000049:FFFFFFFF:TJ Combo Mini Ultra Now! PL1
:kinst2:00000001:887FC16F:00000062:FFFFFFFF:TJ Combo Combo Breaker Now! PL1
:kinst2:00000001:887FC16F:00000062:FFFFFFFF:Spinal Ultra Now! PL1
:kinst2:00000001:887FC16F:00000078:FFFFFFFF:Spinal No Mercy 1 Now! PL1
:kinst2:00000001:887FC16F:0000007B:FFFFFFFF:Spinal No Mercy 2 Now! PL1
:kinst2:00000001:887FC16F:00000063:FFFFFFFF:Spinal Mini Ultra Now! PL1
:kinst2:00000001:887FC16F:0000006B:FFFFFFFF:Spinal Combo Breaker Now! PL1
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:Tusk Ultra Now! PL1
:kinst2:00000001:887FC16F:0000005D:FFFFFFFF:Tusk No Mercy 1 Now! PL1
:kinst2:00000001:887FC16F:00000051:FFFFFFFF:Tusk No Mercy 2 Now! PL1
:kinst2:00000001:887FC16F:0000005E:FFFFFFFF:Tusk Mini Ultra Now! PL1
:kinst2:00000001:887FC16F:00000070:FFFFFFFF:Tusk Combo Breaker Now! PL1
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:Glacius Ultra Now! PL1
:kinst2:00000001:887FC16F:00000050:FFFFFFFF:Glacius No Mercy 1 Now! PL1
:kinst2:00000001:887FC16F:0000004C:FFFFFFFF:Glacius No Mercy 2 Now! PL1
:kinst2:00000001:887FC16F:0000005E:FFFFFFFF:Glacius Mini Ultra Now! PL1
:kinst2:00000001:887FC16F:00000070:FFFFFFFF:Glacius Combo Breaker Now! PL1
:kinst2:00000001:887FC16F:0000005E:FFFFFFFF:Fulgore Ultra Now! PL1
:kinst2:00000001:887FC16F:0000007C:FFFFFFFF:Fulgore No Mercy 1 Now! PL1
:kinst2:00000001:887FC16F:0000007E:FFFFFFFF:Fulgore No Mercy 2 Now! PL1
:kinst2:00000001:887FC16F:0000005F:FFFFFFFF:Fulgore Mini Ultra Now! PL1
:kinst2:00000001:887FC16F:0000005A:FFFFFFFF:Fulgore Combo Breaker Now! PL1
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:Kim Wu Ultra Now! PL1
:kinst2:00000001:887FC16F:0000006F:FFFFFFFF:Kim Wu No Mercy 1 Now! PL1
:kinst2:00000001:887FC16F:00000068:FFFFFFFF:Kim Wu No Mercy 2 Now! PL1
:kinst2:00000001:887FC16F:0000005E:FFFFFFFF:Kim Wu Mini Ultra Now! PL1
:kinst2:00000001:887FC16F:00000070:FFFFFFFF:Kim Wu Combo Breaker Now! PL1
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:Sabre Wulf Ultra Now! PL1
:kinst2:00000001:887FC16F:00000064:FFFFFFFF:Sabre Wulf No Mercy 1 Now! PL1
:kinst2:00000001:887FC16F:00000038:FFFFFFFF:Sabre Wulf No Mercy 2 Now! PL1
:kinst2:00000001:887FC16F:0000005E:FFFFFFFF:Sabre Wulf Mini Ultra Now! PL1
:kinst2:00000001:887FC16F:00000070:FFFFFFFF:Sabre Wulf Combo Breaker Now! PL1
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:Orchid Ultra Now! PL1
:kinst2:00000001:887FC16F:00000064:FFFFFFFF:Orchid No Mercy 1 Now! PL1
:kinst2:00000001:887FC16F:00000046:FFFFFFFF:Orchid No Mercy 2 Now! PL1
:kinst2:00000001:887FC16F:0000005E:FFFFFFFF:Orchid Mini Ultra Now! PL1
:kinst2:00000001:887FC16F:00000060:FFFFFFFF:Orchid Combo Breaker Now! PL1
:kinst2:00000001:887FC16F:0000006E:FFFFFFFF:Maya Ultra Now! PL1
:kinst2:00000001:887FC16F:00000064:FFFFFFFF:Maya No Mercy 1 Now! PL1
:kinst2:00000001:887FC16F:00000041:FFFFFFFF:Maya No Mercy 2 Now! PL1
:kinst2:00000001:887FC16F:0000005E:FFFFFFFF:Maya Mini Ultra Now! PL1
:kinst2:00000001:887FC16F:00000070:FFFFFFFF:Maya Combo Breaker Now! PL1
@kinst2:00080001:887FC16F:0000006E:00000000:Ultra Now! PL1:Assign to an Activation Key for the Best Effect:Jago
@kinst2:00090001:887FC16F:00000047:00000001:Ultra Now! PL1 (02/10):TJ Combo
@kinst2:00090001:887FC16F:00000062:00000002:Ultra Now! PL1 (03/10):Spinal
@kinst2:00090001:887FC16F:0000006E:00000003:Ultra Now! PL1 (04/10):Tusk
@kinst2:00090001:887FC16F:0000006E:00000004:Ultra Now! PL1 (05/10):Glacius
@kinst2:00090001:887FC16F:0000005E:00000005:Ultra Now! PL1 (06/10):Fulgore
@kinst2:00090001:887FC16F:0000006E:00000006:Ultra Now! PL1 (07/10):Kim Wu
@kinst2:00090001:887FC16F:0000006E:00000007:Ultra Now! PL1 (08/10):Sabre Wulf
@kinst2:00090001:887FC16F:0000006E:00000008:Ultra Now! PL1 (09/10):Orchid
@kinst2:00090001:887FC16F:0000006E:00000009:Ultra Now! PL1 (10/10):Maya
@kinst2:00080001:887FC16F:00000057:00000000:No Mercy 1 Now! PL1:Assign to an Activation Key for the Best Effect:Jago
@kinst2:00090001:887FC16F:0000006E:00000001:No Mercy 1 Now! PL1 (02/10):TJ Combo
@kinst2:00090001:887FC16F:00000078:00000002:No Mercy 1 Now! PL1 (03/10):Spinal
@kinst2:00090001:887FC16F:0000005D:00000003:No Mercy 1 Now! PL1 (04/10):Tusk
@kinst2:00090001:887FC16F:00000050:00000004:No Mercy 1 Now! PL1 (05/10):Glacius
@kinst2:00090001:887FC16F:0000007C:00000005:No Mercy 1 Now! PL1 (06/10):Fulgore
@kinst2:00090001:887FC16F:0000006F:00000006:No Mercy 1 Now! PL1 (07/10):Kim Wu
@kinst2:00090001:887FC16F:00000064:00000007:No Mercy 1 Now! PL1 (08/10):Sabre Wulf
@kinst2:00090001:887FC16F:00000064:00000008:No Mercy 1 Now! PL1 (09/10):Orchid
@kinst2:00090001:887FC16F:00000064:00000009:No Mercy 1 Now! PL1 (10/10):Maya
@kinst2:00080001:887FC16F:00000086:00000000:No Mercy 2 Now! PL1:Assign to an Activation Key for the Best Effect:Jago
@kinst2:00090001:887FC16F:0000006D:00000001:No Mercy 2 Now! PL1 (02/10):TJ Combo
@kinst2:00090001:887FC16F:0000007B:00000002:No Mercy 2 Now! PL1 (03/10):Spinal
@kinst2:00090001:887FC16F:00000051:00000003:No Mercy 2 Now! PL1 (04/10):Tusk
@kinst2:00090001:887FC16F:0000004C:00000004:No Mercy 2 Now! PL1 (05/10):Glacius
@kinst2:00090001:887FC16F:0000007E:00000005:No Mercy 2 Now! PL1 (06/10):Fulgore
@kinst2:00090001:887FC16F:00000068:00000006:No Mercy 2 Now! PL1 (07/10):Kim Wu
@kinst2:00090001:887FC16F:00000038:00000007:No Mercy 2 Now! PL1 (08/10):Sabre Wulf
@kinst2:00090001:887FC16F:00000046:00000008:No Mercy 2 Now! PL1 (09/10):Orchid
@kinst2:00090001:887FC16F:00000041:00000009:No Mercy 2 Now! PL1 (10/10):Maya
@kinst2:00080001:887FC16F:00000094:00000000:Mini Ultra Now! PL1:Assign to an Activation Key for the Best Effect:Jago
@kinst2:00090001:887FC16F:00000049:00000001:Mini Ultra Now! PL1 (02/10):TJ Combo
@kinst2:00090001:887FC16F:00000063:00000002:Mini Ultra Now! PL1 (03/10):Spinal
@kinst2:00090001:887FC16F:0000005E:00000003:Mini Ultra Now! PL1 (04/10):Tusk
@kinst2:00090001:887FC16F:0000005E:00000004:Mini Ultra Now! PL1 (05/10):Glacius
@kinst2:00090001:887FC16F:0000005F:00000005:Mini Ultra Now! PL1 (06/10):Fulgore
@kinst2:00090001:887FC16F:0000005E:00000006:Mini Ultra Now! PL1 (07/10):Kim Wu
@kinst2:00090001:887FC16F:0000005E:00000007:Mini Ultra Now! PL1 (08/10):Sabre Wulf
@kinst2:00090001:887FC16F:0000005E:00000008:Mini Ultra Now! PL1 (09/10):Orchid
@kinst2:00090001:887FC16F:0000005E:00000009:Mini Ultra Now! PL1 (10/10):Maya
@kinst2:00080001:887FC16F:00000054:00000000:Combo Breaker Now! PL1:Assign to an Activation Key for the Best Effect:Jago
@kinst2:00090001:887FC16F:00000062:00000001:Combo Breaker Now! PL1 (02/10):TJ Combo
@kinst2:00090001:887FC16F:0000006B:00000002:Combo Breaker Now! PL1 (03/10):Spinal
@kinst2:00090001:887FC16F:00000070:00000003:Combo Breaker Now! PL1 (04/10):Tusk
@kinst2:00090001:887FC16F:00000070:00000004:Combo Breaker Now! PL1 (05/10):Glacius
@kinst2:00090001:887FC16F:0000005A:00000005:Combo Breaker Now! PL1 (06/10):Fulgore
@kinst2:00090001:887FC16F:00000070:00000006:Combo Breaker Now! PL1 (07/10):Kim Wu
@kinst2:00090001:887FC16F:00000070:00000007:Combo Breaker Now! PL1 (08/10):Sabre Wulf
@kinst2:00090001:887FC16F:00000060:00000008:Combo Breaker Now! PL1 (09/10):Orchid
@kinst2:00090001:887FC16F:00000070:00000009:Combo Breaker Now! PL1 (10/10):Maya
:kinst2:00100001:887FC205:00000000:FFFFFFFF:Drain All Energy Now! PL2
:kinst2:00100000:887FBFB4:0000C0C0:FFFFFFFF:Infinite Power PL2
:kinst2:62000000:0000000:00000000:00000000:Select Character PL2:Use on or before the character select screen
:kinst2:00110000:887FF280:00000000:FFFFFFFF:Jago
:kinst2:00110000:887FF280:0000FFE0:FFFFFFFF:Glacius
:kinst2:00110000:887FF280:0000FFC0:FFFFFFFF:Tusk
:kinst2:00110000:887FF280:0000FFA0:FFFFFFFF:Spinal
:kinst2:00110000:887FF280:0000FF80:FFFFFFFF:Kim Wu
:kinst2:00110000:887FF280:0000FF60:FFFFFFFF:Sabrewulf
:kinst2:00110000:887FF280:0000FF40:FFFFFFFF:Maya
:kinst2:00110000:887FF280:00000060:FFFFFFFF:Fulgore
:kinst2:00110000:887FF280:00000040:FFFFFFFF:Combo
:kinst2:00110000:887FF280:00000020:FFFFFFFF:Orchid
:kinst2:00110000:887FF280:0000FF20:FFFFFFFF:#Gargos#
:kinst2:62000000:0000000:00000000:00000000:Select Moveset PL2
:kinst2:00010000:887FC257:00000000:FFFFFFFF:Jago
:kinst2:00010000:887FC257:00000001:FFFFFFFF:TJ Combo
:kinst2:00010000:887FC257:00000002:FFFFFFFF:Spinal
:kinst2:00010000:887FC257:00000003:FFFFFFFF:Tusk
:kinst2:00010000:887FC257:00000004:FFFFFFFF:Glacius
:kinst2:00010000:887FC257:00000005:FFFFFFFF:Fulgore
:kinst2:00010000:887FC257:00000006:FFFFFFFF:Kim Wu
:kinst2:00010000:887FC257:00000007:FFFFFFFF:Sabre Wulf
:kinst2:00010000:887FC257:00000008:FFFFFFFF:Orchid
:kinst2:00010000:887FC257:00000009:FFFFFFFF:Maya
:kinst2:00010000:887FC257:0000000A:FFFFFFFF:Gargos
:kinst2:62000000:0000000:00000000:00000000:Select Shadow Character PL2
:kinst2:00010000:887FC245:00000000:FFFFFFFF:Jago
:kinst2:00010000:887FC245:00000001:FFFFFFFF:TJ Combo
:kinst2:00010000:887FC245:00000002:FFFFFFFF:Spinal
:kinst2:00010000:887FC245:00000003:FFFFFFFF:Tusk
:kinst2:00010000:887FC245:00000004:FFFFFFFF:Glacius
:kinst2:00010000:887FC245:00000005:FFFFFFFF:Fulgore
:kinst2:00010000:887FC245:00000006:FFFFFFFF:Kim Wu
:kinst2:00010000:887FC245:00000007:FFFFFFFF:Sabre Wulf
:kinst2:00010000:887FC245:00000008:FFFFFFFF:Orchid
:kinst2:00010000:887FC245:00000009:FFFFFFFF:Maya
:kinst2:00010000:887FC245:0000000A:FFFFFFFF:Gargos
:kinst2:60000000:0000000:00000000:00000000:-= COMBOS - use with the appropriate character =-:These are suitable for massive downsizing in the new xml cheat format
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:Jago Ultra Now! PL2
:kinst2:00000001:887FC26F:00000057:FFFFFFFF:Jago No Mercy 1 Now! PL2
:kinst2:00000001:887FC26F:00000086:FFFFFFFF:Jago No Mercy 2 Now! PL2
:kinst2:00000001:887FC26F:00000094:FFFFFFFF:Jago Mini Ultra Now! PL2
:kinst2:00000001:887FC26F:00000054:FFFFFFFF:Jago Combo Breaker Now! PL2
:kinst2:00000001:887FC26F:00000047:FFFFFFFF:TJ Combo Ultra Now! PL2
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:TJ Combo No Mercy 1 Now! PL2
:kinst2:00000001:887FC26F:0000006D:FFFFFFFF:TJ Combo No Mercy 2 Now! PL2
:kinst2:00000001:887FC26F:00000049:FFFFFFFF:TJ Combo Mini Ultra Now! PL2
:kinst2:00000001:887FC26F:00000062:FFFFFFFF:TJ Combo Combo Breaker Now! PL2
:kinst2:00000001:887FC26F:00000062:FFFFFFFF:Spinal Ultra Now! PL2
:kinst2:00000001:887FC26F:00000078:FFFFFFFF:Spinal No Mercy 1 Now! PL2
:kinst2:00000001:887FC26F:0000007B:FFFFFFFF:Spinal No Mercy 2 Now! PL2
:kinst2:00000001:887FC26F:00000063:FFFFFFFF:Spinal Mini Ultra Now! PL2
:kinst2:00000001:887FC26F:0000006B:FFFFFFFF:Spinal Combo Breaker Now! PL2
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:Tusk Ultra Now! PL2
:kinst2:00000001:887FC26F:0000005D:FFFFFFFF:Tusk No Mercy 1 Now! PL2
:kinst2:00000001:887FC26F:00000051:FFFFFFFF:Tusk No Mercy 2 Now! PL2
:kinst2:00000001:887FC26F:0000005E:FFFFFFFF:Tusk Mini Ultra Now! PL2
:kinst2:00000001:887FC26F:00000070:FFFFFFFF:Tusk Combo Breaker Now! PL2
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:Glacius Ultra Now! PL2
:kinst2:00000001:887FC26F:00000050:FFFFFFFF:Glacius No Mercy 1 Now! PL2
:kinst2:00000001:887FC26F:0000004C:FFFFFFFF:Glacius No Mercy 2 Now! PL2
:kinst2:00000001:887FC26F:0000005E:FFFFFFFF:Glacius Mini Ultra Now! PL2
:kinst2:00000001:887FC26F:00000070:FFFFFFFF:Glacius Combo Breaker Now! PL2
:kinst2:00000001:887FC26F:0000005E:FFFFFFFF:Fulgore Ultra Now! PL2
:kinst2:00000001:887FC26F:0000007C:FFFFFFFF:Fulgore No Mercy 1 Now! PL2
:kinst2:00000001:887FC26F:0000007E:FFFFFFFF:Fulgore No Mercy 2 Now! PL2
:kinst2:00000001:887FC26F:0000005F:FFFFFFFF:Fulgore Mini Ultra Now! PL2
:kinst2:00000001:887FC26F:0000005A:FFFFFFFF:Fulgore Combo Breaker Now! PL2
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:Kim Wu Ultra Now! PL2
:kinst2:00000001:887FC26F:0000006F:FFFFFFFF:Kim Wu No Mercy 1 Now! PL2
:kinst2:00000001:887FC26F:00000068:FFFFFFFF:Kim Wu No Mercy 2 Now! PL2
:kinst2:00000001:887FC26F:0000005E:FFFFFFFF:Kim Wu Mini Ultra Now! PL2
:kinst2:00000001:887FC26F:00000070:FFFFFFFF:Kim Wu Combo Breaker Now! PL2
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:Sabre Wulf Ultra Now! PL2
:kinst2:00000001:887FC26F:00000064:FFFFFFFF:Sabre Wulf No Mercy 1 Now! PL2
:kinst2:00000001:887FC26F:00000038:FFFFFFFF:Sabre Wulf No Mercy 2 Now! PL2
:kinst2:00000001:887FC26F:0000005E:FFFFFFFF:Sabre Wulf Mini Ultra Now! PL2
:kinst2:00000001:887FC26F:00000070:FFFFFFFF:Sabre Wulf Combo Breaker Now! PL2
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:Orchid Ultra Now! PL2
:kinst2:00000001:887FC26F:00000064:FFFFFFFF:Orchid No Mercy 1 Now! PL2
:kinst2:00000001:887FC26F:00000046:FFFFFFFF:Orchid No Mercy 2 Now! PL2
:kinst2:00000001:887FC26F:0000005E:FFFFFFFF:Orchid Mini Ultra Now! PL2
:kinst2:00000001:887FC26F:00000060:FFFFFFFF:Orchid Combo Breaker Now! PL2
:kinst2:00000001:887FC26F:0000006E:FFFFFFFF:Maya Ultra Now! PL2
:kinst2:00000001:887FC26F:00000064:FFFFFFFF:Maya No Mercy 1 Now! PL2
:kinst2:00000001:887FC26F:00000041:FFFFFFFF:Maya No Mercy 2 Now! PL2
:kinst2:00000001:887FC26F:0000005E:FFFFFFFF:Maya Mini Ultra Now! PL2
:kinst2:00000001:887FC26F:00000070:FFFFFFFF:Maya Combo Breaker Now! PL2
@kinst2:00080001:887FC26F:0000006E:00000000:Ultra Now! PL2:Assign to an Activation Key for the Best Effect:Jago
@kinst2:00090001:887FC26F:00000047:00000001:Ultra Now! PL2 (02/10):TJ Combo
@kinst2:00090001:887FC26F:00000062:00000002:Ultra Now! PL2 (03/10):Spinal
@kinst2:00090001:887FC26F:0000006E:00000003:Ultra Now! PL2 (04/10):Tusk
@kinst2:00090001:887FC26F:0000006E:00000004:Ultra Now! PL2 (05/10):Glacius
@kinst2:00090001:887FC26F:0000005E:00000005:Ultra Now! PL2 (06/10):Fulgore
@kinst2:00090001:887FC26F:0000006E:00000006:Ultra Now! PL2 (07/10):Kim Wu
@kinst2:00090001:887FC26F:0000006E:00000007:Ultra Now! PL2 (08/10):Sabre Wulf
@kinst2:00090001:887FC26F:0000006E:00000008:Ultra Now! PL2 (09/10):Orchid
@kinst2:00090001:887FC26F:0000006E:00000009:Ultra Now! PL2 (10/10):Maya
@kinst2:00080001:887FC26F:00000057:00000000:No Mercy 1 Now! PL2:Assign to an Activation Key for the Best Effect:Jago
@kinst2:00090001:887FC26F:0000006E:00000001:No Mercy 1 Now! PL2 (02/10):TJ Combo
@kinst2:00090001:887FC26F:00000078:00000002:No Mercy 1 Now! PL2 (03/10):Spinal
@kinst2:00090001:887FC26F:0000005D:00000003:No Mercy 1 Now! PL2 (04/10):Tusk
@kinst2:00090001:887FC26F:00000050:00000004:No Mercy 1 Now! PL2 (05/10):Glacius
@kinst2:00090001:887FC26F:0000007C:00000005:No Mercy 1 Now! PL2 (06/10):Fulgore
@kinst2:00090001:887FC26F:0000006F:00000006:No Mercy 1 Now! PL2 (07/10):Kim Wu
@kinst2:00090001:887FC26F:00000064:00000007:No Mercy 1 Now! PL2 (08/10):Sabre Wulf
@kinst2:00090001:887FC26F:00000064:00000008:No Mercy 1 Now! PL2 (09/10):Orchid
@kinst2:00090001:887FC26F:00000064:00000009:No Mercy 1 Now! PL2 (10/10):Maya
@kinst2:00080001:887FC26F:00000086:00000000:No Mercy 2 Now! PL2:Assign to an Activation Key for the Best Effect:Jago
@kinst2:00090001:887FC26F:0000006D:00000001:No Mercy 2 Now! PL2 (02/10):TJ Combo
@kinst2:00090001:887FC26F:0000007B:00000002:No Mercy 2 Now! PL2 (03/10):Spinal
@kinst2:00090001:887FC26F:00000051:00000003:No Mercy 2 Now! PL2 (04/10):Tusk
@kinst2:00090001:887FC26F:0000004C:00000004:No Mercy 2 Now! PL2 (05/10):Glacius
@kinst2:00090001:887FC26F:0000007E:00000005:No Mercy 2 Now! PL2 (06/10):Fulgore
@kinst2:00090001:887FC26F:00000068:00000006:No Mercy 2 Now! PL2 (07/10):Kim Wu
@kinst2:00090001:887FC26F:00000038:00000007:No Mercy 2 Now! PL2 (08/10):Sabre Wulf
@kinst2:00090001:887FC26F:00000046:00000008:No Mercy 2 Now! PL2 (09/10):Orchid
@kinst2:00090001:887FC26F:00000041:00000009:No Mercy 2 Now! PL2 (10/10):Maya
@kinst2:00080001:887FC26F:00000094:00000000:Mini Ultra Now! PL2:Assign to an Activation Key for the Best Effect:Jago
@kinst2:00090001:887FC26F:00000049:00000001:Mini Ultra Now! PL2 (02/10):TJ Combo
@kinst2:00090001:887FC26F:00000063:00000002:Mini Ultra Now! PL2 (03/10):Spinal
@kinst2:00090001:887FC26F:0000005E:00000003:Mini Ultra Now! PL2 (04/10):Tusk
@kinst2:00090001:887FC26F:0000005E:00000004:Mini Ultra Now! PL2 (05/10):Glacius
@kinst2:00090001:887FC26F:0000005F:00000005:Mini Ultra Now! PL2 (06/10):Fulgore
@kinst2:00090001:887FC26F:0000005E:00000006:Mini Ultra Now! PL2 (07/10):Kim Wu
@kinst2:00090001:887FC26F:0000005E:00000007:Mini Ultra Now! PL2 (08/10):Sabre Wulf
@kinst2:00090001:887FC26F:0000005E:00000008:Mini Ultra Now! PL2 (09/10):Orchid
@kinst2:00090001:887FC26F:0000005E:00000009:Mini Ultra Now! PL2 (10/10):Maya
@kinst2:00080001:887FC26F:00000054:00000000:Combo Breaker Now! PL2:Assign to an Activation Key for the Best Effect:Jago
@kinst2:00090001:887FC26F:00000062:00000001:Combo Breaker Now! PL2 (02/10):TJ Combo
@kinst2:00090001:887FC26F:0000006B:00000002:Combo Breaker Now! PL2 (03/10):Spinal
@kinst2:00090001:887FC26F:00000070:00000003:Combo Breaker Now! PL2 (04/10):Tusk
@kinst2:00090001:887FC26F:00000070:00000004:Combo Breaker Now! PL2 (05/10):Glacius
@kinst2:00090001:887FC26F:0000005A:00000005:Combo Breaker Now! PL2 (06/10):Fulgore
@kinst2:00090001:887FC26F:00000070:00000006:Combo Breaker Now! PL2 (07/10):Kim Wu
@kinst2:00090001:887FC26F:00000070:00000007:Combo Breaker Now! PL2 (08/10):Sabre Wulf
@kinst2:00090001:887FC26F:00000060:00000008:Combo Breaker Now! PL2 (09/10):Orchid
@kinst2:00090001:887FC26F:00000070:00000009:Combo Breaker Now! PL2 (10/10):Maya
:kinst2:60000000:0000000:00000000:00000000:
:kinst2:00100000:887FC105:00000078:FFFFFFFF:Infinite Energy PL1
:kinst2:60000000:0000000:00000000:00000000:
:kinst2:00100000:887FC205:00000078:FFFFFFFF:Infinite Energy PL2
; [ Kirameki Star Road (Japan) ]
kirameki:0:407C7F:09:000:Infinite Credits
@@ -116743,6 +117241,8 @@ solvalou:0:907F38:07:000:Infinite Shields
sonic:0:204FDE:18:000:Infinite Energy PL1
sonic:0:204F3E:18:000:Infinite Energy PL2
sonic:0:204E9E:18:000:Infinite Energy PL3
sonic:0:20E658:13:000:Infinite Infinite Time (Final Stage)
sonic:0:20F061:08:021:Show Stage Select
; [ Segasonic the Hedgehog (Japan prototype) ]
sonicp:0:204FDE:18:000:Infinite Energy PL1
@@ -129259,26 +129759,6 @@ tourtabl:0:0000:00:999:[ the cheat forums ]:REASON 11
tourtabl:0:0000:00:999:[ before posting cheat ]:REASON 11
tourtabl:0:0000:00:999:[ requests/cheat finding]:REASON 11
; [ Turbo Outrun (set 1) ]
toutrun:0:0000:00:999:[ There are no cheats ]:REASON 1
toutrun:0:0000:00:999:[ for this game as it ]:REASON 1
toutrun:0:0000:00:999:[ didn't work the last ]:REASON 1
toutrun:0:0000:00:999:[ time it was tested. ]:REASON 1
toutrun:0:0000:00:999:[ If the game now works ]:REASON 1
toutrun:0:0000:00:999:[ please request cheats ]:REASON 1
toutrun:0:0000:00:999:[ for it on the cheat ]:REASON 1
toutrun:0:0000:00:999:[ forums. ]:REASON 1
; [ Turbo Outrun (set 2) ]
toutruna:0:0000:00:999:[ There are no cheats ]:REASON 1
toutruna:0:0000:00:999:[ for this game as it ]:REASON 1
toutruna:0:0000:00:999:[ didn't work the last ]:REASON 1
toutruna:0:0000:00:999:[ time it was tested. ]:REASON 1
toutruna:0:0000:00:999:[ If the game now works ]:REASON 1
toutruna:0:0000:00:999:[ please request cheats ]:REASON 1
toutruna:0:0000:00:999:[ for it on the cheat ]:REASON 1
toutruna:0:0000:00:999:[ forums. ]:REASON 1
; [ Toypop ]
toypop:0:0ABD:63:000:Infinite Credits
toypop:0:0A68:09:000:Infinite Time
@@ -130278,6 +130758,20 @@ turbofrc:0:0C207F:07:000:Infinite Lives PL3
turbofrc:0:0C2069:08:000:Maximum fire power PL3
turbofrc:0:0C208B:A0:000:Invincibility PL3
; [ Turbo Out Run (Out Run upgrade, bootleg of FD1094 317-0118 set) ]
:toutrun:00000000:060052:00000063:FFFFFFFF:Infinite Credits
:toutrun:00000000:060861:00000099:FFFFFFFF:Infinite Time:Turn it OFF on Transmission or Parts select screen
:toutrun:00100000:2607B2:00000100:FFFFFFFF:Always Use Turbo
:toutrun:00100000:2607B4:00000000:FFFFFFFF:Turbo Never Overheats
:toutrun:00000000:0608F1:000000FF:FFFFFFFF:Always Faster Speed
:toutrun:00010000:260783:000000FF:FFFFFFFF:Always Faster Speed (2/2)
:toutrun:00000000:0608F7:00000001:00000001:Always Have Hipower Engine
:toutrun:00000000:0608F7:00000002:00000002:Always Have Higrip Tire
:toutrun:00000000:0608F7:00000004:00000004:Always Have Special Turbo
:toutrun:00000001:0608B3:00000003:FFFFFFFF:Set Current Stage as Final Now!
:toutrun:00010001:060D61:0000000F:FFFFFFFF:Set Current Stage as Final Now! (2/3)
:toutrun:00010001:260003:00000003:FFFFFFFF:Set Current Stage as Final Now! (3/3)
; [ Turbo Tag (prototype) ]
turbotag:0:F238:06:000:Infinite Lives
turbotag:0:F25D:01:000:Always have Turbo Charger
+1
View File
@@ -5932,6 +5932,7 @@ offtwallc:
0:3fee2e:37:00:49
bublbobl:
bublbobr:
bub68705:
bublboblr:
bublboblr1:
+22866 -5106
View File
File diff suppressed because it is too large. Load diff
+5 -5
View File
@@ -2295,10 +2295,10 @@ static int artwork_load(const struct GameDriver *driver, int width, int height,
/* A negative values will use the default opacity for the overlay. */
opacity = options.overlay_opacity;
if (opacity != 0 && list) {
if (opacity < 0) { // Default overlay opacity
if (opacity < 0) { /* Default overlay opacity */
if (!generate_overlay(list, width, height))
return 0;
} else { // Opacity is > 0
} else { /* Opacity is > 0 */
struct overlay_piece *newlist;
/* Count elements in list */
int count = 0;
@@ -2312,8 +2312,8 @@ static int artwork_load(const struct GameDriver *driver, int width, int height,
/* Modify opacity as set to user defined value */
tmp = newlist;
while (tmp->type != OVERLAY_TYPE_END) {
tmp->color = tmp->color & ~(0xff << 24); // Clear
tmp->color = tmp->color | (((opacity) & 0xff) << 24); // Set
tmp->color = tmp->color & ~(0xff << 24); /* Clear */
tmp->color = tmp->color | (((opacity) & 0xff) << 24); /* Set */
tmp++;
}
if (!generate_overlay(newlist, width, height))
@@ -3367,7 +3367,7 @@ static int generate_overlay(const struct overlay_piece *list, int width, int hei
piece->layer = LAYER_OVERLAY;
piece->priority = priority++;
piece->blendflags = list->type & OVERLAY_FLAG_MASK;
piece->tag = list->tag; // Handle someone using a different tag, for example, cocktail mode
piece->tag = list->tag; /* Handle someone using a different tag, for example, cocktail mode */
/* switch off the type */
switch (list->type & ~OVERLAY_FLAG_MASK)
+1 -1
View File
@@ -148,7 +148,7 @@ struct artwork_callbacks
struct overlay_piece
{
char *tag; // Usually set to OVERLAY_TAG
char *tag; /* Usually set to OVERLAY_TAG */
UINT8 type;
rgb_t color;
float left, top, right, bottom;
+44 -30
View File
@@ -13077,7 +13077,7 @@ const struct bin2cFILE ddsoma_bootstrap = {
0, 0, 0, 0, 68, 38, 68, 50, 32, 65, 83, 73, 0, 11, 1, 0, 1, 1,
1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,150, 2, 1, 6, 0, 0, 0, 0, 68, 38,
68, 50, 32, 65, 83, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
68, 50, 32, 65, 83, 73, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,
}
@@ -39040,14 +39040,14 @@ const struct bin2cFILE nbamaxht_bootstrap = {
const struct bin2cFILE nslashers_bootstrap = {
128,
{
196, 2, 0, 3, 0, 0, 0, 0, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0,
198, 2, 0, 3, 1, 0, 0, 0, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 50, 88, 77,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 31, 4,251,224,196, 2, 0, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 34, 4,251,221,198, 2, 0, 3, 1, 0, 0, 0,
80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 48, 50, 88, 77, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 4,
251,224,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 4,
251,221,
}
};
@@ -43679,6 +43679,20 @@ const struct bin2cFILE qix_bootstrap = {
}
};
const struct bin2cFILE rabbit_bootstrap = {
128,
{
2, 52,255,255, 69,104,255,255,205,239,255,255,152,118,255,255, 0, 0,
255,255, 0, 0,255,255, 0, 0,255,255, 0, 8,255,255, 0, 0,255,255,
0, 0,255,255, 0, 0,255,255, 1, 0,255,255, 1, 3,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,
}
};
/* used for revx */
const struct bin2cFILE revx_bootstrap = {
32768,
@@ -81551,8 +81565,8 @@ const struct bin2cFILE umk3_bootstrap = {
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
0, 0, 0, 0, 0, 0, 65, 0,255, 0,190, 0, 0, 0, 0, 0, 0, 0,
65, 0,255, 0,190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 54, 0,255, 0,201, 0, 0, 0, 0, 0, 0, 0,
54, 0,255, 0,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -81739,20 +81753,20 @@ const struct bin2cFILE umk3_bootstrap = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4, 0, 0, 0, 0, 0,237, 0,176, 0, 0, 0, 0, 0,
237, 0,176, 0, 0, 0, 0, 0,237, 0,176, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,250, 0, 18, 0, 82, 0, 69, 0, 86, 0, 73, 0, 83, 0, 73, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,254, 0,230, 0, 82, 0, 69, 0, 86, 0, 73, 0, 83, 0, 73, 0,
79, 0, 78, 0, 32, 0, 49, 0, 46, 0, 50, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -84273,8 +84287,6 @@ const struct bin2cFILE umk3p_bootstrap = {
0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 1, 0,255, 0,254, 0,
0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
@@ -84288,8 +84300,10 @@ const struct bin2cFILE umk3p_bootstrap = {
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
0, 0, 0, 0, 0, 0,105, 0,255, 0,150, 0, 0, 0, 0, 0, 0, 0,
105, 0,255, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 5, 0,255, 0,250, 0, 0, 0, 0, 0, 0, 0,
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
0, 0, 0, 0, 0, 0,160, 0,255, 0, 95, 0, 0, 0, 0, 0, 0, 0,
160, 0,255, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -84483,26 +84497,26 @@ const struct bin2cFILE umk3p_bootstrap = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4, 0, 0, 0, 0, 0,237, 0,176, 0, 0, 0, 0, 0,
237, 0,176, 0, 0, 0, 0, 0,237, 0,176, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,254, 0,218, 0, 32, 0, 77, 0, 79, 0, 82, 0, 84, 0, 65, 0,
76, 0, 75, 0, 79, 0, 77, 0, 66, 0, 65, 0, 84, 0, 80, 0, 76, 0,
85, 0, 83, 0, 46, 0, 67, 0, 79, 0, 77, 0, 32, 0, 66, 0, 69, 0,
84, 0, 65, 0, 32, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,250, 0, 13, 0, 77, 0, 79, 0, 82, 0, 84, 0, 65, 0, 76, 0,
75, 0, 79, 0, 77, 0, 66, 0, 65, 0, 84, 0, 80, 0, 76, 0, 85, 0,
83, 0, 46, 0, 67, 0, 79, 0, 77, 0, 32, 0, 66, 0, 69, 0, 84, 0,
65, 0, 32, 0, 73, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -87025,8 +87039,8 @@ const struct bin2cFILE umk3r11_bootstrap = {
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0,
0, 0,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0,255, 0,
0, 0, 0, 0, 0, 0, 41, 0,255, 0,214, 0, 0, 0, 0, 0, 0, 0,
41, 0,255, 0,214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 54, 0,255, 0,201, 0, 0, 0, 0, 0, 0, 0,
54, 0,255, 0,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -87213,20 +87227,20 @@ const struct bin2cFILE umk3r11_bootstrap = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 0, 0, 0, 0, 0, 0, 0,218, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4, 0, 0, 0, 0, 0,237, 0,176, 0, 0, 0, 0, 0,
237, 0,176, 0, 0, 0, 0, 0,237, 0,176, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,250, 0, 20, 0, 82, 0, 69, 0, 86, 0, 73, 0, 83, 0, 73, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,254, 0,232, 0, 82, 0, 69, 0, 86, 0, 73, 0, 83, 0, 73, 0,
79, 0, 78, 0, 32, 0, 49, 0, 46, 0, 49, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+1
View File
@@ -59,6 +59,7 @@ extern const struct bin2cFILE nslashers_bootstrap;
extern const struct bin2cFILE offroadc_bootstrap;
extern const struct bin2cFILE openice_bootstrap;
extern const struct bin2cFILE qix_bootstrap;
extern const struct bin2cFILE rabbit_bootstrap;
extern const struct bin2cFILE revx_bootstrap;
extern const struct bin2cFILE rmpgwt11_bootstrap;
extern const struct bin2cFILE rmpgwt_bootstrap;
+55 -47
View File
@@ -385,6 +385,11 @@ is selected
#define OSD_READKEY_KLUDGE 1
#define NAME_MAX_LENGTH 255
#define DESC_MAX_LENGTH 255
#define STR_(X) #X
#define STR(X) STR_(X)
/**** Macros *****************************************************************/
/* easy bitfield extraction and setting */
@@ -1986,23 +1991,23 @@ static void RebuildStringTables(void)
(!menuStrings.subStrings && menuStrings.numStrings) ||
(!menuStrings.buf && storageNeeded))
{
logerror( "cheat: memory allocation error\n"
" length = %.8X\n"
" numStrings = %.8X\n"
" mainStringLength = %.8X\n"
" subStringLength = %.8X\n"
"%.8X %.8X %.8X %.8X %.8X %.8X\n",
menuStrings.length,
menuStrings.numStrings,
menuStrings.mainStringLength,
menuStrings.subStringLength,
(int)menuStrings.mainList,
(int)menuStrings.subList,
(int)menuStrings.flagList,
(int)menuStrings.mainStrings,
(int)menuStrings.subStrings,
(int)menuStrings.buf);
logerror(
"cheat: memory allocation error\n"
"length = %.8X\n"
"numStrings = %.8X\n"
"mainStringLength = %.8X\n"
"subStringLength = %.8X\n"
"%08lX %08lX %08lX %08lX %08lX %08lX\n",
menuStrings.length,
menuStrings.numStrings,
menuStrings.mainStringLength,
menuStrings.subStringLength,
(unsigned long)(FPTR)menuStrings.mainList,
(unsigned long)(FPTR)menuStrings.subList,
(unsigned long)(FPTR)menuStrings.flagList,
(unsigned long)(FPTR)menuStrings.mainStrings,
(unsigned long)(FPTR)menuStrings.subStrings,
(unsigned long)(FPTR)menuStrings.buf);
exit(1);
}
@@ -7080,7 +7085,7 @@ static void ResizeCheatListNoDispose(UINT32 newLength)
if(newLength > cheatListLength)
{
int i;
UINT32 i;
memset(&cheatList[cheatListLength], 0, (newLength - cheatListLength) * sizeof(CheatEntry));
@@ -7312,9 +7317,18 @@ static void ResizeWatchListNoDispose(UINT32 newLength)
if(newLength > watchListLength)
{
int i;
UINT32 i;
size_t count = newLength - watchListLength;
memset(&watchList[watchListLength], 0, (newLength - watchListLength) * sizeof(WatchInfo));
WatchInfo* newWatchList = realloc(watchList, newLength * sizeof(WatchInfo));
if (!newWatchList)
{
logerror("cheat: Failed to realloc watchList to size %u\n", newLength);
return; //we should probably bail if this happens
}
watchList = newWatchList;
memset(&watchList[watchListLength], 0, count * sizeof(WatchInfo));
for(i = watchListLength; i < newLength; i++)
{
@@ -7687,7 +7701,7 @@ static void RestoreRegionBackup(SearchRegion * region)
static UINT8 DefaultEnableRegion(SearchRegion * region, SearchInfo * info)
{
mem_write_handler handler = region->writeHandler->handler;
UINT32 handlerAddress = (UINT32)handler;
FPTR handlerAddress = (FPTR)handler;
switch(info->searchSpeed)
{
@@ -7705,21 +7719,15 @@ static UINT8 DefaultEnableRegion(SearchRegion * region, SearchInfo * info)
}
#endif
if( (handler == MWA_RAM) &&
(!region->writeHandler->base))
if( (handler == MWA_RAM) && (!region->writeHandler->base))
return 1;
{
extern struct GameDriver driver_neogeo;
/* for neogeo, search bank one*/
if( (Machine->gamedrv->clone_of == &driver_neogeo) &&
(info->targetType == kRegionType_CPU) &&
(info->targetIdx == 0) &&
(handler == MWA_BANK1))
/* for neogeo, search bank one*/
if( (options.content_flags[CONTENT_NEOGEO]) &&
(info->targetType == kRegionType_CPU) &&
(info->targetIdx == 0) &&
(handler == MWA_BANK1))
return 1;
}
#if HAS_TMS34010
@@ -7742,8 +7750,8 @@ static UINT8 DefaultEnableRegion(SearchRegion * region, SearchInfo * info)
return 0;
case kSearchSpeed_Medium:
if( (handlerAddress >= ((UINT32)MWA_BANK1)) &&
(handlerAddress <= ((UINT32)MWA_BANK24)))
if ((handlerAddress >= (FPTR)MWA_BANK1) &&
(handlerAddress <= (FPTR)MWA_BANK24))
return 1;
if(handler == MWA_RAM)
@@ -7784,21 +7792,21 @@ static void SetSearchRegionDefaultName(SearchRegion * region)
if(region->writeHandler)
{
mem_write_handler handler = region->writeHandler->handler;
UINT32 handlerAddress = (UINT32)handler;
FPTR handlerAddress = (FPTR)handler;
if( (handlerAddress >= ((UINT32)MWA_BANK1)) &&
(handlerAddress <= ((UINT32)MWA_BANK24)))
if ((handlerAddress >= (FPTR)MWA_BANK1) &&
(handlerAddress <= (FPTR)MWA_BANK24))
{
sprintf(desc, "BANK%.2d", (handlerAddress - ((UINT32)MWA_BANK1)) + 1);
sprintf(desc, "BANK%.2d", (int)((handlerAddress - (FPTR)MWA_BANK1) + 1));
}
else
{
switch(handlerAddress)
{
case (UINT32)MWA_NOP: strcpy(desc, "NOP "); break;
case (UINT32)MWA_RAM: strcpy(desc, "RAM "); break;
case (UINT32)MWA_ROM: strcpy(desc, "ROM "); break;
case (UINT32)MWA_RAMROM: strcpy(desc, "RAMROM"); break;
case (FPTR)MWA_NOP: strcpy(desc, "NOP "); break;
case (FPTR)MWA_RAM: strcpy(desc, "RAM "); break;
case (FPTR)MWA_ROM: strcpy(desc, "ROM "); break;
case (FPTR)MWA_RAMROM: strcpy(desc, "RAMROM"); break;
default: strcpy(desc, "CUSTOM"); break;
}
}
@@ -8302,8 +8310,8 @@ static void LoadCheatDatabase()
foundCheatDatabase = 1;
/* make the format strings*/
sprintf(formatString, ":%s:%s", Machine->gamedrv->name, "%x:%x:%x:%x:%[^:\n\r]:%[^:\n\r]");
sprintf(oldFormatString, "%s:%s", Machine->gamedrv->name, "%d:%x:%x:%d:%[^:\n\r]:%[^:\n\r]");
sprintf(formatString, ":%s:%s", Machine->gamedrv->name, "%x:%x:%x:%x:%" STR(NAME_MAX_LENGTH) "[^:\n\r]:%" STR(DESC_MAX_LENGTH) "[^:\n\r]");
sprintf(oldFormatString, "%s:%s", Machine->gamedrv->name, "%d:%x:%x:%d:%" STR(NAME_MAX_LENGTH) "[^:\n\r]:%" STR(DESC_MAX_LENGTH) "[^:\n\r]");
while(intfstream_gets(in_file, buf, 2048))
{
@@ -8311,8 +8319,8 @@ static void LoadCheatDatabase()
int address;
int data;
int extendData;
char name[256];
char description[256];
char name[NAME_MAX_LENGTH+1];
char description[DESC_MAX_LENGTH+1];
int argumentsMatched;
+68 -72
View File
@@ -13,10 +13,10 @@
#include <string/stdstring.h>
#include "libretro-deps/libFLAC/include/FLAC/all.h"
#include "log.h"
//#define LOG_LOAD
/*#define LOG_LOAD */
char *chd_error_text[] =
const char *chd_error_text[] =
{
"CHDERR_NONE",
"CHDERR_NO_INTERFACE",
@@ -45,9 +45,9 @@ char *chd_error_text[] =
Constants
***************************************************************************/
// VERY IMPORTANT: osd_alloc_bitmap must allocate also a "safety area" 16 pixels wide all
// around the bitmap. This is required because, for performance reasons, some graphic
// routines don't clip at boundaries of the bitmap.
/* VERY IMPORTANT: osd_alloc_bitmap must allocate also a "safety area" 16 pixels wide all */
/* around the bitmap. This is required because, for performance reasons, some graphic */
/* routines don't clip at boundaries of the bitmap. */
#define BITMAP_SAFETY 16
#define MAX_MALLOCS 4096
@@ -237,13 +237,13 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
return NULL;
if (memcmp(&buf[0], "RIFF", 4) == 0)
f_type = 1; // WAV
f_type = 1; /* WAV */
else if (memcmp(&buf[0], "fLaC", 4) == 0)
f_type = 2; // FLAC
f_type = 2; /* FLAC */
else
return NULL; // No idea what file this is.
return NULL; /* No idea what file this is. */
// Load WAV file.
/* Load WAV file. */
if(f_type == 1) {
/* get the total size */
offset += mame_fread(f, &filesize, 4);
@@ -316,13 +316,13 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
return NULL;
}
// For small samples, lets force them to pre load into memory.
/* For small samples, lets force them to pre load into memory. */
if(length <= GAME_SAMPLE_LARGE)
b_data = 1;
/* allocate the game sample */
if(b_data == 1)
result = auto_malloc(sizeof(struct GameSample) + length);
result = malloc(sizeof(struct GameSample) + length);
else
result = malloc(sizeof(struct GameSample));
@@ -339,18 +339,18 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
result->resolution = bits;
if(b_data == 1) {
// read the data in
/* read the data in */
if (bits == 8)
{
mame_fread(f, result->data, length);
// convert 8-bit data to signed samples
/* convert 8-bit data to signed samples */
for (temp32 = 0; temp32 < length; temp32++)
result->data[temp32] ^= 0x80;
}
else
{
// 16-bit data is fine as-is
/* 16-bit data is fine as-is */
mame_fread_lsbfirst(f, result->data, length);
}
@@ -361,7 +361,7 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
return result;
}
else if(f_type == 2) { // Load FLAC file.
else if(f_type == 2) { /* Load FLAC file. */
int f_length;
flac_reader flac_file;
FLAC__StreamDecoder *decoder;
@@ -370,7 +370,7 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
f_length = mame_ftell(f);
mame_fseek(f, 0, 0);
// For small samples, lets force them to pre load into memory.
/* For small samples, lets force them to pre load into memory. */
if (f_length <= GAME_SAMPLE_LARGE)
b_data = 1;
@@ -378,10 +378,10 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
flac_file.position = 0;
flac_file.decoded_size = 0;
// Allocate space for the data.
/* Allocate space for the data. */
flac_file.rawdata = malloc(f_length);
// Read the sample data in.
/* Read the sample data in. */
mame_fread(f, flac_file.rawdata, f_length);
decoder = FLAC__stream_decoder_new();
@@ -391,12 +391,12 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
}
if(FLAC__stream_decoder_init_stream(decoder, my_read_callback,
NULL, //my_seek_callback, // or NULL
NULL, //my_tell_callback, // or NULL
NULL, //my_length_callback, // or NULL
NULL, //my_eof_callback, // or NULL
NULL, /*my_seek_callback, // or NULL */
NULL, /*my_tell_callback, // or NULL */
NULL, /*my_length_callback, // or NULL */
NULL, /*my_eof_callback, // or NULL */
my_write_callback,
my_metadata_callback, //my_metadata_callback, // or NULL
my_metadata_callback, /*my_metadata_callback, // or NULL */
my_error_callback,
(void*)&flac_file) != FLAC__STREAM_DECODER_INIT_STATUS_OK)
return NULL;
@@ -407,14 +407,14 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
return NULL;
}
// only Mono supported
/* only Mono supported */
if (flac_file.channels != 1) {
free(flac_file.rawdata);
FLAC__stream_decoder_delete(decoder);
return NULL;
}
// only support 16 bit.
/* only support 16 bit. */
if (flac_file.bits_per_sample != 16) {
free(flac_file.rawdata);
FLAC__stream_decoder_delete(decoder);
@@ -422,7 +422,7 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
}
if (b_data == 1)
result = auto_malloc(sizeof(struct GameSample) + (flac_file.total_samples * (flac_file.bits_per_sample / 8)));
result = malloc(sizeof(struct GameSample) + (flac_file.total_samples * (flac_file.bits_per_sample / 8)));
else
result = malloc(sizeof(struct GameSample));
@@ -436,7 +436,7 @@ static struct GameSample *read_wav_sample(mame_file *f, const char *gamename, co
flac_file.write_position = 0;
if (b_data == 1) {
flac_file.write_data = result->data;
flac_file.write_data = (INT16 *)result->data;
if (FLAC__stream_decoder_process_until_end_of_stream (decoder) != FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM) {
free(flac_file.rawdata);
@@ -472,7 +472,7 @@ void readsample(struct GameSample *SampleInfo, int channel, struct GameSamples *
mame_file *f;
struct GameSample *SampleFile;
// Try opening the file.
/* Try opening the file. */
f = mame_fopen(SampleInfo->gamename,SampleInfo->filename,SampleInfo->filetype,0);
if (f != 0) {
@@ -483,10 +483,10 @@ void readsample(struct GameSample *SampleInfo, int channel, struct GameSamples *
strcpy(gamename, SampleInfo->gamename);
strcpy(filename, SampleInfo->filename);
// Free up some memory.
/* Free up some memory. */
free(SamplesData->sample[channel]);
// Reload or load a sample into memory.
/* Reload or load a sample into memory. */
SamplesData->sample[channel] = read_wav_sample(f, gamename, filename, filetype, load);
mame_fclose(f);
@@ -520,7 +520,7 @@ struct GameSamples *readsamples(const char **samplenames,const char *basename)
if (!i) return 0;
if ((samples = auto_malloc(sizeof(struct GameSamples) + (i-1)*sizeof(struct GameSample))) == 0)
if ((samples = malloc(sizeof(struct GameSamples) + (i-1)*sizeof(struct GameSample))) == 0)
return 0;
samples->total = i;
@@ -535,7 +535,7 @@ struct GameSamples *readsamples(const char **samplenames,const char *basename)
if (samplenames[i+skipfirst][0])
{
// Try opening FLAC samples first.
/* Try opening FLAC samples first. */
if ((f = mame_fopen(basename,samplenames[i+skipfirst],FILETYPE_SAMPLE_FLAC,0)) == 0)
{
if (skipfirst) {
@@ -543,7 +543,7 @@ struct GameSamples *readsamples(const char **samplenames,const char *basename)
f_skip = 1;
}
// Fall back to WAV if it exists.
/* Fall back to WAV if it exists. */
if (!f)
{
f_type = 1;
@@ -557,17 +557,17 @@ struct GameSamples *readsamples(const char **samplenames,const char *basename)
}
}
// Get sample info. Small sample files will pre load into memory at this point.
/* Get sample info. Small sample files will pre load into memory at this point. */
if (f != 0)
{
// Open FLAC.
/* Open FLAC. */
if(f_type == 0) {
if (f_skip == 1)
samples->sample[i] = read_wav_sample(f, samplenames[0]+1, samplenames[i+skipfirst], FILETYPE_SAMPLE_FLAC, 0);
else
samples->sample[i] = read_wav_sample(f, basename, samplenames[i+skipfirst], FILETYPE_SAMPLE_FLAC, 0);
}
else { // Open WAV.
else { /* Open WAV. */
if (f_skip == 1)
samples->sample[i] = read_wav_sample(f, samplenames[0]+1, samplenames[i+skipfirst], FILETYPE_SAMPLE, 0);
else
@@ -1136,7 +1136,7 @@ const struct RomModule *rom_first_chunk(const struct RomModule *romp)
const struct RomModule *rom_next_chunk(const struct RomModule *romp)
{
romp++;
return (ROMENTRY_ISCONTINUE(romp)) ? romp : NULL;
return (ROMENTRY_ISCONTINUE(romp) || ROMENTRY_ISIGNORE(romp)) ? romp : NULL;
}
@@ -1153,46 +1153,26 @@ const struct RomModule *rom_next_chunk(const struct RomModule *romp)
int determine_bios_rom(const struct SystemBios *bios)
{
const struct SystemBios *firstbios = bios;
/* set to default */
int bios_no = 0;
/* Not system_bios_0 and options.bios is set */
if(bios && (options.bios != NULL))
{
/* Allow '-bios n' to still be used */
/* no actually in mame2003 we don't use the old numerical bios index
we use the core option & option.bios string */
/*
while(!BIOSENTRY_ISEND(bios))
{
char bios_number[3];
if(!strcmp(bios_number, options.bios))
bios_no = bios->value;
bios++;
}
bios = firstbios;
*/
/* Test for bios short names */
while(!BIOSENTRY_ISEND(bios))
{
if(strcmp(bios->_name, options.bios) == 0)
{
log_cb(RETRO_LOG_INFO, LOGPRE "Using BIOS: %s\n", options.bios);
{
log_cb(RETRO_LOG_INFO, LOGPRE "Using BIOS: %s\n", options.bios);
bios_no = bios->value;
break;
}
break;
}
bios++;
}
if(string_is_empty(options.bios))
log_cb(RETRO_LOG_INFO, LOGPRE "No matching BIOS found. Using default system BIOS.");
if(string_is_empty(options.bios))
log_cb(RETRO_LOG_INFO, LOGPRE "No matching BIOS found. Using default system BIOS.");
}
return bios_no;
@@ -1473,10 +1453,10 @@ static int open_rom_file(struct rom_load_data *romdata, const struct RomModule *
attempts any kind of load by checksum supported by the archives. */
romdata->file = NULL;
for (drv = Machine->gamedrv; !romdata->file && drv; drv = drv->clone_of)
{
if (drv->name && *drv->name)
romdata->file = mame_fopen_rom(drv->name, ROM_GETNAME(romp), ROM_GETHASHDATA(romp));
}
/* return the result */
return (romdata->file != NULL);
@@ -1559,7 +1539,7 @@ static int read_rom_data(struct rom_load_data *romdata, const struct RomModule *
return 0;
numbytes -= bytesleft;
log_cb(RETRO_LOG_DEBUG, LOGPRE " Copying to %08X\n", (int)base);
log_cb(RETRO_LOG_DEBUG, LOGPRE " Copying to %08lX\n", (FPTR)base);
/* unmasked cases */
if (datamask == 0xff)
@@ -1644,7 +1624,7 @@ static int fill_rom_data(struct rom_load_data *romdata, const struct RomModule *
}
/* fill the data (filling value is stored in place of the hashdata) */
memset(base, (UINT32)ROM_GETHASHDATA(romp) & 0xff, numbytes);
memset(base, (FPTR)ROM_GETHASHDATA(romp) & 0xff, numbytes);
return 1;
}
@@ -1658,7 +1638,7 @@ static int copy_rom_data(struct rom_load_data *romdata, const struct RomModule *
UINT8 *base = romdata->regionbase + ROM_GETOFFSET(romp);
int srcregion = ROM_GETFLAGS(romp) >> 24;
UINT32 numbytes = ROM_GETLENGTH(romp);
UINT32 srcoffs = (UINT32)ROM_GETHASHDATA(romp); /* srcoffset in place of hashdata */
UINT32 srcoffs = (UINT32)(FPTR)ROM_GETHASHDATA(romp);
UINT8 *srcbase;
/* make sure we copy within the region space */
@@ -1704,6 +1684,7 @@ static int copy_rom_data(struct rom_load_data *romdata, const struct RomModule *
static int process_rom_entries(struct rom_load_data *romdata, const struct RomModule *romp)
{
UINT32 lastflags = 0;
const struct RomModule *fallback_romp = romp;
/* loop until we hit the end of this region */
while (!ROMENTRY_ISREGIONEND(romp))
@@ -1714,6 +1695,9 @@ static int process_rom_entries(struct rom_load_data *romdata, const struct RomMo
log_cb(RETRO_LOG_ERROR, LOGPRE "Error in RomModule definition: ROM_CONTINUE not preceded by ROM_LOAD\n");
goto fatalerror;
}
/* if this is an ignore entry, it's invalid */
if (ROMENTRY_ISIGNORE(romp))
fatalerror("Error in RomModule definition: ROM_IGNORE not preceded by ROM_LOAD\n");
/* if this is a reload entry, it's invalid */
if (ROMENTRY_ISRELOAD(romp))
@@ -1747,7 +1731,16 @@ static int process_rom_entries(struct rom_load_data *romdata, const struct RomMo
/* open the file */
log_cb(RETRO_LOG_INFO, LOGPRE "Opening ROM file: %s\n", ROM_GETNAME(romp));
if (!open_rom_file(romdata, romp))
handle_missing_file(romdata, romp);
{
if (ROM_GETBIOSFLAGS(romp) == (system_bios+1))
{
log_cb(RETRO_LOG_WARN, LOGPRE "%s NOT FOUND! Attempt fallback to default bios.\n", ROM_GETNAME(romp));
if (!open_rom_file(romdata, &fallback_romp[0])) /* try default bios instead */
handle_missing_file(romdata, romp);
}
else
handle_missing_file(romdata, romp);
}
/* loop until we run out of reloads */
do
@@ -1767,17 +1760,20 @@ static int process_rom_entries(struct rom_load_data *romdata, const struct RomMo
explength += ROM_GETLENGTH(&modified_romp);
/* attempt to read using the modified entry */
if (!ROMENTRY_ISIGNORE(&modified_romp))
{
readresult = read_rom_data(romdata, &modified_romp);
if (readresult == -1)
goto fatalerror;
}
while (ROMENTRY_ISCONTINUE(romp));
}
while (ROMENTRY_ISCONTINUE(romp) || ROMENTRY_ISIGNORE(romp));
/* if this was the first use of this file, verify the length and CRC */
if (baserom)
{
log_cb(RETRO_LOG_DEBUG, LOGPRE "Verifying length (%X) and checksums\n", explength);
verify_length_and_hash(romdata, ROM_GETNAME(baserom), explength, ROM_GETHASHDATA(baserom));
verify_length_and_hash(romdata, ROM_GETNAME(baserom), explength, ROM_GETHASHDATA(baserom));
log_cb(RETRO_LOG_DEBUG, LOGPRE "Length and checksum verify finished\n");
}
@@ -1980,7 +1976,7 @@ int rom_load(const struct RomModule *romp)
/* remember the base and length */
romdata.regionlength = memory_region_length(regiontype);
romdata.regionbase = memory_region(regiontype);
log_cb(RETRO_LOG_DEBUG, LOGPRE "Allocated %X bytes @ %08X\n", romdata.regionlength, (int)romdata.regionbase);
log_cb(RETRO_LOG_DEBUG, LOGPRE "Allocated %X bytes @ %08lX\n", romdata.regionlength, (FPTR)romdata.regionbase);
/* clear the region if it's requested */
if (ROMREGION_ISERASE(region))
+28 -4
View File
@@ -40,6 +40,12 @@ struct mame_bitmap
void (*plot_box)(struct mame_bitmap *bitmap,int x,int y,int width,int height,pen_t pen);
};
#define BITMAP_ADDR(bitmap, type, y, x) \
((type *)(bitmap)->base + (y) * (bitmap)->rowpixels + (x))
#define BITMAP_ADDR8(bitmap, y, x) BITMAP_ADDR(bitmap, UINT8, y, x)
#define BITMAP_ADDR16(bitmap, y, x) BITMAP_ADDR(bitmap, UINT16, y, x)
#define BITMAP_ADDR32(bitmap, y, x) BITMAP_ADDR(bitmap, UINT32, y, x)
struct RomModule
{
@@ -97,7 +103,7 @@ struct GameSamples
struct GameSample *sample[1]; /* extendable */
};
#define GAME_SAMPLE_LARGE 10000000 // 10MB
#define GAME_SAMPLE_LARGE 10000000 /* 10MB */
/***************************************************************************
@@ -165,7 +171,8 @@ enum
#define ROMENTRYTYPE_CONTINUE 4 /* this entry continues loading the previous ROM */
#define ROMENTRYTYPE_FILL 5 /* this entry fills an area with a constant value */
#define ROMENTRYTYPE_COPY 6 /* this entry copies data from another region/offset */
#define ROMENTRYTYPE_COUNT 7
#define ROMENTRYTYPE_IGNORE 7 /* this entry continues loading the previous ROM but throws the data away */
#define ROMENTRYTYPE_COUNT 8
#define ROMENTRY_REGION ((const char *)ROMENTRYTYPE_REGION)
#define ROMENTRY_END ((const char *)ROMENTRYTYPE_END)
@@ -173,9 +180,10 @@ enum
#define ROMENTRY_CONTINUE ((const char *)ROMENTRYTYPE_CONTINUE)
#define ROMENTRY_FILL ((const char *)ROMENTRYTYPE_FILL)
#define ROMENTRY_COPY ((const char *)ROMENTRYTYPE_COPY)
#define ROMENTRY_IGNORE ((const char *)ROMENTRYTYPE_IGNORE)
/* ----- per-entry macros ----- */
#define ROMENTRY_GETTYPE(r) ((FPTR)(r)->_name)
#define ROMENTRY_GETTYPE(r) ((FPTR)(r)->_name)
#define ROMENTRY_ISSPECIAL(r) (ROMENTRY_GETTYPE(r) < ROMENTRYTYPE_COUNT)
#define ROMENTRY_ISFILE(r) (!ROMENTRY_ISSPECIAL(r))
#define ROMENTRY_ISREGION(r) ((r)->_name == ROMENTRY_REGION)
@@ -184,6 +192,7 @@ enum
#define ROMENTRY_ISCONTINUE(r) ((r)->_name == ROMENTRY_CONTINUE)
#define ROMENTRY_ISFILL(r) ((r)->_name == ROMENTRY_FILL)
#define ROMENTRY_ISCOPY(r) ((r)->_name == ROMENTRY_COPY)
#define ROMENTRY_ISIGNORE(r) ((r)->_name == ROMENTRY_IGNORE)
#define ROMENTRY_ISREGIONEND(r) (ROMENTRY_ISREGION(r) || ROMENTRY_ISEND(r))
@@ -228,7 +237,7 @@ enum
#define ROMREGION_DATATYPEDISK 0x00010000
/* ----- per-region macros ----- */
#define ROMREGION_GETTYPE(r) ((UINT32)(r)->_hashdata)
#define ROMREGION_GETTYPE(r) ((FPTR)(r)->_hashdata)
#define ROMREGION_GETLENGTH(r) ((r)->_length)
#define ROMREGION_GETFLAGS(r) ((r)->_flags)
#define ROMREGION_GETWIDTH(r) (8 << (ROMREGION_GETFLAGS(r) & ROMREGION_WIDTHMASK))
@@ -336,6 +345,7 @@ enum
#define ROM_RELOAD(offset,length) ROMX_LOAD(ROMENTRY_RELOAD, offset, length, 0, ROM_INHERITFLAGS)
#define ROM_FILL(offset,length,value) ROM_LOAD(ROMENTRY_FILL, offset, length, (const char*)value)
#define ROM_COPY(rgn,srcoffset,offset,length) ROMX_LOAD(ROMENTRY_COPY, offset, length, (const char*)srcoffset, (rgn) << 24)
#define ROM_IGNORE(length) ROMX_LOAD(ROMENTRY_IGNORE, 0, length, 0, ROM_INHERITFLAGS)
/* ----- nibble loading macros ----- */
#define ROM_LOAD_NIB_HIGH(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI)
@@ -352,6 +362,12 @@ enum
#define ROM_LOAD32_WORD_SWAP(name,offset,length,hash)ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_REVERSE | ROM_SKIP(2))
#define ROM_LOAD32_DWORD(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_GROUPDWORD)
/* ----- new-style 64-bit loading macros ----- */
#define ROM_LOAD64_BYTE(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_SKIP(7))
#define ROM_LOAD64_WORD(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_SKIP(6))
#define ROM_LOAD64_WORD_SWAP(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_REVERSE | ROM_SKIP(6))
#define ROM_LOAD64_DWORD_SWAP(name,offset,length,hash) ROMX_LOAD(name, offset, length, hash, ROM_GROUPDWORD | ROM_REVERSE | ROM_SKIP(4))
/* ----- disk loading macros ----- */
#define DISK_REGION(type) ROM_REGION(1, type, ROMREGION_DATATYPEDISK)
#define DISK_IMAGE(name,idx,hash) ROMMD5_LOAD(name, idx, 0, hash, DISK_READWRITE)
@@ -552,6 +568,14 @@ void printromlist(const struct RomModule *romp,const char *name);
(BIT(val, B1) << 1) | \
(BIT(val, B0) << 0))
/* Standard MIN/MAX macros */
#ifndef MIN
#define MIN(x,y) ((x) < (y) ? (x) : (y))
#endif
#ifndef MAX
#define MAX(x,y) ((x) > (y) ? (x) : (y))
#endif
#ifdef __cplusplus
}
+23 -21
View File
@@ -10508,11 +10508,12 @@ const char *mk_get_ctrl_name(int type)
{
switch(type)
{
case IPT_BUTTON1: return BTN1 "High Punch";
case IPT_BUTTON2: return BTN2 "Block";
case IPT_BUTTON3: return BTN3 "High Kick";
case IPT_BUTTON4: return BTN4 "Low Punch";
case IPT_BUTTON5: return BTN5 "Low Kick";
case IPT_BUTTON1: return BTN1 "Low Punch";
case IPT_BUTTON2: return BTN2 "Low Kick";
case IPT_BUTTON3: return BTN3 "High Punch";
case IPT_BUTTON4: return BTN4 "High Kick";
case IPT_BUTTON5: return BTN5 "Block";
case IPT_BUTTON6: return BTN6 "Block 2";
case IPT_JOYSTICK_UP: return "Jump";
case IPT_JOYSTICK_DOWN: return "Duck";
case IPT_JOYSTICK_LEFT: return "Move Left";
@@ -10535,11 +10536,11 @@ const char *mk3_get_ctrl_name(int type)
{
switch(type)
{
case IPT_BUTTON1: return BTN1 "High Punch";
case IPT_BUTTON2: return BTN2 "Block";
case IPT_BUTTON3: return BTN3 "High Kick";
case IPT_BUTTON4: return BTN4 "Low Punch";
case IPT_BUTTON5: return BTN5 "Low Kick";
case IPT_BUTTON1: return BTN1 "Low Punch";
case IPT_BUTTON2: return BTN2 "Low Kick";
case IPT_BUTTON3: return BTN3 "High Punch";
case IPT_BUTTON4: return BTN4 "High Kick";
case IPT_BUTTON5: return BTN5 "Block";
case IPT_BUTTON6: return BTN6 "Run";
case IPT_JOYSTICK_UP: return "Jump";
case IPT_JOYSTICK_DOWN: return "Duck";
@@ -10563,11 +10564,11 @@ const char *mk4_get_ctrl_name(int type)
{
switch(type)
{
case IPT_BUTTON1: return BTN1 "High Punch";
case IPT_BUTTON2: return BTN2 "Block";
case IPT_BUTTON3: return BTN3 "High Kick";
case IPT_BUTTON4: return BTN4 "Low Punch";
case IPT_BUTTON5: return BTN5 "Low Kick";
case IPT_BUTTON1: return BTN1 "Low Punch";
case IPT_BUTTON2: return BTN2 "Low Kick";
case IPT_BUTTON3: return BTN3 "High Punch";
case IPT_BUTTON4: return BTN4 "High Kick";
case IPT_BUTTON5: return BTN5 "Block";
case IPT_BUTTON6: return BTN6 "Run";
case IPT_JOYSTICK_UP: return "Jump";
case IPT_JOYSTICK_DOWN: return "Duck";
@@ -10591,11 +10592,12 @@ const char *mk2_get_ctrl_name(int type)
{
switch(type)
{
case IPT_BUTTON1: return BTN1 "High Punch";
case IPT_BUTTON2: return BTN2 "Block";
case IPT_BUTTON3: return BTN3 "High Kick";
case IPT_BUTTON4: return BTN4 "Low Punch";
case IPT_BUTTON5: return BTN5 "Low Kick";
case IPT_BUTTON1: return BTN1 "Low Punch";
case IPT_BUTTON2: return BTN2 "Low Kick";
case IPT_BUTTON3: return BTN3 "High Punch";
case IPT_BUTTON4: return BTN4 "High Kick";
case IPT_BUTTON5: return BTN5 "Block";
case IPT_BUTTON6: return BTN6 "Block 2";
case IPT_JOYSTICK_UP: return "Jump";
case IPT_JOYSTICK_DOWN: return "Duck";
case IPT_JOYSTICK_LEFT: return "Move Left";
@@ -11781,7 +11783,7 @@ const struct ControlInfo polepos2_ctrl =
false, /* 45_degree_rotation for joystick(s) */
false, /* alternating_controls */
false, /* mirrored_controls */
"Button1 is actually spacbar by default in this game to avoid conflicts with the pedals. The high / low shifter is emulated in mame by a single button toggle. The upright cab only uses the gas pedal while the cockpit uses both. This is a dipswitch setting that you can alter if you wish to better suit your layout.", /* control_details */
"Button 1 is actually the spacebar by default to avoid conflicts with the pedals. The high / low shifter is emulated in mame by a single button toggle. The upright cab only uses the gas pedal while the cockpit uses both. This is a dipswitch setting that you can alter if you wish to better suit your layout.", /* control_details */
&polepos2_get_ctrl_name
};
+1 -1
View File
@@ -3226,4 +3226,4 @@ const char *zwackery_get_ctrl_name(int type);
extern const struct ControlInfo zzyzzyxx_ctrl;
const char *zzyzzyxx_get_ctrl_name(int type);
#endif /* CONTROLS_H */
#endif /* CONTROLS_H */
+4 -1
View File
@@ -894,6 +894,9 @@ static void HandleMemSingle( data32_t insn )
} /* HandleMemSingle */
#define IsNeg(i) ((i) >> 31)
#define IsPos(i) ((~(i)) >> 31)
/* Set NZCV flags for ADDS / SUBS */
#define HandleALUAddFlags(rd, rn, op2) \
@@ -902,7 +905,7 @@ static void HandleMemSingle( data32_t insn )
((R15 &~ (N_MASK | Z_MASK | V_MASK | C_MASK)) \
| (((!SIGN_BITS_DIFFER(rn, op2)) && SIGN_BITS_DIFFER(rn, rd)) \
<< V_BIT) \
| (((~(rn)) < (op2)) << C_BIT) \
| (((IsNeg(rn) & IsPos(op2)) | (IsNeg(rn) & IsPos(rd)) | (IsPos(op2) & IsPos(rd))) ? C_MASK : 0) \
| HandleALUNZFlags(rd)) \
+ 4; \
else R15 += 4;
+13
View File
@@ -470,6 +470,19 @@ void konami_set_reg(int regnum, unsigned val)
/****************************************************************************/
void konami_init(void)
{
int cpu = cpu_getactivecpu();
state_save_register_UINT16("konami", cpu, "PC", &PC, 1);
state_save_register_UINT16("konami", cpu, "U", &U, 1);
state_save_register_UINT16("konami", cpu, "S", &S, 1);
state_save_register_UINT16("konami", cpu, "X", &X, 1);
state_save_register_UINT16("konami", cpu, "Y", &Y, 1);
state_save_register_UINT16("konami", cpu, "D", &D, 1);
state_save_register_UINT8("konami", cpu, "DP", &DP, 1);
state_save_register_UINT8("konami", cpu, "CC", &CC, 1);
state_save_register_UINT8("konami", cpu, "INT", &konami.int_state, 1);
state_save_register_UINT8("konami", cpu, "NMI", &konami.nmi_state, 1);
state_save_register_UINT8("konami", cpu, "IRQ", &konami.irq_state[0], 1);
state_save_register_UINT8("konami", cpu, "FIRQ", &konami.irq_state[1], 1);
}
void konami_reset(void *param)
+2 -13
View File
@@ -1,19 +1,10 @@
#include "c68000.h"
#include "driver.h"
#include "cpuintrf.h"
#include "cyclone.h"
#include "memory.h"
typedef struct
{
struct Cyclone regs;
int pending_interrupts;
int (*MAMEIrqCallback)(int int_level);
} Cyclone_Regs;
static Cyclone_Regs cyclone;
int cyclone_ICount;
Cyclone_Regs cyclone;
static unsigned int MyCheckPc(unsigned int pc)
{
@@ -129,9 +120,7 @@ unsigned cyclone_get_context(void *dst)
int cyclone_execute(int cycles)
{
cyclone.regs.cycles = cycles;
cyclone_ICount = cyclone.regs.cycles;
CycloneRun(&cyclone.regs);
cyclone_ICount = cyclone.regs.cycles;
return (cycles - cyclone.regs.cycles);
}
@@ -263,7 +252,7 @@ const char *cyclone_info(void *context, int regnum)
{
case CPU_INFO_NAME: return "Cyclone 68000";
case CPU_INFO_FAMILY: return "Motorola 68K";
case CPU_INFO_VERSION: return "v0.0088";
case CPU_INFO_VERSION: return "v0.0099";
case CPU_INFO_FILE: return __FILE__;
case CPU_INFO_CREDITS: return "Copyright Copyright 2004-2007 Dave, Reesy and Notaz. All rights reserved";
}
+11 -1
View File
@@ -1,7 +1,17 @@
#ifndef C68000_H
#define C68000_H
#include "cyclone.h"
extern int cyclone_ICount;
typedef struct
{
struct Cyclone regs;
int pending_interrupts;
int (*MAMEIrqCallback)(int int_level);
} Cyclone_Regs;
extern Cyclone_Regs cyclone;
#define cyclone_ICount cyclone.regs.cycles
#define cyclone_INT_NONE 0
#define cyclone_IRQ_1 1
File diff suppressed because it is too large. Load diff
+18
View File
@@ -122,6 +122,24 @@ static int no_interrupt;
static UINT8 parity_table[256];
#include "cpuintrf.h"
#define FETCHOP fetchop()
const UINT8* v25v35_decryptiontable = 0;
INLINE UINT8 fetchop(void)
{
UINT8 ret = cpu_readop((I.sregs[CS]<<4)+I.ip++);
if (I.MF == 1)
if (v25v35_decryptiontable)
{
ret = v25v35_decryptiontable[ret];
}
return ret;
}
/***************************************************************************/
void nec_reset (void *param)
-1
View File
@@ -88,7 +88,6 @@ typedef enum { AL,AH,CL,CH,DL,DH,BL,BH,SPL,SPH,BPL,BPH,IXL,IXH,IYL,IYH } BREGS;
#define write_port(port,val) cpu_writeport16(port,val)
#define FETCH (cpu_readop_arg((I.sregs[CS]<<4)+I.ip++))
#define FETCHOP (cpu_readop((I.sregs[CS]<<4)+I.ip++))
#define FETCHWORD(var) { var=cpu_readop_arg((((I.sregs[CS]<<4)+I.ip)))+(cpu_readop_arg((((I.sregs[CS]<<4)+I.ip+1)))<<8); I.ip+=2; }
#define PUSH(val) { I.regs.w[SP]-=2; WriteWord((((I.sregs[SS]<<4)+I.regs.w[SP])),val); }
#define POP(var) { var = ReadWord((((I.sregs[SS]<<4)+I.regs.w[SP]))); I.regs.w[SP]+=2; }
+11 -11
View File
@@ -1,21 +1,21 @@
// NOTE for bit string/field addressing
// ************************************
// modDim must be passed as 10 for bit string instructions,
// and as 11 for bit field instructions
/* NOTE for bit string/field addressing */
/* ************************************ */
/* modDim must be passed as 10 for bit string instructions, */
/* and as 11 for bit field instructions */
// Output variables for ReadAMAddress()
/* Output variables for ReadAMAddress() */
static UINT8 amFlag;
static UINT32 amOut;
static UINT32 bamOffset;
// Appo temp var
/* Appo temp var */
static UINT32 amLength1,amLength2;
// Global vars used by AM functions
/* Global vars used by AM functions */
static UINT32 modAdd;
static UINT8 modM;
static UINT8 modVal;
@@ -25,10 +25,10 @@ static UINT16 modWriteValH;
static UINT32 modWriteValW;
static UINT8 modDim;
// Addressing mode functions and tables
#include "am1.c" // ReadAM
#include "am2.c" // ReadAMAddress
#include "am3.c" // WriteAM
/* Addressing mode functions and tables */
#include "am1.c" /* ReadAM */
#include "am2.c" /* ReadAMAddress */
#include "am3.c" /* WriteAM */
/*
Input:
+5 -5
View File
@@ -1,6 +1,6 @@
// AM1 Functions (for ReadAM)
// **************************
/* AM1 Functions (for ReadAM) */
/* ************************** */
static UINT32 am1Register(void)
{
@@ -1071,7 +1071,7 @@ static UINT32 am1Immediate(void)
break;
}
// It should not be here! Written to avoid warning
/* It should not be here! Written to avoid warning */
assert(0);
return 1;
}
@@ -1085,8 +1085,8 @@ static UINT32 am1ImmediateQuick(void)
// AM1 Tables (for ReadAM)
// ***********************
/* AM1 Tables (for ReadAM) */
/* *********************** */
static UINT32 am1Error1(void)
{
+6 -6
View File
@@ -1,6 +1,6 @@
// AM2 Functions (for ReadAMAddress)
// *********************************
/* AM2 Functions (for ReadAMAddress) */
/* ********************************* */
static UINT32 am2Register(void)
{
@@ -940,19 +940,19 @@ static UINT32 bam2DirectAddressDeferredIndexed(void)
static UINT32 am2Immediate(void)
{
// Fuck off LDPR
/* Fuck off LDPR */
return am1Immediate();
}
static UINT32 am2ImmediateQuick(void)
{
// fuck off LDPR
/* fuck off LDPR */
return am1ImmediateQuick();
}
// AM2 Tables (for ReadAMAddress)
// ******************************
/* AM2 Tables (for ReadAMAddress) */
/* ****************************** */
static UINT32 am2Error1(void)
{
+4 -4
View File
@@ -1,6 +1,6 @@
// AM3 Functions (for ReadAM)
// **************************
/* AM3 Functions (for ReadAM) */
/* ************************** */
static UINT32 am3Register(void)
{
@@ -730,8 +730,8 @@ static UINT32 am3ImmediateQuick(void)
// AM3 Tables (for ReadAMAddress)
// ******************************
/* AM3 Tables (for ReadAMAddress) */
/* ****************************** */
static UINT32 am3Error1(void)
{
+78 -78
View File
@@ -78,13 +78,13 @@ static UINT8 f12Flag1, f12Flag2;
static UINT8 if12;
// Decode the first operand of the instruction and prepare
// writing to the second operand.
/* Decode the first operand of the instruction and prepare */
/* writing to the second operand. */
static void F12DecodeFirstOperand(UINT32 (*DecodeOp1)(void), UINT8 dim1)
{
if12 = OpRead8(PC + 1);
// Check if F1 or F2
/* Check if F1 or F2 */
if (if12 & 0x80)
{
modDim = dim1;
@@ -96,7 +96,7 @@ static void F12DecodeFirstOperand(UINT32 (*DecodeOp1)(void), UINT8 dim1)
}
else
{
// Check D flag
/* Check D flag */
if (if12 & 0x20)
{
modDim = dim1;
@@ -140,7 +140,7 @@ static void F12WriteSecondOperand(UINT8 dim2)
{
modDim = dim2;
// Check if F1 or F2
/* Check if F1 or F2 */
if (if12 & 0x80)
{
modM = if12 & 0x20;
@@ -150,7 +150,7 @@ static void F12WriteSecondOperand(UINT8 dim2)
}
else
{
// Check D flag
/* Check D flag */
if (if12 & 0x20)
{
switch (dim2)
@@ -180,12 +180,12 @@ static void F12WriteSecondOperand(UINT8 dim2)
// Decode both format 1/2 operands
/* Decode both format 1/2 operands */
static void F12DecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*DecodeOp2)(void), UINT8 dim2)
{
UINT8 _if12 = OpRead8(PC + 1);
// Check if F1 or F2
/* Check if F1 or F2 */
if (_if12 & 0x80)
{
modDim = dim1;
@@ -204,7 +204,7 @@ static void F12DecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*De
}
else
{
// Check D flag
/* Check D flag */
if (_if12 & 0x20)
{
if (DecodeOp2==ReadAMAddress)
@@ -423,7 +423,7 @@ static UINT32 opCHKAR(void)
{
F12DecodeOperands(ReadAM,0,ReadAM,0);
// No MMU and memory permissions yet @@@
/* No MMU and memory permissions yet @@@ */
_Z = 1;
_CY = 0;
_S = 0;
@@ -435,7 +435,7 @@ static UINT32 opCHKAW(void)
{
F12DecodeOperands(ReadAM,0,ReadAM,0);
// No MMU and memory permissions yet @@@
/* No MMU and memory permissions yet @@@ */
_Z = 1;
_CY = 0;
_S = 0;
@@ -447,7 +447,7 @@ static UINT32 opCHKAE(void)
{
F12DecodeOperands(ReadAM,0,ReadAM,0);
// No MMU and memory permissions yet @@@
/* No MMU and memory permissions yet @@@ */
_Z = 1;
_CY = 0;
_S = 0;
@@ -805,14 +805,14 @@ static UINT32 opLDTASK(void)
v60ReloadStack();
// 31 registers supported, _not_ 32
/* 31 registers supported, _not_ 32 */
for(i=0; i<31; i++)
if(f12Op1 & (1<<i)) {
v60.reg[i] = MemRead32(f12Op2);
f12Op2 += 4;
}
// #### Ignore the virtual addressing crap.
/* #### Ignore the virtual addressing crap. */
F12END();
}
@@ -925,8 +925,8 @@ static UINT32 opMOVTHB(void)
F12DecodeFirstOperand(ReadAM,1);
modWriteValB = (UINT8)(f12Op1&0xFF);
// Check for overflow: the truncated bits must match the sign
// of the result, otherwise overflow
/* Check for overflow: the truncated bits must match the sign */
/* of the result, otherwise overflow */
if (((modWriteValB&0x80)==0x80 && ((f12Op1&0xFF00)==0xFF00)) ||
((modWriteValB&0x80)==0 && ((f12Op1&0xFF00)==0x0000)))
_OV = 0;
@@ -942,8 +942,8 @@ static UINT32 opMOVTWB(void)
F12DecodeFirstOperand(ReadAM,2);
modWriteValB = (UINT8)(f12Op1&0xFF);
// Check for overflow: the truncated bits must match the sign
// of the result, otherwise overflow
/* Check for overflow: the truncated bits must match the sign */
/* of the result, otherwise overflow */
if (((modWriteValB&0x80)==0x80 && ((f12Op1&0xFFFFFF00)==0xFFFFFF00)) ||
((modWriteValB&0x80)==0 && ((f12Op1&0xFFFFFF00)==0x00000000)))
_OV = 0;
@@ -959,8 +959,8 @@ static UINT32 opMOVTWH(void)
F12DecodeFirstOperand(ReadAM,2);
modWriteValH = (UINT16)(f12Op1&0xFFFF);
// Check for overflow: the truncated bits must match the sign
// of the result, otherwise overflow
/* Check for overflow: the truncated bits must match the sign */
/* of the result, otherwise overflow */
if (((modWriteValH&0x8000)==0x8000 && ((f12Op1&0xFFFF0000)==0xFFFF0000)) ||
((modWriteValH&0x8000)==0 && ((f12Op1&0xFFFF0000)==0x00000000)))
_OV = 0;
@@ -1640,7 +1640,7 @@ static UINT32 opSETF(void)
{
F12DecodeFirstOperand(ReadAM,0);
// Normalize the flags
/* Normalize the flags */
NORMALIZEFLAGS();
switch (f12Op1 & 0xF)
@@ -1726,7 +1726,7 @@ static UINT32 opSETF(void)
}
*/
// During the shift, the overflow is set if the sign bit changes at any point during the shift
/* During the shift, the overflow is set if the sign bit changes at any point during the shift */
#define SHIFTLEFT_OV(val, count, bitsize) \
{\
UINT32 tmp; \
@@ -1765,7 +1765,7 @@ static UINT32 opSHAB(void)
count=(INT8)(f12Op1&0xFF);
// Special case: destination unchanged, flags set
/* Special case: destination unchanged, flags set */
if (count == 0)
{
_CY = _OV = 0;
@@ -1775,16 +1775,16 @@ static UINT32 opSHAB(void)
{
SHIFTLEFT_OV(appb, count, 8);
// @@@ Undefined what happens to CY when count >= bitsize
/* @@@ Undefined what happens to CY when count >= bitsize */
SHIFTLEFT_CY(appb, count, 8);
// do the actual shift...
/* do the actual shift... */
if (count >= 8)
appb = 0;
else
appb <<= count;
// and set zero and sign
/* and set zero and sign */
SetSZPF_Byte(appb);
}
else
@@ -1802,7 +1802,7 @@ static UINT32 opSHAB(void)
SetSZPF_Byte(appb);
}
// mame_printf_debug("SHAB: %x _CY: %d _Z: %d _OV: %d _S: %d\n", appb, _CY, _Z, _OV, _S);
/* mame_printf_debug("SHAB: %x _CY: %d _Z: %d _OV: %d _S: %d\n", appb, _CY, _Z, _OV, _S); */
F12STOREOP2BYTE();
F12END();
@@ -1819,7 +1819,7 @@ static UINT32 opSHAH(void)
count=(INT8)(f12Op1&0xFF);
// Special case: destination unchanged, flags set
/* Special case: destination unchanged, flags set */
if (count == 0)
{
_CY = _OV = 0;
@@ -1829,16 +1829,16 @@ static UINT32 opSHAH(void)
{
SHIFTLEFT_OV(apph, count, 16);
// @@@ Undefined what happens to CY when count >= bitsize
/* @@@ Undefined what happens to CY when count >= bitsize */
SHIFTLEFT_CY(apph, count, 16);
// do the actual shift...
/* do the actual shift... */
if (count >= 16)
apph = 0;
else
apph <<= count;
// and set zero and sign
/* and set zero and sign */
SetSZPF_Word(apph);
}
else
@@ -1856,7 +1856,7 @@ static UINT32 opSHAH(void)
SetSZPF_Word(apph);
}
// mame_printf_debug("SHAH: %x >> %d = %x _CY: %d _Z: %d _OV: %d _S: %d\n", oldval, count, apph, _CY, _Z, _OV, _S);
/* mame_printf_debug("SHAH: %x >> %d = %x _CY: %d _Z: %d _OV: %d _S: %d\n", oldval, count, apph, _CY, _Z, _OV, _S); */
F12STOREOP2HALF();
F12END();
@@ -1873,7 +1873,7 @@ static UINT32 opSHAW(void)
count=(INT8)(f12Op1&0xFF);
// Special case: destination unchanged, flags set
/* Special case: destination unchanged, flags set */
if (count == 0)
{
_CY = _OV = 0;
@@ -1883,16 +1883,16 @@ static UINT32 opSHAW(void)
{
SHIFTLEFT_OV(appw, count, 32);
// @@@ Undefined what happens to CY when count >= bitsize
/* @@@ Undefined what happens to CY when count >= bitsize */
SHIFTLEFT_CY(appw, count, 32);
// do the actual shift...
/* do the actual shift... */
if (count >= 32)
appw = 0;
else
appw <<= count;
// and set zero and sign
/* and set zero and sign */
SetSZPF_Long(appw);
}
else
@@ -1910,7 +1910,7 @@ static UINT32 opSHAW(void)
SetSZPF_Long(appw);
}
// mame_printf_debug("SHAW: %x >> %d = %x _CY: %d _Z: %d _OV: %d _S: %d\n", oldval, count, appw, _CY, _Z, _OV, _S);
/* mame_printf_debug("SHAW: %x >> %d = %x _CY: %d _Z: %d _OV: %d _S: %d\n", oldval, count, appw, _CY, _Z, _OV, _S); */
F12STOREOP2WORD();
F12END();
@@ -1930,36 +1930,36 @@ static UINT32 opSHLB(void) /* TRUSTED */
count=(INT8)(f12Op1&0xFF);
if (count>0)
{
// left shift flags:
// carry gets the last bit shifted out,
// overflow is always CLEARed
/* left shift flags: */
/* carry gets the last bit shifted out, */
/* overflow is always CLEARed */
_OV = 0; // default to no overflow
_OV = 0; /* default to no overflow */
// now handle carry
/* now handle carry */
tmp = appb & 0xff;
tmp <<= count;
SetCFB(tmp); // set carry properly
SetCFB(tmp); /* set carry properly */
// do the actual shift...
/* do the actual shift... */
appb <<= count;
// and set zero and sign
/* and set zero and sign */
SetSZPF_Byte(appb);
}
else
{
if (count == 0)
{
// special case: clear carry and overflow, do nothing else
/* special case: clear carry and overflow, do nothing else */
_CY = _OV = 0;
SetSZPF_Byte(appb); // doc. is unclear if this is true...
SetSZPF_Byte(appb); /* doc. is unclear if this is true... */
}
else
{
// right shift flags:
// carry = last bit shifted out
// overflow always cleared
/* right shift flags: */
/* carry = last bit shifted out */
/* overflow always cleared */
tmp = appb & 0xff;
tmp >>= ((-count)-1);
_CY = (UINT8)(tmp & 0x1);
@@ -1970,7 +1970,7 @@ static UINT32 opSHLB(void) /* TRUSTED */
}
}
// mame_printf_debug("SHLB: %x _CY: %d _Z: %d _OV: %d _S: %d\n", appb, _CY, _Z, _OV, _S);
/* mame_printf_debug("SHLB: %x _CY: %d _Z: %d _OV: %d _S: %d\n", appb, _CY, _Z, _OV, _S); */
F12STOREOP2BYTE();
F12END();
@@ -1987,39 +1987,39 @@ static UINT32 opSHLH(void) /* TRUSTED */
F12LOADOP2HALF();
count=(INT8)(f12Op1&0xFF);
// mame_printf_debug("apph: %x count: %d ", apph, count);
/* mame_printf_debug("apph: %x count: %d ", apph, count); */
if (count>0)
{
// left shift flags:
// carry gets the last bit shifted out,
// overflow is always CLEARed
/* left shift flags: */
/* carry gets the last bit shifted out, */
/* overflow is always CLEARed */
_OV = 0;
// now handle carry
/* now handle carry */
tmp = apph & 0xffff;
tmp <<= count;
SetCFW(tmp); // set carry properly
SetCFW(tmp); /* set carry properly */
// do the actual shift...
/* do the actual shift... */
apph <<= count;
// and set zero and sign
/* and set zero and sign */
SetSZPF_Word(apph);
}
else
{
if (count == 0)
{
// special case: clear carry and overflow, do nothing else
/* special case: clear carry and overflow, do nothing else */
_CY = _OV = 0;
SetSZPF_Word(apph); // doc. is unclear if this is true...
SetSZPF_Word(apph); /* doc. is unclear if this is true... */
}
else
{
// right shift flags:
// carry = last bit shifted out
// overflow always cleared
/* right shift flags: */
/* carry = last bit shifted out */
/* overflow always cleared */
tmp = apph & 0xffff;
tmp >>= ((-count)-1);
_CY = (UINT8)(tmp & 0x1);
@@ -2030,7 +2030,7 @@ static UINT32 opSHLH(void) /* TRUSTED */
}
}
// mame_printf_debug("SHLH: %x _CY: %d _Z: %d _OV: %d _S: %d\n", apph, _CY, _Z, _OV, _S);
/* mame_printf_debug("SHLH: %x _CY: %d _Z: %d _OV: %d _S: %d\n", apph, _CY, _Z, _OV, _S); */
F12STOREOP2HALF();
F12END();
@@ -2049,36 +2049,36 @@ static UINT32 opSHLW(void) /* TRUSTED */
count=(INT8)(f12Op1&0xFF);
if (count>0)
{
// left shift flags:
// carry gets the last bit shifted out,
// overflow is always CLEARed
/* left shift flags: */
/* carry gets the last bit shifted out, */
/* overflow is always CLEARed */
_OV = 0;
// now handle carry
/* now handle carry */
tmp = appw & 0xffffffff;
tmp <<= count;
SetCFL(tmp); // set carry properly
SetCFL(tmp); /* set carry properly */
// do the actual shift...
/* do the actual shift... */
appw <<= count;
// and set zero and sign
/* and set zero and sign */
SetSZPF_Long(appw);
}
else
{
if (count == 0)
{
// special case: clear carry and overflow, do nothing else
/* special case: clear carry and overflow, do nothing else */
_CY = _OV = 0;
SetSZPF_Long(appw); // doc. is unclear if this is true...
SetSZPF_Long(appw); /* doc. is unclear if this is true... */
}
else
{
// right shift flags:
// carry = last bit shifted out
// overflow always cleared
/* right shift flags: */
/* carry = last bit shifted out */
/* overflow always cleared */
tmp = (UINT64)(appw & 0xffffffff);
tmp >>= ((-count)-1);
_CY = (UINT8)(tmp & 0x1);
@@ -2089,7 +2089,7 @@ static UINT32 opSHLW(void) /* TRUSTED */
}
}
// mame_printf_debug("SHLW: %x _CY: %d _Z: %d _OV: %d _S: %d\n", appw, _CY, _Z, _OV, _S);
/* mame_printf_debug("SHLW: %x _CY: %d _Z: %d _OV: %d _S: %d\n", appw, _CY, _Z, _OV, _S); */
F12STOREOP2WORD();
F12END();
+27 -7
View File
@@ -55,7 +55,7 @@ static UINT32 opCVTWS(void)
F2DecodeFirstOperand(ReadAM,2);
// Convert to float
/* Convert to float */
val = (float)(INT32)f2Op1;
modWriteValW = f2u(val);
@@ -68,21 +68,41 @@ static UINT32 opCVTWS(void)
F2END();
}
static float truncf_c89(float x)
{
if (x >= 0.0f) {
return floorf(x);
} else {
return ceilf(x);
}
}
static UINT32 opCVTSW(void)
{
float val;
F2DecodeFirstOperand(ReadAM,2);
// Convert to UINT32
// Apply RDI rounding control
val = u2f(f2Op1);
modWriteValW = (INT32)val;
switch (TKCW & 7)
{
case 0: val = roundf(val); break;
case 1: val = floorf(val); break;
case 2: val = ceilf(val); break;
#if defined _MSC_VER
default: val = truncf_c89(val); break;
#else
default: val = truncf(val); break;
#endif
}
_OV=0;
_CY=(val < 0.0f);
_S=((modWriteValW & 0x80000000)!=0);
_Z=(val == 0.0f);
// Convert to uint32_t
modWriteValW = (uint32_t)(int64_t)val;
_S = ((modWriteValW & 0x80000000) != 0);
_OV = (_S && val >= 0.0f) || (!_S && val <= -1.0f);
_Z = (modWriteValW == 0);
F2WriteSecondOperand(2);
F2END();
}
+38 -38
View File
@@ -141,13 +141,13 @@ static UINT32 opJMP(void) /* TRUSTED */
modAdd=PC+1;
modDim=0;
// Read the address of the operand
/* Read the address of the operand */
ReadAMAddress();
// It cannot be a register!!
/* It cannot be a register!! */
assert(amFlag==0);
// Jump there
/* Jump there */
PC=amOut;
ChangePC(PC);
@@ -159,17 +159,17 @@ static UINT32 opJSR(void) /* TRUSTED */
modAdd=PC + 1;
modDim=0;
// Read the address of the operand
/* Read the address of the operand */
amLength1=ReadAMAddress();
// It cannot be a register!!
/* It cannot be a register!! */
assert(amFlag==0);
// Save NextPC into the stack
/* Save NextPC into the stack */
SP -= 4;
MemWrite32(SP, PC + amLength1 + 1);
// Jump there
/* Jump there */
PC=amOut;
ChangePC(PC);
@@ -181,17 +181,17 @@ static UINT32 opPREPARE(void) /* somewhat TRUSTED */
modAdd=PC+1;
modDim=2;
// Read the operand
/* Read the operand */
amLength1=ReadAM();
// step 1: save frame pointer on the stack
/* step 1: save frame pointer on the stack */
SP -= 4;
MemWrite32(SP, FP);
// step 2: FP = new SP
/* step 2: FP = new SP */
FP = SP;
// step 3: SP -= operand
/* step 3: SP -= operand */
SP -= amOut;
return amLength1 + 1;
@@ -202,19 +202,19 @@ static UINT32 opRET(void) /* TRUSTED */
modAdd=PC + 1;
modDim=2;
// Read the operand
/* Read the operand */
ReadAM();
// Read return address from stack
/* Read return address from stack */
PC=MemRead32(SP);
SP+=4;
ChangePC(PC);
// Restore AP from stack
/* Restore AP from stack */
AP=MemRead32(SP);
SP+=4;
// Skip stack frame
/* Skip stack frame */
SP += amOut;
return 0;
@@ -227,10 +227,10 @@ static UINT32 opTRAP(void)
modAdd=PC + 1;
modDim=0;
// Read the operand
/* Read the operand */
amLength1=ReadAM();
// Normalize the flags
/* Normalize the flags */
NORMALIZEFLAGS();
switch ((amOut >> 4) & 0xF)
@@ -285,7 +285,7 @@ static UINT32 opTRAP(void)
oldPSW = v60_update_psw_for_exception(0, 0);
// Issue the software trap with interrupts
/* Issue the software trap with interrupts */
SP -= 4;
MemWrite32(SP, EXCEPTION_CODE_AND_SIZE(0x3000 + 0x100 * (amOut&0xF), 4));
@@ -307,10 +307,10 @@ static UINT32 opRETIU(void) /* TRUSTED */
modAdd=PC + 1;
modDim=1;
// Read the operand
/* Read the operand */
ReadAM();
// Restore PC and PSW from stack
/* Restore PC and PSW from stack */
PC = MemRead32(SP);
SP += 4;
ChangePC(PC);
@@ -318,7 +318,7 @@ static UINT32 opRETIU(void) /* TRUSTED */
newPSW = MemRead32(SP);
SP += 4;
// Destroy stack frame
/* Destroy stack frame */
SP += amOut;
v60WritePSW(newPSW);
@@ -333,10 +333,10 @@ static UINT32 opRETIS(void)
modAdd=PC + 1;
modDim=1;
// Read the operand
/* Read the operand */
ReadAM();
// Restore PC and PSW from stack
/* Restore PC and PSW from stack */
PC = MemRead32(SP);
SP += 4;
ChangePC(PC);
@@ -344,7 +344,7 @@ static UINT32 opRETIS(void)
newPSW = MemRead32(SP);
SP += 4;
// Destroy stack frame
/* Destroy stack frame */
SP += amOut;
v60WritePSW(newPSW);
@@ -386,14 +386,14 @@ static UINT32 opSTTASK(void)
adr += 4;
}
// 31 registers supported, _not_ 32
/* 31 registers supported, _not_ 32 */
for(i=0; i<31; i++)
if(amOut & (1<<i)) {
MemWrite32(adr, v60.reg[i]);
adr += 4;
}
// #### Ignore the virtual addressing crap.
/* #### Ignore the virtual addressing crap. */
return amLength1 + 1;
}
@@ -404,7 +404,7 @@ static UINT32 opGETPSW(void)
modDim=2;
modWriteValW=v60ReadPSW();
// Write PSW to the operand
/* Write PSW to the operand */
amLength1=WriteAM();
return amLength1 + 1;
@@ -416,19 +416,19 @@ static UINT32 opTASI(void)
modAdd=PC + 1;
modDim=0;
// Load the address of the operand
/* Load the address of the operand */
amLength1=ReadAMAddress();
// Load UINT8 from the address
/* Load UINT8 from the address */
if (amFlag)
appb=(UINT8)v60.reg[amOut&0x1F];
else
appb=MemRead8(amOut);
// Set the flags for SUB appb,FF
/* Set the flags for SUB appb,FF */
SUBB(appb, 0xff);
// Write FF in the operand
/* Write FF in the operand */
if (amFlag)
SETREG8(v60.reg[amOut&0x1F], 0xFF);
else
@@ -442,10 +442,10 @@ static UINT32 opCLRTLB(void)
modAdd=PC+1;
modDim=2;
// Read the operand
/* Read the operand */
amLength1=ReadAM();
// @@@ TLB not yet emulated
/* @@@ TLB not yet emulated */
return amLength1 + 1;
}
@@ -457,7 +457,7 @@ static UINT32 opPOPM(void)
modAdd=PC+1;
modDim=2;
// Read the bit register list
/* Read the bit register list */
amLength1=ReadAM();
for (i=0;i<31;i++)
@@ -483,7 +483,7 @@ static UINT32 opPUSHM(void)
modAdd=PC+1;
modDim=2;
// Read the bit register list
/* Read the bit register list */
amLength1=ReadAM();
if (amOut & (1<<31))
@@ -508,7 +508,7 @@ static UINT32 opTESTB(void) /* TRUSTED */
modAdd=PC+1;
modDim=0;
// Read the operand
/* Read the operand */
amLength1=ReadAM();
_Z = (amOut == 0);
@@ -524,7 +524,7 @@ static UINT32 opTESTH(void) /* TRUSTED */
modAdd=PC+1;
modDim=1;
// Read the operand
/* Read the operand */
amLength1=ReadAM();
_Z = (amOut == 0);
@@ -540,7 +540,7 @@ static UINT32 opTESTW(void) /* TRUSTED */
modAdd=PC+1;
modDim=2;
// Read the operand
/* Read the operand */
amLength1=ReadAM();
_Z = (amOut == 0);
+2 -2
View File
@@ -343,11 +343,11 @@ static UINT32 opBR16(void) /* TRUSTED */
static UINT32 opBSR(void) /* TRUSTED */
{
// Save Next PC onto the stack
/* Save Next PC onto the stack */
SP -= 4;
MemWrite32(SP, PC+3);
// Jump to subroutine
/* Jump to subroutine */
PC += (INT16)OpRead16(PC + 1);
return 0;
}
+4 -4
View File
@@ -42,7 +42,7 @@ static UINT32 opBRKV(void)
static UINT32 opCLRTLBA(void)
{
// @@@ TLB not yet supported
/* @@@ TLB not yet supported */
logerror("Skipping CLRTLBA opcode! PC=%x\n", PC);
return 1;
}
@@ -58,8 +58,8 @@ static UINT32 opDISPOSE(void)
static UINT32 opHALT(void)
{
// @@@ It should wait for an interrupt to occur
//logerror("HALT found: skipping");
/* @@@ It should wait for an interrupt to occur */
/*logerror("HALT found: skipping"); */
return 1;
}
@@ -81,7 +81,7 @@ static UINT32 opTRAPFL(void)
{
if ((TKCW & 0x1F0) & ((v60ReadPSW() & 0x1F00) >> 4))
{
// @@@ FPU exception
/* @@@ FPU exception */
log_cb(RETRO_LOG_DEBUG, "Hit TRAPFL! PC=%x", PC);
}
+54 -54
View File
@@ -49,7 +49,7 @@ static UINT32 f7bBamOffset1, f7bBamOffset2;
static void F7aDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*DecodeOp2)(void), UINT8 dim2)
{
UINT8 appb;
// Decode first operand
/* Decode first operand */
modDim=dim1;
modM=subOp&0x40;
modAdd=PC+2;
@@ -57,14 +57,14 @@ static void F7aDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*De
f7aFlag1=amFlag;
f7aOp1=amOut;
// Decode length
/* Decode length */
appb=OpRead8(PC+2+amLength1);
if (appb&0x80)
f7aLenOp1=v60.reg[appb&0x1F];
else
f7aLenOp1=appb;
// Decode second operand
/* Decode second operand */
modDim=dim2;
modM=subOp&0x20;
modAdd=PC+3+amLength1;
@@ -72,7 +72,7 @@ static void F7aDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*De
f7aFlag2=amFlag;
f7aOp2=amOut;
// Decode length
/* Decode length */
appb=OpRead8(PC+3+amLength1+amLength2);
if (appb&0x80)
f7aLenOp2=v60.reg[appb&0x1F];
@@ -83,7 +83,7 @@ static void F7aDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*De
static void F7bDecodeFirstOperand(UINT32 (*DecodeOp1)(void), UINT8 dim1)
{
UINT8 appb;
// Decode first operand
/* Decode first operand */
modDim=dim1;
modM=subOp&0x40;
modAdd=PC+2;
@@ -91,7 +91,7 @@ static void F7bDecodeFirstOperand(UINT32 (*DecodeOp1)(void), UINT8 dim1)
f7bFlag1=amFlag;
f7bOp1=amOut;
// Decode ext
/* Decode ext */
appb=OpRead8(PC+2+amLength1);
if (appb&0x80)
f7bLen=v60.reg[appb&0x1F];
@@ -111,11 +111,11 @@ static void F7bWriteSecondOperand(UINT8 dim2)
static void F7bDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*DecodeOp2)(void), UINT8 dim2)
{
// Decode first operand
/* Decode first operand */
F7bDecodeFirstOperand(DecodeOp1,dim1);
f7bBamOffset1 = bamOffset;
// Decode second operand
/* Decode second operand */
modDim=dim2;
modM=subOp&0x20;
modAdd=PC+3+amLength1;
@@ -128,7 +128,7 @@ static void F7bDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*De
static void F7cDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*DecodeOp2)(void), UINT8 dim2)
{
UINT8 appb;
// Decode first operand
/* Decode first operand */
modDim=dim1;
modM=subOp&0x40;
modAdd=PC+2;
@@ -136,7 +136,7 @@ static void F7cDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*De
f7cFlag1=amFlag;
f7cOp1=amOut;
// Decode second operand
/* Decode second operand */
modDim=dim2;
modM=subOp&0x20;
modAdd=PC+2+amLength1;
@@ -144,7 +144,7 @@ static void F7cDecodeOperands(UINT32 (*DecodeOp1)(void), UINT8 dim1, UINT32 (*De
f7cFlag2=amFlag;
f7cOp2=amOut;
// Decode ext
/* Decode ext */
appb=OpRead8(PC+2+amLength1+amLength2);
if (appb&0x80)
f7cLen=v60.reg[appb&0x1F];
@@ -184,7 +184,7 @@ static UINT32 opCMPSTRB(UINT8 bFill, UINT8 bStop)
F7aDecodeOperands(ReadAMAddress,0,ReadAMAddress,0);
// Filling
/* Filling */
if (bFill)
{
if (f7aLenOp1 < f7aLenOp2)
@@ -250,7 +250,7 @@ static UINT32 opCMPSTRH(UINT8 bFill, UINT8 bStop)
F7aDecodeOperands(ReadAMAddress,0,ReadAMAddress,0);
// Filling
/* Filling */
if (bFill)
{
if (f7aLenOp1 < f7aLenOp2)
@@ -316,10 +316,10 @@ static UINT32 opMOVSTRUB(UINT8 bFill, UINT8 bStop) /* TRUSTED (0,0) (1,0) */
UINT32 i,dest;
UINT8 c1;
// if (bStop)
// {
// int a=1;
// }
/* if (bStop) */
/* { */
/* int a=1; */
/* } */
F7aDecodeOperands(ReadAMAddress,0,ReadAMAddress,0);
@@ -386,8 +386,8 @@ static UINT32 opMOVSTRUH(UINT8 bFill, UINT8 bStop) /* TRUSTED (0,0) (1,0) */
UINT32 i,dest;
UINT16 c1;
// if (bStop)
// { int a=1; }
/* if (bStop) */
/* { int a=1; } */
F7aDecodeOperands(ReadAMAddress,1,ReadAMAddress,1);
@@ -420,13 +420,13 @@ static UINT32 opMOVSTRDH(UINT8 bFill, UINT8 bStop)
UINT32 i,dest;
UINT16 c1;
// if (bFill | bStop)
// { int a=1; }
/* if (bFill | bStop) */
/* { int a=1; } */
F7aDecodeOperands(ReadAMAddress,1,ReadAMAddress,1);
// if (f7aLenOp1 != f7aLenOp2)
// { int a=1; }
/* if (f7aLenOp1 != f7aLenOp2) */
/* { int a=1; } */
dest=(f7aLenOp1 < f7aLenOp2 ? f7aLenOp1 : f7aLenOp2);
@@ -469,7 +469,7 @@ static UINT32 opSEARCHUB(UINT8 bSearch)
R28=f7bOp1+i;
R27=i;
// This is the opposite as stated in V60 manual...
/* This is the opposite as stated in V60 manual... */
if (i!=f7bLen)
_Z=0;
else
@@ -520,7 +520,7 @@ static UINT32 opSEARCHDB(UINT8 bSearch)
R28=f7bOp1+i;
R27=i;
// This is the opposite as stated in V60 manual...
/* This is the opposite as stated in V60 manual... */
if ((UINT32)i!=f7bLen)
_Z=0;
else
@@ -635,37 +635,37 @@ static UINT32 opSCHBS(UINT32 bSearch1)
F7bDecodeFirstOperand(BitReadAMAddress,10);
// Read first UINT8
/* Read first UINT8 */
f7bOp1 += bamOffset/8;
data = MemRead8(f7bOp1);
offset = bamOffset&7;
// Scan bitstring
/* Scan bitstring */
for (i=0;i<f7bLen;i++)
{
// Update the work register
/* Update the work register */
R28 = f7bOp1;
// There is a 0/1 at current offset?
/* There is a 0/1 at current offset? */
if ((bSearch1 && (data&(1<<offset))) ||
(!bSearch1 && !(data&(1<<offset))))
break;
// Next bit please
/* Next bit please */
offset++;
if (offset==8)
{
// Next UINT8 please
/* Next UINT8 please */
offset=0;
f7bOp1++;
data = MemRead8(f7bOp1);
}
}
// Set zero if bit not found
/* Set zero if bit not found */
_Z = (i == f7bLen);
// Write to destination the final offset
/* Write to destination the final offset */
modWriteValW = i;
F7bWriteSecondOperand(2);
@@ -722,8 +722,8 @@ static UINT32 opMOVBSD(void)
F7bDecodeOperands(BitReadAMAddress,10,BitReadAMAddress,10);
// if (f7bLen!=1)
// { int a=1; }
/* if (f7bLen!=1) */
/* { int a=1; } */
f7bBamOffset1 += f7bLen-1;
f7bBamOffset2 += f7bLen-1;
@@ -739,7 +739,7 @@ static UINT32 opMOVBSD(void)
for (i=0;i<f7bLen;i++)
{
// Update work registers
/* Update work registers */
R28 = f7bOp1;
R27 = f7bOp2;
@@ -764,7 +764,7 @@ static UINT32 opMOVBSD(void)
f7bBamOffset2--;
}
// Flush of the final data
/* Flush of the final data */
if (f7bBamOffset2 != 7)
MemWrite8(f7bOp2, dstdata);
@@ -789,7 +789,7 @@ static UINT32 opMOVBSU(void)
for (i=0;i<f7bLen;i++)
{
// Update work registers
/* Update work registers */
R28 = f7bOp1;
R27 = f7bOp2;
@@ -813,14 +813,14 @@ static UINT32 opMOVBSU(void)
}
}
// Flush of the final data
/* Flush of the final data */
if (f7bBamOffset2 != 0)
MemWrite8(f7bOp2, dstdata);
F7BEND();
}
// RADM 0x20f4b8 holds the time left
/* RADM 0x20f4b8 holds the time left */
static UINT32 opADDDC(void)
{
@@ -849,9 +849,9 @@ static UINT32 opADDDC(void)
else
_CY = 0;
// compute z flag:
// cleared if result non-zero or carry generated
// unchanged otherwise
/* compute z flag: */
/* cleared if result non-zero or carry generated */
/* unchanged otherwise */
if (appb != 0 || _CY)
_Z = 0;
@@ -878,7 +878,7 @@ static UINT32 opSUBDC(void)
src = (UINT32)(f7cOp1 >> 4) * 10 + (UINT32)(f7cOp1 & 0xF);
dst = ((appb & 0xF0) >> 4) * 10 + (appb & 0xF);
// Note that this APPB must be SIGNED!
/* Note that this APPB must be SIGNED! */
appb = (INT32)dst - (INT32)src - (_CY?1:0);
if (appb < 0)
@@ -889,9 +889,9 @@ static UINT32 opSUBDC(void)
else
_CY = 0;
// compute z flag:
// cleared if result non-zero or carry generated
// unchanged otherwise
/* compute z flag: */
/* cleared if result non-zero or carry generated */
/* unchanged otherwise */
if (appb != 0 || _CY)
_Z = 0;
@@ -918,7 +918,7 @@ static UINT32 opSUBRDC(void)
src = (UINT32)(f7cOp1 >> 4) * 10 + (UINT32)(f7cOp1 & 0xF);
dst = ((appb & 0xF0) >> 4) * 10 + (appb & 0xF);
// Note that this APPB must be SIGNED!
/* Note that this APPB must be SIGNED! */
appb = (INT32)src - (INT32)dst - (_CY?1:0);
if (appb < 0)
@@ -929,9 +929,9 @@ static UINT32 opSUBRDC(void)
else
_CY = 0;
// compute z flag:
// cleared if result non-zero or carry generated
// unchanged otherwise
/* compute z flag: */
/* cleared if result non-zero or carry generated */
/* unchanged otherwise */
if (appb != 0 || _CY)
_Z = 0;
@@ -951,7 +951,7 @@ static UINT32 opCVTDPZ(void)
apph |= (f7cLen);
apph |= (f7cLen<<8);
// Z flag is unchanged if src is zero, cleared otherwise
/* Z flag is unchanged if src is zero, cleared otherwise */
if (f7cOp1 != 0) _Z = 0;
F7CSTOREOP2HALF();
@@ -965,13 +965,13 @@ static UINT32 opCVTDZP(void)
if ((f7cOp1 & 0xF0) != (f7cLen & 0xF0) || ((f7cOp1 >> 8) & 0xF0) != (f7cLen & 0xF0))
{
// Decimal exception
/* Decimal exception */
logerror("CVTD.ZP Decimal exception #1!\n");
}
if ((f7cOp1 & 0xF) > 9 || ((f7cOp1 >> 8) & 0xF) > 9)
{
// Decimal exception
/* Decimal exception */
logerror("CVTD.ZP Decimal exception #2!\n");
}
+1 -1
View File
@@ -1,5 +1,5 @@
static UINT32 (*OpCodeTable[256])(void) =
//static UINT32 (*const OpCodeTable[256])(void) =
/*static UINT32 (*const OpCodeTable[256])(void) = */
{
/* 0x00 */ opHALT,
/* 0x01 */ opLDTASK,
+11 -10
View File
@@ -7,6 +7,7 @@
#include "osd_cpu.h"
#include "mamedbg.h"
#include "state.h"
#include <math.h>
#include <assert.h>
#include <stdio.h>
@@ -278,17 +279,17 @@ UINT32 v60_update_psw_for_exception(int is_interrupt, int target_level)
UINT32 oldPSW = v60ReadPSW();
UINT32 newPSW = oldPSW;
// Change to interrupt context
newPSW &= ~(3 << 24); // PSW.EL = 0
newPSW |= target_level << 24; // set target level
newPSW &= ~(1 << 18); // PSW.IE = 0
newPSW &= ~(1 << 16); // PSW.TE = 0
newPSW &= ~(1 << 27); // PSW.TP = 0
newPSW &= ~(1 << 17); // PSW.AE = 0
newPSW &= ~(1 << 29); // PSW.EM = 0
/* Change to interrupt context */
newPSW &= ~(3 << 24); /* PSW.EL = 0 */
newPSW |= target_level << 24; /* set target level */
newPSW &= ~(1 << 18); /* PSW.IE = 0 */
newPSW &= ~(1 << 16); /* PSW.TE = 0 */
newPSW &= ~(1 << 27); /* PSW.TP = 0 */
newPSW &= ~(1 << 17); /* PSW.AE = 0 */
newPSW &= ~(1 << 29); /* PSW.EM = 0 */
if (is_interrupt)
newPSW |= (1 << 28);// PSW.IS = 1
newPSW |= (1 << 31); // PSW.ASA = 1
newPSW |= (1 << 28);/* PSW.IS = 1 */
newPSW |= (1 << 31); /* PSW.ASA = 1 */
v60WritePSW(newPSW);
return oldPSW;
+1 -1
View File
@@ -375,7 +375,7 @@ static struct cpu_info v70_i =
#define PortRead32 v60.info.pr32
#define PortWrite32 v60.info.pw32
#if !defined(MSB_FIRST) && !defined(ALIGN_INTS)
#if defined(LSB_FIRST) && !defined(ALIGN_INTS)
#define OpRead8(a) (OP_ROM[a])
#define OpRead16(a) (*(UINT16 *)&OP_ROM[a])
#define OpRead32(a) (*(UINT32 *)&OP_ROM[a])
+32 -28
View File
@@ -85,6 +85,14 @@
#include "z80.h"
#include "log.h"
#define VERBOSE 0
#if VERBOSE
#define LOG(x) logerror x
#else
#define LOG(x)
#endif
/* execute main opcodes inside a big switch statement */
#ifndef BIG_SWITCH
#define BIG_SWITCH 1
@@ -811,7 +819,7 @@ static INLINE UINT32 ARG16(void)
* RETN
***************************************************************/
#define RETN { \
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d RETN IFF1:%d IFF2:%d\n", cpu_getactivecpu(), _IFF1, _IFF2); \
LOG(("Z80 #%d RETN IFF1:%d IFF2:%d\n", cpu_getactivecpu(), _IFF1, _IFF2)); \
POP(PC); \
change_pc16(_PCD); \
if( _IFF1 == 0 && _IFF2 == 1 ) \
@@ -820,8 +828,8 @@ static INLINE UINT32 ARG16(void)
if( Z80.irq_state != CLEAR_LINE || \
Z80.request_irq >= 0 ) \
{ \
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d RETN takes IRQ\n", \
cpu_getactivecpu()); \
LOG(("Z80 #%d RETN takes IRQ\n", \
cpu_getactivecpu())); \
take_interrupt(); \
} \
} \
@@ -839,8 +847,8 @@ static INLINE UINT32 ARG16(void)
/* _IFF1 = _IFF2; */ \
if( device >= 0 ) \
{ \
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d RETI device %d: $%02x\n", \
cpu_getactivecpu(), device, Z80.irq[device].irq_param); \
LOG(("Z80 #%d RETI device %d: $%02x\n", \
cpu_getactivecpu(), device, Z80.irq[device].irq_param)); \
Z80.irq[device].interrupt_reti(Z80.irq[device].irq_param); \
} \
}
@@ -1977,8 +1985,8 @@ static INLINE UINT8 SET(UINT8 bit, UINT8 value)
_R++; \
while( cpu_readop(_PCD) == 0xfb ) /* more EIs? */ \
{ \
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d multiple EI opcodes at %04X\n", \
cpu_getactivecpu(), _PC); \
LOG(("Z80 #%d multiple EI opcodes at %04X\n", \
cpu_getactivecpu(), _PC)); \
CC(op,0xfb); \
_PPC =_PCD; \
CALL_MAME_DEBUG; \
@@ -1991,7 +1999,7 @@ static INLINE UINT8 SET(UINT8 bit, UINT8 value)
after_EI = 1; /* avoid cycle skip hacks */ \
EXEC(op,ROP()); \
after_EI = 0; \
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d EI takes irq\n", cpu_getactivecpu()); \
LOG(("Z80 #%d EI takes irq\n", cpu_getactivecpu())); \
take_interrupt(); \
} else EXEC(op,ROP()); \
} else _IFF2 = 1; \
@@ -2583,7 +2591,7 @@ OP(xycb,fe) { WM( EA, SET(7,RM(EA)) ); } /* SET 7,(XY+o) */
OP(xycb,ff) { _A = SET(7, RM(EA) ); WM( EA,_A ); } /* SET 7,A=(XY+o) */
OP(illegal,1) {
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d ill. opcode $%02x $%02x\n",
logerror("Z80 #%d ill. opcode $%02x $%02x\n",
cpu_getactivecpu(), cpu_readop((_PCD-1)&0xffff), cpu_readop(_PCD));
}
@@ -3171,7 +3179,7 @@ OP(fd,ff) { illegal_1(); op_ff(); } /* DB FD */
OP(illegal,2)
{
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d ill. opcode $ed $%02x\n",
logerror("Z80 #%d ill. opcode $ed $%02x\n",
cpu_getactivecpu(), cpu_readop((_PCD-1)&0xffff));
}
@@ -3917,7 +3925,7 @@ static void take_interrupt(void)
/* Clear both interrupt flip flops */
_IFF1 = _IFF2 = 0;
irq_vector = Z80.irq[Z80.request_irq].interrupt_entry(Z80.irq[Z80.request_irq].irq_param);
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d daisy chain irq_vector $%02x\n", cpu_getactivecpu(), irq_vector);
LOG(("Z80 #%d daisy chain irq_vector $%02x\n", cpu_getactivecpu(), irq_vector));
Z80.request_irq = -1;
} else return;
}
@@ -3927,7 +3935,7 @@ static void take_interrupt(void)
_IFF1 = _IFF2 = 0;
/* call back the cpu interface to retrieve the vector */
irq_vector = (*Z80.irq_callback)(0);
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d single int. irq_vector $%02x\n", cpu_getactivecpu(), irq_vector);
LOG(("Z80 #%d single int. irq_vector $%02x\n", cpu_getactivecpu(), irq_vector));
}
/* Interrupt mode 2. Call [Z80.I:databyte] */
@@ -3936,7 +3944,7 @@ static void take_interrupt(void)
irq_vector = (irq_vector & 0xff) | (_I << 8);
PUSH( PC );
RM16( irq_vector, &Z80.PC );
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d IM2 [$%04x] = $%04x\n",cpu_getactivecpu() , irq_vector, _PCD);
LOG(("Z80 #%d IM2 [$%04x] = $%04x\n",cpu_getactivecpu() , irq_vector, _PCD));
/* CALL opcode timing */
Z80.extra_cycles += cc[Z80_TABLE_op][0xcd];
}
@@ -3944,7 +3952,7 @@ static void take_interrupt(void)
/* Interrupt mode 1. RST 38h */
if( _IM == 1 )
{
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d IM1 $0038\n",cpu_getactivecpu());
LOG(("Z80 #%d IM1 $0038\n",cpu_getactivecpu() ));
PUSH( PC );
_PCD = 0x0038;
/* RST $38 + 'interrupt latency' cycles */
@@ -3955,7 +3963,7 @@ static void take_interrupt(void)
/* Interrupt mode 0. We check for CALL and JP instructions, */
/* if neither of these were found we assume a 1 byte opcode */
/* was placed on the databus */
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d IM0 $%04x\n",cpu_getactivecpu() , irq_vector);
LOG(("Z80 #%d IM0 $%04x\n",cpu_getactivecpu() , irq_vector));
switch (irq_vector & 0xff0000)
{
case 0xcd0000: /* call */
@@ -3999,11 +4007,7 @@ void z80_init(void)
SZHVC_sub = (UINT8 *)malloc(2*256*256);
if( !SZHVC_add || !SZHVC_sub )
{
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80: failed to allocate 2 * 128K flags arrays!!!\n");
/* TODO: Don't abort, switch back to main thread and exit cleanly:
* This is only used if a malloc fails in src/cpu/z80/z80.c so not too high a priority */
abort();
osd_die("Z80: failed to allocate 2 * 128K flags arrays!!!\n");
}
padd = &SZHVC_add[ 0*256];
padc = &SZHVC_add[256*256];
@@ -4332,11 +4336,11 @@ void z80_set_irq_line(int irqline, int state)
{
if( Z80.nmi_state == state ) return;
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d set_irq_line (NMI) %d\n", cpu_getactivecpu(), state);
LOG(("Z80 #%d set_irq_line (NMI) %d\n", cpu_getactivecpu(), state));
Z80.nmi_state = state;
if( state == CLEAR_LINE ) return;
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d take NMI\n", cpu_getactivecpu());
LOG(("Z80 #%d take NMI\n", cpu_getactivecpu()));
_PPC = -1; /* there isn't a valid previous program counter */
LEAVE_HALT; /* Check if processor was halted */
@@ -4347,7 +4351,7 @@ void z80_set_irq_line(int irqline, int state)
}
else
{
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d set_irq_line %d\n",cpu_getactivecpu() , state);
LOG(("Z80 #%d set_irq_line %d\n",cpu_getactivecpu() , state));
Z80.irq_state = state;
if( state == CLEAR_LINE ) return;
@@ -4357,11 +4361,11 @@ void z80_set_irq_line(int irqline, int state)
daisychain = (*Z80.irq_callback)(irqline);
device = daisychain >> 8;
int_state = daisychain & 0xff;
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d daisy chain $%04x -> device %d, state $%02x",cpu_getactivecpu(), daisychain, device, int_state);
LOG(("Z80 #%d daisy chain $%04x -> device %d, state $%02x",cpu_getactivecpu(), daisychain, device, int_state));
if( Z80.int_state[device] != int_state )
{
log_cb(RETRO_LOG_DEBUG, LOGPRE " change\n");
LOG((" change\n"));
/* set new interrupt status */
Z80.int_state[device] = int_state;
/* check interrupt status */
@@ -4380,12 +4384,12 @@ void z80_set_irq_line(int irqline, int state)
if( Z80.int_state[device] & Z80_INT_REQ )
Z80.request_irq = device;
}
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d daisy chain service_irq $%02x, request_irq $%02x\n", cpu_getactivecpu(), Z80.service_irq, Z80.request_irq);
LOG(("Z80 #%d daisy chain service_irq $%02x, request_irq $%02x\n", cpu_getactivecpu(), Z80.service_irq, Z80.request_irq));
if( Z80.request_irq < 0 ) return;
}
else
{
log_cb(RETRO_LOG_DEBUG, LOGPRE " no change\n");
LOG((" no change\n"));
return;
}
}
@@ -4398,7 +4402,7 @@ void z80_set_irq_line(int irqline, int state)
****************************************************************************/
void z80_set_irq_callback(int (*callback)(int))
{
log_cb(RETRO_LOG_DEBUG, LOGPRE "Z80 #%d set_irq_callback $%08x\n",cpu_getactivecpu() , (int)callback);
LOG(("Z80 #%d set_irq_callback $%08x\n",cpu_getactivecpu() , (int)callback));
Z80.irq_callback = callback;
}
+1 -13
View File
@@ -4,16 +4,7 @@
#include "drz80_z80.h"
#include "drz80.h"
typedef struct {
struct DrZ80 regs;
unsigned int nmi_state;
unsigned int irq_state;
int previouspc;
int (*MAMEIrqCallback)(int int_level);
} drz80_regs;
static drz80_regs DRZ80;
int drz80_ICount;
drz80_regs DRZ80;
#define INT_IRQ 0x01
#define NMI_IRQ 0x02
@@ -129,10 +120,8 @@ void drz80_exit(void)
int drz80_execute(int cycles)
{
DRZ80.regs.cycles = cycles;
drz80_ICount = DRZ80.regs.cycles;
DrZ80Run(&DRZ80.regs, cycles);
change_pc16(DRZ80.regs.Z80PC - DRZ80.regs.Z80PC_BASE);
drz80_ICount = DRZ80.regs.cycles;
return (cycles-DRZ80.regs.cycles);
}
@@ -144,7 +133,6 @@ void drz80_burn(int cycles)
int n = (cycles + 3) / 4;
//DRZ80.regs.Z80R += n;
DRZ80.regs.cycles -= 4 * n;
drz80_ICount = DRZ80.regs.cycles;
}
}
+11 -4
View File
@@ -3,12 +3,19 @@
#include "cpuintrf.h"
#include "osd_cpu.h"
#include "drz80.h"
extern int drz80_ICount;
typedef struct {
struct DrZ80 regs;
unsigned int nmi_state;
unsigned int irq_state;
int previouspc;
int (*MAMEIrqCallback)(int int_level);
} drz80_regs;
#define DRZ80_IGNORE_INT -1 /* Ignore interrupt */
#define DRZ80_NMI_INT -2 /* Execute NMI */
#define DRZ80_IRQ_INT -1000 /* Execute IRQ */
extern drz80_regs DRZ80;
#define drz80_ICount DRZ80.regs.cycles
extern void drz80_init(void);
extern void drz80_reset (void *param);
+90 -16
View File
@@ -13,15 +13,31 @@
#include "mamedbg.h"
#include "cpuexec.h"
#include "log.h"
#include "ost_samples.h"
#if (HAS_M68000 || HAS_M68010 || HAS_M68020 || HAS_M68EC020)
#include "cpu/m68000/m68000.h"
#endif
#if (HAS_CYCLONE)
#include "cpu/m68000_cyclone/c68000.h"
#endif
/*************************************
*
* Debug logging
*
*************************************/
#define VERBOSE 0
#if VERBOSE
#define LOG(x) logerror x
#else
#define LOG(x)
#endif
/*************************************
*
* Macros to help verify active CPU
@@ -147,6 +163,50 @@ struct cpuinfo
static struct cpuinfo cpu[MAX_CPU];
/* The lasting suspend reasons of each CPU (held in reset, halted or
disabled), kept for save states. Without them a loaded save state keeps
the suspend state of the board that loads it: a sound CPU that was held
in reset at that moment is reset again when the game releases its reset
line, and it restarts its program while the main CPU does not. The
short-lived reasons (spin, trigger) are not kept: the loaded CPU simply
runs until it waits again. */
#define SUSPEND_LASTING_REASONS (SUSPEND_REASON_HALT | SUSPEND_REASON_RESET | SUSPEND_REASON_DISABLE)
static INT32 saved_suspend[MAX_CPU];
/* Each CPU's local time (how far it ran past the timer system's time) and
cycle count, kept with a save: without them a loaded CPU keeps the offset
it had when the save was loaded, a few cycles off, and a game that polls
another CPU drifts from the run it was saved from. */
static double saved_localtime[MAX_CPU];
static UINT32 saved_cycles[MAX_CPU * 2];
static void cpu_suspend_presave(void)
{
int cpunum;
for (cpunum = 0; cpunum < cpu_gettotalcpu(); cpunum++)
{
saved_suspend[cpunum] = cpu[cpunum].nextsuspend & SUSPEND_LASTING_REASONS;
saved_localtime[cpunum] = cpu[cpunum].localtime;
saved_cycles[cpunum * 2] = (UINT32)cpu[cpunum].totalcycles;
saved_cycles[cpunum * 2 + 1] = (UINT32)(cpu[cpunum].totalcycles >> 32);
}
}
static void cpu_suspend_postload(void)
{
int cpunum;
for (cpunum = 0; cpunum < cpu_gettotalcpu(); cpunum++)
{
cpu[cpunum].suspend = cpu[cpunum].nextsuspend = saved_suspend[cpunum] & SUSPEND_LASTING_REASONS;
if (saved_suspend[cpunum])
cpu[cpunum].eatcycles = cpu[cpunum].nexteatcycles = 1;
cpu[cpunum].localtime = saved_localtime[cpunum];
cpu[cpunum].totalcycles = ((UINT64)saved_cycles[cpunum * 2 + 1] << 32) | saved_cycles[cpunum * 2];
}
}
static int time_to_reset;
static int time_to_quit;
@@ -253,6 +313,11 @@ int cpu_init(void)
/* save some stuff in tag 0 */
state_save_set_current_tag(0);
state_save_register_INT32("cpu", 0, "watchdog count", &watchdog_counter, 1);
state_save_register_INT32("cpu", 0, "suspend", saved_suspend, cpu_gettotalcpu());
state_save_register_double("cpu", 0, "localtime", saved_localtime, cpu_gettotalcpu());
state_save_register_UINT32("cpu", 0, "totalcycles", saved_cycles, cpu_gettotalcpu() * 2);
state_save_register_func_presave(cpu_suspend_presave);
state_save_register_func_postload(cpu_suspend_postload);
/* reset the IRQ lines and save those */
if (cpuint_init())
@@ -288,6 +353,10 @@ static void cpu_pre_run(void)
/* reset sound chips */
sound_reset();
/* prepare ost if installed */
if (options.content_flags[CONTENT_ALT_SOUND])
ost_init();
/* first pass over CPUs */
for (cpunum = 0; cpunum < cpu_gettotalcpu(); cpunum++)
{
@@ -319,6 +388,7 @@ static void cpu_pre_run(void)
/* reset the globals */
cpu_vblankreset();
current_frame = 0;
mame_pause(false);
state_save_dump_registry();
}
@@ -452,12 +522,16 @@ static void watchdog_reset(void)
watchdog_counter = 3 * Machine->drv->frames_per_second;
}
WRITE_HANDLER( watchdog_reset_w )
{
watchdog_reset();
}
WRITE_HANDLER( watchdog_400_reset_w )
{
watchdog_counter = 400;
}
READ_HANDLER( watchdog_reset_r )
{
@@ -579,14 +653,14 @@ static void cpu_timeslice(void)
double target = timer_time_until_next_timer();
int cpunum, ran;
log_cb(RETRO_LOG_DEBUG, LOGPRE "------------------\n");
log_cb(RETRO_LOG_DEBUG, LOGPRE "cpu_timeslice: target = %.9f\n", target);
LOG(("------------------\n"));
LOG(("cpu_timeslice: target = %.9f\n", target));
/* process any pending suspends */
for (cpunum = 0; Machine->drv->cpu[cpunum].cpu_type != CPU_DUMMY; cpunum++)
{
if (cpu[cpunum].suspend != cpu[cpunum].nextsuspend)
log_cb(RETRO_LOG_DEBUG, LOGPRE "--> updated CPU%d suspend from %X to %X\n", cpunum, cpu[cpunum].suspend, cpu[cpunum].nextsuspend);
LOG(("--> updated CPU%d suspend from %X to %X\n", cpunum, cpu[cpunum].suspend, cpu[cpunum].nextsuspend));
cpu[cpunum].suspend = cpu[cpunum].nextsuspend;
cpu[cpunum].eatcycles = cpu[cpunum].nexteatcycles;
}
@@ -599,7 +673,7 @@ static void cpu_timeslice(void)
{
/* compute how long to run */
cycles_running = TIME_TO_CYCLES(cpunum, target - cpu[cpunum].localtime);
log_cb(RETRO_LOG_DEBUG, LOGPRE " cpu %d: %d cycles\n", cpunum, cycles_running);
LOG((" cpu %d: %d cycles\n", cpunum, cycles_running));
/* run for the requested number of cycles */
if (cycles_running > 0)
@@ -613,13 +687,13 @@ static void cpu_timeslice(void)
/* account for these cycles */
cpu[cpunum].totalcycles += ran;
cpu[cpunum].localtime += TIME_IN_CYCLES(ran, cpunum);
log_cb(RETRO_LOG_DEBUG, LOGPRE " %d ran, %d total, time = %.9f\n", ran, (INT32)cpu[cpunum].totalcycles, cpu[cpunum].localtime);
LOG((" %d ran, %d total, time = %.9f\n", ran, (INT32)cpu[cpunum].totalcycles, cpu[cpunum].localtime));
/* if the new local CPU time is less than our target, move the target up */
if (cpu[cpunum].localtime < target && cpu[cpunum].localtime > 0)
{
target = cpu[cpunum].localtime;
log_cb(RETRO_LOG_DEBUG, LOGPRE " (new target)\n");
LOG((" (new target)\n"));
}
}
}
@@ -633,16 +707,16 @@ static void cpu_timeslice(void)
{
/* compute how long to run */
cycles_running = TIME_TO_CYCLES(cpunum, target - cpu[cpunum].localtime);
log_cb(RETRO_LOG_DEBUG, LOGPRE " cpu %d: %d cycles (suspended)\n", cpunum, cycles_running);
LOG((" cpu %d: %d cycles (suspended)\n", cpunum, cycles_running));
cpu[cpunum].totalcycles += cycles_running;
cpu[cpunum].localtime += TIME_IN_CYCLES(cycles_running, cpunum);
log_cb(RETRO_LOG_DEBUG, LOGPRE " %d skipped, %d total, time = %.9f\n", cycles_running, (INT32)cpu[cpunum].totalcycles, cpu[cpunum].localtime);
LOG((" %d skipped, %d total, time = %.9f\n", cycles_running, (INT32)cpu[cpunum].totalcycles, cpu[cpunum].localtime));
}
/* update the suspend state */
if (cpu[cpunum].suspend != cpu[cpunum].nextsuspend)
log_cb(RETRO_LOG_DEBUG, LOGPRE "--> updated CPU%d suspend from %X to %X\n", cpunum, cpu[cpunum].suspend, cpu[cpunum].nextsuspend);
LOG(("--> updated CPU%d suspend from %X to %X\n", cpunum, cpu[cpunum].suspend, cpu[cpunum].nextsuspend));
cpu[cpunum].suspend = cpu[cpunum].nextsuspend;
cpu[cpunum].eatcycles = cpu[cpunum].nexteatcycles;
@@ -676,7 +750,7 @@ void activecpu_abort_timeslice(void)
int current_icount;
VERIFY_EXECUTINGCPU_VOID(activecpu_abort_timeslice);
log_cb(RETRO_LOG_DEBUG, LOGPRE "activecpu_abort_timeslice (CPU=%d, cycles_left=%d)\n", cpu_getexecutingcpu(), activecpu_get_icount() + 1);
LOG(("activecpu_abort_timeslice (CPU=%d, cycles_left=%d)\n", cpu_getexecutingcpu(), activecpu_get_icount() + 1));
/* swallow the remaining cycles */
current_icount = activecpu_get_icount() + 1;
@@ -726,7 +800,7 @@ double cpunum_get_localtime(int cpunum)
void cpunum_suspend(int cpunum, int reason, int eatcycles)
{
VERIFY_CPUNUM_VOID(cpunum_suspend);
log_cb(RETRO_LOG_DEBUG, LOGPRE "cpunum_suspend (CPU=%d, r=%X, eat=%d)\n", cpunum, reason, eatcycles);
LOG(("cpunum_suspend (CPU=%d, r=%X, eat=%d)\n", cpunum, reason, eatcycles));
/* set the pending suspend bits, and force a resync */
cpu[cpunum].nextsuspend |= reason;
@@ -747,7 +821,7 @@ void cpunum_suspend(int cpunum, int reason, int eatcycles)
void cpunum_resume(int cpunum, int reason)
{
VERIFY_CPUNUM_VOID(cpunum_resume);
log_cb(RETRO_LOG_DEBUG, LOGPRE "cpunum_resume (CPU=%d, r=%X)\n", cpunum, reason);
LOG(("cpunum_resume (CPU=%d, r=%X)\n", cpunum, reason));
/* clear the pending suspend bits, and force a resync */
cpu[cpunum].nextsuspend &= ~reason;
@@ -821,7 +895,7 @@ void cpu_boost_interleave(double timeslice_time, double boost_duration)
if (timeslice_time < perfect_interleave)
timeslice_time = perfect_interleave;
log_cb(RETRO_LOG_DEBUG, LOGPRE "cpu_boost_interleave(%.9f, %.9f)\n", timeslice_time, boost_duration);
LOG(("cpu_boost_interleave(%.9f, %.9f)\n", timeslice_time, boost_duration));
/* adjust the interleave timer */
timer_adjust(interleave_boost_timer, timeslice_time, 0, timeslice_time);
@@ -1549,7 +1623,7 @@ static void cpu_timeslicecallback(int param)
static void end_interleave_boost(int param)
{
timer_adjust(interleave_boost_timer, TIME_NEVER, 0, TIME_NEVER);
log_cb(RETRO_LOG_DEBUG, LOGPRE "end_interleave_boost\n");
LOG(("end_interleave_boost\n"));
}
@@ -1584,7 +1658,7 @@ static void compute_perfect_interleave(void)
if (perfect_interleave == 1.0)
perfect_interleave = cycles_to_sec[0];
log_cb(RETRO_LOG_DEBUG, LOGPRE "Perfect interleave = %.9f, smallest = %.9f\n", perfect_interleave, smallest);
LOG(("Perfect interleave = %.9f, smallest = %.9f\n", perfect_interleave, smallest));
}
+3
View File
@@ -95,6 +95,8 @@ void machine_reset(void);
void mame_frame(void);
extern void (*pause_action)(void);
/*************************************
*
* Optional watchdog
@@ -103,6 +105,7 @@ void mame_frame(void);
/* 8-bit watchdog read/write handlers */
WRITE_HANDLER( watchdog_reset_w );
WRITE_HANDLER( watchdog_400_reset_w );
READ_HANDLER( watchdog_reset_r );
/* 16-bit watchdog read/write handlers */
+24
View File
@@ -62,6 +62,26 @@ static INT32 irq_line_vector[MAX_CPU][MAX_IRQ_LINES];
static INT32 irq_event_queue[MAX_CPU][MAX_IRQ_EVENTS];
static int irq_event_index[MAX_CPU];
static void cpu_empty_event_queue(int cpunum);
/* A save made at the end of a frame finds the VBLANK interrupt still in the
queue (it is emptied by a timer at the same time, which runs in the next
frame). The queue is saved with the game, and a load sets that timer again,
or the CPU misses that interrupt: a game that does its work every other
frame then runs one frame late after loading. */
static void cpuint_postload(void)
{
int cpunum;
for (cpunum = 0; cpunum < cpu_gettotalcpu(); cpunum++)
{
if (irq_event_index[cpunum] > MAX_IRQ_EVENTS)
irq_event_index[cpunum] = MAX_IRQ_EVENTS;
if (irq_event_index[cpunum] > 0)
timer_set(TIME_NOW, cpunum, cpu_empty_event_queue);
}
}
/*************************************
@@ -131,6 +151,10 @@ int cpuint_init(void)
state_save_register_INT32("cpu", 0, "irq vector", &interrupt_vector[0][0],cpu_gettotalcpu() * MAX_IRQ_LINES);
state_save_register_UINT8("cpu", 0, "irqline state", &irq_line_state[0][0], cpu_gettotalcpu() * MAX_IRQ_LINES);
state_save_register_INT32("cpu", 0, "irqline vector", &irq_line_vector[0][0], cpu_gettotalcpu() * MAX_IRQ_LINES);
state_save_register_INT32("cpu", 0, "irq event queue", &irq_event_queue[0][0], cpu_gettotalcpu() * MAX_IRQ_EVENTS);
for (cpunum = 0; cpunum < cpu_gettotalcpu(); cpunum++)
state_save_register_int("cpu", cpunum, "irq events", &irq_event_index[cpunum]);
state_save_register_func_postload(cpuint_postload);
return 0;
}
+7 -24
View File
@@ -3520,22 +3520,18 @@ void draw_crosshair(int player_number, struct mame_bitmap *bitmap,int x,int y,co
{
unsigned long color,black,white;
int i;
static int flash [2] = { 0, 0 };
static int inactive_xy [MAX_PLAYER_COUNT][3];
if (!options.crosshair_enable)
{
/* Update frame count */
inactive_xy[player_number-1][2] = cpu_getcurrentframe();
flash[0] = cpu_getcurrentframe();
return;
}
/* Catch if frame count was reset */
if (inactive_xy[player_number-1][2] > cpu_getcurrentframe())
inactive_xy[player_number-1][2] = cpu_getcurrentframe();
if (flash[0] > cpu_getcurrentframe())
flash[0] = cpu_getcurrentframe();
/* Hide crosshairs for inactive players */
if(inactive_xy[player_number-1][0] == x && inactive_xy[player_number-1][1] == y)
@@ -3555,14 +3551,6 @@ void draw_crosshair(int player_number, struct mame_bitmap *bitmap,int x,int y,co
white = Machine->uifont->colortable[1];
color = white; /* default */
/* Flashing effect
if( cpu_getcurrentframe() > flash[0] + 4 )
{
flash[0] = cpu_getcurrentframe();
flash[1] = flash[1] ? 0:1;
}
if(flash[1]) color = black;*/
/* Draw crosshair - simple */
for (i = 1;i < 6;i++)
{
@@ -3594,18 +3582,13 @@ void draw_crosshair(int player_number, struct mame_bitmap *bitmap,int x,int y,co
}
/* 45 degrees */
plotclip(bitmap,x-4,y+6,color,clip);
plotclip(bitmap,x-5,y+5,color,clip);
plotclip(bitmap,x-6,y+4,color,clip);
plotclip(bitmap,x-4,y-6,color,clip);
plotclip(bitmap,x-5,y-5,color,clip);
plotclip(bitmap,x-6,y-4,color,clip);
plotclip(bitmap,x+4,y-6,color,clip);
plotclip(bitmap,x+5,y-5,color,clip);
plotclip(bitmap,x+6,y-4,color,clip);
plotclip(bitmap,x+4,y+6,color,clip);
plotclip(bitmap,x+5,y+5,color,clip);
plotclip(bitmap,x+6,y+4,color,clip);
for (i = 0;i < 3;i++)
{
plotclip(bitmap,x-6+i,y+4+i,color,clip);
plotclip(bitmap,x-6+i,y-4-i,color,clip);
plotclip(bitmap,x+6-i,y+4+i,color,clip);
plotclip(bitmap,x+6-i,y-4-i,color,clip);
}
}
}
+1
View File
@@ -281,6 +281,7 @@ static INLINE void sect_rect(struct rectangle *dst, const struct rectangle *src)
if (src->max_y < dst->max_y) dst->max_y = src->max_y;
}
extern struct GfxElement *uirotfont;
#ifdef __cplusplus
}
+537 -221
View File
File diff suppressed because it is too large. Load diff
-2
View File
@@ -595,6 +595,4 @@ extern const struct GameDriver *test_drivers[];
extern const int total_drivers;
extern unsigned activate_dcs_speedhack;
#endif
+970
View File
@@ -0,0 +1,970 @@
/******************************************************************************
driver_split.c
The list of all available drivers. Drivers have to be included here to be
recognized by the executable.
To save some typing, we use a hack here. This file is recursively #included
twice, with different definitions of the DRIVER() macro. The first one
declares external references to the drivers; the second one builds an array
storing all the drivers.
******************************************************************************/
#include "driver.h"
#ifndef DRIVER_RECURSIVE
/* The "root" driver, defined so we can have &driver_##NAME in macros. */
struct GameDriver driver_0 =
{
__FILE__,
0,
"",
0,
0,
0,
0,
0,
0,
0,
0,
NOT_A_DRIVER
};
#endif
#ifndef DRIVER_RECURSIVE
#define DRIVER_RECURSIVE
/* step 1: declare all external references */
#define DRIVER(NAME) extern struct GameDriver driver_##NAME;
#define TESTDRIVER(NAME) extern struct GameDriver driver_##NAME;
#include "driver_split.c"
/* step 2: define the drivers[] array */
#undef DRIVER
#undef TESTDRIVER
#define DRIVER(NAME) &driver_##NAME,
#define TESTDRIVER(NAME)
const struct GameDriver *drivers[] =
{
#include "driver_split.c"
0 /* end of array */
};
const int total_drivers = sizeof(drivers)/sizeof(drivers[0]);
/* step 3: define the test_drivers[] array */
#undef DRIVER
#undef TESTDRIVER
#define DRIVER(NAME)
#define TESTDRIVER(NAME) &driver_##NAME,
const struct GameDriver *test_drivers[] =
{
#include "driver_split.c"
0 /* end of array */
};
#else /* DRIVER_RECURSIVE */
#if defined(drv_1942) || defined(core_none)
/* 1942.c */
DRIVER( 1942 ) /* 12/1984 (c) 1984 */
DRIVER( 1942a ) /* 12/1984 (c) 1984 */
DRIVER( 1942b ) /* 12/1984 (c) 1984 */
#endif
#if defined(drv_1943) || defined(core_none)
/* 1943.c */
DRIVER( 1943 ) /* 6/1987 (c) 1987 (US) */
DRIVER( 1943j ) /* 6/1987 (c) 1987 (Japan) */
DRIVER( 1943mii ) /* 6/1987 (c) 1987 (US) */
DRIVER( 1943kai ) /* 6/1988 (c) 1987 (Japan) */
#endif
#if defined(drv_1945kii) || defined(core_none)
/* 1945kiii.c */
DRIVER( 1945kiii ) /* (c) 2000 Oriental */
DRIVER( flagrall ) /* (c) 1996 Promat? */
#endif
#if defined (drv_40love) || defined(core_none)
/* 40love.c */
DRIVER( fieldday ) /* A23 (c) 1984 Taito */
DRIVER( undoukai ) /* A17 (c) 1984 Taito */
DRIVER( 40love ) /* A30 (c) 1984 Taito */
#endif
#if defined(drv_4enraya) || defined(core_none)
/* 4enraya.c */
DRIVER( 4enraya ) /* (c) 1990 IDSA */
#endif
#if defined(drv_8080bw_drivers) || defined(core_none)
/* 8080bw_drivers.c */
/* Midway 8080 b/w games */
DRIVER( seawolf ) /* 596 [1976] */
DRIVER( gunfight ) /* 597 [1975] */
/* 603 - Top Gun [1976] */
DRIVER( tornbase ) /* 605 [1976] */
DRIVER( 280zzzap ) /* 610 [1976] */
DRIVER( maze ) /* 611 [1976] */
DRIVER( boothill ) /* 612 [1977] */
DRIVER( checkmat ) /* 615 [1977] */
DRIVER( desertgu ) /* 618 [1977] */
DRIVER( dplay ) /* 619 [1977] */
DRIVER( lagunar ) /* 622 [1977] */
DRIVER( gmissile ) /* 623 [1977] */
DRIVER( m4 ) /* 626 [1977] */
DRIVER( clowns ) /* 630 [1978] */
DRIVER( clowns1 ) /* 630 [1978] */
/* 640 - Space Walk [1978] */
DRIVER( einnings ) /* 642 [1978] Midway */
DRIVER( shuffle ) /* 643 [1978] */
DRIVER( dogpatch ) /* 644 [1977] */
DRIVER( spcenctr ) /* 645 (c) 1980 Midway */
DRIVER( phantom2 ) /* 652 [1979] */
DRIVER( bowler ) /* 730 [1978] Midway */
DRIVER( invaders ) /* 739 [1979] */
DRIVER( blueshrk ) /* 742 [1978] */
DRIVER( invad2ct ) /* 851 (c) 1980 Midway */
DRIVER( invaddlx ) /* 852 [1980] Midway */
DRIVER( sitv )
DRIVER( sicv )
DRIVER( sisv )
DRIVER( sisv2 )
DRIVER( galxwars )
DRIVER( galxwar2 )
DRIVER( galxwart )
DRIVER( starw )
DRIVER( lrescue ) /* LR (c) 1979 Taito */
DRIVER( grescue ) /* bootleg? */
DRIVER( desterth ) /* bootleg */
DRIVER( invadpt2 ) /* 852 [1980] Taito */
DRIVER( cosmo ) /* TDS+Mints */
DRIVER( schaser ) /* RT Taito */
DRIVER( schasrcv ) /* RT Taito */
DRIVER( sflush ) /* (c)1979 Taito */
DRIVER( lupin3 ) /* LP (c) 1980 Taito */
DRIVER( polaris ) /* PS (c) 1980 Taito */
DRIVER( polarisa ) /* PS (c) 1980 Taito */
DRIVER( ballbomb ) /* TN (c) 1980 Taito */
DRIVER( indianbt ) /* Taito - 1980 */
DRIVER( steelwkr ) /* (c) 1980 Taito */
DRIVER( earthinv )
DRIVER( spaceatt )
DRIVER( spaceat2 )
DRIVER( sinvzen )
DRIVER( sinvemag )
DRIVER( tst_invd )
DRIVER( alieninv )
DRIVER( spceking )
DRIVER( spcewars )
DRIVER( spacewr3 )
DRIVER( invaderl )
DRIVER( jspecter )
DRIVER( jspectr2 )
DRIVER( cosmicmo ) /* Universal */
DRIVER( cosmicm2 ) /* Universal */
DRIVER( superinv )
DRIVER( sstrangr )
DRIVER( sstrngr2 )
DRIVER( moonbase ) /* Zeta - Nichibutsu */
DRIVER( invrvnge )
DRIVER( invrvnga )
DRIVER( spclaser )
DRIVER( laser )
DRIVER( spcewarl )
DRIVER( rollingc ) /* Nichibutsu */
DRIVER( ozmawars ) /* Shin Nihon Kikaku (SNK) */
DRIVER( ozmawar2 ) /* Shin Nihon Kikaku (SNK) */
DRIVER( solfight ) /* bootleg */
DRIVER( spaceph ) /* Zilec Games */
DRIVER( yosakdon )
DRIVER( yosakdoa )
DRIVER( invasion )
DRIVER( invasioa )
DRIVER( invasiob )
DRIVER( astropal )
DRIVER( galactic )
DRIVER( spacmiss )
#endif
#if defined(drv_88games) || defined(core_none)
/* 88games.c */
DRIVER( 88games ) /* GX861 (c) 1988 */
DRIVER( konami88 ) /* GX861 (c) 1988 */
DRIVER( hypsptsp ) /* GX861 (c) 1988 (Japan) */
#endif
#if defined(drv_aburner) || defined(core_none)
/* aburner.c */
DRIVER( aburner ) /* (c) 1987 */
DRIVER( aburner2 ) /* (c) 1987 */
DRIVER( loffire ) /* (protected) */
DRIVER( thndrbld ) /* (protected) */
DRIVER( thndrbdj ) /* (protected?) */
#endif
#if defined(drv_ace) || defined(core_none)
/* ace.c */
DRIVER( ace ) /* [1976 Allied Leisure] */
#endif
#if defined(drv_actfancr) || defined(core_none)
/* actfancr.c */
DRIVER( actfancr ) /* (c) 1989 Data East Corporation (World) */
DRIVER( actfanc1 ) /* (c) 1989 Data East Corporation (World) */
DRIVER( actfancj ) /* (c) 1989 Data East Corporation (Japan) */
DRIVER( triothep ) /* (c) 1989 Data East Corporation (Japan) */
#endif
#if defined(drv_aeroboto) || defined(core_none)
/* aeroboto.c */
DRIVER( formatz ) /* (c) 1984 Jaleco */
DRIVER( aeroboto ) /* (c) 1984 Williams */
#endif
#if defined(drv_aerofgt) || defined(core_none)
/* aerofgt.c */
DRIVER( spinlbrk ) /* (c) 1990 V-System Co. (World) */
DRIVER( spinlbru ) /* (c) 1990 V-System Co. (US) */
DRIVER( spinlbrj ) /* (c) 1990 V-System Co. (Japan) */
DRIVER( pspikes ) /* (c) 1991 Video System Co. (World) */
DRIVER( pspikesk ) /* (c) 1991 Video System Co. (Korea) */
DRIVER( svolly91 ) /* (c) 1991 Video System Co. (Japan) */
DRIVER( karatblz ) /* (c) 1991 Video System Co. */
DRIVER( karatblu ) /* (c) 1991 Video System Co. (US) */
DRIVER( turbofrc ) /* (c) 1991 Video System Co. */
DRIVER( aerofgt ) /* (c) 1992 Video System Co. */
DRIVER( aerofgtb ) /* (c) 1992 Video System Co. */
DRIVER( aerofgtc ) /* (c) 1992 Video System Co. */
DRIVER( sonicwi ) /* (c) 1992 Video System Co. (Japan) */
#endif
#if defined(drv_afega) || defined(core_none)
/* afega.c */
DRIVER( stagger1 ) /* (c) 1998 */
DRIVER( redhawk ) /* (c) 1997 */
DRIVER( grdnstrm ) /* (c) 1998 */
DRIVER( bubl2000 ) /* (c) 1998 Tuning */
DRIVER( spec2k ) /* (c) 2000 Yonatech */
DRIVER( firehawk ) /* (c) 2001 ESD */
#endif
#if defined(drv_airbustr) || defined(core_none)
/* airbustr.c */
DRIVER( airbustr ) /* (c) 1990 Kaneko + Namco */
DRIVER( airbustj ) /* (c) 1990 Kaneko + Namco (Japan) */
#endif
#if defined(drv_ajax) || defined(core_none)
/* ajax.c */
DRIVER( ajax ) /* GX770 (c) 1987 */
DRIVER( typhoon ) /* GX770 (c) 1987 */
DRIVER( ajaxj ) /* GX770 (c) 1987 (Japan) */
#endif
#if defined(drv_aliens) || defined(core_none)
/* aliens.c */
DRIVER( aliens ) /* GX875 (c) 1990 (World) */
DRIVER( aliens2 ) /* GX875 (c) 1990 (World) */
DRIVER( aliensu ) /* GX875 (c) 1990 (US) */
DRIVER( aliensj ) /* GX875 (c) 1990 (Japan) */
#endif
#if defined(drv_alpha68k) || defined(core_none)
/* alpha68k.c */
DRIVER( sstingry ) /* (c) 1986 Alpha Denshi Co. */
DRIVER( kyros ) /* (c) 1987 World Games */
DRIVER( kyrosj ) /* (c) 1986 Alpha Denshi Co. */
DRIVER( paddlema ) /* Alpha-68K96I 'PM' (c) 1988 SNK */
DRIVER( timesold ) /* Alpha-68K96II 'BT' (c) 1987 SNK / Romstar */
DRIVER( timesol1 ) /* Alpha-68K96II 'BT' (c) 1987 */
DRIVER( btlfield ) /* Alpha-68K96II 'BT' (c) 1987 */
DRIVER( skysoldr ) /* Alpha-68K96II 'SS' (c) 1988 SNK (Romstar with dip switch) */
DRIVER( goldmedl ) /* Alpha-68K96II 'GM' (c) 1988 SNK */
DRIVER( goldmedb ) /* Alpha-68K96II bootleg */
DRIVER( skyadvnt ) /* Alpha-68K96V 'SA' (c) 1989 Alpha Denshi Co. */
DRIVER( skyadvnu ) /* Alpha-68K96V 'SA' (c) 1989 SNK of America licensed from Alpha */
DRIVER( skyadvnj ) /* Alpha-68K96V 'SA' (c) 1989 Alpha Denshi Co. */
DRIVER( gangwars ) /* Alpha-68K96V (c) 1989 Alpha Denshi Co. */
DRIVER( gangwarb ) /* Alpha-68K96V bootleg */
DRIVER( sbasebal ) /* Alpha-68K96V (c) 1989 SNK of America licensed from Alpha */
DRIVER( tnexspce ) /* A8003 'NS' (c) 1989 */
#endif
#if defined(drv_ambush) || defined(core_none)
/* ambush.c */
DRIVER( ambush ) /* (c) 1983 Nippon Amuse Co-Ltd */
DRIVER( ambusht ) /* (c) 1983 Tecfri */
#endif
#if defined(drv_amidar) || defined(core_none)
/* amidar.c */
DRIVER( amidar ) /* GX337 (c) 1981 Konami */
DRIVER( amidaru ) /* GX337 (c) 1982 Konami + Stern license */
DRIVER( amidaro ) /* GX337 (c) 1982 Konami + Olympia license */
DRIVER( amigo ) /* bootleg */
DRIVER( turtles ) /* (c) 1981 Stern */
DRIVER( turpin ) /* (c) 1981 Sega */
DRIVER( 600 ) /* GX353 (c) 1981 Konami */
#endif
#if defined(drv_amspdwy) || defined(core_none)
/* amspdwy.c */
DRIVER( amspdwy ) /* no copyright notice, but (c) 1987 Enerdyne Technologies, Inc. */
DRIVER( amspdwya ) /* no copyright notice, but (c) 1987 Enerdyne Technologies, Inc. */
#endif
#if defined(drv_angelkds) || defined(core_none)
/* angelkds.c */
DRIVER( angelkds ) /* 833-6599 (c) 1988 Sega / Nasco? */
DRIVER( spcpostn ) /* (c) 1986 Sega / Nasco" */
#endif
#if defined(drv_appoooh) || defined(core_none)
/* appoooh.c */
DRIVER( appoooh ) /* (c) 1984 Sega */ /* made by Sanritsu */
#endif
#if defined(drv_aquarium) || defined(core_none)
/* aquarium.c */
DRIVER( aquarium ) /* (c) 1996 Excellent System */
#endif
#if defined(drv_arabian) || defined(core_none)
/* arabian.c */
DRIVER( arabian ) /* TVG13 (c) 1983 Sun Electronics */
DRIVER( arabiana ) /* 136019 (c) 1983 Atari */
#endif
#if defined(drv_arcadecl) || defined(core_none)
/* arcadecl.c */
DRIVER( arcadecl ) /* (proto) (c) 1992 */
DRIVER( sparkz ) /* (proto) (c) 1992 */
#endif
#if defined(drv_argus) || defined(core_none)
/* argus.c */
DRIVER( argus ) /* (c) 1986 Jaleco */
DRIVER( valtric ) /* (c) 1986 Jaleco */
DRIVER( butasan ) /* (c) 1987 Jaleco */
#endif
#if defined(drv_arkanoid) || defined(core_none)
/* arkanoid.c */
DRIVER( arkanoid ) /* A75 (c) 1986 Taito Corporation Japan (World) */
DRIVER( arknoidu ) /* A75 (c) 1986 Taito America Corporation + Romstar license (US) */
DRIVER( arknoiuo ) /* A75 (c) 1986 Taito America Corporation + Romstar license (US) */
DRIVER( arknoidj ) /* A75 (c) 1986 Taito Corporation (Japan) */
DRIVER( arkbl2 ) /* bootleg */
DRIVER( arkbl3 ) /* bootleg */
DRIVER( paddle2 ) /* bootleg */
DRIVER( arkatayt ) /* bootleg */
DRIVER( arkblock ) /* bootleg */
DRIVER( arkbloc2 ) /* bootleg */
DRIVER( arkangc ) /* bootleg */
DRIVER( arkatour ) /* ??? (c) 1987 Taito America Corporation + Romstar license (US) */
#endif
#if defined(drv_armedf) || defined(core_none)
/* armedf.c */
DRIVER( legion ) /* (c) 1986 */
DRIVER( legiono ) /* (c) 1986 */
DRIVER( terraf ) /* (c) 1987 */
DRIVER( terrafu ) /* (c) 1987 Nichibutsu USA */
DRIVER( kodure ) /* (c) 1987 (Japan) */
DRIVER( cclimbr2 ) /* (c) 1988 (Japan) */
DRIVER( armedf ) /* (c) 1988 */
#endif
#if defined(drv_artmagic) || defined(core_none)
/* artmagic.c */
DRIVER( ultennis ) /* (c) 1993 */
DRIVER( cheesech ) /* (c) 1994 */
DRIVER( stonebal ) /* (c) 1994 */
DRIVER( stoneba2 ) /* (c) 1994 */
#endif
#if defined(drv_ashnojoe) || defined(core_none)
/* ashnojoe.c */
DRIVER( scessjoe ) /* ??? (c) 1990 Wave / Taito */
DRIVER( ashnojoe ) /* ??? (c) 1990 Wave / Taito */
#endif
#if defined(drv_asterix) || defined(core_none)
/* asterix.c */
DRIVER( asterix ) /* GX068 (c) 1992 (World) */
DRIVER( astrxeac ) /* GX068 (c) 1992 (World) */
DRIVER( astrxeaa ) /* GX068 (c) 1992 (World) */
#endif
#if defined(drv_asteroid) || defined(core_none)
/* asteroid.c */
DRIVER( asteroid ) /* 035127-035145 (c) 1979 */
DRIVER( asteroi1 ) /* 035127-035145 no copyright notice */
DRIVER( asteroib ) /* (bootleg) */
DRIVER( asterock ) /* Sidam bootleg (c) 1979 */
DRIVER( astdelux ) /* 0351xx (c) 1980 */
DRIVER( astdelu1 ) /* 0351xx (c) 1980 */
DRIVER( llander ) /* 0345xx no copyright notice */
DRIVER( llander1 ) /* 0345xx no copyright notice */
#endif
#if defined(drv_astinvad) || defined(core_none)
/* astinvad.c */
DRIVER( astinvad ) /* (c) 1980 Stern */
DRIVER( kamikaze ) /* Leijac Corporation */
DRIVER( spcking2 )
DRIVER( spaceint ) /* [1980] Shoei */
#endif
#if defined(drv_astrocde) || defined(core_none)
/* astrocde.c */
DRIVER( seawolf2 )
DRIVER( spacezap ) /* (c) 1980 */
DRIVER( ebases )
DRIVER( wow ) /* (c) 1980 */
DRIVER( gorf ) /* (c) 1981 */
DRIVER( gorfpgm1 ) /* (c) 1981 */
DRIVER( robby ) /* (c) 1981 Bally Midway */
DRIVER( profpac ) /* (c) 1983 Bally Midway */
#endif
#if defined(drv_astrof) || defined(core_none)
/* astrof.c */
DRIVER( astrof ) /* (c) [1980?] */
DRIVER( astrof2 ) /* (c) [1980?] */
DRIVER( astrof3 ) /* (c) [1980?] */
DRIVER( tomahawk ) /* (c) [1980?] */
DRIVER( tomahaw5 ) /* (c) [1980?] */
#endif
#if defined(drv_asuka) || defined(core_none)
/* asuka.c */
DRIVER( bonzeadv ) /* B41 (c) 1988 Taito Corporation Japan (World) */
DRIVER( bonzeadu ) /* B41 (c) 1988 Taito America Corporation (US) */
DRIVER( jigkmgri ) /* B41 (c) 1988 Taito Corporation (Japan)*/
DRIVER( asuka ) /* ??? (c) 1988 Taito Corporation (Japan) */
DRIVER( mofflott ) /* C17 (c) 1989 Taito Corporation (Japan) */
DRIVER( cadash ) /* C21 (c) 1989 Taito Corporation Japan */
DRIVER( cadashj ) /* C21 (c) 1989 Taito Corporation */
DRIVER( cadashu ) /* C21 (c) 1989 Taito America Corporation */
DRIVER( cadashi ) /* C21 (c) 1989 Taito Corporation Japan */
DRIVER( cadashf ) /* C21 (c) 1989 Taito Corporation Japan */
DRIVER( galmedes ) /* (c) 1992 Visco (Japan) */
DRIVER( earthjkr ) /* (c) 1993 Visco (Japan) */
DRIVER( eto ) /* (c) 1994 Visco (Japan) */
#endif
#if defined(drv_atarifb) || defined(core_none)
/* atarifb.c */
DRIVER( atarifb ) /* 033xxx 1978/10 [6502] */
DRIVER( atarifb1 ) /* 033xxx 1978/10 [6502] */
DRIVER( atarifb4 ) /* 034754 1979/04 [6502] */
DRIVER( abaseb ) /* 034711-034738 1979/06 [6502] */
DRIVER( abaseb2 ) /* 034711-034738 1979/06 [6502] */
DRIVER( soccer ) /* 035222-035260 1980/04 [6502] */
#endif
#if defined(drv_atarig1) || defined(core_none)
/* atarig1.c */
DRIVER( hydra ) /* 136079 (c) 1990 */
DRIVER( hydrap ) /* (proto) (c) 1990 */
DRIVER( hydrap2 ) /* (proto) (c) 1990 */
DRIVER( pitfight ) /* 136081 (c) 1990 */
DRIVER( pitfigh3 ) /* 136081 (c) 1990 */
DRIVER( pitfighj ) /* Japan */
DRIVER( pitfighb ) /* bootleg */
#endif
#if defined(drv_atarig42) || defined(core_none)
/* atarig42.c */
DRIVER( roadriot ) /* 136089 (c) 1991 */
DRIVER( guardian ) /* 136092 (c) 1992 */
DRIVER( dangerex ) /* (proto) (c) 1992 */
#endif
#if defined(drv_atarigt) || defined(core_none)
/* atarigt.c */
DRIVER( tmek ) /* 136100 (c) 1994 */
DRIVER( tmekprot ) /* 136100 (c) 1994 */
DRIVER( primrage ) /* 136102 (c) 1994 */
DRIVER( primraga ) /* 136102 (c) 1994 */
#endif
#if defined(drv_atarigx2) || defined(core_none)
/* atarigx2.c */
DRIVER( spclords ) /* 136095 (c) 1992 */
DRIVER( spclorda ) /* 136095 (c) 1992 */
DRIVER( motofren ) /* 136094 (c) 1992 */
DRIVER( rrreveng ) /* ?? (c) 1993 */
DRIVER( rrrevenp ) /* ?? (c) 1993 */
#endif
#if defined(drv_atarisy1) || defined(core_none)
/* atarisy1.c */
DRIVER( marble ) /* 136033 (c) 1984 */
DRIVER( marble2 ) /* 136033 (c) 1984 */
DRIVER( marble3 ) /* 136033 (c) 1984 */
DRIVER( marble4 ) /* 136033 (c) 1984 */
DRIVER( indytemp ) /* 136036 (c) 1985 */
DRIVER( indytem2 ) /* 136036 (c) 1985 */
DRIVER( indytem3 ) /* 136036 (c) 1985 */
DRIVER( indytem4 ) /* 136036 (c) 1985 */
DRIVER( indytemd ) /* 136036 (c) 1985 */
DRIVER( roadrunn ) /* 136040 (c) 1985 */
DRIVER( roadrun2 ) /* 136040 (c) 1985 */
DRIVER( roadrun1 ) /* 136040 (c) 1985 */
DRIVER( roadblst ) /* 136048 (c) 1986, 1987 */
DRIVER( roadblsg ) /* 136048 (c) 1986, 1987 */
DRIVER( roadbls3 ) /* 136048 (c) 1986, 1987 */
DRIVER( roadblg2 ) /* 136048 (c) 1986, 1987 */
DRIVER( roadbls2 ) /* 136048 (c) 1986, 1987 */
DRIVER( roadblg1 ) /* 136048 (c) 1986, 1987 */
DRIVER( roadbls1 ) /* 136048 (c) 1986, 1987 */
DRIVER( roadblsc ) /* 136048 (c) 1986, 1987 */
DRIVER( roadblcg ) /* 136048 (c) 1986, 1987 */
DRIVER( roadblc1 ) /* 136048 (c) 1986, 1987 */
#endif
#if defined(drv_atarisy2) || defined(core_none)
/* atarisy2.c */
DRIVER( paperboy ) /* 136034 (c) 1984 */
DRIVER( paperbr2 ) /* 136034 (c) 1984 */
DRIVER( paperbr1 ) /* 136034 (c) 1984 */
DRIVER( 720 ) /* 136047 (c) 1986 */
DRIVER( 720r3 ) /* 136047 (c) 1986 */
DRIVER( 720r2 ) /* 136047 (c) 1986 */
DRIVER( 720r1 ) /* 136047 (c) 1986 */
DRIVER( 720g ) /* 136047 (c) 1986 */
DRIVER( 720gr1 ) /* 136047 (c) 1986 */
DRIVER( ssprint ) /* 136042 (c) 1986 */
DRIVER( ssprint3 ) /* 136042 (c) 1986 */
DRIVER( ssprint1 ) /* 136042 (c) 1986 */
DRIVER( ssprintg ) /* 136042 (c) 1986 */
DRIVER( sspring1 ) /* 136042 (c) 1986 */
DRIVER( ssprintf ) /* 136042 (c) 1986 */
DRIVER( ssprints ) /* 136042 (c) 1986 */
DRIVER( csprint ) /* 136045 (c) 1986 */
DRIVER( csprint2 ) /* 136045 (c) 1986 */
DRIVER( csprint1 ) /* 136045 (c) 1986 */
DRIVER( csprintg ) /* 136045 (c) 1986 */
DRIVER( cspring1 ) /* 136045 (c) 1986 */
DRIVER( csprintf ) /* 136045 (c) 1986 */
DRIVER( csprints ) /* 136045 (c) 1986 */
DRIVER( csprins1 ) /* 136045 (c) 1986 */
DRIVER( apb ) /* 136051 (c) 1987 */
DRIVER( apb6 ) /* 136051 (c) 1987 */
DRIVER( apb5 ) /* 136051 (c) 1987 */
DRIVER( apb4 ) /* 136051 (c) 1987 */
DRIVER( apb3 ) /* 136051 (c) 1987 */
DRIVER( apb2 ) /* 136051 (c) 1987 */
DRIVER( apb1 ) /* 136051 (c) 1987 */
DRIVER( apbg ) /* 136051 (c) 1987 */
DRIVER( apbf ) /* 136051 (c) 1987 */
#endif
#if defined(drv_ataxx) || defined(core_none)
/* ataxx.c */
DRIVER( ataxx ) /* (c) 1990 Leland */
DRIVER( ataxxa ) /* (c) 1990 Leland */
DRIVER( ataxxj ) /* (c) 1990 Leland */
DRIVER( wsf ) /* (c) 1990 Leland */
DRIVER( indyheat ) /* (c) 1991 Leland */
DRIVER( brutforc ) /* (c) 1991 Leland */
DRIVER( asylum ) /* (c) 1991 Leland */
#endif
#if defined(drv_atetris) || defined(core_none)
/* atetris.c */
DRIVER( atetris ) /* 136066 (c) 1988 */
DRIVER( atetrisa ) /* 136066 (c) 1988 */
DRIVER( atetrisb ) /* (bootleg) */
DRIVER( atetcktl ) /* 136066 (c) 1989 */
DRIVER( atetckt2 ) /* 136066 (c) 1989 */
#endif
#if defined(drv_avalnche) || defined(core_none)
/* avalnche.c */
DRIVER( avalnche ) /* 030574 1978/04 [6502] */
#endif
#if defined(drv_aztarac) || defined(core_none)
/* aztarac.c */
DRIVER( aztarac ) /* (c) 1983 Centuri (vector game) */
#endif
#if defined(drv_backfire) || defined(core_none)
/* backfire.c */
DRIVER( backfire ) /* MBZ (c) 1995 Data East Corporation */
#endif
#if defined(drv_badlands) || defined(core_none)
/* badlands.c */
DRIVER( badlands ) /* 136074 (c) 1989 */
#endif
#if defined(drv_bagman) || defined(core_none)
/* bagman.c */
DRIVER( bagman ) /* (c) 1982 */
DRIVER( bagnard ) /* (c) 1982 */
DRIVER( bagmans ) /* (c) 1982 + Stern license */
DRIVER( bagmans2 ) /* (c) 1982 + Stern license */
DRIVER( sbagman ) /* (c) 1984 */
DRIVER( sbagmans ) /* (c) 1984 + Stern license */
DRIVER( pickin ) /* (c) 1983 */
DRIVER( botanic ) /* (c) 1983 */
DRIVER( botanicf ) /* (c) 1984 */
#endif
#if defined(drv_balsente) || defined(core_none)
/* balsente.c */
DRIVER( sentetst )
DRIVER( cshift ) /* (c) 1984 */
DRIVER( gghost ) /* (c) 1984 */
DRIVER( hattrick ) /* (c) 1984 */
DRIVER( otwalls ) /* (c) 1984 */
DRIVER( snakepit ) /* (c) 1984 */
DRIVER( snakjack ) /* (c) 1984 */
DRIVER( stocker ) /* (c) 1984 */
DRIVER( triviag1 ) /* (c) 1984 */
DRIVER( triviag2 ) /* (c) 1984 */
DRIVER( triviasp ) /* (c) 1984 */
DRIVER( triviayp ) /* (c) 1984 */
DRIVER( triviabb ) /* (c) 1984 */
DRIVER( gimeabrk ) /* (c) 1985 */
DRIVER( minigolf ) /* (c) 1985 */
DRIVER( minigol2 ) /* (c) 1985 */
DRIVER( toggle ) /* (c) 1985 */
DRIVER( nametune ) /* (c) 1986 */
DRIVER( nstocker ) /* (c) 1986 */
DRIVER( sfootbal ) /* (c) 1986 */
DRIVER( spiker ) /* (c) 1986 */
DRIVER( stompin ) /* (c) 1986 */
DRIVER( rescraid ) /* (c) 1987 */
DRIVER( rescrdsa ) /* (c) 1987 */
DRIVER( grudge )
DRIVER( shrike ) /* (c) 1987 */
#endif
#if defined(drv_bankp) || defined(core_none)
/* bankp.c */
DRIVER( bankp ) /* (c) 1984 Sega */ /* made by Sanritsu */
DRIVER( combh ) /* (c) 1987 Sega */ /* made by Sanritsu */
#endif
#if defined(drv_baraduke) || defined(core_none)
/* baraduke.c */
DRIVER( baraduke ) /* (c) 1985 */
DRIVER( baraduka ) /* (c) 1985 */
DRIVER( metrocrs ) /* (c) 1985 */
DRIVER( metrocra ) /* (c) 1985 */
#endif
#if defined(drv_batman) || defined(core_none)
/* batman.c */
DRIVER( batman ) /* 136085 (c) 1991 */
DRIVER( marblmd2 )
#endif
#if defined(drv_battlane) || defined(core_none)
/* battlane.c */
DRIVER( battlane ) /* -0215, -0216 (Data East part number) (c) 1986 + Taito license */
DRIVER( battlan2 ) /* -0215, -0216 (Data East part number) (c) 1986 + Taito license */
DRIVER( battlan3 ) /* -0215, -0216 (Data East part number) (c) 1986 + Taito license */
#endif
#if defined(drv_battlera) || defined(core_none)
/* battlera.c */
DRIVER( battlera ) /* (c) 1988 Data East Corporation (World) */
DRIVER( bldwolf ) /* (c) 1988 Data East USA (US) */
#endif
#if defined(drv_battlex) || defined(core_none)
/* battlex.c */
DRIVER( battlex ) /* (c) 1982 Omori Electric Co., Ltd. */
DRIVER( dodgeman ) /* (c) 1983 Omori Electric Co., Ltd. */
#endif
#if defined(drv_battlnts) || defined(core_none)
/* battlnts.c */
DRIVER( battlnts ) /* GX777 (c) 1987 */
DRIVER( battlntj ) /* GX777 (c) 1987 (Japan) */
DRIVER( thehustl ) /* GX765 (c) 1987 (Japan) */
DRIVER( thehustj ) /* GX765 (c) 1987 (Japan) */
DRIVER( rackemup ) /* GX765 (c) 1987 */
#endif
#if defined(drv_bbusters) || defined(core_none)
/* bbusters.c */
DRIVER( bbusters ) /* A9003 'BB' (c) 1989 */
DRIVER( mechatt ) /* A8002 'MA' (c) 1989 */
#endif
#if defined(drv_beaminv) || defined(core_none)
/* beaminv.c */
DRIVER( beaminv ) /* Tekunon Kougyou */
#endif
#if defined(drv_beathead) || defined(core_none)
/* beathead.c */
DRIVER( beathead ) /* (proto) (c) 1993 */
#endif
#if defined(drv_beezer) || defined(core_none)
/* beezer.c */
DRIVER( beezer ) /* (c) 1982 */
DRIVER( beezer1 ) /* (c) 1982 */
#endif
#if defined(drv_berzerk) || defined(core_none)
/* berzerk.c */
DRIVER( berzerk ) /* (c) 1980 */
DRIVER( berzerk1 ) /* (c) 1980 */
DRIVER( frenzy ) /* (c) 1982 */
#endif
#if defined(drv_bigevglf) || defined(core_none)
/* bigevglf.c */
DRIVER( bigevglf ) /* A67 (c) 1986 Taito America Corporation (US) */
#endif
#if defined(drv_bigstrkb) || defined(core_none)
/* bigstrkb.c */
DRIVER( bigstrkb ) /* bootleg on different hardware */
#endif
#if defined(drv_bionicc) || defined(core_none)
/* bionicc.c */
DRIVER( bionicc ) /* 3/1987 (c) 1987 (US) */
DRIVER( bionicc2 ) /* 3/1987 (c) 1987 (US) */
DRIVER( topsecrt ) /* 3/1987 (c) 1987 (Japan) */
#endif
#if defined(drv_bishi) || defined(core_none)
/* bishi.c */
DRIVER( bishi ) /* GX575 (c) 1996 (Japan) */
DRIVER( sbishi ) /* GX575 (c) 1998 (Japan) */
DRIVER( sbishik ) /* GX575 (c) 1998 (Japan) */
#endif
#if defined(drv_bking2) || defined(core_none)
/* bking2.c */
DRIVER( bking ) /* DM (c) 1982 Taito Corporation */
DRIVER( bking2 ) /* AD6 (c) 1983 Taito Corporation */
DRIVER( bking3 ) /* A24 (c) 1984 Taito Corporation */
#endif
#if defined(drv_bladestl) || defined(core_none)
/* bladestl.c */
DRIVER( bladestl ) /* GX797 (c) 1987 */
DRIVER( bladstle ) /* GX797 (c) 1987 */
#endif
#if defined(drv_blktiger) || defined(core_none)
/* blktiger.c */
DRIVER( blktiger ) /* 8/1987 (c) 1987 (US) */
DRIVER( bktigerb ) /* bootleg */
DRIVER( blkdrgon ) /* 8/1987 (c) 1987 (Japan) */
DRIVER( blkdrgonb ) /* bootleg, hacked to say Black Tiger */
#endif
#if defined(drv_blmbycar) || defined(core_none)
/* blmbycar.c */
DRIVER( blmbycar ) /* (c) 1994 ABM & Gecas - uses same gfx chip as powerins? */
DRIVER( blmbycau ) /* (c) 1994 ABM & Gecas - uses same gfx chip as powerins? */
#endif
#if defined(drv_blockade) || defined(core_none)
/* blockade.c */
DRIVER( blockade ) /* 1-4 [1977 Gremlin] */
DRIVER( comotion ) /* 5-7 [1977 Gremlin] */
DRIVER( hustle ) /* 16-21 [1977 Gremlin] */
DRIVER( blasto ) /* [1978 Gremlin] */
DRIVER( mineswpr ) /* [1977 Amutech] */
#endif
#if defined(drv_blockhl) || defined(core_none)
/* blockhl.c */
DRIVER( blockhl ) /* GX973 (c) 1989 */
DRIVER( quarth ) /* GX973 (c) 1989 (Japan) */
#endif
#if defined(drv_blockout) || defined(core_none)
/* blockout.c */
DRIVER( blockout ) /* TA-0029 (c) 1989 + California Dreams */
DRIVER( blckout2 ) /* TA-0029 (c) 1989 + California Dreams */
DRIVER( blckoutj ) /* TA-0029 (c) 1989 + California Dreams (Japan) */
#endif
#if defined(drv_bloodbro) || defined(core_none)
/* bloodbro.c */
DRIVER( bloodbro ) /* (c) 1990 Tad */
DRIVER( weststry ) /* bootleg */
DRIVER( skysmash ) /* (c) 1990 Nihon System Inc. */
#endif
#if defined(drv_blstroid) || defined(core_none)
/* blstroid.c */
DRIVER( blstroid ) /* 136057 (c) 1987 */
DRIVER( blstroi3 ) /* 136057 (c) 1987 */
DRIVER( blstroi2 ) /* 136057 (c) 1987 */
DRIVER( blstroig ) /* 136057 (c) 1987 */
DRIVER( blsthead ) /* (proto) (c) 1987 */
#endif
#if defined(drv_blueprnt) || defined(core_none)
/* blueprnt.c */
DRIVER( blueprnt ) /* (c) 1982 Bally Midway (Zilec in ROM 3U, and the programmer names) */
DRIVER( blueprnj ) /* (c) 1982 Jaleco (Zilec in ROM 3U, and the programmer names) */
DRIVER( saturn ) /* (c) 1983 Jaleco (Zilec in ROM R6, and the programmer names) */
#endif
#if defined(drv_bogeyman) || defined(core_none)
/* bogeyman.c */
DRIVER( bogeyman ) /* -0204-0 (Data East part number) (c) [1985?] */
#endif
#if defined(drv_bombjack) || defined(core_none)
/* bombjack.c */
DRIVER( bombjack ) /* (c) 1984 Tehkan */
DRIVER( bombjac2 ) /* (c) 1984 Tehkan */
#endif
#if defined(drv_boogwing) || defined(core_none)
/* boogwing.c */
DRIVER( boogwing ) /* MBD (c) 1993 Data East Corporation (Euro) */
DRIVER( boogwinga ) /* MBD (c) 1993 Data East Corporation (Asia) */
DRIVER( ragtime ) /* MBD (c) 1993 Data East Corporation (Japan)*/
DRIVER( ragtimea ) /* MBD (c) 1993 Data East Corporation (Japan)*/
#endif
#if defined(drv_bottom9) || defined(core_none)
/* bottom9.c */
DRIVER( bottom9 ) /* GX891 (c) 1989 */
DRIVER( bottom9n ) /* GX891 (c) 1989 */
DRIVER( mstadium ) /* GX891 (c) 1989 (Japan) */
#endif
#if defined(drv_boxer) || defined(core_none)
/* boxer.c */
DRIVER( boxer ) /* ?????? prototype 1978 [6502] */
#endif
#if defined(drv_brkthru) || defined(core_none)
/* brkthru.c */
DRIVER( brkthru ) /* (c) 1986 Data East USA (US) */
DRIVER( brkthruj ) /* (c) 1986 Data East Corporation (Japan) */
DRIVER( darwin ) /* (c) 1986 Data East Corporation (Japan) */
#endif
#if defined(drv_climber) || defined(core_none)
/* cclimber.c */
DRIVER( cclimber ) /* (c) 1980 Nichibutsu */
DRIVER( cclimbrj ) /* (c) 1980 Nichibutsu */
DRIVER( ccboot ) /* bootleg */
DRIVER( ccboot2 ) /* bootleg */
DRIVER( ckong ) /* (c) 1981 Falcon */
DRIVER( ckonga ) /* (c) 1981 Falcon */
DRIVER( ckongjeu ) /* bootleg */
DRIVER( ckongo ) /* bootleg */
DRIVER( ckongalc ) /* bootleg */
DRIVER( monkeyd ) /* bootleg */
DRIVER( rpatrolb ) /* bootleg */
DRIVER( silvland ) /* Falcon */
DRIVER( swimmer ) /* (c) 1982 Tehkan */
DRIVER( swimmera ) /* (c) 1982 Tehkan */
DRIVER( swimmerb ) /* (c) 1982 Tehkan */
DRIVER( guzzler ) /* (c) 1983 Tehkan */
DRIVER( cannonb ) /* (c) 1985 Soft */
#endif
#if defined(drv_namcos2) || defined(core_none) /* reduction needed */
/* namcos2.c */
DRIVER( finallap ) /* 87.12 Final Lap */
DRIVER( finalapd ) /* 87.12 Final Lap */
DRIVER( finalapc ) /* 87.12 Final Lap */
DRIVER( finlapjc ) /* 87.12 Final Lap */
DRIVER( finlapjb ) /* 87.12 Final Lap */
DRIVER( assault ) /* (c) 1988 */
DRIVER( assaultj ) /* (c) 1988 (Japan) */
DRIVER( assaultp ) /* (c) 1988 (Japan) */
DRIVER( metlhawk ) /* (c) 1988 */
DRIVER( ordyne ) /* (c) 1988 */
DRIVER( mirninja ) /* (c) 1988 (Japan) */
DRIVER( phelios ) /* (c) 1988 (Japan) */
DRIVER( dirtfoxj ) /* (c) 1989 (Japan) */
DRIVER( fourtrax ) /* 89.11 */
DRIVER( valkyrie ) /* (c) 1989 (Japan) */
DRIVER( finehour ) /* (c) 1989 (Japan) */
DRIVER( burnforc ) /* (c) 1989 (Japan) */
DRIVER( marvland ) /* (c) 1989 (US) */
DRIVER( marvlanj ) /* (c) 1989 (Japan) */
DRIVER( kyukaidk ) /* (c) 1990 (Japan) */
DRIVER( kyukaido ) /* (c) 1990 (Japan) */
DRIVER( dsaber ) /* (c) 1990 */
DRIVER( dsaberj ) /* (c) 1990 (Japan) */
DRIVER( finalap2 ) /* 90.8 Final Lap 2 */
DRIVER( finalp2j ) /* 90.8 Final Lap 2 (Japan) */
DRIVER( gollygho ) /* 91.7 Golly Ghost */
DRIVER( rthun2 ) /* (c) 1990 */
DRIVER( rthun2j ) /* (c) 1990 (Japan) */
DRIVER( sgunner ) /* (c) 1990 */
/* 91.9 Super World Stadium */
DRIVER( sgunner2 ) /* (c) 1991 (US) */
DRIVER( sgunnr2j ) /* (c) 1991 (Japan) */
DRIVER( cosmogng ) /* (c) 1991 (US) */
DRIVER( cosmognj ) /* (c) 1991 (Japan) */
DRIVER( finalap3 ) /* 92.9 Final Lap 3 */
DRIVER( finalp3a ) /* 92.9 Final Lap 3 */
DRIVER( luckywld ) /* (c) 1992 */
DRIVER( suzuka8h )
DRIVER( suzuk8hj )
/* 92.8 Bubble Trouble */
DRIVER( sws92 ) /* (c) 1992 (Japan) */
DRIVER( sws92g ) /* (c) 1992 (Japan) */
DRIVER( suzuk8h2 )
DRIVER( sws93 ) /* (c) 1993 (Japan) */
#endif
#if defined(drv_system32) || defined(core_none)
/* system32.c */
DRIVER( holo ) /* (c) 1992 (US) */
DRIVER( arescue ) /* (c) 1992 */
DRIVER( radm )
DRIVER( radr ) /* (c) 1991 */
DRIVER( spidey ) /* (c) 1991 */
DRIVER( spideyj ) /* (c) 1991 (Japan) */
DRIVER( f1en )
DRIVER( arabfgt ) /* (c) 1991 */
DRIVER( ga2 ) /* (c) 1992 */
DRIVER( ga2j ) /* (c) 1992 */
DRIVER( brival ) /* (c) 1992 (Japan) */
DRIVER( sonic ) /* (c) 1992 (Japan) */
DRIVER( sonicp ) /* (c) 1992 (Japan) */
DRIVER( alien3 ) /* (c) 1993 */
DRIVER( jpark ) /* (c) 1994 */
DRIVER( svf ) /* (c) 1994 */
DRIVER( svs ) /* (c) 1994 */
DRIVER( jleague ) /* (c) 1994 (Japan) */
DRIVER( f1lap ) /* (c) 1993 (World) */
DRIVER( f1lapj ) /* (c) 1993 (Japan) */
DRIVER( darkedge )
DRIVER( dbzvrvs )
DRIVER( slipstrm ) /* Capcom */
#endif
#if defined(drv_yamato) || defined(core_none)
/* yamato.c */
DRIVER( yamato ) /* (c) 1983 Sega */
DRIVER( yamato2 ) /* (c) 1983 Sega */
#endif
#endif /* DRIVER_RECURSIVE */
+19 -17
View File
@@ -79,15 +79,16 @@ static void k3_draw_sprites ( struct mame_bitmap *bitmap, const struct rectangle
while( source<finish )
{
int xpos, ypos;
int tileno;
xpos = (source[0] & 0xff00) >> 8;
int tileno, color;
xpos = (source[0] & 0xff00) >> 8 | (source2[0] & 0x0001) << 8;
ypos = (source[0] & 0x00ff) >> 0;
tileno = (source2[0] & 0x7ffe) >> 1;
xpos |= (source2[0] & 0x0001) << 8;
drawgfx(bitmap,gfx, tileno,1,0,0,xpos,ypos,cliprect,TRANSPARENCY_PEN,0);
drawgfx(bitmap,gfx, tileno,1,0,0,xpos,ypos-0x100,cliprect,TRANSPARENCY_PEN,0); // wrap
drawgfx(bitmap,gfx, tileno,1,0,0,xpos-0x200,ypos,cliprect,TRANSPARENCY_PEN,0); // wrap
drawgfx(bitmap,gfx, tileno,1,0,0,xpos-0x200,ypos-0x100,cliprect,TRANSPARENCY_PEN,0); // wrap
color = BIT(source2[0], 15) ? 0 : 1;
drawgfx(bitmap,gfx, tileno,color,0,0,xpos,ypos,cliprect,TRANSPARENCY_PEN,0);
drawgfx(bitmap,gfx, tileno,color,0,0,xpos,ypos-0x100,cliprect,TRANSPARENCY_PEN,0); /* wrap */
drawgfx(bitmap,gfx, tileno,color,0,0,xpos-0x200,ypos,cliprect,TRANSPARENCY_PEN,0); /* wrap */
drawgfx(bitmap,gfx, tileno,color,0,0,xpos-0x200,ypos-0x100,cliprect,TRANSPARENCY_PEN,0); /* wrap */
source++;source2++;
}
@@ -112,8 +113,8 @@ WRITE16_HANDLER( k3_scrolly_w )
WRITE16_HANDLER( k3_soundbanks_w )
{
OKIM6295_set_bank_base(0, (data & 4) ? 0x40000 : 0 );
OKIM6295_set_bank_base(1, (data & 1) ? 0 : 0x40000);
OKIM6295_set_bank_base(0, (data & 4) ? 0x40000 : 0);
OKIM6295_set_bank_base(1, (data & 2) ? 0x40000 : 0);
}
WRITE16_HANDLER( flagrall_soundbanks_w )
@@ -131,7 +132,7 @@ WRITE16_HANDLER( flagrall_soundbanks_w )
static MEMORY_READ16_START( k3_readmem )
{ 0x000000, 0x0fffff, MRA16_ROM },
{ 0x100000, 0x10ffff, MRA16_RAM },
{ 0x200000, 0x200fff, MRA16_RAM },
{ 0x200000, 0x2003ff, MRA16_RAM },
{ 0x240000, 0x240fff, MRA16_RAM },
{ 0x280000, 0x280fff, MRA16_RAM },
{ 0x2c0000, 0x2c07ff, MRA16_RAM },
@@ -146,10 +147,11 @@ MEMORY_END
static MEMORY_WRITE16_START( k3_writemem )
{ 0x0009CE, 0x0009CF, MWA16_NOP }, /* bug in code? (clean up log) */
{ 0x0009D0, 0x0009D1, MWA16_NOP },
{ 0x0009D2, 0x0009D3, MWA16_NOP }, /* bug in code? (clean up log) */
{ 0x000000, 0x0fffff, MWA16_ROM }, /* ROM */
{ 0x100000, 0x10ffff, MWA16_RAM },/* Main Ram */
{ 0x200000, 0x200fff, paletteram16_xBBBBBGGGGGRRRRR_word_w, &paletteram16 }, // palette
{ 0x200000, 0x2003ff, paletteram16_xBBBBBGGGGGRRRRR_word_w, &paletteram16 }, /* palette */
{ 0x240000, 0x240fff, MWA16_RAM, &k3_spriteram_1 },
{ 0x280000, 0x280fff, MWA16_RAM, &k3_spriteram_2 },
{ 0x2c0000, 0x2c07ff, k3_bgram_w, &k3_bgram },
@@ -166,7 +168,7 @@ MEMORY_END
static MEMORY_READ16_START( flagrall_readmem )
{ 0x000000, 0x0fffff, MRA16_ROM },
{ 0x100000, 0x10ffff, MRA16_RAM },
{ 0x200000, 0x200fff, MRA16_RAM },
{ 0x200000, 0x2003ff, MRA16_RAM },
{ 0x240000, 0x240fff, MRA16_RAM },
{ 0x280000, 0x280fff, MRA16_RAM },
{ 0x2c0000, 0x2c07ff, MRA16_RAM },
@@ -179,10 +181,11 @@ MEMORY_END
static MEMORY_WRITE16_START( flagrall_writemem )
{ 0x0009CE, 0x0009CF, MWA16_NOP },/* bug in code? (clean up log) */
{ 0x0009D0, 0x0009D1, MWA16_NOP },
{ 0x0009D2, 0x0009D3, MWA16_NOP }, /* bug in code? (clean up log) */
{ 0x000000, 0x0fffff, MWA16_ROM }, /* ROM */
{ 0x100000, 0x10ffff, MWA16_RAM }, /* Main Ram */
{ 0x200000, 0x200fff, paletteram16_xBBBBBGGGGGRRRRR_word_w, &paletteram16 }, /* palette */
{ 0x200000, 0x2003ff, paletteram16_xBBBBBGGGGGRRRRR_word_w, &paletteram16 }, /* palette */
{ 0x240000, 0x240fff, MWA16_RAM, &k3_spriteram_1 },
{ 0x280000, 0x280fff, MWA16_RAM, &k3_spriteram_2 },
{ 0x2c0000, 0x2c07ff, k3_bgram_w, &k3_bgram },
@@ -379,12 +382,11 @@ static MACHINE_DRIVER_START( flagrall )
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
MDRV_SCREEN_SIZE(64*8, 32*8)
MDRV_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
MDRV_PALETTE_LENGTH(0x800)
MDRV_PALETTE_LENGTH(0x200)
MDRV_VIDEO_START(k3)
MDRV_VIDEO_UPDATE(k3)
MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
MDRV_SOUND_ADD(OKIM6295, flagrall_okim6295_interface)
MACHINE_DRIVER_END
@@ -401,7 +403,7 @@ static MACHINE_DRIVER_START( k3 )
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
MDRV_SCREEN_SIZE(64*8, 32*8)
MDRV_VISIBLE_AREA(0*8, 40*8-1, 0*8, 28*8-1)
MDRV_PALETTE_LENGTH(0x800)
MDRV_PALETTE_LENGTH(0x200)
MDRV_VIDEO_START(k3)
MDRV_VIDEO_UPDATE(k3)
@@ -437,7 +439,7 @@ ROM_START( flagrall )
ROM_LOAD16_BYTE( "12_u35.bin", 0x00000, 0x40000, CRC(373b71a5) SHA1(be9ab93129e2ffd9bfe296c341dbdf47f1949ac7) )
ROM_REGION( 0x100000, REGION_SOUND1, 0 ) /* Samples */
// 3x banks
/* 3x banks */
ROM_LOAD( "13_su4.bin", 0x00000, 0x80000, CRC(7b0630b3) SHA1(c615e6630ffd12c122762751c25c249393bf7abd) )
ROM_LOAD( "14_su6.bin", 0x80000, 0x40000, CRC(593b038f) SHA1(b00dcf321fe541ee52c34b79e69c44f3d7a9cd7c) )
+8 -258
View File
@@ -359,258 +359,8 @@ static READ_HANDLER( pix2_r )
}
/****************************************************************************
fake MCU (undoukai and field day)
****************************************************************************/
static int from_mcu;
static int mcu_cmd;
static UINT8 mcu_in[2][16],mcu_out[2][16];
static const UINT8 mcu_data0[0x80] =
{
0x0a,0x08,0x0f,0x07,0x06,0x05,0x04,0x00,
0x0a,0x0b,0x15,0x02,0x03,0x15,0x0a,0x08,
0x0f,0x07,0x06,0x05,0x04,0x0c,0x01,0x0c,
0x01,0x15,0x0b,0x0a,0x00,0x0d,0x0e,0x15,
0x0a,0x08,0x0f,0x07,0x06,0x05,0x04,0x0b,
0x09,0x0c,0x01,0x0c,0x01,0x15,0x0a,0x08,
0x0f,0x07,0x06,0x05,0x04,0x0c,0x0c,0x01,
0x0c,0x0c,0xff,0xe1,0x23,0xc5,0xc9,0x15,
0x3e,0x4a,0xcd,0x2b,0x00,0x4e,0x79,0xf6,
0xa0,0xe6,0xa2,0xcb,0xcf,0xf5,0x0e,0x62,
0xcd,0x35,0x00,0xcb,0xc9,0x79,0xe6,0x02,
0x5f,0xe1,0x4b,0x69,0x3e,0x00,0x2e,0x38,
0xb5,0x6f,0x06,0x23,0x11,0xfe,0xdf,0x1a,
0x27,0x77,0xe6,0x01,0x5f,0x16,0x00,0xcb,
0xfe,0x19,0x05,0x78,0x20,0xee,0xc1,0xe1,
0x23,0xc5,0xc9,0xee,0x37,0x28,0xc0,0xc5
};
static const UINT8 mcu_data1[0x80] =
{
0x00,0x78,0xef,0x66,0xdc,0x50,0xc2,0x33,
0xa1,0x0c,0x74,0xd9,0x3a,0x96,0xef,0x42,
0x90,0xd9,0x1c,0x58,0x8f,0xbe,0xe6,0x07,
0x20,0x31,0x39,0x39,0x2f,0x1c,0x00,0xda,
0xa9,0x6d,0x27,0xd6,0x79,0x11,0x9c,0x1b,
0x8e,0xf3,0x4c,0x97,0xd5,0x05,0x27,0x3a,
0x3f,0x35,0x1b,0xf3,0xbb,0x73,0x1c,0xb4,
0x3c,0xb3,0x1a,0x6f,0xb4,0xe7,0x09,0x19,
0x17,0x04,0xde,0xa6,0x5c,0xff,0x90,0x0e,
0x78,0xd0,0x15,0x47,0x65,0x70,0x68,0x4c,
0x1c,0xd9,0x82,0x18,0x99,0x07,0x60,0xa6,
0xd8,0xf6,0x00,0x30,0x08,0x31,0x02,0xb7,
0x81,0xfa,0x30,0x02,0x01,0x01,0x14,0x30,
0x07,0xd6,0x7e,0x30,0x1d,0x15,0x25,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
};
static const UINT8 mcu_data2[0x80] =
{
0x00,0x04,0x08,0x00,0x11,0x16,0x1a,0x1f,
0x23,0x28,0x2c,0x30,0x35,0x39,0x3d,0x42,
0x46,0x4a,0x4f,0x53,0x57,0x5b,0x5f,0x64,
0x68,0x6c,0x70,0x74,0x78,0x7c,0x80,0x83,
0x87,0x8b,0x8f,0x92,0x96,0x9a,0x90,0xa1,
0xa4,0xa7,0xa8,0xae,0xb1,0xb5,0xb8,0xbb,
0xbe,0xc1,0xc4,0xc6,0xc9,0xcc,0xcf,0xd1,
0xd4,0xd6,0xd9,0xdb,0xdd,0xdf,0xe2,0xe4,
0xe6,0xe8,0xe9,0xeb,0xed,0xee,0xf0,0xf2,
0xf3,0xf4,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,
0xfc,0xfc,0xfd,0xfe,0xfe,0xff,0xff,0xff,
0xff,0xff,0x00,0x3d,0x26,0xbe,0xd6,0x6c,
0x30,0xa6,0xb7,0x81,0x01,0x04,0x14,0xb6,
0xa4,0x97,0x02,0xb7,0x81,0x1b,0x13,0x23,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
};
static WRITE_HANDLER( undoukai_mcu_w )
{
data8_t *RAM = memory_region(REGION_CPU1);
UINT16 ram_adr = RAM[0xa1b5]*0x100 + RAM[0xa1b4];
int d;
int i;
/* log_cb(RETRO_LOG_DEBUG, LOGPRE "mcu_w %02x\n",data);*/
if (mcu_cmd != -1)
{
mcu_in[(mcu_cmd & 0x10)>>4][mcu_cmd & 0x0f] = data;
mcu_cmd = -1;
}
else
{
switch (data)
{
case 0xc0:
case 0xc1:
case 0xc2:
case 0xc3:
case 0xc4:
case 0xc5:
case 0xc6:
case 0xc7:
mcu_cmd = (data & 0x0f) | 0x10;
break;
case 0xb0:
case 0xb1:
case 0xb2:
case 0xb3:
mcu_cmd = data & 0x0f;
break;
case 0x30:
case 0x31:
case 0x32:
case 0x33:
case 0x34:
case 0x35:
case 0x36:
case 0x37:
case 0x38:
case 0x39:
from_mcu = mcu_out[0][data & 0x0f];
break;
case 0x40:
case 0x41:
case 0x42:
from_mcu = mcu_out[1][data & 0x0f];
break;
case 0x01:
mcu_out[0][0] = (mcu_in[0][0] ^ (mcu_in[0][0] >> 4)) & 0x0f;
break;
case 0x02:
if (mcu_in[0][3] != 0x00)
{
mcu_out[0][1] = 0x0c;
mcu_out[0][2] = 0x00;
}
else
{
mcu_out[0][2] = 0xa2;
switch (mcu_in[0][0] & 0x03)
{
case 0: mcu_out[0][1] = 0x55; break;
case 1: mcu_out[0][1] = 0x3d; break;
case 2: mcu_out[0][1] = 0x45; break;
case 3: mcu_out[0][1] = 0x4d; break;
}
}
break;
case 0x03:
mcu_out[0][1] = (((mcu_in[0][0] * 8) & 0x38) -1) & 0xff ;
if (mcu_in[0][1] | mcu_in[0][2])
d = 0x40;
else
d = 0x00;
for (i=0;i<8;i++)
mcu_out[0][i+2] = mcu_data0[((mcu_out[0][1] + i) & 0x3f) + d];
break;
case 0x04:
mcu_out[0][0] = ((mcu_in[0][0] & 0x0f) << 4) + (mcu_in[0][1] & 0x0f);
mcu_out[0][1] = ((mcu_in[0][2] & 0x0f) << 4) + (mcu_in[0][3] & 0x0f);
break;
case 0x05:
/* mcu_out[0][0] = 255*cos(PI*mcu_in[0][0]/180);*/
/* mcu_out[0][1] = 255*sin(PI*mcu_in[0][0]/180);*/
d = mcu_in[0][0] & 0x7f;
mcu_out[0][0] = mcu_data1[d];
mcu_out[0][1] = mcu_data2[d];
break;
case 0x06:
if (mcu_in[0][0] != 0x00)
mcu_out[0][0] = 0xfa;
else
switch (mcu_in[0][1])
{
case 0x00: mcu_out[0][0] = 0x02; break;
case 0x01: mcu_out[0][0] = 0x01; break;
case 0x02: mcu_out[0][0] = 0x01; break;
case 0x03: mcu_out[0][0] = 0x04; break;
case 0x04: mcu_out[0][0] = 0x01; break;
case 0x05: mcu_out[0][0] = 0x14; break;
case 0x06: mcu_out[0][0] = 0x14; break;
case 0x07: mcu_out[0][0] = 0xb6; break;
default:
/* usrintf_showmessage("cmd06: %02x %02x",mcu_in[0][0],mcu_in[0][1]);*/
log_cb(RETRO_LOG_DEBUG, LOGPRE "cmd06: %02x %02x\n",mcu_in[0][0],mcu_in[0][1]);
}
break;
case 0x07:
switch (mcu_in[0][0] & 7)
{
case 0: mcu_out[0][0] = 0x1d; break;
case 1: mcu_out[0][0] = 0x1b; break;
case 2: mcu_out[0][0] = 0x15; break;
case 3: mcu_out[0][0] = 0x13; break;
case 4: mcu_out[0][0] = 0x25; break;
case 5: mcu_out[0][0] = 0x23; break;
case 6: mcu_out[0][0] = 0xff; break;
case 7: mcu_out[0][0] = 0xff; break;
}
break;
case 0x0e:
mcu_out[1][0] = RAM[ram_adr];
mcu_out[1][1] = RAM[ram_adr+1];
mcu_out[1][2] = RAM[ram_adr+2] & 0x0f;
break;
default:
from_mcu = 0x5d;
/* usrintf_showmessage("unknown cmd%02x: %02x %02x %02x %02x",data,mcu_in[0][0],mcu_in[0][1],mcu_in[0][2],mcu_in[0][3]);*/
/* log_cb(RETRO_LOG_DEBUG, LOGPRE "unknown cmd%02x: %02x %02x %02x %02x\n",data,mcu_in[0][0],mcu_in[0][1],mcu_in[0][2],mcu_in[0][3]);*/
}
}
}
static READ_HANDLER( undoukai_mcu_r )
{
/* log_cb(RETRO_LOG_DEBUG, LOGPRE "mcu_r %02x\n",from_mcu);*/
return from_mcu;
}
static READ_HANDLER( undoukai_mcu_status_r )
{
int res = 3;
return res;
}
/***************************************************************************/
static DRIVER_INIT( undoukai )
{
from_mcu = 0xff;
mcu_cmd = -1;
fortyl_pix_color[0] = 0x000;
fortyl_pix_color[1] = 0x1e3;
fortyl_pix_color[2] = 0x16c;
@@ -734,8 +484,8 @@ static MEMORY_READ_START( undoukai_readmem )
{ 0xc000, 0xffff, fortyl_pixram_r },
{ 0xa800, 0xa800, undoukai_mcu_r },
{ 0xa801, 0xa801, undoukai_mcu_status_r },
{ 0xa800, 0xa800, fortyl_mcu_r },
{ 0xa801, 0xa801, fortyl_mcu_status_r },
/*{ 0xa802, 0xa802, pix1_r }, */ /* this one is here just for debugging*/
{ 0xa803, 0xa803, pix2_r }, /* and this one _is_ used.*/
@@ -757,7 +507,7 @@ static MEMORY_WRITE_START( undoukai_writemem )
{ 0x8000, 0x9fff, MWA_ROM },
{ 0xa000, 0xa7ff, MWA_RAM }, /* M5517P on main board */
{ 0xa800, 0xa800, undoukai_mcu_w },
{ 0xa800, 0xa800, fortyl_mcu_w },
{ 0xa801, 0xa801, pix1_w }, /*pixel layer related*/
{ 0xa802, 0xa802, bank_select_w },
{ 0xa803, 0xa803, pix2_w }, /*pixel layer related*/
@@ -1229,11 +979,12 @@ static MACHINE_DRIVER_START( undoukai )
MDRV_CPU_MEMORY(readmem_sound,writemem_sound)
MDRV_CPU_VBLANK_INT(irq0_line_hold,2) /* source/number of IRQs is unknown */
/* MDRV_CPU_ADD(M68705,18432000/6)*/
/* MDRV_CPU_MEMORY(mcu_readmem,mcu_writemem)*/
MDRV_CPU_ADD(M68705,18432000/6)
MDRV_CPU_MEMORY(mcu_readmem,mcu_writemem)
MDRV_FRAMES_PER_SECOND(60)
MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
MDRV_INTERLEAVE(100) /* high interleave to ensure proper synchronization of CPUs */
MDRV_MACHINE_INIT(ta7630) /* init machine */
/* video hardware */
@@ -1314,7 +1065,7 @@ ROM_START( fieldday )
ROM_LOAD( "a17_29.bin", 0xa000, 0x2000, CRC(3c540007) SHA1(549e7ff260214c538913ff548dcb088987845911) )
ROM_REGION( 0x0800, REGION_CPU3, 0 ) /* 2k for the microcontroller */
ROM_LOAD( "a17_14.bin", 0x0000, 0x0800, NO_DUMP )
ROM_LOAD( "a17_14.bin", 0x0000, 0x0800, CRC(a686894d) SHA1(0578747a1869db98ee1962822491103f3f082cba) )
ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE )
ROM_LOAD( "a17_36.bin", 0x0000, 0x2000, CRC(e3dd51f7) SHA1(95a97ea925c5bc7bdc00887e6d17d817b36befc4) )
@@ -1322,7 +1073,6 @@ ROM_START( fieldday )
ROM_LOAD( "a17_38.bin", 0x4000, 0x2000, CRC(ca9f74db) SHA1(a002f1dfa9497793bfb18292e7a71ae12d70fb88) )
ROM_LOAD( "a17_39.bin", 0x6000, 0x2000, CRC(fb6c667c) SHA1(da56be8d997db199588ee22fae30cc6d87e80704) )
ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE )
ROM_LOAD( "a23_09.bin", 0x0000, 0x2000, CRC(1e430be5) SHA1(9296e1a0d820bb218578d55b739b4fc5fdafb125) )
ROM_LOAD( "a23_10.bin", 0x2000, 0x2000, CRC(ee2e54f0) SHA1(0a92fa39696a8005f9441131b6d98205b7c26e7b) )
@@ -1352,7 +1102,7 @@ ROM_START( undoukai )
ROM_LOAD( "a17-13.39s", 0xa000, 0x2000, CRC(0a40930e) SHA1(8c4b9fa0aed67a3e269c2136ef81791fc8acd1da) )
ROM_REGION( 0x0800, REGION_CPU3, 0 ) /* 2k for the microcontroller */
ROM_LOAD( "a17-14.41c", 0x0000, 0x0800, NO_DUMP )
ROM_LOAD( "a17_14.bin", 0x0000, 0x0800, CRC(a686894d) SHA1(0578747a1869db98ee1962822491103f3f082cba) )
ROM_REGION( 0x8000, REGION_GFX1, ROMREGION_DISPOSE )
ROM_LOAD( "a17-04.18v", 0x0000, 0x4000, CRC(84dabee2) SHA1(698f12ee4201665988248853dafbf4b16dfc6517) )
+62 -11
View File
@@ -927,6 +927,57 @@ INPUT_PORTS_START( spclaser )
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
INPUT_PORTS_END
/*******************************************************/
/* */
/* Space War (Leijac) */
/* */
/*******************************************************/
INPUT_PORTS_START( spcewarl )
PORT_START
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_START
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_2WAY )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_START
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x01, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x02, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER2)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER2)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER2)
PORT_DIPNAME( 0x80, 0x00, DEF_STR(Coinage) )
PORT_DIPSETTING( 0x00, "1 Coin/1 or 2 Players" )
PORT_DIPSETTING( 0x80, "1 Coin/1 Player 2 Coins/2 Players" )
PORT_START /* Dummy port for cocktail mode (not used) */
PORT_BIT( 0xff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
INPUT_PORTS_END
/*******************************************************/
/* */
@@ -1835,8 +1886,8 @@ PORT_END
static PORT_WRITE_START( indianbt_writeport )
{ 0x02, 0x02, c8080bw_shift_amount_w },
{ 0x04, 0x04, c8080bw_shift_data_w },
{ 0x06, 0x06, IOWP_NOP }, // For sound
//{ 0x07, 0x07, indianbt_sh_port7_w }, // For music (not implemented)
{ 0x06, 0x06, IOWP_NOP }, /* For sound */
/*{ 0x07, 0x07, indianbt_sh_port7_w }, // For music (not implemented) */
PORT_END
static MACHINE_DRIVER_START( indianbt )
@@ -2517,7 +2568,7 @@ PORT_END
INPUT_PORTS_START( seawolf )
PORT_START /* IN0 */
PORT_ANALOG( 0x1f, 0x01, IPT_PADDLE, 20, 5, 0, 0x1f)
PORT_ANALOG( 0x1f, 0x0f, IPT_PADDLE, 20, 5, 0, 0x1f)
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 )
PORT_DIPNAME( 0xc0, 0x00, "Time" )
PORT_DIPSETTING( 0x00, "61" )
@@ -3331,7 +3382,7 @@ static PORT_WRITE_START( astropal_writeport )
PORT_END
INPUT_PORTS_START( astropal )
PORT_START // IN0
PORT_START /* IN0 */
PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x01, "3" )
@@ -3339,7 +3390,7 @@ INPUT_PORTS_START( astropal )
PORT_DIPSETTING( 0x03, "5" )
PORT_BIT( 0xfc, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START // IN1
PORT_START /* IN1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_START2 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 )
@@ -3349,9 +3400,9 @@ INPUT_PORTS_START( astropal )
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START // IN2 - Never read
PORT_START /* IN2 - Never read */
PORT_START // IN3
PORT_START /* IN3 */
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED )
@@ -4260,7 +4311,7 @@ ROM_END
ROM_START( galactic )
ROM_REGION( 0x10000, REGION_CPU1, 0 )
ROM_LOAD( "galactic_1.bin", 0x0000, 0x0800, CRC(b5098f1e) SHA1(9d1d045d8abeafd4716d3052fe93e52c6b347049) ) // sldh
ROM_LOAD( "galactic_1.bin", 0x0000, 0x0800, CRC(b5098f1e) SHA1(9d1d045d8abeafd4716d3052fe93e52c6b347049) ) /* sldh */
ROM_LOAD( "galactic_2.bin", 0x0800, 0x0800, CRC(f97410ee) SHA1(47f1f296c905fa13f6c521edc12c10f1f0e42400) )
ROM_LOAD( "galactic_3.bin", 0x1000, 0x0800, CRC(c1175feb) SHA1(83bf955ed3a52e1ce8c688d89725d8dee1bcc866) )
ROM_LOAD( "galactic_4.bin", 0x1800, 0x0800, CRC(b4451d7c) SHA1(62a18e8e927ef00a7f6cb933cdc5aeae9f074dc0) )
@@ -4271,7 +4322,7 @@ ROM_END
ROM_START( spacmiss )
ROM_REGION( 0x10000, REGION_CPU1, 0 )
ROM_LOAD( "spacmiss_1.bin", 0x0000, 0x0800, CRC(e212dc88) SHA1(bc56052bf43d18081f777b936b2be792e91ba842) ) // sldh
ROM_LOAD( "spacmiss_1.bin", 0x0000, 0x0800, CRC(e212dc88) SHA1(bc56052bf43d18081f777b936b2be792e91ba842) ) /* sldh */
ROM_LOAD( "galactic_2.bin", 0x0800, 0x0800, CRC(f97410ee) SHA1(47f1f296c905fa13f6c521edc12c10f1f0e42400) )
ROM_LOAD( "galactic_3.bin", 0x1000, 0x0800, CRC(c1175feb) SHA1(83bf955ed3a52e1ce8c688d89725d8dee1bcc866) )
ROM_LOAD( "galactic_4.bin", 0x1800, 0x0800, CRC(b4451d7c) SHA1(62a18e8e927ef00a7f6cb933cdc5aeae9f074dc0) )
@@ -4280,7 +4331,7 @@ ROM_START( spacmiss )
ROM_LOAD( "galactic_7.bin", 0x5000, 0x0800, CRC(02619e18) SHA1(4c59f17fbc96ca08090f08c41ca9fc72c074e9c0) )
ROM_REGION( 0x0800, REGION_USER1, 0 )
ROM_LOAD( "spacmiss_8.bin", 0x0000, 0x0800, CRC(942e5261) SHA1(e8af51d644eab4e7b31c14dc66bb036ad8940c42) ) // ?
ROM_LOAD( "spacmiss_8.bin", 0x0000, 0x0800, CRC(942e5261) SHA1(e8af51d644eab4e7b31c14dc66bb036ad8940c42) ) /* ? */
ROM_END
@@ -4366,7 +4417,7 @@ ROM_END
GAME( 1980, spclaser, 0, invaders, spclaser, spclaser, ROT270, "GamePlan (Taito)", "Space Laser" )
GAME( 1980, laser, spclaser, invaders, spclaser, spclaser, ROT270, "<unknown>", "Laser" )
GAME( 1979, spcewarl, spclaser, invaders, spclaser, spclaser, ROT270, "Leijac (Konami)","Space War (Leijac)" )
GAME( 1979, spcewarl, spclaser, invaders, spcewarl, spclaser, ROT270, "Leijac (Konami)","Space War (Leijac)" )
GAMEX(1979, rollingc, 0, rollingc, rollingc, rollingc, ROT270, "Nichibutsu", "Rolling Crash / Moon Base", GAME_IMPERFECT_SOUND )
GAME( 1979, ozmawars, 0, ozmawars, ozmawars, ozmawars, ROT270, "SNK", "Ozma Wars (set 1)" )
GAME( 1979, ozmawar2, ozmawars, ozmawars, ozmawars, ozmawars, ROT270, "SNK", "Ozma Wars (set 2)" ) /* Uses Taito's three board colour version of Space Invaders PCB */
+6 -6
View File
@@ -107,13 +107,13 @@ static int speech_chip;
static WRITE_HANDLER( speech_control_w )
{
speech_chip = ( data & 4 ) ? 1 : 0;
UPD7759_reset_w( speech_chip, data & 2 );
UPD7759_start_w( speech_chip, data & 1 );
upd7759_reset_w( speech_chip, data & 2 );
upd7759_start_w( speech_chip, data & 1 );
}
static WRITE_HANDLER( speech_msg_w )
{
UPD7759_port_w( speech_chip, data );
upd7759_port_w( speech_chip, data );
}
static MEMORY_READ_START( readmem )
@@ -281,13 +281,13 @@ static struct YM2151interface ym2151_interface =
{ 0 }
};
static struct UPD7759_interface upd7759_interface =
static struct upd7759_interface upd7759_interface =
{
2, /* number of chips */
{ UPD7759_STANDARD_CLOCK, UPD7759_STANDARD_CLOCK },
{ 30, 30 }, /* volume */
{ REGION_SOUND1, REGION_SOUND2 }, /* memory region */
UPD7759_STANDALONE_MODE, /* chip mode */
{0}
{0, 0}
};
+3 -6
View File
@@ -827,7 +827,6 @@ static MACHINE_INIT( aburner ){
}
static DRIVER_INIT( thndrbdj ){
machine_init_sys16_onetime();
sys16_bg1_trans = 1;
sys16_interleave_sprite_data( 0x200000 );
}
@@ -841,7 +840,6 @@ static DRIVER_INIT( aburner ){
sys16_patch_code(0xe770,0x00);
sys16_patch_code(0xe771,0x00);
machine_init_sys16_onetime();
sys16_bg1_trans = 1;
sys16_interleave_sprite_data( 0x200000 );
}
@@ -855,7 +853,6 @@ static DRIVER_INIT( aburner2 ){
sys16_patch_code(0x14840,0x00);
sys16_patch_code(0x14841,0x00);
machine_init_sys16_onetime();
sys16_bg1_trans = 1;
sys16_interleave_sprite_data( 0x200000 );
}
@@ -896,6 +893,9 @@ static MACHINE_DRIVER_START( aburner )
MDRV_GFXDECODE(sys16_gfxdecodeinfo)
MDRV_PALETTE_LENGTH(8192*3)
/* initilize system16 variables prior to driver_init and video_start */
machine_init_sys16_onetime();
MDRV_VIDEO_START(aburner)
MDRV_VIDEO_UPDATE(aburner)
@@ -908,6 +908,3 @@ MACHINE_DRIVER_END
/* rom parent machine inp init */
GAME( 1987, aburner, aburner2, aburner, aburner, aburner, ROT0, "Sega", "After Burner (Japan)" )
GAME( 1987, aburner2, 0, aburner, aburner2, aburner2, ROT0, "Sega", "After Burner II" )
GAMEX(19??, loffire, 0, aburner, aburner, aburner, ROT0, "Sega", "Line of Fire", GAME_NOT_WORKING )
GAMEX(19??, thndrbld, 0, aburner, thndrbld, aburner, ROT0, "Sega", "Thunder Blade", GAME_NOT_WORKING )
GAMEX(19??, thndrbdj, thndrbld, aburner, thndrbld, thndrbdj, ROT0, "Sega", "Thunder Blade (Japan)", GAME_IMPERFECT_GRAPHICS )
+1 -1
View File
@@ -684,7 +684,7 @@ INPUT_PORTS_START( turbofrc )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )//START1 )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )/*START1 ) */
PORT_START
PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) /* Coins 1, 2 & 3 */
+367 -4
View File
@@ -19,6 +19,7 @@ Year + Game Notes
98 Sen Jin - Guardian Storm Some text missing (protection, see service mode)
98 Stagger I
98 Bubble 2000 By Tuning, but it seems to be the same HW
01 Fire Hawk By ESD with different sound hardware: 2 M6295
---------------------------------------------------------------------------
The Sen Jin protection supplies some 68k code seen in the 2760-29cf range
@@ -42,8 +43,10 @@ WRITE16_HANDLER( afega_palette_w );
PALETTE_INIT( grdnstrm );
VIDEO_START( afega );
VIDEO_START( firehawk );
VIDEO_UPDATE( afega );
VIDEO_UPDATE( bubl2000 );
VIDEO_UPDATE( firehawk );
/***************************************************************************
@@ -63,9 +66,21 @@ READ16_HANDLER( afega_unknown_r )
WRITE16_HANDLER( afega_soundlatch_w )
{
if (ACCESSING_LSB && Machine->sample_rate)
{
soundlatch_w(0,data&0xff);
cpu_set_irq_line(1, 0, PULSE_LINE); /* Fire Hawk */
}
}
static WRITE_HANDLER( spec2k_oki1_banking_w )
{
if(data == 0xfe)
OKIM6295_set_bank_base(1, 0);
else if(data == 0xff)
OKIM6295_set_bank_base(1, 0x40000);
}
/*
Lines starting with an empty comment in the following MemoryReadAddress
arrays are there for debug (e.g. the game does not read from those ranges
@@ -147,6 +162,45 @@ static MEMORY_WRITE16_START( redhawk_writemem )
{ 0xff8000, 0xff8fff, MWA16_BANK1 }, /* Sprites Mirror*/
MEMORY_END
/* firehawk has main ram / sprites / sprite banking in a different location */
static MEMORY_READ16_START( firehawk_readmem )
MEMORY_ADDRESS_BITS(20) /* required for the game to boot */
{ 0x000000, 0x07ffff, MRA16_ROM }, /* ROM*/
{ 0x080000, 0x080001, input_port_0_word_r }, /* Buttons*/
{ 0x080002, 0x080003, input_port_1_word_r }, /* P1 + P2*/
{ 0x080004, 0x080005, input_port_2_word_r }, /* 2 x DSW*/
/**/{ 0x088000, 0x0885ff, MRA16_RAM }, /* Palette*/
/**/{ 0x08c000, 0x08c003, MRA16_RAM }, /* Scroll*/
/**/{ 0x08c004, 0x08c007, MRA16_RAM }, /**/
/**/{ 0x090000, 0x091fff, MRA16_RAM }, /* Layer 0*/
/**/{ 0x092000, 0x093fff, MRA16_RAM }, /* ?*/
/**/{ 0x09c000, 0x09c7ff, MRA16_RAM }, /* Layer 1*/
{ 0x0c0000, 0x0c7fff, MRA16_RAM }, /* RAM*/
{ 0x0c8000, 0x0c8fff, MRA16_RAM }, /* Sprites*/
{ 0x0c9000, 0x0cffff, MRA16_RAM }, /* RAM*/
{ 0x0f8000, 0x0f8fff, MRA16_BANK1 }, /* Sprites Mirror*/
MEMORY_END
static MEMORY_WRITE16_START( firehawk_writemem )
MEMORY_ADDRESS_BITS(20)
{ 0x000000, 0x07ffff, MWA16_ROM }, /* ROM*/
{ 0x080000, 0x08001d, MWA16_RAM }, /**/
{ 0x08001e, 0x08001f, afega_soundlatch_w }, /* To Sound CPU*/
{ 0x080020, 0x087fff, MWA16_RAM }, /**/
{ 0x088000, 0x0885ff, afega_palette_w, &paletteram16}, /* Palette*/
{ 0x088600, 0x08bfff, MWA16_RAM }, /**/
{ 0x08c000, 0x08c003, MWA16_RAM, &afega_scroll_0 }, /* Scroll*/
{ 0x08c004, 0x08c007, MWA16_RAM, &afega_scroll_1 }, /**/
{ 0x08c008, 0x08ffff, MWA16_RAM }, /**/
{ 0x090000, 0x091fff, afega_vram_0_w, &afega_vram_0 }, /* Layer 0*/
{ 0x092000, 0x093fff, MWA16_RAM }, /* ?*/
{ 0x09c000, 0x09c7ff, afega_vram_1_w, &afega_vram_1 }, /* Layer 1*/
{ 0x0c0000, 0x0c7fff, MWA16_RAM }, /* RAM*/
{ 0x0c8000, 0x0c8fff, MWA16_RAM, &spriteram16, &spriteram_size }, /* Sprites*/
{ 0x0c9000, 0x0cffff, MWA16_RAM }, /* RAM*/
{ 0x0f8000, 0x0f8fff, MWA16_BANK1 }, /* Sprites Mirror*/
MEMORY_END
/***************************************************************************
@@ -172,6 +226,23 @@ static MEMORY_WRITE_START( afega_sound_writemem )
{ 0xf80a, 0xf80a, OKIM6295_data_0_w }, /* M6295*/
MEMORY_END
static MEMORY_READ_START( firehawk_sound_readmem )
{ 0x0000, 0xefff, MRA_ROM },
{ 0xf000, 0xf7ff, MRA_RAM },
{ 0xfff0, 0xfff0, soundlatch_r },
{ 0xfff8, 0xfff8, OKIM6295_status_1_r },
{ 0xfffa, 0xfffa, OKIM6295_status_0_r },
{ 0xf800, 0xffff, MRA_RAM }, /* not used, only tested */
MEMORY_END
static MEMORY_WRITE_START( firehawk_sound_writemem )
{ 0x0000, 0xefff, MWA_ROM },
{ 0xf000, 0xf7ff, MWA_RAM },
{ 0xfff2, 0xfff2, spec2k_oki1_banking_w },
{ 0xfff8, 0xfff8, OKIM6295_data_1_w },
{ 0xfffa, 0xfffa, OKIM6295_data_0_w },
{ 0xf800, 0xffff, MWA_RAM }, /* not used, only tested */
MEMORY_END
/***************************************************************************
@@ -432,6 +503,163 @@ INPUT_PORTS_START( bubl2000 )
/* PORT_DIPSETTING( 0x0000, "Disabled" )*/
INPUT_PORTS_END
/***************************************************************************
Fire Hawk
***************************************************************************/
INPUT_PORTS_START( firehawk )
PORT_START /* IN0 - $080000.w */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN1 - $080002.w */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER1 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER1 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER1 )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN2 - $080004.w */
PORT_DIPNAME( 0x0001, 0x0001, "Show Dip-Switch Settings" )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x000e, 0x000e, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x0006, "Very Easy" )
PORT_DIPSETTING( 0x0008, "Easy" )
PORT_DIPSETTING( 0x000e, "Normal" )
PORT_DIPSETTING( 0x0002, "Hard" )
PORT_DIPSETTING( 0x0004, "Hardest" )
PORT_DIPSETTING( 0x000c, "Very Hard" )
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0010, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, "Number of Bombs" )
PORT_DIPSETTING( 0x0020, "2" )
PORT_DIPSETTING( 0x0000, "3" )
PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x0000, "1" )
PORT_DIPSETTING( 0x0080, "2" )
PORT_DIPSETTING( 0x00c0, "3" )
PORT_DIPSETTING( 0x0040, "4" )
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0200, 0x0200, "Region" )
PORT_DIPSETTING( 0x0200, "English" )
PORT_DIPSETTING( 0x0000, "China" )
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Free_Play ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x1800, 0x1800, "Continue Coins" )
PORT_DIPSETTING( 0x1800, "1 Coin" )
PORT_DIPSETTING( 0x0800, "2 Coins" )
PORT_DIPSETTING( 0x1000, "3 Coins" )
PORT_DIPSETTING( 0x0000, "4 Coins" )
PORT_DIPNAME( 0xe000, 0xe000, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x8000, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x4000, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0xc000, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0xe000, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x2000, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x6000, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xa000, DEF_STR( 1C_3C ) )
INPUT_PORTS_END
INPUT_PORTS_START( spec2k )
PORT_START /* IN0 - $080000.w */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN1 - $080002.w */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER1 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER1 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER1 )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN2 - $080004.w */
PORT_SERVICE( 0x01, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0002, DEF_STR( On ) )
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Free_Play ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0008, 0x0008, "Number of Bombs" )
PORT_DIPSETTING( 0x0008, "2" )
PORT_DIPSETTING( 0x0000, "3" )
PORT_DIPNAME( 0x0010, 0x0010, "Copyright Notice" )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0010, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x0000, "1" )
PORT_DIPSETTING( 0x0080, "2" )
PORT_DIPSETTING( 0x00c0, "3" )
PORT_DIPSETTING( 0x0040, "5" )
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x1800, 0x1800, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x0800, "Easy" )
PORT_DIPSETTING( 0x1800, "Normal" )
PORT_DIPSETTING( 0x1000, "Hard" )
PORT_DIPSETTING( 0x0000, "Hardest" )
PORT_DIPNAME( 0xe000, 0xe000, DEF_STR( Coinage ) )
PORT_DIPSETTING( 0x0000, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x8000, DEF_STR( 3C_1C ) )
PORT_DIPSETTING( 0x4000, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0xc000, DEF_STR( 3C_2C ) )
PORT_DIPSETTING( 0xe000, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x2000, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x6000, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0xa000, DEF_STR( 1C_3C ) )
INPUT_PORTS_END
/***************************************************************************
@@ -532,6 +760,16 @@ static struct OKIM6295interface afega_m6295_intf =
{ 70 }
};
static struct OKIM6295interface firehawk_m6295_interface =
{
2, /* 2 chips */
{ 1000000/132, 1000000/132 }, /* frequency (Hz) */
{ REGION_SOUND1, REGION_SOUND2 }, /* memory region */
{ 100, 100 }
};
INTERRUPT_GEN( interrupt_afega )
{
switch ( cpu_getiloops() )
@@ -631,6 +869,38 @@ static MACHINE_DRIVER_START( bubl2000 )
MDRV_VIDEO_UPDATE(bubl2000)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( firehawk )
/* basic machine hardware */
MDRV_CPU_ADD(M68000,12000000)
MDRV_CPU_MEMORY(firehawk_readmem,firehawk_writemem)
MDRV_CPU_VBLANK_INT(interrupt_afega,2)
MDRV_CPU_ADD(Z80,4000000)
MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
MDRV_CPU_MEMORY(firehawk_sound_readmem,firehawk_sound_writemem)
MDRV_FRAMES_PER_SECOND(56)
MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
MDRV_MACHINE_INIT(afega)
/* video hardware */
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
MDRV_SCREEN_SIZE(256, 256)
MDRV_VISIBLE_AREA(8, 256-8-1, 16, 256-16-1)
MDRV_GFXDECODE(grdnstrm_gfxdecodeinfo)
MDRV_PALETTE_LENGTH(768)
MDRV_COLORTABLE_LENGTH(768 + 16*256)
MDRV_PALETTE_INIT(grdnstrm)
MDRV_VIDEO_START(firehawk)
MDRV_VIDEO_UPDATE(firehawk)
/* sound hardware */
MDRV_SOUND_ADD(OKIM6295, firehawk_m6295_interface)
MACHINE_DRIVER_END
/***************************************************************************
@@ -877,6 +1147,97 @@ static DRIVER_INIT( bubl2000 )
decryptcode( 23, 22, 21, 20, 19, 18, 13, 14, 15, 16, 17, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
}
/*
Fire Hawk - ESD
---------------
- To enter test mode, hold on button 1 at boot up
PCB Layout
----------
ESD-PROT-002
|------------------------------------------------|
| FHAWK_S1.U40 FHAWK_S2.U36 |
| 6116 6295 FHAWK_S3.U41 |
| 6295 FHAWK_G1.UC6|
| PAL Z80 FHAWK_G2.UC5|
| 4MHz |--------| |
| | ACTEL | |
|J 6116 62256 |A54SX16A| |
|A 6116 62256 | | |
|M |(QFP208)| |
|M |--------| |
|A DSW1 FHAWK_G3.UC2 |
| DSW2 |--------| |
| DSW3 | ACTEL | |
| 6116 |A54SX16A| |
| 6116 | | |
| 62256 |(QFP208)| |
| FHAWK_P1.U59 |--------| |
| FHAWK_P2.U60 PAL 62256 62256|
| |
|12MHz 62256 68000 62256 62256|
|------------------------------------------------|
Notes:
68000 clock: 12.000MHz
Z80 clock: 4.000MHz
6295 clocks: 1.000MHz (both), sample rate = 1000000 / 132 (both)
VSync: 56Hz
*/
ROM_START( firehawk )
ROM_REGION( 0x100000, REGION_CPU1, 0 ) /* 68000 Code */
ROM_LOAD16_BYTE( "fhawk_p1.u59", 0x00001, 0x80000, CRC(d6d71a50) SHA1(e947720a0600d049b7ea9486442e1ba5582536c2) )
ROM_LOAD16_BYTE( "fhawk_p2.u60", 0x00000, 0x80000, CRC(9f35d245) SHA1(5a22146f16bff7db924550970ed2a3048bc3edab) )
ROM_REGION( 0x20000, REGION_CPU2, 0 ) /* Z80 Code */
ROM_LOAD( "fhawk_s1.u40", 0x00000, 0x20000, CRC(c6609c39) SHA1(fe9b5f6c3ab42c48cb493fecb1181901efabdb58) )
ROM_REGION( 0x200000, REGION_GFX1,ROMREGION_DISPOSE ) /* Sprites, 16x16x4 */
ROM_LOAD( "fhawk_g3.uc2", 0x00000, 0x200000, CRC(cae72ff4) SHA1(7dca7164015228ea039deffd234778d0133971ab) )
ROM_REGION( 0x400000, REGION_GFX2, ROMREGION_DISPOSE ) /* Layer 0, 16x16x8 */
ROM_LOAD( "fhawk_g1.uc6", 0x000000, 0x200000, CRC(2ab0b06b) SHA1(25362f6a517f188c62bac28b1a7b7b49622b1518) )
ROM_LOAD( "fhawk_g2.uc5", 0x200000, 0x200000, CRC(d11bfa20) SHA1(15142004ab49f7f1e666098211dff0835c61df8d) )
ROM_REGION( 0x00100, REGION_GFX3, ROMREGION_DISPOSE | ROMREGION_ERASEFF ) /* Layer 1, 8x8x4 */
/* Unused */
ROM_REGION( 0x040000, REGION_SOUND1, ROMREGION_SOUNDONLY ) /* Samples */
ROM_LOAD( "fhawk_s2.u36", 0x00000, 0x40000, CRC(d16aaaad) SHA1(96ca173ca433164ed0ae51b41b42343bd3cfb5fe) )
ROM_REGION( 0x040000, REGION_SOUND2, ROMREGION_SOUNDONLY ) /* Samples */
ROM_LOAD( "fhawk_s3.u41", 0x00000, 0x40000, CRC(3fdcfac2) SHA1(c331f2ea6fd682cfb00f73f9a5b995408eaab5cf) )
ROM_END
ROM_START( spec2k )
ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 68000 Code */
ROM_LOAD16_BYTE( "yonatech5.u124", 0x00000, 0x40000, CRC(72ab5c05) SHA1(182a811982b89b8cda0677547ef0625c274f5c6b) )
ROM_LOAD16_BYTE( "yonatech6.u120", 0x00001, 0x40000, CRC(7e44bd9c) SHA1(da59685be14a09ec037743fcec34fb293f7d588d) )
ROM_REGION( 0x20000, REGION_CPU2, 0 ) /* Z80 Code */
ROM_LOAD( "yonatech1.u103", 0x00000, 0x10000, CRC(ef5acda7) SHA1(e55b36a1598ecbbbad984997d61599dfa3958f60) )
ROM_REGION( 0x200000, REGION_GFX1, ROMREGION_DISPOSE ) /* Sprites, 16x16x4 */
ROM_LOAD( "u154.bin", 0x00000, 0x200000, CRC(f77b764e) SHA1(37e249bd4d7174c5232261880ce8debf42723716) ) /* UC1 MX29F1610ML Flash ROM */
ROM_REGION( 0x400000, REGION_GFX2, ROMREGION_DISPOSE ) /* Layer 0, 16x16x8 */
ROM_LOAD( "u153.bin", 0x000000, 0x200000, CRC(a00bbf8f) SHA1(622f52ef50d52cdd5e6b250d68439caae5c13404) ) /* UC2 MX29F1610ML Flash ROM */
ROM_LOAD( "u152.bin", 0x200000, 0x200000, CRC(f6423fab) SHA1(253e0791eb58efa1df42e9c74d397e6e65c8c252) ) /* UC3 MX29F1610ML Flash ROM */
ROM_REGION( 0x20000, REGION_GFX3, ROMREGION_ERASEFF ) /* Layer 1, 8x8x4 */
ROM_LOAD( "yonatech4.u3", 0x00000, 0x20000, CRC(5626b08e) SHA1(63207ed6b4fc8684690bf3fe1991a4f3babd73e8) )
ROM_REGION( 0x40000, REGION_SOUND1, ROMREGION_SOUNDONLY ) /* Samples */
ROM_LOAD( "yonatech2.u101", 0x00000, 0x20000, CRC(4160f172) SHA1(0478a5a4bbba115e6cfb5501aa55aa2836c963bf) )
ROM_REGION( 0x080000, REGION_SOUND2, ROMREGION_SOUNDONLY ) /* Samples */
ROM_LOAD( "yonatech3.u106", 0x00000, 0x80000, CRC(6644c404) SHA1(b7ad3f9f08971432d024ef8be3fa3140f0bbae67) )
ROM_END
static DRIVER_INIT( spec2k )
{
decryptcode( 23, 22, 21, 20, 19, 18, 17, 13, 14, 15, 16, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 );
}
/***************************************************************************
@@ -885,7 +1246,9 @@ static DRIVER_INIT( bubl2000 )
***************************************************************************/
GAME ( 1998, stagger1, 0, stagger1, stagger1, 0, ROT270, "Afega", "Stagger I (Japan)" )
GAME ( 1997, redhawk, stagger1, redhawk, stagger1, redhawk, ROT270, "Afega", "Red Hawk (US)" )
GAME ( 1998, grdnstrm, 0, grdnstrm, grdnstrm, grdnstrm, ROT270, "Afega", "Sen Jin - Guardian Storm (Korea)" )
GAMEX( 1998, bubl2000, 0, bubl2000, bubl2000, bubl2000, ROT0, "Tuning", "Bubble 2000", GAME_IMPERFECT_GRAPHICS )
GAME ( 1998, stagger1, 0, stagger1, stagger1, 0, ROT270, "Afega", "Stagger I (Japan)" )
GAME ( 1997, redhawk, stagger1, redhawk, stagger1, redhawk, ROT270, "Afega", "Red Hawk (US)" )
GAME ( 1998, grdnstrm, 0, grdnstrm, grdnstrm, grdnstrm, ROT270, "Afega", "Sen Jin - Guardian Storm (Korea)" )
GAMEX( 1998, bubl2000, 0, bubl2000, bubl2000, bubl2000, ROT0, "Tuning", "Bubble 2000", GAME_IMPERFECT_GRAPHICS )
GAME ( 2000, spec2k, 0, firehawk, spec2k, spec2k, ORIENTATION_FLIP_Y, "Yonatech", "Spectrum 2000 (Euro)" )
GAME ( 2001, firehawk, 0, firehawk, firehawk, 0, ORIENTATION_FLIP_Y, "ESD", "Fire Hawk" )
+3 -3
View File
@@ -765,12 +765,11 @@ static struct GfxDecodeInfo gfxdecodeinfo[] =
};
static struct YM2203interface ym2203_interface =
{
1,
3000000, /* ?? */
{ YM2203_VOL(0xff,0xff) }, /* gain,volume */
{ YM2203_VOL(50,25) }, /* gain,volume - adjusted */
{ input_port_3_r }, /* DSW-1 connected to port A */
{ input_port_4_r }, /* DSW-2 connected to port B */
{ 0 },
@@ -783,10 +782,11 @@ static struct OKIM6295interface okim6295_interface =
1,
{ 12000000/4/165 }, /* 3MHz -> 6295 (mode A) */
{ REGION_SOUND1 },
{ 50 }
{ 80 } /* adjusted */
};
static MACHINE_DRIVER_START( airbustr )
/* basic machine hardware */
+21 -6
View File
@@ -8,6 +8,7 @@ Preliminary driver by:
***************************************************************************/
#include "driver.h"
#include "state.h"
#include "vidhrdw/generic.h"
#include "cpu/konami/konami.h" /* for the callback and the firq irq definition */
#include "vidhrdw/konamiic.h"
@@ -434,26 +435,33 @@ ROM_END
***************************************************************************/
static void aliens_banking( int lines )
static int aliens_rombank = 0x10; /* CPU ROM bank lines, kept for save states */
static void aliens_rombank_set(void)
{
unsigned char *RAM = memory_region(REGION_CPU1);
int lines = aliens_rombank;
int offs = 0x18000;
if (lines & 0x10) offs -= 0x8000;
offs += (lines & 0x0f)*0x2000;
cpu_setbank( 1, &RAM[offs] );
}
static void aliens_banking( int lines )
{
aliens_rombank = lines;
aliens_rombank_set();
}
static MACHINE_INIT( aliens )
{
unsigned char *RAM = memory_region(REGION_CPU1);
konami_cpu_setlines_callback = aliens_banking;
/* init the default bank */
cpu_setbank( 1, &RAM[0x10000] );
/* init the default bank (0x10000) */
aliens_rombank = 0x10;
aliens_rombank_set();
}
@@ -462,6 +470,13 @@ static DRIVER_INIT( aliens )
{
konami_rom_deinterleave_2(REGION_GFX1);
konami_rom_deinterleave_2(REGION_GFX2);
/* Save the ROM bank and the work RAM / palette switch, and map the
saved bank again after loading, so a loaded save state runs the
right code */
state_save_register_int("aliens", 0, "rombank", &aliens_rombank);
state_save_register_int("aliens", 0, "palette_selected", &palette_selected);
state_save_register_func_postload(aliens_rombank_set);
}
+8 -4
View File
@@ -1132,10 +1132,12 @@ INPUT_PORTS_START( timesold )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START /* player 1 12-way rotary control - converted in controls_r() */
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 8, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
/* 0xf5 default represents in the middle of the port range for the character pointing straight up */
PORT_ANALOGX( 0xff, 0xf5, IPT_DIAL | IPF_REVERSE, 25, 8, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
PORT_START /* player 2 12-way rotary control - converted in controls_r() */
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 8, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
/* 0xf5 default represents in the middle of the port range for the character pointing straight up */
PORT_ANALOGX( 0xff, 0xf5, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 8, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
INPUT_PORTS_END
/* Same as 'timesold' but different default settings for the "Language" Dip Switch */
@@ -1186,10 +1188,12 @@ INPUT_PORTS_START( btlfield )
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_START /* player 1 12-way rotary control - converted in controls_r() */
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 8, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
/* 0xf5 default represents in the middle of the port range for the character pointing straight up */
PORT_ANALOGX( 0xff, 0xf5, IPT_DIAL | IPF_REVERSE, 25, 8, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
PORT_START /* player 2 12-way rotary control - converted in controls_r() */
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 8, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
/* 0xf5 default represents in the middle of the port range for the character pointing straight up */
PORT_ANALOGX( 0xff, 0xf5, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 8, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
INPUT_PORTS_END
INPUT_PORTS_START( skysoldr )
+1 -1
View File
@@ -562,7 +562,7 @@ static struct YM2203interface ym2203_interface =
{
2, /* 2 chips */
4000000, /* 4 MHz ? */
{ YM2203_VOL(15,25), YM2203_VOL(15,25) },
{ YM2203_VOL(45,65), YM2203_VOL(45,65) },
{ 0 },
{ 0 },
{ 0 },
+3 -3
View File
@@ -220,15 +220,15 @@ static WRITE16_HANDLER( terraf_io_w )
terraf_text_videoram[i]=0x20;
}
tilemap_mark_all_tiles_dirty( armedf_tx_tilemap );
//logerror("vreg WIPE TX\n");
/*logerror("vreg WIPE TX\n"); */
}
//logerror("VReg = %04x\n", armedf_vreg);
/*logerror("VReg = %04x\n", armedf_vreg); */
}
static WRITE16_HANDLER( legion_command_c )
{
COMBINE_DATA(&legion_cmd[offset]);
//logerror("Legion CMD %04x=%04x", offset, data);
/*logerror("Legion CMD %04x=%04x", offset, data); */
}
static WRITE16_HANDLER( sound_command_w )
+1 -1
View File
@@ -112,7 +112,7 @@ static WRITE16_HANDLER( control2_w )
/* bit 5 is select tile bank */
K054157_set_tile_bank((data & 0x20) >> 5);
// TODO: looks like 0xffff is used from time to time for chip selection/reset something, not unlike Jackal
/* TODO: looks like 0xffff is used from time to time for chip selection/reset something, not unlike Jackal */
if((data & 0xff) != 0xff)
{
coin_counter_w(0, data & 0x08);
+43 -3
View File
@@ -146,7 +146,6 @@
#include "asteroid.h"
/*************************************
*
* Coin counters
@@ -347,6 +346,24 @@ INPUT_PORTS_START( asteroid )
PORT_DIPSETTING ( 0x80, DEF_STR( 1C_1C ) )
PORT_DIPSETTING ( 0x40, DEF_STR( 1C_2C ) )
PORT_DIPSETTING ( 0x00, DEF_STR( Free_Play ) )
PORT_START /* dummy IN3 */
PORT_START /* fake IN4 - inverter circuit */
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
PORT_START /* IN5 - asteroid_cocktail_port0 */
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON3 | IPF_PLAYER2)
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER2)
PORT_BIT( 0xe7, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START /* IN6 - asteroid_cocktail_port1 */
PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_PLAYER2)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER2)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER2)
INPUT_PORTS_END
@@ -522,6 +539,22 @@ INPUT_PORTS_START( astdelux )
PORT_DIPSETTING ( 0xa0, "1 each 4" )
PORT_DIPSETTING ( 0xc0, "1 each 2" )
PORT_DIPSETTING ( 0xe0, "None" )
PORT_START /* fake IN4 - inverter circuit */
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
PORT_START /* IN5 - asteroid_cocktail_port0 */
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON3 | IPF_PLAYER2)
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER2)
PORT_BIT( 0xe7, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_START /* IN6 - asteroid_cocktail_port1 */
PORT_BIT( 0x1f, IP_ACTIVE_HIGH, IPT_UNUSED )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 | IPF_PLAYER2)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER2)
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER2)
INPUT_PORTS_END
@@ -845,6 +878,12 @@ ROM_END
*
*************************************/
static DRIVER_INIT( asteroid )
{
asteroid_install_inv = true;
}
static DRIVER_INIT( asteroib )
{
install_mem_read_handler(0, 0x2000, 0x2000, asteroib_IN0_r);
@@ -866,6 +905,7 @@ static DRIVER_INIT( astdelux )
OVERLAY_END
artwork_set_overlay(astdelux_overlay);
asteroid_install_inv = true;
}
@@ -876,8 +916,8 @@ static DRIVER_INIT( astdelux )
*
*************************************/
GAME( 1979, asteroid, 0, asteroid, asteroid, 0, ROT0, "Atari", "Asteroids (rev 2)" )
GAME( 1979, asteroi1, asteroid, asteroid, asteroid, 0, ROT0, "Atari", "Asteroids (rev 1)" )
GAME( 1979, asteroid, 0, asteroid, asteroid, asteroid, ROT0, "Atari", "Asteroids (rev 2)" )
GAME( 1979, asteroi1, asteroid, asteroid, asteroid, asteroid, ROT0, "Atari", "Asteroids (rev 1)" )
GAME( 1979, asteroib, asteroid, asteroid, asteroib, asteroib, ROT0, "bootleg", "Asteroids (bootleg on Lunar Lander hardware)" )
GAME( 1979, asterock, asteroid, asterock, asterock, asterock, ROT0, "Sidam", "Asterock" )
GAME( 1980, astdelux, 0, astdelux, astdelux, astdelux, ROT0, "Atari", "Asteroids Deluxe (rev 2)" )
+2 -2
View File
@@ -284,14 +284,14 @@ PORT_END
INPUT_PORTS_START( seawolf2 )
PORT_START /* IN0 */
PORT_ANALOG( 0x3f, 0x20, IPT_PADDLE | IPF_REVERSE | IPF_PLAYER1, 20, 5, 0, 0x3f)
PORT_ANALOG( 0x3f, 0x1f, IPT_PADDLE | IPF_REVERSE | IPF_PLAYER1, 20, 5, 0, 0x3f)
PORT_DIPNAME( 0x40, 0x00, "Language 1" )
PORT_DIPSETTING( 0x00, "Language 2" )
PORT_DIPSETTING( 0x40, "French" )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER1 )
PORT_START /* IN1 */
PORT_ANALOG( 0x3f, 0x20, IPT_PADDLE | IPF_REVERSE | IPF_PLAYER2, 20, 5, 0, 0x3f)
PORT_ANALOG( 0x3f, 0x1f, IPT_PADDLE | IPF_REVERSE | IPF_PLAYER2, 20, 5, 0, 0x3f)
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1 | IPF_PLAYER2 )
+1 -1
View File
@@ -1458,7 +1458,7 @@ ROM_END
DRIVER_INIT(earthjkr)
{
data16_t *rom = memory_region(REGION_CPU1);
data16_t *rom = (data16_t *)memory_region(REGION_CPU1);
/* 357c -> 317c, I think this is bitrot, see ROM loading for which ROM needs redumping, causes rowscroll to be broken on final stage (writes to ROM area instead)
code is correct in the 'prototype?' set */
rom[0x7aaa/2] = 0x317c;
+6 -6
View File
@@ -576,10 +576,10 @@ static struct GfxDecodeInfo soccer_gfxdecodeinfo[] =
const struct discrete_555_astbl_desc atarifbWhistl555 =
{
DISC_555_OUT_CAP | DISC_555_OUT_AC,
5, // B+ voltage of 555
5.0 - 1.7, // High output voltage of 555 (Usually v555 - 1.7)
5.0 * 2.0 /3.0, // normally 2/3 of v555
5.0 / 3.0 // normally 1/3 of v555
5, /* B+ voltage of 555 */
5.0 - 1.7, /* High output voltage of 555 (Usually v555 - 1.7) */
5.0 * 2.0 /3.0, /* normally 2/3 of v555 */
5.0 / 3.0 /* normally 1/3 of v555 */
};
const struct discrete_lfsr_desc atarifb_lfsr =
@@ -631,7 +631,7 @@ static DISCRETE_SOUND_START(atarifb_sound_interface)
/************************************************/
/* Hit is a trigger fed directly to the amp */
/************************************************/
DISCRETE_FILTER2(ATARIFB_HIT_SND, 1, ATARIFB_HIT_EN, 10.0, 5, DISC_FILTER_HIGHPASS) // remove DC
DISCRETE_FILTER2(ATARIFB_HIT_SND, 1, ATARIFB_HIT_EN, 10.0, 5, DISC_FILTER_HIGHPASS) /* remove DC */
/************************************************/
/* Crowd effect is variable amplitude, filtered */
@@ -693,7 +693,7 @@ static DISCRETE_SOUND_START(abaseb_sound_interface)
/************************************************/
/* Hit is a trigger fed directly to the amp */
/************************************************/
DISCRETE_FILTER2(ABASEB_HIT_SND, 1, ABASEB_HIT_EN, 10.0, 5, DISC_FILTER_HIGHPASS) // remove DC
DISCRETE_FILTER2(ABASEB_HIT_SND, 1, ABASEB_HIT_EN, 10.0, 5, DISC_FILTER_HIGHPASS) /* remove DC */
/************************************************/
/* Crowd effect is variable amplitude, filtered */
+8 -8
View File
@@ -463,10 +463,10 @@ INPUT_PORTS_END
INPUT_PORTS_START( dangerex )
PORT_START /* e00000 */
PORT_BIT( 0x003f, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) // Toggle 0 - D4
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) // Toggle 1 - D5
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) // Step SW - D6
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) // Freeze - D7
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) /* Toggle 0 - D4 */
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) /* Toggle 1 - D5 */
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) /* Step SW - D6 */
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) /* Freeze - D7 */
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
@@ -478,10 +478,10 @@ INPUT_PORTS_START( dangerex )
PORT_START /* e00002 */
PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) // Test Yellow - D4
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) // Test Blue - D5
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) // Test Blue - D6
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) // Test Blue - D7
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) /* Test Yellow - D4 */
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) /* Test Blue - D5 */
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED ) /* Test Blue - D6 */
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNUSED ) /* Test Blue - D7 */
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
+236 -6
View File
@@ -6,6 +6,7 @@
Games supported:
* Batman (1991)
* Marble Madness II (prototype)
Known bugs:
* none at this time
@@ -55,6 +56,10 @@ static void update_interrupts(void)
cpu_set_irq_line(0, 7, CLEAR_LINE);
}
static void mm2_interupt_update(int freq)
{
update_interrupts();
}
static MACHINE_INIT( batman )
{
@@ -66,6 +71,15 @@ static MACHINE_INIT( batman )
}
static MACHINE_INIT( marblmd2 )
{
atarigen_eeprom_reset();
atarivc_reset(atarivc_eof_data, 2);
atarigen_interrupt_reset(update_interrupts);
atarigen_scanline_timer_reset(mm2_interupt_update, 60);
atarijsa_reset();
mm2_startup = 0;
}
/*************************************
*
@@ -76,6 +90,7 @@ static MACHINE_INIT( batman )
static READ16_HANDLER( special_port2_r )
{
int result = readinputport(2);
if (atarigen_sound_to_cpu_ready) result ^= 0x0010;
if (atarigen_cpu_to_sound_ready) result ^= 0x0020;
return result;
@@ -103,6 +118,18 @@ static WRITE16_HANDLER( latch_w )
}
static WRITE16_HANDLER( mm2_latch_w )
{
int oldword = latch_data;
COMBINE_DATA(&latch_data);
/* bit 4 is connected to the /RESET pin on the 6502 */
if (latch_data & 0x0010)
cpu_set_reset_line(1, CLEAR_LINE);
else
cpu_set_reset_line(1, ASSERT_LINE);
}
/*************************************
*
@@ -145,6 +172,43 @@ static MEMORY_WRITE16_START( main_writemem )
MEMORY_END
static MEMORY_READ16_START( mm2_readmem )
{ 0x000000, 0x07ffff, MRA16_ROM },
{ 0x600000, 0x600001, /*600000*/ input_port_0_word_r },
{ 0x600002, 0x600003, /*600002*/ input_port_1_word_r },
{ 0x600010, 0x600011, /*600010*/ special_port2_r },
{ 0x600012, 0x600013, /*600012*/ input_port_3_word_r },
{ 0x600020, 0x600021, /*600020*/ input_port_4_word_r},
{ 0x600030, 0x600031, atarigen_sound_r },
{ 0x601000, 0x601fff, atarigen_eeprom_r },
{ 0x7c0000, 0x7c03ff, MRA16_RAM },
{ 0x7cffc0, 0x7cffff, atarivc_r },
{ 0x7d0000, 0x7d7fff, MRA16_RAM },
{ 0x7d8000, 0x7d9fff, MRA16_RAM },
{ 0x7da000, 0x7dbeff, MRA16_RAM },
{ 0x7dbf00, 0x7dbf7f, MRA16_RAM },
{ 0x7dbf80, 0x7dbfff, MRA16_RAM },
{ 0x7f8000, 0x7fbfff, MRA16_RAM },
MEMORY_END
static MEMORY_WRITE16_START( mm2_writemem )
{ 0x000000, 0x07ffff, MWA16_ROM },
{ 0x600040, 0x600041, atarigen_sound_w },
{ 0x600050, 0x600051, mm2_latch_w },
{ 0x600060, 0x600061, atarigen_eeprom_enable_w },
{ 0x601000, 0x601fff, atarigen_eeprom_w, &atarigen_eeprom, &atarigen_eeprom_size },
{ 0x607000, 0x607000, MWA16_NOP },
{ 0x7c0000, 0x7c03ff, atarigen_expanded_666_paletteram_w, &paletteram16 },
{ 0x7cffc0, 0x7cffff, atarivc_w, &atarivc_data },
{ 0x7d0000, 0x7d7fff, MWA16_RAM },
{ 0x7d8000, 0x7d9fff, atarigen_playfield_latched_lsb_w, &atarigen_playfield },
{ 0x7da000, 0x7dbeff, atarimo_0_spriteram_w, &atarimo_0_spriteram },
{ 0x7dbf00, 0x7dbf7f, MWA16_RAM, &atarivc_eof_data },
{ 0x7dbf80, 0x7dbfff, atarimo_0_slipram_w, &atarimo_0_slipram },
{ 0x7f8000, 0x7fbfff, MWA16_RAM },
MEMORY_END
/*************************************
*
@@ -152,6 +216,73 @@ MEMORY_END
*
*************************************/
INPUT_PORTS_START( marblmd2 )
PORT_START /* 600000 input_port_0_word_r */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER3 ) /* also acts as START3 */
PORT_BIT( 0x00fe, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 ) /* also acts as START1 */
PORT_BIT( 0xfe00, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* 600002 input_port_1_word_r */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* acts as a 'freeze' input, probably not connected */
PORT_BIT( 0x00fe, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 ) /* also acts as START2 */
PORT_BIT( 0xfe00, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* 600010 input_port_2_word_r */
PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNUSED ) /* Input buffer full (@260030) */
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNUSED ) /* Output buffer full (@260040) */
PORT_SERVICE( 0x0040, IP_ACTIVE_LOW )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_VBLANK )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* 600012 input_port_3_word_r */
PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, "Number of Players (Test Mode)" ) /* this one controls 'number of players' in Control Test */
PORT_DIPSETTING( 0x0000, "2" )
PORT_DIPSETTING( 0x0020, "3" )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, "Number of Players (Game)" )
PORT_DIPSETTING( 0x0000, "2" )
PORT_DIPSETTING( 0x0080, "3" )
PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* 600020 input_port_4_word_r */
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER2 )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER2 )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER2 )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER2 )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER1 )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER1 )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER1 )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER1 )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_PLAYER3 )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_PLAYER3 )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_PLAYER3 )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_PLAYER3 )
PORT_BIT( 0xf000, IP_ACTIVE_LOW, IPT_UNKNOWN )
JSA_III_PORT /* audio board port */
INPUT_PORTS_END
INPUT_PORTS_START( batman )
PORT_START /* 26000 */
PORT_BIT( 0x01ff, IP_ACTIVE_LOW, IPT_UNUSED )
@@ -179,6 +310,7 @@ INPUT_PORTS_END
/*************************************
*
* Graphics definitions
@@ -218,6 +350,37 @@ static struct GfxDecodeInfo gfxdecodeinfo[] =
};
static struct GfxLayout pflayout =
{
8,8,
RGN_FRAC(1,2),
8,
{ 0,1,2,3,4,5,6,7 },
{ 0,RGN_FRAC(1,2) + 0, 8,RGN_FRAC(1,2) + 8, 16,RGN_FRAC(1,2) + 16,24,RGN_FRAC(1,2) + 24 },
{ 0 * 32, 1 * 32, 2 * 32, 3 * 32, 4 * 32, 5 * 32, 6 * 32, 7 * 32 },
8 * 32
};
static struct GfxLayout molayout =
{
8,8,
RGN_FRAC(1,2),
4,
{ 0, 1, 2, 3 },
{ RGN_FRAC(1,2) + 0, RGN_FRAC(1,2) + 4, 0, 4, RGN_FRAC(1,2) + 8, RGN_FRAC(1,2) + 12, 8, 12 },
{ 0 * 16, 1 * 16, 2 * 16, 3 * 16, 4 * 16, 5 * 16, 6 * 16, 7 * 16 },
16 * 8
};
static struct GfxDecodeInfo gfxdecodeinfo2[] =
{
{ REGION_GFX1, 0, &pflayout, 0x0, 1 },
{ REGION_GFX2, 0, &molayout, 0x0, 0x10 },
{ -1 }
};
/*************************************
*
@@ -230,13 +393,13 @@ static MACHINE_DRIVER_START( batman )
/* basic machine hardware */
MDRV_CPU_ADD(M68000, ATARI_CLOCK_14MHz)
MDRV_CPU_MEMORY(main_readmem,main_writemem)
MDRV_FRAMES_PER_SECOND(60)
MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
MDRV_MACHINE_INIT(batman)
MDRV_NVRAM_HANDLER(atarigen)
/* video hardware */
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_UPDATE_BEFORE_VBLANK)
MDRV_SCREEN_SIZE(42*8, 30*8)
@@ -244,15 +407,41 @@ static MACHINE_DRIVER_START( batman )
MDRV_GFXDECODE(gfxdecodeinfo)
MDRV_PALETTE_LENGTH(2048)
MDRV_COLORTABLE_LENGTH(2048) /* can't make colortable_len = 0 because of 0xffff transparency kludge */
MDRV_VIDEO_START(batman)
MDRV_VIDEO_UPDATE(batman)
/* sound hardware */
MDRV_IMPORT_FROM(jsa_iii_mono)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( marblmd2 )
/* basic machine hardware */
MDRV_CPU_ADD(M68000, ATARI_CLOCK_14MHz)
MDRV_CPU_MEMORY(mm2_readmem,mm2_writemem)
MDRV_FRAMES_PER_SECOND(60)
MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
MDRV_MACHINE_INIT(marblmd2)
MDRV_NVRAM_HANDLER(atarigen)
/* video hardware */
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_UPDATE_BEFORE_VBLANK)
MDRV_SCREEN_SIZE(42*8, 30*8)
MDRV_VISIBLE_AREA(0*8, 42*8-1, 0*8, 30*8-1)
MDRV_GFXDECODE(gfxdecodeinfo2)
MDRV_PALETTE_LENGTH(256)
MDRV_COLORTABLE_LENGTH(256) /* can't make colortable_len = 0 because of 0xffff transparency kludge */
MDRV_VIDEO_START(mm2)
MDRV_VIDEO_UPDATE(mm2)
/* sound hardware */
MDRV_IMPORT_FROM(jsa_iii_mono )
MACHINE_DRIVER_END
/*************************************
*
@@ -304,6 +493,38 @@ ROM_START( batman )
ROM_END
ROM_START( marblmd2 )
ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* 6*128k for 68000 code */
ROM_LOAD16_BYTE( "rom0l.18c", 0x00001, 0x20000, CRC(a4db40d9) SHA1(ae8313c9bb513143472347a7705bec33783bad7e) )
ROM_LOAD16_BYTE( "rom0h.20c", 0x00000, 0x20000, CRC(d1a17d67) SHA1(7ac434858fa94e4bb4bb7d0603f699667494aa0d) )
ROM_LOAD16_BYTE( "rom1l.18e", 0x40001, 0x20000, CRC(b6fb08b5) SHA1(0ce9c1a5d70133ffc879cfe548646c04de371e13) )
ROM_LOAD16_BYTE( "rom1h.20e", 0x40000, 0x20000, CRC(b2a361a8) SHA1(b7c58404642a494532597cceb946463e3a6f56b3) )
ROM_REGION( 0x14000, REGION_CPU2, 0 ) /* 64k + 16k for 6502 code */
ROM_LOAD( "aud0.12c", 0x10000, 0x4000, CRC(89a8d90a) SHA1(cd73483d0bcfe2c8134d005c4417975f9a2cb658) )
ROM_CONTINUE( 0x04000, 0xc000 )
ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
ROM_LOAD( "pf0l.3p", 0x00000, 0x20000, CRC(a4fe377a) SHA1(a8a1a8027da778e5ad406a65814eec999b0f81af) )
ROM_LOAD( "pf1l.3m", 0x20000, 0x20000, CRC(5dc7aaa8) SHA1(4fb815e9bcf6bcdf1b7976a3dea2b6d1dd6a8f6b) )
ROM_LOAD( "pf2l.3k", 0x40000, 0x20000, CRC(0c7c5f74) SHA1(26f1d36f70f4e8354537d0d67764a1c9be35e8f7) )
ROM_LOAD( "pf3l.3j", 0x60000, 0x20000, CRC(0a780429) SHA1(a9d7d564507c31dafc448726b04293d6a582cff5) )
ROM_LOAD( "pf0h.1p", 0x80000, 0x20000, CRC(a6297a83) SHA1(ffe9ea41d1ba7bb3d0260f3fcf0e970112098d46) )
ROM_LOAD( "pf1h.1m", 0xa0000, 0x20000, CRC(5b40f1bb) SHA1(cf0de8679ab0dd9460324ce72b4bfac029591506) )
ROM_LOAD( "pf2h.1k", 0xc0000, 0x20000, CRC(18323df9) SHA1(9c4add4733bcfe7202b53d86f1bca4b9d207e22a) )
ROM_LOAD( "pf3h.1j", 0xe0000, 0x20000, CRC(05d86ef8) SHA1(47eefd7112a3a3be16f0b4496cf034c8f7a69b1b) )
ROM_REGION( 0x80000, REGION_GFX2, ROMREGION_DISPOSE )
ROM_LOAD( "mo0l.7p", 0x00000, 0x20000, CRC(950d95a3) SHA1(3f38da7b6eeaa87cc84b98c9d535468b0c060f6d) )
ROM_LOAD( "mo1l.10p", 0x20000, 0x20000, CRC(b62b6ebf) SHA1(3781cd81780c10cd245871bb8f7b6260f7bb53b7) )
ROM_LOAD( "mo0h.12p", 0x40000, 0x20000, CRC(e47d92b0) SHA1(7953e8342450c02408e4d90f132144d55de2f491) )
ROM_LOAD( "mo1h.14p", 0x60000, 0x20000, CRC(317a03fb) SHA1(23a7cfe7c5601c858e8b346de31441788c7a8e97) )
/* loading based on batman, there are 2 unpopulated positions on the PCB */
ROM_REGION( 0x200000, REGION_SOUND1, 0 ) /* 1MB for ADPCM */
ROM_LOAD( "sound.19e", 0x80000, 0x20000, CRC(e916bef7) SHA1(e07ddc8a3e1656d7307b767e692cf4a575ca47a3) )
ROM_LOAD( "sound.12e", 0xe0000, 0x20000, CRC(bab2f8e5) SHA1(bbe2d693d40e5eeba315fe7b6380a2030b66f23e) )
ROM_END
/*************************************
*
@@ -335,6 +556,14 @@ static DRIVER_INIT( batman )
}
static DRIVER_INIT( marblmd2 )
{
atarigen_eeprom_default = NULL;
atarijsa_init(1, 5, 2, 0x0040);
atarijsa3_init_adpcm(REGION_SOUND1);
}
/*************************************
*
@@ -342,4 +571,5 @@ static DRIVER_INIT( batman )
*
*************************************/
GAME( 1991, batman, 0, batman, batman, batman, ROT0, "Atari Games", "Batman" )
GAME( 1991, batman, 0, batman, batman, batman, ROT0, "Atari Games", "Batman" )
GAME( 1991, marblmd2, 0, marblmd2, marblmd2, marblmd2, ROT0, "Atari Games", "Marble Madness II (prototype)" )
-3
View File
@@ -16,8 +16,6 @@
extern UINT8 *battlane_spriteram;
extern UINT8 *battlane_tileram;
extern struct tilemap *bg_tilemap;
extern WRITE_HANDLER( battlane_palette_w );
extern WRITE_HANDLER( battlane_scrollx_w );
extern WRITE_HANDLER( battlane_scrolly_w );
@@ -50,7 +48,6 @@ WRITE_HANDLER( battlane_cpu_command_w )
if (flip_screen != (data & 0x80)) {
flip_screen_set(data & 0x80);
tilemap_mark_all_tiles_dirty(bg_tilemap);
}
/*
+1 -1
View File
@@ -448,7 +448,7 @@ INPUT_PORTS_START( bbusters )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_COIN4 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN5 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN6 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) // See notes
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* See notes */
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* Dip switch bank 1 */
+83 -13
View File
@@ -54,7 +54,7 @@ J1100072A
A67-15-1 18.432MHz
***************************************************************************/
#include <math.h>
#include "driver.h"
#include "vidhrdw/generic.h"
@@ -387,21 +387,89 @@ static MEMORY_READ_START( sound_readmem )
{ 0xc000, 0xc7ff, MRA_RAM },
{ 0xda00, 0xda00, soundstate_r },
{ 0xd800, 0xd800, sound_command_r }, /* read from D800 sets bit 0 in status */
{ 0xde00, 0xde00, MRA_NOP },
{ 0xe000, 0xefff, MRA_NOP }, /* space for diagnostics ROM */
MEMORY_END
static int vol_ctrl[16];
static MACHINE_INIT( ta7630 )
{
int i;
double db = 0.0;
double db_step = 1.50; /* 1.50 dB step (at least, maybe more) */
double db_step_inc = 0.125;
for (i=0; i<16; i++)
{
double max = 100.0 / pow(10.0, db/20.0 );
vol_ctrl[ 15-i ] = max;
/*logerror("vol_ctrl[%x] = %i (%f dB)\n",15-i,vol_ctrl[ 15-i ],db);*/
db += db_step;
db_step += db_step_inc;
}
/* for (i=0; i<8; i++)
logerror("SOUND Chan#%i name=%s\n", i, mixer_get_name(i) ); */
/*
channels 0-2 AY#0
channels 3,4 MSM5232 group1,group2
*/
beg13_ls74[0] = 0;
beg13_ls74[1] = 0;
}
static UINT8 snd_ctrl0=0;
static UINT8 snd_ctrl1=0;
static UINT8 snd_ctrl2=0;
static UINT8 snd_ctrl3=0;
static WRITE_HANDLER( sound_control_0_w )
{
snd_ctrl0 = data & 0xff;
/* usrintf_showmessage("SND0 0=%02x 1=%02x 2=%02x 3=%02x", snd_ctrl0, snd_ctrl1, snd_ctrl2, snd_ctrl3); */
/* this definitely controls main melody voice on 2'-1 and 4'-1 outputs */
mixer_set_volume (3, vol_ctrl[ (snd_ctrl0>>4) & 15 ]); /* group1 from msm5232 */
}
static WRITE_HANDLER( sound_control_1_w )
{
snd_ctrl1 = data & 0xff;
/* usrintf_showmessage("SND1 0=%02x 1=%02x 2=%02x 3=%02x", snd_ctrl0, snd_ctrl1, snd_ctrl2, snd_ctrl3); */
mixer_set_volume (4, vol_ctrl[ (snd_ctrl1>>4) & 15 ]); /* group2 from msm5232 */
}
static WRITE_HANDLER( sound_control_2_w )
{
int i;
snd_ctrl2 = data & 0xff;
/* usrintf_showmessage("SND2 0=%02x 1=%02x 2=%02x 3=%02x", snd_ctrl0, snd_ctrl1, snd_ctrl2, snd_ctrl3); */
for (i=0; i<3; i++)
mixer_set_volume (i, vol_ctrl[ (snd_ctrl2>>4) & 15 ]); /* ym2149f all */
}
static WRITE_HANDLER( sound_control_3_w ) /* unknown */
{
snd_ctrl3 = data & 0xff;
/* usrintf_showmessage("SND3 0=%02x 1=%02x 2=%02x 3=%02x", snd_ctrl0, snd_ctrl1, snd_ctrl2, snd_ctrl3); */
}
static MEMORY_WRITE_START( sound_writemem )
{ 0x0000, 0xbfff, MWA_ROM },
{ 0xc000, 0xc7ff, MWA_RAM },
{ 0xc800, 0xc800, AY8910_control_port_0_w },
{ 0xc801, 0xc801, AY8910_write_port_0_w },
{ 0xca00, 0xca0d, MSM5232_0_w },
{ 0xcc00, 0xcc00, MWA_NOP },
{ 0xce00, 0xce00, MWA_NOP },
{ 0xcc00, 0xcc00, sound_control_0_w },
{ 0xce00, 0xce00, sound_control_1_w },
{ 0xd800, 0xd800, beg_fromsound_w }, /* write to D800 sets bit 1 in status */
{ 0xda00, 0xda00, nmi_enable_w },
{ 0xdc00, 0xdc00, nmi_disable_w },
{ 0xde00, 0xde00, MWA_NOP },
{ 0xde00, 0xde00, DAC_0_signed_data_w }, /* signed 8-bit DAC */
MEMORY_END
@@ -445,12 +513,6 @@ static struct GfxDecodeInfo gfxdecodeinfo[] =
{ -1 } /* end of array */
};
MACHINE_INIT( bigevglf )
{
beg13_ls74[0] = 0;
beg13_ls74[1] = 0;
}
static struct AY8910interface ay8910_interface =
{
@@ -459,8 +521,8 @@ static struct AY8910interface ay8910_interface =
{ 15 },
{ 0 },
{ 0 },
{ 0 },
{ 0 }
{ sound_control_2_w },
{ sound_control_3_w }
};
static struct MSM5232interface msm5232_interface =
@@ -471,6 +533,12 @@ static struct MSM5232interface msm5232_interface =
{ 100 } /* mixing level ??? */
};
static struct DACinterface dac_interface =
{
1,
{ 50 }
};
static MACHINE_DRIVER_START( bigevglf )
/* basic machine hardware */
MDRV_CPU_ADD(Z80,10000000/2) /* 5 MHz ? */
@@ -497,7 +565,8 @@ static MACHINE_DRIVER_START( bigevglf )
MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION)
MDRV_INTERLEAVE(10) /* 10 CPU slices per frame - interleaving is forced on the fly */
MDRV_MACHINE_INIT(bigevglf)
MDRV_MACHINE_INIT(ta7630)
/* video hardware */
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
MDRV_SCREEN_SIZE(32*8, 32*8)
@@ -510,6 +579,7 @@ static MACHINE_DRIVER_START( bigevglf )
/* sound hardware */
MDRV_SOUND_ADD(AY8910, ay8910_interface) /* YM2149 really */
MDRV_SOUND_ADD(MSM5232, msm5232_interface)
MDRV_SOUND_ADD(DAC, dac_interface)
MACHINE_DRIVER_END
/***************************************************************************
+7 -7
View File
@@ -94,12 +94,12 @@ static WRITE_HANDLER( bladestl_sh_irqtrigger_w )
static WRITE_HANDLER( bladestl_port_B_w ){
/* bit 1, 2 unknown */
UPD7759_set_bank_base(0, ((data & 0x38) >> 3)*0x20000);
upd7759_set_bank_base(0, ((data & 0x38) >> 3)*0x20000);
}
static WRITE_HANDLER( bladestl_speech_ctrl_w ){
UPD7759_reset_w(0, data & 1);
UPD7759_start_w(0, data & 2);
upd7759_reset_w(0, data & 1);
upd7759_start_w(0, data & 2);
}
static MEMORY_READ_START( bladestl_readmem )
@@ -139,7 +139,7 @@ static MEMORY_READ_START( bladestl_readmem_sound )
{ 0x0000, 0x07ff, MRA_RAM }, /* RAM */
{ 0x1000, 0x1000, YM2203_status_port_0_r }, /* YM2203 */
{ 0x1001, 0x1001, YM2203_read_port_0_r }, /* YM2203 */
{ 0x4000, 0x4000, UPD7759_0_busy_r }, /* UPD7759 */
{ 0x4000, 0x4000, upd7759_0_busy_r }, /* UPD7759 */
{ 0x6000, 0x6000, soundlatch_r }, /* soundlatch_r */
{ 0x8000, 0xffff, MRA_ROM }, /* ROM */
MEMORY_END
@@ -423,16 +423,16 @@ static struct YM2203interface ym2203_interface =
{ YM2203_VOL(45,45) },
{ 0 },
{ 0 },
{ UPD7759_0_port_w },
{ upd7759_0_port_w },
{ bladestl_port_B_w }
};
static struct UPD7759_interface upd7759_interface =
static struct upd7759_interface upd7759_interface =
{
1, /* number of chips */
{ UPD7759_STANDARD_CLOCK },
{ 60 }, /* volume */
{ REGION_SOUND1 }, /* memory regions */
UPD7759_STANDALONE_MODE,
{ 0 }
};
+70 -70
View File
@@ -272,12 +272,12 @@ static struct YM2203interface ym2203_interface =
static MACHINE_DRIVER_START( blktiger )
/* basic machine hardware */
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz (?) */
MDRV_CPU_ADD(Z80, 6000000) /* 4 MHz (?) */
MDRV_CPU_MEMORY(readmem,writemem)
MDRV_CPU_PORTS(readport,writeport)
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
MDRV_CPU_ADD(Z80, 3000000)
MDRV_CPU_ADD(Z80, 3579545)
MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 3 MHz (?) */
MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
@@ -308,68 +308,68 @@ MACHINE_DRIVER_END
ROM_START( blktiger )
ROM_REGION( 0x50000, REGION_CPU1, 0 ) /* 64k for code + banked ROMs images */
ROM_LOAD( "blktiger.5e", 0x00000, 0x08000, CRC(a8f98f22) SHA1(f77c0d0ebf3e52a21d2c0c5004350a408b8e6d24) ) /* CODE */
ROM_LOAD( "blktiger.6e", 0x10000, 0x10000, CRC(7bef96e8) SHA1(6d05a73d8400dead78c561b904bf6ef8311e7b91) ) /* 0+1 */
ROM_LOAD( "blktiger.8e", 0x20000, 0x10000, CRC(4089e157) SHA1(7972b1c745057802d4fd66d88b0101eb3c03e701) ) /* 2+3 */
ROM_LOAD( "blktiger.9e", 0x30000, 0x10000, CRC(ed6af6ec) SHA1(bed303c51bcddf233ad0701306d557a60ce9f5a5) ) /* 4+5 */
ROM_LOAD( "blktiger.10e", 0x40000, 0x10000, CRC(ae59b72e) SHA1(6e72214b71f2f337af236c8be891a18570cb6fbb) ) /* 6+7 */
ROM_LOAD( "bdu-01a.5e", 0x00000, 0x08000, CRC(a8f98f22) SHA1(f77c0d0ebf3e52a21d2c0c5004350a408b8e6d24) ) /* CODE */
ROM_LOAD( "bdu-02a.6e", 0x10000, 0x10000, CRC(7bef96e8) SHA1(6d05a73d8400dead78c561b904bf6ef8311e7b91) ) /* 0+1 */
ROM_LOAD( "bdu-03a.8e", 0x20000, 0x10000, CRC(4089e157) SHA1(7972b1c745057802d4fd66d88b0101eb3c03e701) ) /* 2+3 */
ROM_LOAD( "bd-04.9e", 0x30000, 0x10000, CRC(ed6af6ec) SHA1(bed303c51bcddf233ad0701306d557a60ce9f5a5) ) /* 4+5 */
ROM_LOAD( "bd-05.10e", 0x40000, 0x10000, CRC(ae59b72e) SHA1(6e72214b71f2f337af236c8be891a18570cb6fbb) ) /* 6+7 */
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for the audio CPU */
ROM_LOAD( "blktiger.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
ROM_REGION( 0x10000, REGION_CPU2, 0 )
ROM_LOAD( "bd-06.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
ROM_LOAD( "blktiger.2n", 0x00000, 0x08000, CRC(70175d78) SHA1(2f02be2785d1824002145ea20db79821d0393929) ) /* characters */
ROM_LOAD( "bd-15.2n", 0x00000, 0x08000, CRC(70175d78) SHA1(2f02be2785d1824002145ea20db79821d0393929) ) /* characters */
ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
ROM_LOAD( "blktiger.5b", 0x00000, 0x10000, CRC(c4524993) SHA1(9aa6c58004ca1117e5ac44ba8fc51e9128b921b8) ) /* tiles */
ROM_LOAD( "blktiger.4b", 0x10000, 0x10000, CRC(7932c86f) SHA1(b3b1bc1e2b0db5c2eb8772f8a2c35129cc80d511) )
ROM_LOAD( "blktiger.9b", 0x20000, 0x10000, CRC(dc49593a) SHA1(e4ef42ba9f238fd43c8217657c92896f31d3912c) )
ROM_LOAD( "blktiger.8b", 0x30000, 0x10000, CRC(7ed7a122) SHA1(3acc6d4c9731db0609c2e26e3bd255847149ca33) )
ROM_LOAD( "bd-12.5b", 0x00000, 0x10000, CRC(c4524993) SHA1(9aa6c58004ca1117e5ac44ba8fc51e9128b921b8) ) /* tiles */
ROM_LOAD( "bd-11.4b", 0x10000, 0x10000, CRC(7932c86f) SHA1(b3b1bc1e2b0db5c2eb8772f8a2c35129cc80d511) )
ROM_LOAD( "bd-14.9b", 0x20000, 0x10000, CRC(dc49593a) SHA1(e4ef42ba9f238fd43c8217657c92896f31d3912c) )
ROM_LOAD( "bd-13.8b", 0x30000, 0x10000, CRC(7ed7a122) SHA1(3acc6d4c9731db0609c2e26e3bd255847149ca33) )
ROM_REGION( 0x40000, REGION_GFX3, ROMREGION_DISPOSE )
ROM_LOAD( "blktiger.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
ROM_LOAD( "blktiger.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
ROM_LOAD( "blktiger.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
ROM_LOAD( "blktiger.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
ROM_LOAD( "bd-08.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
ROM_LOAD( "bd-07.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
ROM_LOAD( "bd-10.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
ROM_LOAD( "bd-09.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
ROM_REGION( 0x0400, REGION_PROMS, 0 ) /* PROMs (function unknown) */
ROM_LOAD( "mb7114e.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
ROM_LOAD( "mb7114e.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
ROM_LOAD( "mb7114e.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
ROM_LOAD( "mb7114e.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
ROM_LOAD( "bd01.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
ROM_LOAD( "bd02.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
ROM_LOAD( "bd03.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
ROM_LOAD( "bd04.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
ROM_END
ROM_START( bktigerb )
ROM_REGION( 0x50000, REGION_CPU1, 0 ) /* 64k for code + banked ROMs images */
ROM_LOAD( "btiger1.f6", 0x00000, 0x08000, CRC(9d8464e8) SHA1(c847ee9a22b8b636e85427214747e6bd779023e8) ) /* CODE */
ROM_LOAD( "blktiger.6e", 0x10000, 0x10000, CRC(7bef96e8) SHA1(6d05a73d8400dead78c561b904bf6ef8311e7b91) ) /* 0+1 */
ROM_LOAD( "bdu-02a.6e", 0x10000, 0x10000, CRC(7bef96e8) SHA1(6d05a73d8400dead78c561b904bf6ef8311e7b91) ) /* 0+1 */
ROM_LOAD( "btiger3.j6", 0x20000, 0x10000, CRC(52c56ed1) SHA1(b6ea61869dcfcedb8cfc14c613440e3f4649866f) ) /* 2+3 */
ROM_LOAD( "blktiger.9e", 0x30000, 0x10000, CRC(ed6af6ec) SHA1(bed303c51bcddf233ad0701306d557a60ce9f5a5) ) /* 4+5 */
ROM_LOAD( "blktiger.10e", 0x40000, 0x10000, CRC(ae59b72e) SHA1(6e72214b71f2f337af236c8be891a18570cb6fbb) ) /* 6+7 */
ROM_LOAD( "db-04.9e", 0x30000, 0x10000, CRC(ed6af6ec) SHA1(bed303c51bcddf233ad0701306d557a60ce9f5a5) ) /* 4+5 */
ROM_LOAD( "db-05.10e", 0x40000, 0x10000, CRC(ae59b72e) SHA1(6e72214b71f2f337af236c8be891a18570cb6fbb) ) /* 6+7 */
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for the audio CPU */
ROM_LOAD( "blktiger.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
ROM_REGION( 0x10000, REGION_CPU2, 0 )
ROM_LOAD( "bd-06.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
ROM_LOAD( "blktiger.2n", 0x00000, 0x08000, CRC(70175d78) SHA1(2f02be2785d1824002145ea20db79821d0393929) ) /* characters */
ROM_LOAD( "bd-15.2n", 0x00000, 0x08000, CRC(70175d78) SHA1(2f02be2785d1824002145ea20db79821d0393929) ) /* characters */
ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
ROM_LOAD( "blktiger.5b", 0x00000, 0x10000, CRC(c4524993) SHA1(9aa6c58004ca1117e5ac44ba8fc51e9128b921b8) ) /* tiles */
ROM_LOAD( "blktiger.4b", 0x10000, 0x10000, CRC(7932c86f) SHA1(b3b1bc1e2b0db5c2eb8772f8a2c35129cc80d511) )
ROM_LOAD( "blktiger.9b", 0x20000, 0x10000, CRC(dc49593a) SHA1(e4ef42ba9f238fd43c8217657c92896f31d3912c) )
ROM_LOAD( "blktiger.8b", 0x30000, 0x10000, CRC(7ed7a122) SHA1(3acc6d4c9731db0609c2e26e3bd255847149ca33) )
ROM_LOAD( "bd-12.5b", 0x00000, 0x10000, CRC(c4524993) SHA1(9aa6c58004ca1117e5ac44ba8fc51e9128b921b8) ) /* tiles */
ROM_LOAD( "bd-11.4b", 0x10000, 0x10000, CRC(7932c86f) SHA1(b3b1bc1e2b0db5c2eb8772f8a2c35129cc80d511) )
ROM_LOAD( "bd-14.9b", 0x20000, 0x10000, CRC(dc49593a) SHA1(e4ef42ba9f238fd43c8217657c92896f31d3912c) )
ROM_LOAD( "bd-13.8b", 0x30000, 0x10000, CRC(7ed7a122) SHA1(3acc6d4c9731db0609c2e26e3bd255847149ca33) )
ROM_REGION( 0x40000, REGION_GFX3, ROMREGION_DISPOSE )
ROM_LOAD( "blktiger.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
ROM_LOAD( "blktiger.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
ROM_LOAD( "blktiger.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
ROM_LOAD( "blktiger.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
ROM_LOAD( "bd-08.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
ROM_LOAD( "bd-07.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
ROM_LOAD( "bd-10.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
ROM_LOAD( "bd-09.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
ROM_REGION( 0x0400, REGION_PROMS, 0 ) /* PROMs (function unknown) */
ROM_LOAD( "mb7114e.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
ROM_LOAD( "mb7114e.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
ROM_LOAD( "mb7114e.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
ROM_LOAD( "mb7114e.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
ROM_LOAD( "bd01.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
ROM_LOAD( "bd02.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
ROM_LOAD( "bd03.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
ROM_LOAD( "bd04.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
ROM_END
ROM_START( blkdrgon )
@@ -380,8 +380,8 @@ ROM_START( blkdrgon )
ROM_LOAD( "blkdrgon.9e", 0x30000, 0x10000, CRC(4d1d6680) SHA1(e137624c59392de6aaffeded99b024938360bd25) ) /* 4+5 */
ROM_LOAD( "blkdrgon.10e", 0x40000, 0x10000, CRC(c8d0c45e) SHA1(66c2e5a74c5875a2c8e28740fe944bd943246ce5) ) /* 6+7 */
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for the audio CPU */
ROM_LOAD( "blktiger.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
ROM_REGION( 0x10000, REGION_CPU2, 0 )
ROM_LOAD( "bd-06.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
ROM_LOAD( "blkdrgon.2n", 0x00000, 0x08000, CRC(3821ab29) SHA1(576f1839f63b0cad6b851d6e6a3e9dec21ac811d) ) /* characters */
@@ -393,54 +393,54 @@ ROM_START( blkdrgon )
ROM_LOAD( "blkdrgon.8b", 0x30000, 0x10000, CRC(5b0df8ce) SHA1(57d10b48bd61b0224ce21b36bde8d2479e8e5df4) )
ROM_REGION( 0x40000, REGION_GFX3, ROMREGION_DISPOSE )
ROM_LOAD( "blktiger.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
ROM_LOAD( "blktiger.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
ROM_LOAD( "blktiger.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
ROM_LOAD( "blktiger.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
ROM_LOAD( "bd-08.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
ROM_LOAD( "bd-07.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
ROM_LOAD( "bd-10.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
ROM_LOAD( "bd-09.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
ROM_REGION( 0x0400, REGION_PROMS, 0 ) /* PROMs (function unknown) */
ROM_LOAD( "mb7114e.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
ROM_LOAD( "mb7114e.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
ROM_LOAD( "mb7114e.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
ROM_LOAD( "mb7114e.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
ROM_LOAD( "bd01.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
ROM_LOAD( "bd02.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
ROM_LOAD( "bd03.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
ROM_LOAD( "bd04.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
ROM_END
ROM_START( blkdrgnb )
ROM_START( blkdrgonb )
ROM_REGION( 0x50000, REGION_CPU1, 0 ) /* 64k for code + banked ROMs images */
ROM_LOAD( "j1-5e", 0x00000, 0x08000, CRC(97e84412) SHA1(70a1add634750257d8f41a834d930919ce29c9fa) ) /* CODE */
ROM_LOAD( "a1", 0x00000, 0x08000, CRC(7caf2ba0) SHA1(57b17caff67d36b24075f5865d433bfc8bcc9bc2) ) /* CODE */
ROM_LOAD( "blkdrgon.6e", 0x10000, 0x10000, CRC(7d39c26f) SHA1(562a3f578e109ae020f65e341c876ad7e510a311) ) /* 0+1 */
ROM_LOAD( "j3-8e", 0x20000, 0x10000, CRC(f4cd0f39) SHA1(9efc5161c861c7ec8ae72509e71c6d7b71b22fc6) ) /* 2+3 */
ROM_LOAD( "a3", 0x20000, 0x10000, CRC(f4cd0f39) SHA1(9efc5161c861c7ec8ae72509e71c6d7b71b22fc6) ) /* 2+3 */
ROM_LOAD( "blkdrgon.9e", 0x30000, 0x10000, CRC(4d1d6680) SHA1(e137624c59392de6aaffeded99b024938360bd25) ) /* 4+5 */
ROM_LOAD( "blkdrgon.10e", 0x40000, 0x10000, CRC(c8d0c45e) SHA1(66c2e5a74c5875a2c8e28740fe944bd943246ce5) ) /* 6+7 */
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for the audio CPU */
ROM_LOAD( "blktiger.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
ROM_REGION( 0x10000, REGION_CPU2, 0 )
ROM_LOAD( "bd-06.1l", 0x0000, 0x8000, CRC(2cf54274) SHA1(87df100c65999ba1e9d358ffd0fe4bba23ae0efb) )
ROM_REGION( 0x08000, REGION_GFX1, ROMREGION_DISPOSE )
ROM_LOAD( "j15-2n", 0x00000, 0x08000, CRC(852ad2b7) SHA1(9f30c0d7e1127589b03d8f45ea50e0f907181a4b) ) /* characters */
ROM_LOAD( "b5", 0x00000, 0x08000, CRC(852ad2b7) SHA1(9f30c0d7e1127589b03d8f45ea50e0f907181a4b) ) /* characters */
ROM_REGION( 0x40000, REGION_GFX2, ROMREGION_DISPOSE )
ROM_LOAD( "blkdrgon.5b", 0x00000, 0x10000, CRC(22d0a4b0) SHA1(f9402ea9ffedcb280497a63c5eb352de9d4ca3fd) ) /* tiles */
ROM_LOAD( "j11-4b", 0x10000, 0x10000, CRC(053ab15c) SHA1(f0ddc71009ab5dd69ae463c3636ec2332c0556f8) )
ROM_LOAD( "b1", 0x10000, 0x10000, CRC(053ab15c) SHA1(f0ddc71009ab5dd69ae463c3636ec2332c0556f8) )
ROM_LOAD( "blkdrgon.9b", 0x20000, 0x10000, CRC(9498c378) SHA1(841934ddef724faf04162c4be4aea1684d8d8e0f) )
ROM_LOAD( "j13-8b", 0x30000, 0x10000, CRC(663d5afa) SHA1(e03c09c07cf92b7fdd2582824cf698f30e89f72d) )
ROM_LOAD( "b3", 0x30000, 0x10000, CRC(9dc6e943) SHA1(0818c1fb2cc8ff403a479457b268bba6ec0730bc) )
ROM_REGION( 0x40000, REGION_GFX3, ROMREGION_DISPOSE )
ROM_LOAD( "blktiger.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
ROM_LOAD( "blktiger.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
ROM_LOAD( "blktiger.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
ROM_LOAD( "blktiger.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
ROM_LOAD( "bd-08.5a", 0x00000, 0x10000, CRC(e2f17438) SHA1(3e5fdae07d40febedc59c7c7c4d9c6f0d72b58b5) ) /* sprites */
ROM_LOAD( "bd-07.4a", 0x10000, 0x10000, CRC(5fccbd27) SHA1(33c55aa9c12b3121ca5c3b4c39a9b152b6946461) )
ROM_LOAD( "bd-10.9a", 0x20000, 0x10000, CRC(fc33ccc6) SHA1(d492626a88565c2626f98ecb1d74535f1ad68e4c) )
ROM_LOAD( "bd-09.8a", 0x30000, 0x10000, CRC(f449de01) SHA1(f6b40e9eb2471b89c42ab84f4214295d284db0c3) )
ROM_REGION( 0x0400, REGION_PROMS, 0 ) /* PROMs (function unknown) */
ROM_LOAD( "mb7114e.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
ROM_LOAD( "mb7114e.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
ROM_LOAD( "mb7114e.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
ROM_LOAD( "mb7114e.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
ROM_LOAD( "bd01.8j", 0x0000, 0x0100, CRC(29b459e5) SHA1(0034734a533df3dea16b7b48e072485d7f26f850) )
ROM_LOAD( "bd02.9j", 0x0100, 0x0100, CRC(8b741e66) SHA1(6c1fda59936a7217b05949f5c54b1f91f4b49dbe) )
ROM_LOAD( "bd03.11k", 0x0200, 0x0100, CRC(27201c75) SHA1(c54d87f06bfe0b0908389c005014d97156e272c2) )
ROM_LOAD( "bd04.11l", 0x0300, 0x0100, CRC(e5490b68) SHA1(40f9f92efe7dd97b49144aec02eb509834056915) )
ROM_END
GAME( 1987, blktiger, 0, blktiger, blktiger, 0, ROT0, "Capcom", "Black Tiger" )
GAME( 1987, bktigerb, blktiger, blktiger, blktiger, 0, ROT0, "bootleg", "Black Tiger (bootleg)" )
GAME( 1987, blkdrgon, blktiger, blktiger, blktiger, 0, ROT0, "Capcom", "Black Dragon" )
GAME( 1987, blkdrgnb, blktiger, blktiger, blktiger, 0, ROT0, "bootleg", "Black Dragon (bootleg)" )
GAME( 1987, blktiger, 0, blktiger, blktiger, 0, ROT0, "Capcom", "Black Tiger" )
GAME( 1987, bktigerb, blktiger, blktiger, blktiger, 0, ROT0, "bootleg", "Black Tiger (bootleg)" )
GAME( 1987, blkdrgon, blktiger, blktiger, blktiger, 0, ROT0, "Capcom", "Black Dragon" )
GAME( 1987, blkdrgonb, blktiger, blktiger, blktiger, 0, ROT0, "bootleg", "Black Dragon (bootleg)" )
+36 -36
View File
@@ -199,16 +199,15 @@ INPUT_PORTS_START( brkthru )
PORT_DIPSETTING( 0x03, "3" )
PORT_DIPSETTING( 0x01, "5" )
PORT_BITX(0, 0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "99", IP_KEY_NONE, IP_JOY_NONE )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x00, "20000 Points Only" )
PORT_DIPSETTING( 0x04, "10000/20000 Points" )
PORT_DIPSETTING( 0x0c, "20000/30000 Points" )
PORT_DIPSETTING( 0x08, "20000/40000 Points" )
PORT_DIPNAME( 0x10, 0x10, "Allow Continue" )
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x10, DEF_STR( Yes ) )
PORT_BIT_IMPULSE( 0x20, IP_ACTIVE_LOW, IPT_COIN1, 2 )
PORT_BIT_IMPULSE( 0x20, IP_ACTIVE_LOW, IPT_COIN1, 2 ) /* Manual says Pitcure Flip=On, Normal=Off */
PORT_BIT_IMPULSE( 0x40, IP_ACTIVE_LOW, IPT_COIN2, 2 )
PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1, 2 )
@@ -223,17 +222,18 @@ INPUT_PORTS_START( brkthru )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, "Upright 1 Player" )
PORT_DIPSETTING( 0x40, "Upright 2 Players" )
/* PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) */ /* "Cocktail 1 Player" - IMPOSSIBLE !*/
PORT_DIPSETTING( 0xc0, DEF_STR( Cocktail ) ) /* "Cocktail 2 Players"*/
PORT_DIPNAME( 0x10, 0x10, "Enemy Vehicles" )
PORT_DIPSETTING( 0x10, "Slow" )
PORT_DIPSETTING( 0x00, "Fast" )
PORT_DIPNAME( 0x20, 0x20, "Enemy Bullets" )
PORT_DIPSETTING( 0x20, "Slow" )
PORT_DIPSETTING( 0x00, "Fast" )
PORT_DIPNAME( 0x40, 0x00, "Control Panel" )
PORT_DIPSETTING( 0x40, DEF_STR( Upright ) ) /* 1 Player */
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) /* 2 Players */
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Cocktail ) )
INPUT_PORTS_END
INPUT_PORTS_START( brkthruj )
@@ -263,14 +263,13 @@ INPUT_PORTS_START( brkthruj )
PORT_DIPSETTING( 0x03, "3" )
PORT_DIPSETTING( 0x01, "5" )
PORT_BITX(0, 0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "99", IP_KEY_NONE, IP_JOY_NONE )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x00, "20000 Points Only" )
PORT_DIPSETTING( 0x04, "10000/20000 Points" )
PORT_DIPSETTING( 0x0c, "20000/30000 Points" )
PORT_DIPSETTING( 0x08, "20000/40000 Points" )
PORT_SERVICE( 0x10, IP_ACTIVE_LOW )
PORT_BIT_IMPULSE( 0x20, IP_ACTIVE_LOW, IPT_COIN1, 2 )
PORT_BIT_IMPULSE( 0x20, IP_ACTIVE_LOW, IPT_COIN1, 2 ) /* Manual says Pitcure Flip=On, Normal=Off */
PORT_BIT_IMPULSE( 0x40, IP_ACTIVE_LOW, IPT_COIN2, 2 )
PORT_BIT_IMPULSE( 0x80, IP_ACTIVE_LOW, IPT_SERVICE1, 2 )
@@ -285,17 +284,18 @@ INPUT_PORTS_START( brkthruj )
PORT_DIPSETTING( 0x0c, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x08, DEF_STR( 1C_2C ) )
PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, "Upright 1 Player" )
PORT_DIPSETTING( 0x40, "Upright 2 Players" )
/* PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) */ /* "Cocktail 1 Player" - IMPOSSIBLE !*/
PORT_DIPSETTING( 0xc0, DEF_STR( Cocktail ) ) /* "Cocktail 2 Players"*/
PORT_DIPNAME( 0x10, 0x10, "Enemy Vehicles" )
PORT_DIPSETTING( 0x10, "Slow" )
PORT_DIPSETTING( 0x00, "Fast" )
PORT_DIPNAME( 0x20, 0x20, "Enemy Bullets" )
PORT_DIPSETTING( 0x20, "Slow" )
PORT_DIPSETTING( 0x00, "Fast" )
PORT_DIPNAME( 0x40, 0x00, "Control Panel" )
PORT_DIPSETTING( 0x40, DEF_STR( Upright ) ) /* 1 Player */
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) /* 2 Players */
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x80, DEF_STR( Upright ) )
PORT_DIPSETTING( 0xc0, DEF_STR( Cocktail ) )
INPUT_PORTS_END
INPUT_PORTS_START( darwin )
+315 -32
View File
@@ -1,5 +1,8 @@
/***************************************************************************
Bubble Bobble / Tokio
Tokio (c) 1986 Taito
Bubble Bobble (c) 1986 Taito
driver by Chris Moore, Nicola Salmoria
also based on Tokio driver by Marcelo de G. Malheiros <malheiro@dca.fee.unicamp.br>
Main clock: XTAL = 24 MHz
Horizontal video frequency: HSYNC = XTAL/4/384 = 15.625 kHz
@@ -134,6 +137,7 @@ CPU 3
#include "driver.h"
#include "vidhrdw/generic.h"
#include "cpu/m6805/m6805.h"
static int ddr1, ddr2, ddr3, ddr4;
static int port1_in, port2_in, port3_in, port4_in;
@@ -161,7 +165,6 @@ WRITE_HANDLER( bublbobl_bankswitch_w );
WRITE_HANDLER( tokio_bankswitch_w );
WRITE_HANDLER( tokio_videoctrl_w );
WRITE_HANDLER( bublbobl_nmitrigger_w );
READ_HANDLER( tokio_fake_r );
WRITE_HANDLER( bublbobl_sound_command_w );
WRITE_HANDLER( bublbobl_sh_nmi_disable_w );
WRITE_HANDLER( bublbobl_sh_nmi_enable_w );
@@ -278,6 +281,122 @@ WRITE_HANDLER( bublbobl_mcu_port4_w )
port4_out = data;
}
/* tokio mcu */
READ_HANDLER ( tokio_68705_portA_r );
WRITE_HANDLER( tokio_68705_portA_w );
READ_HANDLER ( tokio_68705_portB_r );
WRITE_HANDLER( tokio_68705_portB_w );
READ_HANDLER ( tokio_68705_portC_r );
WRITE_HANDLER( tokio_68705_portC_w );
WRITE_HANDLER( tokio_68705_ddrA_w );
WRITE_HANDLER( tokio_68705_ddrB_w );
WRITE_HANDLER( tokio_68705_ddrC_w );
WRITE_HANDLER( tokio_mcu_w );
READ_HANDLER ( tokio_mcu_r );
READ_HANDLER ( tokio_mcu_status_r );
READ_HANDLER ( tokio_fake_r ); /* faked mcu commands for bootleg */
static unsigned char from_main,from_mcu;
static int mcu_sent = 0,main_sent = 0;
static unsigned char portA_in,portA_out,ddrA;
static unsigned char portB_in,portB_out,ddrB;
static unsigned char portC_in,portC_out,ddrC;
READ_HANDLER( tokio_68705_portA_r )
{
return (portA_out & ddrA) | (portA_in & ~ddrA);
}
WRITE_HANDLER( tokio_68705_portA_w )
{
portA_out = data;
}
WRITE_HANDLER( tokio_68705_ddrA_w )
{
ddrA = data;
}
READ_HANDLER( tokio_68705_portB_r )
{
return (portB_out & ddrB) | (portB_in & ~ddrB);
}
WRITE_HANDLER( tokio_68705_portB_w )
{
if ((ddrB & 0x02) && (~data & 0x02) && (portB_out & 0x02))
{
portA_in = from_main;
if (main_sent) cpu_set_irq_line(3,0,CLEAR_LINE);
main_sent = 0;
}
if ((ddrB & 0x04) && (data & 0x04) && (~portB_out & 0x04))
{
from_mcu = portA_out;
mcu_sent = 1;
}
portB_out = data;
}
WRITE_HANDLER( tokio_68705_ddrB_w )
{
ddrB = data;
}
READ_HANDLER( tokio_68705_portC_r )
{
data8_t ret = 0;
if (!main_sent)
ret |= 0x01;
if (mcu_sent)
ret |= 0x02;
ret ^= 0x3; /* inverted logic compared to tigerh */
return ret;
}
WRITE_HANDLER( tokio_68705_portC_w )
{
portC_out = data;
}
WRITE_HANDLER( tokio_68705_ddrC_w )
{
ddrC = data;
}
WRITE_HANDLER( tokio_mcu_w )
{
from_main = data;
main_sent = 1;
cpu_set_irq_line(3,0,ASSERT_LINE);
}
READ_HANDLER( tokio_mcu_r )
{
mcu_sent = 0;
return from_mcu;
}
READ_HANDLER( tokio_mcu_status_r )
{
int res = input_port_2_r(0);
res &= ~0x30; /* clear 3 bits in top nibble to make room for mcu status */
if (!main_sent)
res |= 0x10;
if (!mcu_sent)
res |= 0x20;
return res;
}
static MEMORY_READ_START( bublbobl_readmem )
{ 0x0000, 0x7fff, MRA_ROM },
@@ -393,6 +512,35 @@ MEMORY_END
static MEMORY_READ_START( tokio_readmem )
{ 0x0000, 0x7fff, MRA_ROM },
{ 0x8000, 0xbfff, MRA_BANK1 },
{ 0xc000, 0xdfff, MRA_RAM },
{ 0xe000, 0xf7ff, bublbobl_sharedram1_r },
{ 0xf800, 0xf9ff, paletteram_r },
{ 0xfa03, 0xfa03, input_port_0_r },
{ 0xfa04, 0xfa04, input_port_1_r },
{ 0xfa05, 0xfa05, tokio_mcu_status_r }, /* M68705 commands */
{ 0xfa06, 0xfa06, input_port_3_r },
{ 0xfa07, 0xfa07, input_port_4_r },
{ 0xfe00, 0xfe00, tokio_mcu_r },
MEMORY_END
static MEMORY_WRITE_START( tokio_writemem )
{ 0x0000, 0xbfff, MWA_ROM },
{ 0xc000, 0xdcff, MWA_RAM, &videoram, &videoram_size },
{ 0xdd00, 0xdfff, MWA_RAM, &bublbobl_objectram, &bublbobl_objectram_size },
{ 0xe000, 0xf7ff, bublbobl_sharedram1_w, &bublbobl_sharedram1 },
{ 0xf800, 0xf9ff, paletteram_RRRRGGGGBBBBxxxx_swap_w, &paletteram },
{ 0xfa00, 0xfa00, MWA_NOP },
{ 0xfa80, 0xfa80, tokio_bankswitch_w },
{ 0xfb00, 0xfb00, tokio_videoctrl_w },
{ 0xfb80, 0xfb80, bublbobl_nmitrigger_w },
{ 0xfc00, 0xfc00, bublbobl_sound_command_w },
{ 0xfe00, 0xfe00, tokio_mcu_w },
MEMORY_END
/* bootleg uses fake mcu hookup */
static MEMORY_READ_START( tokiob_readmem )
{ 0x0000, 0x7fff, MRA_ROM },
{ 0x8000, 0xbfff, MRA_BANK1 },
{ 0xc000, 0xdfff, MRA_RAM },
@@ -406,7 +554,7 @@ static MEMORY_READ_START( tokio_readmem )
{ 0xfe00, 0xfe00, tokio_fake_r },
MEMORY_END
static MEMORY_WRITE_START( tokio_writemem )
static MEMORY_WRITE_START( tokiob_writemem )
{ 0x0000, 0xbfff, MWA_ROM },
{ 0xc000, 0xdcff, MWA_RAM, &videoram, &videoram_size },
{ 0xdd00, 0xdfff, MWA_RAM, &bublbobl_objectram, &bublbobl_objectram_size },
@@ -434,24 +582,41 @@ static MEMORY_READ_START( tokio_sound_readmem )
{ 0x0000, 0x7fff, MRA_ROM },
{ 0x8000, 0x8fff, MRA_RAM },
{ 0x9000, 0x9000, soundlatch_r },
/* { 0x9800, 0x9800, MRA_NOP }, // ??? /*/
{ 0x9800, 0x9800, MRA_NOP }, /* ??? */
{ 0xb000, 0xb000, YM2203_status_port_0_r },
{ 0xb001, 0xb001, YM2203_read_port_0_r },
{ 0xe000, 0xefff, MRA_ROM }, /* space for diagnostic ROM? */
{ 0xe000, 0xffff, MRA_ROM }, /* space for diagnostic ROM? */
MEMORY_END
static MEMORY_WRITE_START( tokio_sound_writemem )
{ 0x0000, 0x7fff, MWA_ROM },
{ 0x8000, 0x8fff, MWA_RAM },
/* { 0x9000, 0x9000, MWA_NOP }, // ??? /*/
{ 0x9000, 0x9000, MWA_NOP }, /* ??? */
{ 0xa000, 0xa000, bublbobl_sh_nmi_disable_w },
{ 0xa800, 0xa800, bublbobl_sh_nmi_enable_w },
{ 0xb000, 0xb000, YM2203_control_port_0_w },
{ 0xb001, 0xb001, YM2203_write_port_0_w },
{ 0xe000, 0xefff, MWA_ROM }, /* space for diagnostic ROM? */
{ 0xe000, 0xffff, MWA_ROM }, /* space for diagnostic ROM? */
MEMORY_END
static MEMORY_READ_START( tokio_m68705_readmem )
{ 0x0000, 0x0000, tokio_68705_portA_r },
{ 0x0001, 0x0001, tokio_68705_portB_r },
{ 0x0002, 0x0002, tokio_68705_portC_r },
{ 0x0010, 0x007f, MRA_RAM },
{ 0x0080, 0x07ff, MRA_ROM },
MEMORY_END
static MEMORY_WRITE_START( tokio_m68705_writemem )
{ 0x0000, 0x0000, tokio_68705_portA_w },
{ 0x0001, 0x0001, tokio_68705_portB_w },
{ 0x0002, 0x0002, tokio_68705_portC_w },
{ 0x0004, 0x0004, tokio_68705_ddrA_w },
{ 0x0005, 0x0005, tokio_68705_ddrB_w },
{ 0x0006, 0x0006, tokio_68705_ddrC_w },
{ 0x0010, 0x007f, MWA_RAM },
{ 0x0080, 0x07ff, MWA_ROM },
MEMORY_END
INPUT_PORTS_START( bublbobl )
PORT_START /* IN0 */
@@ -763,16 +928,96 @@ INPUT_PORTS_START( tokio )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
PORT_START /* DSW1 */
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x03, "Easy" )
PORT_DIPSETTING( 0x02, "Medium" )
PORT_DIPSETTING( 0x01, "Hard" )
PORT_DIPSETTING( 0x00, "Hardest" )
PORT_DIPNAME( 0x0c, 0x08, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x0C, "100000 400000" )
PORT_DIPSETTING( 0x08, "200000 400000" )
PORT_DIPSETTING( 0x04, "300000 400000" )
PORT_DIPSETTING( 0x00, "400000 400000" )
PORT_DIPNAME( 0x01, 0x01, "Enemies" )
PORT_DIPSETTING( 0x01, "Few (Easy)" )
PORT_DIPSETTING( 0x00, "Many (Hard)" )
PORT_DIPNAME( 0x02, 0x02, "Enemy Shots" )
PORT_DIPSETTING( 0x02, "Few (Easy)" )
PORT_DIPSETTING( 0x00, "Many (Hard)" )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x0c, "100K 400K" )
PORT_DIPSETTING( 0x08, "200K 400K" )
PORT_DIPSETTING( 0x04, "300K 400K" )
PORT_DIPSETTING( 0x00, "400K 400K" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x30, "3" )
PORT_DIPSETTING( 0x20, "4" )
PORT_DIPSETTING( 0x10, "5" )
PORT_BITX( 0, 0x00, IPT_DIPSWITCH_SETTING | IPF_CHEAT, "99", IP_KEY_NONE, IP_JOY_NONE )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x00, "Language" )
PORT_DIPSETTING( 0x00, "English" )
PORT_DIPSETTING( 0x80, "Japanese" )
PORT_START /* IN0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_COIN1 )
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_COIN2 )
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* M68705 commands */
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* M68705 commands */
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN2 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
/* bootleg no mcu */
INPUT_PORTS_START( tokiob )
PORT_START /* DSW0 */
PORT_DIPNAME( 0x01, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x01, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_SERVICE( 0x04, IP_ACTIVE_LOW )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, DEF_STR( On ) )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Coin_A ) )
PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0x30, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) )
PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Coin_B ) )
PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) )
PORT_DIPSETTING( 0xc0, DEF_STR( 1C_1C ) )
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
PORT_START /* DSW1 */
PORT_DIPNAME( 0x01, 0x01, "Enemies" )
PORT_DIPSETTING( 0x01, "Few (Easy)" )
PORT_DIPSETTING( 0x00, "Many (Hard)" )
PORT_DIPNAME( 0x02, 0x02, "Enemy Shots" )
PORT_DIPSETTING( 0x02, "Few (Easy)" )
PORT_DIPSETTING( 0x00, "Many (Hard)" )
PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x0c, "100K 400K" )
PORT_DIPSETTING( 0x08, "200K 400K" )
PORT_DIPSETTING( 0x04, "300K 400K" )
PORT_DIPSETTING( 0x00, "400K 400K" )
PORT_DIPNAME( 0x30, 0x30, DEF_STR( Lives ) )
PORT_DIPSETTING( 0x30, "3" )
PORT_DIPSETTING( 0x20, "4" )
@@ -796,20 +1041,20 @@ INPUT_PORTS_START( tokio )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_2WAY )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_2WAY )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN2 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_COCKTAIL )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_COCKTAIL )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_2WAY | IPF_COCKTAIL )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_2WAY | IPF_COCKTAIL )
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START2 )
@@ -817,7 +1062,6 @@ INPUT_PORTS_START( tokio )
INPUT_PORTS_END
static struct GfxLayout charlayout =
{
8,8, /* the characters are 8x8 pixels */
@@ -871,7 +1115,7 @@ static struct YM2203interface tokio_ym2203_interface =
{
1, /* 1 chip */
MAIN_XTAL/8, /* 3 MHz */
{ YM2203_VOL(100,20) },
{ YM2203_VOL(100,10) },
{ 0 },
{ 0 },
{ 0 },
@@ -963,6 +1207,45 @@ static MACHINE_DRIVER_START( tokio )
MDRV_CPU_MEMORY(tokio_readmem2,tokio_writemem2)
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
MDRV_CPU_ADD(Z80, MAIN_XTAL/8)
MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 3 MHz */
MDRV_CPU_MEMORY(tokio_sound_readmem,tokio_sound_writemem)
/* NMIs are triggered by the main CPU */
/* IRQs are triggered by the YM2203 */
MDRV_CPU_ADD(M68705, MAIN_XTAL/8) /* 3 MHz */
MDRV_CPU_MEMORY(tokio_m68705_readmem,tokio_m68705_writemem)
MDRV_FRAMES_PER_SECOND(60)
MDRV_VBLANK_DURATION(DEFAULT_60HZ_VBLANK_DURATION) /* frames/second, vblank duration */
MDRV_INTERLEAVE(100) /* 100 CPU slices per frame - an high value to ensure proper */
/* synchronization of the CPUs */
/* video hardware */
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
MDRV_SCREEN_SIZE(32*8, 32*8)
MDRV_VISIBLE_AREA(0, 32*8-1, 2*8, 30*8-1)
MDRV_GFXDECODE(gfxdecodeinfo)
MDRV_PALETTE_LENGTH(256)
MDRV_VIDEO_UPDATE(bublbobl)
/* sound hardware */
MDRV_SOUND_ADD(YM2203, tokio_ym2203_interface)
MACHINE_DRIVER_END
/* Bubble Bobble Prototype - Tokio bootleg hookup no mcu */
static MACHINE_DRIVER_START( tokiob )
/* basic machine hardware */
MDRV_CPU_ADD(Z80, MAIN_XTAL/4) /* 6 MHz */
MDRV_CPU_MEMORY(tokiob_readmem,tokiob_writemem)
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
MDRV_CPU_ADD(Z80, MAIN_XTAL/4) /* 6 MHz */
MDRV_CPU_MEMORY(tokio_readmem2,tokio_writemem2)
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
MDRV_CPU_ADD(Z80, MAIN_XTAL/8)
MDRV_CPU_FLAGS(CPU_AUDIO_CPU) /* 3 MHz */
MDRV_CPU_MEMORY(tokio_sound_readmem,tokio_sound_writemem)
@@ -1364,8 +1647,8 @@ ROM_START( tokio )
ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* audio CPU */
ROM_LOAD( "a71-07.256", 0x0000, 0x08000, CRC(f298cc7b) SHA1(ebf5c804aa07b7f198ec3e1f8d1e111cd89ebdf3) )
ROM_REGION( 0x0800, REGION_CPU4, 0 ) /* 2k for the microcontroller */
ROM_LOAD( "68705.bin", 0x0000, 0x0800, NO_DUMP )
ROM_REGION( 0x0800, REGION_CPU4, 0 ) /* 2k for the microcontroller */
ROM_LOAD( "a71__24.ic57", 0x0000, 0x0800, CRC(0f4b25de) SHA1(e2d82aa8d8cc6a86aaf5715ef9cb62f526fd5b11) )
ROM_REGION( 0x80000, REGION_GFX1, ROMREGION_DISPOSE | ROMREGION_INVERT )
ROM_LOAD( "a71-08.256", 0x00000, 0x8000, CRC(0439ab13) SHA1(84142220a6a29f0e34f7c7c751b583bf394df8ce) ) /* 1st plane */
@@ -1470,11 +1753,11 @@ GAME( 1986, bublbobl, 0, bublbobl, bublbobl, bublbobl, ROT0, "Taito Corp
GAME( 1986, bublbob1, bublbobl, bublbobl, bublbobl, bublbobl, ROT0, "Taito Corporation", "Bubble Bobble (older)" )
GAME( 1986, bublbobr, bublbobl, bublbobl, bublbobl, bublbobl, ROT0, "Taito America Corporation (Romstar license)", "Bubble Bobble (US with mode select)" )
GAME( 1986, bubbobr1, bublbobl, bublbobl, bublbobl, bublbobl, ROT0, "Taito America Corporation (Romstar license)", "Bubble Bobble (US)" )
GAME( 1986, bublboblp,bublbobl, tokio, bublboblp,bublbobl, ROT0, "Taito Corporation", "Bubble Bobble (prototype on Tokio hardware)" )
GAME( 1986, bublboblp,bublbobl, tokiob, bublboblp,bublbobl, ROT0, "Taito Corporation", "Bubble Bobble (prototype on Tokio hardware)" )
GAME( 1986, boblbobl, bublbobl, boblbobl, boblbobl, boblbobl, ROT0, "bootleg", "Bobble Bobble" )
GAME( 1986, sboblbob, bublbobl, boblbobl, sboblbob, bublbobl, ROT0, "bootleg", "Super Bobble Bobble" )
GAMEX(1986, tokio, 0, tokio, tokio, tokio, ROT90, "Taito", "Tokio - Scramble Formation", GAME_NOT_WORKING )
GAME( 1986, tokiob, tokio, tokio, tokio, tokio, ROT90, "bootleg", "Tokio - Scramble Formation (bootleg)" )
GAME( 1986, tokio, 0, tokio, tokio, tokio, ROT90, "Taito America Corporation (Romstar license)", "Tokio / Scramble Formation (US)" )
GAME( 1986, tokiob, tokio, tokiob, tokiob, tokio, ROT90, "bootleg", "Tokio / Scramble Formation (bootleg)" )
/* hacks */
GAME( 2012, bublboblu,bublbobl, bublbobl, bublbobl, bublbobl, ROT0, "hack", "Bubble Bobble (Ultra Version)(USA)" )
+4 -4
View File
@@ -286,10 +286,10 @@ static struct GfxDecodeInfo gfxdecodeinfo[] =
const struct discrete_555_astbl_desc canyonWhistl555 =
{
DISC_555_OUT_CAP | DISC_555_OUT_AC,
5, // B+ voltage of 555
5.0 - 1.7, // High output voltage of 555 (Usually v555 - 1.7)
5.0 * 2.0 /3.0, // normally 2/3 of v555
5.0 / 3.0 // normally 1/3 of v555
5, /* B+ voltage of 555 */
5.0 - 1.7, /* High output voltage of 555 (Usually v555 - 1.7) */
5.0 * 2.0 /3.0, /* normally 2/3 of v555 */
5.0 / 3.0 /* normally 1/3 of v555 */
};
const struct discrete_lfsr_desc canyon_lfsr={
+43 -1
View File
@@ -1,4 +1,4 @@
/***************************************************************************
/****************************************************************************
-= Cave Hardware =-
@@ -261,6 +261,7 @@ static READ16_HANDLER( cave_sound_r )
***************************************************************************/
static data8_t cave_default_eeprom_type1[16] = {0x00,0x0C,0x11,0x0D,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x11,0x11,0xFF,0xFF,0xFF,0xFF}; /* DFeveron, Guwange */
static data8_t cave_default_eeprom_type1feversos[18] = {0x00,0x0C,0x16,0x27,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x11,0x11,0xFF,0xFF,0xFF,0xFF,0x05,0x19}; /* Fever SOS (code checks for the 0x0519 or it won't boot) */
static data8_t cave_default_eeprom_type2[16] = {0x00,0x0C,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; /* Esprade, DonPachi, DDonPachi */
static data8_t cave_default_eeprom_type3[16] = {0x00,0x03,0x08,0x00,0xFF,0xFF,0xFF,0xFF,0x08,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF}; /* UoPoko */
static data8_t cave_default_eeprom_type4[16] = {0xF3,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; /* Hotdog Storm */
@@ -2811,6 +2812,33 @@ ROM_START( dfeveron )
ROM_LOAD( "cv01-u19.bin", 0x000000, 0x400000, CRC(5f5514da) SHA1(53f27364aee544572a82649c9ff29bacc642b732) )
ROM_END
/***************************************************************************
Fever SOS
Board: CV01
OSC: 28.0, 16.0, 16.9 MHz
***************************************************************************/
ROM_START( feversos )
ROM_REGION( 0x100000, REGION_CPU1, 0 ) /* 68000 Code */
ROM_LOAD16_BYTE( "rom1.bin", 0x000000, 0x080000, CRC(24ef3ce6) SHA1(42799eebbb2686a837b8972aec684143deadca59) )
ROM_LOAD16_BYTE( "rom2.bin", 0x000001, 0x080000, CRC(64ff73fd) SHA1(7fc3a8469cec2361d373a4dac4a547c13ca5f709) )
ROM_REGION( 0x800000 * 2, REGION_GFX1, 0 ) /* Sprites: * 2 , do not dispose */
ROM_LOAD( "cv01-u25.bin", 0x000000, 0x400000, CRC(a6f6a95d) SHA1(e1eb45cb5d0e6163edfd9d830633b913fb53c6ca) )
ROM_LOAD( "cv01-u26.bin", 0x400000, 0x400000, CRC(32edb62a) SHA1(3def74e1316b80cc25a8c3ac162cd7bcb8cc807c) )
ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE ) /* Layer 0 */
ROM_LOAD( "cv01-u50.bin", 0x000000, 0x200000, CRC(7a344417) SHA1(828bd8f95d2fcc34407e17629ccafc904a4ea12d) )
ROM_REGION( 0x200000, REGION_GFX3, ROMREGION_DISPOSE ) /* Layer 1 */
ROM_LOAD( "cv01-u49.bin", 0x000000, 0x200000, CRC(d21cdda7) SHA1(cace4650de580c3c4a037f1f5c32bfc1846b383c) )
ROM_REGION( 0x400000, REGION_SOUND1, ROMREGION_SOUNDONLY ) /* Samples */
ROM_LOAD( "cv01-u19.bin", 0x000000, 0x400000, CRC(5f5514da) SHA1(53f27364aee544572a82649c9ff29bacc642b732) )
ROM_END
/***************************************************************************
@@ -3875,6 +3903,18 @@ DRIVER_INIT( dfeveron )
time_vblank_irq = 100;
}
DRIVER_INIT( feversos )
{
cave_default_eeprom = cave_default_eeprom_type1feversos;
cave_default_eeprom_length = sizeof(cave_default_eeprom_type1feversos);
cave_region_byte = -1;
unpack_sprites();
cave_spritetype = 0; /* "normal" sprites */
cave_kludge = 2;
time_vblank_irq = 100;
}
DRIVER_INIT( ddonpach )
{
cave_default_eeprom = cave_default_eeprom_type2;
@@ -4122,6 +4162,7 @@ GAME( 1997, ddonpach, 0, ddonpach, cave, ddonpach, ROT270, "Atlus/Cav
GAME( 1997, ddonpchj, ddonpach, ddonpach, cave, ddonpach, ROT270, "Atlus/Cave", "DoDonPachi (Japan)" )
GAME( 2012, ddonpacha,ddonpach, ddonpach, cave, ddonpach, ROT270, "Other", "DoDonPachi (Arrange Ver. 1.1) (trap15, hack)" )
GAME( 1998, dfeveron, 0, dfeveron, cave, dfeveron, ROT270, "Cave (Nihon System license)", "Dangun Feveron (Japan)" )
GAME( 1998, feversos, dfeveron, dfeveron, cave, feversos, ROT270, "Cave (Nihon System license)", "Fever SOS (International)" )
GAME( 1998, esprade, 0, esprade, cave, esprade, ROT270, "Atlus/Cave", "ESP Ra.De. (International Ver 1998 4-22)" )
GAME( 1998, espradej, esprade, esprade, cave, esprade, ROT270, "Atlus/Cave", "ESP Ra.De. (Japan Ver 1998 4-21)" )
GAME( 1998, espradeo, esprade, esprade, cave, esprade, ROT270, "Atlus/Cave", "ESP Ra.De. (Japan Ver 1998 4-14)" )
@@ -4130,3 +4171,4 @@ GAME( 1999, guwange, 0, guwange, guwange, guwange, ROT270, "Atlus/Cav
GAME( 2000, guwanges, guwange, guwange, guwange, guwange, ROT270, "Atlus/Cave", "Guwange (Japan Special Ver 2000 7-7)" )
GAMEX(1999, gaia, 0, gaia, gaia, gaia, ROT0, "Noise Factory", "Gaia Crusaders", GAME_IMPERFECT_SOUND ) /* cuts out occasionally */
GAMEX(2001, theroes, 0, gaia, theroes, gaia, ROT0, "Primetek Investments", "Thunder Heroes", GAME_IMPERFECT_SOUND ) /* cuts out occasionally */
+196 -2
View File
@@ -5,6 +5,7 @@
Games supported:
* Centipede (5 sets)
* Warlords
* Maze Invaders (prototype)
* Millipede
Known bugs:
@@ -280,7 +281,7 @@
static int oldpos[4];
static UINT8 sign[4];
static UINT8 dsw_select;
static UINT8 dsw_select, control_select;
/*************************************
@@ -295,6 +296,9 @@ static void generate_interrupt(int scanline)
if (scanline & 16)
cpu_set_irq_line(0, 0, ((scanline - 1) & 32) ? ASSERT_LINE : CLEAR_LINE);
/* do a partial update now to handle sprite multiplexing (Maze Invaders) */
force_partial_update(scanline);
/* call back again after 16 scanlines */
scanline += 16;
if (scanline >= 256)
@@ -393,6 +397,22 @@ static WRITE_HANDLER( input_select_w )
dsw_select = (~data >> 7) & 1;
}
/* used P2 controls if 1, P1 controls if 0 */
static WRITE_HANDLER( control_select_w )
{
control_select = (data >> 7) & 1;
}
static READ_HANDLER( mazeinv_input_r )
{
return readinputport(6 + control_select);
}
static WRITE_HANDLER( mazeinv_input_select_w )
{
control_select = offset & 3;
}
/*************************************
@@ -519,6 +539,48 @@ MEMORY_END
/*************************************
*
* Maze Invaders CPU memory handlers
*
*************************************/
static MEMORY_READ_START( mazeinv_readmem )
MEMORY_ADDRESS_BITS(15)
{ 0x0000, 0x03ff, MRA_RAM },
{ 0x0400, 0x040f, pokey1_r },
{ 0x0800, 0x080f, pokey2_r },
{ 0x1000, 0x13bf, MRA_RAM },
{ 0x13c0, 0x13ff, MRA_RAM },
{ 0x2000, 0x2000, input_port_0_r },
{ 0x2001, 0x2001, input_port_1_r },
{ 0x2010, 0x2010, input_port_2_r },
{ 0x2011, 0x2011, input_port_3_r },
{ 0x2020, 0x2020, mazeinv_input_r },
{ 0x2030, 0x2030, atari_vg_earom_r },
{ 0x3000, 0x7fff, MRA_ROM },
MEMORY_END
static MEMORY_WRITE_START( mazeinv_writemem )
MEMORY_ADDRESS_BITS(15)
{ 0x0000, 0x03ff, MWA_RAM },
{ 0x0400, 0x040f, pokey1_w },
{ 0x0800, 0x080f, pokey2_w },
{ 0x1000, 0x13bf, centiped_videoram_w, &videoram },
{ 0x13c0, 0x13ff, MWA_RAM, &spriteram },
{ 0x2480, 0x249f, mazeinv_paletteram_w, &paletteram },
{ 0x2500, 0x2502, coin_count_w },
{ 0x2503, 0x2504, led_w },
{ 0x2505, 0x2505, input_select_w },
{ 0x2506, 0x2506, centiped_flip_screen_w },
{ 0x2580, 0x2583, mazeinv_input_select_w },
{ 0x2600, 0x2600, irq_ack_w },
{ 0x2680, 0x2680, watchdog_reset_w },
{ 0x2700, 0x2700, atari_vg_earom_ctrl_w },
{ 0x2780, 0x27bf, atari_vg_earom_w },
{ 0x3000, 0x7fff, MWA_ROM },
MEMORY_END
/*************************************
*
* Millipede CPU memory handlers
@@ -877,6 +939,113 @@ INPUT_PORTS_START( magworm )
PORT_ANALOG( 0xff, 0x00, IPT_TRACKBALL_Y | IPF_COCKTAIL | IPF_REVERSE, 50, 10, 0, 0 )
INPUT_PORTS_END
INPUT_PORTS_START( mazeinv )
PORT_START /* IN0 */
PORT_DIPNAME( 0x03, 0x00, "Language")
PORT_DIPSETTING( 0x00, "English")
PORT_DIPSETTING( 0x01, "German")
PORT_DIPSETTING( 0x02, "French")
PORT_DIPSETTING( 0x03, "Spanish")
PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ))
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
PORT_DIPSETTING( 0x04, DEF_STR( On ))
PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ))
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
PORT_DIPSETTING( 0x08, DEF_STR( On ))
PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ))
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
PORT_DIPSETTING( 0x10, DEF_STR( On ))
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ))
PORT_DIPSETTING( 0x00, DEF_STR( Off ))
PORT_DIPSETTING( 0x20, DEF_STR( On ))
PORT_DIPNAME( 0x40, 0x00, "Minimum credits" )
PORT_DIPSETTING( 0x00, "1" )
PORT_DIPSETTING( 0x40, "2" )
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK )
PORT_START /* IN1 */
PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* IN2 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_TILT )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN3 )
PORT_START /* IN3 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2)
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2)
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START2 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x20, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED)
PORT_SERVICE( 0x80, IP_ACTIVE_LOW )
PORT_START /* IN4 */
PORT_DIPNAME( 0x03, 0x00, "Doors for bonus" )
PORT_DIPSETTING( 0x00, "10" )
PORT_DIPSETTING( 0x01, "12" )
PORT_DIPSETTING( 0x02, "14" )
PORT_DIPSETTING( 0x03, "16" )
PORT_DIPNAME( 0x0c, 0x04, DEF_STR( Lives ))
PORT_DIPSETTING( 0x00, "2" )
PORT_DIPSETTING( 0x04, "3" )
PORT_DIPSETTING( 0x08, "4" )
PORT_DIPSETTING( 0x0c, "5" )
PORT_DIPNAME( 0x30, 0x00, "Extra life at" )
PORT_DIPSETTING( 0x00, "20000" )
PORT_DIPSETTING( 0x10, "25000" )
PORT_DIPSETTING( 0x20, "30000" )
PORT_DIPSETTING( 0x30, "Never" )
PORT_DIPNAME( 0xc0, 0x40, DEF_STR( Difficulty ))
PORT_DIPSETTING( 0x00, "Easiest")
PORT_DIPSETTING( 0x40, "Easy")
PORT_DIPSETTING( 0x80, "Hard")
PORT_DIPSETTING( 0xc0, "Harder")
PORT_START /* IN5 */
PORT_DIPNAME( 0x03, 0x02, DEF_STR( Coinage ))
PORT_DIPSETTING( 0x03, DEF_STR( 2C_1C ))
PORT_DIPSETTING( 0x02, DEF_STR( 1C_1C ))
PORT_DIPSETTING( 0x01, DEF_STR( 1C_2C ))
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ))
PORT_DIPNAME( 0x0c, 0x00, "Coin 2" )
PORT_DIPSETTING( 0x00, "*1" )
PORT_DIPSETTING( 0x04, "*4" )
PORT_DIPSETTING( 0x08, "*5" )
PORT_DIPSETTING( 0x0c, "*6" )
PORT_DIPNAME( 0x10, 0x00, "Coin 3" )
PORT_DIPSETTING( 0x00, "*1" )
PORT_DIPSETTING( 0x10, "*2" )
PORT_DIPNAME( 0xe0, 0x00, "Bonus Coins" )
PORT_DIPSETTING( 0x00, "None")
PORT_DIPSETTING( 0x20, "3 credits/2 coins" )
PORT_DIPSETTING( 0x40, "5 credits/4 coins" )
PORT_DIPSETTING( 0x60, "6 credits/4 coins" )
PORT_DIPSETTING( 0x80, "6 credits/5 coins" )
/* IN6-9 fake to control player joysticks */
PORT_START
PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_Y | IPF_REVERSE | IPF_PLAYER1, 100, 10, 0x40, 0xbf )
PORT_START
PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_Y | IPF_PLAYER2, 100, 10, 0x40, 0xbf )
PORT_START
PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_X | IPF_PLAYER1, 100, 10, 0x40, 0xbf )
PORT_START
PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_X | IPF_REVERSE | IPF_PLAYER2, 100, 10, 0x40, 0xbf )
INPUT_PORTS_END
INPUT_PORTS_START( milliped )
PORT_START /* IN0 $2000 */ /* see port 6 for x trackball */
@@ -1305,6 +1474,15 @@ static MACHINE_DRIVER_START( milliped )
MDRV_SOUND_REPLACE("pokey", POKEY, milliped_pokey_interface)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( mazeinv )
/* basic machine hardware */
MDRV_IMPORT_FROM(milliped)
MDRV_CPU_MODIFY("main")
MDRV_CPU_MEMORY(mazeinv_readmem,mazeinv_writemem)
MDRV_VIDEO_UPDATE(centiped)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( warlords )
@@ -1426,6 +1604,22 @@ ROM_START( magworm )
ROM_LOAD( "magworm.5", 0x0800, 0x0800, CRC(24558ea5) SHA1(8cd7131e19afd7a96191b1b3c3fba7ae9a140f4b) )
ROM_END
ROM_START( mazeinv )
ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */
ROM_LOAD( "005.011", 0x3000, 0x1000, CRC(37129536) SHA1(356cb986a40b332100e00fb72194fd4dade2cba7) )
ROM_LOAD( "004.011", 0x4000, 0x1000, CRC(2d0fbf2f) SHA1(9d4c2bc9f80604d1ff5c5bf5a4a78378efdd8b33) )
ROM_LOAD( "003.011", 0x5000, 0x1000, CRC(0ff3747c) SHA1(1a7e1c487c24875dada967fb3a9ceaca25b7e2a7) )
ROM_LOAD( "002.011", 0x6000, 0x1000, CRC(96478e07) SHA1(e99d9970dc12ed36520d91646f1955cce87b55b6) )
ROM_LOAD( "001.011", 0x7000, 0x1000, CRC(d5c29a01) SHA1(5201a6cd42e4954c6cd4298f7b6cee4a8c181248) )
ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE )
ROM_LOAD( "007.011", 0x0000, 0x0800, CRC(16e738f4) SHA1(96335afc4510aae6b4ee6dfd8f5c1b2baa8c2798) )
ROM_LOAD( "006.011", 0x0800, 0x0800, CRC(d4705e4e) SHA1(e099f3df0d2f56d557631e69bc76ae2f09a80b42) )
ROM_REGION( 0x0120, REGION_PROMS, 0 )
ROM_LOAD( "009.011", 0x0000, 0x0020, CRC(dcc48de5) SHA1(5594568dd6a605d6d9d9646b1af645af72a7f53d) )
ROM_LOAD( "008.011", 0x0020, 0x0100, CRC(6fa3093a) SHA1(2b7aeca74c1ae4156bf1878453a047330f96f0a8) )
ROM_END
ROM_START( milliped )
ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for code */
@@ -1497,7 +1691,7 @@ GAME( 1980, centipdb, centiped, centipdb, centipdb, centipdb, ROT270, "bootleg",
GAME( 1980, centipb2, centiped, centipb2, centiped, 0, ROT270, "bootleg", "Centipede (bootleg, set 1)" )
GAME( 1980, millpac, centiped, centipb2, centiped, 0, ROT270, "Valadon Automation", "Millpac (bootleg of Centipede)" )
GAME( 1980, magworm, centiped, magworm, magworm, magworm, ROT270, "bootleg", "Magic Worm (bootleg of Centipede)" )
GAME( 1981, mazeinv, 0, mazeinv, mazeinv, 0, ROT270, "Atari", "Maze Invaders (prototype)" )
GAME( 1982, milliped, 0, milliped, milliped, 0, ROT270, "Atari", "Millipede" )
GAME( 1980, warlords, 0, warlords, warlords, 0, ROT0, "Atari", "Warlords" )
+13 -5
View File
@@ -272,9 +272,7 @@ INPUT_PORTS_START( spacewar )
PORT_DIPSETTING( SW2ON |SW1ON, "1:00/coin" )
PORT_DIPSETTING( SW2ON |SW1OFF, "1:30/coin" )
PORT_DIPSETTING( SW2OFF|SW1ON, "2:00/coin" )
PORT_DIPNAME( SW7, SW7OFF, DEF_STR( Unknown ) )
PORT_DIPSETTING( SW7OFF, DEF_STR( Off ) )
PORT_DIPSETTING( SW7ON, DEF_STR( On ) )
PORT_BITX( 0x40, IP_ACTIVE_LOW, 0, "Reset Playfield", KEYCODE_R, IP_JOY_NONE )
PORT_BIT ( 0x08, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
PORT_BIT ( 0x04, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
PORT_BIT ( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
@@ -1019,6 +1017,16 @@ static MACHINE_DRIVER_START( starcas )
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( tailg )
/* basic machine hardware */
MDRV_IMPORT_FROM(cinemat)
/* sound hardware */
MDRV_SOUND_ADD(SAMPLES, tailg_samples_interface)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( ripoff )
/* basic machine hardware */
@@ -1316,7 +1324,7 @@ static DRIVER_INIT( starcas )
static DRIVER_INIT( tailg )
{
ccpu_Config(0, CCPU_MEMSIZE_8K, CCPU_MONITOR_BILEV);
cinemat_sound_handler = 0;
cinemat_sound_handler = tailg_sound_w;
artwork_set_overlay(tailg_overlay);
}
@@ -1425,7 +1433,7 @@ GAME( 1980, starcas1, starcas, starcas, starcas, starcas, ROT0, "Cinematron
GAME( 1980, starcasp, starcas, starcas, starcas, starcas, ROT0, "Cinematronics", "Star Castle (prototype)" )
GAME( 1980, starcase, starcas, starcas, starcas, starcas, ROT0, "Cinematronics (Mottoeis license)", "Star Castle (Mottoeis)" )
GAME( 1980, stellcas, starcas, starcas, starcas, starcas, ROT0, "bootleg", "Stellar Castle (Elettronolo)" )
GAMEX(1979, tailg, 0, cinemat, tailg, tailg, ROT0, "Cinematronics", "Tailgunner", GAME_NO_SOUND )
GAME( 1979, tailg, 0, tailg, tailg, tailg, ROT0, "Cinematronics", "Tailgunner" )
GAME( 1979, ripoff, 0, ripoff, ripoff, ripoff, ROT0, "Cinematronics", "Rip Off" )
GAMEX(1979, speedfrk, 0, cinemat, speedfrk, speedfrk, ROT0, "Vectorbeam", "Speed Freak", GAME_NO_SOUND )
GAME( 1979, sundance, 0, sundance, sundance, sundance, ROT270, "Cinematronics", "Sundance" )
+1 -1
View File
@@ -70,7 +70,7 @@ static READ_HANDLER( ripcord_IN2_r )
/* real machine, though a little ugly and likely just because of */
/* limited ability to do overlays back in 1977. */
/* For the authentic look, uncomment the definition below. */
//#define USE_AUTHENTIC_OVERLAY 1
/*#define USE_AUTHENTIC_OVERLAY 1 */
OVERLAY_START( circus_overlay )
#ifdef USE_AUTHENTIC_OVERLAY
OVERLAY_RECT( 0, 20, 248, 36, OVERLAY_BLUE )
+1 -1
View File
@@ -513,7 +513,7 @@ INPUT_PORTS_START( cninja )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
PORT_DIPNAME( 0x4000, 0x4000, "Restore Life Meter" ) /* Life Meter Restored when Big Boss is Defeated */
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x8000, 0x0000, DEF_STR( Demo_Sounds ) )
+1
View File
@@ -838,6 +838,7 @@ MACHINE_DRIVER_START( r3knarrow )
MDRV_IMPORT_FROM(cojagr3k)
/* video hardware */
MDRV_SCREEN_SIZE(40*8, 30*8)
MDRV_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
MACHINE_DRIVER_END
+6 -6
View File
@@ -217,12 +217,12 @@ static WRITE_HANDLER( combasc_sh_irqtrigger_w )
static WRITE_HANDLER( combasc_play_w )
{
UPD7759_start_w(0, data & 2);
upd7759_start_w(0, data & 2);
}
static WRITE_HANDLER( combasc_voice_reset_w )
{
UPD7759_reset_w(0,data & 1);
upd7759_reset_w(0,data & 1);
}
static WRITE_HANDLER( combasc_portA_w )
@@ -337,7 +337,7 @@ MEMORY_END
static MEMORY_READ_START( combasc_readmem_sound )
{ 0x0000, 0x7fff, MRA_ROM }, /* ROM */
{ 0x8000, 0x87ff, MRA_RAM }, /* RAM */
{ 0xb000, 0xb000, UPD7759_0_busy_r }, /* UPD7759 busy? */
{ 0xb000, 0xb000, upd7759_0_busy_r }, /* UPD7759 busy? */
{ 0xd000, 0xd000, soundlatch_r }, /* soundlatch_r? */
{ 0xe000, 0xe000, combasc_YM2203_status_port_0_r }, /* YM 2203 intercepted */
MEMORY_END
@@ -346,7 +346,7 @@ static MEMORY_WRITE_START( combasc_writemem_sound )
{ 0x0000, 0x7fff, MWA_ROM }, /* ROM */
{ 0x8000, 0x87ff, MWA_RAM }, /* RAM */
{ 0x9000, 0x9000, combasc_play_w }, /* uPD7759 play voice */
{ 0xa000, 0xa000, UPD7759_0_port_w }, /* uPD7759 voice select */
{ 0xa000, 0xa000, upd7759_0_port_w }, /* uPD7759 voice select */
{ 0xc000, 0xc000, combasc_voice_reset_w }, /* uPD7759 reset? */
{ 0xe000, 0xe000, YM2203_control_port_0_w },/* YM 2203 */
{ 0xe001, 0xe001, YM2203_write_port_0_w }, /* YM 2203 */
@@ -653,12 +653,12 @@ static struct YM2203interface ym2203_interface =
{ 0 }
};
static struct UPD7759_interface upd7759_interface =
static struct upd7759_interface upd7759_interface =
{
1, /* number of chips */
{ UPD7759_STANDARD_CLOCK },
{ 70 }, /* volume */
{ REGION_SOUND1 }, /* memory region */
UPD7759_STANDALONE_MODE, /* chip mode */
{0}
};
+35 -13
View File
@@ -15,7 +15,10 @@ Credits:
#include "driver.h"
#include "vidhrdw/generic.h"
#include "vidhrdw/konamiic.h"
#include "cpu/m6809/m6809.h"
#include "cpu/hd6309/hd6309.h"
#include "ost_samples.h"
extern unsigned char *contra_fg_vram,*contra_fg_cram;
extern unsigned char *contra_bg_vram,*contra_bg_cram;
@@ -35,6 +38,11 @@ WRITE_HANDLER( contra_K007121_ctrl_1_w );
VIDEO_UPDATE( contra );
VIDEO_START( contra );
static INTERRUPT_GEN( contra_interrupt )
{
if (K007121_ctrlram[0][0x07] & 0x02)
cpu_set_irq_line(0, HD6309_IRQ_LINE, HOLD_LINE);
}
WRITE_HANDLER( contra_bankswitch_w )
{
@@ -45,6 +53,9 @@ WRITE_HANDLER( contra_bankswitch_w )
bankaddress = 0x10000 + (data & 0x0f) * 0x2000;
if (bankaddress < 0x28000) /* for safety */
cpu_setbank(1,&RAM[bankaddress]);
else
usrintf_showmessage("bankswitch %X", data & 0xf);
}
WRITE_HANDLER( contra_sh_irqtrigger_w )
@@ -56,11 +67,19 @@ WRITE_HANDLER( contra_coin_counter_w )
{
if (data & 0x01) coin_counter_w(0,data & 0x01);
if (data & 0x02) coin_counter_w(1,(data & 0x02) >> 1);
if( ost_support_enabled(OST_SUPPORT_CONTRA) )
ost_fade_volume();
}
static WRITE_HANDLER( cpu_sound_command_w )
{
soundlatch_w(offset,data);
if( ost_support_enabled(OST_SUPPORT_CONTRA) ) {
if(generate_ost_sound( data ))
soundlatch_w(offset,data);
}
else
soundlatch_w(offset,data);
}
UINT32 math_regs[6];
@@ -90,12 +109,12 @@ WRITE_HANDLER(contra_k007452_w)
if (offset == 1)
{
// Starts multiplication process
/* Starts multiplication process */
multiply_result = math_regs[0] * math_regs[1];
}
else if (offset == 5)
{
// Starts division process
/* Starts division process */
UINT16 dividend = (math_regs[4]<<8) + math_regs[5];
UINT16 divisor = (math_regs[2]<<8) + math_regs[3];
if (!divisor) {
@@ -114,13 +133,14 @@ static MEMORY_READ_START( readmem )
{ 0x0010, 0x0010, input_port_0_r }, /* IN0 */
{ 0x0011, 0x0011, input_port_1_r }, /* IN1 */
{ 0x0012, 0x0012, input_port_2_r }, /* IN2 */
{ 0x0014, 0x0014, input_port_3_r }, /* DIPSW1 */
{ 0x0015, 0x0015, input_port_4_r }, /* DIPSW2 */
{ 0x0016, 0x0016, input_port_5_r }, /* DIPSW3 */
{ 0x0c00, 0x0cff, MRA_RAM },
{ 0x1000, 0x5fff, MRA_RAM },
{ 0x3000, 0x3fff, MRA_RAM },
{ 0x4800, 0x4fff, MRA_RAM },
{ 0x5000, 0x5fff, MRA_RAM },
{ 0x6000, 0x7fff, MRA_BANK1 },
{ 0x8000, 0xffff, MRA_ROM },
MEMORY_END
@@ -139,11 +159,11 @@ static MEMORY_WRITE_START( writemem )
{ 0x2400, 0x27ff, contra_fg_vram_w, &contra_fg_vram },
{ 0x2800, 0x2bff, contra_text_cram_w, &contra_text_cram },
{ 0x2c00, 0x2fff, contra_text_vram_w, &contra_text_vram },
{ 0x3000, 0x37ff, MWA_RAM, &spriteram },/* 2nd bank is at 0x5000 */
{ 0x3800, 0x3fff, MWA_RAM }, /* second sprite buffer*/
{ 0x3000, 0x3fff, MWA_RAM, &spriteram },
{ 0x4000, 0x43ff, contra_bg_cram_w, &contra_bg_cram },
{ 0x4400, 0x47ff, contra_bg_vram_w, &contra_bg_vram },
{ 0x4800, 0x5fff, MWA_RAM },
{ 0x4800, 0x4fff, MWA_RAM },
{ 0x5000, 0x5fff, MWA_RAM, &spriteram_2 },
{ 0x6000, 0x6fff, MWA_ROM },
{ 0x7000, 0x7000, contra_bankswitch_w },
{ 0x7001, 0xffff, MWA_ROM },
@@ -303,18 +323,18 @@ static struct YM2151interface ym2151_interface =
static MACHINE_DRIVER_START( contra )
/* basic machine hardware */
MDRV_CPU_ADD(M6809, 1500000)
/* basic machine hardware */
MDRV_CPU_ADD(HD6309, 3000000) /* 24MHz/8 */
MDRV_CPU_MEMORY(readmem,writemem)
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
MDRV_CPU_VBLANK_INT(contra_interrupt,1)
MDRV_CPU_ADD(M6809, 2000000)
MDRV_CPU_ADD(M6809, 3579545) /* 3.579545 MHz */
MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
MDRV_CPU_MEMORY(readmem_sound,writemem_sound)
MDRV_FRAMES_PER_SECOND(60)
MDRV_VBLANK_DURATION(DEFAULT_REAL_60HZ_VBLANK_DURATION)
MDRV_INTERLEAVE(10) /* 10 CPU slices per frame - enough for the sound CPU to read all commands */
MDRV_INTERLEAVE(100) /* 100 CPU slices per frame - enough for the sound CPU to read all commands */
/* video hardware */
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER)
@@ -331,6 +351,8 @@ static MACHINE_DRIVER_START( contra )
/* sound hardware */
MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
MDRV_SOUND_ADD(YM2151, ym2151_interface)
MDRV_INSTALL_OST_SUPPORT(OST_SUPPORT_CONTRA)
MACHINE_DRIVER_END
+502 -174
View File
@@ -8,11 +8,12 @@
68000 for game, Z80, YM-2151 and OKIM6295 for sound.
68000 clock speeds are unknown for all games (except where commented)
68000 clock speeds are correct for all games.
***************************************************************************/
#include "driver.h"
#include "state.h"
#include "vidhrdw/generic.h"
#include "machine/eeprom.h"
#include "ost_samples.h"
@@ -79,7 +80,7 @@ static WRITE_HANDLER( cps1_snd_bankswitch_w )
bankaddr = (data * 0x4000) & (length-1);
cpu_setbank(1,&RAM[0x10000 + bankaddr]);
if (data & 0xfe) log_cb(RETRO_LOG_DEBUG, LOGPRE "%04x: write %02x to f004\n",activecpu_get_pc(),data);
if (data & 0xfe) log_cb(RETRO_LOG_DEBUG, LOGPRE "%04x: write %02x to f004\n",activecpu_get_pc(),data);
}
static WRITE16_HANDLER( cps1_sound_fade_w )
@@ -101,21 +102,20 @@ static WRITE16_HANDLER( cps1_sound_command_w )
log_cb(RETRO_LOG_DEBUG, LOGPRE "%X\n", data);
}
*/
/* We are playing Final Fight. */
if(ff_playing_final_fight && options.use_alt_sound) {
if(generate_ost_sound_ffight( data )) {
if(ACCESSING_LSB) soundlatch_w(0,data & 0xff);
if(ACCESSING_LSB) {
/* We are playing Final Fight. */
if( ost_support_enabled(OST_SUPPORT_FFIGHT) ) {
if(generate_ost_sound( data ))
soundlatch_w(0,data & 0xff);
}
}
/* We are playing Street Fighter 2. */
else if(sf2_playing_street_fighter && options.use_alt_sound) {
if(generate_ost_sound_sf2( data )) {
if(ACCESSING_LSB) soundlatch_w(0,data & 0xff);
/* We are playing Street Fighter 2. */
else if( ost_support_enabled(OST_SUPPORT_SF2) ) {
if(generate_ost_sound( data ))
soundlatch_w(0,data & 0xff);
}
}
else {
if(ACCESSING_LSB) soundlatch_w(0,data & 0xff);
else
soundlatch_w(0,data & 0xff);
}
}
@@ -165,7 +165,7 @@ static INTERRUPT_GEN( cps1_interrupt )
/* *only* game to have that. */
cpu_set_irq_line(0, 2, HOLD_LINE);
if(sf2_playing_street_fighter && options.use_alt_sound)
if( ost_support_enabled(OST_SUPPORT_SF2) )
ost_fade_volume();
}
@@ -232,20 +232,37 @@ static WRITE16_HANDLER( qsound_sharedram2_w )
qsound_sharedram2[offset] = data;
}
static int qsound_bank; /* Z80 bank, kept for save states */
static void qsound_banksw_set(void)
{
unsigned char *RAM = memory_region(REGION_CPU2);
int bankaddress=0x10000+(qsound_bank*0x4000);
if (bankaddress >= memory_region_length(REGION_CPU2))
{
log_cb(RETRO_LOG_DEBUG, LOGPRE "WARNING: Q sound bank overflow (%02x)\n", qsound_bank);
bankaddress=0x10000;
}
cpu_setbank(1, &RAM[bankaddress]);
}
static WRITE_HANDLER( qsound_banksw_w )
{
/*
Z80 bank register for music note data. It's odd that it isn't encrypted
though.
*/
unsigned char *RAM = memory_region(REGION_CPU2);
int bankaddress=0x10000+((data&0x0f)*0x4000);
if (bankaddress >= memory_region_length(REGION_CPU2))
{
log_cb(RETRO_LOG_DEBUG, LOGPRE "WARNING: Q sound bank overflow (%02x)\n", data);
bankaddress=0x10000;
}
cpu_setbank(1, &RAM[bankaddress]);
qsound_bank = data & 0x0f;
qsound_banksw_set();
}
/* Save the Z80 bank of the QSound games: after loading a save state the
music code runs from the right bank again. */
void cps_qsound_state_register(void)
{
qsound_bank = 0;
state_save_register_int("qsound_z80", 0, "bank", &qsound_bank);
state_save_register_func_postload(qsound_banksw_set);
}
@@ -381,7 +398,7 @@ static MEMORY_WRITE_START( sound_writemem )
{ 0xf001, 0xf001, YM2151_data_port_0_w },
{ 0xf002, 0xf002, OKIM6295_data_0_w },
{ 0xf004, 0xf004, cps1_snd_bankswitch_w },
/* { 0xf006, 0xf006, MWA_NOP }, // ???? Unknown ???? /*/
/* { 0xf006, 0xf006, MWA_NOP },*/ /* ???? Unknown ???? */
MEMORY_END
MEMORY_READ_START( qsound_readmem )
@@ -1352,19 +1369,19 @@ INPUT_PORTS_START( ffightae )
PORT_START /* DSWB */
PORT_DIPNAME( 0x07, 0x04, "Difficulty Level 1" )
PORT_DIPSETTING( 0x07, "Easiest" ) // "01"
PORT_DIPSETTING( 0x06, "Easier" ) // "02"
PORT_DIPSETTING( 0x05, "Easy" ) // "03"
PORT_DIPSETTING( 0x04, "Normal" ) // "04"
PORT_DIPSETTING( 0x03, "Medium" ) // "05"
PORT_DIPSETTING( 0x02, "Hard" ) // "06"
PORT_DIPSETTING( 0x01, "Harder" ) // "07"
PORT_DIPSETTING( 0x00, "Hardest" ) // "08"
PORT_DIPSETTING( 0x07, "Easiest" ) /* "01" */
PORT_DIPSETTING( 0x06, "Easier" ) /* "02" */
PORT_DIPSETTING( 0x05, "Easy" ) /* "03" */
PORT_DIPSETTING( 0x04, "Normal" ) /* "04" */
PORT_DIPSETTING( 0x03, "Medium" ) /* "05" */
PORT_DIPSETTING( 0x02, "Hard" ) /* "06" */
PORT_DIPSETTING( 0x01, "Harder" ) /* "07" */
PORT_DIPSETTING( 0x00, "Hardest" ) /* "08" */
PORT_DIPNAME( 0x18, 0x10, "Difficulty Level 2" )
PORT_DIPSETTING( 0x18, "Easy" ) // "01"
PORT_DIPSETTING( 0x10, "Normal" ) // "02"
PORT_DIPSETTING( 0x08, "Hard" ) // "03"
PORT_DIPSETTING( 0x00, "Hardest" ) // "04"
PORT_DIPSETTING( 0x18, "Easy" ) /* "01" */
PORT_DIPSETTING( 0x10, "Normal" ) /* "02" */
PORT_DIPSETTING( 0x08, "Hard" ) /* "03" */
PORT_DIPSETTING( 0x00, "Hardest" ) /* "04" */
PORT_DIPNAME( 0x60, 0x60, DEF_STR( Bonus_Life ) )
PORT_DIPSETTING( 0x60, "100k" )
PORT_DIPSETTING( 0x40, "200k" )
@@ -1406,7 +1423,7 @@ INPUT_PORTS_START( ffightae )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER1 )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER1 )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER1 )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER1 )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
@@ -1414,7 +1431,7 @@ INPUT_PORTS_START( ffightae )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_PLAYER2 )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 | IPF_PLAYER2 )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_START /* Player 3 */
@@ -3997,20 +4014,31 @@ static MACHINE_DRIVER_START( cps1 )
MDRV_SOUND_ADD_TAG("okim", OKIM6295, okim6295_interface_7576)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( cps1_12mhz )
/* basic machine hardware */
MDRV_IMPORT_FROM(cps1)
MDRV_CPU_REPLACE("main", M68000, 12000000)
MACHINE_DRIVER_END
/* For Final Fight.*/
static MACHINE_DRIVER_START( ffight_hack )
/* basic machine hardware */
MDRV_IMPORT_FROM(cps1)
/* Lets add our Final Fight music sample packs.*/
MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
MDRV_SOUND_ADD_TAG("OST Samples", SAMPLES, ost_ffight)
ff_playing_final_fight = true;
ff_alternate_song_1 = false;
ff_alternate_song_2 = false;
MDRV_INSTALL_OST_SUPPORT(OST_SUPPORT_FFIGHT)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( ffight_hack_12mhz )
/* basic machine hardware */
MDRV_IMPORT_FROM(cps1)
MDRV_CPU_REPLACE("main", M68000, 12000000)
MDRV_INSTALL_OST_SUPPORT(OST_SUPPORT_FFIGHT)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( forgottn )
@@ -4024,16 +4052,19 @@ MACHINE_DRIVER_END
static MACHINE_DRIVER_START( sf2 )
/* basic machine hardware */
MDRV_IMPORT_FROM(cps1)
MDRV_INSTALL_OST_SUPPORT(OST_SUPPORT_SF2)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( sf2_12mhz )
/* basic machine hardware */
MDRV_IMPORT_FROM(cps1)
MDRV_CPU_REPLACE("main", M68000, 12000000)
/* Lets add our Street Fighter 2 music sample packs.*/
MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
MDRV_SOUND_ADD_TAG("OST Samples", SAMPLES, ost_sf2)
sf2_playing_street_fighter = true;
fadingMusic = false;
MDRV_INSTALL_OST_SUPPORT(OST_SUPPORT_SF2)
MACHINE_DRIVER_END
@@ -4041,6 +4072,7 @@ static MACHINE_DRIVER_START( pang3 )
/* basic machine hardware */
MDRV_IMPORT_FROM(cps1)
MDRV_CPU_REPLACE("main", M68000, 12000000)
MDRV_NVRAM_HANDLER(pang3)
MACHINE_DRIVER_END
@@ -4250,6 +4282,265 @@ ROM_START( daimakai )
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_END
// Ghouls'n Ghosts - Artoria Edition hacks (GoodLuckTrying)
ROM_START( ghoulsmaiden )
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )
ROM_LOAD16_BYTE( "dme_29maiden.10h", 0x00000, 0x20000, CRC(62bc0f9f) SHA1(cd715aa5ccad61bc2c038d32594843377d2ea8ab) )
ROM_LOAD16_BYTE( "dme_30maiden.10j", 0x00001, 0x20000, CRC(3d770ee1) SHA1(a5f913923c078187b26783ef0baae3aed7361e66) )
ROM_LOAD16_BYTE( "dme_27maiden.9h", 0x40000, 0x20000, CRC(717dfa2f) SHA1(64a0397e9203cdf0e92d07adef6de94a7ee3fd47) )
ROM_LOAD16_BYTE( "dme_28maiden.9j", 0x40001, 0x20000, CRC(00136f06) SHA1(430d469717c3535a06d74d1df23c5fa348a87793) )
ROM_LOAD16_WORD( "dm-17maiden.7j", 0x80000, 0x80000, CRC(f96c3f5d) SHA1(2be095270f3afe827306ef19df4ac3a3bfaeab35) )
ROM_REGION( 0x300000, REGION_GFX1, 0 )
ROMX_LOAD( "dm-05maiden.3a", 0x000000, 0x80000, CRC(089d3e31) SHA1(e9f9406fc16686a98e1372bc09e7c51456315a66), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dm-07maiden.3f", 0x000002, 0x80000, CRC(b7b0567c) SHA1(f3d74ebd9daa4bdc7e91080f02f801e2ac9dd40d), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dm-06maiden.3c", 0x000004, 0x80000, CRC(92ca0ba1) SHA1(a5dd14e8cb0cb4c7f4ebad07cfc36abf148fcf78), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dm-08maiden.3g", 0x000006, 0x80000, CRC(0f39afc8) SHA1(44d499fd38e2e9155a843ab834bee4e91ced4375), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "09maiden.4a", 0x200000, 0x10000, CRC(e99f777e) SHA1(015549b7745e7a1c26ae50450e5a3ff0116c64eb), ROM_SKIP(7) )
ROMX_LOAD( "18maiden.7a", 0x200001, 0x10000, CRC(9798c4be) SHA1(601a2122e774b5142d152d9666cbec0a512c0fae), ROM_SKIP(7) )
ROMX_LOAD( "13maiden.4e", 0x200002, 0x10000, CRC(d731677a) SHA1(53138a653737556023e384fb075c971ca0640235), ROM_SKIP(7) )
ROMX_LOAD( "22maiden.7e", 0x200003, 0x10000, CRC(e9282194) SHA1(47d635673d894725cb343b2753e2be632bcb23cd), ROM_SKIP(7) )
ROMX_LOAD( "11maiden.4c", 0x200004, 0x10000, CRC(f94717d0) SHA1(dc0e13727d0a2b4111f9fa64ca272986de822196), ROM_SKIP(7) )
ROMX_LOAD( "20maiden.7c", 0x200005, 0x10000, CRC(d2605c04) SHA1(e6e5343d1f3737a0cdd815c8045acc81f1e6587e), ROM_SKIP(7) )
ROMX_LOAD( "15maiden.4g", 0x200006, 0x10000, CRC(ad8a53ec) SHA1(48a763d5ab320a1b3ce9f8ec5319a6a854f34fca), ROM_SKIP(7) )
ROMX_LOAD( "24maiden.7g", 0x200007, 0x10000, CRC(ae66ab27) SHA1(3eb22952e3b6843e13d05f14b3ccaf7c504c7aeb), ROM_SKIP(7) )
ROMX_LOAD( "10maiden.4b", 0x280000, 0x10000, CRC(afce74dd) SHA1(a13d7a7e11f900d6f5a7273ca93e30f1e0a385b1), ROM_SKIP(7) )
ROMX_LOAD( "19maiden.7b", 0x280001, 0x10000, CRC(0b4e155f) SHA1(268188162286e12af63653d5f700263f6f3b70d4), ROM_SKIP(7) )
ROMX_LOAD( "14maiden.4f", 0x280002, 0x10000, CRC(5bc8e886) SHA1(17b727169c68b0ed3574bc321db4fbfd4d2f9266), ROM_SKIP(7) )
ROMX_LOAD( "23maiden.7f", 0x280003, 0x10000, CRC(095a6785) SHA1(659530f934c1f33067e9af71503b92da88315018), ROM_SKIP(7) )
ROMX_LOAD( "12maiden.4d", 0x280004, 0x10000, CRC(c8a5b7e9) SHA1(35b2f96994338816b29e1f65127f81d949a3a775), ROM_SKIP(7) )
ROMX_LOAD( "21maiden.7d", 0x280005, 0x10000, CRC(7d2f39f4) SHA1(6156385421104fef4e7b02bb1aba04f13aadb750), ROM_SKIP(7) )
ROMX_LOAD( "16maiden.4h", 0x280006, 0x10000, CRC(2913fa9b) SHA1(c37e526f5c647091cc45fa045f1e8049ec71483a), ROM_SKIP(7) )
ROMX_LOAD( "25maiden.7h", 0x280007, 0x10000, CRC(35d1b525) SHA1(e10226e6a34c827a44908384c37a0f9aaa74c934), ROM_SKIP(7) )
ROM_REGION( 0x18000, REGION_CPU2, 0 )
ROM_LOAD( "26.10a", 0x00000, 0x08000, CRC(3692f6e5) SHA1(61b8438d60a39b4cf5062dff0a53228e8a4e4b5f) )
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_REGION( 0x8000, REGION_GFX2, 0 )
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */
ROM_END
ROM_START( ghoulsknight )
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )
ROM_LOAD16_BYTE( "dme_29knight.10h", 0x00000, 0x20000, CRC(a26366a2) SHA1(5fcbb7b594814d5dd074f17c61d2ef72467b89fc) )
ROM_LOAD16_BYTE( "dme_30knight.10j", 0x00001, 0x20000, CRC(906bfbd9) SHA1(003d5cffd8ef23f349158136c0b6e34c93f4abbd) )
ROM_LOAD16_BYTE( "dme_27knight.9h", 0x40000, 0x20000, CRC(0f80f588) SHA1(b0def403185ccbf0c373a868afcfe757e7b7caf8) )
ROM_LOAD16_BYTE( "dme_28knight.9j", 0x40001, 0x20000, CRC(448bf481) SHA1(804a2e8a22153135c16a6388f69150049bd9c651) )
ROM_LOAD16_WORD( "dm-17knight.7j", 0x80000, 0x80000, CRC(e856d9b6) SHA1(10a49dbba04c90c1676ad63a093c3b6f10345134) )
ROM_REGION( 0x300000, REGION_GFX1, 0 )
ROMX_LOAD( "dm-05knight.3a", 0x000000, 0x80000, CRC(68381793) SHA1(1d82de2a42cac3a25faf3ffa04292303d08fcbc5), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dm-07knight.3f", 0x000002, 0x80000, CRC(fe68674d) SHA1(648645333767270fe859f275a1cacc816e0f05fe), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dm-06knight.3c", 0x000004, 0x80000, CRC(c0e27e48) SHA1(6a8f67c6ac4d2e720475fe6ec9160fd5b6de7916), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dm-08knight.3g", 0x000006, 0x80000, CRC(7be8f80a) SHA1(7b6c1f423fcf0dfeb2f2fd705b2aeed8345c4a5e), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "09knight.4a", 0x200000, 0x10000, CRC(a726123a) SHA1(b9b5133ac838d98aa2eb0098ce6dc95e1ed36e19), ROM_SKIP(7) )
ROMX_LOAD( "18knight.7a", 0x200001, 0x10000, CRC(379d3bee) SHA1(8c65e0443cf7ff7695b103bc67d7288e156a613a), ROM_SKIP(7) )
ROMX_LOAD( "13knight.4e", 0x200002, 0x10000, CRC(eedbdd71) SHA1(603855bf2e046543bc6cab4708b1fde01c5593e0), ROM_SKIP(7) )
ROMX_LOAD( "22knight.7e", 0x200003, 0x10000, CRC(96a4311f) SHA1(02faedaffef031c0c446f1ec27d3de286094f0b3), ROM_SKIP(7) )
ROMX_LOAD( "11knight.4c", 0x200004, 0x10000, CRC(af590ecd) SHA1(38b1398600aa16b0adaa89813169977d2565cc9a), ROM_SKIP(7) )
ROMX_LOAD( "20knight.7c", 0x200005, 0x10000, CRC(00bdeef0) SHA1(6a2aa247a1bc2d467e4f1ae2c3f6b937d13310b0), ROM_SKIP(7) )
ROMX_LOAD( "15knight.4g", 0x200006, 0x10000, CRC(d409bf40) SHA1(a9d79df80e97391118c74571eed55cdb1a89da00), ROM_SKIP(7) )
ROMX_LOAD( "24knight.7g", 0x200007, 0x10000, CRC(fc91ec7c) SHA1(4d099e4fa67daab094997a217b3381340955e0ab), ROM_SKIP(7) )
ROMX_LOAD( "10knight.4b", 0x280000, 0x10000, CRC(08043aa8) SHA1(41dcf3219d1895489ef1db67226420f50264f9cc), ROM_SKIP(7) )
ROMX_LOAD( "19knight.7b", 0x280001, 0x10000, CRC(daca4bc1) SHA1(8566fff3073e2323eeb7e4b265e18808fb92e1a5), ROM_SKIP(7) )
ROMX_LOAD( "14knight.4f", 0x280002, 0x10000, CRC(0d7d3de4) SHA1(618025aaf21b622ad7beaff286bea01313015628), ROM_SKIP(7) )
ROMX_LOAD( "23knight.7f", 0x280003, 0x10000, CRC(53622c1c) SHA1(3546fa048823922d01d50fdbc9a717738c535eb6), ROM_SKIP(7) )
ROMX_LOAD( "12knight.4d", 0x280004, 0x10000, CRC(95efe854) SHA1(03bcdd7bf25637e1ab7166985093d14111699dc5), ROM_SKIP(7) )
ROMX_LOAD( "21knight.7d", 0x280005, 0x10000, CRC(5fd971cf) SHA1(dc2fb8e909cd4a5de1d637b750d383ad34480d2e), ROM_SKIP(7) )
ROMX_LOAD( "16knight.4h", 0x280006, 0x10000, CRC(5c63b626) SHA1(069b6efaac107abdf762db1edd025ec4d607bac2), ROM_SKIP(7) )
ROMX_LOAD( "25knight.7h", 0x280007, 0x10000, CRC(2556bc0e) SHA1(4f62a23bd7e43c6b00ef744de618d9b44e7d76f6), ROM_SKIP(7) )
ROM_REGION( 0x18000, REGION_CPU2, 0 )
ROM_LOAD( "26.10a", 0x00000, 0x08000, CRC(3692f6e5) SHA1(61b8438d60a39b4cf5062dff0a53228e8a4e4b5f) )
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_REGION( 0x8000, REGION_GFX2, 0 )
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */
ROM_END
ROM_START( ghoulsumaiden )
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )
ROM_LOAD16_BYTE( "dmu_29maiden.10h", 0x00000, 0x20000, CRC(7ac6c63e) SHA1(669087b80001ea86181a889d7f1fc712ad94215a) )
ROM_LOAD16_BYTE( "dmu_30maiden.10j", 0x00001, 0x20000, CRC(0a3d58f0) SHA1(89727371eed9188da622e9858cd90eea0a28cc97) )
ROM_LOAD16_BYTE( "dmu_27maiden.9h", 0x40000, 0x20000, CRC(db966113) SHA1(0c0af55ba5ad550aa2f9548431cbc349d68a91be) )
ROM_LOAD16_BYTE( "dmu_28maiden.9j", 0x40001, 0x20000, CRC(d6594f60) SHA1(54edb2db45974ccfad1c61697f50032342584556) )
ROM_LOAD16_WORD( "dm-17maiden.7j", 0x80000, 0x80000, CRC(f96c3f5d) SHA1(2be095270f3afe827306ef19df4ac3a3bfaeab35) )
ROM_REGION( 0x300000, REGION_GFX1, 0 )
ROMX_LOAD( "dm-05maiden.3a", 0x000000, 0x80000, CRC(089d3e31) SHA1(e9f9406fc16686a98e1372bc09e7c51456315a66), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dm-07maiden.3f", 0x000002, 0x80000, CRC(b7b0567c) SHA1(f3d74ebd9daa4bdc7e91080f02f801e2ac9dd40d), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dm-06maiden.3c", 0x000004, 0x80000, CRC(92ca0ba1) SHA1(a5dd14e8cb0cb4c7f4ebad07cfc36abf148fcf78), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dm-08maiden.3g", 0x000006, 0x80000, CRC(0f39afc8) SHA1(44d499fd38e2e9155a843ab834bee4e91ced4375), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "09maiden.4a", 0x200000, 0x10000, CRC(e99f777e) SHA1(015549b7745e7a1c26ae50450e5a3ff0116c64eb), ROM_SKIP(7) )
ROMX_LOAD( "18maiden.7a", 0x200001, 0x10000, CRC(9798c4be) SHA1(601a2122e774b5142d152d9666cbec0a512c0fae), ROM_SKIP(7) )
ROMX_LOAD( "13maiden.4e", 0x200002, 0x10000, CRC(d731677a) SHA1(53138a653737556023e384fb075c971ca0640235), ROM_SKIP(7) )
ROMX_LOAD( "22maiden.7e", 0x200003, 0x10000, CRC(e9282194) SHA1(47d635673d894725cb343b2753e2be632bcb23cd), ROM_SKIP(7) )
ROMX_LOAD( "11maiden.4c", 0x200004, 0x10000, CRC(f94717d0) SHA1(dc0e13727d0a2b4111f9fa64ca272986de822196), ROM_SKIP(7) )
ROMX_LOAD( "20maiden.7c", 0x200005, 0x10000, CRC(d2605c04) SHA1(e6e5343d1f3737a0cdd815c8045acc81f1e6587e), ROM_SKIP(7) )
ROMX_LOAD( "15maiden.4g", 0x200006, 0x10000, CRC(ad8a53ec) SHA1(48a763d5ab320a1b3ce9f8ec5319a6a854f34fca), ROM_SKIP(7) )
ROMX_LOAD( "24maiden.7g", 0x200007, 0x10000, CRC(ae66ab27) SHA1(3eb22952e3b6843e13d05f14b3ccaf7c504c7aeb), ROM_SKIP(7) )
ROMX_LOAD( "10maiden.4b", 0x280000, 0x10000, CRC(afce74dd) SHA1(a13d7a7e11f900d6f5a7273ca93e30f1e0a385b1), ROM_SKIP(7) )
ROMX_LOAD( "19maiden.7b", 0x280001, 0x10000, CRC(0b4e155f) SHA1(268188162286e12af63653d5f700263f6f3b70d4), ROM_SKIP(7) )
ROMX_LOAD( "14maiden.4f", 0x280002, 0x10000, CRC(5bc8e886) SHA1(17b727169c68b0ed3574bc321db4fbfd4d2f9266), ROM_SKIP(7) )
ROMX_LOAD( "23maiden.7f", 0x280003, 0x10000, CRC(095a6785) SHA1(659530f934c1f33067e9af71503b92da88315018), ROM_SKIP(7) )
ROMX_LOAD( "12maiden.4d", 0x280004, 0x10000, CRC(c8a5b7e9) SHA1(35b2f96994338816b29e1f65127f81d949a3a775), ROM_SKIP(7) )
ROMX_LOAD( "21maiden.7d", 0x280005, 0x10000, CRC(7d2f39f4) SHA1(6156385421104fef4e7b02bb1aba04f13aadb750), ROM_SKIP(7) )
ROMX_LOAD( "16maiden.4h", 0x280006, 0x10000, CRC(2913fa9b) SHA1(c37e526f5c647091cc45fa045f1e8049ec71483a), ROM_SKIP(7) )
ROMX_LOAD( "25maiden.7h", 0x280007, 0x10000, CRC(35d1b525) SHA1(e10226e6a34c827a44908384c37a0f9aaa74c934), ROM_SKIP(7) )
ROM_REGION( 0x18000, REGION_CPU2, 0 )
ROM_LOAD( "26.10a", 0x00000, 0x08000, CRC(3692f6e5) SHA1(61b8438d60a39b4cf5062dff0a53228e8a4e4b5f) )
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_REGION( 0x8000, REGION_GFX2, 0 )
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */
ROM_END
ROM_START( ghoulsuknight )
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )
ROM_LOAD16_BYTE( "dmu_29knight.10h", 0x00000, 0x20000, CRC(6b315490) SHA1(6b3ccff317295a772ea5c15ae3a2cb3ec16ba398) )
ROM_LOAD16_BYTE( "dmu_30knight.10j", 0x00001, 0x20000, CRC(e3209d51) SHA1(e573a2649b83d9d57ccab60977a5a3e233c1733a) )
ROM_LOAD16_BYTE( "dmu_27knight.9h", 0x40000, 0x20000, CRC(0cc89606) SHA1(87903a4f5e00b48573f2e3e5b12f4d202e485f7c) )
ROM_LOAD16_BYTE( "dmu_28knight.9j", 0x40001, 0x20000, CRC(a263bde6) SHA1(5912b748a6f2949453634d50b5bdaaa567eaa1c3) )
ROM_LOAD16_WORD( "dm-17knight.7j", 0x80000, 0x80000, CRC(e856d9b6) SHA1(10a49dbba04c90c1676ad63a093c3b6f10345134) )
ROM_REGION( 0x300000, REGION_GFX1, 0 )
ROMX_LOAD( "dm-05knight.3a", 0x000000, 0x80000, CRC(68381793) SHA1(1d82de2a42cac3a25faf3ffa04292303d08fcbc5), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dm-07knight.3f", 0x000002, 0x80000, CRC(fe68674d) SHA1(648645333767270fe859f275a1cacc816e0f05fe), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dm-06knight.3c", 0x000004, 0x80000, CRC(c0e27e48) SHA1(6a8f67c6ac4d2e720475fe6ec9160fd5b6de7916), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dm-08knight.3g", 0x000006, 0x80000, CRC(7be8f80a) SHA1(7b6c1f423fcf0dfeb2f2fd705b2aeed8345c4a5e), ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "09knight.4a", 0x200000, 0x10000, CRC(a726123a) SHA1(b9b5133ac838d98aa2eb0098ce6dc95e1ed36e19), ROM_SKIP(7) )
ROMX_LOAD( "18knight.7a", 0x200001, 0x10000, CRC(379d3bee) SHA1(8c65e0443cf7ff7695b103bc67d7288e156a613a), ROM_SKIP(7) )
ROMX_LOAD( "13knight.4e", 0x200002, 0x10000, CRC(eedbdd71) SHA1(603855bf2e046543bc6cab4708b1fde01c5593e0), ROM_SKIP(7) )
ROMX_LOAD( "22knight.7e", 0x200003, 0x10000, CRC(96a4311f) SHA1(02faedaffef031c0c446f1ec27d3de286094f0b3), ROM_SKIP(7) )
ROMX_LOAD( "11knight.4c", 0x200004, 0x10000, CRC(af590ecd) SHA1(38b1398600aa16b0adaa89813169977d2565cc9a), ROM_SKIP(7) )
ROMX_LOAD( "20knight.7c", 0x200005, 0x10000, CRC(00bdeef0) SHA1(6a2aa247a1bc2d467e4f1ae2c3f6b937d13310b0), ROM_SKIP(7) )
ROMX_LOAD( "15knight.4g", 0x200006, 0x10000, CRC(d409bf40) SHA1(a9d79df80e97391118c74571eed55cdb1a89da00), ROM_SKIP(7) )
ROMX_LOAD( "24knight.7g", 0x200007, 0x10000, CRC(fc91ec7c) SHA1(4d099e4fa67daab094997a217b3381340955e0ab), ROM_SKIP(7) )
ROMX_LOAD( "10knight.4b", 0x280000, 0x10000, CRC(08043aa8) SHA1(41dcf3219d1895489ef1db67226420f50264f9cc), ROM_SKIP(7) )
ROMX_LOAD( "19knight.7b", 0x280001, 0x10000, CRC(daca4bc1) SHA1(8566fff3073e2323eeb7e4b265e18808fb92e1a5), ROM_SKIP(7) )
ROMX_LOAD( "14knight.4f", 0x280002, 0x10000, CRC(0d7d3de4) SHA1(618025aaf21b622ad7beaff286bea01313015628), ROM_SKIP(7) )
ROMX_LOAD( "23knight.7f", 0x280003, 0x10000, CRC(53622c1c) SHA1(3546fa048823922d01d50fdbc9a717738c535eb6), ROM_SKIP(7) )
ROMX_LOAD( "12knight.4d", 0x280004, 0x10000, CRC(95efe854) SHA1(03bcdd7bf25637e1ab7166985093d14111699dc5), ROM_SKIP(7) )
ROMX_LOAD( "21knight.7d", 0x280005, 0x10000, CRC(5fd971cf) SHA1(dc2fb8e909cd4a5de1d637b750d383ad34480d2e), ROM_SKIP(7) )
ROMX_LOAD( "16knight.4h", 0x280006, 0x10000, CRC(5c63b626) SHA1(069b6efaac107abdf762db1edd025ec4d607bac2), ROM_SKIP(7) )
ROMX_LOAD( "25knight.7h", 0x280007, 0x10000, CRC(2556bc0e) SHA1(4f62a23bd7e43c6b00ef744de618d9b44e7d76f6), ROM_SKIP(7) )
ROM_REGION( 0x18000, REGION_CPU2, 0 )
ROM_LOAD( "26.10a", 0x00000, 0x08000, CRC(3692f6e5) SHA1(61b8438d60a39b4cf5062dff0a53228e8a4e4b5f) )
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_REGION( 0x8000, REGION_GFX2, 0 )
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */
ROM_END
ROM_START( daimakaimaiden )
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )
ROM_LOAD16_BYTE( "dmj_38maiden.12f", 0x00000, 0x20000, CRC(7f436646) SHA1(dd60f7757418e0b682c3d14ab1f077668aa328f6) )
ROM_LOAD16_BYTE( "dmj_39maiden.12h", 0x00001, 0x20000, CRC(ebc72dee) SHA1(f82157fdacfe6496398b8702cb4e97a3bcb750c5) )
ROM_LOAD16_BYTE( "dmj_40maiden.13f", 0x40000, 0x20000, CRC(a8371817) SHA1(56f2be6fba857d026da3a0d4e801edd0e6e53d10) )
ROM_LOAD16_BYTE( "dmj_41maiden.13h", 0x40001, 0x20000, CRC(cd7de9bb) SHA1(77dcf1128ae8fd2c5ef3ff9800f69aa875c56436) )
ROM_LOAD16_BYTE( "dm_33maiden.10f", 0x80000, 0x20000, CRC(0e47e3b3) SHA1(3e0b12607f5745c5b4a789e68307cfd08da1ac18) )
ROM_LOAD16_BYTE( "dm_34maiden.10h", 0x80001, 0x20000, CRC(d9675957) SHA1(43fd195995ec311bde79f6a17c47e938baaae545) )
ROM_LOAD16_BYTE( "dm_35maiden.11f", 0xc0000, 0x20000, CRC(c04b85c8) SHA1(f8659624bb9d418d02f63f43478d3b53cfe18718) )
ROM_LOAD16_BYTE( "dm_36maiden.11h", 0xc0001, 0x20000, CRC(89be83de) SHA1(6dfd1380304a85dee7cac4d0b2cfd7625b9020bf) )
ROM_REGION( 0x300000, REGION_GFX1, 0 )
ROMX_LOAD( "dm_02maiden.4b", 0x000000, 0x20000, CRC(e195234d) SHA1(e83fe906577ff9a55c6222b148ae616eee71f9bd), ROM_SKIP(7) )
ROMX_LOAD( "dm_01maiden.4a", 0x000001, 0x20000, CRC(bf40447c) SHA1(129f989307618346d4d0f048cf0975fcd9ac85ba), ROM_SKIP(7) )
ROMX_LOAD( "dm_10maiden.9b", 0x000002, 0x20000, CRC(64506deb) SHA1(81795caef6c183c26597e69f0ca4dc2f46a97a9b), ROM_SKIP(7) )
ROMX_LOAD( "dm_09maiden.9a", 0x000003, 0x20000, CRC(6db846bf) SHA1(3031a7a754cc8a45265663d5d13c588ed1a2e3e4), ROM_SKIP(7) )
ROMX_LOAD( "dm_18maiden.5e", 0x000004, 0x20000, CRC(3d707890) SHA1(1fb13ac4f4d458c1d8429cb18b3cb0c755582c8f), ROM_SKIP(7) )
ROMX_LOAD( "dm_17maiden.5c", 0x000005, 0x20000, CRC(25adb6e2) SHA1(e57207799427f9372052a886be92aadd1521f9b2), ROM_SKIP(7) )
ROMX_LOAD( "dm_30maiden.8h", 0x000006, 0x20000, CRC(29bb7d32) SHA1(fbf501e9674e64528846c1b4bdf1c50350e2163e), ROM_SKIP(7) )
ROMX_LOAD( "dm_29maiden.8f", 0x000007, 0x20000, CRC(d99c38e0) SHA1(0d1a2a391a63eb723a07cec051daadaba8bd93b2), ROM_SKIP(7) )
ROMX_LOAD( "dm_04maiden.5b", 0x100000, 0x20000, CRC(a4f4f8f0) SHA1(edca0f61b40a18afe279f7007c233064130cfb4f), ROM_SKIP(7) )
ROMX_LOAD( "dm_03maiden.5a", 0x100001, 0x20000, CRC(b1033e62) SHA1(547fc281dd9e7a74ac86c3692508c7bde9b6167b), ROM_SKIP(7) )
ROMX_LOAD( "dm_12maiden.10b", 0x100002, 0x20000, CRC(10fdd76a) SHA1(aee774d6323292799dff7a30ef9559c92fe5507a), ROM_SKIP(7) )
ROMX_LOAD( "dm_11maiden.10a", 0x100003, 0x20000, CRC(9040cb04) SHA1(b32e9056fc20a5162868eade10f3ef5efc167a28), ROM_SKIP(7) )
ROMX_LOAD( "dm_20maiden.7e", 0x100004, 0x20000, CRC(281d0b3e) SHA1(70e1813de184ad0ec164145b7b843b5e387494e3), ROM_SKIP(7) )
ROMX_LOAD( "dm_19maiden.7c", 0x100005, 0x20000, CRC(2623b52f) SHA1(fc4200924452bfbff687934782398ed345dc0aa0), ROM_SKIP(7) )
ROMX_LOAD( "dm_32maiden.9h", 0x100006, 0x20000, CRC(99692344) SHA1(67dc70618568b7c0adcb00a612aaf5501f6c8c0f), ROM_SKIP(7) )
ROMX_LOAD( "dm_31maiden.9f", 0x100007, 0x20000, CRC(54acb729) SHA1(d1fca43db36253fd19db4337c49272a6cadff597), ROM_SKIP(7) )
ROMX_LOAD( "dm_06maiden.7b", 0x200000, 0x10000, CRC(e99f777e) SHA1(015549b7745e7a1c26ae50450e5a3ff0116c64eb), ROM_SKIP(7) )
ROMX_LOAD( "dm_05maiden.7a", 0x200001, 0x10000, CRC(9798c4be) SHA1(601a2122e774b5142d152d9666cbec0a512c0fae), ROM_SKIP(7) )
ROMX_LOAD( "dm_14maiden.11b", 0x200002, 0x10000, CRC(d731677a) SHA1(53138a653737556023e384fb075c971ca0640235), ROM_SKIP(7) )
ROMX_LOAD( "dm_13maiden.11a", 0x200003, 0x10000, CRC(e9282194) SHA1(47d635673d894725cb343b2753e2be632bcb23cd), ROM_SKIP(7) )
ROMX_LOAD( "dm_22maiden.8e", 0x200004, 0x10000, CRC(f94717d0) SHA1(dc0e13727d0a2b4111f9fa64ca272986de822196), ROM_SKIP(7) )
ROMX_LOAD( "dm_21maiden.8c", 0x200005, 0x10000, CRC(d2605c04) SHA1(e6e5343d1f3737a0cdd815c8045acc81f1e6587e), ROM_SKIP(7) )
ROMX_LOAD( "dm_26maiden.10e", 0x200006, 0x10000, CRC(ad8a53ec) SHA1(48a763d5ab320a1b3ce9f8ec5319a6a854f34fca), ROM_SKIP(7) )
ROMX_LOAD( "dm_25maiden.10c", 0x200007, 0x10000, CRC(ae66ab27) SHA1(3eb22952e3b6843e13d05f14b3ccaf7c504c7aeb), ROM_SKIP(7) )
ROMX_LOAD( "dm_08maiden.8b", 0x280000, 0x10000, CRC(afce74dd) SHA1(a13d7a7e11f900d6f5a7273ca93e30f1e0a385b1), ROM_SKIP(7) )
ROMX_LOAD( "dm_07maiden.8a", 0x280001, 0x10000, CRC(0b4e155f) SHA1(268188162286e12af63653d5f700263f6f3b70d4), ROM_SKIP(7) )
ROMX_LOAD( "dm_16maiden.12b", 0x280002, 0x10000, CRC(5bc8e886) SHA1(17b727169c68b0ed3574bc321db4fbfd4d2f9266), ROM_SKIP(7) )
ROMX_LOAD( "dm_15maiden.12a", 0x280003, 0x10000, CRC(095a6785) SHA1(659530f934c1f33067e9af71503b92da88315018), ROM_SKIP(7) )
ROMX_LOAD( "dm_24maiden.9e", 0x280004, 0x10000, CRC(c8a5b7e9) SHA1(35b2f96994338816b29e1f65127f81d949a3a775), ROM_SKIP(7) )
ROMX_LOAD( "dm_23maiden.9c", 0x280005, 0x10000, CRC(7d2f39f4) SHA1(6156385421104fef4e7b02bb1aba04f13aadb750), ROM_SKIP(7) )
ROMX_LOAD( "dm_28maiden.11e", 0x280006, 0x10000, CRC(2913fa9b) SHA1(c37e526f5c647091cc45fa045f1e8049ec71483a), ROM_SKIP(7) )
ROMX_LOAD( "dm_27maiden.11c", 0x280007, 0x10000, CRC(35d1b525) SHA1(e10226e6a34c827a44908384c37a0f9aaa74c934), ROM_SKIP(7) )
ROM_REGION( 0x18000, REGION_CPU2, 0 )
ROM_LOAD( "37.13c", 0x00000, 0x08000, CRC(3692f6e5) SHA1(61b8438d60a39b4cf5062dff0a53228e8a4e4b5f) )
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_REGION( 0x8000, REGION_GFX2, 0 )
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */
ROM_END
ROM_START( daimakaiknight )
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )
ROM_LOAD16_BYTE( "dmj_38knight.12f", 0x00000, 0x20000, CRC(3098aca7) SHA1(ac1f175deffd486eab177f0c6c3992802c24dd49) )
ROM_LOAD16_BYTE( "dmj_39knight.12h", 0x00001, 0x20000, CRC(222d253b) SHA1(7c26d6a0fe204a83dfc9cba6db7ed2635a7b9f7b) )
ROM_LOAD16_BYTE( "dmj_40knight.13f", 0x40000, 0x20000, CRC(1050f528) SHA1(c09ddd0f63e093ad1e6c50782db4ffa21114c6e1) )
ROM_LOAD16_BYTE( "dmj_41knight.13h", 0x40001, 0x20000, CRC(bff07623) SHA1(2f8d6980ae5a3f798fd3296185f14fb59b8a472a) )
ROM_LOAD16_BYTE( "dm_33knight.10f", 0x80000, 0x20000, CRC(37619c8a) SHA1(39782b4285fbf103b2a820d745dc56ae1a1e9def) )
ROM_LOAD16_BYTE( "dm_34knight.10h", 0x80001, 0x20000, CRC(f92dc399) SHA1(eb92ba0d28e22c6f3c6f16396017ed45c4932487) )
ROM_LOAD16_BYTE( "dm_35knight.11f", 0xc0000, 0x20000, CRC(c04b85c8) SHA1(f8659624bb9d418d02f63f43478d3b53cfe18718) )
ROM_LOAD16_BYTE( "dm_36knight.11h", 0xc0001, 0x20000, CRC(89be83de) SHA1(6dfd1380304a85dee7cac4d0b2cfd7625b9020bf) )
ROM_REGION( 0x300000, REGION_GFX1, 0 )
ROMX_LOAD( "dm_02knight.4b", 0x000000, 0x20000, CRC(27bd1d69) SHA1(464ba1ec2ccb7997a9bcce6a024b3f4f62cbbb6d), ROM_SKIP(7) )
ROMX_LOAD( "dm_01knight.4a", 0x000001, 0x20000, CRC(e8ba76ec) SHA1(9c285eb2377155973aa2d06cec86c116e8db8c28), ROM_SKIP(7) )
ROMX_LOAD( "dm_10knight.9b", 0x000002, 0x20000, CRC(44d222eb) SHA1(874da73471bf67aa59aefd03ccbb41b5a3ad26e9), ROM_SKIP(7) )
ROMX_LOAD( "dm_09knight.9a", 0x000003, 0x20000, CRC(5561f7df) SHA1(27aac04774b098fb97847cac0ebe7bdaa7583c65), ROM_SKIP(7) )
ROMX_LOAD( "dm_18knight.5e", 0x000004, 0x20000, CRC(a65e9f34) SHA1(6f4f293189bf487dc3b32539b7698da523eba7b0), ROM_SKIP(7) )
ROMX_LOAD( "dm_17knight.5c", 0x000005, 0x20000, CRC(3f84db19) SHA1(d33389b29d09bc711bed91769ca588795908b313), ROM_SKIP(7) )
ROMX_LOAD( "dm_30knight.8h", 0x000006, 0x20000, CRC(500840f2) SHA1(85efda21fd449a68d8daec435dd2da301b9dd738), ROM_SKIP(7) )
ROMX_LOAD( "dm_29knight.8f", 0x000007, 0x20000, CRC(bafb92de) SHA1(0d221a7004f197a95081be728ee0a54316d9b406), ROM_SKIP(7) )
ROMX_LOAD( "dm_04knight.5b", 0x100000, 0x20000, CRC(a4f4f8f0) SHA1(edca0f61b40a18afe279f7007c233064130cfb4f), ROM_SKIP(7) )
ROMX_LOAD( "dm_03knight.5a", 0x100001, 0x20000, CRC(b1033e62) SHA1(547fc281dd9e7a74ac86c3692508c7bde9b6167b), ROM_SKIP(7) )
ROMX_LOAD( "dm_12knight.10b", 0x100002, 0x20000, CRC(10fdd76a) SHA1(aee774d6323292799dff7a30ef9559c92fe5507a), ROM_SKIP(7) )
ROMX_LOAD( "dm_11knight.10a", 0x100003, 0x20000, CRC(9040cb04) SHA1(b32e9056fc20a5162868eade10f3ef5efc167a28), ROM_SKIP(7) )
ROMX_LOAD( "dm_20knight.7e", 0x100004, 0x20000, CRC(281d0b3e) SHA1(70e1813de184ad0ec164145b7b843b5e387494e3), ROM_SKIP(7) )
ROMX_LOAD( "dm_19knight.7c", 0x100005, 0x20000, CRC(2623b52f) SHA1(fc4200924452bfbff687934782398ed345dc0aa0), ROM_SKIP(7) )
ROMX_LOAD( "dm_32knight.9h", 0x100006, 0x20000, CRC(99692344) SHA1(67dc70618568b7c0adcb00a612aaf5501f6c8c0f), ROM_SKIP(7) )
ROMX_LOAD( "dm_31knight.9f", 0x100007, 0x20000, CRC(54acb729) SHA1(d1fca43db36253fd19db4337c49272a6cadff597), ROM_SKIP(7) )
ROMX_LOAD( "dm_06knight.7b", 0x200000, 0x10000, CRC(a726123a) SHA1(b9b5133ac838d98aa2eb0098ce6dc95e1ed36e19), ROM_SKIP(7) )
ROMX_LOAD( "dm_05knight.7a", 0x200001, 0x10000, CRC(379d3bee) SHA1(8c65e0443cf7ff7695b103bc67d7288e156a613a), ROM_SKIP(7) )
ROMX_LOAD( "dm_14knight.11b", 0x200002, 0x10000, CRC(eedbdd71) SHA1(603855bf2e046543bc6cab4708b1fde01c5593e0), ROM_SKIP(7) )
ROMX_LOAD( "dm_13knight.11a", 0x200003, 0x10000, CRC(96a4311f) SHA1(02faedaffef031c0c446f1ec27d3de286094f0b3), ROM_SKIP(7) )
ROMX_LOAD( "dm_22knight.8e", 0x200004, 0x10000, CRC(af590ecd) SHA1(38b1398600aa16b0adaa89813169977d2565cc9a), ROM_SKIP(7) )
ROMX_LOAD( "dm_21knight.8c", 0x200005, 0x10000, CRC(00bdeef0) SHA1(6a2aa247a1bc2d467e4f1ae2c3f6b937d13310b0), ROM_SKIP(7) )
ROMX_LOAD( "dm_26knight.10e", 0x200006, 0x10000, CRC(d409bf40) SHA1(a9d79df80e97391118c74571eed55cdb1a89da00), ROM_SKIP(7) )
ROMX_LOAD( "dm_25knight.10c", 0x200007, 0x10000, CRC(fc91ec7c) SHA1(4d099e4fa67daab094997a217b3381340955e0ab), ROM_SKIP(7) )
ROMX_LOAD( "dm_08knight.8b", 0x280000, 0x10000, CRC(08043aa8) SHA1(41dcf3219d1895489ef1db67226420f50264f9cc), ROM_SKIP(7) )
ROMX_LOAD( "dm_07knight.8a", 0x280001, 0x10000, CRC(daca4bc1) SHA1(8566fff3073e2323eeb7e4b265e18808fb92e1a5), ROM_SKIP(7) )
ROMX_LOAD( "dm_16knight.12b", 0x280002, 0x10000, CRC(0d7d3de4) SHA1(618025aaf21b622ad7beaff286bea01313015628), ROM_SKIP(7) )
ROMX_LOAD( "dm_15knight.12a", 0x280003, 0x10000, CRC(53622c1c) SHA1(3546fa048823922d01d50fdbc9a717738c535eb6), ROM_SKIP(7) )
ROMX_LOAD( "dm_24knight.9e", 0x280004, 0x10000, CRC(95efe854) SHA1(03bcdd7bf25637e1ab7166985093d14111699dc5), ROM_SKIP(7) )
ROMX_LOAD( "dm_23knight.9c", 0x280005, 0x10000, CRC(5fd971cf) SHA1(dc2fb8e909cd4a5de1d637b750d383ad34480d2e), ROM_SKIP(7) )
ROMX_LOAD( "dm_28knight.11e", 0x280006, 0x10000, CRC(5c63b626) SHA1(069b6efaac107abdf762db1edd025ec4d607bac2), ROM_SKIP(7) )
ROMX_LOAD( "dm_27knight.11c", 0x280007, 0x10000, CRC(2556bc0e) SHA1(4f62a23bd7e43c6b00ef744de618d9b44e7d76f6), ROM_SKIP(7) )
ROM_REGION( 0x18000, REGION_CPU2, 0 )
ROM_LOAD( "37.13c", 0x00000, 0x08000, CRC(3692f6e5) SHA1(61b8438d60a39b4cf5062dff0a53228e8a4e4b5f) )
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_REGION( 0x8000, REGION_GFX2, 0 )
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */
ROM_END
ROM_START( strider )
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 ) /* 68000 code */
ROM_LOAD16_BYTE( "strider.30", 0x00000, 0x20000, CRC(da997474) SHA1(3e4ac98f9a6967d61899281b31c7de779723397b) )
@@ -6274,6 +6565,39 @@ ROM_START( sf2cej )
ROM_LOAD( "s92_19.bin", 0x20000, 0x20000, CRC(beade53f) SHA1(277c397dc12752719ec6b47d2224750bd1c07f79) )
ROM_END
ROM_START( sf2mix ) // 1.3
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 )
ROM_LOAD16_WORD_SWAP( "sf2mix.p1", 0x000000, 0x80000, CRC(478d09c6) SHA1(accd9c96077381471a07afecf1d44f55930ce8cc) )
ROM_LOAD16_WORD_SWAP( "sf2mix.p2", 0x080000, 0x80000, CRC(23212fb2) SHA1(f34660ef8cbe4ad5b09f8290ef70b351228bd1c6) )
ROM_LOAD16_WORD_SWAP( "sf2mix.p3", 0x100000, 0x80000, CRC(d3d77d12) SHA1(d9f99607325a8df9126f0e165dea037b7fefc996) )
ROM_REGION( 0x600000, REGION_GFX1, 0 )
ROMX_LOAD( "sf2mix99.c01", 0x000000, 0x80000, CRC(a8f70643) SHA1(0d3ab7fe1d0d15397a79c9bd304f22593a9b8d87) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "sf2mix99.c02", 0x000002, 0x80000, CRC(f73f1913) SHA1(b36db11822f5601726892726f8505b7e8b676ab6) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "sf2mix99.c03", 0x000004, 0x80000, CRC(a80234b4) SHA1(e8c3e8030fa2ce69465d97ccb02de622e9214b01) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "sf2mix99.c04", 0x000006, 0x80000, CRC(4d910b53) SHA1(1f28fe150ddf77c91c8ae998ee52e068327335d5) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "sf2mix100.c05", 0x200000, 0x80000, CRC(01ae6240) SHA1(59391e9681497ac6ec8a2736e15864f83dffdb0e) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "sf2mix100.c06", 0x200002, 0x80000, CRC(88dea20a) SHA1(d8e71ff94e796d7720fa0d73c261dca783262b5a) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "sf2mix100.c07", 0x200004, 0x80000, CRC(7ea140b2) SHA1(2660ece5a443c6e32344627af9f81dc7c8cd3ea4) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "sf2mix100.c08", 0x200006, 0x80000, CRC(fbc81a7e) SHA1(b950566052114da540a0893e733ca8c7e8847003) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "sf2mix100.c09", 0x400000, 0x80000, CRC(78e86cf4) SHA1(02de07c66d8a899f0d99c5f91b0795a7a22834ae) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "sf2mix100.c10", 0x400002, 0x80000, CRC(2f8e6dc9) SHA1(b9ee9fd782cb23d6652f100f5c25944dfdd22a3e) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "sf2mix100.c11", 0x400004, 0x80000, CRC(70095fdc) SHA1(8fb4b22841847858c0ac30eca49109e99709c670) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "sf2mix100.c12", 0x400006, 0x80000, CRC(d14d18e5) SHA1(72aebfb2e589a3fa248e3ffa2723f77f1139b787) , ROM_GROUPWORD | ROM_SKIP(6) )
ROM_REGION( 0x18000, REGION_CPU2, 0 )
ROM_LOAD( "sf2mix96.m1", 0x00000, 0x08000, CRC(a379fdc5) SHA1(e9de38c13bd665698528bc102b1b16e9bdcae65b) )
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_REGION( 0x40000, REGION_SOUND1, 0 )
ROM_LOAD( "sf2mix96.v1", 0x00000, 0x20000, CRC(6aa5d7fa) SHA1(87cfea3a9f62653fa236f49b5b25b927cff30a02) )
ROM_LOAD( "sf2mix96.v2", 0x20000, 0x20000, CRC(f92f5a4f) SHA1(3f1d477ab0299d2783231c3bd9983513a85b2fe6) )
//ROM_REGION( 0x80, "control", 0 )
//ROM_LOAD( "sf2ce.key", 0x00, 0x80, CRC(35b37429) SHA1(b372cce106c0900554735c207fb333ac93554ec2) )
//ROM_LOAD( "sf2ce.key", 0x00, 0x80, CRC(35b37429) SHA1(b372cce106c0900554735c207fb333ac93554ec2) )
ROM_END
ROM_START( sf2rb )
ROM_REGION( CODE_SIZE, REGION_CPU1, 0 ) /* 68000 code */
ROM_LOAD16_WORD( "sf2d__23.rom", 0x000000, 0x80000, CRC(450532b0) SHA1(14d5ff44ce97247ef4c42147157856d16c5fb4b8) )
@@ -7732,10 +8056,10 @@ ROM_START( wofch )
ROMX_LOAD( "tk2-3m.5a", 0x000002, 0x80000, CRC(45227027) SHA1(b21afc593f0d4d8909dfa621d659cbb40507d1b2) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tk2-2m.4a", 0x000004, 0x80000, CRC(c5ca2460) SHA1(cbe14867f7b94b638ca80db7c8e0c60881183469) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tk2-4m.6a", 0x000006, 0x80000, CRC(e349551c) SHA1(1d977bdf256accf750ad9930ec4a0a19bbf86964) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tk2=ch=_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) ) // == tk2_05.7a
ROMX_LOAD( "tk2=ch=_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) ) // == tk2_06.8a
ROMX_LOAD( "tk2=ch=_05.7a", 0x200000, 0x80000, CRC(e4a44d53) SHA1(b747679f4d63e5e62d9fd81b3120fba0401fadfb) , ROM_GROUPWORD | ROM_SKIP(6) ) /* == tk2_05.7a */
ROMX_LOAD( "tk2=ch=_06.8a", 0x200002, 0x80000, CRC(58066ba8) SHA1(c93af968e21094d020e4b2002e0c6fc0d746af0b) , ROM_GROUPWORD | ROM_SKIP(6) ) /* == tk2_06.8a */
ROMX_LOAD( "tk2=ch=_07.9a", 0x200004, 0x80000, CRC(cc9006c9) SHA1(cfcbec3a67052268a7739538aa28a6391fe5400e) , ROM_GROUPWORD | ROM_SKIP(6) ) /* 1 byte different from wofj, pcb verified */
ROMX_LOAD( "tk2=ch=_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) ) // == tk2_08.10a
ROMX_LOAD( "tk2=ch=_08.10a", 0x200006, 0x80000, CRC(d4a19a02) SHA1(ff396b1d33d9b4842140f2c6d085fe05748e3244) , ROM_GROUPWORD | ROM_SKIP(6) ) /* == tk2_08.10a */
ROM_REGION( 0x8000, REGION_GFX2, 0 )
ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */
@@ -7757,24 +8081,28 @@ static DRIVER_INIT( wof )
{
wof_decode();
init_cps1();
cps_qsound_state_register();
}
static DRIVER_INIT( dino )
{
dino_decode();
init_cps1();
cps_qsound_state_register();
}
static DRIVER_INIT( punisher )
{
punisher_decode();
init_cps1();
cps_qsound_state_register();
}
static DRIVER_INIT( slammast )
{
slammast_decode();
init_cps1();
cps_qsound_state_register();
}
static DRIVER_INIT( pang3 )
@@ -7802,126 +8130,126 @@ static DRIVER_INIT( pang3 )
}
GAME( 1988, forgottn, 0, forgottn, forgottn, cps1, ROT0, "Capcom", "Forgotten Worlds (US)" )
GAME( 1988, lostwrld, forgottn, forgottn, forgottn, cps1, ROT0, "Capcom", "Lost Worlds (Japan)" )
GAME( 1988, ghouls, 0, cps1, ghouls, cps1, ROT0, "Capcom", "Ghouls'n Ghosts (World)" ) /* Wed.26.10.1988 in the ROMS*/
GAME( 1988, ghoulsu, ghouls, cps1, ghoulsu, cps1, ROT0, "Capcom", "Ghouls'n Ghosts (US)" ) /* Wed.26.10.1988 in the ROMS*/
GAME( 1988, daimakai, ghouls, cps1, daimakai, cps1, ROT0, "Capcom", "Dai Makai-Mura (Japan)" ) /* Wed.26.10.1988 in the ROMS*/
GAME( 1989, strider, 0, cps1, strider, cps1, ROT0, "Capcom", "Strider (US set 1)" )
GAME( 1989, stridrua, strider, cps1, stridrua, cps1, ROT0, "Capcom", "Strider (US set 2)" )
GAME( 1989, striderj, strider, cps1, strider, cps1, ROT0, "Capcom", "Strider Hiryu (Japan set 1)" )
GAME( 1989, stridrja, strider, cps1, strider, cps1, ROT0, "Capcom", "Strider Hiryu (Japan set 2)" )
GAME( 1989, dw, 0, cps1, dw, cps1, ROT0, "Capcom", "Dynasty Wars (World)" ) /* (c) Capcom U.S.A.*/
GAME( 1989, dwj, dw, cps1, dw, cps1, ROT0, "Capcom", "Tenchi wo Kurau (Japan)" )
GAME( 1989, willow, 0, cps1, willow, cps1, ROT0, "Capcom", "Willow (US)" )
GAME( 1989, willowj, willow, cps1, willow, cps1, ROT0, "Capcom", "Willow (Japan, Japanese)" ) /* Japan - warning*/
GAME( 1989, willowje, willow, cps1, willow, cps1, ROT0, "Capcom", "Willow (Japan, English)" ) /* (c) Capcom U.S.A. but Japan - warning*/
GAME( 1989, unsquad, 0, cps1, unsquad, cps1, ROT0, "Capcom", "U.N. Squadron (US)" )
GAME( 1989, area88, unsquad, cps1, unsquad, cps1, ROT0, "Capcom", "Area 88 (Japan)" )
GAME( 1989, ffight, 0, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (World)" )
GAME( 1989, ffightu, ffight, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (US 900112)" )
GAME( 1989, ffightj, ffight, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (Japan set 1)" )
GAME( 1989, ffightj1, ffight, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (Japan set 2)" )
GAME( 1989, ffightae, ffight, ffight_hack, ffightae, cps1, ROT0, "bootleg", "Final Fight 30th Anniversary Edition" )
GAME( 1990, 1941, 0, cps1, 1941, cps1, ROT270, "Capcom", "1941 - Counter Attack (World)" )
GAME( 1990, 1941j, 1941, cps1, 1941, cps1, ROT270, "Capcom", "1941 - Counter Attack (Japan)" )
GAME( 1990, mercs, 0, cps1, mercs, cps1, ROT270, "Capcom", "Mercs (World 900302)" ) /* ETC*/
GAME( 1990, mercsu, mercs, cps1, mercs, cps1, ROT270, "Capcom", "Mercs (US 900302)" )
GAME( 1990, mercsua, mercs, cps1, mercs, cps1, ROT270, "Capcom", "Mercs (US 900608)" )
GAME( 1990, mercsj, mercs, cps1, mercs, cps1, ROT270, "Capcom", "Senjou no Ookami II (Japan 900302)" )
GAME( 1990, mtwins, 0, cps1, mtwins, cps1, ROT0, "Capcom", "Mega Twins (World 900619)" ) /* ETC - (c) Capcom U.S.A. with World - warning */
GAME( 1990, chikij, mtwins, cps1, mtwins, cps1, ROT0, "Capcom", "Chiki Chiki Boys (Japan 900619)" )
GAME( 1990, msword, 0, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword - Heroic Fantasy (World 900725)" ) /* 25.07.1990 Other Country*/
GAME( 1990, mswordr1, msword, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword - Heroic Fantasy (World 900623)" ) /* 23.06.1990 Other Country*/
GAME( 1990, mswordu, msword, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword - Heroic Fantasy (US 900725)" ) /* 25.07.1990 U.S.A.*/
GAME( 1990, mswordj, msword, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword (Japan 900623)" ) /* 23.06.1990 Japan*/
GAME( 1990, cawing, 0, cps1, cawing, cps1, ROT0, "Capcom", "Carrier Air Wing (World 901012)" ) /* ETC*/
GAME( 1990, cawingu, cawing, cps1, cawing, cps1, ROT0, "Capcom", "Carrier Air Wing (US 901012)" )
GAME( 1990, cawingj, cawing, cps1, cawing, cps1, ROT0, "Capcom", "U.S. Navy (Japan 901012)" )
GAME( 1990, nemo, 0, cps1, nemo, cps1, ROT0, "Capcom", "Nemo (World 901130)" ) /* ETC */
GAME( 1990, nemoj, nemo, cps1, nemo, cps1, ROT0, "Capcom", "Nemo (Japan 901120)" )
GAMEC(1991, sf2, 0, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (World 910522)", &sf2_ctrl, NULL ) /* ETC*/
GAMEC(1991, sf2eb, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (World 910214)", &sf2_ctrl, NULL ) /* ETC*/
GAMEC(1991, sf2ua, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910206)", &sf2_ctrl, NULL )
GAMEC(1991, sf2ub, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910214)", &sf2_ctrl, NULL )
GAMEC(1991, sf2ud, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910318)", &sf2_ctrl, NULL )
GAMEC(1991, sf2ue, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910228)", &sf2_ctrl, NULL )
GAMEC(1991, sf2uf, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910411)", &sf2_ctrl, NULL )
GAMEC(1991, sf2ui, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910522)", &sf2_ctrl, NULL )
GAMEC(1991, sf2uk, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 911101)", &sf2_ctrl, NULL )
GAMEC(1991, sf2j, sf2, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (Japan 911210)", &sf2_ctrl, NULL )
GAMEC(1991, sf2ja, sf2, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (Japan 910214)", &sf2_ctrl, NULL )
GAMEC(1991, sf2jc, sf2, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (Japan 910306)", &sf2_ctrl, NULL )
GAME( 1991, 3wonders, 0, cps1, 3wonders, cps1, ROT0, "Capcom", "Three Wonders (World 910520)" ) /* ETC */
GAME( 1991, 3wonderu, 3wonders, cps1, 3wonders, cps1, ROT0, "Capcom", "Three Wonders (US 910520)" )
GAME( 1991, wonder3, 3wonders, cps1, 3wonders, cps1, ROT0, "Capcom", "Wonder 3 (Japan 910520)" )
GAME( 1991, kod, 0, cps1, kod, cps1, ROT0, "Capcom", "The King of Dragons (World 910711)" ) /* ETC */
GAME( 1991, kodu, kod, cps1, kodj, cps1, ROT0, "Capcom", "The King of Dragons (US 910910)" )
GAME( 1991, kodj, kod, cps1, kodj, cps1, ROT0, "Capcom", "The King of Dragons (Japan 910805)" )
GAMEX(1991, kodb, kod, cps1, kod, cps1, ROT0, "Capcom", "The King of Dragons (bootleg)", GAME_NOT_WORKING ) /* 910731 ETC*/
GAME( 1991, captcomm, 0, cps1, captcomm, cps1, ROT0, "Capcom", "Captain Commando (World 911014)" ) /* OTHER COUNTRY*/
GAME( 1991, captcomu, captcomm, cps1, captcomm, cps1, ROT0, "Capcom", "Captain Commando (US 910928)" )
GAME( 1991, captcomj, captcomm, cps1, captcomm, cps1, ROT0, "Capcom", "Captain Commando (Japan 911202)" )
GAME( 1991, knights, 0, cps1, knights, cps1, ROT0, "Capcom", "Knights of the Round (World 911127)" ) /* ETC */
GAME( 1991, knightsu, knights, cps1, knights, cps1, ROT0, "Capcom", "Knights of the Round (US 911127)" )
GAME( 1991, knightsj, knights, cps1, knights, cps1, ROT0, "Capcom", "Knights of the Round (Japan 911127)" )
GAMEC(1992, sf2ce, 0, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (World 920313)", &sf2_ctrl, NULL ) /* ETC */
GAMEC(1992, sf2ceua, sf2ce, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (US 920313)", &sf2_ctrl, NULL )
GAMEC(1992, sf2ceub, sf2ce, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (US 920513)", &sf2_ctrl, NULL )
GAMEC(1992, sf2ceuc, sf2ce, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (US 920803)", &sf2_ctrl, NULL )
GAMEC(1992, sf2cej, sf2ce, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (Japan 920513)", &sf2_ctrl, NULL )
GAMEC(1992, sf2rb, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Rainbow set 1)", &sf2_ctrl, NULL ) /* 920322 - based on World version*/
GAMEC(1992, sf2rb2, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Rainbow set 2)", &sf2_ctrl, NULL ) /* 920322 - based on World version*/
GAMEC(1992, sf2red, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Red Wave)", &sf2_ctrl, NULL ) /* 920313 - based on World version*/
GAMEC(1992, sf2v004, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II! - Champion Edition (V004)", &sf2_ctrl, NULL ) /* 102092 !!! - based on (heavily modified) World version*/
GAMEC(1992, sf2accp2, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Accelerator Pt.II)", &sf2_ctrl, NULL ) /* 920313 - based on USA version*/
GAMECX(1992, sf2m1, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M1)", GAME_NOT_WORKING, &sf2_ctrl, NULL )
GAMECX(1992, sf2m2, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M2)", GAME_NOT_WORKING, &sf2_ctrl, NULL )
GAMECX(1992, sf2m3, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M3)", GAME_NOT_WORKING , &sf2_ctrl, NULL )
GAMEC(1992, sf2m4, sf2ce, sf2, sf2j, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M4)", &sf2_ctrl, NULL )
GAMEC(1992, sf2m5, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M5)", &sf2_ctrl, NULL )
GAMEC(1992, sf2m6, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M6)", &sf2_ctrl, NULL )
GAMEC(1992, sf2m7, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M7)", &sf2_ctrl, NULL )
GAMEC(1992, sf2yyc, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (YYC)", &sf2_ctrl, NULL )
GAMEC(1992, sf2koryu, sf2ce, sf2, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Kouryu)", &sf2_ctrl, NULL )
GAME( 1992, varth, 0, cps1, varth, cps1, ROT270, "Capcom", "Varth - Operation Thunderstorm (World 920612)" ) /* ETC */
GAME( 1992, varthu, varth, cps1, varth, cps1, ROT270, "Capcom (Romstar license)", "Varth - Operation Thunderstorm (US 920612)" )
GAME( 1992, varthj, varth, cps1, varth, cps1, ROT270, "Capcom", "Varth - Operation Thunderstorm (Japan 920714)" )
GAME( 1992, cworld2j, 0, cps1, cworld2j, cps1, ROT0, "Capcom", "Capcom World 2 (Japan 920611)" )
GAME( 1992, sf2t, sf2ce, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Hyper Fighting (US 921209)" )
GAME( 1992, sf2tj, sf2ce, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II' Turbo - Hyper Fighting (Japan 921209)" )
GAME( 1992, qad, 0, cps1, qad, cps1, ROT0, "Capcom", "Quiz and Dragons (US 920701)" )
GAME( 1994, qadj, qad, cps1, qadj, cps1, ROT0, "Capcom", "Quiz and Dragons (Japan 940921)" )
GAME( 1995, qtono2, 0, cps1, qtono2, cps1, ROT0, "Capcom", "Quiz Tonosama no Yabou 2 Zenkoku-ban (Japan 950123)" )
GAME( 1995, megaman, 0, cps1, megaman, cps1, ROT0, "Capcom", "Mega Man - The Power Battle (CPS1 Asia 951006)" )
GAME( 1995, rockmanj, megaman, cps1, megaman, cps1, ROT0, "Capcom", "Rockman - The Power Battle (CPS1 Japan 950922)" )
GAME( 1992, wof, 0, qsound, wof, wof, ROT0, "Capcom", "Warriors of Fate (World 921002)" ) /* ETC */
GAME( 1992, wofa, wof, qsound, wof, wof, ROT0, "Capcom", "Sangokushi II (Asia 921005)" ) /* World - warning */
GAME( 1992, wofu, wof, qsound, wof, wof, ROT0, "Capcom", "Warriors of Fate (US 921031)" ) /* World - warning */
GAME( 1992, wofj, wof, qsound, wof, wof, ROT0, "Capcom", "Tenchi wo Kurau II - Sekiheki no Tatakai (Japan 921031)" )
GAME( 1993, dino, 0, qsound, dino, dino, ROT0, "Capcom", "Cadillacs and Dinosaurs (World 930201)" ) /* ETC */
GAME( 1993, dinou, dino, qsound, dino, dino , ROT0, "Capcom", "Cadillacs and Dinosaurs (US 930201)" )
GAME( 1993, dinoj, dino, qsound, dino, dino , ROT0, "Capcom", "Cadillacs Kyouryuu-Shinseiki (Japan 930201)" )
GAME( 1993, punisher, 0, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (World 930422)" ) /* ETC*/
GAME( 1993, punishru, punisher, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (US 930422)" )
GAME( 1993, punishrj, punisher, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (Japan 930422)" )
GAME( 1993, slammast, 0, qsound, slammast, slammast, ROT0, "Capcom", "Saturday Night Slam Masters (World 930713)" ) /* ETC */
GAME( 1993, slammasu, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Saturday Night Slam Masters (US 930713)" )
GAME( 1993, mbomberj, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber - The Body Explosion (Japan 930713)" )
GAME( 1993, mbombrd, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber Duo - Ultimate Team Battle (World 931206)" ) /* ETC */
GAME( 1993, mbombrdj, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber Duo - Heat Up Warriors (Japan 931206)" )
GAME( 1994, pnickj, 0, cps1, pnickj, cps1, ROT0, "Compile (Capcom license)", "Pnickies (Japan 940608)" )
GAME( 1988, forgottn, 0, forgottn, forgottn, cps1, ROT0, "Capcom", "Forgotten Worlds (US)" )
GAME( 1988, lostwrld, forgottn, forgottn, forgottn, cps1, ROT0, "Capcom", "Lost Worlds (Japan)" )
GAME( 1988, ghouls, 0, cps1, ghouls, cps1, ROT0, "Capcom", "Ghouls'n Ghosts (World)" ) /* Wed.26.10.1988 in the ROMS*/
GAME( 1988, ghoulsu, ghouls, cps1, ghoulsu, cps1, ROT0, "Capcom", "Ghouls'n Ghosts (US)" ) /* Wed.26.10.1988 in the ROMS*/
GAME( 1988, daimakai, ghouls, cps1_12mhz, daimakai, cps1, ROT0, "Capcom", "Dai Makai-Mura (Japan)" ) /* Wed.26.10.1988 in the ROMS*/
GAME( 2026, ghoulsmaiden, ghouls, cps1, ghouls, cps1, ROT0, "hack (GoodLuckTrying)", "Ghouls'n Ghosts - Maiden Artoria Edition (World)" )
GAME( 2026, ghoulsknight, ghouls, cps1, ghouls, cps1, ROT0, "hack (GoodLuckTrying)", "Ghouls'n Ghosts - Knight Artoria Edition (World)" )
GAME( 2026, ghoulsumaiden, ghoulsu, cps1, ghoulsu, cps1, ROT0, "hack (GoodLuckTrying)", "Ghouls'n Ghosts - Maiden Artoria Edition (USA)" )
GAME( 2026, ghoulsuknight, ghoulsu, cps1, ghoulsu, cps1, ROT0, "hack (GoodLuckTrying)", "Ghouls'n Ghosts - Knight Artoria Edition (USA)" )
GAME( 2026, daimakaimaiden, ghouls, cps1_12mhz, daimakai, cps1, ROT0, "hack (GoodLuckTrying)", "Daimakaimura - Maiden Artoria Edition (Japan)" )
GAME( 2026, daimakaiknight, ghouls, cps1_12mhz, daimakai, cps1, ROT0, "hack (GoodLuckTrying)", "Daimakaimura - Knight Artoria Edition (Japan)" )
GAME( 1989, strider, 0, cps1, strider, cps1, ROT0, "Capcom", "Strider (US set 1)" )
GAME( 1989, stridrua, strider, cps1, stridrua, cps1, ROT0, "Capcom", "Strider (US set 2)" )
GAME( 1989, striderj, strider, cps1_12mhz, strider, cps1, ROT0, "Capcom", "Strider Hiryu (Japan set 1)" )
GAME( 1989, stridrja, strider, cps1, strider, cps1, ROT0, "Capcom", "Strider Hiryu (Japan set 2)" )
GAME( 1989, dw, 0, cps1, dw, cps1, ROT0, "Capcom", "Dynasty Wars (World)" ) /* (c) Capcom U.S.A.*/
GAME( 1989, dwj, dw, cps1, dw, cps1, ROT0, "Capcom", "Tenchi wo Kurau (Japan)" )
GAME( 1989, willow, 0, cps1, willow, cps1, ROT0, "Capcom", "Willow (US)" )
GAME( 1989, willowj, willow, cps1, willow, cps1, ROT0, "Capcom", "Willow (Japan, Japanese)" ) /* Japan - warning*/
GAME( 1989, willowje, willow, cps1, willow, cps1, ROT0, "Capcom", "Willow (Japan, English)" ) /* (c) Capcom U.S.A. but Japan - warning*/
GAME( 1989, unsquad, 0, cps1, unsquad, cps1, ROT0, "Capcom", "U.N. Squadron (US)" )
GAME( 1989, area88, unsquad, cps1, unsquad, cps1, ROT0, "Capcom", "Area 88 (Japan)" )
GAME( 1989, ffight, 0, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (World)" )
GAME( 1989, ffightu, ffight, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (US 900112)" )
GAME( 1989, ffightj, ffight, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (Japan set 1)" )
GAME( 1989, ffightj1, ffight, ffight_hack, ffight, cps1, ROT0, "Capcom", "Final Fight (Japan set 2)" )
GAME( 1989, ffightae, ffight, ffight_hack_12mhz, ffightae, cps1, ROT0, "bootleg", "Final Fight 30th Anniversary Edition" )
GAME( 1990, 1941, 0, cps1, 1941, cps1, ROT270, "Capcom", "1941 - Counter Attack (World)" )
GAME( 1990, 1941j, 1941, cps1, 1941, cps1, ROT270, "Capcom", "1941 - Counter Attack (Japan)" )
GAME( 1990, mercs, 0, cps1, mercs, cps1, ROT270, "Capcom", "Mercs (World 900302)" ) /* ETC*/
GAME( 1990, mercsu, mercs, cps1, mercs, cps1, ROT270, "Capcom", "Mercs (US 900302)" )
GAME( 1990, mercsua, mercs, cps1, mercs, cps1, ROT270, "Capcom", "Mercs (US 900608)" )
GAME( 1990, mercsj, mercs, cps1, mercs, cps1, ROT270, "Capcom", "Senjou no Ookami II (Japan 900302)" )
GAME( 1990, mtwins, 0, cps1, mtwins, cps1, ROT0, "Capcom", "Mega Twins (World 900619)" ) /* ETC - (c) Capcom U.S.A. with World - warning */
GAME( 1990, chikij, mtwins, cps1, mtwins, cps1, ROT0, "Capcom", "Chiki Chiki Boys (Japan 900619)" )
GAME( 1990, msword, 0, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword - Heroic Fantasy (World 900725)" ) /* 25.07.1990 Other Country*/
GAME( 1990, mswordr1, msword, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword - Heroic Fantasy (World 900623)" ) /* 23.06.1990 Other Country*/
GAME( 1990, mswordu, msword, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword - Heroic Fantasy (US 900725)" ) /* 25.07.1990 U.S.A.*/
GAME( 1990, mswordj, msword, cps1, msword, cps1, ROT0, "Capcom", "Magic Sword (Japan 900623)" ) /* 23.06.1990 Japan*/
GAME( 1990, cawing, 0, cps1, cawing, cps1, ROT0, "Capcom", "Carrier Air Wing (World 901012)" ) /* ETC*/
GAME( 1990, cawingu, cawing, cps1, cawing, cps1, ROT0, "Capcom", "Carrier Air Wing (US 901012)" )
GAME( 1990, cawingj, cawing, cps1, cawing, cps1, ROT0, "Capcom", "U.S. Navy (Japan 901012)" )
GAME( 1990, nemo, 0, cps1, nemo, cps1, ROT0, "Capcom", "Nemo (World 901130)" ) /* ETC */
GAME( 1990, nemoj, nemo, cps1, nemo, cps1, ROT0, "Capcom", "Nemo (Japan 901120)" )
GAMEC(1991, sf2, 0, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (World 910522)", &sf2_ctrl, NULL ) /* ETC*/
GAMEC(1991, sf2eb, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (World 910214)", &sf2_ctrl, NULL ) /* ETC*/
GAMEC(1991, sf2ua, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910206)", &sf2_ctrl, NULL )
GAMEC(1991, sf2ub, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910214)", &sf2_ctrl, NULL )
GAMEC(1991, sf2ud, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910318)", &sf2_ctrl, NULL )
GAMEC(1991, sf2ue, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910228)", &sf2_ctrl, NULL )
GAMEC(1991, sf2uf, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910411)", &sf2_ctrl, NULL )
GAMEC(1991, sf2ui, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 910522)", &sf2_ctrl, NULL )
GAMEC(1991, sf2uk, sf2, sf2, sf2, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (US 911101)", &sf2_ctrl, NULL )
GAMEC(1991, sf2j, sf2, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (Japan 911210)", &sf2_ctrl, NULL )
GAMEC(1991, sf2ja, sf2, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (Japan 910214)", &sf2_ctrl, NULL )
GAMEC(1991, sf2jc, sf2, sf2, sf2j, cps1, ROT0, "Capcom", "Street Fighter II - The World Warrior (Japan 910306)", &sf2_ctrl, NULL )
GAME( 1991, 3wonders, 0, cps1, 3wonders, cps1, ROT0, "Capcom", "Three Wonders (World 910520)" ) /* ETC */
GAME( 1991, 3wonderu, 3wonders, cps1, 3wonders, cps1, ROT0, "Capcom", "Three Wonders (US 910520)" )
GAME( 1991, wonder3, 3wonders, cps1, 3wonders, cps1, ROT0, "Capcom", "Wonder 3 (Japan 910520)" )
GAME( 1991, kod, 0, cps1, kod, cps1, ROT0, "Capcom", "The King of Dragons (World 910711)" ) /* ETC */
GAME( 1991, kodu, kod, cps1, kodj, cps1, ROT0, "Capcom", "The King of Dragons (US 910910)" )
GAME( 1991, kodj, kod, cps1, kodj, cps1, ROT0, "Capcom", "The King of Dragons (Japan 910805)" )
GAMEX(1991, kodb, kod, cps1, kod, cps1, ROT0, "Capcom", "The King of Dragons (bootleg)", GAME_NOT_WORKING ) /* 910731 ETC*/
GAME( 1991, captcomm, 0, cps1, captcomm, cps1, ROT0, "Capcom", "Captain Commando (World 911014)" ) /* OTHER COUNTRY*/
GAME( 1991, captcomu, captcomm, cps1, captcomm, cps1, ROT0, "Capcom", "Captain Commando (US 910928)" )
GAME( 1991, captcomj, captcomm, cps1, captcomm, cps1, ROT0, "Capcom", "Captain Commando (Japan 911202)" )
GAME( 1991, knights, 0, cps1, knights, cps1, ROT0, "Capcom", "Knights of the Round (World 911127)" ) /* ETC */
GAME( 1991, knightsu, knights, cps1, knights, cps1, ROT0, "Capcom", "Knights of the Round (US 911127)" )
GAME( 1991, knightsj, knights, cps1, knights, cps1, ROT0, "Capcom", "Knights of the Round (Japan 911127)" )
GAMEC(1992, sf2ce, 0, sf2_12mhz, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (World 920313)", &sf2_ctrl, NULL ) /* ETC */
GAMEC(1992, sf2ceua, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (US 920313)", &sf2_ctrl, NULL )
GAMEC(1992, sf2ceub, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (US 920513)", &sf2_ctrl, NULL )
GAMEC(1992, sf2ceuc, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (US 920803)", &sf2_ctrl, NULL )
GAMEC(1992, sf2cej, sf2ce, sf2_12mhz, sf2j, cps1, ROT0, "Capcom", "Street Fighter II' - Champion Edition (Japan 920513)", &sf2_ctrl, NULL )
GAMEC(1992, sf2rb, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Rainbow set 1)", &sf2_ctrl, NULL ) /* 920322 - based on World version*/
GAMEC(1992, sf2rb2, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Rainbow set 2)", &sf2_ctrl, NULL ) /* 920322 - based on World version*/
GAMEC(1992, sf2red, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Red Wave)", &sf2_ctrl, NULL ) /* 920313 - based on World version*/
GAMEC(1992, sf2v004, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II! - Champion Edition (V004)", &sf2_ctrl, NULL ) /* 102092 !!! - based on (heavily modified) World version*/
GAMEC(1992, sf2accp2, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Accelerator Pt.II)", &sf2_ctrl, NULL ) /* 920313 - based on USA version*/
GAMECX(1992,sf2m1, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M1)", GAME_NOT_WORKING, &sf2_ctrl, NULL )
GAMECX(1992,sf2m2, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M2)", GAME_NOT_WORKING, &sf2_ctrl, NULL )
GAMECX(1992,sf2m3, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M3)", GAME_NOT_WORKING , &sf2_ctrl, NULL )
GAMEC(1992, sf2m4, sf2ce, sf2_12mhz, sf2j, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M4)", &sf2_ctrl, NULL )
GAMEC(1992, sf2m5, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M5)", &sf2_ctrl, NULL )
GAMEC(1992, sf2m6, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M6)", &sf2_ctrl, NULL )
GAMEC(1992, sf2m7, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (M7)", &sf2_ctrl, NULL )
GAMEC(1992, sf2yyc, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (YYC)", &sf2_ctrl, NULL )
GAMEC(1992, sf2koryu, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "bootleg","Street Fighter II' - Champion Edition (Kouryu)", &sf2_ctrl, NULL )
GAMEC(2023, sf2mix, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "Zero800", "Street Fighter II: Champion Edition (Mix 1.3)", &sf2_ctrl, NULL )
GAME( 1992, varth, 0, cps1_12mhz, varth, cps1, ROT270, "Capcom", "Varth - Operation Thunderstorm (World 920612)" ) /* ETC */
GAME( 1992, varthu, varth, cps1_12mhz, varth, cps1, ROT270, "Capcom (Romstar license)", "Varth - Operation Thunderstorm (US 920612)" )
GAME( 1992, varthj, varth, cps1_12mhz, varth, cps1, ROT270, "Capcom", "Varth - Operation Thunderstorm (Japan 920714)" )
GAME( 1992, cworld2j, 0, cps1_12mhz, cworld2j, cps1, ROT0, "Capcom", "Capcom World 2 (Japan 920611)" )
GAME( 1992, sf2t, sf2ce, sf2_12mhz, sf2, cps1, ROT0, "Capcom", "Street Fighter II' - Hyper Fighting (US 921209)" )
GAME( 1992, sf2tj, sf2ce, sf2_12mhz, sf2j, cps1, ROT0, "Capcom", "Street Fighter II' Turbo - Hyper Fighting (Japan 921209)" )
GAME( 1992, qad, 0, cps1_12mhz, qad, cps1, ROT0, "Capcom", "Quiz and Dragons (US 920701)" )
GAME( 1994, qadj, qad, cps1_12mhz, qadj, cps1, ROT0, "Capcom", "Quiz and Dragons (Japan 940921)" )
GAME( 1995, qtono2, 0, cps1_12mhz, qtono2, cps1, ROT0, "Capcom", "Quiz Tonosama no Yabou 2 Zenkoku-ban (Japan 950123)" )
GAME( 1995, megaman, 0, cps1_12mhz, megaman, cps1, ROT0, "Capcom", "Mega Man - The Power Battle (CPS1 Asia 951006)" )
GAME( 1995, rockmanj, megaman, cps1_12mhz, megaman, cps1, ROT0, "Capcom", "Rockman - The Power Battle (CPS1 Japan 950922)" )
GAME( 1992, wof, 0, qsound, wof, wof, ROT0, "Capcom", "Warriors of Fate (World 921002)" ) /* ETC */
GAME( 1992, wofa, wof, qsound, wof, wof, ROT0, "Capcom", "Sangokushi II (Asia 921005)" ) /* World - warning */
GAME( 1992, wofu, wof, qsound, wof, wof, ROT0, "Capcom", "Warriors of Fate (US 921031)" ) /* World - warning */
GAME( 1992, wofj, wof, qsound, wof, wof, ROT0, "Capcom", "Tenchi wo Kurau II - Sekiheki no Tatakai (Japan 921031)" )
GAME( 1993, dino, 0, qsound, dino, dino, ROT0, "Capcom", "Cadillacs and Dinosaurs (World 930201)" ) /* ETC */
GAME( 1993, dinou, dino, qsound, dino, dino , ROT0, "Capcom", "Cadillacs and Dinosaurs (US 930201)" )
GAME( 1993, dinoj, dino, qsound, dino, dino , ROT0, "Capcom", "Cadillacs Kyouryuu-Shinseiki (Japan 930201)" )
GAME( 1993, punisher, 0, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (World 930422)" ) /* ETC*/
GAME( 1993, punishru, punisher, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (US 930422)" )
GAME( 1993, punishrj, punisher, qsound, punisher, punisher, ROT0, "Capcom", "The Punisher (Japan 930422)" )
GAME( 1993, slammast, 0, qsound, slammast, slammast, ROT0, "Capcom", "Saturday Night Slam Masters (World 930713)" ) /* ETC */
GAME( 1993, slammasu, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Saturday Night Slam Masters (US 930713)" )
GAME( 1993, mbomberj, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber - The Body Explosion (Japan 930713)" )
GAME( 1993, mbombrd, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber Duo - Ultimate Team Battle (World 931206)" ) /* ETC */
GAME( 1993, mbombrdj, slammast, qsound, slammast, slammast, ROT0, "Capcom", "Muscle Bomber Duo - Heat Up Warriors (Japan 931206)" )
GAME( 1994, pnickj, 0, cps1_12mhz, pnickj, cps1, ROT0, "Compile (Capcom license)", "Pnickies (Japan 940608)" )
/* Japanese version of Pang 3 is encrypted, Euro version is not */
GAME( 1995, pang3, 0, pang3, pang3, cps1, ROT0, "Mitchell", "Pang! 3 (Euro 950511)" )
GAME( 1995, pang3j, pang3, pang3, pang3, pang3, ROT0, "Mitchell", "Pang! 3 (Japan 950511)" )
GAME( 1995, pang3, 0, pang3, pang3, cps1, ROT0, "Mitchell", "Pang! 3 (Euro 950511)" ) /* 12mhz confirmed */
GAME( 1995, pang3j, pang3, pang3, pang3, pang3, ROT0, "Mitchell", "Pang! 3 (Japan 950511)" ) /* 12mhz confirmed */
/* CPS Prototype */
GAME( 1993, gulunpa, 0, cps1, gulunpa, cps1, ROT0, "Capcom", "Gulun.Pa! (Japan 931220 L Prototype)" )
GAME( 1993, gulunpa, 0, cps1, gulunpa, cps1, ROT0, "Capcom", "Gulun.Pa! (Japan 931220 L Prototype)" )
/* CPS Changer */
GAME( 1994, wofch, 0, qsound, wofch, wof, ROT0, "Capcom", "Tenchi wo Kurau II: Sekiheki no Tatakai (CPS Changer, Japan 921031)" )
GAME( 1994, wofch, 0, qsound, wofch, wof, ROT0, "Capcom", "Tenchi wo Kurau II: Sekiheki no Tatakai (CPS Changer, Japan 921031)" )
+8888 -3261
View File
File diff suppressed because it is too large. Load diff
+3 -3
View File
@@ -192,8 +192,8 @@ static struct GfxLayout layout_16x16x4 =
static struct GfxDecodeInfo gfxdecodeinfo[] =
{
{ REGION_GFX1, 0, &layout_16x16x4a, 0, 0x10 }, // [0] Sprites
{ REGION_GFX2, 0, &layout_16x16x4, 0, 0x30 }, // [1] Tiles
{ REGION_GFX1, 0, &layout_16x16x4a, 0, 0x10 }, /* [0] Sprites */
{ REGION_GFX2, 0, &layout_16x16x4, 0, 0x30 }, /* [1] Tiles */
{ -1 }
};
@@ -259,7 +259,7 @@ ROM_START( crospang )
ROM_LOAD( "s1.bin", 0x00000, 0x10000, CRC(d61a224c) SHA1(5cd1b2d136ad58ab550c7ba135558d6c8a4cd8f6) )
ROM_REGION( 0x20000, REGION_SOUND1, 0 ) /* samples */
ROM_LOAD( "s2.bin", 0x00000, 0x20000, CRC(9f9ecd22) SHA1(631ffe14018ba39658c435b8ecb23b19a14569ee) ) // sample rom contains oksan?
ROM_LOAD( "s2.bin", 0x00000, 0x20000, CRC(9f9ecd22) SHA1(631ffe14018ba39658c435b8ecb23b19a14569ee) ) /* sample rom contains oksan? */
ROM_REGION( 0x200000, REGION_GFX1, 0 ) /* sprites */
ROM_LOAD( "rom6.bin", 0x000000, 0x80000, CRC(9c633082) SHA1(18b8591b695ee429c9c9855d8cbba6249a4bd809) )
+31 -1
View File
@@ -725,7 +725,36 @@ ROM_START( dblewing )
ROM_RELOAD( 0x40000, 0x20000 )
ROM_RELOAD( 0x60000, 0x20000 )
ROM_END
/*
The most noticeable difference with the set below is that it doesn't use checkpoints, but respawns you when you die.
Checkpoints were more common in Japan, so this is likely to be an export version.
*/
ROM_START( dblewingb )
ROM_REGION( 0x80000, REGION_CPU1, 0 ) /* DECO102 code (encrypted) */
ROM_LOAD16_BYTE( "17.3d", 0x000001, 0x040000, CRC(3a7ba822) SHA1(726db048ae3ab45cca45f631ad1f04b5cbc7f741) )
ROM_LOAD16_BYTE( "18.5d", 0x000000, 0x040000, CRC(e5f5f004) SHA1(4bd40ef88027554a0328df1cf6f1c9c975a7a73f) )
ROM_REGION( 0x18000, REGION_CPU2, 0 ) /* sound cpu*/
ROM_LOAD( "kp_02-.10h", 0x00000, 0x08000, CRC(def035fa) SHA1(fd50314e5c94c25df109ee52c0ce701b0ff2140c) )
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_REGION( 0x10000, REGION_SOUND2, 0 ) /* sound data*/
ROM_COPY( REGION_CPU2, 0x00000, 0x00000, 0x8000 )
ROM_COPY( REGION_CPU2, 0x10000, 0x08000, 0x8000 )
ROM_REGION( 0x100000, REGION_GFX1, ROMREGION_DISPOSE )
ROM_LOAD( "mbe-02.8h", 0x00000, 0x100000, CRC(5a6d3ac5) SHA1(738bb833e2c5d929ac75fe4e69ee0af88197d8a6) )
ROM_REGION( 0x200000, REGION_GFX2, ROMREGION_DISPOSE )
ROM_LOAD16_BYTE( "mbe-00.14a", 0x000000, 0x100000, CRC(e33f5c93) SHA1(720904b54d02dace2310ac6bd07d5ed4bc4fd69c) )
ROM_LOAD16_BYTE( "mbe-01.16a", 0x000001, 0x100000, CRC(ef452ad7) SHA1(7fe49123b5c2778e46104eaa3a2104ce09e05705) )
ROM_REGION( 0x80000, REGION_SOUND1, 0 ) /* Oki samples */
ROM_LOAD( "kp_03-.16h", 0x00000, 0x20000, CRC(5d7f930d) SHA1(ad23aa804ea3ccbd7630ade9b53fc3ea2718a6ec) )
ROM_RELOAD( 0x20000, 0x20000 )
ROM_RELOAD( 0x40000, 0x20000 )
ROM_RELOAD( 0x60000, 0x20000 )
ROM_END
extern void deco102_decrypt_cpu(int address_xor, int data_select_xor, int opcode_select_xor);
@@ -737,4 +766,5 @@ static DRIVER_INIT( dblewing )
}
GAMEX(1993, dblewing, 0, dblewing, dblewing, dblewing, ROT90, "Mitchell", "Double Wings", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND )
GAMEX(1993, dblewing, 0, dblewing, dblewing, dblewing, ROT90, "Mitchell", "Double Wings", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND )
GAMEX(1994, dblewingb, dblewing, dblewing, dblewing, dblewing, ROT90, "Mitchell", "Double Wings (Asia)", GAME_UNEMULATED_PROTECTION | GAME_IMPERFECT_SOUND )
-2
View File
@@ -492,8 +492,6 @@ MACHINE_DRIVER_END
/**********************************************************************************/
#define ROM_LOAD64_WORD(name,offset,length,crc) ROMX_LOAD(name, offset, length, crc, ROM_GROUPWORD | ROM_SKIP(6))
ROM_START( dbz )
/* main program */
ROM_REGION( 0x400000, REGION_CPU1, 0)
+68 -50
View File
@@ -65,12 +65,14 @@ conversion kit which could be applied to a bootleg double dragon :-p?
***************************************************************************/
#include "driver.h"
#include "state.h"
#include "cpu/m6800/m6800.h"
#include "cpu/m6809/m6809.h"
#include "cpu/z80/z80.h"
#include "vidhrdw/generic.h"
#include "ost_samples.h"
static void ddragon_restore_state(void);
/* from vidhrdw */
extern unsigned char *ddragon_bgvideoram,*ddragon_fgvideoram;
extern int ddragon_scrollx_hi, ddragon_scrolly_hi;
@@ -87,28 +89,48 @@ extern int technos_video_hw;
/* private globals */
static int dd_sub_cpu_busy;
static int sprite_irq, sound_irq, ym_irq, snd_cpu;
static int m_sprite_irq, m_sound_irq, ym_irq, snd_cpu;
static int adpcm_pos[2],adpcm_end[2],adpcm_idle[2];
static int adpcm_data[2] = { -1, -1 };
static UINT8* darktowr_mcu_ports, *darktowr_ram;
static int VBLK;
static UINT8 bank_data;
static UINT8 m_ddragon_sub_port;
/* end of private globals */
static MACHINE_INIT( ddragon )
{
sprite_irq = IRQ_LINE_NMI;
sound_irq = M6809_IRQ_LINE;
m_sprite_irq = IRQ_LINE_NMI;
m_sound_irq = M6809_IRQ_LINE;
ym_irq = M6809_FIRQ_LINE;
technos_video_hw = 0;
dd_sub_cpu_busy = 0x10;
adpcm_idle[0] = adpcm_idle[1] = 1;
snd_cpu = 2;
adpcm_pos[0] = adpcm_pos[1] = 0;
adpcm_end[0] = adpcm_end[1] = 0;
adpcm_idle[0] = adpcm_idle[1] = 1;
adpcm_data[0] = adpcm_data[1] = -1;
state_save_register_int("ddragon", 0, "dd_sub_cpu_busy", &dd_sub_cpu_busy);
state_save_register_int("ddragon", 0, "adpcm_idle[0]", &adpcm_idle[0]);
state_save_register_int("ddragon", 0, "adpcm_idle[1]", &adpcm_idle[1]);
state_save_register_int("ddragon", 0, "adpcm_pos[0]", &adpcm_pos[0]);
state_save_register_int("ddragon", 0, "adpcm_pos[1]", &adpcm_pos[1]);
state_save_register_int("ddragon", 0, "adpcm_end[0]", &adpcm_end[0]);
state_save_register_int("ddragon", 0, "adpcm_end[1]", &adpcm_end[1]);
state_save_register_int("ddragon", 0, "adpcm_data[0]", &adpcm_data[0]);
state_save_register_int("ddragon", 0, "adpcm_data[1]", &adpcm_data[1]);
state_save_register_int("ddragon", 0, "ddragon_scrollx_hi", &ddragon_scrollx_hi);
state_save_register_int("ddragon", 0, "ddragon_scrolly_hi", &ddragon_scrolly_hi);
state_save_register_UINT8("ddragon", 0, "m_ddragon_sub_port", &m_ddragon_sub_port, 1);
state_save_register_func_postload(ddragon_restore_state);
/*msm5205 soundcore needs savestates added */
}
static MACHINE_INIT( toffy )
{
sound_irq = M6809_IRQ_LINE;
m_sound_irq = M6809_IRQ_LINE;
ym_irq = M6809_FIRQ_LINE;
technos_video_hw = 0;
dd_sub_cpu_busy = 0x10;
@@ -118,8 +140,8 @@ static MACHINE_INIT( toffy )
static MACHINE_INIT( ddragonb )
{
sprite_irq = IRQ_LINE_NMI;
sound_irq = M6809_IRQ_LINE;
m_sprite_irq = IRQ_LINE_NMI;
m_sound_irq = M6809_IRQ_LINE;
ym_irq = M6809_FIRQ_LINE;
technos_video_hw = 0;
dd_sub_cpu_busy = 0x10;
@@ -129,8 +151,8 @@ static MACHINE_INIT( ddragonb )
static MACHINE_INIT( ddragon2 )
{
sprite_irq = IRQ_LINE_NMI;
sound_irq = IRQ_LINE_NMI;
m_sprite_irq = IRQ_LINE_NMI;
m_sound_irq = IRQ_LINE_NMI;
ym_irq = 0;
technos_video_hw = 2;
dd_sub_cpu_busy = 0x10;
@@ -153,11 +175,11 @@ static WRITE_HANDLER( ddragon_bankswitch_w )
if (data & 0x10)
dd_sub_cpu_busy = 0x00;
else if (dd_sub_cpu_busy == 0x00)
cpu_set_irq_line( 1, sprite_irq, (sprite_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
cpu_set_irq_line( 1, m_sprite_irq, (m_sprite_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
cpu_setbank( 1,&RAM[ 0x10000 + ( 0x4000 * ( ( data & 0xe0) >> 5 ) ) ] );
bank_data=data;
m_ddragon_sub_port=data;
}
static WRITE_HANDLER( toffy_bankswitch_w )
@@ -191,7 +213,7 @@ static WRITE_HANDLER( darktowr_bankswitch_w )
if (data & 0x10)
dd_sub_cpu_busy = 0x00;
else if (dd_sub_cpu_busy == 0x00)
cpu_set_irq_line( 1, sprite_irq, (sprite_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
cpu_set_irq_line( 1, m_sprite_irq, (m_sprite_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
darktowr_bank=(data & 0xe0) >> 5;
/* cpu_setbank( 1,&RAM[ 0x10000 + ( 0x4000 * ( ( data & 0xe0) >> 5 ) ) ] );*/
@@ -204,7 +226,7 @@ static READ_HANDLER( darktowr_bank_r )
/* MCU is mapped into main cpu memory as a bank */
if (darktowr_bank==4) {
// log_cb(RETRO_LOG_DEBUG, LOGPRE "BankRead %05x %08x\n",activecpu_get_pc(),offset);
/* log_cb(RETRO_LOG_DEBUG, LOGPRE "BankRead %05x %08x\n",activecpu_get_pc(),offset); */
/* Horrible hack - the alternate TStrike set is mismatched against the MCU,
so just hack around the protection here. (The hacks are 'right' as I have
@@ -278,15 +300,15 @@ static WRITE_HANDLER( ddragon_interrupt_w )
cpu_set_irq_line(0,M6809_IRQ_LINE,CLEAR_LINE);
break;
case 3: /* 380e - SND irq */
if(ddragon_playing && options.use_alt_sound) {
if(generate_ost_sound_ddragon( data )) {
if( ost_support_enabled(OST_SUPPORT_DDRAGON) ) {
if(generate_ost_sound( data )) {
soundlatch_w( 0, data );
cpu_set_irq_line( snd_cpu, sound_irq, (sound_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
cpu_set_irq_line( snd_cpu, m_sound_irq, (m_sound_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
}
}
else {
soundlatch_w( 0, data );
cpu_set_irq_line( snd_cpu, sound_irq, (sound_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
cpu_set_irq_line( snd_cpu, m_sound_irq, (m_sound_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
}
break;
case 4: /* 380f - ? */
@@ -304,21 +326,23 @@ static READ_HANDLER( ddragon_hd63701_internal_registers_r )
static WRITE_HANDLER( ddragon_hd63701_internal_registers_w )
{
/* I don't know why port 0x17 is used.. Doesn't seem to be a standard MCU port */
if (offset==0x17) {
/* This is a guess, but makes sense.. The mcu definitely interrupts the main cpu.
I don't know what bit is the assert and what is the clear though (in comparison
it's quite obvious from the Double Dragon 2 code, below). */
if (data&3) {
/* Port 6 */
if (offset == 0x17)
{
if ((data & 0x1) == 0)
cpu_set_irq_line(0,M6809_IRQ_LINE,ASSERT_LINE);
cpu_set_irq_line(1,sprite_irq, CLEAR_LINE );
}
if (!(m_ddragon_sub_port & 0x2) && (data & 0x2))
cpu_set_irq_line(0,M6809_IRQ_LINE,ASSERT_LINE);
m_ddragon_sub_port = data;
}
}
static WRITE_HANDLER( ddragon2_sub_irq_ack_w )
{
cpu_set_irq_line(1,sprite_irq, CLEAR_LINE );
cpu_set_irq_line(1,m_sprite_irq, CLEAR_LINE );
}
static WRITE_HANDLER( ddragon2_sub_irq_w )
@@ -335,12 +359,6 @@ static READ_HANDLER( port4_r )
static READ_HANDLER( ddragon_spriteram_r )
{
/* Double Dragon crash fix - see notes above */
if(strcmp(Machine->gamedrv->name, "ddragon") == 0)
{
if (offset==0x49 && activecpu_get_pc()==0x6261 && ddragon_spriteram[offset]==0x1f)
return 0x1;
}
return ddragon_spriteram[offset];
}
@@ -358,7 +376,7 @@ static WRITE_HANDLER( ddragon_spriteram_w )
static WRITE_HANDLER( cpu_sound_command_w )
{
soundlatch_w( offset, data );
cpu_set_irq_line( snd_cpu, sound_irq, (sound_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
cpu_set_irq_line( snd_cpu, m_sound_irq, (m_sound_irq == IRQ_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
}
#endif
@@ -390,8 +408,6 @@ static WRITE_HANDLER( dd_adpcm_w )
static void dd_adpcm_int(int chip)
{
static int adpcm_data[2] = { -1, -1 };
if (adpcm_pos[chip] >= adpcm_end[chip] || adpcm_pos[chip] >= 0x10000)
{
adpcm_idle[chip] = 1;
@@ -721,7 +737,7 @@ INPUT_PORTS_START( tstrike )
COMMON_INPUT_DIP1
PORT_START //DSW1
PORT_START /*DSW1 */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -996,18 +1012,24 @@ static INTERRUPT_GEN( ddragon_interrupt )
}
}
#define MAIN_CLOCK 12000000
#define MAIN_CPU MAIN_CLOCK / 4
#define MCU_CPU MAIN_CLOCK / 8
#define SND_CPU MAIN_CLOCK / 2
static MACHINE_DRIVER_START( ddragon )
/* basic machine hardware */
MDRV_CPU_ADD(HD6309, 3579545) /* 3.579545 MHz */
MDRV_CPU_MEMORY(readmem,writemem)
MDRV_CPU_ADD(HD6309, MAIN_CPU * 2)
MDRV_CPU_MEMORY(readmem,writemem)
MDRV_CPU_VBLANK_INT(ddragon_interrupt,272)
MDRV_CPU_ADD(HD63701,3579545 / 3) /* This divider seems correct by comparison to real board */
MDRV_CPU_ADD(HD63701, MCU_CPU ) /* This divider seems correct by comparison to real board */
MDRV_CPU_MEMORY(sub_readmem,sub_writemem)
MDRV_CPU_ADD(HD6309, 3579545)
MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
MDRV_CPU_ADD(HD6309, SND_CPU)
MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
MDRV_FRAMES_PER_SECOND(((12000000.0 / 256.0) / 3.0) / 272.0)
@@ -1021,7 +1043,7 @@ static MACHINE_DRIVER_START( ddragon )
MDRV_SCREEN_SIZE(32*8, 32*8)
MDRV_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
MDRV_GFXDECODE(gfxdecodeinfo)
MDRV_PALETTE_LENGTH(384)
MDRV_PALETTE_LENGTH(512)
MDRV_VIDEO_START(ddragon)
MDRV_VIDEO_UPDATE(ddragon)
@@ -1030,11 +1052,7 @@ static MACHINE_DRIVER_START( ddragon )
MDRV_SOUND_ADD(YM2151, ym2151_interface)
MDRV_SOUND_ADD(MSM5205, msm5205_interface)
MDRV_SOUND_ADD_TAG("OST Samples", SAMPLES, ost_ddragon)
ddragon_playing = true;
ddragon_current_music = 0;
ddragon_stage = 0;
d_title_counter = 0;
MDRV_INSTALL_OST_SUPPORT(OST_SUPPORT_DDRAGON)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( darktowr )
@@ -1587,9 +1605,9 @@ toffy / stoffy are 'encrytped
*/
static void ddragon_restore_state(int dummy)
static void ddragon_restore_state(void)
{
ddragon_bankswitch_w(0, bank_data);
ddragon_bankswitch_w(0, m_ddragon_sub_port);
}
static DRIVER_INIT( toffy )
+20 -9
View File
@@ -40,6 +40,7 @@ Boulderdash use the same graphics chips but are different pcbs.
#include "cpu/m6502/m6502.h"
#include "cpu/h6280/h6280.h"
#include "dec0.h"
#include "ost_samples.h"
data16_t *dec0_ram;
data8_t *robocop_shared_ram;
@@ -61,8 +62,16 @@ static WRITE16_HANDLER( dec0_control_w )
case 4: /* 6502 sound cpu */
if (ACCESSING_LSB)
{
soundlatch_w(0,data & 0xff);
cpu_set_irq_line(1,IRQ_LINE_NMI,PULSE_LINE);
if( ost_support_enabled(OST_SUPPORT_ROBOCOP) ) {
if(generate_ost_sound( data )) {
soundlatch_w(0,data & 0xff);
cpu_set_irq_line(1,IRQ_LINE_NMI,PULSE_LINE);
}
}
else {
soundlatch_w(0,data & 0xff);
cpu_set_irq_line(1,IRQ_LINE_NMI,PULSE_LINE);
}
}
break;
@@ -447,10 +456,10 @@ INPUT_PORTS_START( hbarrel )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START /* player 1 12-way rotary control - converted in controls_r() */
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
PORT_START /* player 2 12-way rotary control - converted in controls_r() */
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
INPUT_PORTS_END
INPUT_PORTS_START( baddudes )
@@ -723,10 +732,10 @@ INPUT_PORTS_START( midres )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START /* player 1 12-way rotary control - converted in controls_r() */
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, 0, 0 )
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, 0, 0 )
PORT_START /* player 2 12-way rotary control - converted in controls_r() */
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, 0, 0 )
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, 0, 0 )
INPUT_PORTS_END
INPUT_PORTS_START( midresbj )
@@ -775,10 +784,10 @@ INPUT_PORTS_START( midresbj )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_START /* player 1 12-way rotary control - converted in controls_r() */
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
PORT_START /* player 2 12-way rotary control - converted in controls_r() */
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
INPUT_PORTS_END
INPUT_PORTS_START( bouldash )
@@ -1050,6 +1059,8 @@ static MACHINE_DRIVER_START( robocop )
MDRV_SOUND_ADD(YM2203, ym2203_interface)
MDRV_SOUND_ADD(YM3812, ym3812_interface)
MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
MDRV_INSTALL_OST_SUPPORT(OST_SUPPORT_ROBOCOP)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( robocopb )
@@ -2109,7 +2120,7 @@ ROM_START( midresbj )
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 6502 sound */
ROM_LOAD( "15", 0x0000, 0x10000, CRC(99d47166) SHA1(a9a1adfe47be8dd3e4d6f8c783447e09be1747b2) )
ROM_REGION( 0x20000, REGION_GFX1, ROMREGION_DISPOSE ) /* chars */
ROM_LOAD( "23", 0x08000, 0x08000, CRC(d75aba06) SHA1(cb3b969db3dd8e0c5c3729482f7461cde3a961f3) )
ROM_CONTINUE( 0x00000, 0x08000 ) /* the two halves are swapped */
+2 -2
View File
@@ -1350,10 +1350,10 @@ INPUT_PORTS_START( gondo )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_START /* player 1 12-way rotary control */
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE, 25, 10, 0, 0, KEYCODE_Z, KEYCODE_X, IP_JOY_NONE, IP_JOY_NONE )
PORT_START /* player 2 12-way rotary control */
PORT_ANALOGX( 0xff, 0x00, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
PORT_ANALOGX( 0xff, 0x0a, IPT_DIAL | IPF_REVERSE | IPF_PLAYER2, 25, 10, 0, 0, KEYCODE_N, KEYCODE_M, IP_JOY_NONE, IP_JOY_NONE )
PORT_START /* Dip switch bank 1 */
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Coin_A ) )
+227 -66
View File
@@ -118,6 +118,7 @@ static data32_t *deco32_ram;
static int raster_enable,raster_offset;
static void *raster_irq_timer;
static UINT8 nslasher_sound_irq;
bool lockload_crosshairs = false;
extern data32_t *deco32_ace_ram;
extern VIDEO_START( nslasher );
@@ -547,6 +548,17 @@ static WRITE32_HANDLER( nslasher_prot_w )
}
}
static WRITE32_HANDLER( nslasheru_prot_w )
{
/* Only sound port of chip is used - no protection */
if (offset==0x700/4) {
/* different sound_irq for the H6280 CPU */
soundlatch_w(0,(data>>16)&0xff); /* same hookup as the Z80 sets or no sound */
cpu_set_irq_line(1,0,HOLD_LINE);
}
}
/**********************************************************************************/
static MEMORY_READ32_START( captaven_readmem )
@@ -717,82 +729,114 @@ static MEMORY_WRITE32_START( fghthsta_writemem )
{ 0x208800, 0x208803, MWA32_NOP }, /* ? */
MEMORY_END
READ32_HANDLER( dragngun_unk_video_r)
{
return rand();
}
READ32_HANDLER( dragngun_gfxrom_r ) /* trampoline */
{
data8_t *rom = memory_region(REGION_GFX5);
return rom[0x00000];
}
static MEMORY_READ32_START( dragngun_readmem )
{ 0x000000, 0x0fffff, MRA32_ROM },
{ 0x100000, 0x11ffff, MRA32_RAM },
{ 0x120000, 0x120fff, dragngun_prot_r },
{ 0x128000, 0x12800f, deco32_irq_controller_r },
{ 0x130000, 0x131fff, MRA32_RAM },
{ 0x138000, 0x138003, MRA32_NOP }, /* Palette dma complete in bit 0x8? ack? return 0 else tight loop */
{ 0x0000000, 0x00fffff, MRA32_ROM },
{ 0x0100000, 0x011ffff, MRA32_RAM },
{ 0x0120000, 0x0120fff, dragngun_prot_r },
{ 0x0128000, 0x012800f, deco32_irq_controller_r },
{ 0x0130000, 0x0131fff, MRA32_RAM },
{ 0x0138000, 0x0138003, MRA32_NOP }, /* Palette dma complete in bit 0x8? ack? return 0 else tight loop */
{ 0x180000, 0x18001f, MRA32_RAM },
{ 0x190000, 0x191fff, MRA32_RAM },
{ 0x194000, 0x195fff, MRA32_RAM },
{ 0x1a0000, 0x1a0fff, MRA32_RAM },
{ 0x1a4000, 0x1a4fff, MRA32_RAM },
{ 0x0180000, 0x018001f, MRA32_RAM },
{ 0x0190000, 0x0191fff, MRA32_RAM },
{ 0x0194000, 0x0195fff, MRA32_RAM },
{ 0x01a0000, 0x01a3fff, MRA32_RAM },
{ 0x01a4000, 0x01a5fff, MRA32_RAM },
{ 0x1c0000, 0x1c001f, MRA32_RAM },
{ 0x1d0000, 0x1d1fff, MRA32_RAM },
{ 0x1d4000, 0x1d5fff, MRA32_RAM },
{ 0x1e0000, 0x1e0fff, MRA32_RAM },
{ 0x1e4000, 0x1e4fff, MRA32_RAM },
{ 0x01c0000, 0x01c001f, MRA32_RAM },
{ 0x01d0000, 0x01d1fff, MRA32_RAM },
{ 0x01d4000, 0x01d5fff, MRA32_RAM },
{ 0x01e0000, 0x01e3fff, MRA32_RAM },
{ 0x01e4000, 0x01e5fff, MRA32_RAM },
{ 0x0204800, 0x0204fff, MRA32_RAM }, /* ace? 0x10 byte increments only 13f ff stuff */
{ 0x208000, 0x208fff, MRA32_RAM },
{ 0x20c000, 0x20cfff, MRA32_RAM },
{ 0x210000, 0x217fff, MRA32_RAM },
{ 0x218000, 0x21ffff, MRA32_RAM },
{ 0x220000, 0x221fff, MRA32_RAM }, /* Main spriteram */
{ 0x0208000, 0x0208fff, MRA32_RAM },
{ 0x020c000, 0x020cfff, MRA32_RAM },
{ 0x0210000, 0x0217fff, MRA32_RAM },
{ 0x0218000, 0x021ffff, MRA32_RAM },
{ 0x0220000, 0x0221fff, MRA32_RAM }, /* Main spriteram */
{ 0x204800, 0x204fff, MRA32_RAM }, /*0x10 byte increments only*/
{ 0x228000, 0x2283ff, MRA32_RAM }, /*0x10 byte increments only*/
{ 0x0228000, 0x02283ff, MRA32_RAM }, /* 0x10 byte increments only */
{ 0x300000, 0x3fffff, MRA32_ROM },
{ 0x0300000, 0x03fffff, MRA32_ROM },
{ 0x400000, 0x400003, dragngun_oki_2_r },
{ 0x420000, 0x420003, dragngun_eeprom_r },
{ 0x438000, 0x438003, dragngun_lightgun_r },
{ 0x440000, 0x440003, dragngun_service_r },
{ 0x0400000, 0x0400003, dragngun_oki_2_r },
{ 0x0420000, 0x0420003, dragngun_eeprom_r },
{ 0x0438000, 0x0438003, dragngun_lightgun_r },
{ 0x0440000, 0x0440003, dragngun_service_r },
/* this is clearly the dvi video related area */
{ 0x1000000, 0x1000007, dragngun_unk_video_r },
{ 0x1000100, 0x1007fff, MRA32_RAM },
{ 0x10b0000, 0x10b01ff, MRA32_RAM },
/* reads from here during boss battles when the videos should be displayed at the offsets where the DVI headers are
as a result it ends up writing what looks like pointers to the frame data in the ram area above
*/
{ 0x1400000, 0x1ffffff, dragngun_gfxrom_r }, /* correct.?? was AM_ROM AM_REGION("dvi", 0x00000) */
MEMORY_END
static MEMORY_WRITE32_START( dragngun_writemem )
{ 0x000000, 0x0fffff, MWA32_ROM },
{ 0x100000, 0x11ffff, MWA32_RAM, &deco32_ram },
{ 0x1204c0, 0x1204c3, deco32_sound_w },
{ 0x128000, 0x12800f, deco32_irq_controller_w },
{ 0x0000000, 0x00fffff, MWA32_ROM },
{ 0x0100000, 0x011ffff, MWA32_RAM, &deco32_ram },
{ 0x01204c0, 0x01204c3, deco32_sound_w },
{ 0x0128000, 0x012800f, deco32_irq_controller_w },
{ 0x130000, 0x131fff, deco32_buffered_palette_w, &paletteram32 },
{ 0x138000, 0x138003, MWA32_NOP }, /* palette mode? check*/
{ 0x138008, 0x13800b, deco32_palette_dma_w },
{ 0x0130000, 0x0131fff, deco32_buffered_palette_w, &paletteram32 },
{ 0x0138000, 0x0138003, MWA32_NOP }, /* palette mode? check */
{ 0x0138008, 0x013800b, deco32_palette_dma_w },
{ 0x180000, 0x18001f, MWA32_RAM, &deco32_pf12_control },
{ 0x190000, 0x191fff, deco32_pf1_data_w, &deco32_pf1_data },
{ 0x194000, 0x195fff, deco32_pf2_data_w, &deco32_pf2_data },
{ 0x1a0000, 0x1a0fff, MWA32_RAM, &deco32_pf1_rowscroll },
{ 0x1a4000, 0x1a4fff, MWA32_RAM, &deco32_pf2_rowscroll },
{ 0x0170100, 0x0170103, MWA32_NOP },
{ 0x0170038, 0x017003b, MWA32_NOP },
{ 0x017002C, 0x017002f, MWA32_NOP },
{ 0x0170224, 0x0170227, MWA32_NOP },
{ 0x1c0000, 0x1c001f, MWA32_RAM, &deco32_pf34_control },
{ 0x1d0000, 0x1d1fff, deco32_pf3_data_w, &deco32_pf3_data },
{ 0x1d4000, 0x1d5fff, deco32_pf4_data_w, &deco32_pf4_data },
{ 0x1e0000, 0x1e0fff, MWA32_RAM, &deco32_pf3_rowscroll },
{ 0x1e4000, 0x1e4fff, MWA32_RAM, &deco32_pf4_rowscroll },
{ 0x0180000, 0x018001f, MWA32_RAM, &deco32_pf12_control },
{ 0x0190000, 0x0191fff, deco32_pf1_data_w, &deco32_pf1_data },
{ 0x0194000, 0x0195fff, deco32_pf2_data_w, &deco32_pf2_data },
{ 0x01a0000, 0x01a3fff, MWA32_RAM, &deco32_pf1_rowscroll },
{ 0x01a4000, 0x01a5fff, MWA32_RAM, &deco32_pf2_rowscroll },
{ 0x204800, 0x204fff, MWA32_RAM }, /* ace? 0x10 byte increments only */ /* 13f ff stuff*/
{ 0x01c0000, 0x01c001f, MWA32_RAM, &deco32_pf34_control },
{ 0x01d0000, 0x01d1fff, deco32_pf3_data_w, &deco32_pf3_data },
{ 0x01d4000, 0x01d5fff, deco32_pf4_data_w, &deco32_pf4_data },
{ 0x01e0000, 0x01e3fff, MWA32_RAM, &deco32_pf3_rowscroll },
{ 0x01e4000, 0x01e5fff, MWA32_RAM, &deco32_pf4_rowscroll },
{ 0x208000, 0x208fff, MWA32_RAM, &dragngun_sprite_layout_0_ram },
{ 0x20c000, 0x20cfff, MWA32_RAM, &dragngun_sprite_layout_1_ram },
{ 0x210000, 0x217fff, MWA32_RAM, &dragngun_sprite_lookup_0_ram },
{ 0x218000, 0x21ffff, MWA32_RAM, &dragngun_sprite_lookup_1_ram },
{ 0x220000, 0x221fff, MWA32_RAM, &spriteram32, &spriteram_size },
{ 0x228000, 0x2283ff, MWA32_RAM }, /* ? */
{ 0x230000, 0x230003, dragngun_spriteram_dma_w },
{ 0x0204800, 0x0204fff, MWA32_RAM }, /* ace? 0x10 byte increments only 13f ff stuff */
{ 0x300000, 0x3fffff, MWA32_ROM },
{ 0x0208000, 0x0208fff, MWA32_RAM, &dragngun_sprite_layout_0_ram },
{ 0x020c000, 0x020cfff, MWA32_RAM, &dragngun_sprite_layout_1_ram },
{ 0x0210000, 0x0217fff, MWA32_RAM, &dragngun_sprite_lookup_0_ram },
{ 0x0218000, 0x021ffff, MWA32_RAM, &dragngun_sprite_lookup_1_ram },
{ 0x0220000, 0x0221fff, MWA32_RAM, &spriteram32, &spriteram_size },
{ 0x0228000, 0x02283ff, MWA32_RAM }, /* 0x10 byte increments only */
{ 0x0230000, 0x0230003, dragngun_spriteram_dma_w },
{ 0x400000, 0x400003, dragngun_oki_2_w },
{ 0x410000, 0x410003, MWA32_NOP }, /* Some kind of serial bit-stream - digital volume control? */
{ 0x420000, 0x420003, dragngun_eeprom_w },
{ 0x430000, 0x43001f, dragngun_lightgun_w },
{ 0x500000, 0x500003, dragngun_sprite_control_w },
{ 0x0300000, 0x03fffff, MWA32_ROM },
{ 0x0400000, 0x0400003, dragngun_oki_2_w },
{ 0x0410000, 0x0410003, MWA32_NOP }, /* Some kind of serial bit-stream - digital volume control? */
{ 0x0420000, 0x0420003, dragngun_eeprom_w },
{ 0x0430000, 0x043001f, dragngun_lightgun_w },
{ 0x0500000, 0x0500003, dragngun_sprite_control_w },
/* this is clearly the dvi video related area */
{ 0x1000100, 0x1007fff, MWA32_RAM },
{ 0x10b0000, 0x10b01ff, MWA32_RAM },
MEMORY_END
static MEMORY_READ32_START( lockload_readmem )
@@ -1019,6 +1063,46 @@ static MEMORY_WRITE32_START( nslasher_writemem )
{ 0x200000, 0x200fff, nslasher_prot_w, &deco32_prot_ram },
MEMORY_END
static MEMORY_WRITE32_START( nslasheru_writemem )
{ 0x000000, 0x0fffff, MWA32_ROM },
{ 0x100000, 0x11ffff, MWA32_RAM, &deco32_ram },
{ 0x120000, 0x1200ff, MWA32_NOP }, /* ACIA (unused) */
{ 0x140000, 0x140003, MWA32_NOP }, /* Vblank ack */
{ 0x150000, 0x150003, nslasher_eeprom_w }, /* Volume port/Eprom/Priority */
{ 0x163000, 0x16309f, deco32_ace_ram_w, &deco32_ace_ram }, /* 'Ace' RAM!? */
{ 0x164000, 0x164003, MWA32_NOP }, /* Palette control BG2/3 ($1a constant) */
{ 0x164004, 0x164007, MWA32_NOP }, /* Palette control Obj1 ($4 constant) */
{ 0x164008, 0x16400b, MWA32_NOP }, /* Palette control Obj2 ($6 constant) */
{ 0x16400c, 0x16400f, MWA32_NOP },
{ 0x168000, 0x169fff, deco32_buffered_palette_w, &paletteram32 },
{ 0x16c000, 0x16c003, MWA32_NOP },
{ 0x16c008, 0x16c00b, deco32_palette_dma_w },
{ 0x170000, 0x171fff, MWA32_RAM, &spriteram32, &spriteram_size },
{ 0x174000, 0x174003, MWA32_NOP }, /* Sprite DMA mode (2) */
{ 0x174010, 0x174013, buffer_spriteram32_w },
{ 0x174018, 0x17401b, MWA32_NOP }, /* Sprite 'CPU' (unused) */
{ 0x178000, 0x179fff, MWA32_RAM, &spriteram32_2, &spriteram_2_size },
{ 0x17c000, 0x17c003, MWA32_NOP }, /* Sprite DMA mode (2) */
{ 0x17c010, 0x17c013, buffer_spriteram32_2_w },
{ 0x17c018, 0x17c01b, MWA32_NOP }, /* Sprite 'CPU' (unused) */
{ 0x182000, 0x183fff, deco32_pf1_data_w, &deco32_pf1_data },
{ 0x184000, 0x185fff, deco32_pf2_data_w, &deco32_pf2_data },
{ 0x192000, 0x193fff, MWA32_RAM, &deco32_pf1_rowscroll },
{ 0x194000, 0x195fff, MWA32_RAM, &deco32_pf2_rowscroll },
{ 0x1a0000, 0x1a001f, MWA32_RAM, &deco32_pf12_control },
{ 0x1c2000, 0x1c3fff, deco32_pf3_data_w, &deco32_pf3_data },
{ 0x1c4000, 0x1c5fff, deco32_pf4_data_w, &deco32_pf4_data },
{ 0x1d2000, 0x1d3fff, MWA32_RAM, &deco32_pf3_rowscroll },
{ 0x1d4000, 0x1d5fff, MWA32_RAM, &deco32_pf4_rowscroll },
{ 0x1e0000, 0x1e001f, MWA32_RAM, &deco32_pf34_control },
{ 0x200000, 0x200fff, nslasheru_prot_w, &deco32_prot_ram }, /* nslasheru H6280 sound irq via prot port*/
MEMORY_END
/******************************************************************************/
@@ -1749,6 +1833,15 @@ static struct YM2151interface ym2151_interface_nslasher =
{ sound_bankswitch_w }
};
static struct YM2151interface ym2151_interface_nslasheru =
{
1,
32220000/9, /* Accurate, audio section crystal is 32.220 MHz */
{ YM3012_VOL(40,MIXER_PAN_LEFT,40,MIXER_PAN_RIGHT) },
{ sound_irq },
{ sound_bankswitch_w }
};
static struct OKIM6295interface okim6295_interface =
{
2, /* 2 chips */
@@ -2061,6 +2154,37 @@ static MACHINE_DRIVER_START( nslasher )
MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( nslasheru )
/* basic machine hardware */
MDRV_CPU_ADD(ARM, 28322000/4) /* Unconfirmed */
MDRV_CPU_MEMORY(nslasher_readmem,nslasheru_writemem)
MDRV_CPU_VBLANK_INT(deco32_vbl_interrupt,1)
MDRV_CPU_ADD(H6280, 32220000/8)
MDRV_CPU_FLAGS(CPU_AUDIO_CPU)
MDRV_CPU_MEMORY(sound_readmem,sound_writemem)
MDRV_FRAMES_PER_SECOND(60)
MDRV_VBLANK_DURATION(529)
MDRV_NVRAM_HANDLER(93C46)
/* video hardware */
MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER | VIDEO_NEEDS_6BITS_PER_GUN | VIDEO_BUFFERS_SPRITERAM | VIDEO_RGB_DIRECT)
MDRV_SCREEN_SIZE(42*8, 32*8)
MDRV_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MDRV_GFXDECODE(gfxdecodeinfo_nslasher)
MDRV_PALETTE_LENGTH(2048)
MDRV_VIDEO_START(nslasher)
MDRV_VIDEO_UPDATE(nslasher)
/* sound hardware */
MDRV_SOUND_ATTRIBUTES(SOUND_SUPPORTS_STEREO)
MDRV_SOUND_ADD(YM2151, ym2151_interface_nslasheru)
MDRV_SOUND_ADD(OKIM6295, okim6295_interface)
MACHINE_DRIVER_END
/**********************************************************************************/
ROM_START( captaven )
@@ -2425,7 +2549,7 @@ ROM_START( dragngun )
ROM_LOAD32_BYTE( "mar-15.bin", 0x000003, 0x100000, CRC(ec976b20) SHA1(c120b3c56d5e02162e41dc7f726c260d0f8d2f1a) )
ROM_LOAD32_BYTE( "mar-16.bin", 0x400003, 0x100000, CRC(8b329bc8) SHA1(6e34eb6e2628a01a699d20a5155afb2febc31255) )
ROM_REGION( 0x100000, REGION_GFX5, 0 ) /* Video data - unused for now */
ROM_REGION32_BE( 0x100000, REGION_GFX5, 0 ) /* Video data - unused for now */
ROM_LOAD( "mar-17.bin", 0x00000, 0x100000, CRC(7799ed23) SHA1(ae28ad4fa6033a3695fa83356701b3774b26e6b0) )
ROM_LOAD( "mar-18.bin", 0x00000, 0x100000, CRC(ded66da9) SHA1(5134cb47043cc190a35ebdbf1912166669f9c055) )
ROM_LOAD( "mar-19.bin", 0x00000, 0x100000, CRC(bdd1ed20) SHA1(2435b23210b8fee4d39c30d4d3c6ea40afaa3b93) )
@@ -2645,12 +2769,12 @@ ROM_START( lockload )
/* ROM_LOAD( "dgma27.bin", 0x00000, 0x100000, CRC(3fcbd10f) SHA1(70fc7b88bbe35bbae1de14364b03d0a06d541de5) )*/
/* ROM_LOAD( "dgma28.bin", 0x00000, 0x100000, CRC(5a2ec71d) SHA1(447c404e6bb696f7eb7c61992a99b9be56f5d6b0) )*/
ROM_REGION(0x100000, REGION_SOUND1, 0 )
ROM_LOAD( "mbm-06.n17", 0x00000, 0x100000, CRC(f34d5999) SHA1(265b5f4e8598bcf9183bf9bd95db69b01536acb2) )
ROM_REGION(0x80000, REGION_SOUND2, 0 )
ROM_REGION(0x80000, REGION_SOUND1, 0 )
ROM_LOAD( "mbm-07.n21", 0x00000, 0x80000, CRC(414f3793) SHA1(ed5f63e57390d503193fd1e9f7294ae1da6d3539) )
ROM_REGION(0x100000, REGION_SOUND2, 0 )
ROM_LOAD( "mbm-06.n17", 0x00000, 0x100000, CRC(f34d5999) SHA1(265b5f4e8598bcf9183bf9bd95db69b01536acb2) )
ROM_REGION(0x80000, REGION_SOUND3, 0 )
ROM_LOAD( "mar-07.n19", 0x00000, 0x80000, CRC(40287d62) SHA1(c00cb08bcdae55bcddc14c38e88b0484b1bc9e3e) ) /* same as dragngun, unused?*/
ROM_END
@@ -2895,6 +3019,40 @@ ROM_START( nslashers )
ROM_LOAD( "mbh-11.16l", 0x000000, 0x80000, CRC(0ec40b6b) SHA1(9fef44149608ae2a00f6a75a6f77f2efcab6e78e) )
ROM_END
ROM_START( nslasheru )
ROM_REGION(0x100000, REGION_CPU1, 0 ) /* Encrypted ARM 32 bit code */
ROM_LOAD32_WORD( "00.f1", 0x000000, 0x80000, CRC(944f3329) SHA1(7e7909e203b9752de3d3d798c6f84ac6ae824a07) )
ROM_LOAD32_WORD( "01.f2", 0x000002, 0x80000, CRC(ac12d18a) SHA1(7cd4e843bf575c70c5c39a8afa78b803106f59b0) )
ROM_REGION(0x10000, REGION_CPU2, 0 ) /* Sound CPU */
ROM_LOAD( "02.l18", 0x00000, 0x10000, CRC(5e63bd91) SHA1(a6ac3c8c50f44cf2e6cf029aef1c974d1fc16ed5) )
ROM_REGION( 0x200000, REGION_GFX1, 0 )
ROM_LOAD( "mbh-00.8c", 0x000000, 0x200000, CRC(a877f8a3) SHA1(79253525f360a73161894f31e211e4d6b38d307a) ) /* Encrypted tiles */
ROM_REGION( 0x200000, REGION_GFX2, 0 )
ROM_LOAD( "mbh-01.9c", 0x000000, 0x200000, CRC(1853dafc) SHA1(b1183c0db301cbed9f079c782202dbfc553b198e) ) /* Encrypted tiles */
ROM_REGION( 0xa00000, REGION_GFX3, 0 ) /* Sprites */
ROM_LOAD16_BYTE( "mbh-02.14c", 0x000001, 0x200000, CRC(b2f158a1) SHA1(4f8c0b324813db198fe1dad7fff4185b828b94de) )
ROM_LOAD16_BYTE( "mbh-04.16c", 0x000000, 0x200000, CRC(eecfe06d) SHA1(2df817fe5e2ea31207b217bb03dc58979c05d0d2) )
ROM_LOAD16_BYTE( "mbh-03.15c", 0x400001, 0x80000, CRC(787787e3) SHA1(531444e3f28aa9a7539a5a76ca94a9d6b97274c5) )
ROM_LOAD16_BYTE( "mbh-05.17c", 0x400000, 0x80000, CRC(1d2b7c17) SHA1(ae0b8e0448a1a8180fb424fb0bc8a4302f8ff602) )
ROM_LOAD32_BYTE( "mbh-06.18c", 0x500000, 0x100000, CRC(038c2127) SHA1(5bdb215305f1a419fde27a83b623a38b9328e560) )
ROM_LOAD32_BYTE( "mbh-07.19c", 0x900000, 0x40000, CRC(bbd22323) SHA1(6ab665b2e6d04cdadc48c52e15098e978b61fe10) )
ROM_REGION( 0x100000, REGION_GFX4, 0 ) /* Sprites */
ROM_LOAD16_BYTE( "mbh-08.16e", 0x000001, 0x80000, CRC(cdd7f8cb) SHA1(910bbe8783c0ba722e9d6399b332d658fa059fdb) )
ROM_LOAD16_BYTE( "mbh-09.18e", 0x000000, 0x80000, CRC(33fa2121) SHA1(eb0e99d29b1ad9995df28e5b7cfc89d53efb53c3) )
ROM_REGION(0x80000, REGION_SOUND1, 0 )
ROM_LOAD( "mbh-10.14l", 0x000000, 0x80000, CRC(c4d6b116) SHA1(c5685bce6a6c6a74ca600ebf766ba1007f0dc666) )
ROM_REGION(0x80000, REGION_SOUND2, 0 )
ROM_LOAD( "mbh-11.16l", 0x000000, 0x80000, CRC(0ec40b6b) SHA1(9fef44149608ae2a00f6a75a6f77f2efcab6e78e) )
ROM_END
/**********************************************************************************/
static READ32_HANDLER( captaven_skip )
@@ -2940,7 +3098,7 @@ static READ32_HANDLER( nslasher_skip )
int left=cycles_left_to_run();
UINT32 ret=deco32_ram[0];
if ((pc==0x9c8 || pc== 0xa84)&& left>32 && (ret&0x80)) {
if ((pc==0x9c8 /* Korea / Overseas */|| pc==0xa84 /* Japan */|| pc==0x9e0 /* USA */)&& left>32 && (ret&0x80)) {
cpu_spinuntil_int();
}
@@ -3004,6 +3162,8 @@ static DRIVER_INIT( lockload )
/* ROM[0x3fe3c0/4]=0xe1a00000;*/ /* NOP test switch lock*/
/* ROM[0x3fe3cc/4]=0xe1a00000;*/ /* NOP test switch lock*/
/* ROM[0x3fe40c/4]=0xe1a00000;*/ /* NOP test switch lock*/
lockload_crosshairs = true;
}
static DRIVER_INIT( tattass )
@@ -3076,4 +3236,5 @@ GAMEX(1994, tattass, 0, tattass, tattass, tattass, ROT0, "Data East P
GAMEX(1994, tattassa, tattass, tattass, tattass, tattass, ROT0, "Data East Pinball", "Tattoo Assassins (Asia Prototype)", GAME_IMPERFECT_GRAPHICS )
GAME( 1994, nslasher, 0, nslasher, nslasher, nslasher, ROT0, "Data East Corporation", "Night Slashers (Korea Rev 1.3)" )
GAME( 1994, nslasherj,nslasher, nslasher, nslasher, nslasher, ROT0, "Data East Corporation", "Night Slashers (Japan Rev 1.2)" )
GAMEC( 1994, nslashers,nslasher, nslasher, nslasher, nslasher, ROT0, "Data East Corporation", "Night Slashers (Over Sea Rev 1.2)", &generic_ctrl, &nslashers_bootstrap )
GAMEC(1994, nslashers,nslasher, nslasher, nslasher, nslasher, ROT0, "Data East Corporation", "Night Slashers (Over Sea Rev 1.2)", &generic_ctrl, &nslashers_bootstrap )
GAME( 1994, nslasheru,nslasher, nslasheru,nslasher, nslasher, ROT0, "Data East Corporation", "Night Slashers (US Rev 1.2)" )
+1 -1
View File
@@ -720,7 +720,7 @@ static WRITE32_HANDLER( mirror_hack_w )
return;
}
//printf ("%8.8x, write\n", offset*4);
/*printf ("%8.8x, write\n", offset*4); */
}
static DRIVER_INIT( avengrgs )
+176 -56
View File
@@ -466,6 +466,21 @@ static MACHINE_DRIVER_START( ctsttape )
MDRV_MACHINE_INIT(ctsttape)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( chwy )
/* basic machine hardware */
MDRV_IMPORT_FROM(decocass)
MDRV_MACHINE_INIT(chwy)
MDRV_VIDEO_UPDATE(manhattan)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( cmanhat )
/* basic machine hardware */
MDRV_IMPORT_FROM(decocass)
MDRV_MACHINE_INIT(cmanhat)
MDRV_VIDEO_UPDATE(manhattan)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( clocknch )
@@ -602,6 +617,12 @@ static MACHINE_DRIVER_START( clapapa )
MDRV_MACHINE_INIT(clapapa)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( cskater )
/* basic machine hardware */
MDRV_IMPORT_FROM(decocass)
MDRV_MACHINE_INIT(cskater)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( cfghtice )
@@ -634,6 +655,13 @@ static MACHINE_DRIVER_START( cprosocc )
MDRV_MACHINE_INIT(cprosocc)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( csdtenis )
/* basic machine hardware */
MDRV_IMPORT_FROM(decocass)
MDRV_MACHINE_INIT(csdtenis)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( cppicf )
@@ -658,19 +686,20 @@ static MACHINE_DRIVER_START( cscrtry )
MDRV_MACHINE_INIT(cscrtry)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( czeroize )
/* basic machine hardware */
MDRV_IMPORT_FROM(decocass)
MDRV_MACHINE_INIT(czeroize)
MDRV_VISIBLE_AREA(1*8, 32*8-1, 1*8, 31*8-1)
MACHINE_DRIVER_END
#define DECOCASS_COMMON_ROMS \
ROM_REGION( 2*0x10000, REGION_CPU1, 0 ) /* 64k for code + 64k for decrypted opcodes */ \
ROM_LOAD( "rms8.cpu", 0xf000, 0x1000, CRC(23d929b7) SHA1(063f83020ba3d6f43ab8471f95ca919767b93aa4) ) \
/* the following two are just about the same stuff as the one above */ \
/* ROM_LOAD( "dsp3.p0b", 0xf000, 0x0800, CRC(b67a91d9) ) */ \
/* ROM_LOAD( "dsp3.p1b", 0xf800, 0x0800, CRC(3bfff5f3) ) */ \
\
ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for the audio CPU */ \
ROM_LOAD( "rms8.snd", 0xf800, 0x0800, CRC(b66b2c2a) SHA1(0097f38beb4872e735e560148052e258a26b08fd) ) \
\
ROM_REGION( 0x01000, REGION_CPU3, 0 ) /* 4k for the MCU (actually 1K ROM + 64 bytes RAM @ 0x800) */ \
ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* 4k for the MCU (actually 1K ROM + 64 bytes RAM @ 0x800) */ \
ROM_LOAD( "cass8041.bin", 0x0000, 0x0400, CRC(a6df18fd) SHA1(1f9ea47e372d31767c936c15852b43df2b0ee8ff) ) \
\
ROM_REGION( 0x00060, REGION_PROMS, 0 ) /* PROMS */ \
@@ -679,8 +708,29 @@ MACHINE_DRIVER_END
ROM_LOAD( "rms8.j3", 0x0040, 0x0020, CRC(51eef657) SHA1(eaedce5caf55624ad6ae706aedf82c5717c60f1f) ) /* DRAM banking and timing */ \
#define DECOCASS_BIOS_A_ROMS \
/* v0a.7e, New boardset bios, revision A */ \
\
ROM_REGION( 2*0x10000, REGION_CPU1, 0 ) /* 64k for code + 64k for decrypted opcodes */ \
ROM_LOAD( "v0a-.7e", 0xf000, 0x1000, CRC(3d33ac34) SHA1(909d59e7a993affd10224402b4370e82a5f5545c) ) \
\
DECOCASS_COMMON_ROMS \
#define DECOCASS_BIOS_B_ROMS \
/* rms8.7e, New boardset bios, revision B */ \
\
ROM_REGION( 2*0x10000, REGION_CPU1, 0 ) /* 64k for code + 64k for decrypted opcodes */ \
ROM_LOAD( "rms8.cpu", 0xf000, 0x1000, CRC(23d929b7) SHA1(063f83020ba3d6f43ab8471f95ca919767b93aa4) ) \
\
DECOCASS_COMMON_ROMS \
ROM_START( decocass )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_END
@@ -688,7 +738,7 @@ ROM_END
(dongle data same for each game) */
ROM_START( ctsttape )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
@@ -697,8 +747,29 @@ ROM_START( ctsttape )
ROM_LOAD( "testtape.cas", 0x0000, 0x2000, CRC(4f9d8efb) SHA1(5b77747dad1033e5703f06c0870441b54b4256c5) )
ROM_END
ROM_START( chwy )
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
/* The dongle data is reverse engineered from manual decryption */
ROM_LOAD( "chwy.pro", 0x0000, 0x0020, CRC(2fae678e) SHA1(4a7de851442d4c1d690de03262f0e136a52fca35) )
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
ROM_LOAD( "chwy.cas", 0x0000, 0x8000, CRC(68a48064) SHA1(7e389737972fd0c54f398d296159c561f5ec3a93) )
ROM_END
ROM_START( cmanhat )
DECOCASS_BIOS_A_ROMS
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "manhattan.pro", 0x0000, 0x0020, CRC(1bc9fccb) SHA1(ffc59c7660d5c87a8deca294f80260b6bc7c3027) )
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
ROM_LOAD( "manhattan.cas", 0x000000, 0x006000, CRC(92dae2b1) SHA1(cc048ac6601553675078230290beb3d59775bfe0) )
ROM_END
ROM_START( clocknch )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
@@ -708,7 +779,7 @@ ROM_START( clocknch )
ROM_END
ROM_START( ctisland )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
@@ -718,7 +789,7 @@ ROM_START( ctisland )
ROM_END
ROM_START( ctislnd2 )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
@@ -728,7 +799,7 @@ ROM_START( ctislnd2 )
ROM_END
ROM_START( ctislnd3 )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
@@ -738,7 +809,7 @@ ROM_START( ctislnd3 )
ROM_END
ROM_START( csuperas )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
@@ -748,7 +819,7 @@ ROM_START( csuperas )
ROM_END
ROM_START( castfant )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
@@ -758,7 +829,7 @@ ROM_START( castfant )
ROM_END
ROM_START( cluckypo )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
@@ -768,7 +839,7 @@ ROM_START( cluckypo )
ROM_END
ROM_START( cterrani )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
@@ -778,7 +849,7 @@ ROM_START( cterrani )
ROM_END
ROM_START( cexplore )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
@@ -788,7 +859,7 @@ ROM_START( cexplore )
ROM_END
ROM_START( cprogolf )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00020, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "de-0061.pro", 0x0000, 0x0020, CRC(e09ae5de) SHA1(7dec067d0739a6dad2607132641b66880a5b7751) )
@@ -801,7 +872,7 @@ ROM_END
(dongle data differs for each game) */
ROM_START( cmissnx )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00800, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cmissnx.pro", 0x0000, 0x0800, CRC(8a41c071) SHA1(7b16d933707bf21d25dcd11db6a6c28834b11c5b) )
@@ -811,7 +882,7 @@ ROM_START( cmissnx )
ROM_END
ROM_START( cdiscon1 )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00800, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cdiscon1.pro", 0x0000, 0x0800, CRC(0f793fab) SHA1(331f1b1b482fcd10f42c388a503f9af62d705401) )
@@ -821,7 +892,7 @@ ROM_START( cdiscon1 )
ROM_END
ROM_START( csweetht )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00800, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cdiscon1.pro", 0x0000, 0x0800, CRC(0f793fab) SHA1(331f1b1b482fcd10f42c388a503f9af62d705401) )
@@ -831,7 +902,7 @@ ROM_START( csweetht )
ROM_END
ROM_START( cptennis )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00800, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cptennis.pro", 0x0000, 0x0800, CRC(59b8cede) SHA1(514861a652b5256a11477fc357bc01dfd87f712b) )
@@ -841,7 +912,7 @@ ROM_START( cptennis )
ROM_END
ROM_START( ctornado )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x00800, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "ctornado.pro", 0x0000, 0x0800, CRC(c9a91697) SHA1(3f7163291edbdf1a596e3cd2b7a16bbb140ffb36) )
@@ -850,11 +921,32 @@ ROM_START( ctornado )
ROM_LOAD( "ctornado.cas", 0x0000, 0x8000, CRC(e4e36ce0) SHA1(48a11823121fb2e3de31ae08e453c0124fc4f7f3) )
ROM_END
/* Fishing / Angler Dangler */
ROM_START( cadanglr ) /* version 5-B-0 */
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "dp-1250-a-0.dgl", 0x0000, 0x1000, CRC(92a3b387) SHA1(e17a155d02e9ed806590b23a845dc7806b6720b1) )
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
ROM_LOAD( "dt-1255-b-0.cas", 0x0000, 0x7400, CRC(eb985257) SHA1(1285724352a59c96cc4edf4f43e89dd6d8c585b2) )
ROM_END
ROM_START( cfishing )
DECOCASS_BIOS_A_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "dp-1250-a-0.dgl", 0x0000, 0x1000, CRC(92a3b387) SHA1(e17a155d02e9ed806590b23a845dc7806b6720b1) )
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
ROM_LOAD( "dt-1250-a-0.cas", 0x0000, 0x7500, CRC(d4a16425) SHA1(25afaabdc8b2217d5e73606a36ea9ba408d7bc4b) )
ROM_END
/* The Following use Dongle Type 3 (unknown part number?)
(dongle data differs for each game) */
ROM_START( cburnrub )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cburnrub.pro", 0x0000, 0x1000, CRC(9f396832) SHA1(0e302fd094474ac792882948a018c73ce76e0759) )
@@ -864,7 +956,7 @@ ROM_START( cburnrub )
ROM_END
ROM_START( cburnrb2 )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cburnrub.pro", 0x0000, 0x1000, CRC(9f396832) SHA1(0e302fd094474ac792882948a018c73ce76e0759) )
@@ -874,7 +966,7 @@ ROM_START( cburnrb2 )
ROM_END
ROM_START( cbnj )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cburnrub.pro", 0x0000, 0x1000, CRC(9f396832) SHA1(0e302fd094474ac792882948a018c73ce76e0759) )
@@ -884,7 +976,7 @@ ROM_START( cbnj )
ROM_END
ROM_START( cbtime )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cbtime.pro", 0x0000, 0x1000, CRC(25bec0f0) SHA1(9fb1f9699f37937421e26d4fb8fdbcd21a5ddc5c) )
@@ -894,7 +986,7 @@ ROM_START( cbtime )
ROM_END
ROM_START( cgraplop )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cgraplop.pro", 0x0000, 0x1000, CRC(ee93787d) SHA1(0c753d62fdce2fdbd5b329a5aa259a967d07a651) )
@@ -904,7 +996,7 @@ ROM_START( cgraplop )
ROM_END
ROM_START( cgraplp2 )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cgraplop.pro", 0x0000, 0x1000, CRC(ee93787d) SHA1(0c753d62fdce2fdbd5b329a5aa259a967d07a651) ) /* is this right for this set? */
@@ -914,7 +1006,7 @@ ROM_START( cgraplp2 )
ROM_END
ROM_START( clapapa )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "clapapa.pro", 0x0000, 0x1000, CRC(e172819a) SHA1(3492775f4f0a0b31ce5a1a998076829b3f264e98) )
@@ -924,7 +1016,7 @@ ROM_START( clapapa )
ROM_END
ROM_START( clapapa2 )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "clapapa.pro", 0x0000, 0x1000, CRC(e172819a) SHA1(3492775f4f0a0b31ce5a1a998076829b3f264e98) )
@@ -933,8 +1025,18 @@ ROM_START( clapapa2 )
ROM_LOAD( "clapapa2.cas", 0x0000, 0x8000, CRC(069dd3c4) SHA1(5a19392c7ac5aea979187c96267e73bf5126307e) )
ROM_END
ROM_START( cskater )
DECOCASS_BIOS_A_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "dp-130 a.dgl", 0x0000, 0x1000, CRC(469e80a8) SHA1(f581cd534ce6faba010c6616538cdf9d96d787da) )
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
ROM_LOAD( "dt-130 a.bin", 0x0000, 0x8000, CRC(1722e5e1) SHA1(e94066ead608df85d3f7310d4a81ba291da4bee6) )
ROM_END
ROM_START( cfghtice )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cfghtice.pro", 0x0000, 0x1000, CRC(5abd27b5) SHA1(2ab1c171adffd491759036d6ce2433706654aad2) )
@@ -944,7 +1046,7 @@ ROM_START( cfghtice )
ROM_END
ROM_START( cprobowl )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cprobowl.pro", 0x0000, 0x1000, CRC(e3a88e60) SHA1(e6e9a2e5ab26e0463c63201a15f7d5a429ec836e) )
@@ -954,7 +1056,7 @@ ROM_START( cprobowl )
ROM_END
ROM_START( cnightst )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cnightst.pro", 0x0000, 0x1000, CRC(553b0fbc) SHA1(2cdf4560992b62e59b6de760d7996be4ed25f505) )
@@ -964,7 +1066,7 @@ ROM_START( cnightst )
ROM_END
ROM_START( cnights2 )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cnightst.pro", 0x0000, 0x1000, CRC(553b0fbc) SHA1(2cdf4560992b62e59b6de760d7996be4ed25f505) )
@@ -974,7 +1076,7 @@ ROM_START( cnights2 )
ROM_END
ROM_START( cprosocc )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cprosocc.pro", 0x0000, 0x1000, CRC(919fabb2) SHA1(3d6a0676cea7b0be0fe69d06e04ca08c36b2851a) )
@@ -983,8 +1085,18 @@ ROM_START( cprosocc )
ROM_LOAD( "cprosocc.cas", 0x0000, 0x10000, CRC(76b1ad2c) SHA1(6188667e5bc001dfdf83deaf7251eae794de4702) )
ROM_END
ROM_START( csdtenis )
DECOCASS_BIOS_A_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "dp-134 a.dgl", 0x0000, 0x1000, CRC(e484d2f5) SHA1(ee4e4c221933d391aeed8ff7182fa931a4e01466) )
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
ROM_LOAD( "dt-134 a.bin", 0x0000, 0x10000, CRC(9a69d961) SHA1(f88e267815ca0697708aca0ac9fa6f7664a0519c) )
ROM_END
ROM_START( cppicf )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cppicf.pro", 0x0000, 0x1000, CRC(0b1a1ecb) SHA1(2106da6837c78812c102b0eaaa1127fcc21ea780) )
@@ -994,7 +1106,7 @@ ROM_START( cppicf )
ROM_END
ROM_START( cppicf2 )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cppicf.pro", 0x0000, 0x1000, CRC(0b1a1ecb) SHA1(2106da6837c78812c102b0eaaa1127fcc21ea780) )
@@ -1007,7 +1119,7 @@ ROM_END
(dongle data probably differs for each game, but only one is known using it atm) */
ROM_START( cscrtry )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x08000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cscrtry.pro", 0x0000, 0x8000, CRC(7bc3460b) SHA1(7c5668ff9a5073e27f4a83b02d79892eb4df6b92) )
@@ -1017,7 +1129,7 @@ ROM_START( cscrtry )
ROM_END
ROM_START( cscrtry2 )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
ROM_REGION( 0x08000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "cscrtry.pro", 0x0000, 0x8000, CRC(7bc3460b) SHA1(7c5668ff9a5073e27f4a83b02d79892eb4df6b92) )
@@ -1026,11 +1138,21 @@ ROM_START( cscrtry2 )
ROM_LOAD( "cscrtry2.cas", 0x0000, 0x8000, CRC(04597842) SHA1(7f1fc3e06b61df880debe9056bdfbbb8600af739) )
ROM_END
ROM_START( coozumou )
DECOCASS_BIOS_A_ROMS
ROM_REGION( 0x08000, REGION_USER1, 0 ) /* dongle data */
ROM_LOAD( "dp-141_a.dgl", 0x0000, 0x8000, CRC(bc379d2c) SHA1(bab19dcb6d68fdbd547ebab1598353f436321157) )
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
ROM_LOAD( "dt-141_1a.cas", 0x0000, 0x10000, CRC(20c2e86a) SHA1(a18248ba00b847a09df0bea7752a21162af8af76) )
ROM_END
/* The Following use Dongle Type 5 (unknown part number?)
(dongle data not read) */
ROM_START( cbdash )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
/* ROM_REGION( 0x01000, REGION_USER1, 0 ) */ /* (max) 4k for dongle data */
/* no proms */
@@ -1042,17 +1164,8 @@ ROM_END
/* The Following have unknown Dongles
(dongle data not read) */
ROM_START( chwy )
DECOCASS_COMMON_ROMS
/* no dumped dongle data, type1? its an early game if its highway chase */
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
ROM_LOAD( "chwy.cas", 0x0000, 0x8000, CRC(68a48064) SHA1(7e389737972fd0c54f398d296159c561f5ec3a93) )
ROM_END
ROM_START( cflyball )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
/* no dumped dongle data */
@@ -1061,9 +1174,10 @@ ROM_START( cflyball )
ROM_END
ROM_START( czeroize )
DECOCASS_COMMON_ROMS
DECOCASS_BIOS_B_ROMS
/* no dumped dongle data */
ROM_REGION( 0x01000, REGION_USER1, 0 ) /* dongle data */
/* missing dongle data */
ROM_REGION( 0x10000, REGION_USER2, 0 ) /* (max) 64k for cassette image */
ROM_LOAD( "czeroize.cas", 0x0000, 0x10000, CRC(3ef0a406) SHA1(645b34cd477e0bb5539c8fe937a7a2dbd8369003) )
@@ -1085,6 +1199,8 @@ static DRIVER_INIT( decocass )
GAMEX( 1981, decocass, 0, decocass, decocass, decocass, ROT270, "DECO", "Cassette System", NOT_A_DRIVER )
GAME ( 1981, ctsttape, decocass, ctsttape, decocass, decocass, ROT270, "DECO", "Cassette: Test Tape" )
GAMEX( 1980, chwy, decocass, chwy, decocass, decocass, ROT270, "DECO", "Cassette: Highway Chase", GAME_IMPERFECT_GRAPHICS )
GAME ( 1981, cmanhat, decocass, cmanhat, decocass, decocass, ROT270, "DECO", "Cassette: Manhattan" )
GAME ( 1981, clocknch, decocass, clocknch, decocass, decocass, ROT270, "DECO", "Cassette: Lock'n'Chase" )
GAMEX( 1981, ctisland, decocass, ctisland, decocass, decocass, ROT270, "DECO", "Cassette: Treasure Island (set 1)", GAME_IMPERFECT_GRAPHICS )
GAMEX( 1981, ctislnd2, ctisland, ctisland, decocass, decocass, ROT270, "DECO", "Cassette: Treasure Island (set 2)", GAME_IMPERFECT_GRAPHICS )
@@ -1104,22 +1220,26 @@ GAME ( 1982, cburnrub, decocass, cburnrub, decocass, decocass, ROT270, "DECO", "
GAME ( 1982, cburnrb2, cburnrub, cburnrub, decocass, decocass, ROT270, "DECO", "Cassette: Burnin' Rubber (set 2)" )
GAME ( 1982, cbnj, cburnrub, cbnj, decocass, decocass, ROT270, "DECO", "Cassette: Bump N Jump" )
GAME ( 1983, cbtime, decocass, cbtime, decocass, decocass, ROT270, "DECO", "Cassette: Burger Time" )
GAME ( 1982, cadanglr, decocass, cppicf, decocass, decocass, ROT270, "DECO", "Cassette: Angler Dangler" )
GAME ( 1982, cfishing, cadanglr, cppicf, decocass, decocass, ROT270, "DECO", "Cassette: Fishing" )
GAME ( 1983, cgraplop, decocass, cgraplop, decocass, decocass, ROT270, "DECO", "Cassette: Graplop (aka Cluster Buster) (set 1)" )
GAMEX( 1983, cgraplp2, cgraplop, cgraplop, decocass, decocass, ROT270, "DECO", "Cassette: Graplop (aka Cluster Buster) (set 2)", GAME_NOT_WORKING ) /* Different Protection / Bitswap? */
GAME ( 1983, clapapa, decocass, clapapa, decocass, decocass, ROT270, "DECO", "Cassette: Rootin' Tootin' (aka La.Pa.Pa)" ) /* Displays 'LaPaPa during attract */
GAME ( 1983, clapapa2, clapapa, clapapa, decocass, decocass, ROT270, "DECO", "Cassette: Rootin' Tootin'" ) /* Displays 'Rootin' Tootin' during attract */
GAME ( 1983, cskater, decocass, cskater, decocass, decocass, ROT270, "DECO", "Cassette: Skater (Japan)" )
GAME ( 1983, czeroize, decocass, czeroize, decocass, decocass, ROT270, "DECO", "Cassette: Zeroize" )
GAME ( 1984, cfghtice, decocass, cfghtice, decocass, decocass, ROT270, "DECO", "Cassette: Fighting Ice Hockey" )
GAME ( 1983, cprobowl, decocass, cprobowl, decocass, decocass, ROT270, "DECO", "Cassette: Pro Bowling" )
GAME ( 1983, cnightst, decocass, cnightst, decocass, decocass, ROT270, "DECO", "Cassette: Night Star (set 1)" )
GAME ( 1983, cnights2, cnightst, cnightst, decocass, decocass, ROT270, "DECO", "Cassette: Night Star (set 2)" )
GAME ( 1983, cprosocc, decocass, cprosocc, decocass, decocass, ROT270, "DECO", "Cassette: Pro Soccer" )
GAMEX( 1983, csdtenis, decocass, csdtenis, decocass, decocass, ROT270, "DECO", "Cassette: Super Doubles Tennis (Japan)", GAME_WRONG_COLORS )
GAME ( 1984, cppicf, decocass, cppicf, decocass, decocass, ROT270, "DECO", "Cassette: Peter Pepper's Ice Cream Factory (set 1)" )
GAME ( 1984, cppicf2, cppicf, cppicf, decocass, decocass, ROT270, "DECO", "Cassette: Peter Pepper's Ice Cream Factory (set 2)" )
GAME ( 1984, cscrtry, decocass, cscrtry, decocass, decocass, ROT270, "DECO", "Cassette: Scrum Try (set 1)" )
GAME ( 1984, cscrtry2, cscrtry, cscrtry, decocass, decocass, ROT270, "DECO", "Cassette: Scrum Try (set 2)" )
GAME ( 1984, coozumou, decocass, cscrtry, decocass, decocass, ROT270, "DECO", "Cassette: Oozumou - The Grand Sumo (Japan)" )
GAME ( 1985, cbdash, decocass, cbdash, decocass, decocass, ROT270, "DECO", "Cassette: Boulder Dash" )
/* The following may be missing dongle data if they're not Type 1 */
GAMEX( 1985, chwy, decocass, decocass, decocass, decocass, ROT270, "DECO", "Cassette: Highway Chase[Q]", GAME_NOT_WORKING )
GAMEX( 1985, cflyball, decocass, decocass, decocass, decocass, ROT270, "DECO", "Cassette: Flying Ball[Q]", GAME_NOT_WORKING )
GAMEX( 1985, czeroize, decocass, decocass, decocass, decocass, ROT270, "DECO", "Cassette: Zeroize[Q]", GAME_NOT_WORKING )
+1 -1
View File
@@ -23,7 +23,7 @@ PAL16R6A 11H
static int flip_screen;
static data16_t *spriteram16;
static unsigned int spriteram_size;
static size_t spriteram_size;
static void dietgogo_drawsprites(struct mame_bitmap *bitmap,const struct rectangle *cliprect)
+41 -2
View File
@@ -647,6 +647,11 @@ static DRIVER_INIT( djboy )
bankxor = 0x00;
}
static DRIVER_INIT( djboyj )
{
bankxor = 0x1f;
}
static WRITE_HANDLER( cpu1_cause_nmi_w )
{
cpu_set_irq_line(0, IRQ_LINE_NMI, PULSE_LINE);
@@ -1043,5 +1048,39 @@ ROM_START( djboy )
ROM_LOAD( "bs203.5j", 0x000000, 0x40000, CRC(805341fb) SHA1(fb94e400e2283aaa806814d5a39d6196457dc822) )
ROM_END
/* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MNTR, COMPANY, FULLNAME, FLAGS */
GAME( 1989, djboy, 0, djboy, djboy, djboy, ROT0, "Kaneko", "DJ Boy" ) /* Sammy & Williams logos in FG ROM*/
ROM_START( djboyj )
ROM_REGION( 0x48000, REGION_CPU1, 0 )
ROM_LOAD( "bs12.4b", 0x00000, 0x08000, CRC(0971523e) SHA1(f90cd02cedf8632f4b651de7ea75dc8c0e682f6e) )
ROM_CONTINUE( 0x10000, 0x18000 )
ROM_LOAD( "bs100.4d", 0x28000, 0x20000, CRC(081e8af8) SHA1(3589dab1cf31b109a40370b4db1f31785023e2ed) )
ROM_REGION( 0x38000, REGION_CPU2, 0 )
ROM_LOAD( "bs13.5y", 0x00000, 0x08000, CRC(5c3f2f96) SHA1(bb7ee028a2d8d3c76a78a29fba60bcc36e9399f5) )
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_LOAD( "bs101.6w", 0x18000, 0x20000, CRC(a7c85577) SHA1(8296b96d5f69f6c730b7ed77fa8c93496b33529c) )
ROM_REGION( 0x24000, REGION_CPU3, 0 ) /* sound */
ROM_LOAD( "bs200.8c", 0x00000, 0x0c000, CRC(f6c19e51) SHA1(82193f71122df07cce0a7f057a87b89eb2d587a1) )
ROM_CONTINUE( 0x10000, 0x14000 )
ROM_REGION( 0x200000, REGION_GFX1, 0 ) /* sprites */
ROM_LOAD( "bs000.1h", 0x000000, 0x80000, CRC(be4bf805) SHA1(a73c564575fe89d26225ca8ec2d98b6ac319ac18) )
ROM_LOAD( "bs001.1f", 0x080000, 0x80000, CRC(fdf36e6b) SHA1(a8762458dfd5201304247c113ceb85e96e33d423) )
ROM_LOAD( "bs002.1d", 0x100000, 0x80000, CRC(c52fee7f) SHA1(bd33117f7a57899fd4ec0a77413107edd9c44629) )
ROM_LOAD( "bs003.1k", 0x180000, 0x80000, CRC(ed89acb4) SHA1(611af362606b73cd2cf501678b463db52dcf69c4) )
ROM_LOAD( "bsxx.1b", 0x1f0000, 0x10000, CRC(22c8aa08) SHA1(5521c9d73b4ee82a2de1992d6edc7ef62788ad72) ) /* replaces last 0x200 tiles */
ROM_REGION( 0x100000, REGION_GFX2, 0 ) /* background */
ROM_LOAD( "bs004.1s", 0x000000, 0x80000, CRC(2f1392c3) SHA1(1bc3030b3612766a02133eef0b4d20013c0495a4) )
ROM_LOAD( "bs005.1u", 0x080000, 0x80000, CRC(46b400c4) SHA1(35f4823364bbff1fc935994498d462bbd3bc6044) )
ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* OKI-M6295 samples */
ROM_LOAD( "bs-204.5j", 0x000000, 0x40000, CRC(510244f0) SHA1(afb502d46d268ad9cd209ae1da72c50e4e785626) )
ROM_REGION( 0x40000, REGION_SOUND2, 0 ) /* OKI-M6295 samples */
ROM_LOAD( "bs-204.5j", 0x000000, 0x40000, CRC(510244f0) SHA1(afb502d46d268ad9cd209ae1da72c50e4e785626) )
ROM_END
GAME( 1989, djboy, 0, djboy, djboy, djboy, ROT0, "Kaneko", "DJ Boy" ) /* Sammy & Williams logos in FG ROM */
GAME( 1989, djboyj, djboy, djboy, djboy, djboyj, ROT0, "Kaneko", "DJ Boy (Japan)" ) /* Sega logo in FG ROM */
+592 -280
View File
File diff suppressed because it is too large. Load diff
+304 -336
View File
@@ -2,10 +2,6 @@
Mr. Do's Castle memory map (preliminary)
TODO:
- the function of the third CPU is not clear.
FIRST CPU:
0000-7fff ROM
8000-97ff RAM
@@ -116,6 +112,19 @@ not currently hooked up
***************************************************************************/
/*
TODO:
- third CPU
- unknown ports 0 and 2
- bad communication in idsoccer
- adpcm status in idsoccer
- real values for the adpcm interface in idsoccer
- handle flipscreen on/off based on address line A7 (cX0X/cX8X)
*/
#include "driver.h"
#include "vidhrdw/generic.h"
@@ -158,6 +167,61 @@ static MEMORY_WRITE_START( docastle_writemem )
{ 0xe000, 0xe000, docastle_nmitrigger_w },
MEMORY_END
static PORT_READ_START( docastle_readport )
{ 0x00, 0x00, MRA_NOP }, /* goes to CRT 46505S */
{ 0x02, 0x02, MRA_NOP }, /* goes to CRT 46505S */
PORT_END
static PORT_WRITE_START( docastle_writeport )
{ 0x00, 0x00, MWA_NOP }, /* goes to CRT 46505S */
{ 0x02, 0x02, MWA_NOP }, /* goes to CRT 46505S */
PORT_END
static MEMORY_READ_START( docastle_readmem2 )
{ 0x0000, 0x3fff, MRA_ROM },
{ 0x8000, 0x87ff, MRA_RAM },
{ 0xa000, 0xa008, docastle_shared1_r },
{ 0xc001, 0xc001, input_port_4_r },
{ 0xc081, 0xc081, input_port_4_r },
{ 0xc002, 0xc002, input_port_3_r },
{ 0xc082, 0xc082, input_port_3_r },
{ 0xc003, 0xc003, input_port_0_r },
{ 0xc083, 0xc083, input_port_0_r },
{ 0xc004, 0xc004, docastle_flipscreen_off_r },
{ 0xc005, 0xc005, input_port_1_r },
{ 0xc085, 0xc085, input_port_1_r },
{ 0xc007, 0xc007, input_port_2_r },
{ 0xc087, 0xc087, input_port_2_r },
{ 0xc084, 0xc084, docastle_flipscreen_on_r },
MEMORY_END
static MEMORY_WRITE_START( docastle_writemem2 )
{ 0x0000, 0x3fff, MWA_ROM },
{ 0x8000, 0x87ff, MWA_RAM },
{ 0xa000, 0xa008, docastle_shared0_w },
{ 0xc004, 0xc004, docastle_flipscreen_off_w },
{ 0xc084, 0xc084, docastle_flipscreen_on_w },
{ 0xe000, 0xe000, SN76496_0_w },
{ 0xe400, 0xe400, SN76496_1_w },
{ 0xe800, 0xe800, SN76496_2_w },
{ 0xec00, 0xec00, SN76496_3_w },
MEMORY_END
static MEMORY_READ_START( docastle_readmem3 )
{ 0x0000, 0x00ff, MRA_ROM },
{ 0x4000, 0x47ff, MRA_RAM },
{ 0x8000, 0x8008, docastle_shared1_r }, /* ??? */
{ 0xc003, 0xc003, MRA_NOP }, /* EP according to schematics */
{ 0xc432, 0xc435, MRA_NOP }, /* ??? */
MEMORY_END
static MEMORY_WRITE_START( docastle_writemem3 )
{ 0x0000, 0x00ff, MWA_ROM },
{ 0x4000, 0x47ff, MWA_RAM },
{ 0xc003, 0xc003, MWA_NOP }, /* EP according to schematics */
{ 0xc432, 0xc435, MWA_NOP }, /* ??? */
MEMORY_END
static MEMORY_READ_START( dorunrun_readmem )
{ 0x0000, 0x1fff, MRA_ROM },
{ 0x2000, 0x37ff, MRA_RAM },
@@ -171,112 +235,26 @@ static MEMORY_WRITE_START( dorunrun_writemem )
{ 0x3800, 0x39ff, MWA_RAM, &spriteram, &spriteram_size },
{ 0x4000, 0x9fff, MWA_ROM },
{ 0xa000, 0xa008, docastle_shared1_w },
{ 0xa800, 0xa800, watchdog_reset_w },
{ 0xb000, 0xb3ff, docastle_videoram_w, &videoram },
{ 0xb400, 0xb7ff, docastle_colorram_w, &colorram },
{ 0xb800, 0xb800, docastle_nmitrigger_w },
{ 0xa800, 0xa800, watchdog_reset_w },
MEMORY_END
/* what is this really, sound related? */
static READ_HANDLER(idsoccer_c000_r)
{
static int i = 0x00;
i ^= 0x80; return i;
}
static MEMORY_READ_START( idsoccer_readmem )
{ 0x0000, 0x3fff, MRA_ROM },
{ 0x4000, 0x59ff, MRA_RAM },
{ 0x6000, 0x9fff, MRA_ROM },
{ 0xa000, 0xa008, docastle_shared0_r },
{ 0xb800, 0xbbff, videoram_r },
{ 0xbc00, 0xbfff, colorram_r },
{ 0xc000, 0xc000, idsoccer_c000_r }, /* ?? */
MEMORY_END
static MEMORY_WRITE_START( idsoccer_writemem )
{ 0x0000, 0x3fff, MWA_ROM },
{ 0x4000, 0x57ff, MWA_RAM },
{ 0x5800, 0x59ff, MWA_RAM, &spriteram, &spriteram_size },
{ 0x6000, 0x9fff, MWA_ROM },
{ 0xa000, 0xa008, docastle_shared1_w },
{ 0xa800, 0xa800, watchdog_reset_w },
{ 0xb000, 0xb3ff, docastle_videoram_w, &videoram },
{ 0xb400, 0xb7ff, docastle_colorram_w, &colorram },
{ 0xc000, 0xc000, MWA_NOP }, /* ?? */
{ 0xe000, 0xe000, docastle_nmitrigger_w },
MEMORY_END
static MEMORY_READ_START( docastle_readmem2 )
{ 0x0000, 0x3fff, MRA_ROM },
{ 0x8000, 0x87ff, MRA_RAM },
{ 0xa000, 0xa008, docastle_shared1_r },
{ 0xc003, 0xc003, input_port_0_r },
{ 0xc083, 0xc083, input_port_0_r },
{ 0xc005, 0xc005, input_port_1_r },
{ 0xc085, 0xc085, input_port_1_r },
{ 0xc007, 0xc007, input_port_2_r },
{ 0xc087, 0xc087, input_port_2_r },
{ 0xc002, 0xc002, input_port_3_r },
{ 0xc082, 0xc082, input_port_3_r },
{ 0xc001, 0xc001, input_port_4_r },
{ 0xc081, 0xc081, input_port_4_r },
{ 0xc004, 0xc004, docastle_flipscreen_off_r },
{ 0xc084, 0xc084, docastle_flipscreen_on_r },
MEMORY_END
static MEMORY_WRITE_START( docastle_writemem2 )
{ 0x0000, 0x3fff, MWA_ROM },
{ 0x8000, 0x87ff, MWA_RAM },
{ 0xa000, 0xa008, docastle_shared0_w },
{ 0xe000, 0xe000, SN76496_0_w },
{ 0xe400, 0xe400, SN76496_1_w },
{ 0xe800, 0xe800, SN76496_2_w },
{ 0xec00, 0xec00, SN76496_3_w },
{ 0xc004, 0xc004, docastle_flipscreen_off_w },
{ 0xc084, 0xc084, docastle_flipscreen_on_w },
MEMORY_END
static MEMORY_READ_START( idsoccer_readmem2 )
{ 0x0000, 0x3fff, MRA_ROM },
{ 0x8000, 0x87ff, MRA_RAM },
{ 0xa000, 0xa008, docastle_shared1_r },
{ 0xc003, 0xc003, input_port_0_r },
{ 0xc083, 0xc083, input_port_0_r },
{ 0xc005, 0xc005, input_port_1_r },
{ 0xc085, 0xc085, input_port_1_r },
{ 0xc007, 0xc007, input_port_2_r },
{ 0xc087, 0xc087, input_port_2_r },
{ 0xc002, 0xc002, input_port_3_r },
{ 0xc082, 0xc082, input_port_3_r },
{ 0xc001, 0xc001, input_port_4_r },
{ 0xc081, 0xc081, input_port_4_r },
{ 0xc004, 0xc004, input_port_5_r },
{ 0xc084, 0xc084, input_port_5_r },
MEMORY_END
static MEMORY_READ_START( docastle_readmem3 )
{ 0x0000, 0x0100, MRA_ROM },
MEMORY_END
static MEMORY_WRITE_START( docastle_writemem3 )
{ 0x0000, 0x0100, MWA_ROM },
MEMORY_END
static MEMORY_READ_START( dorunrun_readmem2 )
{ 0x0000, 0x3fff, MRA_ROM },
{ 0x8000, 0x87ff, MRA_RAM },
{ 0xc001, 0xc001, input_port_4_r },
{ 0xc081, 0xc081, input_port_4_r },
{ 0xc002, 0xc002, input_port_3_r },
{ 0xc082, 0xc082, input_port_3_r },
{ 0xc003, 0xc003, input_port_0_r },
{ 0xc083, 0xc083, input_port_0_r },
{ 0xc004, 0xc004, docastle_flipscreen_off_r },
{ 0xc005, 0xc005, input_port_1_r },
{ 0xc085, 0xc085, input_port_1_r },
{ 0xc007, 0xc007, input_port_2_r },
{ 0xc087, 0xc087, input_port_2_r },
{ 0xc002, 0xc002, input_port_3_r },
{ 0xc082, 0xc082, input_port_3_r },
{ 0xc001, 0xc001, input_port_4_r },
{ 0xc081, 0xc081, input_port_4_r },
{ 0xc004, 0xc004, docastle_flipscreen_off_r },
{ 0xc084, 0xc084, docastle_flipscreen_on_r },
{ 0xe000, 0xe008, docastle_shared1_r },
MEMORY_END
@@ -294,6 +272,97 @@ static MEMORY_WRITE_START( dorunrun_writemem2 )
MEMORY_END
/* Read/Write Handlers */
static int adpcm_pos, adpcm_idle;
static void idsoccer_adpcm_int(int chip)
{
static int adpcm_data = -1;
if (adpcm_pos >= memory_region_length(REGION_SOUND1))
{
adpcm_idle = 1;
MSM5205_reset_w(0, 1);
}
else if (adpcm_data != -1)
{
MSM5205_data_w(0, adpcm_data & 0x0f);
adpcm_data = -1;
}
else
{
adpcm_data = memory_region(REGION_SOUND1)[adpcm_pos++];
MSM5205_data_w(0, adpcm_data >> 4);
}
}
static READ_HANDLER( idsoccer_adpcm_status_r )
{
/* this is wrong, but the samples work anyway!! */
static int i;
i ^= 0x80;
return i;
}
static WRITE_HANDLER( idsoccer_adpcm_w )
{
if (data & 0x80)
{
adpcm_idle = 1;
MSM5205_reset_w(0, 1);
}
else
{
adpcm_pos = (data & 0x7f) * 0x200;
adpcm_idle = 0;
MSM5205_reset_w(0, 0);
}
}
static MEMORY_READ_START( idsoccer_readmem )
{ 0x0000, 0x3fff, MRA_ROM },
{ 0x4000, 0x59ff, MRA_RAM },
{ 0x6000, 0x9fff, MRA_ROM },
{ 0xa000, 0xa008, docastle_shared0_r },
{ 0xb800, 0xbbff, videoram_r },
{ 0xbc00, 0xbfff, colorram_r },
{ 0xc000, 0xc000, idsoccer_adpcm_status_r }, /* sound */
MEMORY_END
static MEMORY_WRITE_START( idsoccer_writemem )
{ 0x0000, 0x3fff, MWA_ROM },
{ 0x4000, 0x57ff, MWA_RAM },
{ 0x5800, 0x59ff, MWA_RAM, &spriteram, &spriteram_size },
{ 0x6000, 0x9fff, MWA_ROM },
{ 0xa000, 0xa008, docastle_shared1_w },
{ 0xa800, 0xa800, watchdog_reset_w },
{ 0xb000, 0xb3ff, docastle_videoram_w, &videoram },
{ 0xb400, 0xb7ff, docastle_colorram_w, &colorram },
{ 0xc000, 0xc000, idsoccer_adpcm_w }, /* sound */
{ 0xe000, 0xe000, docastle_nmitrigger_w },
MEMORY_END
static MEMORY_READ_START( idsoccer_readmem2 )
{ 0x0000, 0x3fff, MRA_ROM },
{ 0x8000, 0x87ff, MRA_RAM },
{ 0xa000, 0xa008, docastle_shared1_r },
{ 0xc001, 0xc001, input_port_4_r },
{ 0xc081, 0xc081, input_port_4_r },
{ 0xc002, 0xc002, input_port_3_r },
{ 0xc082, 0xc082, input_port_3_r },
{ 0xc003, 0xc003, input_port_0_r },
{ 0xc083, 0xc083, input_port_0_r },
{ 0xc004, 0xc004, input_port_5_r },
{ 0xc084, 0xc084, input_port_5_r },
{ 0xc005, 0xc005, input_port_1_r },
{ 0xc085, 0xc085, input_port_1_r },
{ 0xc007, 0xc007, input_port_2_r },
{ 0xc087, 0xc087, input_port_2_r },
MEMORY_END
/* Input Ports */
/* Coinage used for all games */
#define COINAGE_PORT \
@@ -325,55 +394,62 @@ MEMORY_END
PORT_DIPSETTING( 0x00, DEF_STR( Free_Play ) ) \
/* 0x10, 0x20, 0x30, 0x40, 0x50 all give 1 Coin/1 Credit */
#define DOCASTLE_IN0 \
PORT_START \
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY ) \
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY ) \
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY ) \
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY ) \
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL ) \
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL ) \
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL ) \
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
INPUT_PORTS_START( docastle )
PORT_START /* IN0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
PORT_START /* IN1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
#define DOCASTLE_IN1 \
PORT_START \
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) \
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) \
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) \
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 ) \
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL ) \
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL ) \
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED ) \
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
PORT_START /* IN2 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
PORT_BITX( 0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, JOYCODE_NONE )
PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 32 ) /* coin input must be active for 32 frames to be consistently recognized */
PORT_DIPNAME( 0x08, 0x08, "Freeze" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
#define DOCASTLE_IN2 \
PORT_START \
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT ) \
PORT_SERVICE_NO_TOGGLE( 0x02, IP_ACTIVE_LOW ) \
PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 32 ) \
PORT_DIPNAME( 0x08, 0x08, "Freeze" ) \
PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) \
PORT_DIPSETTING( 0x00, DEF_STR( On ) ) \
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 ) \
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 ) \
PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
INPUT_PORTS_START( docastle )
DOCASTLE_IN0
DOCASTLE_IN1
DOCASTLE_IN2
PORT_START /* DSW0 */
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x03, "Easy" )
PORT_DIPSETTING( 0x02, "Medium" )
PORT_DIPSETTING( 0x01, "Hard" )
PORT_DIPSETTING( 0x00, "Hardest" )
PORT_DIPNAME( 0x04, 0x04, "Automatic Screen Renewal" )
PORT_DIPSETTING( 0x00, DEF_STR( No ) )
PORT_DIPSETTING( 0x04, DEF_STR( Yes ) )
PORT_DIPSETTING( 0x03, "1 (Beginner)" )
PORT_DIPSETTING( 0x02, "2" )
PORT_DIPSETTING( 0x01, "3" )
PORT_DIPSETTING( 0x00, "4 (Advanced)" )
PORT_DIPNAME( 0x04, 0x04, "Rack Test" )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, "Advance Level on Getting Diamond" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Extra" )
PORT_DIPNAME( 0x10, 0x10, "Difficulty of EXTRA" )
PORT_DIPSETTING( 0x10, "Easy" )
PORT_DIPSETTING( 0x00, "Hard" )
PORT_DIPSETTING( 0x00, "Difficult" )
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
@@ -387,53 +463,27 @@ INPUT_PORTS_START( docastle )
INPUT_PORTS_END
INPUT_PORTS_START( dorunrun )
PORT_START /* IN0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
DOCASTLE_IN0
PORT_START /* IN1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
DOCASTLE_IN1
PORT_START /* IN2 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
PORT_BITX( 0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, JOYCODE_NONE )
PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 32 ) /* coin input must be active for 32 frames to be consistently recognized */
PORT_DIPNAME( 0x08, 0x08, "Freeze" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
DOCASTLE_IN2
PORT_START /* DSW0 */
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x03, "Easy" )
PORT_DIPSETTING( 0x02, "Medium" )
PORT_DIPSETTING( 0x01, "Hard" )
PORT_DIPSETTING( 0x00, "Hardest" )
PORT_DIPSETTING( 0x03, "1 (Beginner)" )
PORT_DIPSETTING( 0x02, "2" )
PORT_DIPSETTING( 0x01, "3" )
PORT_DIPSETTING( 0x00, "4 (Advanced)" )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Demo_Sounds ) )
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x04, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Extra" )
PORT_DIPNAME( 0x10, 0x10, "Difficulty of EXTRA" )
PORT_DIPSETTING( 0x10, "Easy" )
PORT_DIPSETTING( 0x00, "Hard" )
PORT_DIPSETTING( 0x00, "Difficult" )
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
@@ -448,57 +498,30 @@ INPUT_PORTS_START( dorunrun )
INPUT_PORTS_END
INPUT_PORTS_START( dowild )
PORT_START /* IN0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
DOCASTLE_IN0
PORT_START /* IN1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
DOCASTLE_IN1
PORT_START /* IN2 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
PORT_BITX( 0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, JOYCODE_NONE )
PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 32 ) /* coin input must be active for 32 frames to be consistently recognized */
PORT_DIPNAME( 0x08, 0x08, "Freeze" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
DOCASTLE_IN2
PORT_START /* DSW0 */
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x03, "Easy" )
PORT_DIPSETTING( 0x02, "Medium" )
PORT_DIPSETTING( 0x01, "Hard" )
PORT_DIPSETTING( 0x00, "Hardest" )
PORT_BITX( 0x04, 0x04, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Rack Test", KEYCODE_F1, IP_JOY_NONE )
PORT_DIPSETTING( 0x03, "1 (Beginner)" )
PORT_DIPSETTING( 0x02, "2" )
PORT_DIPSETTING( 0x01, "3" )
PORT_DIPSETTING( 0x00, "4 (Advanced)" )
PORT_DIPNAME( 0x04, 0x04, "Rack Test" )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Extra" )
PORT_DIPNAME( 0x10, 0x10, "Difficulty of EXTRA" )
PORT_DIPSETTING( 0x10, "Easy" )
PORT_DIPSETTING( 0x00, "Hard" )
PORT_DIPSETTING( 0x00, "Difficult" )
PORT_DIPNAME( 0x20, 0x00, DEF_STR( Cabinet ) )
PORT_DIPSETTING( 0x00, DEF_STR( Upright ) )
PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
PORT_DIPNAME( 0x40, 0x40, "Special" )
PORT_DIPSETTING( 0x40, "Given" )
PORT_DIPSETTING( 0x00, "Not Given" )
@@ -510,37 +533,11 @@ PORT_DIPSETTING( 0x20, DEF_STR( Cocktail ) )
INPUT_PORTS_END
INPUT_PORTS_START( jjack )
PORT_START /* IN0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_4WAY | IPF_COCKTAIL )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_4WAY | IPF_COCKTAIL )
DOCASTLE_IN0
PORT_START /* IN1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
DOCASTLE_IN1
PORT_START /* IN2 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
PORT_BITX( 0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, JOYCODE_NONE )
PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 32 ) /* coin input must be active for 32 frames to be consistently recognized */
PORT_DIPNAME( 0x08, 0x08, "Freeze" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
DOCASTLE_IN2
PORT_START /* DSW0 */
PORT_DIPNAME( 0x03, 0x03, "Difficulty?" )
@@ -548,7 +545,7 @@ INPUT_PORTS_START( jjack )
PORT_DIPSETTING( 0x02, "Medium" )
PORT_DIPSETTING( 0x01, "Hard" )
PORT_DIPSETTING( 0x00, "Hardest" )
PORT_BITX( 0x04, 0x04, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Rack Test", KEYCODE_F1, IP_JOY_NONE )
PORT_DIPNAME( 0x04, 0x04, "Rack Test" )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
@@ -572,35 +569,17 @@ INPUT_PORTS_END
INPUT_PORTS_START( kickridr )
PORT_START /* IN0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_COCKTAIL )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_COCKTAIL )
PORT_START /* IN1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_COCKTAIL )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_COCKTAIL )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
DOCASTLE_IN1
PORT_START /* IN2 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
PORT_BITX( 0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, JOYCODE_NONE )
PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 32 ) /* coin input must be active for 32 frames to be consistently recognized */
PORT_DIPNAME( 0x08, 0x08, "Freeze" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
DOCASTLE_IN2
PORT_START /* DSW0 */
PORT_DIPNAME( 0x03, 0x03, "Difficulty?" )
@@ -608,7 +587,7 @@ INPUT_PORTS_START( kickridr )
PORT_DIPSETTING( 0x02, "Medium" )
PORT_DIPSETTING( 0x01, "Hard" )
PORT_DIPSETTING( 0x00, "Hardest" )
PORT_BITX( 0x04, 0x04, IPT_DIPSWITCH_NAME | IPF_CHEAT, "Rack Test", KEYCODE_F1, IP_JOY_NONE )
PORT_DIPNAME( 0x04, 0x04, "Rack Test" )
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
@@ -633,73 +612,53 @@ INPUT_PORTS_END
INPUT_PORTS_START( idsoccer )
PORT_START /* IN0 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT | IPF_8WAY )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP | IPF_8WAY )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP | IPF_8WAY )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_RIGHT | IPF_8WAY | IPF_PLAYER2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP | IPF_8WAY | IPF_PLAYER2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY | IPF_PLAYER2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY | IPF_PLAYER2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_UP | IPF_8WAY | IPF_PLAYER2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_LEFT | IPF_8WAY | IPF_PLAYER2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKLEFT_DOWN | IPF_8WAY | IPF_PLAYER2 )
PORT_START /* IN1 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 | IPF_PLAYER2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_START2 )
DOCASTLE_IN1
PORT_START /* IN2 */
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_TILT )
PORT_BITX( 0x02, IP_ACTIVE_LOW, IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, JOYCODE_NONE )
PORT_BIT_IMPULSE( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1, 32 ) /* coin input must be active for 32 frames to be consistently recognized */
PORT_DIPNAME( 0x08, 0x08, "Freeze" )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_COIN2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_COIN1 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNUSED )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNUSED )
DOCASTLE_IN2
PORT_START /* DSW0 */
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) )
PORT_DIPSETTING( 0x03, "Easy" )
PORT_DIPSETTING( 0x02, "Medium" )
PORT_DIPSETTING( 0x01, "Hard" )
PORT_DIPSETTING( 0x00, "Hardest" )
PORT_DIPNAME( 0x04, 0x04, "One Player vs. Computer" ) /* Additional time extended for winning score */
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Flip_Screen ) )
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
PORT_DIPNAME( 0x10, 0x10, "Player 2 Time Extension" ) /* Player may play same game with additional credit */
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x10, DEF_STR( On ) )
PORT_DIPNAME( 0x20, 0x20, "Player 1 Time Extension" ) /* Player may play same game with additional credit */
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x20, DEF_STR( On ) )
PORT_DIPNAME( 0xc0, 0xc0, "Real Game Time" ) /* Indicator always shows 3:00 and counts down */
PORT_DIPSETTING( 0xc0, "3:00" )
PORT_DIPSETTING( 0x80, "2:30" )
PORT_DIPSETTING( 0x40, "2:00" )
PORT_DIPSETTING( 0x00, "1:00" )
COINAGE_PORT
PORT_START
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP | IPF_8WAY )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP | IPF_8WAY )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY )
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_RIGHT | IPF_8WAY | IPF_PLAYER2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP | IPF_8WAY | IPF_PLAYER2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY | IPF_PLAYER2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY | IPF_PLAYER2 )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_UP | IPF_8WAY | IPF_PLAYER2 )
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_LEFT | IPF_8WAY | IPF_PLAYER2 )
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICKRIGHT_DOWN | IPF_8WAY | IPF_PLAYER2 )
INPUT_PORTS_END
@@ -745,13 +704,21 @@ static struct SN76496interface sn76496_interface =
{ 25, 25, 25, 25 }
};
static struct MSM5205interface msm5205_interface =
{
1, /* 1 chip */
384000, /* 384 kHz ??? */
{ idsoccer_adpcm_int }, /* interrupt function */
{ MSM5205_S64_4B }, /* 6 kHz ??? */
{ 40 } /* volume ??? */
};
static MACHINE_DRIVER_START( docastle )
/* basic machine hardware */
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz */
MDRV_CPU_ADD(Z80, 3900000) /* make dip switches work in docastle and dorunrun */
MDRV_CPU_MEMORY(docastle_readmem,docastle_writemem)
MDRV_CPU_PORTS(docastle_readport,docastle_writeport)
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz */
@@ -783,8 +750,9 @@ MACHINE_DRIVER_END
static MACHINE_DRIVER_START( dorunrun )
/* basic machine hardware */
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz */
MDRV_CPU_ADD(Z80, 3900000) /* make dip switches work in docastle and dorunrun */
MDRV_CPU_MEMORY(dorunrun_readmem,dorunrun_writemem)
MDRV_CPU_PORTS(docastle_readport,docastle_writeport)
MDRV_CPU_VBLANK_INT(irq0_line_hold,1)
MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz */
@@ -844,7 +812,7 @@ static MACHINE_DRIVER_START( idsoccer )
/* sound hardware */
MDRV_SOUND_ADD(SN76496, sn76496_interface)
/* also an MSM5205 */
MDRV_SOUND_ADD(MSM5205, msm5205_interface)
MACHINE_DRIVER_END
@@ -931,7 +899,7 @@ ROM_START( docastlo )
ROM_REGION( 0x0200, REGION_PROMS, 0 )
/* which prom? this set has the same gfx as douni so i'm using that prom */
/* ROM_LOAD( "09c.bin", 0x0000, 0x0200, CRC(066f52bc) SHA1(99f4f2d0181bcaf389c16f127cc3e632d62ee417) ) // color prom /*/
/* ROM_LOAD( "09c.bin", 0x0000, 0x0200, CRC(066f52bc) SHA1(99f4f2d0181bcaf389c16f127cc3e632d62ee417) ) /* color prom */
ROM_LOAD( "dorevc9.bin", 0x0000, 0x0200, CRC(96624ebe) SHA1(74ff21dc85dcb013c941ec6c06cafdb5bcc16960) ) /* color prom */
ROM_END
@@ -1076,7 +1044,7 @@ ROM_START( dowild )
ROM_LOAD( "w10", 0x0000, 0x4000, CRC(d1f37fba) SHA1(827e2e3b140c4df2fd8780d7d05dc45694cf8f02) )
ROM_REGION( 0x10000, REGION_CPU3, 0 )
ROM_LOAD( "01d.bin", 0x0000, 0x0200, NO_DUMP )
ROM_LOAD( "8300b-2", 0x0000, 0x0200, CRC(2747ca77) SHA1(abc0ca05925974c4b852827605ee2f1caefb8524) )
ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE )
ROM_LOAD( "w5", 0x0000, 0x4000, CRC(b294b151) SHA1(c8c15bf9ab2401052ec80fdfc8fe124c6aa52521) )
@@ -1128,7 +1096,7 @@ ROM_START( kickridr )
ROM_LOAD( "k10", 0x0000, 0x4000, CRC(6843dbc0) SHA1(8a83f785e1fc2fa34a9955c19e27a1968a6d3f08) )
ROM_REGION( 0x10000, REGION_CPU3, 0 )
ROM_LOAD( "01d.bin", 0x0000, 0x0200, NO_DUMP )
ROM_LOAD( "8300b-2", 0x0000, 0x0200, CRC(2747ca77) SHA1(abc0ca05925974c4b852827605ee2f1caefb8524) )
ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE )
ROM_LOAD( "k5", 0x0000, 0x4000, CRC(3f7d7e49) SHA1(ed9697656a46c3e036665659a008396b323c9c2b) )
@@ -1175,15 +1143,15 @@ ROM_START( idsoccer )
ROM_END
GAME( 1983, docastle, 0, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (set 1)" )
GAME( 1983, docastl2, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (set 2)" )
GAME( 1983, docastlo, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (older)" )
GAME( 1983, douni, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do vs. Unicorns" )
GAMEX(1984, dorunrun, 0, dorunrun, dorunrun, 0, ROT0, "Universal", "Do! Run Run (set 1)", GAME_NO_COCKTAIL )
GAMEX(1984, dorunru2, dorunrun, dorunrun, dorunrun, 0, ROT0, "Universal", "Do! Run Run (set 2)", GAME_NO_COCKTAIL )
GAMEX(1984, dorunruc, dorunrun, docastle, dorunrun, 0, ROT0, "Universal", "Do! Run Run (Do's Castle hardware)", GAME_NO_COCKTAIL )
GAMEX(1987, spiero, dorunrun, dorunrun, dorunrun, 0, ROT0, "Universal", "Super Pierrot (Japan)", GAME_NO_COCKTAIL )
GAME( 1984, dowild, 0, dorunrun, dowild, 0, ROT0, "Universal", "Mr. Do's Wild Ride" )
GAME( 1984, jjack, 0, dorunrun, jjack, 0, ROT270, "Universal", "Jumping Jack" )
GAME( 1984, kickridr, 0, dorunrun, kickridr, 0, ROT0, "Universal", "Kick Rider" )
GAMEX(1985, idsoccer, 0, idsoccer, idsoccer, 0, ROT0, "Universal", "Indoor Soccer", GAME_IMPERFECT_SOUND )
GAME(1983, docastle, 0, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (set 1)" )
GAME(1983, docastl2, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (set 2)" )
GAME(1983, docastlo, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do's Castle (older)" )
GAME(1983, douni, docastle, docastle, docastle, 0, ROT270, "Universal", "Mr. Do vs. Unicorns" )
GAME(1984, dorunrun, 0, dorunrun, dorunrun, 0, ROT0, "Universal", "Do! Run Run (set 1)" )
GAME(1984, dorunru2, dorunrun, dorunrun, dorunrun, 0, ROT0, "Universal", "Do! Run Run (set 2)" )
GAME(1984, dorunruc, dorunrun, docastle, dorunrun, 0, ROT0, "Universal", "Do! Run Run (Do's Castle hardware)" )
GAME(1987, spiero, dorunrun, dorunrun, dorunrun, 0, ROT0, "Universal", "Super Pierrot (Japan)" )
GAME(1984, dowild, 0, dorunrun, dowild, 0, ROT0, "Universal", "Mr. Do's Wild Ride" )
GAME(1984, jjack, 0, dorunrun, jjack, 0, ROT270, "Universal", "Jumping Jack" )
GAME(1984, kickridr, 0, dorunrun, kickridr, 0, ROT0, "Universal", "Kick Rider" )
GAME(1985, idsoccer, 0, idsoccer, idsoccer, 0, ROT0, "Universal", "Indoor Soccer" )
Loaded 100 of 695 files, more files were not shown because too many files have changed in this diff. Show more