Projects
Games
libretro-mame2003-plus
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 2
View file
libretro-mame2003-plus.changes
Changed
@@ -1,4 +1,42 @@ ------------------------------------------------------------------- +Sat Jun 06 10:14:00 UTC 2020 - i@guoyunhe.me + +- Update to version 0~git20200525: + * Mention the new one + * Gulun.Pa! gfx mapping + * gulunpa + * New working game Gulun.Pa! CPS1 prototype + * Update CHANGELOG.md + * Update CHANGELOG.md + * sample volume + * Update samples.h + * Update samples.c + * Update mixer.h + * Update mixer.c + * sample pause support for journey + * Let's support another joystick bootleg this time for TANK III + * mention the new one + * TANK III Joystick bootleg + * Update mcr2.c + * Whatsnew and credits + * Update mcr2.c + * Update samples.c + * fix big samples dynamic loading when not an ost item + * Update mcr2.c + * Update mcr2.c + * Update foodf.c + * Update inptport.c + * Update mame2003.c + * Update mame.h + * Update inptport.c + * Update foodf.c + * Fix a bug in loop condition + * grant2258 A fix for Midway MCR3 game saving + * Update dat grant2258 + * Last one from me + * hmmm + +------------------------------------------------------------------- Sun Feb 09 14:12:36 UTC 2020 - i@guoyunhe.me - Update to version 0~git20200209:
View file
libretro-mame2003-plus.spec
Changed
@@ -17,7 +17,7 @@ Name: libretro-mame2003-plus -Version: 0~git20200209 +Version: 0~git20200525 Release: 0 Summary: MAME 2003 Plus libretro core for arcade emulation License: NonFree
View file
_servicedata
Changed
@@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/libretro/mame2003-plus-libretro.git</param> - <param name="changesrevision">c5f041d974de5154314153a29ecbafef19eaa4f9</param></service></servicedata> \ No newline at end of file + <param name="changesrevision">8242007805b4e382c9dca3198957c9c62d0e273e</param></service></servicedata> \ No newline at end of file
View file
libretro-mame2003-plus-0~git20200209.tar.xz/CHANGELOG.md -> libretro-mame2003-plus-0~git20200525.tar.xz/CHANGELOG.md
Changed
@@ -55,6 +55,7 @@ * Golden Tee '99 (v1.00) * Golden Tee 2K (v1.00) * Golden Tee Classic (v1.00) +* Gulun.Pa! * Gunbarich * GunMaster * Hang Zo @@ -165,6 +166,7 @@ * Magical Drop * Magical Drop Plus 1 * Progear No Arashi +* Renegade (US, Bootleg) * Super Bishi Bashi Championship (ver KAA, 3 Players) * Tetris the Absolute The Grand Master 2 Plus * The Great Ragtime Show @@ -177,14 +179,16 @@ * Bubble Bobble Lost Cave * Bubble Bobble Ultra * Do DonPachi (Arrange Ver. 1.1) (trap15, hack) -* Dogou Souken (joystick hack bootleg) +* Dogou Souken / Victory Road (joystick hack bootleg) * Donkey Kong II Jumpman Returns * DownTown (joystick hack) * Final Fight 30th Anniversary Edition (Grego And Rotwang) +* Food Fight - Live Center Rev 5 w/ debounce delay position hack * Guerrilla War (joystick hack bootleg) * Ikari (joystick hack bootleg) * Metal Slug 2 - Turbo (Trap15, Hack) * Midnight Resistance (joystick hack bootleg) +* TANK III (joystick hack bootleg) * Tron freeplay custom rom @@ -328,6 +332,7 @@ * Galaga 3 * Gaplus * Grobda +* Journey (Added sepways.wav sample) * Libble Rabble * Mappy * Mortal Kombat - Added OST soundtrack (via KMFDManic) @@ -357,6 +362,7 @@ * Cosmic Alien * Frogs * Ghox (Toaplan Samples) +* Journey * Sasuke Vs Commander * Space Firebird * Teki Paki (Toaplan Samples) @@ -453,3 +459,9 @@ * 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] +* Created new hack for food fight - allows player to face the direction last applied. [mahoneyt944, grant2258] +* Added core option for axis centering to allow digital joysticks to play analog joystick games (food fight, roadrunner, paperboy) +* Added pause support for use with samples. +* Fixed mcr3 game saving +
View file
libretro-mame2003-plus-0~git20200209.tar.xz/metadata/mame2003-plus.xml -> libretro-mame2003-plus-0~git20200525.tar.xz/metadata/mame2003-plus.xml
Changed
@@ -3921,6 +3921,54 @@ </dipswitch> <driver status="preliminary" color="good" sound="good" palettesize="32"/> </game> + <game name="eeekk"> + <description>Eeekk!</description> + <year>1983</year> + <manufacturer>Epos Corporation</manufacturer> + <rom name="u10_e12063.u10" size="4096" crc="edd05de2" sha1="25dfa7ad2e29b1ca9ce9bb36bf1a573baabb4d5b" region="cpu1" offset="0"/> + <rom name="u9_e12063.u9" size="4096" crc="6f57114a" sha1="417b910a4343da026426b4cfd0a83b9142c87353" region="cpu1" offset="1000"/> + <rom name="u8_e12063.u8" size="4096" crc="bcb0ebbd" sha1="a2a00dedee12d6006817021e98fb44b2339127a0" region="cpu1" offset="2000"/> + <rom name="u7_e12063.u7" size="4096" crc="a0df8f77" sha1="ee2afed25ab32bf09b14e8638d03b6e2f8e6b337" region="cpu1" offset="3000"/> + <rom name="u6_e12063.u6" size="4096" crc="61953b0a" sha1="67bcb4286e39cdda20684a4f580392468b08800e" region="cpu1" offset="4000"/> + <rom name="u5_e12063.u5" size="4096" crc="4c22c6d9" sha1="94a8fc951994746f8ccfb77d80f8b98fde8a6f33" region="cpu1" offset="5000"/> + <rom name="u4_e12063.u4" size="4096" crc="3d341208" sha1="bc4d2567df2779d97e718376c4bf682ba459c01e" region="cpu1" offset="6000"/> + <rom name="u11_e12063.u11" size="2048" crc="417faff0" sha1="7965155ee32694ea9a10245db73d8beef229408c" region="cpu1" offset="7000"/> + <rom name="74s288.u66" size="32" crc="f2078c38" sha1="7bfd49932a6fd8840514b7af93a64cedb248122d" region="proms" offset="0"/> + <chip type="cpu" name="Z80" clock="2750000"/> + <chip type="audio" name="AY-3-8910" clock="2750000"/> + <video screen="raster" orientation="vertical" width="236" height="272" aspectx="3" aspecty="4" refresh="60.000000"/> + <sound channels="1"/> + <input players="1" control="joy8way" buttons="2" coins="1" service="yes"/> + <dipswitch name="Coinage"> + <dipvalue name="1 Coin/1 Credit" default="yes"/> + <dipvalue name="1 Coin/2 Credits"/> + </dipswitch> + <dipswitch name="Lives"> + <dipvalue name="3" default="yes"/> + <dipvalue name="4"/> + <dipvalue name="5"/> + <dipvalue name="6"/> + </dipswitch> + <dipswitch name="Difficulty"> + <dipvalue name="1 (Easy)"/> + <dipvalue name="2"/> + <dipvalue name="3"/> + <dipvalue name="4"/> + <dipvalue name="5" default="yes"/> + <dipvalue name="6"/> + <dipvalue name="7"/> + <dipvalue name="8 (Hard)"/> + </dipswitch> + <dipswitch name="Extra Life Range"> + <dipvalue name="100000 - 170000 points" default="yes"/> + <dipvalue name="20000 - 90000 points"/> + </dipswitch> + <dipswitch name="Demo Sounds"> + <dipvalue name="Off"/> + <dipvalue name="On" default="yes"/> + </dipswitch> + <driver status="good" color="good" sound="good" palettesize="32"/> + </game> <game name="suprglob"> <description>Super Glob</description> <year>1983</year> @@ -58578,278 +58626,6 @@ </dipswitch> <driver status="good" color="good" sound="preliminary" palettesize="8"/> </game> - - <game name="helifire"> - <description>HeliFire (revision B)</description> - <year>1980</year> - <manufacturer>Nintendo</manufacturer> - <rom name="tub.f1b" size="1024" crc="032f89ca" sha1="63b0310875ed78a6385e44eea781ddcc4a63557c" region="cpu1" offset="0"/> - <rom name="tub.f2b" size="1024" crc="2774e70f" sha1="98d845e80db61799493dbebe8db801567277432c" region="cpu1" offset="400"/> - <rom name="tub.g1b" size="1024" crc="b5ad6e8a" sha1="1eb4931e85bd6a559e85a2b978d383216d3988a7" region="cpu1" offset="800"/> - <rom name="tub.g2b" size="1024" crc="5e015bf4" sha1="60f5a9707c8655e54a8381afd764856fb25c29f1" region="cpu1" offset="c00"/> - <rom name="tub.h1b" size="1024" crc="23bb4e5a" sha1="b59bc0adff3635aca1def2b1997f7edc6ca7e8ee" region="cpu1" offset="1000"/> - <rom name="tub.h2b" size="1024" crc="358227c6" sha1="d7bd678ef1737edc6aa609e43e3ae96a8d61dc15" region="cpu1" offset="1400"/> - <rom name="tub.i1b" size="1024" crc="0c679f44" sha1="cbe31dbe5f2c5f11a637cb3bde4e059c310d0e76" region="cpu1" offset="1800"/> - <rom name="tub.i2b" size="1024" crc="d8b7a398" sha1="3ddfeac39147d5df6096f525f7ef67abef32a28b" region="cpu1" offset="1c00"/> - <rom name="tub.j1b" size="1024" crc="98ef24db" sha1="70ad8dd6e1e8f4bf4ce431737ca1856eecc03d53" region="cpu1" offset="2000"/> - <rom name="tub.j2b" size="1024" crc="5e2b5877" sha1="f7c747e8a1d9fe2dda71ee6304636cf3cdf727a7" region="cpu1" offset="2400"/> - <rom name="tub.snd" size="1024" crc="9d77a31f" sha1="36db9b5087b6661de88042854874bc247c92d985" region="cpu2" offset="0"/> - <chip type="cpu" name="8080" clock="2520000"/> - <chip type="cpu" soundonly="yes" name="I8035" clock="400000"/> - <chip type="audio" name="DAC"/> - <video screen="raster" orientation="vertical" width="224" height="248" aspectx="3" aspecty="4" refresh="60.000000"/> - <sound channels="1"/> - <input players="2" control="joy8way" buttons="1" coins="1"/> - <dipswitch name="Lives"> - <dipvalue name="3" default="yes"/> - <dipvalue name="4"/> - <dipvalue name="5"/> - <dipvalue name="6"/> - </dipswitch> - <dipswitch name="Bonus Life"> - <dipvalue name="5000"/> - <dipvalue name="6000"/> - <dipvalue name="8000"/> - <dipvalue name="10000" default="yes"/> - </dipswitch> - <dipswitch name="Coinage"> - <dipvalue name="2 Coins/1 Credit"/> - <dipvalue name="1 Coin/1 Credit" default="yes"/> - </dipswitch> - <dipswitch name="Cabinet"> - <dipvalue name="Upright" default="yes"/> - <dipvalue name="Cocktail"/> - </dipswitch> - <dipswitch name="VR1 sun glow brightness"> - <dipvalue name="00"/> - <dipvalue name="10"/> - <dipvalue name="20"/> - <dipvalue name="30"/> - <dipvalue name="40"/> - <dipvalue name="50" default="yes"/> - <dipvalue name="60"/> - <dipvalue name="70"/> - <dipvalue name="7f"/> - </dipswitch> - <dipswitch name="VR2 sea brightness"> - <dipvalue name="00" default="yes"/> - <dipvalue name="10"/> - <dipvalue name="20"/> - <dipvalue name="30"/> - <dipvalue name="40"/> - <dipvalue name="50"/> - <dipvalue name="60"/> - <dipvalue name="70"/> - <dipvalue name="7f"/> - </dipswitch> - <dipswitch name="VR3 height of the sea"> - <dipvalue name="00"/> - <dipvalue name="01"/> - <dipvalue name="02"/> - <dipvalue name="03"/> - <dipvalue name="04" default="yes"/> - <dipvalue name="05"/> - <dipvalue name="06"/> - <dipvalue name="07"/> - <dipvalue name="08"/> - <dipvalue name="09"/> - <dipvalue name="10"/> - <dipvalue name="11"/> - <dipvalue name="12"/> - <dipvalue name="13"/> - <dipvalue name="14"/> - <dipvalue name="15"/> - </dipswitch> - <dipswitch name="VR4 height of the waves"> - <dipvalue name="00"/> - <dipvalue name="01"/> - <dipvalue name="02"/> - <dipvalue name="03"/> - <dipvalue name="04" default="yes"/> - <dipvalue name="05"/> - <dipvalue name="06"/> - <dipvalue name="07"/> - </dipswitch> - <driver status="good" color="good" sound="imperfect" palettesize="1032"/> - </game> - <game name="helifira" cloneof="helifire" romof="helifire"> - <description>HeliFire (revision A)</description> - <year>1980</year> - <manufacturer>Nintendo</manufacturer> - <rom name="f1a.bin" size="1024" crc="92c9d6c1" sha1="860a7b3980e9e11d48769fad347c965e04ed3f89" region="cpu1" offset="0"/> - <rom name="f2a.bin" size="1024" crc="a264dde8" sha1="48f972ad5af6c2ab61117f60d9244df6df6d313c" region="cpu1" offset="400"/> - <rom name="tub.g1b" merge="tub.g1b" size="1024" crc="b5ad6e8a" sha1="1eb4931e85bd6a559e85a2b978d383216d3988a7" region="cpu1" offset="800"/> - <rom name="g2a.bin" size="1024" crc="a987ebcd" sha1="46726293c308c18b28941809419ba4c2ffc8084f" region="cpu1" offset="c00"/> - <rom name="h1a.bin" size="1024" crc="25abcaf0" sha1="a14c795de1fc283405f71bb83f4ac5c98fd406cb" region="cpu1" offset="1000"/> - <rom name="tub.h2b" merge="tub.h2b" size="1024" crc="358227c6" sha1="d7bd678ef1737edc6aa609e43e3ae96a8d61dc15" region="cpu1" offset="1400"/> - <rom name="tub.i1b" merge="tub.i1b" size="1024" crc="0c679f44" sha1="cbe31dbe5f2c5f11a637cb3bde4e059c310d0e76" region="cpu1" offset="1800"/> - <rom name="i2a.bin" size="1024" crc="296610fd" sha1="f1ab379983e45f3cd718dd82962c609297b4dcb8" region="cpu1" offset="1c00"/> - <rom name="tub.j1b" merge="tub.j1b" size="1024" crc="98ef24db" sha1="70ad8dd6e1e8f4bf4ce431737ca1856eecc03d53" region="cpu1" offset="2000"/> - <rom name="tub.j2b" merge="tub.j2b" size="1024" crc="5e2b5877" sha1="f7c747e8a1d9fe2dda71ee6304636cf3cdf727a7" region="cpu1" offset="2400"/> - <rom name="tub.snd" merge="tub.snd" size="1024" crc="9d77a31f" sha1="36db9b5087b6661de88042854874bc247c92d985" region="cpu2" offset="0"/> - <chip type="cpu" name="8080" clock="2520000"/> - <chip type="cpu" soundonly="yes" name="I8035" clock="400000"/> - <chip type="audio" name="DAC"/> - <video screen="raster" orientation="vertical" width="224" height="248" aspectx="3" aspecty="4" refresh="60.000000"/> - <sound channels="1"/> - <input players="2" control="joy8way" buttons="1" coins="1"/> - <dipswitch name="Lives"> - <dipvalue name="3" default="yes"/> - <dipvalue name="4"/> - <dipvalue name="5"/> - <dipvalue name="6"/> - </dipswitch> - <dipswitch name="Bonus Life"> - <dipvalue name="5000"/> - <dipvalue name="6000"/> - <dipvalue name="8000"/> - <dipvalue name="10000" default="yes"/> - </dipswitch> - <dipswitch name="Coinage"> - <dipvalue name="2 Coins/1 Credit"/> - <dipvalue name="1 Coin/1 Credit" default="yes"/> - </dipswitch> - <dipswitch name="Cabinet"> - <dipvalue name="Upright" default="yes"/> - <dipvalue name="Cocktail"/> - </dipswitch> - <dipswitch name="VR1 sun glow brightness"> - <dipvalue name="00"/> - <dipvalue name="10"/> - <dipvalue name="20"/> - <dipvalue name="30"/> - <dipvalue name="40"/>
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/driver.c -> libretro-mame2003-plus-0~git20200525.tar.xz/src/driver.c
Changed
@@ -2156,9 +2156,12 @@ DRIVER( pang3j ) /* 11/05/1995 (c) 1995 Mitchell (Japan) not listed on Capcom's site */ DRIVER( megaman ) /* 06/10/1995 (c) 1995 (Asia) */ DRIVER( rockmanj ) /* 22/09/1995 (c) 1995 (Japan) */ + + /* CPS Prototype */ + DRIVER( gulunpa ) /* (c) 1993 (prototype) */ - /* Capcom CPS Changer */ - DRIVER( wofch ) /* 31/10/1992 (c) 1992 (Japan) (CPS1 + QSound) */ + /* Capcom CPS Changer */ + DRIVER( wofch ) /* 31/10/1992 (c) 1992 (Japan) (CPS1 + QSound) */ /* Capcom CPS2 games */ /* list completed by CPS2Shock */ @@ -4198,6 +4201,7 @@ DRIVER( aso ) /* (c) 1985 */ DRIVER( tnk3 ) /* A5001 (c) 1985 */ DRIVER( tnk3j ) /* A5001 (c) 1985 */ + DRIVER( tnk3b ) /* bootleg (c) 1985 */ DRIVER( athena ) /* 'UP' (c) 1986 */ DRIVER( fitegolf ) /* 'GU' (c) 1988 */ DRIVER( fitegol2 ) /* 'GU' (c) 1988 */
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/drivers/cps1.c -> libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/cps1.c
Changed
@@ -4010,6 +4010,114 @@ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) INPUT_PORTS_END +INPUT_PORTS_START( gulunpa ) + PORT_START /* IN0 */ + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_COIN2 ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 ) /* Service, but it doesn't give any credit */ + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) + PORT_SERVICE( 0x40, IP_ACTIVE_LOW ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) + + PORT_START + PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 1C_6C ) ) + PORT_DIPNAME( 0x18, 0x18, "Coin slots" ) + PORT_DIPSETTING( 0x18, "1, Common" ) + PORT_DIPSETTING( 0x00, "2, Common" ) + PORT_DIPSETTING( 0x10, "2, Common (duplicate 1)" ) + PORT_DIPSETTING( 0x08, "2, Common (duplicate 2)" ) + 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_START + PORT_DIPNAME( 0x07, 0x07, DEF_STR( Difficulty ) ) + PORT_DIPSETTING( 0x07, "1 Easiest" ) + PORT_DIPSETTING( 0x06, "2 Very Easy" ) + PORT_DIPSETTING( 0x05, "3 Easy" ) + PORT_DIPSETTING( 0x04, "4 Medium" ) + PORT_DIPSETTING( 0x03, "5 Medium Hard" ) + PORT_DIPSETTING( 0x02, "6 Hard" ) + PORT_DIPSETTING( 0x01, "7 Very Hard" ) + PORT_DIPSETTING( 0x00, "8 Hardest" ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) + 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 ) ) + /* flipping this on any screen causes scroll1 layer left edge to be filled with tile 0x0014 */ + 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_START + 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_DIPSETTING( 0x04, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, "Freeze" ) + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Flip_Screen ) ) + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x00, DEF_STR( Demo_Sounds ) ) + 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_BITX( 0x80, 0x80, IPT_DIPSWITCH_NAME, "Game Mode", IP_KEY_NONE, IP_JOY_NONE ) + PORT_DIPSETTING( 0x80, "Game" ) + PORT_DIPSETTING( 0x00, "Test" ) + + PORT_START + PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 ) + PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 ) + PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 ) + 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( 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 ) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 ) + 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( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN ) +INPUT_PORTS_END + static struct GfxLayout layout8x8 = { @@ -7812,7 +7920,33 @@ ROM_LOAD( "rcm_18.rom", 0x00000, 0x20000, CRC(80f1f8aa) SHA1(4a5b7b2a6941ad68da7472c63362c7bcd353fa54) ) ROM_LOAD( "rcm_19.rom", 0x20000, 0x20000, CRC(f257dbe1) SHA1(967def6b6f93039dbc46373caabeb3301577be75) ) ROM_END + +/* CPS Prototype */ +ROM_START( gulunpa ) + ROM_REGION( CODE_SIZE, REGION_CPU1, 0 ) /* 68000 code */ + ROM_LOAD16_BYTE( "26", 0x00000, 0x020000, CRC(f30ffa29) SHA1(9e70daf4229485dc5700b074dba55839c7357351) ) + ROM_LOAD16_BYTE( "30", 0x00001, 0x020000, CRC(5d35f737) SHA1(47b6bfa6eaa512684e12c23162243d1a21cb1a7a) ) + + ROM_REGION( 0x200000, REGION_GFX1, 0 ) + ROMX_LOAD( "1", 0x000000, 0x080000, CRC(b55e648f) SHA1(e22eec707b3b1ad8fb93c0f2df41ccf72cd03440) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "2", 0x000002, 0x080000, CRC(ad033bce) SHA1(b37b1d341e61502aa4213b049b14974fab8a0445) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "3", 0x000004, 0x080000, CRC(36c3951a) SHA1(74edaca2c78dd6a304ea702091a9f0b7f6036e41) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "4", 0x000006, 0x080000, CRC(ff0cb826) SHA1(fec7833652e6789e886a1ec7b4680a608ddbbe20) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROM_FILL(0x000006, 1, 0xff) + + ROM_REGION( 0x8000, REGION_GFX2, 0 ) + ROM_COPY( REGION_GFX1, 0x000000, 0x000000, 0x8000 ) /* stars */ + + ROM_REGION( 0x18000, REGION_CPU2, 0 ) /* 64k for the audio CPU (+banks) */ + ROM_LOAD( "9", 0x00000, 0x08000, CRC(15afd06f) SHA1(1a4ff3e11e55266e7c93743b6564c226eaaba142) ) + ROM_CONTINUE( 0x10000, 0x08000 ) + + ROM_REGION( 0x40000, REGION_SOUND1, 0 ) /* Samples */ + ROM_LOAD( "18", 0x00000, 0x20000, CRC(9997a34f) SHA1(8e107d6413836c48fc57e4a9b89ae99a9e381e8b) ) + ROM_LOAD( "19", 0x20000, 0x20000, CRC(e95270ac) SHA1(dc684abfa1ea276a00ec541ab8f3f9f131375faa) ) +ROM_END + /* Home 'CPS Changer' Unit */ /* B-Board 91635B-2 */ @@ -8013,7 +8147,10 @@ /* 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)" ) - + +/* CPS 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)" )
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/drivers/foodf.c -> libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/foodf.c
Changed
@@ -172,9 +172,83 @@ * *************************************/ +static UINT8 position_update ( UINT8 temp ) +{ + if (temp > 127) { + if (temp > 190) return 190; + else return temp; } + + else { + if (temp < 65) return 65; + else return temp; } +} + static READ16_HANDLER( analog_r ) { - return readinputport(whichport); + + /**************************************************** + * Live Center - rev 5 - by mahoneyt944 & grant2258 * + ****************************************************/ + + static UINT8 currentx = 0x80; // upright + static UINT8 currenty = 0x7F; + static UINT8 currentx2 = 0x80; // cocktail + static UINT8 currenty2 = 0x7F; + static UINT8 delay = 0; // debounce counter + static UINT8 t = 0; // debounce count to reach + UINT8 center = 0; // reset center checks + UINT8 center2 = 0; + + + // live center dip switch set -> On + if (readinputport(6) == 0x01) + { + // user set debounce delay from dip menu + if (readinputport(7) == 0xFF) t = 0; + else t = readinputport(7); + if (delay > t) delay = 0; + + // check for centers + if (readinputport(0) == 0x7F && readinputport(2) == 0x7F) center = 1; + if (readinputport(1) == 0x7F && readinputport(3) == 0x7F) center2 = 1; + + if (delay == t) // debounce protection + { + delay = 0; + + if (center == 0) + { // update upright stopping positions + currentx = position_update(readinputport(0)); + currenty = position_update(readinputport(2)); + } + + if (center2 == 0) + { // update cocktail stopping positions + currentx2 = position_update(readinputport(1)); + currenty2 = position_update(readinputport(3)); + } + } + else delay++; + + // return upright x stopping position + if (whichport == 0) + { if (center) return currentx; } + + // return upright y stopping position + else if (whichport == 2) + { if (center) return currenty; } + + // return cocktail x stopping position + else if (whichport == 1) + { if (center2) return currentx2; } + + // return cocktail y stopping position + else if (whichport == 3) + { if (center2) return currenty2; } + } + + // return actual input + return readinputport(whichport); } @@ -248,16 +322,16 @@ INPUT_PORTS_START( foodf ) PORT_START /* IN0 */ - PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_X | IPF_PLAYER1 | IPF_REVERSE, 100, 60, 0, 255 ) + PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_X | IPF_PLAYER1 | IPF_REVERSE, 100, 100, 0, 255 ) PORT_START /* IN1 */ - PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_X | IPF_PLAYER2 | IPF_REVERSE | IPF_COCKTAIL, 100, 60, 0, 255 ) + PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_X | IPF_PLAYER2 | IPF_REVERSE | IPF_COCKTAIL, 100, 100, 0, 255 ) PORT_START /* IN2 */ - PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_Y | IPF_PLAYER1 | IPF_REVERSE, 100, 60, 0, 255 ) + PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_Y | IPF_PLAYER1 | IPF_REVERSE, 100, 100, 0, 255 ) PORT_START /* IN3 */ - PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_Y | IPF_PLAYER2 | IPF_REVERSE | IPF_COCKTAIL, 100, 60, 0, 255 ) + PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_Y | IPF_PLAYER2 | IPF_REVERSE | IPF_COCKTAIL, 100, 100, 0, 255 ) PORT_START /* IN4 */ PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_COIN1 ) @@ -289,6 +363,26 @@ PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C )) PORT_DIPSETTING( 0xc0, DEF_STR( 1C_2C )) PORT_DIPSETTING( 0x40, DEF_STR( Free_Play )) + + PORT_START /* Port #6 - Toggle for Live Center */ + PORT_DIPNAME( 0x01, 0x00, "Live Center" ) + PORT_DIPSETTING( 0x01, "On" ) + PORT_DIPSETTING( 0x00, "Off" ) + + PORT_START /* Port #7 - Settings for Debounce Delay */ + PORT_DIPNAME( 0xFF, 0xFF, "Debounce Delay" ) + PORT_DIPSETTING( 0xFF, "0" ) + PORT_DIPSETTING( 0x01, "1" ) + PORT_DIPSETTING( 0x02, "2" ) + PORT_DIPSETTING( 0x03, "3" ) + PORT_DIPSETTING( 0x04, "4" ) + PORT_DIPSETTING( 0x05, "5" ) + PORT_DIPSETTING( 0x06, "6" ) + PORT_DIPSETTING( 0x07, "7" ) + PORT_DIPSETTING( 0x08, "8" ) + PORT_DIPSETTING( 0x09, "9" ) + PORT_DIPSETTING( 0x0A, "10") + INPUT_PORTS_END
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/drivers/mcr2.c -> libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/mcr2.c
Changed
@@ -195,6 +195,17 @@ } } +static WRITE_HANDLER( journey_sample_select_w ) +{ + /* start sample with looping on and pause it) */ + if (!sample_playing(0) ) + { + sample_start(0, 0, 1); + sample_set_pause(0, 1); + } + + sample_set_pause(0, ~data & 1); +} /************************************* @@ -660,6 +671,25 @@ { -1 } /* end of array */ }; +/************************************* + * + * Sound definitions + * + *************************************/ + +static const char *journey_sample_names[] = +{ + "*journey", + "sepways.wav", + 0 +}; + +struct Samplesinterface journey_samples_interface = +{ + 1, + 50, + journey_sample_names +}; /************************************* @@ -714,6 +744,9 @@ /* video hardware */ MDRV_VIDEO_START(journey) MDRV_VIDEO_UPDATE(journey) + + /* sound hardware */ + MDRV_SOUND_ADD(SAMPLES, journey_samples_interface ) MACHINE_DRIVER_END @@ -1074,6 +1107,15 @@ mcr12_sprite_xoffs_flip = 0; } +static DRIVER_INIT( journey ) +{ + MCR_CONFIGURE_SOUND(MCR_SSIO); + install_port_write_handler(0, 0x00, 0x00, mcr_control_port_w); + install_port_write_handler(0, 0x04, 0x04, journey_sample_select_w); + + mcr12_sprite_xoffs = 0; + mcr12_sprite_xoffs_flip = 0; +} static DRIVER_INIT( kroozr ) { @@ -1118,4 +1160,4 @@ GAME( 1982, wacko, 0, mcr2, wacko, wacko, ROT0, "Bally Midway", "Wacko" ) GAME( 1984, twotiger, 0, mcr2, twotiger, mcr2, ROT0, "Bally Midway", "Two Tigers" ) GAME( 1984, twotigra, twotiger, twotigra, twotigra, twotigra, ROT0, "Bally Midway", "Two Tigers (dedicated)" ) -GAMEX(1983, journey, 0, journey, journey, mcr2, ROT90, "Bally Midway", "Journey", GAME_IMPERFECT_SOUND ) +GAME( 1983, journey, 0, journey, journey, journey, ROT90, "Bally Midway", "Journey" )
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/drivers/mcr3.c -> libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/mcr3.c
Changed
@@ -427,12 +427,12 @@ static NVRAM_HANDLER( mcr3 ) { + unsigned char *ram = memory_region(REGION_CPU1); + if (read_or_write) - mame_fwrite(file, videoram, videoram_size); + mame_fwrite(file, &ram[0xe000], 0x800); else if (file) - mame_fread(file, videoram, videoram_size); - else - memset(videoram, 0, videoram_size); + mame_fread(file, &ram[0xe000], 0x800); }
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/drivers/renegade.c -> libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/renegade.c
Changed
@@ -746,7 +746,7 @@ ROM_START( renegadeb ) ROM_REGION( 0x14000, REGION_CPU1, 0 ) /* 64k for code + bank switched ROM */ - ROM_LOAD( "40.ic51", 0x08000, 0x8000, CRC(3dbaac11) SHA1(a40470514f01a1a9c159de0aa416ea3940be76e8) ) // bootleg + ROM_LOAD( "40.ic51", 0x08000, 0x8000, CRC(3dbaac11) SHA1(a40470514f01a1a9c159de0aa416ea3940be76e8) ) /* bootleg */ ROM_LOAD( "na-5.bin", 0x04000, 0x4000, CRC(de7e7df4) SHA1(7d26ac29e0b5858d9a0c0cdc86c864e464145260) ) ROM_CONTINUE( 0x10000, 0x4000 )
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/drivers/snk.c -> libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/snk.c
Changed
@@ -1478,6 +1478,40 @@ ROM_LOAD( "tnk3-p9.bin", 0x10000, 0x4000, CRC(872e3fac) SHA1(98e7e9315fe7ccc51151c67dc60a362a1c2d8372) ) ROM_END +ROM_START( tnk3b ) /* Korean bootleg, hacked to use standard joysticks */ + ROM_REGION( 0x10000, REGION_CPU1, 0 ) /* 64k for cpuA code */ + ROM_LOAD( "tnk3-p1a.bin", 0x0000, 0x4000, CRC(26c45b82) SHA1(5ba944e9508a935f77e1555c6920b0bc638b6423) ) + ROM_LOAD( "tnk3-p2.bin", 0x4000, 0x4000, CRC(0ae0a483) SHA1(6a1ba86da4fd75bfb00855db04eac2727ec4159e) ) + ROM_LOAD( "tnk3-p3.bin", 0x8000, 0x4000, CRC(d16dd4db) SHA1(dcbc61251c13e11ce3cdd7a5ad200cd2d2758cab) ) + + ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* 64k for cpuB code */ + ROM_LOAD( "tnk3-p4.bin", 0x0000, 0x4000, CRC(01b45a90) SHA1(85ba3b157cd6463c92ed831bb48d38f3a16f9537) ) + ROM_LOAD( "tnk3-p5.bin", 0x4000, 0x4000, CRC(60db6667) SHA1(9c4bb99473c6d9b8ac9086b7364b6278b70757f6) ) + ROM_LOAD( "tnk3-p6.bin", 0x8000, 0x4000, CRC(4761fde7) SHA1(dadf60e33f5dd8108478ca480bcef6b2624cfca8) ) + + ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* 64k for sound code */ + ROM_LOAD( "tnk3-p10.bin", 0x0000, 0x4000, CRC(7bf0a517) SHA1(0197feeaf511ac59f3df8195ec57e947fb08e995) ) + ROM_LOAD( "tnk3-p11.bin", 0x4000, 0x4000, CRC(0569ce27) SHA1(7aa73f57ad97445ce5729f05cd8d24973886dbf5) ) + + ROM_REGION( 0x0c00, REGION_PROMS, 0 ) + ROM_LOAD( "7122.2", 0x000, 0x400, CRC(34c06bc6) SHA1(bb68e96a8fcc754840420952dab961e03bf6acdd) ) + ROM_LOAD( "7122.1", 0x400, 0x400, CRC(6d0ac66a) SHA1(e792218ec43dd10473dc020afed8527cf43ea0d0) ) + ROM_LOAD( "7122.0", 0x800, 0x400, CRC(4662b4c8) SHA1(391c2b8a17ce2e092b46a17fc4170dc1e3bde426) ) + + ROM_REGION( 0x4000, REGION_GFX1, ROMREGION_DISPOSE ) /* characters */ + ROM_LOAD( "p14.1e", 0x0000, 0x2000, CRC(6bd575ca) SHA1(446bb929fa19a7ff8b92731f71ab3e3252899f07) ) + ROM_RELOAD( 0x2000, 0x2000 ) + + ROM_REGION( 0x8000, REGION_GFX2, ROMREGION_DISPOSE ) /* background tiles */ + ROM_LOAD( "tnk3-p12.bin", 0x0000, 0x4000, CRC(ff495a16) SHA1(e6b97a63efe58018260ff34f0ea4edc81718cb14) ) + ROM_LOAD( "tnk3-p13.bin", 0x4000, 0x4000, CRC(f8344843) SHA1(c741dc84b48f830f6d4eaa4476f5c2a391153acc) ) + + ROM_REGION( 0x18000, REGION_GFX3, ROMREGION_DISPOSE ) /* 16x16 sprites */ + ROM_LOAD( "tnk3-p7.bin", 0x00000, 0x4000, CRC(06b92c88) SHA1(b39c2cc4a58937d89f9b0c9093b9742509db64a3) ) + ROM_LOAD( "tnk3-p8.bin", 0x08000, 0x4000, CRC(63d0e2eb) SHA1(96182639bb620d9692a4c8266130769c44dd29f8) ) + ROM_LOAD( "tnk3-p9.bin", 0x10000, 0x4000, CRC(872e3fac) SHA1(98e7e9315fe7ccc51151c67dc60a362a1c2d8372) ) +ROM_END + /***********************************************************************/ ROM_START( athena ) @@ -4215,6 +4249,14 @@ snk_gamegroup = 1; } +static DRIVER_INIT( tnk3b ){ + snk_sound_busy_bit = 0x20; + snk_io = ikarijpb_io; /* Ikari joystick bootleg inputs are fine for this one */ + hard_flags = 0; + snk_bg_tilemap_baseaddr = 0xd800; + snk_gamegroup = 1; +} + static DRIVER_INIT( athena ){ snk_sound_busy_bit = 0x01; snk_io = athena_io; @@ -4242,6 +4284,7 @@ /* rom parent machine inp init */ GAMEX( 1985, tnk3, 0, tnk3, tnk3, tnk3, ROT270, "SNK", "T.N.K. III (US)", GAME_NO_COCKTAIL ) GAMEX( 1985, tnk3j, tnk3, tnk3, tnk3, tnk3, ROT270, "SNK", "T.A.N.K. (Japan)", GAME_NO_COCKTAIL ) +GAMEX( 1985, tnk3b, tnk3, tnk3, tnk3, tnk3b, ROT270, "bootleg", "T.A.N.K. (joystick hack bootleg)", GAME_NO_COCKTAIL ) GAMEX( 1986, athena, 0, athena, athena, athena, ROT0, "SNK", "Athena", GAME_NO_COCKTAIL ) GAMEX( 1988, fitegolf, 0, athena, fitegolf, fitegolf, ROT0, "SNK", "Fighting Golf (World[Q])", GAME_NO_COCKTAIL ) GAMEX( 1988, fitegol2, fitegolf, athena, fitegolf, fitegolf, ROT0, "SNK", "Fighting Golf (US)", GAME_NO_COCKTAIL )
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/inptport.c -> libretro-mame2003-plus-0~git20200525.tar.xz/src/inptport.c
Changed
@@ -7,17 +7,17 @@ TODO: remove the 1 analog device per port limitation support for inputports producing interrupts support for extra "real" hardware (PC throttle's, spinners etc) - + Controller-Specific Input Port Mappings --------------------------------------- -The main purpose of the controller-specific configuration is to remap -inputs. This is handled via two mechanisms: key re-mapping and +The main purpose of the controller-specific configuration is to remap +inputs. This is handled via two mechanisms: key re-mapping and sequence re-mapping. Key re-mapping occurs at the most basic level. The specified keycode is -replaced where ever it occurs (in all sequences) with the specified -replacement. Only single keycodes can be used as a replacement (that is, a +replaced where ever it occurs (in all sequences) with the specified +replacement. Only single keycodes can be used as a replacement (that is, a single key cannot be replaced with a key sequence). Sequence mapping occurs at a higher level. In this case, the entire @@ -27,15 +27,15 @@ Keycodes are specified as a single keyword. Key sequences are specified as a series of keycodes separated by spaces (the full sequence must be enclosed in quotes if spaces exist). Two special keywords are available -for defining key sequences, CODE_OR and CODE_NOT (which can abbreviated | +for defining key sequences, CODE_OR and CODE_NOT (which can abbreviated | and ! respectively). When two keycodes are specified together (separated by only whitespace), the default action is a logical AND, such that both keys must be pressed at the same time for the action to occur. Often it desired that either -key can be pressed for the action to occur (for example LEFT CTRL and +key can be pressed for the action to occur (for example LEFT CTRL and Joystick Button 0), in which case the two keycodes need to be separated -by a CODE_OR (|) keyword. Finally, certain combinations may be +by a CODE_OR (|) keyword. Finally, certain combinations may be undesirable and warrant no action by MAME. For these, the keywords should be specified by a CODE_NOT (!) (for example, ALT-TAB on a windows machine). @@ -57,9 +57,9 @@ -ctrlr "name" -Specifies a controller name for customization. The .ini files for the +Specifies a controller name for customization. The .ini files for the controller are stored in either a directory or a .zip file with the same -name as the specified controller. +name as the specified controller. The first file in the directory/zip to be scanned is the file default.ini. From there, game-specific files are scanned starting with the top-most @@ -85,12 +85,12 @@ require joystick and/or mouse support, those keywords can be placed in the main default.ini file. -All of the options that can be specified on the command-line or in the -main mame.ini file can be specified in the controller-specific ini files, -though because of when these files are parsed, the specified options may +All of the options that can be specified on the command-line or in the +main mame.ini file can be specified in the controller-specific ini files, +though because of when these files are parsed, the specified options may have no effect. The only two general options guaranteed to be supported are mouse and joystick. Note that command-line specification of these -options takes precedence. Since most front-ends, including MAME32, +options takes precedence. Since most front-ends, including MAME32, specify these options through the command-line, the mouse and/or joystick options specified in the .ini files will be ignored. @@ -98,7 +98,7 @@ ctrlrname "name" -This keyword defines a detailed name for the selected controller. Names +This keyword defines a detailed name for the selected controller. Names that include spaces must be enclosed in quotes. @@ -107,8 +107,8 @@ Keywords are separated into two categories, keycodes and input port definitions. To specify a key re-mapping, specify the keycode as the -keyword to re-define (that is, on the left-hand side) followed by the -replacement code. To specify a sequence re-map, specify the input port +keyword to re-define (that is, on the left-hand side) followed by the +replacement code. To specify a sequence re-map, specify the input port code to be re-defined on the left followed by the sequence. In addition to the standard codes, additional OSD specific codes may be @@ -131,8 +131,8 @@ the first joystick (J1). If it had been configured as a different input, the generated codes would have a different Jx number. -All keyword matching including the standard keywords is case sensitive. -Also, some of the automatically generated OSD codes may be redundant. +All keyword matching including the standard keywords is case sensitive. +Also, some of the automatically generated OSD codes may be redundant. For example, J1_Button_0 is the same as JOYCODE_1_BUTTON1. Standard codes are preferred over OSD codes. @@ -240,15 +240,15 @@ P3_JOYSTICK_UP P3_JOYSTICK_DOWN P3_JOYSTICK_LEFT P3_JOYSTICK_RIGHT P3_BUTTON1 P3_BUTTON2 -P3_BUTTON3 P3_BUTTON4 +P3_BUTTON3 P3_BUTTON4 P4_JOYSTICK_UP P4_JOYSTICK_DOWN P4_JOYSTICK_LEFT P4_JOYSTICK_RIGHT P4_BUTTON1 P4_BUTTON2 -P4_BUTTON3 P4_BUTTON4 +P4_BUTTON3 P4_BUTTON4 P1_PEDAL P1_PEDAL_EXT P2_PEDAL P2_PEDAL_EXT P3_PEDAL P3_PEDAL_EXT -P4_PEDAL P4_PEDAL_EXT +P4_PEDAL P4_PEDAL_EXT P1_PADDLE P1_PADDLE_EXT P2_PADDLE P2_PADDLE_EXT P3_PADDLE P3_PADDLE_EXT @@ -266,19 +266,19 @@ P1_TRACKBALL_X P1_TRACKBALL_X_EXT P2_TRACKBALL_X P2_TRACKBALL_X_EXT P3_TRACKBALL_X P3_TRACKBALL_X_EXT -P4_TRACKBALL_X P4_TRACKBALL_X_EXT +P4_TRACKBALL_X P4_TRACKBALL_X_EXT P1_TRACKBALL_Y P1_TRACKBALL_Y_EXT P2_TRACKBALL_Y P2_TRACKBALL_Y_EXT P3_TRACKBALL_Y P3_TRACKBALL_Y_EXT -P4_TRACKBALL_Y P4_TRACKBALL_Y_EXT +P4_TRACKBALL_Y P4_TRACKBALL_Y_EXT P1_AD_STICK_X P1_AD_STICK_X_EXT P2_AD_STICK_X P2_AD_STICK_X_EXT P3_AD_STICK_X P3_AD_STICK_X_EXT -P4_AD_STICK_X P4_AD_STICK_X_EXT +P4_AD_STICK_X P4_AD_STICK_X_EXT P1_AD_STICK_Y P1_AD_STICK_Y_EXT P2_AD_STICK_Y P2_AD_STICK_Y_EXT P3_AD_STICK_Y P3_AD_STICK_Y_EXT -P4_AD_STICK_Y P4_AD_STICK_Y_EXT +P4_AD_STICK_Y P4_AD_STICK_Y_EXT OSD_1 OSD_2 OSD_3 OSD_4 @@ -2124,7 +2124,7 @@ memcpy(inputport_defaults,inputport_defaults_digital,sizeof(inputport_defaults)); memcpy(inputport_defaults_backup,inputport_defaults,sizeof(inputport_defaults)); } - else + else { memcpy(inputport_defaults,inputport_defaults_analog,sizeof(inputport_defaults)); memcpy(inputport_defaults_backup,inputport_defaults_analog,sizeof(inputport_defaults)); @@ -2167,7 +2167,7 @@ struct mixer_config mixercfg; char buf[20]; - if(options.mame_remapping) + if(options.mame_remapping) sprintf(buf,"%s",Machine->gamedrv->name); else sprintf(buf,"ra_%s",Machine->gamedrv->name); @@ -2221,7 +2221,7 @@ config_file *cfg; struct mixer_config mixercfg; char buf[20]; - if(options.mame_remapping) + if(options.mame_remapping) sprintf(buf,"%s",Machine->gamedrv->name); else sprintf(buf,"ra_%s",Machine->gamedrv->name); @@ -2282,7 +2282,7 @@ InputSeq* input_port_seq(const struct InputPort *in) { -// mark change the (! 0 && ((in-1)->type & IPF_CHEAT))) to a variable name if you want to make it a core option just disable for now until you make a choice +// mark change the (! 0 && ((in-1)->type & IPF_CHEAT))) to a variable name if you want to make it a core option just disable for now until you make a choice int i,type; static InputSeq ip_none = SEQ_DEF_1(CODE_NONE); @@ -2399,7 +2399,7 @@ delta = 0; player = IP_GET_PLAYER(in); - + /* if second player on a dial, and dial sharing turned on, use Y axis from player 1 */ if (options.dial_share_xy && type == IPT_DIAL && player == 1) { @@ -2463,7 +2463,10 @@ int new, prev; /* center stick */ - if ((delta == 0) && (in->type & IPF_CENTER)) + if (delta == 0 && options.digital_analog ) + current = default_value; + + else if ((delta == 0) && (in->type & IPF_CENTER)) {
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/mame.h -> libretro-mame2003-plus-0~git20200525.tar.xz/src/mame.h
Changed
@@ -174,7 +174,7 @@ CONTENT_PADDLE, CONTENT_AD_STICK, CONTENT_HAS_SERVICE, - CONTENT_HAS_TILT, + CONTENT_HAS_TILT, CONTENT_ALTERNATING_CTRLS, CONTENT_MIRRORED_CTRLS, CONTENT_ROTATE_JOY_45, @@ -231,12 +231,12 @@ int frameskip; int color_depth; /* valid: 15, 16, or 32. any other value means auto */ int ui_orientation; /* orientation of the UI relative to the video */ - + int vector_width; /* requested width for vector games; 0 means default (640) */ int vector_height; /* requested height for vector games; 0 means default (480) */ float beam; /* vector beam width */ int vector_flicker; /* vector beam flicker effect control */ - float vector_intensity_correction; + float vector_intensity_correction; int translucency; /* 1 to enable translucency on vectors */ int antialias; /* 1 to enable antialiasing on vectors */ unsigned vector_resolution_multiplier; @@ -248,17 +248,18 @@ char savegame; /* character representing a savegame to load */ int crc_only; /* specify if only CRC should be used as checksum */ bool nvram_bootstrap; - + const char *bios; /* specify system bios (if used), 0 is default */ - + bool system_subfolder; /* save all system files within a subfolder of the libretro system folder rather than directly in the system folder */ - bool save_subfolder; /* save all save files within a subfolder of the libretro system folder rather than directly in the system folder */ - + bool save_subfolder; /* save all save files within a subfolder of the libretro system folder rather than directly in the system folder */ + int debug_width; /* requested width of debugger bitmap */ int debug_height; /* requested height of debugger bitmap */ int debug_depth; /* requested depth of debugger bitmap */ bool cheat_input_ports; /*cheat input ports enable/disable */ - bool machine_timing; + bool machine_timing; + bool digital_analog; }; @@ -389,4 +390,4 @@ /* return the index of the given CPU, or -1 if not found */ int mame_find_cpu_index(const char *tag); -#endif \ No newline at end of file +#endif
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/mame2003/mame2003.c -> libretro-mame2003-plus-0~git20200525.tar.xz/src/mame2003/mame2003.c
Changed
@@ -51,7 +51,7 @@ struct ipd *default_inputs; /* pointer the array of structs with default MAME input mappings and labels */ int running = 0; int control_flag=-1; -int legacy_flag=-1; +int legacy_flag=-1; static struct retro_input_descriptor empty[] = { { 0 } }; retro_log_printf_t log_cb; @@ -107,6 +107,7 @@ OPT_NVRAM_BOOTSTRAP, OPT_Cheat_Input_Ports, OPT_Machine_Timing, + OPT_Digital_Analog, OPT_end /* dummy last entry */ }; @@ -221,6 +222,7 @@ init_default(&default_options[OPT_CORE_SAVE_SUBFOLDER], APPNAME"_core_save_subfolder", "Locate save files within a subfolder; enabled|disabled"); /* This is already available as an option in RetroArch although it is left enabled by default as of November 2018 for consistency with past practice. At least for now.*/ init_default(&default_options[OPT_Cheat_Input_Ports], APPNAME"_cheat_input_ports", "Dip switch/Cheat input ports; disabled|enabled"); init_default(&default_options[OPT_Machine_Timing], APPNAME"_machine_timing", "Bypass audio skew (Restart core); enabled|disabled"); + init_default(&default_options[OPT_Digital_Analog], APPNAME"_digital_analog", "Center joystick axis for digital controls; enabled|disabled"); init_default(&default_options[OPT_end], NULL, NULL); set_variables(true); } @@ -496,9 +498,9 @@ { if( options.analog !=1 && control_flag !=-1) control_flag =1; options.analog = 1; - if (running && control_flag == 1) + if (running && control_flag == 1) { - change_control_type(); + change_control_type(); control_flag =0; } } @@ -506,9 +508,9 @@ { if(options.analog !=0 && control_flag !=-1) control_flag =1; options.analog = 0; - if (running && control_flag == 1) + if (running && control_flag == 1) { - change_control_type(); + change_control_type(); control_flag =0; } } @@ -528,36 +530,43 @@ options.tate_mode = 0; break; + case OPT_Digital_Analog: + if(strcmp(var.value, "enabled") == 0) + options.digital_analog = 1; + else + options.digital_analog = 0; + break; + case OPT_VECTOR_RESOLUTION: if(strcmp(var.value, "640x480") == 0) { options.vector_width=640; - options.vector_height=480; + options.vector_height=480; } else if(strcmp(var.value, "1024x768") == 0) { options.vector_width=1024; - options.vector_height=768; + options.vector_height=768; } else if(strcmp(var.value, "1280x960") == 0) { options.vector_width=1280; - options.vector_height=960; + options.vector_height=960; } else if(strcmp(var.value, "1440x1080") == 0) { options.vector_width=1440; - options.vector_height=1080; + options.vector_height=1080; } else if(strcmp(var.value, "1600x1200") == 0) { options.vector_width=1600; - options.vector_height=1200; + options.vector_height=1200; } - else + else { options.vector_width=0; // mame will set this from the driver resolution set - options.vector_height=0; + options.vector_height=0; } break; @@ -644,13 +653,13 @@ options.cheat_input_ports = true; else options.cheat_input_ports = false; - break; + break; case OPT_Machine_Timing: if(strcmp(var.value, "enabled") == 0) options.machine_timing = true; else options.machine_timing = false; - break; + break; } } } @@ -672,24 +681,24 @@ void retro_get_system_av_info(struct retro_system_av_info *info) { - mame2003_video_get_geometry(&info->geometry); + mame2003_video_get_geometry(&info->geometry); if(options.machine_timing) { if (Machine->drv->frames_per_second < 60.0 ) - info->timing.fps = 60.0; - else + info->timing.fps = 60.0; + else info->timing.fps = Machine->drv->frames_per_second; /* qbert is 61 fps */ - if ( (Machine->drv->frames_per_second * 1000 < options.samplerate) || ( Machine->drv->frames_per_second < 60) ) + if ( (Machine->drv->frames_per_second * 1000 < options.samplerate) || ( Machine->drv->frames_per_second < 60) ) { info->timing.sample_rate = Machine->drv->frames_per_second * 1000; log_cb(RETRO_LOG_INFO, LOGPRE "Sample timing rate too high for framerate required dropping to %f", Machine->drv->frames_per_second * 1000); - } + } else { info->timing.sample_rate = options.samplerate; - log_cb(RETRO_LOG_INFO, LOGPRE "Sample rate set to %d\n",options.samplerate); + log_cb(RETRO_LOG_INFO, LOGPRE "Sample rate set to %d\n",options.samplerate); } } @@ -700,7 +709,7 @@ if ( Machine->drv->frames_per_second * 1000 < options.samplerate) info->timing.sample_rate = 22050; - else + else info->timing.sample_rate = options.samplerate; } @@ -835,7 +844,7 @@ default: break; } - + break; } } @@ -854,7 +863,7 @@ #endif { *type=CPU_CYCLONE; - log_cb(RETRO_LOG_INFO, LOGPRE "Replaced CPU_CYCLONE\n"); + log_cb(RETRO_LOG_INFO, LOGPRE "Replaced CPU_CYCLONE\n"); } if(!(*type)){ break; @@ -873,7 +882,7 @@ if (type==CPU_Z80) { *type=CPU_DRZ80; - log_cb(RETRO_LOG_INFO, LOGPRE "Replaced Z80\n"); + log_cb(RETRO_LOG_INFO, LOGPRE "Replaced Z80\n"); } } } @@ -887,7 +896,7 @@ if (type==CPU_Z80 && Machine->drv->cpu[i].cpu_flags&CPU_AUDIO_CPU) { *type=CPU_DRZ80; - log_cb(RETRO_LOG_INFO, LOGPRE "Replaced Z80 sound\n"); + log_cb(RETRO_LOG_INFO, LOGPRE "Replaced Z80 sound\n"); } } @@ -901,9 +910,9 @@ options.libretro_content_path = strdup(game->path); path_basedir(options.libretro_content_path); /*fix trailing slash in path*/ - for(i = 0; options.libretro_content_path[i] != '\0'; ++i); - if ( options.libretro_content_path[i-1] == '/' || options.libretro_content_path[i-1] == '\\' ) - options.libretro_content_path[i-1] =0; + for(i = 0; options.libretro_content_path[i] != '\0'; ++i);
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/sound/k051649.c -> libretro-mame2003-plus-0~git20200525.tar.xz/src/sound/k051649.c
Changed
@@ -142,7 +142,7 @@ } /* reset all the voices */ - for (i=0; i>5; i++) { + for (i=0; i<5; i++) { voice[i].frequency = 0; voice[i].volume = 0; voice[i].counter = 0;
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/sound/mixer.c -> libretro-mame2003-plus-0~git20200525.tar.xz/src/sound/mixer.c
Changed
@@ -81,6 +81,7 @@ int is_stream; int is_playing; int is_looping; + int is_paused; int is_16bit; void* data_start; void* data_end; @@ -714,6 +715,8 @@ if (samples_to_generate <= 0) return; + if ( channel->is_paused) return; + /* if we're playing, mix in the data */ if (channel->is_playing) { @@ -931,6 +934,17 @@ channel->right_volume = volume; } +/*************************************************************************** + mixer_set_Pause +***************************************************************************/ + +void mixer_set_pause(int ch, int pause) +{ + struct mixer_channel_data *channel = &mixer_channel[ch]; + + mixer_update_channel(channel, sound_scalebufferpos(samples_this_frame)); + channel->is_paused = pause; +} /*************************************************************************** mixer_set_mixing_level
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/sound/mixer.h -> libretro-mame2003-plus-0~git20200525.tar.xz/src/sound/mixer.h
Changed
@@ -115,7 +115,7 @@ void mixer_save_config(struct mixer_config *config); void mixer_read_config(mame_file *f); void mixer_write_config(mame_file *f); - +void mixer_set_pause(int ch, int pause); void mixer_set_stereo_volume(int ch, int l_vol, int r_vol ); #endif
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/sound/samples.c -> libretro-mame2003-plus-0~git20200525.tar.xz/src/sound/samples.c
Changed
@@ -1,13 +1,11 @@ #include "driver.h" - +void readsample(struct GameSample *SampleInfo, int channel, struct GameSamples *SamplesData, int load); static int firstchannel,numchannels; int leftSampleNum; int rightSampleNum; -void readsample(struct GameSample *SampleInfo, int channel, struct GameSamples *SamplesData, int load); - /* Start one of the samples loaded from disk. Note: channel must be in the range */ /* 0 .. Samplesinterface->channels-1. It is NOT the discrete channel to pass to */ /* mixer_play_sample() */ @@ -18,7 +16,7 @@ if (Machine->samples->sample[samplenum] == 0) return; if (channel >= numchannels) { - log_cb(RETRO_LOG_DEBUG, LOGPRE" sample_start() called with channel = %d, but only %d channels allocated\n",channel,numchannels); + log_cb(RETRO_LOG_DEBUG, LOGPRE"error: sample_start() called with channel = %d, but only %d channels allocated\n",channel,numchannels); return; } if (samplenum >= Machine->samples->total) @@ -29,28 +27,29 @@ if (Machine->samples->sample[samplenum] != NULL) { - if ( (Machine->samples->sample[samplenum]->b_decoded == 0) && (options.content_flags[CONTENT_ALT_SOUND]) ) + if (Machine->samples->sample[samplenum]->b_decoded == 0) { // Lets decode this sample before playing it. readsample(Machine->samples->sample[samplenum], samplenum, Machine->samples, 1); } - if ( (Machine->samples->sample[samplenum]->b_decoded == 1) && (options.content_flags[CONTENT_ALT_SOUND]) ) + if (Machine->samples->sample[samplenum]->b_decoded == 1) { if (channel == 0) leftSampleNum = samplenum; if (channel == 1) rightSampleNum = samplenum; - } + } + if (Machine->samples->sample[samplenum]->resolution == 8 ) { - log_cb(RETRO_LOG_DEBUG, LOGPRE"play 8 bit sample %d, channel %d\n",samplenum,channel); - mixer_play_sample(firstchannel + channel, - Machine->samples->sample[samplenum]->data, - Machine->samples->sample[samplenum]->length, - Machine->samples->sample[samplenum]->smpfreq, - loop); + log_cb(RETRO_LOG_DEBUG, LOGPRE"play 8 bit sample %d, channel %d\n",samplenum,channel); + mixer_play_sample(firstchannel + channel, + Machine->samples->sample[samplenum]->data, + Machine->samples->sample[samplenum]->length, + Machine->samples->sample[samplenum]->smpfreq, + loop); } else { @@ -59,9 +58,9 @@ (short *) Machine->samples->sample[samplenum]->data, Machine->samples->sample[samplenum]->length, Machine->samples->sample[samplenum]->smpfreq, - loop); - + loop); } + } } @@ -113,7 +112,7 @@ c_sample = leftSampleNum; else if (channel == 1) c_sample = rightSampleNum; - + if (Machine->sample_rate == 0) return; if (channel >= numchannels) { @@ -122,12 +121,11 @@ } mixer_stop_sample(channel + firstchannel); - + //respect samples being disabled if (!options.use_samples) return; - if ( ( channel != 0) || (channel !=1) ) return; // return normally if not matching ost channel specs - + if ( ( channel != 0) || (channel !=1) ) return; // return normally if not matching ost channel specs - if ( Machine->samples->sample[c_sample] != NULL ) { + if (Machine->samples->sample[c_sample] != NULL) { if (Machine->samples->sample[c_sample]->b_decoded == 1) { // A non pre loaded sample, lets free from memory. Useful for devices with limited amount of RAM using large sample files. if (Machine->samples->sample[c_sample]->length > GAME_SAMPLE_LARGE) @@ -178,3 +176,15 @@ } return 0; } + +int sample_set_pause(int channel,int pause) +{ + if (Machine->sample_rate == 0) return 0; + if (channel >= numchannels) + { + log_cb(RETRO_LOG_DEBUG, LOGPRE"error: sample_pause() called with channel = %d, but only %d channels allocated\n",channel,numchannels); + return 0; + } + mixer_set_pause(channel + firstchannel, pause); + return 1; +}
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/sound/samples.h -> libretro-mame2003-plus-0~git20200525.tar.xz/src/sound/samples.h
Changed
@@ -17,8 +17,9 @@ void sample_set_stereo_volume(int channel,int volume_left, int volume_right); void sample_set_volume(int channel,int volume); void sample_stop(int channel); -int sample_playing(int channel); +int sample_set_pause(int channel,int pause); +int sample_playing(int channel); int samples_sh_start(const struct MachineSound *msound); #endif
View file
libretro-mame2003-plus-0~git20200209.tar.xz/src/vidhrdw/cps1_vidhrdw.c -> libretro-mame2003-plus-0~git20200525.tar.xz/src/vidhrdw/cps1_vidhrdw.c
Changed
@@ -378,7 +378,10 @@ {"pnickj", NOBATTRY, 0,0,0, 0x0000,0xffff,0x0000,0xffff }, {"pang3", NOBATTRY, 0,0,0, 0x0000,0xffff,0x0000,0xffff, 5 }, /* EEPROM port is among the CPS registers */ {"pang3j", NOBATTRY, 0,0,0, 0x0000,0xffff,0x0000,0xffff, 5 }, /* EEPROM port is among the CPS registers */ - + + /* CPS Prototype */ + {"gulunpa", NOBATTRY, 0,0,0, 0x0000,0xffff,0x0000,0xffff }, /* Best guess likely incorrect */ + /* CPS Changer */ {"wofch", NOBATTRY, 0,0,0, 0x0000,0xffff,0x0000,0xffff },
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.