Changes of Revision 3

libretro-mame2003-plus.changes Changed
x
 
1
@@ -1,4 +1,59 @@
2
 -------------------------------------------------------------------
3
+Sun Aug 09 11:02:22 UTC 2020 - i@guoyunhe.me
4
+
5
+- Update to version 0~git20200807:
6
+  * Update mystwarr.c
7
+  * Update simpl156.c
8
+  * Update foodf.c
9
+  * Update midyunit.c
10
+  * Update mystwarr.c
11
+  * Update mystwarr.c
12
+  * Update bootstrap.c
13
+  * Update bootstrap.h
14
+  * Update bootstrap.h
15
+  * Update mcr2.c
16
+  * Update mcr2.c
17
+  * Update inptport.c
18
+  * Update mame2003.c
19
+  * Update mame.h
20
+  * twotigra
21
+  * Windows MSVC 2003 x86 and rpi4 added.
22
+  * Update .travis.yml
23
+  * Fix various graphical niggles for the video system games
24
+  * Update .travis.yml
25
+  * Turbo Force fix numerous problems due to incorrect inputs
26
+  * Update bootstrap.c
27
+  * Removed custom OST samples from DAT
28
+  * Remove Final Fight AE OST from DAT
29
+  * Update catver.ini with new games
30
+  * Add the proper manufacturers in this case Semicom and or Licence
31
+  * Update mame2003-plus.xml
32
+  * Update catver.ini
33
+  * Revert this change and use a bypass hack for Gunbird 2 via the psikyosh driver
34
+  * Actually there is another way of doing this
35
+  * Added PSClassic (#752)
36
+  * Forgot to add 2P Controls for Opa Opa and Tetris
37
+  * MSVC buildfix
38
+  * update once again
39
+  * Declare the new ones
40
+  * Video Changes needed for Opa Opa and Slap Shooter
41
+  * Three new working games
42
+  * Connected to Gunbird 2 fix
43
+  * Fix Gunbird 2 from randomly crashing
44
+  * Update inptport.c
45
+  * Update CHANGELOG.md
46
+  * Update 8080bw_vidhrdw.c
47
+  * Update 8080bw_sndhrdw.c
48
+  * Update 8080bw.h
49
+  * Update 8080bw_drivers.c
50
+  * Update CHANGELOG.md
51
+  * twotigra
52
+  * Update mcr2.c
53
+  * Update CHANGELOG.md
54
+  * Update CHANGELOG.md
55
+  * Update thief.c
56
+
57
+-------------------------------------------------------------------
58
 Sat Jun 06 10:14:00 UTC 2020 - i@guoyunhe.me
59
 
60
 - Update to version 0~git20200525:
61
libretro-mame2003-plus.spec Changed
10
 
1
@@ -17,7 +17,7 @@
2
 
3
 
4
 Name:           libretro-mame2003-plus
5
-Version:        0~git20200525
6
+Version:        0~git20200807
7
 Release:        0
8
 Summary:        MAME 2003 Plus libretro core for arcade emulation
9
 License:        NonFree
10
_servicedata Changed
9
 
1
@@ -1,4 +1,4 @@
2
 <servicedata>
3
 <service name="tar_scm">
4
                 <param name="url">https://github.com/libretro/mame2003-plus-libretro.git</param>
5
-              <param name="changesrevision">8242007805b4e382c9dca3198957c9c62d0e273e</param></service></servicedata>
6
\ No newline at end of file
7
+              <param name="changesrevision">7d5983d298dff49a6dfc6f898f9fd55fb6a562f6</param></service></servicedata>
8
\ No newline at end of file
9
libretro-mame2003-plus-0~git20200525.tar.xz/CHANGELOG.md -> libretro-mame2003-plus-0~git20200807.tar.xz/CHANGELOG.md Changed
108
 
1
@@ -80,6 +80,7 @@
2
 * Mobile Suit Gundam Final Shooting
3
 * Mouse Shooter GoGo
4
 * Multi Champ Deluxe
5
+* Opa Opa (Rev A Unprotected)
6
 * Oriental Legend Special
7
 * Osman
8
 * Pack'n Bang Bang
9
@@ -108,6 +109,7 @@
10
 * Sega Megaplay : Tecmo World Cup
11
 * Sengoku 3
12
 * Skull Fang
13
+* Slap Shooter
14
 * Snk Vs Capcom : Svc Chaos (bootleg)
15
 * Sonic Boom
16
 * Space Fever High Splitter
17
@@ -121,7 +123,8 @@
18
 * Tang Tang
19
 * Teeter Torture
20
 * Tenchi wo Kurau II: Sekiheki no Tatakai (CPS Changer, Japan 921031)
21
-* Tetris the Absolute The Grand Master 2
22
+* Tetris (Sega System E)
23
+* Tetris The Absolute The Grand Master 2
24
 * The Killing Blade
25
 * The King Of Fighters 2001
26
 * The King Of Fighters 2002
27
@@ -325,18 +328,22 @@
28
 * Bandito
29
 * Bosconian
30
 * Crazy Balloon
31
+* Destination Earth - (Added lrescue.zip sample support)
32
 * Dig Dug
33
 * Dig Dug II
34
 * Final Fight - Added OST soundtrack (via KMFDManic)
35
 * Galaga
36
 * Galaga 3
37
+* Galaxy Rescue - (Added lrescue.zip sample support)
38
 * Gaplus
39
 * Grobda
40
 * Journey (Added sepways.wav sample)
41
 * Libble Rabble
42
+* Lunar Rescue - (Added lrescue.zip sample support)
43
 * Mappy
44
 * Mortal Kombat - Added OST soundtrack (via KMFDManic)
45
 * Motos
46
+* NATO Defense
47
 * NBA Jam - Added OST Soundtrack (via KMFDManic)
48
 * Nibbler
49
 * Out Run - Added ost soundtrack (via KMFDManic)
50
@@ -345,6 +352,7 @@
51
 * Pole Position
52
 * Pole Position II
53
 * Rohga Armor Force
54
+* Shark Attack
55
 * Sheriff
56
 * Space Fever
57
 * Space Fever High Splitter
58
@@ -352,27 +360,39 @@
59
 * Super Pacman
60
 * Super Spacefortress Macross II
61
 * Super Xevious
62
+* Thief
63
 * Tower Of Druaga
64
 * Toypop
65
+* Two Tigers - twotigra romset
66
 * Xevious
67
 
68
 
69
 ## Games now with sound sample support
70
 
71
 * Cosmic Alien
72
+* Destination Earth - lrescue
73
 * Frogs
74
+* Galaxy Rescue - lrescue
75
 * Ghox (Toaplan Samples)
76
 * Journey
77
+* Lunar Rescue - lrescue
78
+* NATO Defense
79
 * Sasuke Vs Commander 
80
+* Shark Attack
81
 * Space Firebird
82
 * Teki Paki (Toaplan Samples)
83
+* Theif
84
+* Two Tigers - twotigra romset
85
 
86
 
87
 ## Games supporting new and improved samples
88
 
89
+* Destination Earth
90
 * Donkey Kong
91
 * Donkey Kong JR
92
 * Fantasy
93
+* Galaxy Rescue
94
+* Lunar Rescue
95
 * Pioneer Balloon
96
 * Vanguard
97
 
98
@@ -464,4 +484,8 @@
99
 * Added core option for axis centering to allow digital joysticks to play analog joystick games (food fight, roadrunner, paperboy)
100
 * Added pause support for use with samples.
101
 * Fixed mcr3 game saving
102
-
103
+* Added pause support for NATO Defense, Shark Attack, Thief [mahoneyt944]
104
+* Added sample support with pause for Two Tigers - twotigra romset [mahoneyt944]
105
+* Added lrescue sample support, isolated lrescue's drivers [mahoneyt944]
106
+* Fixed Gunbird 2 from randomly crashing and removed related hacks from several psikyosh games which are no longer required [arcadez]
107
+* Added three more games to the Sega System E driver and ported across from FBN some required video fixes and code for Opa Opa and Slap Shooter [dink, arcadez]
108
libretro-mame2003-plus-0~git20200525.tar.xz/Makefile -> libretro-mame2003-plus-0~git20200807.tar.xz/Makefile Changed
97
 
1
@@ -191,6 +191,17 @@
2
    CPU_ARCH := arm
3
    ARM = 1
4
 
5
+else ifeq ($(platform), rpi4)
6
+   TARGET = $(TARGET_NAME)_libretro.so
7
+   fpic = -fPIC
8
+    CFLAGS += $(fpic)
9
+    LDFLAGS += $(fpic) -shared -Wl,--version-script=link.T
10
+    PLATCFLAGS += -marm -mcpu=cortex-a72 -mfpu=neon-fp-armv8 -mfloat-abi=hard
11
+    PLATCFLAGS += -fomit-frame-pointer -ffast-math
12
+    CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions
13
+    CPU_ARCH := arm
14
+    ARM = 1
15
+
16
 # Classic Platforms ####################
17
 # Platform affix = classic_<ISA>_<µARCH>
18
 # Help at https://modmyclassic.com/comp
19
@@ -227,6 +238,32 @@
20
        LDFLAGS += -static-libgcc -static-libstdc++
21
      endif
22
    endif
23
+   
24
+# (armv8 a35, hard point, neon based) ###
25
+# Playstation Classic
26
+else ifeq ($(platform), classic_armv8_a35)
27
+   TARGET := $(TARGET_NAME)_libretro.so
28
+   fpic := -fPIC
29
+   LDFLAGS += $(fpic) -shared -Wl,--version-script=link.T
30
+   CFLAGS += -Ofast \
31
+   -flto=4 -fwhole-program -fuse-linker-plugin \
32
+   -fdata-sections -ffunction-sections -Wl,--gc-sections \
33
+   -fno-stack-protector -fno-ident -fomit-frame-pointer \
34
+   -falign-functions=1 -falign-jumps=1 -falign-loops=1 \
35
+   -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-unroll-loops \
36
+   -fmerge-all-constants -fno-math-errno \
37
+   -marm -mtune=cortex-a35 -mfpu=neon-fp-armv8 -mfloat-abi=hard
38
+   CXXFLAGS += $(CFLAGS)
39
+   CPPFLAGS += $(CFLAGS)
40
+   ASFLAGS += $(CFLAGS)
41
+   HAVE_NEON = 1
42
+   ARCH = arm
43
+   BUILTIN_GPU = neon
44
+   USE_DYNAREC = 1
45
+   CPU_ARCH := arm
46
+   ARM = 1
47
+   CFLAGS += -march=armv8-a
48
+   LDFLAGS += -static-libgcc -static-libstdc++
49
 #######################################
50
 
51
 # generic armhf########################
52
@@ -301,7 +338,7 @@
53
    PLATCFLAGS += -D__CELLOS_LV2__ -D__ppc__ -D__POWERPC__
54
    STATIC_LINKING = 1
55
    SPLIT_UP_LINK=1
56
-   
57
+
58
 else ifeq ($(platform), sncps3)
59
    TARGET = $(TARGET_NAME)_libretro_ps3.a
60
    BIGENDIAN = 1
61
@@ -447,6 +484,26 @@
62
 LDFLAGS += -DLL
63
 LIBS =
64
 
65
+# Windows MSVC 2003 x86
66
+else ifeq ($(platform), windows_msvc2003_x86)
67
+   CC  = cl.exe
68
+   CXX = cl.exe
69
+   PATH := $(shell IFS=$$'\n'; cygpath "$(VS71COMNTOOLS)../../Vc7/bin"):$(PATH)
70
+   PATH := $(PATH):$(shell IFS=$$'\n'; cygpath "$(VS71COMNTOOLS)../IDE")
71
+   INCLUDE := $(shell IFS=$$'\n'; cygpath -w "$(VS71COMNTOOLS)../../Vc7/include")
72
+   LIB := $(shell IFS=$$'\n'; cygpath -w "$(VS71COMNTOOLS)../../Vc7/lib")
73
+   BIN := $(shell IFS=$$'\n'; cygpath "$(VS71COMNTOOLS)../../Vc7/bin")
74
+
75
+   WindowsSdkDir := $(INETSDK)
76
+   export INCLUDE := $(INCLUDE);$(INETSDK)/Include;src/libretro/libretro-common/include/compat/msvc
77
+   export LIB := $(LIB);$(WindowsSdkDir);$(INETSDK)/Lib
78
+
79
+   TARGET := $(TARGET_NAME)_libretro.dll
80
+   PSS_STYLE :=2
81
+   LDFLAGS += -DLL
82
+   CFLAGS += -D_CRT_SECURE_NO_DEPRECATE
83
+   LIBS =
84
+
85
 # Windows MSVC 2005 x86
86
 else ifeq ($(platform), windows_msvc2005_x86)
87
    CC  = cl.exe
88
@@ -555,7 +612,7 @@
89
    ifneq (,$(findstring uwp,$(PlatformSuffix)))
90
        LIB := $(LIB);$(shell IFS=$$'\n'; cygpath -w "$(LIB)/store")
91
    endif
92
-    
93
+
94
    export INCLUDE := $(INCLUDE);$(WindowsSDKSharedIncludeDir);$(WindowsSDKUCRTIncludeDir);$(WindowsSDKUMIncludeDir)
95
    export LIB := $(LIB);$(WindowsSDKUCRTLibDir);$(WindowsSDKUMLibDir)
96
    TARGET := $(TARGET_NAME)_libretro.dll
97
libretro-mame2003-plus-0~git20200525.tar.xz/metadata/catver.ini -> libretro-mame2003-plus-0~git20200807.tar.xz/metadata/catver.ini Changed
201
 
1
@@ -1,4 +1,4 @@
2
-;### Originally Based on CatVer (rev. 2) / 27-Dec-03 / MAME .78 / http://www.mameworld.net/catlist
3
+;### Based on CATVER.ini 0.221 / 20-May-20 / MAME 0.221 / http://www.progettosnaps.net/catver/
4
 ;### Now maintained as a part of libretro's MAME 2003 emulator core
5
 
6
 [Category]
7
@@ -13,31 +13,32 @@
8
 1943kai=Shooter / Flying Vertical
9
 1943mii=Shooter / Flying Vertical
10
 1944=Shooter / Flying Vertical
11
-1944j=Shooter / Flying Vertical
12
+1944j=Uncategorized
13
+1945kiii=Shooter / Flying Vertical
14
 19xx=Shooter / Flying Vertical
15
-19xxa=Shooter / Flying Vertical
16
+19xxa=Uncategorized
17
 19xxh=Shooter / Flying Vertical
18
-19xxj=Shooter / Flying Vertical
19
+19xxj=Uncategorized
20
 19xxjr1=Shooter / Flying Vertical
21
 2020bb=Sports / Baseball
22
 2020bbh=Sports / Baseball
23
 280zzzap=Driving / 1st Person
24
 3countb=Sports / Wrestling
25
-3in1semi=MultiGame / Compilation
26
+3in1semi=Uncategorized
27
 3kokushi=Puzzle / Match * Mature *
28
 3stooges=Shooter / Field
29
-3wonders=Multigame
30
-3wonderu=Multigame
31
+3wonders=MultiGame / Compilation
32
+3wonderu=MultiGame / Compilation
33
 40love=Sports / Tennis
34
 47pie2=Tabletop / Mahjong * Mature *
35
 47pie2o=Tabletop / Mahjong * Mature *
36
 4dwarrio=Shooter / Flying Horizontal
37
-4enraya=Tabletop
38
-4in1=Multigame
39
-4in1boot=Multigame
40
-600=Maze
41
-64streej=Beat Em Up
42
-64street=Beat Em Up
43
+4enraya=Puzzle / Match
44
+4in1=MultiGame / Compilation
45
+4in1boot=MultiGame / Compilation
46
+600=Maze / Collect
47
+64streej=Fighter / 2.5D
48
+64street=Fighter / 2.5D
49
 720=Sports / Skateboarding
50
 720g=Sports / Skateboarding
51
 720gr1=Sports / Skateboarding
52
@@ -55,39 +56,40 @@
53
 8bpm=Sports / Pool
54
 99lstwar=Shooter / Gallery
55
 99lstwra=Shooter / Gallery
56
-9ballsh2=Sports / Pool
57
-9ballsh3=Sports / Pool
58
-9ballsht=Sports / Pool
59
-a51mxr3k=Lightgun
60
-aafb=Sports / Football Amer.
61
-aafbb=Sports / Football Amer.
62
-aafbc=Sports / Football Amer.
63
-aafbd2p=Sports / Football Amer.
64
+9ballsh2=Uncategorized
65
+9ballsh3=Uncategorized
66
+9ballsht=Uncategorized
67
+a51mxr3k=Shooter / Gun
68
+aafb=Sports / Football
69
+aafbb=Sports / Football
70
+aafbc=Sports / Football
71
+aafbd2p=Sports / Football
72
 abaseb2=Sports / Baseball
73
 abaseb=Sports / Baseball
74
 aburner2=Shooter / Flying (chase view)
75
 aburner=Shooter / Flying (chase view)
76
 ace=Shooter / Field
77
-aceattac=Sports / Volleyball
78
-acedrvrw=Driving / Race 1st Person
79
-acitya=Tabletop / Casino
80
+aceattac=Uncategorized
81
+acedrvrw=Uncategorized
82
+acitya=Casino / Cards
83
 acrobatm=Shooter / Flying Vertical
84
 actfanc1=Platform / Shooter Scrolling
85
 actfancj=Platform / Shooter Scrolling
86
 actfancr=Platform / Shooter Scrolling
87
+actionhw=Maze / Change Surface
88
 aeroboto=Shooter / Misc. Horizontal
89
 aerofgt=Shooter / Flying Vertical
90
 aerofgtb=Shooter / Flying Vertical
91
 aerofgtc=Shooter / Flying Vertical
92
-afighter=Shooter / Flying Vertical
93
+afighter=Uncategorized
94
 agallet=Shooter / Flying Vertical
95
-ainferno=Shooter / Flying 1st Person
96
+ainferno=Uncategorized
97
 airattck=Shooter / Flying Vertical
98
 airattcka=Shooter / Flying Vertical
99
 airbustj=Shooter / Flying Horizontal
100
 airbustr=Shooter / Flying Horizontal
101
 airco22b=Uncategorized
102
-aircombj=Shooter / Flying 1st Person
103
+aircombj=Shooter / Flying (chase view)
104
 aircombu=Shooter / Flying 1st Person
105
 airduel=Shooter / Flying Vertical
106
 airraid=Uncategorized
107
@@ -97,10 +99,11 @@
108
 akiss=Tabletop / Mahjong * Mature *
109
 akkanvdr=Shooter / Gallery
110
 alcon=Shooter / Flying Vertical
111
-alexkida=Platform / Run Jump
112
+alexkida=Platform / Run, Jump & Scrolling
113
 alexkidd=Uncategorized
114
-alibaba=Maze
115
-alien3=Lightgun
116
+alibaba=Maze / Collect
117
+alibabab=Maze / Collect
118
+alien3=Shooter / Gun
119
 alienar=Maze / Collect
120
 alienaru=Maze / Collect
121
 alieninv=Shooter / Gallery
122
@@ -112,13 +115,12 @@
123
 aliensyb=Uncategorized
124
 aliensyj=Uncategorized
125
 aliensyn=Maze / Shooter Large
126
-aligator=Uncategorized
127
+aligator=Shooter / 3rd Person
128
 aligatun=Shooter / 3rd Person
129
 alleymas=Sports / Bowling
130
-alphaho=Multigame
131
+alphaho=MultiGame / Compilation
132
 alpham2=Shooter / Flying Vertical
133
 alphaona=Shooter / Misc.
134
-alphaone=Shooter / Misc.
135
 alphaxz=Shooter / Flying Vertical
136
 alpine=Sports / Skiing
137
 alpinea=Sports / Skiing
138
@@ -140,44 +142,45 @@
139
 amspdwya=Driving / Race Track
140
 androdun=Shooter / Flying Horizontal
141
 andromed=Uncategorized
142
-angelkds=Climbing
143
-anteater=Maze
144
+angelkds=Climbing / Tree - Plant
145
+anteater=Maze / Collect
146
 aodk=Fighter / Versus
147
 aof2=Fighter / Versus
148
 aof3=Fighter / Versus
149
 aof=Fighter / Versus
150
-apb1=Driving
151
-apb2=Driving
152
-apb3=Driving
153
-apb4=Driving
154
-apb5=Driving
155
-apb6=Driving
156
-apb=Driving
157
-apbf=Driving
158
-apbg=Driving
159
+apb1=Driving / Misc.
160
+apb2=Driving / Misc.
161
+apb3=Driving / Misc.
162
+apb4=Driving / Misc.
163
+apb5=Driving / Misc.
164
+apb6=Driving / Misc.
165
+apb=Driving / Misc.
166
+apbf=Driving / Misc.
167
+apbg=Driving / Misc.
168
 aponow=Shooter / Flying
169
 apparel=Tabletop / Mahjong * Mature *
170
 appoooh=Sports / Wrestling
171
 aquajack=Shooter / Driving (chase view)
172
 aquajckj=Shooter / Driving (chase view)
173
 aquarium=Puzzle / Drop
174
-aquarush=Uncategorized
175
-arabfgt=Fighter / Field
176
-arabiamj=Beat Em Up
177
-arabiamu=Beat Em Up
178
+aquarush=Puzzle / Drop
179
+arabfgt=Fighter / 2.5D
180
+arabiamj=Fighter / 2.5D
181
+arabiamu=Fighter / 2.5D
182
 arabian=Platform / Run Jump
183
 arabiana=Platform / Run Jump
184
-arabianm=Beat Em Up
185
+arabianm=Fighter / 2.5D
186
 arbalest=Shooter / Flying Vertical
187
-arcadecl=Multigame
188
+arcadecl=MultiGame / Compilation
189
 arcadia=Shooter / Gallery
190
 archriv2=Sports / Basketball
191
 archrivl=Sports / Basketball
192
-area51=Lightgun
193
-area51mx=Lightgun
194
+area51=Shooter / Gun
195
+area51mx=Shooter / Gun
196
 area88=Shooter / Flying Horizontal
197
 arescue=Shooter / Flying 1st Person
198
 argus=Shooter / Flying Vertical
199
+argusg=Shooter / Field
200
 arkangc=Ball & Paddle / Breakout
201
libretro-mame2003-plus-0~git20200525.tar.xz/metadata/mame2003-plus.xml -> libretro-mame2003-plus-0~git20200807.tar.xz/metadata/mame2003-plus.xml Changed
201
 
1
@@ -58067,7 +58067,7 @@
2
        </dipswitch>
3
        <driver status="good" color="good" sound="good" palettesize="2"/>
4
    </game>
5
-   <game name="lrescue" sampleof="invaders">
6
+   <game name="lrescue">
7
        <description>Lunar Rescue</description>
8
        <year>1979</year>
9
        <manufacturer>Taito</manufacturer>
10
@@ -58078,15 +58078,15 @@
11
        <rom name="lrescue.5" size="2048" crc="58fde8bc" sha1="663665ac5254204c1eba18357d9867034eae55eb" region="cpu1" offset="4000"/>
12
        <rom name="lrescue.6" size="2048" crc="bfb0f65d" sha1="ea0943d764a16094b6e2289f62ef117c9f838c98" region="cpu1" offset="4800"/>
13
        <rom name="7643-1.cpu" size="1024" crc="8b2e38de" sha1="d6a757be31c3a179d31bd3709e71f9e38ec632e9" region="proms" offset="0"/>
14
-       <sample name="1.wav"/>
15
-       <sample name="2.wav"/>
16
-       <sample name="3.wav"/>
17
-       <sample name="4.wav"/>
18
-       <sample name="5.wav"/>
19
-       <sample name="6.wav"/>
20
-       <sample name="7.wav"/>
21
-       <sample name="8.wav"/>
22
-       <sample name="9.wav"/>
23
+       <sample name="alienexplosion"/>
24
+       <sample name="rescueshipexplosion"/>
25
+       <sample name="beamgun"/>
26
+       <sample name="thrust"/>
27
+       <sample name="bonus2"/>
28
+       <sample name="bonus3"/>
29
+       <sample name="shootingstar"/>
30
+       <sample name="stepl"/>
31
+       <sample name="steph"/>
32
        <chip type="cpu" name="8080" clock="2000000"/>
33
        <chip type="audio" name="Samples"/>
34
        <chip type="audio" name="SN76477"/>
35
@@ -58113,7 +58113,7 @@
36
        </dipswitch>
37
        <driver status="good" color="good" sound="good" palettesize="8"/>
38
    </game>
39
-   <game name="grescue" cloneof="lrescue" romof="lrescue" sampleof="invaders">
40
+   <game name="grescue" cloneof="lrescue" romof="lrescue" sampleof="lrescue">
41
        <description>Galaxy Rescue</description>
42
        <year>1979</year>
43
        <manufacturer>Taito (Universal license?)</manufacturer>
44
@@ -58124,15 +58124,15 @@
45
        <rom name="grescue.5" size="2048" crc="a419a4d6" sha1="8eeeb31cbebffc98d2c6c5b964f9b320fcf303d2" region="cpu1" offset="4000"/>
46
        <rom name="lrescue.6" merge="lrescue.6" size="2048" crc="bfb0f65d" sha1="ea0943d764a16094b6e2289f62ef117c9f838c98" region="cpu1" offset="4800"/>
47
        <rom name="7643-1.cpu" merge="7643-1.cpu" size="1024" crc="8b2e38de" sha1="d6a757be31c3a179d31bd3709e71f9e38ec632e9" region="proms" offset="0"/>
48
-       <sample name="1.wav"/>
49
-       <sample name="2.wav"/>
50
-       <sample name="3.wav"/>
51
-       <sample name="4.wav"/>
52
-       <sample name="5.wav"/>
53
-       <sample name="6.wav"/>
54
-       <sample name="7.wav"/>
55
-       <sample name="8.wav"/>
56
-       <sample name="9.wav"/>
57
+       <sample name="alienexplosion"/>
58
+       <sample name="rescueshipexplosion"/>
59
+       <sample name="beamgun"/>
60
+       <sample name="thrust"/>
61
+       <sample name="bonus2"/>
62
+       <sample name="bonus3"/>
63
+       <sample name="shootingstar"/>
64
+       <sample name="stepl"/>
65
+       <sample name="steph"/>
66
        <chip type="cpu" name="8080" clock="2000000"/>
67
        <chip type="audio" name="Samples"/>
68
        <chip type="audio" name="SN76477"/>
69
@@ -58159,7 +58159,7 @@
70
        </dipswitch>
71
        <driver status="good" color="good" sound="good" palettesize="8"/>
72
    </game>
73
-   <game name="desterth" cloneof="lrescue" romof="lrescue" sampleof="invaders">
74
+   <game name="desterth" cloneof="lrescue" romof="lrescue" sampleof="lrescue">
75
        <description>Destination Earth</description>
76
        <year>1979</year>
77
        <manufacturer>bootleg</manufacturer>
78
@@ -58171,15 +58171,15 @@
79
        <rom name="31_c.bin" size="2048" crc="ab019c30" sha1="33931510a722168bcf7c30d22eac9345576b6631" region="cpu1" offset="4800"/>
80
        <rom name="42_b.bin" size="2048" crc="ed9dbac6" sha1="4553f445ac32ebb1be490b02df4924f76557e8f9" region="cpu1" offset="5000"/>
81
        <rom name="7643-1.cpu" merge="7643-1.cpu" size="1024" crc="8b2e38de" sha1="d6a757be31c3a179d31bd3709e71f9e38ec632e9" region="proms" offset="0"/>
82
-       <sample name="1.wav"/>
83
-       <sample name="2.wav"/>
84
-       <sample name="3.wav"/>
85
-       <sample name="4.wav"/>
86
-       <sample name="5.wav"/>
87
-       <sample name="6.wav"/>
88
-       <sample name="7.wav"/>
89
-       <sample name="8.wav"/>
90
-       <sample name="9.wav"/>
91
+       <sample name="alienexplosion"/>
92
+       <sample name="rescueshipexplosion"/>
93
+       <sample name="beamgun"/>
94
+       <sample name="thrust"/>
95
+       <sample name="bonus2"/>
96
+       <sample name="bonus3"/>
97
+       <sample name="shootingstar"/>
98
+       <sample name="stepl"/>
99
+       <sample name="steph"/>
100
        <chip type="cpu" name="8080" clock="2000000"/>
101
        <chip type="audio" name="Samples"/>
102
        <chip type="audio" name="SN76477"/>
103
@@ -62361,7 +62361,7 @@
104
        </dipswitch>
105
        <driver status="good" color="good" sound="good" palettesize="64"/>
106
    </game>
107
-   <game name="twotigra" cloneof="twotiger" romof="twotiger">
108
+   <game name="twotigra" cloneof="twotiger" romof="twotiger" sampleof="twotiger">
109
        <description>Two Tigers (dedicated)</description>
110
        <year>1984</year>
111
        <manufacturer>Bally Midway</manufacturer>
112
@@ -62379,10 +62379,13 @@
113
        <rom name="vid_b1" size="8192" crc="0939921e" sha1="f52d3475232557959e501f70765a4ad472300e84" region="gfx2" dispose="yes" offset="4000"/>
114
        <rom name="vid_a1" size="8192" crc="ef515824" sha1="983af762733405b96351ef4910f4f4be40c4880e" region="gfx2" dispose="yes" offset="6000"/>
115
        <rom name="82s123.12d" merge="82s123.12d" size="32" crc="e1281ee9" sha1="9ac9b01d24affc0ee9227a4364c4fd8f8290343a" region="proms" offset="0"/>
116
+       <sample name="left.wav"/>
117
+       <sample name="right.wav"/>
118
        <chip type="cpu" name="Z80" clock="2500000"/>
119
        <chip type="cpu" soundonly="yes" name="Z80" clock="2000000"/>
120
        <chip type="audio" name="AY-3-8910" clock="2000000"/>
121
        <chip type="audio" name="AY-3-8910" clock="2000000"/>
122
+       <chip type="audio" name="Samples"/>
123
        <video screen="raster" orientation="horizontal" width="512" height="480" aspectx="4" aspecty="3" refresh="30.000000"/>
124
        <sound channels="2"/>
125
        <input players="2" control="joy8way" buttons="3" coins="3" tilt="yes"/>
126
@@ -62426,10 +62429,12 @@
127
        <rom name="a1" size="8192" crc="4af986f8" sha1="56af9525a404bcf6d76b19318efe541189844210" region="gfx2" dispose="yes" offset="c000"/>
128
        <rom name="a2" size="8192" crc="b30cd2a7" sha1="df1b36a3481fdec49f73d504f23951070c121291" region="gfx2" dispose="yes" offset="e000"/>
129
        <rom name="82s123.12d" size="32" crc="e1281ee9" sha1="9ac9b01d24affc0ee9227a4364c4fd8f8290343a" region="proms" offset="0"/>
130
+       <sample name="sepways.wav"/>
131
        <chip type="cpu" name="Z80" clock="7500000"/>
132
        <chip type="cpu" soundonly="yes" name="Z80" clock="2000000"/>
133
        <chip type="audio" name="AY-3-8910" clock="2000000"/>
134
        <chip type="audio" name="AY-3-8910" clock="2000000"/>
135
+       <chip type="audio" name="Samples"/>
136
        <video screen="raster" orientation="vertical" width="480" height="512" aspectx="3" aspecty="4" refresh="30.000000"/>
137
        <sound channels="2"/>
138
        <input players="2" control="joy8way" buttons="1" coins="3" tilt="yes"/>
139
@@ -62443,7 +62448,7 @@
140
            <dipvalue name="1"/>
141
            <dipvalue name="2" default="yes"/>
142
        </dipswitch>
143
-       <driver status="good" color="good" sound="imperfect" palettesize="64"/>
144
+       <driver status="good" color="good" sound="good" palettesize="64"/>
145
    </game>
146
    <game name="tapper">
147
        <description>Tapper (Budweiser)</description>
148
@@ -125608,7 +125613,7 @@
149
        </dipswitch>
150
        <driver status="good" color="good" sound="good" palettesize="4096"/>
151
    </game>
152
-   <game name="ffightae" cloneof="ffight" romof="ffight" sampleof="ffight">
153
+   <game name="ffightae" cloneof="ffight" romof="ffight">
154
        <description>Final Fight 30th Anniversary Edition</description>
155
        <year>1989</year>
156
        <manufacturer>bootleg</manufacturer>
157
@@ -125621,56 +125626,6 @@
158
        <rom name="ff09-09.bin" merge="ff09-09.bin" size="65536" crc="b8367eb5" sha1="ec3db29fdd6200e9a8f4f8073a7e34aef731354f" region="cpu2" offset="0"/>
159
        <rom name="ff18-18.bin" merge="ff18-18.bin" size="131072" crc="375c66e7" sha1="36189e23209ce4ae5d9cbabd1574540d0591e7b3" region="sound1" offset="0"/>
160
        <rom name="ff19-19.bin" merge="ff19-19.bin" size="131072" crc="1ef137f9" sha1="974b5e72aa28b87ebfa7438efbdfeda769dedf5e" region="sound1" offset="20000"/>
161
-       <sample name="track02-01"/>
162
-       <sample name="track02-02"/>
163
-       <sample name="track03-01"/>
164
-       <sample name="track03-02"/>
165
-       <sample name="track04-01"/>
166
-       <sample name="track04-02"/>
167
-       <sample name="track05-01"/>
168
-       <sample name="track05-02"/>
169
-       <sample name="track06-01"/>
170
-       <sample name="track06-02"/>
171
-       <sample name="track07-01"/>
172
-       <sample name="track07-02"/>
173
-       <sample name="track08-01"/>
174
-       <sample name="track08-02"/>
175
-       <sample name="track09-01"/>
176
-       <sample name="track09-02"/>
177
-       <sample name="track10-01"/>
178
-       <sample name="track10-02"/>
179
-       <sample name="track11-01"/>
180
-       <sample name="track11-02"/>
181
-       <sample name="track12-01"/>
182
-       <sample name="track12-02"/>
183
-       <sample name="track13-01"/>
184
-       <sample name="track13-02"/>
185
-       <sample name="track14-01"/>
186
-       <sample name="track14-02"/>
187
-       <sample name="track15-01"/>
188
-       <sample name="track15-02"/>
189
-       <sample name="track16-01"/>
190
-       <sample name="track16-02"/>
191
-       <sample name="track17-01"/>
192
-       <sample name="track17-02"/>
193
-       <sample name="track18-01"/>
194
-       <sample name="track18-02"/>
195
-       <sample name="track19-01"/>
196
-       <sample name="track19-02"/>
197
-       <sample name="track20-01"/>
198
-       <sample name="track20-02"/>
199
-       <sample name="track21-01"/>
200
-       <sample name="track21-02"/>
201
libretro-mame2003-plus-0~git20200525.tar.xz/src/bootstrap.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/bootstrap.c Changed
95
 
1
@@ -141,11 +141,9 @@
2
 const struct bin2cFILE foodf_bootstrap = {
3
   512,
4
   {
5
-    1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0, 15,  0,
6
+    7,  0,  7,  0,  0,  0,  0,  0,  7,  0,  7,  0,  0,  0,  0,  0, 15,  0,
7
     1,  0,  0,  0,  0,  0, 11,  0, 10,  0, 12,  0,  8,  0,  0,  0,  0,  0,
8
-    0,  0,  0,  0,  1,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,
9
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
10
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
11
+    0,  0,  0,  0, 13,  0, 15,  0,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,
12
     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
13
     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
14
     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
15
@@ -156,7 +154,9 @@
16
     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
17
     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
18
     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
19
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  6,  0,  7,  0,
20
     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
21
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  6,  0,  7,  0,  0,  0,  0,  0,
22
     0,  0,  0,  0,  0,  0,  0,  0, 10,  0,  1,  0,  2,  0,  0,  0,  0,  0,
23
     0,  0,  0,  0,  0,  0, 12,  0, 13,  0,  1,  0,  0,  0,  1,  0,  4,  0,
24
    10,  0,  4,  0,  4,  0,  9,  0,  1,  0,  0,  0,  0,  0,  2,  0,  7,  0,
25
@@ -166,21 +166,19 @@
26
     0,  0,  0,  0,  5,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,
27
     0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  4,  0,  1,  0,  0,  0,  0,  0,
28
     1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,
29
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  8,  0,
30
-    0,  0,  8,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  8,  0,  0,  0,
31
-    8,  0,  0,  0,  8,  0,  0,  0,  8,  0,  0,  0,  0,  0,  0,  0,  0,  0,
32
-    0,  0,  8,  0,  0,  0,  8,  0,
33
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 15,  0, 15,  0,
34
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 15,  0, 15,  0,  0,  0,
35
+    0,  0, 15,  0, 15,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
36
+   15,  0, 15,  0,  0,  0,  0,  0,
37
   },
38
 };
39
 
40
 const struct bin2cFILE foodfc_bootstrap = {
41
   512,
42
   {
43
-    1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,
44
+    7,  0,  7,  0,  0,  0,  0,  0,  7,  0,  7,  0,  0,  0,  0,  0,  0,  0,
45
     2,  0,  0,  0,  0,  0, 11,  0, 10,  0, 12,  0,  8,  0,  0,  0,  0,  0,
46
-    0,  0,  0,  0,  1,  0,  0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,
47
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
48
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
49
+    0,  0,  0,  0, 13,  0, 15,  0,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,
50
     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
51
     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
52
     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
53
@@ -191,7 +189,9 @@
54
     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
55
     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
56
     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
57
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  6,  0,  7,  0,
58
     0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
59
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  6,  0,  7,  0,  0,  0,  0,  0,
60
     0,  0,  0,  0,  0,  0,  0,  0, 10,  0,  1,  0,  2,  0,  0,  0,  0,  0,
61
     0,  0,  0,  0,  0,  0, 12,  0, 13,  0,  1,  0,  0,  0,  1,  0,  4,  0,
62
    10,  0,  4,  0,  4,  0,  9,  0,  1,  0,  0,  0,  0,  0,  2,  0,  7,  0,
63
@@ -201,13 +201,27 @@
64
     0,  0,  0,  0,  5,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,
65
     0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  4,  0,  1,  0,  0,  0,  0,  0,
66
     1,  0,  0,  0,  0,  0,  0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  1,  0,
67
-    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  8,  0,
68
-    0,  0,  8,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  8,  0,  0,  0,
69
-    8,  0,  0,  0,  8,  0,  0,  0,  8,  0,  0,  0,  0,  0,  0,  0,  0,  0,
70
-    0,  0,  8,  0,  0,  0,  8,  0,
71
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 15,  0, 15,  0,
72
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 15,  0, 15,  0,  0,  0,
73
+    0,  0, 15,  0, 15,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
74
+   15,  0, 15,  0,  0,  0,  0,  0,
75
   },
76
 };
77
 
78
+const struct bin2cFILE gaiapols_bootstrap = {
79
+    128,
80
+  {
81
+    1,190,254, 65,147, 35, 74, 65, 70,  0,  0, 46,  0,  0,  3,  0,  0,  0,
82
+    0,  0,  0,  0,  1,  1,  0,  1,  1,  1,  0,  1,  0,  0,  0,  0,  0,  0,
83
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
84
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
85
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
86
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
87
+    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
88
+    0,  0,
89
+  }
90
+};
91
+
92
 /* used for joust, joustr, and joustwr */
93
 const struct bin2cFILE joust_bootstrap =
94
 {
95
libretro-mame2003-plus-0~git20200525.tar.xz/src/bootstrap.h -> libretro-mame2003-plus-0~git20200807.tar.xz/src/bootstrap.h Changed
18
 
1
@@ -32,6 +32,9 @@
2
 
3
 extern const struct bin2cFILE foodfc_bootstrap;
4
 
5
+/* used for gaiapols */
6
+extern const struct bin2cFILE gaiapols_bootstrap;
7
+
8
 /* used for joust, joustr, and joustwr */
9
 extern const struct bin2cFILE joust_bootstrap;
10
 
11
@@ -75,4 +78,4 @@
12
 /* used for zookeep, zookeep2, and zookeep3 */
13
 extern const struct bin2cFILE zookeep_bootstrap;
14
 
15
-#endif /* BOOTSTRAP_H */
16
\ No newline at end of file
17
+#endif /* BOOTSTRAP_H */
18
libretro-mame2003-plus-0~git20200525.tar.xz/src/common.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/common.c Changed
10
 
1
@@ -18,7 +18,7 @@
2
    const char* ost_drivers[] = {   "outrun", "outruna", "outrunb","toutrun","toutruna", \
3
                "mk", "mkr4", "mkprot9", "mkla1", "mkla2",  "mkla3", "mkla4", \
4
                "nbajam", "nbajamr2", "nbajamte", "nbajamt12", "nbajamt2",  "nbajamt3", \
5
-               "ffight", "ffightu", "ffightj",  "ffightj1", \
6
+               "ffight", "ffightu", "ffightj",  "ffightj1", "ffightae", \
7
                "ddragon", "ddragonu", "ddragonw",  "ddragonb", \
8
                "moonwalk", "moonwlka", "moonwlkb", 0
9
         };    
10
libretro-mame2003-plus-0~git20200525.tar.xz/src/driver.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/driver.c Changed
14
 
1
@@ -2702,8 +2702,11 @@
2
    DRIVER( transfrm )  /* 834-5803 (c) 1986 */
3
    DRIVER( astrofl )   /* 834-5803 (c) 1986 */
4
    DRIVER( ridleofp )  /* (c) 1986 Sega / Nasco */
5
+  DRIVER( opaopa )    /* (c) 1987 */
6
+  DRIVER( opaopan )   /* (c) 1987 */
7
+   DRIVER( tetrisse )  /* (c) 1988 */
8
+   DRIVER( slapshtr )  /* (c) 1986 */
9
    DRIVER( fantzn2 )
10
-   DRIVER( opaopa )
11
 
12
    /* other Sega 8-bit games */
13
    DRIVER( turbo )     /* (c) 1981 Sega */
14
libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/8080bw_drivers.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/drivers/8080bw_drivers.c Changed
37
 
1
@@ -1024,6 +1024,22 @@
2
    PORT_DIPSETTING(    0x01, DEF_STR( Cocktail ) )
3
 INPUT_PORTS_END
4
 
5
+static MACHINE_DRIVER_START( lrescue )
6
+
7
+   /* basic machine hardware */
8
+   MDRV_IMPORT_FROM(8080bw)
9
+   MDRV_CPU_MODIFY("main")
10
+   MDRV_MACHINE_INIT(lrescue)
11
+
12
+   /* video hardware */
13
+   MDRV_VISIBLE_AREA(1*8, 31*8-1, 4*8, 32*8-1)
14
+   MDRV_PALETTE_LENGTH(8)
15
+   MDRV_PALETTE_INIT(lrescue)
16
+
17
+   /* sound hardware */
18
+   MDRV_SOUND_ADD(SAMPLES, lrescue_samples_interface)
19
+   MDRV_SOUND_ADD(SN76477, lrescue_sn76477_interface)
20
+MACHINE_DRIVER_END
21
 
22
 /*******************************************************/
23
 /*                                                     */
24
@@ -3793,9 +3809,9 @@
25
      GAME( 1979, galxwar2, galxwars, invaders, galxwars, invaders, ROT270, "Universal", "Galaxy Wars (Universal set 2)" )
26
      GAME( 1979, galxwart, galxwars, invaders, galxwars, invaders, ROT270, "Taito?", "Galaxy Wars (Taito[Q])" ) /* Copyright Not Displayed */
27
      GAME( 1979, starw,    galxwars, invaders, galxwars, invaders, ROT270, "bootleg", "Star Wars" )
28
-     GAME( 1979, lrescue,  0,        invadpt2, lrescue,  invadpt2, ROT270, "Taito", "Lunar Rescue" )
29
-     GAME( 1979, grescue,  lrescue,  invadpt2, lrescue,  invadpt2, ROT270, "Taito (Universal license?)", "Galaxy Rescue" )
30
-     GAME( 1979, desterth, lrescue,  invadpt2, invrvnge, invadpt2, ROT270, "bootleg", "Destination Earth" )
31
+     GAME( 1979, lrescue,  0,        lrescue,  lrescue,  lrescue,  ROT270, "Taito", "Lunar Rescue" )
32
+     GAME( 1979, grescue,  lrescue,  lrescue,  lrescue,  lrescue,  ROT270, "Taito (Universal license?)", "Galaxy Rescue" )
33
+     GAME( 1979, desterth, lrescue,  lrescue,  invrvnge, lrescue,  ROT270, "bootleg", "Destination Earth" )
34
      GAME( 1979, invadpt2, 0,        invadpt2, invadpt2, invadpt2, ROT270, "Taito", "Space Invaders Part II (Taito)" )
35
      GAME( 1979, cosmo,    0,        cosmo,    cosmo,    cosmo,    ROT90,  "bootleg", "Cosmo" )
36
      GAMEX(1979, schaser,  0,        schaser,  schaser,  schaser,  ROT270, "Taito", "Space Chaser", GAME_IMPERFECT_SOUND | GAME_IMPERFECT_COLORS )
37
libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/aerofgt.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/drivers/aerofgt.c Changed
23
 
1
@@ -684,9 +684,19 @@
2
    PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 | IPF_PLAYER2 )
3
    PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
4
    PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
5
-   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )/*START1 )*/
6
+   PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )//START1 )
7
 
