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