We truncated the diff of some files because they were too big.
If you want to see the full diff for every file, click here.
Changes of Revision 3
libretro-mame2003-plus.changes
Changed
x
1
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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