8
-   PORT_DIPNAME( 0x0008, 0x0000, "2 Coins to Start, 1 to Continue" )
9
+   PORT_START
10
+   PORT_DIPNAME( 0x0007, 0x0007, DEF_STR( Coinage ) ) /* Coins 1, 2 & 3 */
11
+   PORT_DIPSETTING(      0x0004, DEF_STR( 4C_1C ) )
12
+   PORT_DIPSETTING(      0x0005, DEF_STR( 3C_1C ) )
13
+   PORT_DIPSETTING(      0x0006, DEF_STR( 2C_1C ) )
14
+   PORT_DIPSETTING(      0x0007, DEF_STR( 1C_1C ) )
15
+   PORT_DIPSETTING(      0x0003, DEF_STR( 1C_2C ) )
16
+   PORT_DIPSETTING(      0x0002, DEF_STR( 1C_3C ) )
17
+   PORT_DIPSETTING(      0x0001, DEF_STR( 1C_5C ) )
18
+   PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )
19
+   PORT_DIPNAME( 0x0008, 0x0008, "2 Coins to Start, 1 to Continue" )
20
    PORT_DIPSETTING(      0x0008, DEF_STR( Off ) )
21
    PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
22
    PORT_DIPNAME( 0x0010, 0x0000, "Coin Slot" )
