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