23
libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/dreamwld.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/drivers/dreamwld.c Changed
16
 
1
@@ -1011,8 +1011,9 @@
2
 ROM_END
3
 
4
 
5
-GAME( 1997, baryon,   0, dreamwld,  baryon,   0, ROT270,  "Other", "Baryon - Future Assault" )
6
-GAME( 1998, cutefght, 0, dreamwld,  cutefght, 0, ROT0,    "Other", "Cute Fighter" )
7
-GAME( 2000, dreamwld, 0, dreamwld,  dreamwld, 0, ROT0,    "Other", "Dream World" )
8
-GAME( 1999, gaialast, 0, dreamwld,  gaialast, 0, ROT0,    "Other", "Gaia - The Last Choice of Earth")
9
-GAME( 1999, rolcrush, 0, dreamwld,  rolcrush, 0, ROT0,    "Other", "Rolling Crush" )
10
+GAME( 1997, baryon,   0, dreamwld,  baryon,   0, ROT270,  "SemiCom / Tirano", "Baryon - Future Assault" )
11
+GAME( 1998, cutefght, 0, dreamwld,  cutefght, 0, ROT0,    "SemiCom",          "Cute Fighter" )
12
+GAME( 2000, dreamwld, 0, dreamwld,  dreamwld, 0, ROT0,    "SemiCom",          "Dream World" )
13
+GAME( 1999, gaialast, 0, dreamwld,  gaialast, 0, ROT0,    "SemiCom / XESS",   "Gaia - The Last Choice of Earth" )
14
+GAME( 1999, rolcrush, 0, dreamwld,  rolcrush, 0, ROT0,    "SemiCom / Exit",   "Rolling Crush (version 1.07.E - 1999/02/11)" )
15
+
16
libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/foodf.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/drivers/foodf.c Changed
9
 
1
@@ -78,6 +78,7 @@
2
 #include "vidhrdw/generic.h"
3
 #include "foodf.h"
4
 #include "bootstrap.h"
5
+#include "inptport.h"
6
 
7
 
8
 
9
libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/mcr2.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/drivers/mcr2.c Changed
143
 
1
@@ -162,49 +162,40 @@
2
 
3
 static READ_HANDLER( twotigra_yoke1_r )
4
 {
5
-   int p1_yoke = readinputport(6);
6
-   if (p1_yoke & 0x10)
7
-   {
8
-       if ((p1_yoke & 0x01) != 0x01) return 0;
9
-       if ((p1_yoke & 0x02) != 0x02) return 255;
10
-       return 100;
11
-   }
12
-   else
13
-   {
14
-       p1_yoke = readinputport(2);
15
-       if (p1_yoke < 0x1b) return 0;
16
-       return p1_yoke - 0x1b;
17
-   }
18
+  int p1_yoke = readinputport(2);
19
+  if (p1_yoke < 0x1b) return 0;
20
+  return p1_yoke - 0x1b;
21
 }
22
 
23
 
24
 static READ_HANDLER( twotigra_yoke2_r )
25
 {
26
-   int p1_yoke = readinputport(6);
27
-   if (p1_yoke & 0x10)
28
-   {
29
-       if ((p1_yoke & 0x04) != 0x04) return 0;
30
-       if ((p1_yoke & 0x08) != 0x08) return 255;
31
-       return 100;
32
-   }
33
-   else
34
-   {
35
-       p1_yoke = readinputport(1);
36
-       if (p1_yoke < 0x1b) return 0;
37
-       return p1_yoke - 0x1b;
38
-   }
39
+  int p1_yoke = readinputport(1);
40
+  if (p1_yoke < 0x1b) return 0;
41
+  return p1_yoke - 0x1b;
42
 }
43
 
44
-static WRITE_HANDLER( journey_sample_select_w )
45
+static WRITE_HANDLER( twotiger_sample_select_w )
46
 {
47
-  /* start sample with looping on and pause it) */
48
-  if (!sample_playing(0) )
49
+  int i;
50
+  for (i = 0; i < 2; i++)
51
   {
52
-    sample_start(0, 0, 1);
53
-    sample_set_pause(0, 1);
54
+    if (!sample_playing(i))
55
+      sample_start(i, i, 1);
56
+
57
+    /* bit 1 turns cassette on/off */
58
+    sample_set_pause(i, ~data & 2);
59
   }
60
+}
61
 
62
-    sample_set_pause(0, ~data & 1);
63
+static WRITE_HANDLER( journey_sample_select_w )
64
+{
65
+  /* if we're not playing the sample yet, start it */
66
+  if (!sample_playing(0))
67
+    sample_start(0, 0, 1);
68
+
69
+  /* bit 0 turns cassette on/off */
70
+  sample_set_pause(0, ~data & 1);
71
 }
72
 
73
 
74
@@ -625,9 +616,9 @@
75
    PORT_ANALOG( 0xff, 0x7f, IPT_AD_STICK_X | IPF_PLAYER1, 100, 10, 0, 255 )
76
 
77
    PORT_START  /* IN3 -- dipswitches */
78
-   PORT_DIPNAME( 0x01, 0x00, "Shot Speed" )
79
-   PORT_DIPSETTING(    0x01, "Fast" )
80
-   PORT_DIPSETTING(    0x00, "Slow" )
81
+   PORT_DIPNAME( 0x01, 0x00, "Shot Type" )
82
+   PORT_DIPSETTING(    0x01, "Single Fire" )
83
+   PORT_DIPSETTING(    0x00, "Rapid Fire" )
84
    PORT_DIPNAME( 0x02, 0x00, "Dogfight" )
85
    PORT_DIPSETTING(    0x00, "1 Credit" )
86
    PORT_DIPSETTING(    0x02, "2 Credits" )
87
@@ -646,14 +637,6 @@
88
    PORT_START  /* AIN0 */
89
    PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
90
 
91
-   PORT_START  /* IN6 fake for yoke */
92
-   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY )
93
-   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY )
94
-   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT | IPF_2WAY | IPF_PLAYER2 )
95
-   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT | IPF_2WAY | IPF_PLAYER2 )
96
-   PORT_DIPNAME( 0x10, 0x10, "Fake Inputs " )
97
-   PORT_DIPSETTING(    0x10, "Digital" )
98
-   PORT_DIPSETTING(    0x00, "Analog" )
99
 INPUT_PORTS_END
100
 
101
 
102
@@ -691,6 +674,21 @@
103
    journey_sample_names
104
 };
105
 
106
+static const char *twotiger_sample_names[] =
107
+{
108
+   "*twotiger",
109
+   "left.wav",
110
+  "right.wav",
111
+   0
112
+};
113
+
114
+struct Samplesinterface twotiger_samples_interface =
115
+{
116
+   2,
117
+   50,
118
+   twotiger_sample_names
119
+};
120
+
121
 
122
 /*************************************
123
  *
124
@@ -732,6 +730,9 @@
125
 
126
    /* video hardware */
127
    MDRV_VIDEO_START(twotigra)
128
+
129
+   /* sound hardware */
130
+   MDRV_SOUND_ADD(SAMPLES, twotiger_samples_interface )
131
 MACHINE_DRIVER_END
132
 
133
 
134
@@ -1135,7 +1136,7 @@
135
    install_port_write_handler(0, 0x00, 0x00, mcr_control_port_w);
136
    install_port_read_handler(0, 0x01, 0x01, twotigra_yoke2_r);
137
    install_port_read_handler(0, 0x02, 0x02, twotigra_yoke1_r);
138
-
139
+   install_port_write_handler(0, 0x04, 0x04, twotiger_sample_select_w);
140
    install_mem_write_handler(0, 0xf800, 0xffff, twotigra_videoram_w);
141
 
142
    mcr12_sprite_xoffs = 0;
143
libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/midyunit.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/drivers/midyunit.c Changed
9
 
1
@@ -32,6 +32,7 @@
2
 #include "sndhrdw/williams.h"
3
 #include "midyunit.h"
4
 #include "bootstrap.h"
5
+#include "inptport.h"
6
 
7
 const char *const mk_sample_names_yunit[] =
8
 {
9
libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/mystwarr.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/drivers/mystwarr.c Changed
38
 
1
@@ -32,6 +32,8 @@
2
 #include "cpu/z80/z80.h"
3
 #include "machine/eeprom.h"
4
 #include "sound/k054539.h"
5
+#include "bootstrap.h"
6
+#include "inptport.h"
7
 
8
 VIDEO_START(gaiapols);
9
 VIDEO_START(dadandrn);
10
@@ -1946,15 +1948,15 @@
11
 
12
 
13
 /*           ROM       parent    machine   inp       init */
14
-GAMEX( 1993, mystwarr, 0,        mystwarr, mystwarr, mystwarr, ROT0,  "Konami", "Mystic Warriors (Europe ver EAA)", GAME_IMPERFECT_GRAPHICS )
15
-GAMEX( 1993, mystwaru, mystwarr, mystwarr, mystwarr, mystwarr, ROT0,  "Konami", "Mystic Warriors (US ver UAA)", GAME_IMPERFECT_GRAPHICS )
16
-GAMEX( 1993, dadandrn, 0,        dadandrn, dadandrn, dadandrn, ROT0,  "Konami", "Kyukyoku Sentai Dadandarn (Japan ver JAA)", GAME_IMPERFECT_GRAPHICS )
17
-GAMEX( 1993, viostorm, 0,        viostorm, viostorm, viostorm, ROT0,  "Konami", "Violent Storm (Europe ver EAB)", GAME_IMPERFECT_GRAPHICS )
18
-GAMEX( 1993, viostrmu, viostorm, viostorm, viostorm, viostorm, ROT0,  "Konami", "Violent Storm (US ver UAB)", GAME_IMPERFECT_GRAPHICS )
19
-GAMEX( 1993, viostrmj, viostorm, viostorm, viostorm, viostorm, ROT0,  "Konami", "Violent Storm (Japan ver JAC)", GAME_IMPERFECT_GRAPHICS )
20
-GAMEX( 1993, viostrma, viostorm, viostorm, viostorm, viostorm, ROT0,  "Konami", "Violent Storm (Asia ver AAC)", GAME_IMPERFECT_GRAPHICS )
21
-GAMEX( 1993, metamrph, 0,        metamrph, metamrph, metamrph, ROT0,  "Konami", "Metamorphic Force (US ver UAA)", GAME_IMPERFECT_GRAPHICS )
22
-GAMEX( 1993, metamrpj, metamrph, metamrph, metamrph, metamrph, ROT0,  "Konami", "Metamorphic Force (Japan ver JAA)", GAME_IMPERFECT_GRAPHICS )
23
-GAMEX( 1993, mtlchamp, 0,        martchmp, martchmp, martchmp, ROT0,  "Konami", "Martial Champion (Europe ver EAA)", GAME_IMPERFECT_GRAPHICS )
24
-GAMEX( 1993, mtlchmpj, mtlchamp, martchmp, martchmp, martchmp, ROT0,  "Konami", "Martial Champion (Japan ver JAA)", GAME_IMPERFECT_GRAPHICS )
25
-GAMEX( 1993, gaiapols, 0,        gaiapols, dadandrn, gaiapols, ROT90, "Konami", "Gaiapolis (Japan ver JAF)", GAME_IMPERFECT_GRAPHICS )
26
+GAMEX ( 1993, mystwarr, 0,        mystwarr, mystwarr, mystwarr, ROT0,  "Konami", "Mystic Warriors (Europe ver EAA)", GAME_IMPERFECT_GRAPHICS )
27
+GAMEX ( 1993, mystwaru, mystwarr, mystwarr, mystwarr, mystwarr, ROT0,  "Konami", "Mystic Warriors (US ver UAA)", GAME_IMPERFECT_GRAPHICS )
28
+GAMEX ( 1993, dadandrn, 0,        dadandrn, dadandrn, dadandrn, ROT0,  "Konami", "Kyukyoku Sentai Dadandarn (Japan ver JAA)", GAME_IMPERFECT_GRAPHICS )
29
+GAMEX ( 1993, viostorm, 0,        viostorm, viostorm, viostorm, ROT0,  "Konami", "Violent Storm (Europe ver EAB)", GAME_IMPERFECT_GRAPHICS )
30
+GAMEX ( 1993, viostrmu, viostorm, viostorm, viostorm, viostorm, ROT0,  "Konami", "Violent Storm (US ver UAB)", GAME_IMPERFECT_GRAPHICS )
31
+GAMEX ( 1993, viostrmj, viostorm, viostorm, viostorm, viostorm, ROT0,  "Konami", "Violent Storm (Japan ver JAC)", GAME_IMPERFECT_GRAPHICS )
32
+GAMEX ( 1993, viostrma, viostorm, viostorm, viostorm, viostorm, ROT0,  "Konami", "Violent Storm (Asia ver AAC)", GAME_IMPERFECT_GRAPHICS )
33
+GAMEX ( 1993, metamrph, 0,        metamrph, metamrph, metamrph, ROT0,  "Konami", "Metamorphic Force (US ver UAA)", GAME_IMPERFECT_GRAPHICS )
34
+GAMEX ( 1993, metamrpj, metamrph, metamrph, metamrph, metamrph, ROT0,  "Konami", "Metamorphic Force (Japan ver JAA)", GAME_IMPERFECT_GRAPHICS )
35
+GAMEX ( 1993, mtlchamp, 0,        martchmp, martchmp, martchmp, ROT0,  "Konami", "Martial Champion (Europe ver EAA)", GAME_IMPERFECT_GRAPHICS )
36
+GAMEX ( 1993, mtlchmpj, mtlchamp, martchmp, martchmp, martchmp, ROT0,  "Konami", "Martial Champion (Japan ver JAA)", GAME_IMPERFECT_GRAPHICS )
37
+GAMECX( 1993, gaiapols, 0,        gaiapols, dadandrn, gaiapols, ROT90, "Konami", "Gaiapolis (Japan ver JAF)", GAME_IMPERFECT_GRAPHICS, &generic_ctrl, &gaiapols_bootstrap )
38
libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/psikyosh.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/drivers/psikyosh.c Changed
13
 
1
@@ -748,8 +748,9 @@
2
    ROM_LOAD32_WORD( "3l.u6",  0x3000000, 0x400000, CRC(0229d37f) SHA1(f9d98d1d2dda2d552b2a46c76b4c7fc84b1aa4c6) )
3
    ROM_LOAD32_WORD( "3h.u13", 0x3000002, 0x400000, CRC(f41bbf2b) SHA1(b705274e392541e2f513a4ae4bae543c03be0913) )
4
 
5
-   ROM_REGION( 0x400000, REGION_SOUND1, 0 ) /* Samples */
6
-   ROM_LOAD( "sound.u9", 0x000000, 0x400000, CRC(f19796ab) SHA1(b978f0550ebd675e8ce9d9edcfcc3f6214e49e8b) )
7
+    ROM_REGION( 0x800000, REGION_SOUND1, 0 ) /* Samples */
8
+    ROM_LOAD( "sound.u9", 0x000000, 0x400000, CRC(f19796ab) SHA1(b978f0550ebd675e8ce9d9edcfcc3f6214e49e8b) )
9
+    ROM_RELOAD ( 0x400000, 0x400000 ) /* crash fix similar to s1945 II + III */
10
 ROM_END
11
 
12
 ROM_START( s1945iii )
13
libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/segasyse.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/drivers/segasyse.c Changed
201
 
1
@@ -12,7 +12,7 @@
2
  Mike Beaver - Mimic, although not used as a reference, it was used as an
3
  inspiration & motivation :p
4
 
5
- Stéphane Humbert - Dipswitch Information, Z80 Help, Lots of Notes of ROP, help
6
+ Stéphane Humbert - Dipswitch Information, Z80 Help, Lots of Notes of ROP, help
7
  with the controller for ROP, and generally being an all round great guy to
8
  work with.
9
 
10
@@ -228,7 +228,8 @@
11
    { 0xba, 0xbb, segae_port_ba_bb_r },         /* Back Layer VDP */
12
    { 0xbe, 0xbf, segae_port_be_bf_r },         /* Front Layer VDP */
13
    { 0xe0, 0xe0, input_port_2_r }, /* Coins + Starts */
14
-   { 0xe1, 0xe1, input_port_3_r }, /* Controls */
15
+  { 0xe1, 0xe1, input_port_3_r }, /* 1P Controls */
16
+   { 0xe2, 0xe2, input_port_4_r }, /* 2P Controls */
17
    { 0xf2, 0xf2, input_port_0_r }, /* DSW0 */
18
    { 0xf3, 0xf3, input_port_1_r }, /* DSW1 */
19
 PORT_END
20
@@ -662,6 +663,184 @@
21
    PORT_BIT( 0x8000, IP_ACTIVE_LOW,  IPT_UNKNOWN )
22
 INPUT_PORTS_END
23
 
24
+INPUT_PORTS_START( opaopa )
25
+   PORT_START  /* DSW0 Read from Port 0xf2 */
26
+   SEGA_COIN_A
27
+   SEGA_COIN_B
28
+
29
+   PORT_START  /* DSW1 Read from Port 0xf3 */
30
+   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
31
+   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
32
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
33
+   PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
34
+   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
35
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
36
+   PORT_DIPNAME( 0x0c, 0x0c, DEF_STR( Lives ) )
37
+   PORT_DIPSETTING(    0x00, "2" )
38
+   PORT_DIPSETTING(    0x0c, "3" )
39
+   PORT_DIPSETTING(    0x08, "4" )
40
+   PORT_DIPSETTING(    0x04, "5" )
41
+   PORT_DIPNAME( 0x30, 0x30, DEF_STR( Bonus_Life ) ) /* Bonus life egg appearance */
42
+   PORT_DIPSETTING(    0x20, "25k, 45k and 70k" )
43
+   PORT_DIPSETTING(    0x30, "40k, 60k and 90k" )
44
+   PORT_DIPSETTING(    0x10, "50k and 90k" )
45
+   PORT_DIPSETTING(    0x00, "None" )
46
+   PORT_DIPNAME( 0xc0, 0xc0, DEF_STR( Difficulty ) )
47
+   PORT_DIPSETTING(    0x80, "Easy" )
48
+   PORT_DIPSETTING(    0xc0, "Normal" )
49
+   PORT_DIPSETTING(    0x40, "Hard" )
50
+   PORT_DIPSETTING(    0x00, "Hardest" )
51
+
52
+   PORT_START  /* Read from Port 0xe0 */
53
+   PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_COIN1 )
54
+   PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_COIN2 )
55
+   PORT_BITX(0x04, IP_ACTIVE_LOW,  IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
56
+   PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_SERVICE1 )
57
+   PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_UNKNOWN )
58
+   PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_UNKNOWN )
59
+   PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_START1 )
60
+   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_START2 )
61
+
62
+   PORT_START    /* Read from Port 0xe1 */
63
+   PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_JOYSTICK_UP  | IPF_8WAY | IPF_PLAYER1 )
64
+   PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
65
+   PORT_BIT( 0x04, IP_ACTIVE_LOW,  IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
66
+   PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
67
+   PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_BUTTON1 | IPF_PLAYER1 )
68
+   PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_BUTTON2 | IPF_PLAYER1 )
69
+   PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_UNUSED )
70
+   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNUSED )
71
+
72
+   PORT_START   /* Read from Port 0xe2 */
73
+   PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_JOYSTICK_UP  | IPF_8WAY | IPF_PLAYER2 )
74
+   PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
75
+   PORT_BIT( 0x04, IP_ACTIVE_LOW,  IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
76
+   PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
77
+   PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_BUTTON1 | IPF_PLAYER2 )
78
+   PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_BUTTON2 | IPF_PLAYER2 )
79
+   PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_UNUSED )
80
+   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNUSED )
81
+INPUT_PORTS_END
82
+
83
+INPUT_PORTS_START( tetrisse )
84
+   PORT_START  /* Read from Port 0xf2 */
85
+   SEGA_COIN_A
86
+   SEGA_COIN_B
87
+
88
+   PORT_START  /* Read from Port 0xf3 */
89
+   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
90
+   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
91
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
92
+    PORT_DIPNAME( 0x02, 0x00, DEF_STR( Demo_Sounds ) )
93
+   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
94
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
95
+   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
96
+   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
97
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
98
+   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
99
+   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
100
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
101
+   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
102
+   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
103
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
104
+   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
105
+   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
106
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
107
+   PORT_DIPNAME( 0x30, 0x30, DEF_STR( Difficulty ) )
108
+   PORT_DIPSETTING(    0x20, "Easy" )
109
+   PORT_DIPSETTING(    0x30, "Normal" )
110
+   PORT_DIPSETTING(    0x10, "Hard" )
111
+   PORT_DIPSETTING(    0x00, "Hardest" )
112
+   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
113
+   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
114
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
115
+   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
116
+   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
117
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
118
+
119
+   PORT_START  /* Read from Port 0xe0 */
120
+   PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_COIN1 )
121
+   PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_COIN2 )
122
+   PORT_BITX(0x04, IP_ACTIVE_LOW,  IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
123
+   PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_SERVICE1 )
124
+   PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_UNKNOWN )
125
+   PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_UNKNOWN )
126
+   PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_START1 )
127
+   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_START2 )
128
+
129
+   PORT_START    /* Read from Port 0xe1 */
130
+   PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_JOYSTICK_UP  | IPF_8WAY | IPF_PLAYER1 )
131
+   PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER1 )
132
+   PORT_BIT( 0x04, IP_ACTIVE_LOW,  IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER1 )
133
+   PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER1 )
134
+   PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_BUTTON1 | IPF_PLAYER1 )
135
+   PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_BUTTON2 | IPF_PLAYER1 )
136
+   PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_UNUSED )
137
+   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNUSED )
138
+
139
+   PORT_START   /* Read from Port 0xe2 */
140
+   PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_JOYSTICK_UP  | IPF_8WAY | IPF_PLAYER2 )
141
+   PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_JOYSTICK_DOWN | IPF_8WAY | IPF_PLAYER2 )
142
+   PORT_BIT( 0x04, IP_ACTIVE_LOW,  IPT_JOYSTICK_LEFT | IPF_8WAY | IPF_PLAYER2 )
143
+   PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_JOYSTICK_RIGHT | IPF_8WAY | IPF_PLAYER2 )
144
+   PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_BUTTON1 | IPF_PLAYER2 )
145
+   PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_BUTTON2 | IPF_PLAYER2 )
146
+   PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_UNUSED )
147
+   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNUSED )
148
+INPUT_PORTS_END
149
+
150
+INPUT_PORTS_START( slapshtr )
151
+   PORT_START  /* Read from Port 0xf2 */
152
+   SEGA_COIN_A
153
+   SEGA_COIN_B
154
+
155
+   PORT_START  /* Read from Port 0xf3 */
156
+   PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
157
+   PORT_DIPSETTING(    0x01, DEF_STR( Off ) )
158
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
159
+   PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
160
+   PORT_DIPSETTING(    0x02, DEF_STR( Off ) )
161
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
162
+   PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
163
+   PORT_DIPSETTING(    0x04, DEF_STR( Off ) )
164
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
165
+   PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
166
+   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
167
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
168
+   PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
169
+   PORT_DIPSETTING(    0x10, DEF_STR( Off ) )
170
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
171
+   PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
172
+   PORT_DIPSETTING(    0x20, DEF_STR( Off ) )
173
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
174
+   PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
175
+   PORT_DIPSETTING(    0x40, DEF_STR( Off ) )
176
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
177
+   PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
178
+   PORT_DIPSETTING(    0x80, DEF_STR( Off ) )
179
+   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
180
+
181
+   PORT_START  /* Read from Port 0xe0 */
182
+   PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_COIN1 )
183
+   PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_COIN2 )
184
+   PORT_BITX(0x04, IP_ACTIVE_LOW,  IPT_SERVICE, DEF_STR( Service_Mode ), KEYCODE_F2, IP_JOY_NONE )
185
+   PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_SERVICE1 )
186
+   PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_UNKNOWN )
187
+   PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_UNKNOWN )
188
+   PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_START1 )
189
+   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_START2 )
190
+
191
+   PORT_START  /* Read from Port 0xe1 */
192
+   PORT_BIT( 0x01, IP_ACTIVE_LOW,  IPT_JOYSTICK_UP | IPF_8WAY  )
193
+   PORT_BIT( 0x02, IP_ACTIVE_LOW,  IPT_JOYSTICK_DOWN | IPF_8WAY )
194
+   PORT_BIT( 0x04, IP_ACTIVE_LOW,  IPT_JOYSTICK_LEFT | IPF_8WAY )
195
+   PORT_BIT( 0x08, IP_ACTIVE_LOW,  IPT_JOYSTICK_RIGHT | IPF_8WAY )
196
+   PORT_BIT( 0x10, IP_ACTIVE_LOW,  IPT_BUTTON1 )
197
+   PORT_BIT( 0x20, IP_ACTIVE_LOW,  IPT_BUTTON2 )
198
+   PORT_BIT( 0x40, IP_ACTIVE_LOW,  IPT_UNUSED )
199
+   PORT_BIT( 0x80, IP_ACTIVE_LOW,  IPT_UNUSED )
200
+INPUT_PORTS_END
201
libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/simpl156.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/drivers/simpl156.c Changed
9
 
1
@@ -94,6 +94,7 @@
2
 #include "deco16ic.h"
3
 #include "vidhrdw/generic.h"
4
 #include "bootstrap.h"
5
+#include "inptport.h"
6
 
7
 static UINT32 *simpl156_systemram;
8
 static const UINT8 *simpl156_default_eeprom = NULL;
9
libretro-mame2003-plus-0~git20200525.tar.xz/src/drivers/thief.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/drivers/thief.c Changed
41
 
1
@@ -82,16 +82,29 @@
2
 
3
 static void tape_set_motor( int bOn )
4
 {
5
-   if( bOn )
6
-   {
7
-       sample_start( 0, 0, 1 );
8
-       sample_start( 1, 1, 1 );
9
-   }
10
-   else
11
-   {
12
-       sample_stop( kTalkTrack );
13
-       sample_stop( kCrashTrack );
14
-   }
15
+  if( bOn )
16
+  {
17
+    // Start if not playing
18
+    if (!sample_playing( kTalkTrack ))
19
+      sample_start( 0, kTalkTrack, 1 );
20
+
21
+    // Resume
22
+    sample_set_pause( kTalkTrack, 0 );
23
+
24
+    // Start if not playing
25
+    if (!sample_playing( kCrashTrack ))
26
+      sample_start( 1, kCrashTrack, 1 );
27
+
28
+    // Resume
29
+    sample_set_pause( kCrashTrack, 0 );
30
+
31
+  }
32
+  else
33
+  {
34
+    // Pause
35
+    sample_set_pause( kTalkTrack, 1 );
36
+    sample_set_pause( kCrashTrack, 1 );
37
+  }
38
 }
39
 
40
 /***********************************************************/
41
libretro-mame2003-plus-0~git20200525.tar.xz/src/includes/8080bw.h -> libretro-mame2003-plus-0~git20200807.tar.xz/src/includes/8080bw.h Changed
31
 
1
@@ -44,10 +44,13 @@
2
 MACHINE_INIT( schaser );
3
 MACHINE_INIT( polaris );
4
 MACHINE_INIT( clowns );
5
+MACHINE_INIT( lrescue );
6
 
7
 
8
 extern struct SN76477interface invaders_sn76477_interface;
9
 extern struct Samplesinterface invaders_samples_interface;
10
+extern struct SN76477interface lrescue_sn76477_interface;
11
+extern struct Samplesinterface lrescue_samples_interface;
12
 extern struct SN76477interface invad2ct_sn76477_interface;
13
 extern struct Samplesinterface invad2ct_samples_interface;
14
 extern struct Samplesinterface boothill_samples_interface;
15
@@ -79,6 +82,7 @@
16
 DRIVER_INIT( bowler );
17
 DRIVER_INIT( gunfight );
18
 DRIVER_INIT( bandido );
19
+DRIVER_INIT( lrescue );
20
 
21
 void c8080bw_flip_screen_w(int data);
22
 void c8080bw_screen_red_w(int data);
23
@@ -96,6 +100,7 @@
24
 
25
 
26
 PALETTE_INIT( invadpt2 );
27
+PALETTE_INIT( lrescue );
28
 PALETTE_INIT( sflush );
29
 PALETTE_INIT( cosmo );
30
 
31
libretro-mame2003-plus-0~git20200525.tar.xz/src/inptport.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/inptport.c Changed
12
 
1
@@ -2462,8 +2462,8 @@
2
    {
3
        int new, prev;
4
 
5
-       /* center stick */
6
-       if (delta == 0 && options.digital_analog )
7
+       /* center stick - core option to center digital joysticks */
8
+       if (delta == 0 && options.digital_joy_centering && (type == IPT_AD_STICK_X || type == IPT_AD_STICK_Y))
9
            current = default_value;
10
 
11
        else if ((delta == 0) && (in->type & IPF_CENTER))
12
libretro-mame2003-plus-0~git20200525.tar.xz/src/mame.h -> libretro-mame2003-plus-0~git20200807.tar.xz/src/mame.h Changed
10
 
1
@@ -259,7 +259,7 @@
2
   int      debug_depth;             /* requested depth of debugger bitmap */
3
   bool     cheat_input_ports;     /*cheat input ports enable/disable */
4
   bool     machine_timing;
5
-  bool     digital_analog;
6
+  bool     digital_joy_centering;
7
   };
8
 
9
 
10
libretro-mame2003-plus-0~git20200525.tar.xz/src/mame2003/mame2003.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/mame2003/mame2003.c Changed
105
 
1
@@ -107,7 +107,7 @@
2
   OPT_NVRAM_BOOTSTRAP,
3
   OPT_Cheat_Input_Ports,
4
   OPT_Machine_Timing,
5
-  OPT_Digital_Analog,
6
+  OPT_Digital_Joy_Centering,
7
   OPT_end /* dummy last entry */
8
 };
9
 
10
@@ -185,44 +185,44 @@
11
  */
12
 static void init_core_options(void)
13
 {
14
-  init_default(&default_options[OPT_4WAY],                APPNAME"_four_way_emulation",  "4-way joystick emulation on 8-way joysticks; disabled|enabled");
15
+  init_default(&default_options[OPT_4WAY],                   APPNAME"_four_way_emulation",     "4-way joystick emulation on 8-way joysticks; disabled|enabled");
16
 #if defined(__IOS__)
17
-  init_default(&default_options[OPT_MOUSE_DEVICE],        APPNAME"_mouse_device",        "Mouse Device; pointer|mouse|disabled");
18
+  init_default(&default_options[OPT_MOUSE_DEVICE],           APPNAME"_mouse_device",           "Mouse Device; pointer|mouse|disabled");
19
 #else
20
-  init_default(&default_options[OPT_MOUSE_DEVICE],        APPNAME"_mouse_device",        "Mouse Device; mouse|pointer|disabled");
21
+  init_default(&default_options[OPT_MOUSE_DEVICE],           APPNAME"_mouse_device",           "Mouse Device; mouse|pointer|disabled");
22
 #endif
23
-  init_default(&default_options[OPT_CROSSHAIR_ENABLED],   APPNAME"_crosshair_enabled",   "Show Lightgun crosshair; enabled|disabled");
24
-  init_default(&default_options[OPT_SKIP_DISCLAIMER],     APPNAME"_skip_disclaimer",     "Skip Disclaimer; disabled|enabled");
25
-  init_default(&default_options[OPT_SKIP_WARNINGS],       APPNAME"_skip_warnings",       "Skip Warnings; disabled|enabled");
26
-  init_default(&default_options[OPT_DISPLAY_SETUP],       APPNAME"_display_setup",       "Display MAME menu; disabled|enabled");
27
-  init_default(&default_options[OPT_BRIGHTNESS],          APPNAME"_brightness",          "Brightness; 1.0|0.2|0.3|0.4|0.5|0.6|0.7|0.8|0.9|1.1|1.2|1.3|1.4|1.5|1.6|1.7|1.8|1.9|2.0");
28
-  init_default(&default_options[OPT_GAMMA],               APPNAME"_gamma",               "Gamma correction; 1.0|0.5|0.6|0.7|0.8|0.9|1.1|1.2|1.3|1.4|1.5|1.6|1.7|1.8|1.9|2.0");
29
-  init_default(&default_options[OPT_ARTWORK],             APPNAME"_display_artwork",     "Display artwork (Restart core); enabled|disabled");
30
-  init_default(&default_options[OPT_ART_RESOLUTION],      APPNAME"_art_resolution",      "Artwork resolution multiplier (Restart core); 1|2");
31
-  init_default(&default_options[OPT_NEOGEO_BIOS],         APPNAME"_neogeo_bios",         "Specify Neo Geo BIOS (Restart core); default|euro|euro-s1|us|us-e|asia|japan|japan-s2|unibios33|unibios20|unibios13|unibios11|unibios10|debug|asia-aes");
32
-  init_default(&default_options[OPT_STV_BIOS],            APPNAME"_stv_bios",            "Specify Sega ST-V BIOS (Restart core); default|japan|japana|us|japan_b|taiwan|europe");
33
-  init_default(&default_options[OPT_USE_ALT_SOUND],       APPNAME"_use_alt_sound",       "Use CD soundtrack (Restart core); enabled|disabled");
34
-  init_default(&default_options[OPT_SHARE_DIAL],          APPNAME"_dialsharexy",         "Share 2 player dial controls across one X/Y device; disabled|enabled");
35
-  init_default(&default_options[OPT_DPAD_ANALOG],         APPNAME"_analog",              "Control mapping ; analog|digital");
36
-  init_default(&default_options[OPT_DEADZONE],            APPNAME"_deadzone",            "Analog deadzone; 20|0|5|10|15|25|30|35|40|45|50|55|60|65|70|75|80|85|90|95");
37
-  init_default(&default_options[OPT_TATE_MODE],           APPNAME"_tate_mode",           "TATE Mode - Rotating display (Restart core); disabled|enabled");
38
-  init_default(&default_options[OPT_VECTOR_RESOLUTION],   APPNAME"_vector_resolution",   "Vector resolution (Restart core); 1024x768|640x480|1280x960|1440x1080|1600x1200|original");
39
-  init_default(&default_options[OPT_VECTOR_ANTIALIAS],    APPNAME"_vector_antialias",    "Vector antialiasing; enabled|disabled");
40
-  init_default(&default_options[OPT_VECTOR_BEAM],         APPNAME"_vector_beam_width",   "Vector beam width (only with antialiasing); 2|1|1.2|1.4|1.6|1.8|2.5|3|4|5|6|7|8|9|10|11|12");
41
-  init_default(&default_options[OPT_VECTOR_TRANSLUCENCY], APPNAME"_vector_translucency", "Vector translucency; enabled|disabled");
42
-  init_default(&default_options[OPT_VECTOR_FLICKER],      APPNAME"_vector_flicker",      "Vector flicker; 20|0|10|30|40|50|60|70|80|90|100");
43
-  init_default(&default_options[OPT_VECTOR_INTENSITY],    APPNAME"_vector_intensity",    "Vector intensity; 1.5|0.5|1|2|2.5|3");
44
-  init_default(&default_options[OPT_NVRAM_BOOTSTRAP],     APPNAME"_nvram_bootstraps",    "NVRAM Bootstraps; enabled|disabled");
45
-  init_default(&default_options[OPT_SAMPLE_RATE],         APPNAME"_sample_rate",         "Sample Rate (KHz); 48000|8000|11025|22050|30000|44100|");
46
-  init_default(&default_options[OPT_DCS_SPEEDHACK],       APPNAME"_dcs_speedhack",       "DCS Speedhack; enabled|disabled");
47
-  init_default(&default_options[OPT_INPUT_INTERFACE],     APPNAME"_input_interface",     "Input interface; retropad|keyboard|simultaneous");
48
-  init_default(&default_options[OPT_MAME_REMAPPING],      APPNAME"_mame_remapping",      "Legacy Remapping (restart); enabled|disabled");
49
-  init_default(&default_options[OPT_FRAMESKIP],           APPNAME"_frameskip",           "Frameskip; 0|1|2|3|4|5");
50
-  init_default(&default_options[OPT_CORE_SYS_SUBFOLDER],  APPNAME"_core_sys_subfolder",  "Locate system files within a subfolder; enabled|disabled"); /* This should be probably handled by the frontend and not by cores per discussions in Fall 2018 but RetroArch for example doesn't provide this as an option. */
51
-  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.*/
52
-  init_default(&default_options[OPT_Cheat_Input_Ports],   APPNAME"_cheat_input_ports",   "Dip switch/Cheat input ports; disabled|enabled");
53
-  init_default(&default_options[OPT_Machine_Timing],      APPNAME"_machine_timing",      "Bypass audio skew (Restart core); enabled|disabled");
54
-  init_default(&default_options[OPT_Digital_Analog],      APPNAME"_digital_analog",      "Center joystick axis for digital controls; enabled|disabled");
55
+  init_default(&default_options[OPT_CROSSHAIR_ENABLED],      APPNAME"_crosshair_enabled",      "Show Lightgun crosshair; enabled|disabled");
56
+  init_default(&default_options[OPT_SKIP_DISCLAIMER],        APPNAME"_skip_disclaimer",        "Skip Disclaimer; disabled|enabled");
57
+  init_default(&default_options[OPT_SKIP_WARNINGS],          APPNAME"_skip_warnings",          "Skip Warnings; disabled|enabled");
58
+  init_default(&default_options[OPT_DISPLAY_SETUP],          APPNAME"_display_setup",          "Display MAME menu; disabled|enabled");
59
+  init_default(&default_options[OPT_BRIGHTNESS],             APPNAME"_brightness",             "Brightness; 1.0|0.2|0.3|0.4|0.5|0.6|0.7|0.8|0.9|1.1|1.2|1.3|1.4|1.5|1.6|1.7|1.8|1.9|2.0");
60
+  init_default(&default_options[OPT_GAMMA],                  APPNAME"_gamma",                  "Gamma correction; 1.0|0.5|0.6|0.7|0.8|0.9|1.1|1.2|1.3|1.4|1.5|1.6|1.7|1.8|1.9|2.0");
61
+  init_default(&default_options[OPT_ARTWORK],                APPNAME"_display_artwork",        "Display artwork (Restart core); enabled|disabled");
62
+  init_default(&default_options[OPT_ART_RESOLUTION],         APPNAME"_art_resolution",         "Artwork resolution multiplier (Restart core); 1|2");
63
+  init_default(&default_options[OPT_NEOGEO_BIOS],            APPNAME"_neogeo_bios",            "Specify Neo Geo BIOS (Restart core); default|euro|euro-s1|us|us-e|asia|japan|japan-s2|unibios33|unibios20|unibios13|unibios11|unibios10|debug|asia-aes");
64
+  init_default(&default_options[OPT_STV_BIOS],               APPNAME"_stv_bios",               "Specify Sega ST-V BIOS (Restart core); default|japan|japana|us|japan_b|taiwan|europe");
65
+  init_default(&default_options[OPT_USE_ALT_SOUND],          APPNAME"_use_alt_sound",          "Use CD soundtrack (Restart core); enabled|disabled");
66
+  init_default(&default_options[OPT_SHARE_DIAL],             APPNAME"_dialsharexy",            "Share 2 player dial controls across one X/Y device; disabled|enabled");
67
+  init_default(&default_options[OPT_DPAD_ANALOG],            APPNAME"_analog",                 "Control mapping ; analog|digital");
68
+  init_default(&default_options[OPT_DEADZONE],               APPNAME"_deadzone",               "Analog deadzone; 20|0|5|10|15|25|30|35|40|45|50|55|60|65|70|75|80|85|90|95");
69
+  init_default(&default_options[OPT_TATE_MODE],              APPNAME"_tate_mode",              "TATE Mode - Rotating display (Restart core); disabled|enabled");
70
+  init_default(&default_options[OPT_VECTOR_RESOLUTION],      APPNAME"_vector_resolution",      "Vector resolution (Restart core); 1024x768|640x480|1280x960|1440x1080|1600x1200|original");
71
+  init_default(&default_options[OPT_VECTOR_ANTIALIAS],       APPNAME"_vector_antialias",       "Vector antialiasing; enabled|disabled");
72
+  init_default(&default_options[OPT_VECTOR_BEAM],            APPNAME"_vector_beam_width",      "Vector beam width (only with antialiasing); 2|1|1.2|1.4|1.6|1.8|2.5|3|4|5|6|7|8|9|10|11|12");
73
+  init_default(&default_options[OPT_VECTOR_TRANSLUCENCY],    APPNAME"_vector_translucency",    "Vector translucency; enabled|disabled");
74
+  init_default(&default_options[OPT_VECTOR_FLICKER],         APPNAME"_vector_flicker",         "Vector flicker; 20|0|10|30|40|50|60|70|80|90|100");
75
+  init_default(&default_options[OPT_VECTOR_INTENSITY],       APPNAME"_vector_intensity",       "Vector intensity; 1.5|0.5|1|2|2.5|3");
76
+  init_default(&default_options[OPT_NVRAM_BOOTSTRAP],        APPNAME"_nvram_bootstraps",       "NVRAM Bootstraps; enabled|disabled");
77
+  init_default(&default_options[OPT_SAMPLE_RATE],            APPNAME"_sample_rate",            "Sample Rate (KHz); 48000|8000|11025|22050|30000|44100|");
78
+  init_default(&default_options[OPT_DCS_SPEEDHACK],          APPNAME"_dcs_speedhack",          "DCS Speedhack; enabled|disabled");
79
+  init_default(&default_options[OPT_INPUT_INTERFACE],        APPNAME"_input_interface",        "Input interface; retropad|keyboard|simultaneous");
80
+  init_default(&default_options[OPT_MAME_REMAPPING],         APPNAME"_mame_remapping",         "Legacy Remapping (restart); enabled|disabled");
81
+  init_default(&default_options[OPT_FRAMESKIP],              APPNAME"_frameskip",              "Frameskip; 0|1|2|3|4|5");
82
+  init_default(&default_options[OPT_CORE_SYS_SUBFOLDER],     APPNAME"_core_sys_subfolder",     "Locate system files within a subfolder; enabled|disabled"); /* This should be probably handled by the frontend and not by cores per discussions in Fall 2018 but RetroArch for example doesn't provide this as an option. */
83
+  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.*/
84
+  init_default(&default_options[OPT_Cheat_Input_Ports],      APPNAME"_cheat_input_ports",      "Dip switch/Cheat input ports; disabled|enabled");
85
+  init_default(&default_options[OPT_Machine_Timing],         APPNAME"_machine_timing",         "Bypass audio skew (Restart core); enabled|disabled");
86
+  init_default(&default_options[OPT_Digital_Joy_Centering],  APPNAME"_digital_joy_centering",  "Center joystick axis for digital controls; enabled|disabled");
87
   init_default(&default_options[OPT_end], NULL, NULL);
88
   set_variables(true);
89
 }
90
@@ -530,11 +530,11 @@
91
             options.tate_mode = 0;
92
           break;
93
 
94
-        case OPT_Digital_Analog:
95
+        case OPT_Digital_Joy_Centering:
96
           if(strcmp(var.value, "enabled") == 0)
97
-            options.digital_analog = 1;
98
+            options.digital_joy_centering = 1;
99
           else
100
-            options.digital_analog = 0;
101
+            options.digital_joy_centering = 0;
102
           break;
103
 
104
         case OPT_VECTOR_RESOLUTION:
105
libretro-mame2003-plus-0~git20200525.tar.xz/src/sndhrdw/8080bw_sndhrdw.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/sndhrdw/8080bw_sndhrdw.c Changed
183
 
1
@@ -39,6 +39,8 @@
2
 static WRITE_HANDLER( invaders_sh_port5_w );
3
 static WRITE_HANDLER( invad2ct_sh_port7_w );
4
 
5
+static WRITE_HANDLER( lrescue_sh_port3_w );
6
+static WRITE_HANDLER( lrescue_sh_port5_w );
7
 
8
 static WRITE_HANDLER( ballbomb_sh_port3_w );
9
 static WRITE_HANDLER( ballbomb_sh_port5_w );
10
@@ -64,24 +66,24 @@
11
 
12
 struct SN76477interface invaders_sn76477_interface =
13
 {
14
-   1,  /* 1 chip */
15
-   { 25 },  /* mixing level   pin description       */
16
-   { 0 /* N/C */},     /*  4  noise_res         */
17
-   { 0 /* N/C */},     /*  5  filter_res        */
18
-   { 0 /* N/C */},     /*  6  filter_cap        */
19
-   { 0 /* N/C */},     /*  7  decay_res         */
20
-   { 0 /* N/C */},     /*  8  attack_decay_cap  */
21
-   { RES_K(100) },     /* 10  attack_res        */
22
-   { RES_K(56)  },     /* 11  amplitude_res     */
23
-   { RES_K(10)  },     /* 12  feedback_res      */
24
-   { 0 /* N/C */},     /* 16  vco_voltage       */
25
-   { CAP_U(0.1) },     /* 17  vco_cap           */
26
-   { RES_K(8.2) },     /* 18  vco_res           */
27
-   { 5.0        },     /* 19  pitch_voltage     */
28
-   { RES_K(120) },     /* 20  slf_res           */
29
-   { CAP_U(1.0) },     /* 21  slf_cap           */
30
-   { 0 /* N/C */},     /* 23  oneshot_cap       */
31
-   { 0 /* N/C */}      /* 24  oneshot_res       */
32
+  1,                   /* 1 chip                         */
33
+  { 25 },              /* mixing level pin description   */
34
+  { 0   /* N/C */},    /* 4   noise_res                  */
35
+  { 0   /* N/C */},    /* 5   filter_res                 */
36
+  { 0   /* N/C */},    /* 6   filter_cap                 */
37
+  { 0   /* N/C */},    /* 7   decay_res                     */
38
+  { 0   /* N/C */},    /* 8   attack_decay_cap           */
39
+  { RES_K(100)   },    /* 10  attack_res                 */
40
+  { RES_K(56)    },    /* 11  amplitude_res              */
41
+  { RES_K(10)    },    /* 12  feedback_res               */
42
+  { 0   /* N/C */},    /* 16  vco_voltage                */
43
+  { CAP_U(0.1)   },    /* 17  vco_cap                    */
44
+  { RES_K(8.2)   },    /* 18  vco_res                    */
45
+  { 5.0             },    /* 19  pitch_voltage              */
46
+  { RES_K(120)   },    /* 20  slf_res                    */
47
+  { CAP_U(1.0)   },    /* 21  slf_cap                    */
48
+  { 0   /* N/C */},    /* 23  oneshot_cap                */
49
+  { 0   /* N/C */}     /* 24  oneshot_res                */
50
 };
51
 
52
 static const char *invaders_sample_names[] =
53
@@ -122,7 +124,7 @@
54
    { 0,          0 /* N/C */  },   /* 16  vco_voltage       */
55
    { CAP_U(0.1), CAP_U(0.047) },   /* 17  vco_cap           */
56
    { RES_K(8.2), RES_K(39)    },   /* 18  vco_res           */
57
-   { 5.0,        5.0          },   /* 19  pitch_voltage     */
58
+   { 5.0,        5.0          },   /* 19  pitch_voltage     */
59
    { RES_K(120), RES_K(120)   },   /* 20  slf_res           */
60
    { CAP_U(1.0), CAP_U(1.0)   },   /* 21  slf_cap           */
61
    { 0,          0 /* N/C */  },   /* 23  oneshot_cap       */
62
@@ -297,6 +299,120 @@
63
 
64
 /*******************************************************/
65
 /*                                                     */
66
+/* Lunar Rescue                                        */
67
+/*                                                     */
68
+/*******************************************************/
69
+
70
+struct SN76477interface lrescue_sn76477_interface =
71
+{
72
+  1,                   /* 1 chip                         */
73
+  { 25 },              /* mixing level pin description   */
74
+  { 0   /* N/C */},    /* 4   noise_res                  */
75
+  { 0   /* N/C */},    /* 5   filter_res                 */
76
+  { 0   /* N/C */},    /* 6   filter_cap                 */
77
+  { 0   /* N/C */},    /* 7   decay_res                     */
78
+  { 0   /* N/C */},    /* 8   attack_decay_cap           */
79
+  { RES_K(100)   },    /* 10  attack_res                 */
80
+  { RES_K(56)    },    /* 11  amplitude_res              */
81
+  { RES_K(10)    },    /* 12  feedback_res               */
82
+  { 0   /* N/C */},    /* 16  vco_voltage                */
83
+  { CAP_U(0.1)   },    /* 17  vco_cap                    */
84
+  { RES_K(8.2)   },    /* 18  vco_res                    */
85
+  { 5.0             },    /* 19  pitch_voltage              */
86
+  { RES_K(120)   },    /* 20  slf_res                    */
87
+  { CAP_U(1.0)   },    /* 21  slf_cap                    */
88
+  { 0   /* N/C */},    /* 23  oneshot_cap                */
89
+  { 0   /* N/C */}     /* 24  oneshot_res                */
90
+};
91
+
92
+static const char *lrescue_sample_names[] =
93
+{
94
+  "*lrescue",
95
+  "alienexplosion",
96
+  "rescueshipexplosion",
97
+  "beamgun",
98
+  "thrust",
99
+  "bonus2",
100
+  "bonus3",
101
+  "shootingstar",
102
+  "stepl",
103
+  "steph",
104
+  0
105
+};
106
+
107
+struct Samplesinterface lrescue_samples_interface =
108
+{
109
+  4,   /* 4 channels */
110
+  25,  /* volume */
111
+  lrescue_sample_names
112
+};
113
+
114
+MACHINE_INIT( lrescue )
115
+{
116
+  install_port_write_handler(0, 0x03, 0x03, lrescue_sh_port3_w);
117
+  install_port_write_handler(0, 0x05, 0x05, lrescue_sh_port5_w);
118
+
119
+  SN76477_envelope_1_w(0, 1);
120
+  SN76477_envelope_2_w(0, 0);
121
+  SN76477_mixer_a_w(0, 0);
122
+  SN76477_mixer_b_w(0, 0);
123
+  SN76477_mixer_c_w(0, 0);
124
+  SN76477_vco_w(0, 1);
125
+}
126
+
127
+static void lrescue_sh_1_w(int board, int data, unsigned char *last)
128
+{
129
+  int base_channel, base_sample;
130
+
131
+  base_channel = 4 * board;
132
+  base_sample  = 9 * board;
133
+
134
+  if (data & 0x01 && ~*last & 0x01) sample_start (base_channel+0, base_sample+3, 0);    /* thrust.wav  */
135
+  if (data & 0x02 && ~*last & 0x02) sample_start (base_channel+1, base_sample+2, 0);    /* beamgun.wav  */
136
+  if (data & 0x04 && ~*last & 0x04) sample_start (base_channel+0, base_sample+1, 0);    /* rescueshipexplosion.wav  */
137
+  if (data & 0x08 && ~*last & 0x08) sample_start (base_channel+1, base_sample+0, 0);    /* alienexplosion.wav  */
138
+  if (data & 0x10 && ~*last & 0x10) sample_start (base_channel+2, base_sample+5, 0);    /* bonus3.wav - bonus life */
139
+
140
+  c8080bw_screen_red_w(data & 0x04);
141
+
142
+  *last = data;
143
+}
144
+
145
+static void lrescue_sh_2_w(int board, int data, unsigned char *last)
146
+{
147
+  int base_channel, base_sample;
148
+
149
+  base_channel = 4 * board;
150
+  base_sample  = 9 * board;
151
+
152
+  if (data & 0x01 && ~*last & 0x01) sample_start (base_channel+1, base_sample+8, 0);    /* steph.wav - foot step high  */
153
+  if (data & 0x02 && ~*last & 0x02) sample_start (base_channel+1, base_sample+7, 0);    /* stepl.wav - foot step low  */
154
+  if (data & 0x04 && ~*last & 0x04) sample_start (base_channel+1, base_sample+4, 0);    /* bonus2.wav - count men saved  */
155
+  if (data & 0x08 && ~*last & 0x08) sample_start (base_channel+3, base_sample+4, 0);    /* bitstream tunes - end level and bonus 1  */
156
+  if (data & 0x10 && ~*last & 0x10) sample_start (base_channel+3, base_sample+6, 0);    /* shootingstar.wav  */
157
+  if (~data & 0x10 && *last & 0x10) sample_stop  (base_channel+3);                      /* This makes the rescue ship sound beep on and off  */
158
+
159
+  c8080bw_flip_screen_w(data & 0x20);
160
+
161
+  *last = data;
162
+}
163
+
164
+static WRITE_HANDLER( lrescue_sh_port3_w )
165
+{
166
+  static unsigned char last = 0;
167
+
168
+  lrescue_sh_1_w(0, data, &last);
169
+}
170
+
171
+static WRITE_HANDLER( lrescue_sh_port5_w )
172
+{
173
+  static unsigned char last = 0;
174
+
175
+  lrescue_sh_2_w(0, data, &last);
176
+}
177
+
178
+/*******************************************************/
179
+/*                                                     */
180
 /* Midway "Gun Fight"                                  */
181
 /*                                                     */
182
 /*******************************************************/
183
libretro-mame2003-plus-0~git20200525.tar.xz/src/sound/ymf278b.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/sound/ymf278b.c Changed
10
 
1
@@ -277,7 +277,7 @@
2
                if(slot->stepptr >= slot->endaddr)
3
                {
4
                    slot->stepptr = slot->stepptr - slot->endaddr + slot->loopaddr;
5
-                   /* If the step is bigger than the loop, finish the sample forcibly*/
6
+                   // If the step is bigger than the loop, finish the sample forcibly
7
                    if(slot->stepptr >= slot->endaddr)
8
                    {
9
                        slot->env_vol = 256U<<23;
10
libretro-mame2003-plus-0~git20200525.tar.xz/src/vidhrdw/8080bw_vidhrdw.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/vidhrdw/8080bw_vidhrdw.c Changed
82
 
1
@@ -30,6 +30,7 @@
2
 static WRITE_HANDLER( phantom2_videoram_w );
3
 static WRITE_HANDLER( invadpt2_videoram_w );
4
 static WRITE_HANDLER( cosmo_videoram_w );
5
+static WRITE_HANDLER( lrescue_videoram_w );
6
 
7
 static VIDEO_UPDATE( 8080bw_common );
8
 static VIDEO_UPDATE( seawolf );
9
@@ -167,6 +168,13 @@
10
    screen_red_enabled = 1;
11
 }
12
 
13
+DRIVER_INIT( lrescue )
14
+{
15
+   init_8080bw();
16
+   videoram_w_p = lrescue_videoram_w;
17
+   screen_red_enabled = 1;
18
+}
19
+
20
 DRIVER_INIT( cosmo )
21
 {
22
    init_8080bw();
23
@@ -676,7 +684,6 @@
24
 {
25
    int i;
26
 
27
-
28
    for (i = 0;i < Machine->drv->total_colors;i++)
29
    {
30
        /* this bit arrangment is a little unusual but are confirmed by screen shots */
31
@@ -687,6 +694,20 @@
32
    }
33
 }
34
 
35
+PALETTE_INIT( lrescue )
36
+{
37
+   int i;
38
+
39
+   for (i = 0;i < Machine->drv->total_colors;i++)
40
+   {
41
+       /* clone of invadpt2 */
42
+       int r = 0xff * ((i >> 0) & 1);
43
+       int g = 0xff * ((i >> 2) & 1);
44
+       int b = 0xff * ((i >> 1) & 1);
45
+       palette_set_color(i,r,g,b);
46
+   }
47
+}
48
+
49
 
50
 PALETTE_INIT( sflush )
51
 {
52
@@ -728,6 +749,29 @@
53
    plot_byte(x, y, data, col, 0);
54
 }
55
 
56
+static WRITE_HANDLER( lrescue_videoram_w )
57
+{
58
+   UINT8 x,y,col;
59
+
60
+   videoram[offset] = data;
61
+
62
+   y = offset / 32;
63
+   x = 8 * (offset % 32);
64
+
65
+   /* 32 x 32 colormap */
66
+   if (!screen_red)
67
+   {
68
+       UINT16 colbase;
69
+
70
+       colbase = color_map_select ? 0x0400 : 0;
71
+       col = memory_region(REGION_PROMS)[colbase | (y >> 3 << 5) | (x >> 3)] & 0x07;
72
+   }
73
+   else
74
+       col = 1;    /* red */
75
+
76
+   plot_byte(x, y, data, col, 0);
77
+}
78
+
79
 PALETTE_INIT( cosmo )
80
 {
81
    int i;
82
libretro-mame2003-plus-0~git20200525.tar.xz/src/vidhrdw/aerofgt_vidhrdw.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/vidhrdw/aerofgt_vidhrdw.c Changed
174
 
1
@@ -369,7 +369,7 @@
2
    }
3
 }
4
 
5
-static void turbofrc_drawsprites(struct mame_bitmap *bitmap,const struct rectangle *cliprect,int chip)
6
+static void turbofrc_drawsprites(struct mame_bitmap *bitmap,const struct rectangle *cliprect,int chip, int chip_disabled_pri)
7
 {
8
    int attr_start,base,first;
9
 
10
@@ -385,7 +385,9 @@
11
 /*     int zoomtable[16] = { 0,7,14,20,25,30,34,38,42,46,49,52,54,57,59,61 };*/
12
 
13
        if (!(aerofgt_spriteram3[attr_start + 2] & 0x0080)) continue;
14
-
15
+       pri = aerofgt_spriteram3[attr_start + 2] & 0x0010;
16
+       if ( chip_disabled_pri & !pri) continue;
17
+       if (!chip_disabled_pri & (pri>>4)) continue;
18
        ox = aerofgt_spriteram3[attr_start + 1] & 0x01ff;
19
        xsize = (aerofgt_spriteram3[attr_start + 2] & 0x0700) >> 8;
20
        zoomx = (aerofgt_spriteram3[attr_start + 1] & 0xf000) >> 12;
21
@@ -395,7 +397,7 @@
22
        flipx = aerofgt_spriteram3[attr_start + 2] & 0x0800;
23
        flipy = aerofgt_spriteram3[attr_start + 2] & 0x8000;
24
        color = (aerofgt_spriteram3[attr_start + 2] & 0x000f) + 16 * spritepalettebank;
25
-       pri = aerofgt_spriteram3[attr_start + 2] & 0x0010;
26
+
27
        map_start = aerofgt_spriteram3[attr_start + 3];
28
 
29
 /* aerofgt has this adjustment, but doing it here would break turbo force title screen*/
30
@@ -431,7 +433,7 @@
31
                        sx,sy,
32
                        cliprect,TRANSPARENCY_PEN,15,
33
                        zoomx << 11,zoomy << 11,
34
-                       pri ? 0 : 0x2);
35
+                       pri ? 0 : 2);
36
                map_start++;
37
            }
38
 
39
@@ -443,6 +445,81 @@
40
    }
41
 }
42
 
43
+static void spinlbrk_draw_sprites(struct mame_bitmap *bitmap,const struct rectangle *cliprect,int chip, int chip_disabled_pri)
44
+{
45
+   int attr_start,base,first;
46
+
47
+
48
+   base = chip * 0x0200;
49
+   first = 4 * aerofgt_spriteram3[0x1fe + base];
50
+
51
+   for (attr_start = base + 0x0200-8;attr_start >= first + base;attr_start -= 4)
52
+   {
53
+       int map_start;
54
+       int ox,oy,x,y,xsize,ysize,zoomx,zoomy,flipx,flipy,color,pri;
55
+/* some other drivers still use this wrong table, they have to be upgraded*/
56
+/*     int zoomtable[16] = { 0,7,14,20,25,30,34,38,42,46,49,52,54,57,59,61 };*/
57
+
58
+       if (!(aerofgt_spriteram3[attr_start + 2] & 0x0080)) continue;
59
+       pri = aerofgt_spriteram3[attr_start + 2] & 0x0010;
60
+       if ( chip_disabled_pri & !pri) continue;
61
+       if (!chip_disabled_pri & (pri>>4)) continue;
62
+       ox = aerofgt_spriteram3[attr_start + 1] & 0x01ff;
63
+       xsize = (aerofgt_spriteram3[attr_start + 2] & 0x0700) >> 8;
64
+       zoomx = (aerofgt_spriteram3[attr_start + 1] & 0xf000) >> 12;
65
+       oy = aerofgt_spriteram3[attr_start + 0] & 0x01ff;
66
+       ysize = (aerofgt_spriteram3[attr_start + 2] & 0x7000) >> 12;
67
+       zoomy = (aerofgt_spriteram3[attr_start + 0] & 0xf000) >> 12;
68
+       flipx = aerofgt_spriteram3[attr_start + 2] & 0x0800;
69
+       flipy = aerofgt_spriteram3[attr_start + 2] & 0x8000;
70
+       color = (aerofgt_spriteram3[attr_start + 2] & 0x000f) + 16 * spritepalettebank;
71
+
72
+       map_start = aerofgt_spriteram3[attr_start + 3];
73
+
74
+/* aerofgt has this adjustment, but doing it here would break turbo force title screen*/
75
+/*     ox += (xsize*zoomx+2)/4;*/
76
+/*     oy += (ysize*zoomy+2)/4;*/
77
+
78
+       zoomx = 32 - zoomx;
79
+       zoomy = 32 - zoomy;
80
+
81
+       for (y = 0;y <= ysize;y++)
82
+       {
83
+           int sx,sy;
84
+
85
+           if (flipy) sy = ((oy + zoomy * (ysize - y)/2 + 16) & 0x1ff) - 16;
86
+           else sy = ((oy + zoomy * y / 2 + 16) & 0x1ff) - 16;
87
+
88
+           for (x = 0;x <= xsize;x++)
89
+           {
90
+               int code;
91
+
92
+               if (flipx) sx = ((ox + zoomx * (xsize - x) / 2 + 16) & 0x1ff) - 16;
93
+               else sx = ((ox + zoomx * x / 2 + 16) & 0x1ff) - 16;
94
+
95
+               if (chip == 0)
96
+                   code = aerofgt_spriteram1[map_start % (aerofgt_spriteram1_size/2)];
97
+               else
98
+                   code = aerofgt_spriteram2[map_start % (aerofgt_spriteram2_size/2)];
99
+
100
+               pdrawgfxzoom(bitmap,Machine->gfx[sprite_gfx + chip],
101
+                       code,
102
+                       color,
103
+                       flipx,flipy,
104
+                       sx,sy,
105
+                       cliprect,TRANSPARENCY_PEN,15,
106
+                       zoomx << 11,zoomy << 11,
107
+                       pri ? 2 : 0);
108
+               map_start++;
109
+           }
110
+
111
+           if (xsize == 2) map_start += 1;
112
+           if (xsize == 4) map_start += 3;
113
+           if (xsize == 5) map_start += 2;
114
+           if (xsize == 6) map_start += 1;
115
+       }
116
+   }
117
+}
118
 
119
 VIDEO_UPDATE( pspikes )
120
 {
121
@@ -457,7 +534,8 @@
122
    fillbitmap(priority_bitmap,0,cliprect);
123
 
124
    tilemap_draw(bitmap,cliprect,bg1_tilemap,0,0);
125
-   turbofrc_drawsprites(bitmap,cliprect,0);
126
+   turbofrc_drawsprites(bitmap,cliprect,0,-1);
127
+   turbofrc_drawsprites(bitmap,cliprect,0, 0);
128
 }
129
 
130
 VIDEO_UPDATE( karatblz )
131
@@ -473,8 +551,10 @@
132
    tilemap_draw(bitmap,cliprect,bg2_tilemap,0,0);
133
 
134
    /* we use the priority buffer so sprites are drawn front to back */
135
-   turbofrc_drawsprites(bitmap,cliprect,1);
136
-   turbofrc_drawsprites(bitmap,cliprect,0);
137
+   turbofrc_drawsprites(bitmap,cliprect,1,-1);
138
+   turbofrc_drawsprites(bitmap,cliprect,1, 0);
139
+   turbofrc_drawsprites(bitmap,cliprect,0,-1);
140
+   turbofrc_drawsprites(bitmap,cliprect,0, 0);
141
 }
142
 
143
 VIDEO_UPDATE( spinlbrk )
144
@@ -492,11 +572,13 @@
145
    fillbitmap(priority_bitmap,0,cliprect);
146
 
147
    tilemap_draw(bitmap,cliprect,bg1_tilemap,0,0);
148
-   tilemap_draw(bitmap,cliprect,bg2_tilemap,0,0);
149
+   tilemap_draw(bitmap,cliprect,bg2_tilemap,0,1);
150
 
151
    /* we use the priority buffer so sprites are drawn front to back */
152
-   turbofrc_drawsprites(bitmap,cliprect,0);
153
-   turbofrc_drawsprites(bitmap,cliprect,1);
154
+   spinlbrk_draw_sprites(bitmap,cliprect,0, 0);
155
+   spinlbrk_draw_sprites(bitmap,cliprect,0,-1);
156
+   spinlbrk_draw_sprites(bitmap,cliprect,1, 0);
157
+   spinlbrk_draw_sprites(bitmap,cliprect,1,-1);
158
 }
159
 
160
 VIDEO_UPDATE( turbofrc )
161
@@ -518,8 +600,10 @@
162
    tilemap_draw(bitmap,cliprect,bg2_tilemap,0,1);
163
 
164
    /* we use the priority buffer so sprites are drawn front to back */
165
-   turbofrc_drawsprites(bitmap,cliprect,1);
166
-   turbofrc_drawsprites(bitmap,cliprect,0);
167
+   turbofrc_drawsprites(bitmap,cliprect,1,-1); /*ship*/
168
+   turbofrc_drawsprites(bitmap,cliprect,1, 0); /*intro*/
169
+   turbofrc_drawsprites(bitmap,cliprect,0,-1); /*enemy*/
170
+   turbofrc_drawsprites(bitmap,cliprect,0, 0); /*enemy*/
171
 }
172
 
173
 VIDEO_UPDATE( aerofgt )
174
libretro-mame2003-plus-0~git20200525.tar.xz/src/vidhrdw/segasyse_vidhrdw.c -> libretro-mame2003-plus-0~git20200807.tar.xz/src/vidhrdw/segasyse_vidhrdw.c Changed
157
 
1
@@ -228,11 +228,18 @@
2
 {
3
    UINT8 temp;
4
 
5
+   if(strcmp(Machine->gamedrv->name, "opaopan") == 0)
6
+   {
7
+     if (chip == 0) return 0; /* slave vdp (chip==0) doesn't get to clear hint/vint status. dink */
8
+   } 
9
+
10
    temp = 0;
11
 
12
    temp |= (vintpending << 7);
13
    temp |= (hintpending << 6);
14
 
15
+   cpu_set_irq_line(0, 0, CLEAR_LINE);
16
+
17
    hintpending = vintpending = 0;
18
 
19
    return temp;
20
@@ -291,7 +298,7 @@
21
 
22
        segae_vdp_accessaddr[chip] += 1;
23
        segae_vdp_accessaddr[chip] &= 0x1f;
24
-   } else { /* VRAM Accesses */
25
+   } else if (segae_vdp_accessmode[chip]==0x01) { /* VRAM Accesses */
26
        segae_vdp_vram[chip][ segae_vdp_vrambank[chip]*0x4000 + segae_vdp_accessaddr[chip] ] = data;
27
        segae_vdp_accessaddr[chip] += 1;
28
        segae_vdp_accessaddr[chip] &= 0x3fff;
29
@@ -363,6 +370,20 @@
30
 
31
    if (regnumber < 11) {
32
        segae_vdp_regs[chip][regnumber] = regdata;
33
+       if (regnumber == 1 && chip == 1) {
34
+           if ((segae_vdp_regs[chip][0x1]&0x20) && vintpending) {
35
+               cpu_set_irq_line(0, 0, HOLD_LINE);
36
+           } else {
37
+               cpu_set_irq_line(0, 0, CLEAR_LINE);
38
+           }
39
+       }
40
+       if (regnumber == 0 && chip == 1) {
41
+           if ((segae_vdp_regs[chip][0x0]&0x10) && hintpending) { /* dink */
42
+               cpu_set_irq_line(0, 0, HOLD_LINE);
43
+           } else {
44
+               cpu_set_irq_line(0, 0, CLEAR_LINE);
45
+           }
46
+       }
47
    } else {
48
        /* Illegal, there aren't this many registers! */
49
    }
50
@@ -429,9 +450,14 @@
51
        }
52
    }
53
 
54
-   if (blank) memset(dest+16, 32+16, 8); /* Clear Leftmost column, there should be a register for this like on the SMS i imagine    */
55
-                                         /* on the SMS this is bit 5 of register 0 (according to CMD's SMS docs) for system E this  */
56
-                                         /* appears to be incorrect, most games need it blanked 99% of the time so we blank it      */
57
+   /* FIX ME!! */
58
+   if (blank)
59
+   {
60
+       if (strcmp(Machine->gamedrv->name,"tetrisse")) /* and we really don't want to do it on tetrise */
61
+           if (strcmp(Machine->gamedrv->name,"opaopan")) /* and we really don't want to do it on opaopa */
62
+           memset(dest+16, 32+16, 8); /* Clear Leftmost column, there should be a register for this like on the SMS i imagine    */
63
+                                         /* on the SMS this is bit 5 of register 0 (according to CMD's SMS docs) for system E this  */                                       /* appears to be incorrect, most games need it blanked 99% of the time so we blank it      */
64
+   }
65
 
66
 }
67
 
68
@@ -439,10 +465,9 @@
69
 
70
 void segae_drawtilesline(UINT8 *dest, int line, UINT8 chip, UINT8 pri)
71
 {
72
-   /* todo: fix vscrolling (or is it something else causing the glitch on the hi-score screen of hangonjr, seems to be ..  */
73
 
74
    UINT8 hscroll;
75
-   UINT8 vscroll;
76
+   UINT8 vscroll, vscroll_line;
77
    UINT16 tmbase;
78
    UINT8 tilesline, tilesline2;
79
    UINT8 coloffset, coloffset2;
80
@@ -450,13 +475,13 @@
81
 
82
    hscroll = (256-segae_vdp_regs[chip][8]);
83
    vscroll = segae_vdp_regs[chip][9];
84
-   if (vscroll > 224) vscroll %= 224;
85
+   vscroll_line = (line + vscroll) % 224;
86
 
87
    tmbase =  (segae_vdp_regs[chip][2] & 0x0e) << 10;
88
    tmbase += (segae_vdp_vrambank[chip] * 0x4000);
89
 
90
-   tilesline = (line + vscroll) >> 3;
91
-   tilesline2= (line + vscroll) % 8;
92
+   tilesline = vscroll_line >> 3;
93
+   tilesline2= vscroll_line % 8;
94
 
95
 
96
    coloffset = (hscroll >> 3);
97
@@ -480,7 +505,7 @@
98
        palette = (vram_word & 0x0800) >> 11;
99
        priority= (vram_word & 0x1000) >> 12;
100
 
101
-       tilesline2= (line + vscroll) % 8; 
102
+       tilesline2= vscroll_line % 8;
103
        if (flipy) tilesline2 = 7-tilesline2;
104
 
105
        if (priority == pri) {
106
@@ -502,6 +527,11 @@
107
 
108
    nosprites = 0;
109
 
110
+   if (segae_vdp_regs[chip][1] & 0x1) {
111
+       usrintf_showmessage("double-size spr. not supported. ");
112
+       return;
113
+   }
114
+
115
    spritebase =  (segae_vdp_regs[chip][5] & 0x7e) << 7;
116
    spritebase += (segae_vdp_vrambank[chip] * 0x4000);
117
 
118
@@ -519,7 +549,8 @@
119
    }
120
 
121
    if (!strcmp(Machine->gamedrv->name,"ridleofp")) nosprites = 63; /* why, there must be a bug elsewhere i guess ?! */
122
-
123
+        if (!strcmp(Machine->gamedrv->name,"slapshtr")) nosprites = 63; /* why, there must be a bug elsewhere i guess ?! */
124
+           
125
    /*- draw sprites IN REVERSE ORDER -*/
126
 
127
    for (loopcount = nosprites; loopcount >= 0;loopcount--) {
128
@@ -532,7 +563,7 @@
129
 
130
        if ( (line >= ypos) && (line < ypos+sheight) ) {
131
            int xpos;
132
-           UINT8 sprnum;
133
+           UINT16 sprnum;
134
            UINT8 spline;
135
 
136
            spline = line - ypos;
137
@@ -541,7 +572,9 @@
138
            sprnum = segae_vdp_vram[chip][spritebase+0x81+ (2*loopcount)];
139
 
140
            if (segae_vdp_regs[chip][6] & 0x04)
141
-               sprnum += 0x100;
142
+               sprnum |= 0x100;
143
+           if (segae_vdp_regs[chip][1] & 0x02)
144
+               sprnum &= 0x01FE;
145
 
146
            segae_draw8pixsprite(dest+xpos, chip, sprnum, spline);
147
 
148
@@ -614,7 +647,7 @@
149
 static void segae_draw8pixsprite(UINT8 *dest, UINT8 chip, UINT16 tile, UINT8 line)
150
 {
151
 
152
-   UINT32 pix8 = *(UINT32 *)&segae_vdp_vram[chip][(32)*tile + (4)*line + (0x4000) * segae_vdp_vrambank[chip]];
153
+   UINT32 pix8 = *(UINT32 *)&segae_vdp_vram[chip][(((32)*tile + (4)*line)&0x3fff) + (0x4000) * segae_vdp_vrambank[chip]];
154
    UINT8  pix;
155
 
156
    if (!pix8) return; /*note only the colour 0 of each vdp is transparent NOT colour 16, fixes sky in HangonJr */
157