diff options
25 files changed, 702 insertions, 117 deletions
diff --git a/docs/release/scripts/src/3rdparty.lua b/docs/release/scripts/src/3rdparty.lua index 899a78eba2f..6060edb068a 100644 --- a/docs/release/scripts/src/3rdparty.lua +++ b/docs/release/scripts/src/3rdparty.lua @@ -2215,11 +2215,6 @@ project "asmjit" uuid "4539757c-6e99-4bae-b3d0-b342a7c49539" kind "StaticLib" - configuration { "gmake" } - buildoptions { - "-Wno-unused-but-set-variable", - } - configuration { } if _OPTIONS["targetos"]=="macosx" and _OPTIONS["gcc"]~=nil then @@ -2231,30 +2226,65 @@ project "asmjit" end files { + MAME_DIR .. "3rdparty/asmjit/src/asmjit/a64.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/asmjit-scope-begin.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/asmjit-scope-end.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/asmjit.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64archtraits_p.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64assembler.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64assembler.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64builder.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64builder.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64compiler.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64compiler.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64emithelper.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64emithelper_p.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64emitter.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64formatter.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64formatter_p.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64func.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64func_p.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64globals.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64instapi.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64instapi_p.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64instdb.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64instdb.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64instdb_p.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64operand.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64operand.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64rapass.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64rapass_p.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/a64utils.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/armformatter.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/armformatter_p.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/armglobals.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/arm/armoperand.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/api-build_p.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/api-config.h", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/arch.cpp", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/arch.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/archcommons.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/archtraits.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/archtraits.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/assembler.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/assembler.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/builder.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/builder.h", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/callconv.cpp", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/callconv.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/codebuffer.h", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/codebufferwriter_p.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/codeholder.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/codeholder.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/codewriter.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/codewriter_p.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/compiler.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/compiler.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/compilerdefs.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/constpool.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/constpool.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/cpuinfo.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/cpuinfo.h", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/datatypes.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/emithelper.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/emithelper_p.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/emitter.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/emitter.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/emitterutils.cpp", @@ -2263,11 +2293,13 @@ project "asmjit" MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/environment.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/errorhandler.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/errorhandler.h", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/features.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/formatter.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/formatter.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/formatter_p.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/func.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/func.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/funcargscontext.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/funcargscontext_p.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/globals.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/globals.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/inst.cpp", @@ -2316,29 +2348,26 @@ project "asmjit" MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/zonetree.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/zonevector.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/core/zonevector.h", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86archdata.cpp", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86archdata_p.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86archtraits_p.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86assembler.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86assembler.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86builder.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86builder.h", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86callconv.cpp", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86callconv_p.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86compiler.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86compiler.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86emithelper.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86emithelper_p.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86emitter.h", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86features.cpp", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86features.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86formatter.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86formatter_p.h", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86func.cpp", + MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86func_p.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86globals.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86instapi.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86instapi_p.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86instdb.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86instdb.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86instdb_p.h", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86internal.cpp", - MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86internal_p.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86opcode_p.h", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86operand.cpp", MAME_DIR .. "3rdparty/asmjit/src/asmjit/x86/x86operand.h", diff --git a/docs/release/scripts/src/bus.lua b/docs/release/scripts/src/bus.lua index b86f1073c08..0311718c4d3 100644 --- a/docs/release/scripts/src/bus.lua +++ b/docs/release/scripts/src/bus.lua @@ -639,6 +639,8 @@ if (BUSES["BBC_1MHZBUS"]~=null) then MAME_DIR .. "src/devices/bus/bbc/1mhzbus/beebsid.h", MAME_DIR .. "src/devices/bus/bbc/1mhzbus/cc500.cpp", MAME_DIR .. "src/devices/bus/bbc/1mhzbus/cc500.h", + MAME_DIR .. "src/devices/bus/bbc/1mhzbus/cisco.cpp", + MAME_DIR .. "src/devices/bus/bbc/1mhzbus/cisco.h", MAME_DIR .. "src/devices/bus/bbc/1mhzbus/datacentre.cpp", MAME_DIR .. "src/devices/bus/bbc/1mhzbus/datacentre.h", MAME_DIR .. "src/devices/bus/bbc/1mhzbus/emrmidi.cpp", @@ -2529,6 +2531,8 @@ if (BUSES["A2BUS"]~=null) then MAME_DIR .. "src/devices/bus/a2bus/a2softcard.h", MAME_DIR .. "src/devices/bus/a2bus/a2ssc.cpp", MAME_DIR .. "src/devices/bus/a2bus/a2ssc.h", + MAME_DIR .. "src/devices/bus/a2bus/a2superdrive.cpp", + MAME_DIR .. "src/devices/bus/a2bus/a2superdrive.h", MAME_DIR .. "src/devices/bus/a2bus/a2swyft.cpp", MAME_DIR .. "src/devices/bus/a2bus/a2swyft.h", MAME_DIR .. "src/devices/bus/a2bus/a2themill.cpp", @@ -3626,6 +3630,8 @@ if (BUSES["COCO"]~=null) then MAME_DIR .. "src/devices/bus/coco/coco_fdc.h", MAME_DIR .. "src/devices/bus/coco/coco_gmc.cpp", MAME_DIR .. "src/devices/bus/coco/coco_gmc.h", + MAME_DIR .. "src/devices/bus/coco/coco_ide.cpp", + MAME_DIR .. "src/devices/bus/coco/coco_ide.h", MAME_DIR .. "src/devices/bus/coco/coco_max.cpp", MAME_DIR .. "src/devices/bus/coco/coco_max.h", MAME_DIR .. "src/devices/bus/coco/coco_midi.cpp", @@ -3735,6 +3741,17 @@ end --------------------------------------------------- -- +--@src/devices/bus/epson_qx/option.h,BUSES["EPSON_QX"] = true +--------------------------------------------------- +if (BUSES["EPSON_QX"]~=null) then + files { + MAME_DIR .. "src/devices/bus/epson_qx/option.cpp", + MAME_DIR .. "src/devices/bus/epson_qx/option.h", + } +end + +--------------------------------------------------- +-- --@src/devices/bus/pce/pce_slot.h,BUSES["PCE"] = true --------------------------------------------------- if (BUSES["PCE"]~=null) then diff --git a/docs/release/scripts/src/cpu.lua b/docs/release/scripts/src/cpu.lua index 949eca4d3f8..8528391edc4 100644 --- a/docs/release/scripts/src/cpu.lua +++ b/docs/release/scripts/src/cpu.lua @@ -1562,6 +1562,7 @@ end --@src/devices/cpu/m6502/st2xxx.h,CPUS["ST2XXX"] = true --@src/devices/cpu/m6502/st2204.h,CPUS["ST2XXX"] = true --@src/devices/cpu/m6502/st2205u.h,CPUS["ST2XXX"] = true +--@src/devices/cpu/m6502/w65c02s.h,CPUS["M6502"] = true --@src/devices/cpu/m6502/xavix.h,CPUS["XAVIX"] = true --@src/devices/cpu/m6502/xavix.h,CPUS["XAVIX2000"] = true @@ -1603,6 +1604,8 @@ if CPUS["M6502"] then MAME_DIR .. "src/devices/cpu/m6502/r65c02.h", MAME_DIR .. "src/devices/cpu/m6502/r65c19.cpp", MAME_DIR .. "src/devices/cpu/m6502/r65c19.h", + MAME_DIR .. "src/devices/cpu/m6502/w65c02s.cpp", + MAME_DIR .. "src/devices/cpu/m6502/w65c02s.h", MAME_DIR .. "src/devices/cpu/m6502/m740.cpp", MAME_DIR .. "src/devices/cpu/m6502/m740.h", MAME_DIR .. "src/devices/cpu/m6502/m3745x.cpp", @@ -1612,17 +1615,18 @@ if CPUS["M6502"] then } custombuildtask { - { MAME_DIR .. "src/devices/cpu/m6502/odeco16.lst", GEN_DIR .. "emu/cpu/m6502/deco16.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/ddeco16.lst" }, {"@echo Generating deco16 disassembler source file...", PYTHON .. " $(1) s deco16 $(<) $(2) $(@)" }}, - { MAME_DIR .. "src/devices/cpu/m6502/om4510.lst", GEN_DIR .. "emu/cpu/m6502/m4510.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm4510.lst" }, {"@echo Generating m4510 disassembler source file...", PYTHON .. " $(1) s m4510 $(<) $(2) $(@)" }}, - { MAME_DIR .. "src/devices/cpu/m6502/om6502.lst", GEN_DIR .. "emu/cpu/m6502/m6502.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6502.lst" }, {"@echo Generating m6502 disassembler source file...", PYTHON .. " $(1) s m6502 $(<) $(2) $(@)" }}, - { MAME_DIR .. "src/devices/cpu/m6502/om65c02.lst", GEN_DIR .. "emu/cpu/m6502/m65c02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65c02.lst" }, {"@echo Generating m65c02 disassembler source file...", PYTHON .. " $(1) s m65c02 $(<) $(2) $(@)" }}, - { MAME_DIR .. "src/devices/cpu/m6502/om65ce02.lst", GEN_DIR .. "emu/cpu/m6502/m65ce02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65ce02.lst" }, {"@echo Generating m65ce02 disassembler source file...", PYTHON .. " $(1) s m65ce02 $(<) $(2) $(@)" }}, - { MAME_DIR .. "src/devices/cpu/m6502/om6509.lst", GEN_DIR .. "emu/cpu/m6502/m6509.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6509.lst" }, {"@echo Generating m6509 disassembler source file...", PYTHON .. " $(1) s m6509 $(<) $(2) $(@)" }}, - { MAME_DIR .. "src/devices/cpu/m6502/om6510.lst", GEN_DIR .. "emu/cpu/m6502/m6510.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6510.lst" }, {"@echo Generating m6510 disassembler source file...", PYTHON .. " $(1) s m6510 $(<) $(2) $(@)" }}, - { MAME_DIR .. "src/devices/cpu/m6502/on2a03.lst", GEN_DIR .. "emu/cpu/m6502/n2a03.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dn2a03.lst" }, {"@echo Generating n2a03 disassembler source file...", PYTHON .. " $(1) s n2a03_core $(<) $(2) $(@)" }}, - { MAME_DIR .. "src/devices/cpu/m6502/om740.lst" , GEN_DIR .. "emu/cpu/m6502/m740.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm740.lst" }, {"@echo Generating m740 disassembler source file...", PYTHON .. " $(1) s m740 $(<) $(2) $(@)" }}, - { MAME_DIR .. "src/devices/cpu/m6502/dr65c02.lst", GEN_DIR .. "emu/cpu/m6502/r65c02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", }, {"@echo Generating r65c02 disassembler source file...", PYTHON .. " $(1) s r65c02 - $(<) $(@)" }}, - { MAME_DIR .. "src/devices/cpu/m6502/or65c19.lst", GEN_DIR .. "emu/cpu/m6502/r65c19.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dr65c19.lst" }, {"@echo Generating r65c19 disassembler source file...", PYTHON .. " $(1) s r65c19 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/odeco16.lst", GEN_DIR .. "emu/cpu/m6502/deco16.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/ddeco16.lst" }, {"@echo Generating deco16 instruction source file...", PYTHON .. " $(1) s deco16 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/om4510.lst", GEN_DIR .. "emu/cpu/m6502/m4510.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm4510.lst" }, {"@echo Generating m4510 instruction source file...", PYTHON .. " $(1) s m4510 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/om6502.lst", GEN_DIR .. "emu/cpu/m6502/m6502.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6502.lst" }, {"@echo Generating m6502 instruction source file...", PYTHON .. " $(1) s m6502 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/om65c02.lst", GEN_DIR .. "emu/cpu/m6502/m65c02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65c02.lst" }, {"@echo Generating m65c02 instruction source file...", PYTHON .. " $(1) s m65c02 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/om65ce02.lst", GEN_DIR .. "emu/cpu/m6502/m65ce02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm65ce02.lst" }, {"@echo Generating m65ce02 instruction source file...", PYTHON .. " $(1) s m65ce02 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/om6509.lst", GEN_DIR .. "emu/cpu/m6502/m6509.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6509.lst" }, {"@echo Generating m6509 instruction source file...", PYTHON .. " $(1) s m6509 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/om6510.lst", GEN_DIR .. "emu/cpu/m6502/m6510.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm6510.lst" }, {"@echo Generating m6510 instruction source file...", PYTHON .. " $(1) s m6510 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/on2a03.lst", GEN_DIR .. "emu/cpu/m6502/n2a03.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dn2a03.lst" }, {"@echo Generating n2a03 instruction source file...", PYTHON .. " $(1) s n2a03_core $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/om740.lst" , GEN_DIR .. "emu/cpu/m6502/m740.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dm740.lst" }, {"@echo Generating m740 instruction source file...", PYTHON .. " $(1) s m740 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/dr65c02.lst", GEN_DIR .. "emu/cpu/m6502/r65c02.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", }, {"@echo Generating r65c02 instruction source file...", PYTHON .. " $(1) s r65c02 - $(<) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/or65c19.lst", GEN_DIR .. "emu/cpu/m6502/r65c19.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dr65c19.lst" }, {"@echo Generating r65c19 instruction source file...", PYTHON .. " $(1) s r65c19 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/ow65c02s.lst", GEN_DIR .. "emu/cpu/m6502/w65c02s.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dw65c02s.lst" }, {"@echo Generating w65c02s instruction source file...", PYTHON .. " $(1) s w65c02s $(<) $(2) $(@)" }}, } dependency { @@ -1636,6 +1640,7 @@ if CPUS["M6502"] then { MAME_DIR .. "src/devices/cpu/m6502/n2a03.cpp", GEN_DIR .. "emu/cpu/m6502/n2a03.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/r65c02.cpp", GEN_DIR .. "emu/cpu/m6502/r65c02.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/r65c19.cpp", GEN_DIR .. "emu/cpu/m6502/r65c19.hxx" }, + { MAME_DIR .. "src/devices/cpu/m6502/w65c02s.cpp", GEN_DIR .. "emu/cpu/m6502/w65c02s.hxx" }, { MAME_DIR .. "src/devices/cpu/m6502/m740.cpp", GEN_DIR .. "emu/cpu/m6502/m740.hxx" }, } end @@ -1649,14 +1654,6 @@ if CPUS["ST2XXX"] then MAME_DIR .. "src/devices/cpu/m6502/st2205u.cpp", MAME_DIR .. "src/devices/cpu/m6502/st2205u.h", } - - custombuildtask { - { MAME_DIR .. "src/devices/cpu/m6502/ost2xxx.lst" , GEN_DIR .. "emu/cpu/m6502/st2xxx.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dst2xxx.lst" }, {"@echo Generating st2xxx disassembler source file...", PYTHON .. " $(1) s st2xxx $(<) $(2) $(@)" }}, - } - - dependency { - { MAME_DIR .. "src/devices/cpu/m6502/st2xxx.cpp", GEN_DIR .. "emu/cpu/m6502/st2xxx.hxx" }, - } end if CPUS["XAVIX"] then @@ -1666,7 +1663,7 @@ if CPUS["XAVIX"] then } custombuildtask { - { MAME_DIR .. "src/devices/cpu/m6502/oxavix.lst", GEN_DIR .. "emu/cpu/m6502/xavix.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dxavix.lst" }, {"@echo Generating xavix disassembler source file...", PYTHON .. " $(1) s xavix $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/oxavix.lst", GEN_DIR .. "emu/cpu/m6502/xavix.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dxavix.lst" }, {"@echo Generating xavix instruction source file...", PYTHON .. " $(1) s xavix $(<) $(2) $(@)" }}, } dependency { @@ -1681,7 +1678,7 @@ if CPUS["XAVIX2000"] then } custombuildtask { - { MAME_DIR .. "src/devices/cpu/m6502/oxavix2000.lst", GEN_DIR .. "emu/cpu/m6502/xavix2000.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dxavix2000.lst" }, {"@echo Generating xavix2000 disassembler source file...", PYTHON .. " $(1) s xavix2000 $(<) $(2) $(@)" }}, + { MAME_DIR .. "src/devices/cpu/m6502/oxavix2000.lst", GEN_DIR .. "emu/cpu/m6502/xavix2000.hxx", { MAME_DIR .. "src/devices/cpu/m6502/m6502make.py", MAME_DIR .. "src/devices/cpu/m6502/dxavix2000.lst" }, {"@echo Generating xavix2000 instruction source file...", PYTHON .. " $(1) s xavix2000 $(<) $(2) $(@)" }}, } dependency { diff --git a/docs/release/scripts/src/formats.lua b/docs/release/scripts/src/formats.lua index 66db5fd78d0..10b27e06ec3 100644 --- a/docs/release/scripts/src/formats.lua +++ b/docs/release/scripts/src/formats.lua @@ -133,6 +133,18 @@ end -------------------------------------------------- -- +--@src/lib/formats/abc1600_dsk.h,FORMATS["ABC1600_DSK"] = true +-------------------------------------------------- + +if opt_tool(FORMATS, "ABC1600_DSK") then + files { + MAME_DIR.. "src/lib/formats/abc1600_dsk.cpp", + MAME_DIR.. "src/lib/formats/abc1600_dsk.h", + } +end + +-------------------------------------------------- +-- --@src/lib/formats/abcfd2_dsk.h,FORMATS["ABCFD2_DSK"] = true -------------------------------------------------- diff --git a/docs/release/scripts/src/lib.lua b/docs/release/scripts/src/lib.lua index 1cb1ce50f60..1c9037b9f60 100644 --- a/docs/release/scripts/src/lib.lua +++ b/docs/release/scripts/src/lib.lua @@ -98,6 +98,7 @@ end MAME_DIR .. "src/lib/util/msdib.h", MAME_DIR .. "src/lib/util/nanosvg.cpp", MAME_DIR .. "src/lib/util/nanosvg.h", + MAME_DIR .. "src/lib/util/notifier.h", MAME_DIR .. "src/lib/util/opresolv.cpp", MAME_DIR .. "src/lib/util/opresolv.h", MAME_DIR .. "src/lib/util/options.cpp", diff --git a/docs/release/scripts/src/machine.lua b/docs/release/scripts/src/machine.lua index 27f9d9abb04..02d1cf71579 100644 --- a/docs/release/scripts/src/machine.lua +++ b/docs/release/scripts/src/machine.lua @@ -162,6 +162,18 @@ if (MACHINES["AM2901B"]~=null) then } end +--------------------------------------------------- +-- +--@src/devices/machine/amiga_copper.h,MACHINES["AMIGA_COPPER"] = true +--------------------------------------------------- + +if (MACHINES["AMIGA_COPPER"]~=null) then + files { + MAME_DIR .. "src/devices/machine/amiga_copper.cpp", + MAME_DIR .. "src/devices/machine/amiga_copper.h", + } +end + -------------------------------------------------- -- --@src/devices/machine/arm_iomd.h,MACHINES["ARM_IOMD"] = true diff --git a/docs/release/scripts/target/mame/arcade.lua b/docs/release/scripts/target/mame/arcade.lua index 44e7d5dd37e..2ef88c63ebe 100644 --- a/docs/release/scripts/target/mame/arcade.lua +++ b/docs/release/scripts/target/mame/arcade.lua @@ -459,6 +459,7 @@ MACHINES["AM79C90"] = true --MACHINES["AM9513"] = true MACHINES["AM9517A"] = true MACHINES["AMIGAFDC"] = true +MACHINES["AMIGA_COPPER"] = true --MACHINES["APPLEPIC"] = true MACHINES["AT_KEYBC"] = true MACHINES["AT28C16"] = true @@ -803,7 +804,7 @@ BUSES["MIDI"] = true --BUSES["MSX_SLOT"] = true BUSES["NEOGEO"] = true BUSES["NEOGEO_CTRL"] = true ---BUSES["NES"] = true +BUSES["NES_CTRL"] = true BUSES["NSCSI"] = true --BUSES["NUBUS"] = true --BUSES["O2"] = true @@ -827,7 +828,7 @@ BUSES["SG1000_EXP"] = true BUSES["SGIKBD"] = true BUSES["SMS_CTRL"] = true BUSES["SMS_EXP"] = true ---BUSES["SNES"] = true +BUSES["SNES_CTRL"] = true --BUSES["SPC1000"] = true BUSES["SUNKBD"] = true --BUSES["TI99PEB"] = true @@ -937,6 +938,7 @@ function linkProjects_mame_arcade(_target, _subtarget) "nintendo", "nix", "nmk", + "novadesitec", "omori", "olympia", "orca", @@ -2545,6 +2547,8 @@ files { MAME_DIR .. "src/mame/machine/k573fpga.h", MAME_DIR .. "src/mame/machine/k573kara.cpp", MAME_DIR .. "src/mame/machine/k573kara.h", + MAME_DIR .. "src/mame/machine/k573mcal.cpp", + MAME_DIR .. "src/mame/machine/k573mcal.h", MAME_DIR .. "src/mame/machine/k573mcr.cpp", MAME_DIR .. "src/mame/machine/k573mcr.h", MAME_DIR .. "src/mame/machine/k573msu.cpp", @@ -3278,6 +3282,13 @@ files { MAME_DIR .. "src/mame/video/quizpani.cpp", } +createMAMEProjects(_target, _subtarget, "novadesitec") +files { + MAME_DIR .. "src/mame/drivers/novadesitec_fr002.cpp", + MAME_DIR .. "src/mame/drivers/novadesitec_fr004.cpp", + MAME_DIR .. "src/mame/drivers/novadesitec_fr009.cpp", +} + createMAMEProjects(_target, _subtarget, "olympia") files { MAME_DIR .. "src/mame/drivers/dday.cpp", @@ -4652,7 +4663,6 @@ files { MAME_DIR .. "src/mame/video/decodmd2.h", MAME_DIR .. "src/mame/video/decodmd3.cpp", MAME_DIR .. "src/mame/video/decodmd3.h", - MAME_DIR .. "src/mame/drivers/de_3b.cpp", MAME_DIR .. "src/mame/drivers/flicker.cpp", MAME_DIR .. "src/mame/drivers/g627.cpp", MAME_DIR .. "src/mame/drivers/gp_1.cpp", @@ -4693,11 +4703,8 @@ files { MAME_DIR .. "src/mame/drivers/s11.cpp", MAME_DIR .. "src/mame/includes/s11.h", MAME_DIR .. "src/mame/drivers/s11a.cpp", - MAME_DIR .. "src/mame/includes/s11a.h", MAME_DIR .. "src/mame/drivers/s11b.cpp", - MAME_DIR .. "src/mame/includes/s11b.h", MAME_DIR .. "src/mame/drivers/s11c.cpp", - MAME_DIR .. "src/mame/includes/s11c.h", MAME_DIR .. "src/mame/audio/pinsnd88.cpp", MAME_DIR .. "src/mame/audio/pinsnd88.h", MAME_DIR .. "src/mame/audio/s11c_bg.cpp", @@ -4705,7 +4712,6 @@ files { MAME_DIR .. "src/mame/drivers/s3.cpp", MAME_DIR .. "src/mame/drivers/s4.cpp", MAME_DIR .. "src/mame/drivers/s6.cpp", - MAME_DIR .. "src/mame/drivers/s6a.cpp", MAME_DIR .. "src/mame/drivers/s7.cpp", MAME_DIR .. "src/mame/drivers/s8.cpp", MAME_DIR .. "src/mame/drivers/s8a.cpp", @@ -4723,7 +4729,6 @@ files { MAME_DIR .. "src/mame/drivers/techno.cpp", MAME_DIR .. "src/mame/drivers/vd.cpp", MAME_DIR .. "src/mame/drivers/whitestar.cpp", - MAME_DIR .. "src/mame/drivers/white_mod.cpp", MAME_DIR .. "src/mame/drivers/wico.cpp", MAME_DIR .. "src/mame/drivers/wms_shuffle.cpp", MAME_DIR .. "src/mame/drivers/wpc_95.cpp", @@ -4732,9 +4737,7 @@ files { MAME_DIR .. "src/mame/drivers/wpc_dot.cpp", MAME_DIR .. "src/mame/includes/wpc_dot.h", MAME_DIR .. "src/mame/drivers/wpc_flip1.cpp", - MAME_DIR .. "src/mame/includes/wpc_flip1.h", MAME_DIR .. "src/mame/drivers/wpc_flip2.cpp", - MAME_DIR .. "src/mame/includes/wpc_flip2.h", MAME_DIR .. "src/mame/drivers/wpc_s.cpp", MAME_DIR .. "src/mame/machine/wpc.cpp", MAME_DIR .. "src/mame/machine/wpc.h", @@ -4978,6 +4981,7 @@ files { MAME_DIR .. "src/mame/drivers/jungleyo.cpp", MAME_DIR .. "src/mame/drivers/kas89.cpp", MAME_DIR .. "src/mame/drivers/kingpin.cpp", + MAME_DIR .. "src/mame/drivers/krokha.cpp", MAME_DIR .. "src/mame/drivers/kurukuru.cpp", MAME_DIR .. "src/mame/drivers/kyugo.cpp", MAME_DIR .. "src/mame/includes/kyugo.h", @@ -5068,6 +5072,7 @@ files { MAME_DIR .. "src/mame/drivers/pkscram.cpp", MAME_DIR .. "src/mame/drivers/playcenter.cpp", MAME_DIR .. "src/mame/drivers/plsonic4.cpp", + MAME_DIR .. "src/mame/drivers/pmc.cpp", MAME_DIR .. "src/mame/drivers/pntnpuzl.cpp", MAME_DIR .. "src/mame/drivers/policetr.cpp", MAME_DIR .. "src/mame/includes/policetr.h", diff --git a/docs/release/scripts/target/mame/mess.lua b/docs/release/scripts/target/mame/mess.lua index c7af6eb0e3e..f8f9e672ac4 100644 --- a/docs/release/scripts/target/mame/mess.lua +++ b/docs/release/scripts/target/mame/mess.lua @@ -482,6 +482,7 @@ MACHINES["AM9513"] = true MACHINES["AM9517A"] = true MACHINES["AM9519"] = true MACHINES["AMIGAFDC"] = true +MACHINES["AMIGA_COPPER"] = true MACHINES["APPLEPIC"] = true MACHINES["ARM_IOMD"] = true MACHINES["AT_KEYBC"] = true @@ -895,6 +896,7 @@ BUSES["ELECTRON_CART"] = true BUSES["ELECTRON"] = true BUSES["EP64"] = true BUSES["EPSON_SIO"] = true +BUSES["EPSON_QX"] = true BUSES["FMT_SCSI"] = true BUSES["GAMATE"] = true BUSES["GAMEBOY"] = true @@ -1020,6 +1022,7 @@ BUSES["ZORRO"] = true FORMATS["2D_DSK"] = true FORMATS["A26_CAS"] = true FORMATS["A5105_DSK"] = true +FORMATS["ABC1600_DSK"] = true FORMATS["ABC800_DSK"] = true FORMATS["ABCFD2_DSK"] = true FORMATS["ACE_TAP"] = true @@ -3826,6 +3829,7 @@ createMESSProjects(_target, _subtarget, "siemens") files { MAME_DIR .. "src/mame/drivers/bitel.cpp", MAME_DIR .. "src/mame/drivers/pcd.cpp", + MAME_DIR .. "src/mame/drivers/pcmx2.cpp", MAME_DIR .. "src/mame/machine/pcd_kbd.cpp", MAME_DIR .. "src/mame/machine/pcd_kbd.h", MAME_DIR .. "src/mame/video/pcd.cpp", @@ -4475,7 +4479,6 @@ files { MAME_DIR .. "src/mame/drivers/iskr103x.cpp", MAME_DIR .. "src/mame/drivers/mc1502.cpp", MAME_DIR .. "src/mame/machine/kb_7007_3.h", - MAME_DIR .. "src/mame/includes/mc1502.h", MAME_DIR .. "src/mame/drivers/poisk1.cpp", MAME_DIR .. "src/mame/machine/kb_poisk1.h", } @@ -4597,8 +4600,9 @@ files { MAME_DIR .. "src/mame/drivers/didact.cpp", MAME_DIR .. "src/mame/drivers/digel804.cpp", MAME_DIR .. "src/mame/drivers/digilog320.cpp", - MAME_DIR .. "src/mame/machine/digilog320_kbd.cpp", - MAME_DIR .. "src/mame/machine/digilog320_kbd.h", + MAME_DIR .. "src/mame/drivers/digilog400.cpp", + MAME_DIR .. "src/mame/machine/digilog_kbd.cpp", + MAME_DIR .. "src/mame/machine/digilog_kbd.h", MAME_DIR .. "src/mame/drivers/digijet.cpp", MAME_DIR .. "src/mame/drivers/dim68k.cpp", MAME_DIR .. "src/mame/drivers/dm7000.cpp", @@ -4663,7 +4667,6 @@ files { MAME_DIR .. "src/mame/drivers/jonos.cpp", MAME_DIR .. "src/mame/drivers/juku.cpp", MAME_DIR .. "src/mame/drivers/junior80.cpp", - MAME_DIR .. "src/mame/drivers/krokha.cpp", MAME_DIR .. "src/mame/drivers/kron.cpp", MAME_DIR .. "src/mame/drivers/lee1214.cpp", MAME_DIR .. "src/mame/drivers/lee1220.cpp", diff --git a/docs/release/src/devices/cpu/m68000/m68kcpu.cpp b/docs/release/src/devices/cpu/m68000/m68kcpu.cpp index 3cf4c60fe30..f7a61d6f77a 100644 --- a/docs/release/src/devices/cpu/m68000/m68kcpu.cpp +++ b/docs/release/src/devices/cpu/m68000/m68kcpu.cpp @@ -861,8 +861,6 @@ void m68000_base_device::execute_run() { /* Return point if we had an address error */ check_address_error: -// HBMAME temp hack, to see if this allows us to run chinese hacks -#if 0 if (m_address_error==1) { m_address_error = 0; @@ -887,7 +885,7 @@ void m68000_base_device::execute_run() return; } } -#endif + /* Main loop. Keep going until we run out of clock cycles */ while (m_icount > 0) @@ -959,8 +957,15 @@ void m68000_base_device::execute_run() if (!CPU_TYPE_IS_020_PLUS()) { - /* Note: This is implemented for 68000 only! */ - m68ki_stack_frame_buserr(sr); + if (CPU_TYPE_IS_010()) + { + m68ki_stack_frame_1000(m_ppc, sr, EXCEPTION_BUS_ERROR); + } + else + { + /* Note: This is implemented for 68000 only! */ + m68ki_stack_frame_buserr(sr); + } } else if(!CPU_TYPE_IS_040_PLUS()) { if (m_mmu_tmp_buserror_address == m_ppc) diff --git a/docs/release/src/emu/video.cpp b/docs/release/src/emu/video.cpp index 20b723ff57a..5d3691c08c9 100644 --- a/docs/release/src/emu/video.cpp +++ b/docs/release/src/emu/video.cpp @@ -493,7 +493,7 @@ void video_manager::exit() // when there are no screens to drive it //------------------------------------------------- -void video_manager::screenless_update_callback(void *ptr, int param) +void video_manager::screenless_update_callback(int param) { // force an update frame_update(false); @@ -511,7 +511,7 @@ void video_manager::postload() for (const auto &x : m_movie_recordings) x->set_next_frame_time(emutime); - // reset speed counters + // reset speed measurements m_speed_last_realtime = osd_ticks(); m_speed_last_emutime = emutime; } diff --git a/docs/release/src/emu/video.h b/docs/release/src/emu/video.h index 5ec14100116..edb00e4f00a 100644 --- a/docs/release/src/emu/video.h +++ b/docs/release/src/emu/video.h @@ -91,7 +91,7 @@ public: private: // internal helpers void exit(); - void screenless_update_callback(void *ptr, int param); + void screenless_update_callback(int param); void postload(); // effective value helpers diff --git a/docs/release/src/frontend/mame/audit.cpp b/docs/release/src/frontend/mame/audit.cpp index 6f1d52f2f0f..a6e16fb83e2 100644 --- a/docs/release/src/frontend/mame/audit.cpp +++ b/docs/release/src/frontend/mame/audit.cpp @@ -19,6 +19,7 @@ #include "softlist_dev.h" #include "chd.h" +#include "path.h" #include <algorithm> @@ -422,8 +423,10 @@ media_auditor::summary media_auditor::audit_samples() emu_file file(m_enumerator.options().sample_path(), OPEN_FLAG_READ | OPEN_FLAG_NO_PRELOAD); path_iterator path(searchpath); std::string curpath; - while (path.next(curpath, samplename)) + while (path.next(curpath)) { + util::path_append(curpath, samplename); + // attempt to access the file (.flac) or (.wav) std::error_condition filerr = file.open(curpath + ".flac"); if (filerr) diff --git a/docs/release/src/frontend/mame/clifront.cpp b/docs/release/src/frontend/mame/clifront.cpp index d311f22b472..08c8dbf366e 100644 --- a/docs/release/src/frontend/mame/clifront.cpp +++ b/docs/release/src/frontend/mame/clifront.cpp @@ -40,6 +40,7 @@ #include <set> #include <tuple> #include <cctype> +#include <iostream> //************************************************************************** diff --git a/docs/release/src/frontend/mame/ui/inifile.cpp b/docs/release/src/frontend/mame/ui/inifile.cpp index 02713cd5f57..fe8f11236de 100644 --- a/docs/release/src/frontend/mame/ui/inifile.cpp +++ b/docs/release/src/frontend/mame/ui/inifile.cpp @@ -116,7 +116,7 @@ void inifile_manager::init_category(std::string &&filename, emu_file &file) auto const tail(std::find_if(head, std::end(rbuf), [] (char ch) { return !ch || (']' == ch); })); name.assign(head, tail); if ("FOLDER_SETTINGS" != name) - index.emplace_back(std::move(name), ftell(fp)); + index.emplace_back(name, ftell(fp)); } } std::stable_sort(index.begin(), index.end(), [] (auto const &x, auto const &y) { return 0 > core_stricmp(x.first.c_str(), y.first.c_str()); }); diff --git a/docs/release/src/hbmame/drivers/cps1mis.cpp b/docs/release/src/hbmame/drivers/cps1mis.cpp index c76fdbb6535..99eda3e390e 100644 --- a/docs/release/src/hbmame/drivers/cps1mis.cpp +++ b/docs/release/src/hbmame/drivers/cps1mis.cpp @@ -3235,6 +3235,38 @@ ROM_START( sf2mix100 ) ROM_LOAD ( "sf2ce.key", 0x00, 0x80, CRC(35b37429) SHA1(b372cce106c0900554735c207fb333ac93554ec2) ) ROM_END +ROM_START( sf2mix120 ) + ROM_REGION( CODE_SIZE, "maincpu", 0 ) + ROM_LOAD16_WORD_SWAP( "sf2mix120.8f", 0x000000, 0x80000, CRC(997f551e) SHA1(44d907f868c400497b76b0e3328023b9f91c60a7) ) + ROM_LOAD16_WORD_SWAP( "sf2mix120.7f", 0x080000, 0x80000, CRC(414ab00b) SHA1(44ff311280affa40fd4ea28dffc1a1cf65d5ea11) ) + ROM_LOAD16_WORD_SWAP( "sf2mix120.6f", 0x100000, 0x80000, CRC(1221db31) SHA1(a68ff94c074af1bb51b3177f90f32be31c7982a4) ) + + ROM_REGION( 0x600000, "gfx", 0 ) + ROMX_LOAD( "sf2mix99.3a", 0x000000, 0x80000, CRC(a8f70643) SHA1(0d3ab7fe1d0d15397a79c9bd304f22593a9b8d87) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sf2mix99.5a", 0x000002, 0x80000, CRC(f73f1913) SHA1(b36db11822f5601726892726f8505b7e8b676ab6) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sf2mix99.4a", 0x000004, 0x80000, CRC(a80234b4) SHA1(e8c3e8030fa2ce69465d97ccb02de622e9214b01) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sf2mix99.6a", 0x000006, 0x80000, CRC(4d910b53) SHA1(1f28fe150ddf77c91c8ae998ee52e068327335d5) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sf2mix100.7a", 0x200000, 0x80000, CRC(01ae6240) SHA1(59391e9681497ac6ec8a2736e15864f83dffdb0e) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sf2mix100.9a", 0x200002, 0x80000, CRC(88dea20a) SHA1(d8e71ff94e796d7720fa0d73c261dca783262b5a) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sf2mix100.8a", 0x200004, 0x80000, CRC(7ea140b2) SHA1(2660ece5a443c6e32344627af9f81dc7c8cd3ea4) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sf2mix100.10a", 0x200006, 0x80000, CRC(fbc81a7e) SHA1(b950566052114da540a0893e733ca8c7e8847003) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sf2mix100.3c", 0x400000, 0x80000, CRC(78e86cf4) SHA1(02de07c66d8a899f0d99c5f91b0795a7a22834ae) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sf2mix100.5c", 0x400002, 0x80000, CRC(2f8e6dc9) SHA1(b9ee9fd782cb23d6652f100f5c25944dfdd22a3e) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sf2mix100.4c", 0x400004, 0x80000, CRC(70095fdc) SHA1(8fb4b22841847858c0ac30eca49109e99709c670) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "sf2mix100.6c", 0x400006, 0x80000, CRC(d14d18e5) SHA1(72aebfb2e589a3fa248e3ffa2723f77f1139b787) , ROM_GROUPWORD | ROM_SKIP(6) ) + + ROM_REGION( 0x18000, "audiocpu", 0 ) + ROM_LOAD( "sf2mix96.11a", 0x00000, 0x08000, CRC(a379fdc5) SHA1(e9de38c13bd665698528bc102b1b16e9bdcae65b) ) + ROM_CONTINUE( 0x10000, 0x08000 ) + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "sf2mix96.11c", 0x00000, 0x20000, CRC(6aa5d7fa) SHA1(87cfea3a9f62653fa236f49b5b25b927cff30a02) ) + ROM_LOAD( "sf2mix96.12c", 0x20000, 0x20000, CRC(f92f5a4f) SHA1(3f1d477ab0299d2783231c3bd9983513a85b2fe6) ) + + ROM_REGION( 0x80, "control", 0 ) + ROM_LOAD ( "sf2ce.key", 0x00, 0x80, CRC(35b37429) SHA1(b372cce106c0900554735c207fb333ac93554ec2) ) +ROM_END + ROM_START( sf2h9 ) ROM_REGION( CODE_SIZE, "maincpu", 0 ) ROM_LOAD16_BYTE( "sf3a-1.040", 0x000000, 0x80000, CRC(9e6d058a) SHA1(8c9adca7b65dc929c325c0a62304d24dc0902c08) ) @@ -6480,6 +6512,7 @@ GAME( 2020, sf2mix98c, sf2ce, cps1_12MHz, sf2mix, cps_state, init_cps1, GAME( 2020, sf2mix99, sf2ce, cps1_12MHz, sf2mix, cps_state, init_cps1, ROT0, "Zero800", "Street Fighter II: Champion Edition (Mix 0.99)", MACHINE_SUPPORTS_SAVE ) GAME( 2020, sf2mix99a, sf2ce, cps1_12MHz, sf2mix, cps_state, init_cps1, ROT0, "Zero800", "Street Fighter II: Champion Edition (Mix 0.99a)", MACHINE_SUPPORTS_SAVE ) GAME( 2021, sf2mix100, sf2ce, cps1_12MHz, sf2mix, cps_state, init_cps1, ROT0, "Zero800", "Street Fighter II: Champion Edition (Mix 1.0)", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, sf2mix120, sf2ce, cps1_12MHz, sf2mix, cps_state, init_cps1, ROT0, "Zero800", "Street Fighter II: Champion Edition (Mix 1.2)", MACHINE_SUPPORTS_SAVE ) GAME( 2012, sf2pun, sf2ce, cps1_12MHz, sf2, cps_state, init_cps1, ROT0, "Drakon", "Street Fighter II': Champion Edition (Punishment Simplified Edition v1 Final 2012-04-10)", MACHINE_SUPPORTS_SAVE ) GAME( 1992, sf2r3, sf2, cps1_10MHz, sf2j, cps_state, init_cps1, ROT0, "hack", "Street Fighter II': The World Warrior (3-region version)", MACHINE_SUPPORTS_SAVE ) GAME( 2021, sf2rbpr, sf2ce, cps1_12MHz, sf2rb, cps_state, init_cps1, ROT0, "Rotwang", "Street Fighter II': Champion Edition (Rainbow, bootleg, set 1, protection removed)", MACHINE_SUPPORTS_SAVE ) diff --git a/docs/release/src/hbmame/drivers/cps2mis.cpp b/docs/release/src/hbmame/drivers/cps2mis.cpp index 8bd156e4e21..d40fafd13f3 100644 --- a/docs/release/src/hbmame/drivers/cps2mis.cpp +++ b/docs/release/src/hbmame/drivers/cps2mis.cpp @@ -1838,6 +1838,43 @@ ROM_START( ssf2tnl5 ) ROM_LOAD( "ssf2t.key", 0x00, 0x14, CRC(524d608e) SHA1(fcd2b9a1a640a0dee4a674dc9cfb3975466f7757) ) ROM_END +ROM_START( ssf2tnl6 ) + ROM_REGION( CODE_SIZE, "maincpu", 0 ) + ROM_LOAD16_WORD_SWAP( "tnl6.03", 0x000000, 0x80000, CRC(46722af4) SHA1(4629e0eacbb6721f5b47476583887ce7f03da88a) ) + ROM_LOAD16_WORD_SWAP( "tnl6.04", 0x080000, 0x80000, CRC(c8167018) SHA1(9a21774c9786651b796964527e0a0e03aa914827) ) + ROM_LOAD16_WORD_SWAP( "tnl6.05", 0x100000, 0x80000, CRC(244be873) SHA1(e0379881fb6c48b3de78ec27cc6a13b66711dbbf) ) + ROM_LOAD16_WORD_SWAP( "tnl6.06a", 0x180000, 0x80000, CRC(3a7f1f24) SHA1(c744dc57acb99e57f5f274aea5aadca74ef2534b) ) + ROM_LOAD16_WORD_SWAP( "tnl6.07", 0x200000, 0x80000, CRC(af0babd3) SHA1(d68317b81b611834be4e07d0501253f429de9500) ) + ROM_LOAD16_WORD_SWAP( "tnl6.08", 0x280000, 0x80000, CRC(2c717380) SHA1(3b352d66083fa97560202a225425b1a3a2b6c6db) ) + ROM_LOAD16_WORD_SWAP( "tnl6.09", 0x300000, 0x80000, CRC(af970b89) SHA1(0967b53d3ab4a51eb0fcffee460197ba8c0d2c42) ) + + ROM_REGION( 0x1000000, "gfx", 0 ) + ROMX_LOAD( "tnl6.13m", 0x000000, 0x200000, CRC(c74a5e1c) SHA1(fc324ac2b5bd5b2d61ba50067bd170cf6a29ec40) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "tnl6.15m", 0x000002, 0x200000, CRC(d666749d) SHA1(c2611ee2a52738b417b078a7e4ea9463eac6d82f) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "tnl6.17m", 0x000004, 0x200000, CRC(378925a1) SHA1(c5030e7609fde6034a5e2abcbb84144224677e5f) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "tnl6.19m", 0x000006, 0x200000, CRC(41187858) SHA1(71077b72007bc552a00f096940566288bd84aa78) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "tnl5.14m", 0x800000, 0x100000, CRC(1a6e6aa9) SHA1(f80f984621feab2db4443831da3f33685d1da3b5) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "tnl5.16m", 0x800002, 0x100000, CRC(0f6251bd) SHA1(2500363513f64d2e08d634a630146a02caef5e44) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "tnl5.18m", 0x800004, 0x100000, CRC(8b1eccaf) SHA1(439769a26efe15e35c1ba7e3c96687393e3fcb3c) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "tnl5.20m", 0x800006, 0x100000, CRC(26eb0233) SHA1(13b734c095c87a167db696aeea8478e6810c3f99) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "tnl6.21m", 0xc00000, 0x100000, CRC(40144981) SHA1(21e1f400d99e6d520a33665f10de482e8ba591d9) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "tnl6.23m", 0xc00002, 0x100000, CRC(49953e2c) SHA1(1715c951bc8c7a995c2491f24bb5dc2effde8dce) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "tnl6.25m", 0xc00004, 0x100000, CRC(8c7ef38b) SHA1(00af700701c2ee6d6b5d21f94203159cce7809df) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "tnl6.27m", 0xc00006, 0x100000, CRC(9ad47db1) SHA1(1c1674be2eb9255f00e1676228bcaae3f7aa0b9c) , ROM_GROUPWORD | ROM_SKIP(6) ) + + ROM_REGION( QSOUND_SIZE, "audiocpu", 0 ) + ROM_LOAD( "sfx.01", 0x00000, 0x08000, CRC(b47b8835) SHA1(c8b2d50fe3a329bd0592ea160d505155d873dab1) ) + ROM_CONTINUE( 0x10000, 0x18000 ) + ROM_LOAD( "sfx.02", 0x28000, 0x20000, CRC(0022633f) SHA1(cab3afc79da53e3887eb1ccd1f4d19790728e6cd) ) + + ROM_REGION( 0x400000, "qsound", 0 ) + ROM_LOAD16_WORD_SWAP( "sfx.11m", 0x000000, 0x200000, CRC(9bdbd476) SHA1(a8520f77f30b97aae36408e0c4ca1ebbde1808a5) ) + ROM_LOAD16_WORD_SWAP( "sfx.12m", 0x200000, 0x200000, CRC(a05e3aab) SHA1(d4eb9cae66c74e956569fea8b815156fbd420f83) ) + + ROM_REGION( 0x20, "key", 0 ) + ROM_LOAD( "ssf2t.key", 0x00, 0x14, CRC(524d608e) SHA1(fcd2b9a1a640a0dee4a674dc9cfb3975466f7757) ) +ROM_END + ROM_START( ssf2tpls ) ROM_REGION( CODE_SIZE, "maincpu", 0 ) ROM_LOAD16_WORD_SWAP( "ssf2tpls.03", 0x000000, 0x80000, CRC(abd7a3e0) SHA1(088166ab28e7a3abf90720c1c6108ff8946b6f7b) ) @@ -2368,6 +2405,7 @@ GAME( 1994, ssf2tfp, ssf2t, cps2, cps2_2p6b, cps2_state, init_cps2, R GAME( 2005, ssf2tfr, ssf2t, cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "Shyma.X", "Super Street Fighter II Turbo (Translation French 2015-01-XX)", MACHINE_SUPPORTS_SAVE ) GAME( 2020, ssf2tnl4, ssf2t, cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "Born2SPD", "Super Street Fighter II Turbo (New Legacy v0.4 beta 2020-11-13)", MACHINE_SUPPORTS_SAVE ) GAME( 2021, ssf2tnl5, ssf2t, cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "Born2SPD", "Super Street Fighter II Turbo (New Legacy v0.5 beta 2021-06-11)", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, ssf2tnl6, ssf2t, cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "Born2SPD", "Super Street Fighter II Turbo (New Legacy v0.6 beta 2022-02-07)", MACHINE_SUPPORTS_SAVE ) GAME( 1994, ssf2tpls, ssf2t, cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "KrysoFun", "Super Street Fighter II Turbo (Plus v0.9 beta)", MACHINE_SUPPORTS_SAVE ) GAME( 1994, ssf2xjhy, ssf2t, cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "Yumeji", "Super Street Fighter II X: Grand Master Challenge (Choose hidden characters easier)", MACHINE_SUPPORTS_SAVE ) GAME( 1994, ssf2xjjs, ssf2t, cps2, cps2_2p6b, cps2_state, init_cps2, ROT0, "Jason[FGCH]", "Super Street Fighter II X: Grand Master Challenge (Retro color)", MACHINE_SUPPORTS_SAVE ) diff --git a/docs/release/src/hbmame/drivers/midwunit.cpp b/docs/release/src/hbmame/drivers/midwunit.cpp index 912acd111a5..8611e62e3de 100644 --- a/docs/release/src/hbmame/drivers/midwunit.cpp +++ b/docs/release/src/hbmame/drivers/midwunit.cpp @@ -1810,6 +1810,52 @@ ROM_START( umk3uk20210727 ) // date from files ROM_LOAD32_BYTE( "uc20181023.u110", 0x1400003, 0x100000, CRC(88f78828) SHA1(95f83c2f3d7026c2f592bb5de3142613d2a7e6ce) ) ROM_END +ROM_START( umk3uk20220207 ) // date from files + ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) + ROM_LOAD16_BYTE( "l2.0_mortal_kombat_3_u2_ultimate.u2", 0x000000, 0x100000, CRC(3838cfe5) SHA1(e3d2901f3bae1362742fc6ee0aa31c9f63b4dfa3) ) + ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u3_music_spch.u3", 0x200000, 0x100000, CRC(856fe411) SHA1(6165ebecfce7500e948d84492ffa19eed7f47091) ) + ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u4_music_spch.u4", 0x400000, 0x100000, CRC(428a406f) SHA1(e70ec83cd054de0da1e178720ed0035b8887f797) ) + ROM_LOAD16_BYTE( "l1_mortal_kombat_3_u5_music_spch.u5", 0x600000, 0x100000, CRC(3b98a09f) SHA1(edf1d02a56dcf3349e6b4bb4097acfe7592305f4) ) + + ROM_REGION16_LE( 0x100000, "maincpu", 0 ) + ROM_LOAD16_BYTE( "uk20220207.u54", 0x00000, 0x80000, CRC(f8bb9e27) SHA1(950f13b0bc5fe3814da2837152ed7de749be215e) ) + ROM_LOAD16_BYTE( "uk20220207.u63", 0x00001, 0x80000, CRC(20d12777) SHA1(0ac809fa55640e514a5ecea708e7c18fd5665710) ) + + ROM_REGION( 0x1009, "serial_security:pic", 0 ) + ROM_LOAD( "463_mk3_ultimate.u64", 0x0000, 0x1009, CRC(4f425218) SHA1(7f26045ed2c9ca94fadcb673ce10f28208aa720e) ) + + ROM_REGION( 0x2400000, "gfxrom", 0 ) + ROM_LOAD32_BYTE( "uc20181023.u133", 0x0000000, 0x100000, CRC(62c6f8ab) SHA1(cfe77e21cb25b4513411658051b849e3c0dd728c) ) + ROM_LOAD32_BYTE( "uc20181023.u132", 0x0000001, 0x100000, CRC(87d977dc) SHA1(3bd6ded7c212621c3f45e29fa90a19b1c7abaac6) ) + ROM_LOAD32_BYTE( "uc20181023.u131", 0x0000002, 0x100000, CRC(483cbc7b) SHA1(39d03642ea62f8623b76ecf084a390db7c366dcd) ) + ROM_LOAD32_BYTE( "uc20181023.u130", 0x0000003, 0x100000, CRC(ecf63628) SHA1(3efeda0a59f110e6ab17247b1fed7965291ec885) ) + + ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u129_game_rom.u129", 0x0400000, 0x100000, CRC(a8b41803) SHA1(9697e35e8bb51d6d36b1d7ae47377b446e57682f) ) + ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u128_game_rom.u128", 0x0400001, 0x100000, CRC(b410d72f) SHA1(ac5c1c6f744186540f4ab100d9bd4ce6007e600b) ) + ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u127_game_rom.u127", 0x0400002, 0x100000, CRC(bd985be7) SHA1(f5183abea2e5eb2c2c8cefa72c9ed321679f5128) ) + ROM_LOAD32_BYTE( "l1_mortal_kombat_3_u126_game_rom.u126", 0x0400003, 0x100000, CRC(e7c32cf4) SHA1(94ea7b2eed7dae66f5dd676c20d6b360140e3e0e) ) + + ROM_LOAD32_BYTE( "uc20181023.u125", 0x0800000, 0x100000, CRC(78e8b9e5) SHA1(9a5f87e896c023b70b74a40c4fcb82e46cd8b1cb) ) + ROM_LOAD32_BYTE( "uc20181023.u124", 0x0800001, 0x100000, CRC(1137536c) SHA1(8aee7855a454eeb68e51205ba47e94a0a2915ee3) ) + ROM_LOAD32_BYTE( "uc20181023.u123", 0x0800002, 0x100000, CRC(6a65e954) SHA1(b04e64f361500093450a1a648dad13412282bda1) ) + ROM_LOAD32_BYTE( "uc20181023.u122", 0x0800003, 0x100000, CRC(e6274718) SHA1(66bc57f4e05af9b27caa89fb0a3bd5aef3892117) ) + + ROM_LOAD32_BYTE( "uc20220207.u121", 0x0c00000, 0x100000, CRC(2a941ed3) SHA1(c4c9721bcb3e2aab3cc10521736c7602e09b16fe) ) + ROM_LOAD32_BYTE( "uc20220207.u120", 0x0c00001, 0x100000, CRC(57b7a2c1) SHA1(4a62f47586e7c3a41564b6379dd4fb87fadad36c) ) + ROM_LOAD32_BYTE( "uc20220207.u119", 0x0c00002, 0x100000, CRC(e62e43ec) SHA1(2121a8a914b649f36e86f37d018075cde1e4472d) ) + ROM_LOAD32_BYTE( "uc20220207.u118", 0x0c00003, 0x100000, CRC(70ebc1a4) SHA1(566e8944c29e24e69c1d931dc5569db7fda2f2fa) ) + + ROM_LOAD32_BYTE( "uk20220207.u117", 0x1000000, 0x100000, CRC(44dd107c) SHA1(84e6cfc973c46437cd9cd86eaaf4f51e35db0ba1) ) + ROM_LOAD32_BYTE( "uk20220207.u116", 0x1000001, 0x100000, CRC(ac2d2070) SHA1(4172d1ebb38727d8b11aab0969efb9fe04227102) ) + ROM_LOAD32_BYTE( "uk20220207.u115", 0x1000002, 0x100000, CRC(2f53a17b) SHA1(850f79516ff9f49276cb2fdd53a8ec310abe8aa7) ) + ROM_LOAD32_BYTE( "uk20220207.u114", 0x1000003, 0x100000, CRC(23f042b2) SHA1(5113faf6893b5e974f6a3136b358c061fd54987f) ) + + ROM_LOAD32_BYTE( "uc20220207.u113", 0x1400000, 0x100000, CRC(0ad044f8) SHA1(87bb552d0dae5e092ac6537e217134921ec54e3c) ) + ROM_LOAD32_BYTE( "uc20220207.u112", 0x1400001, 0x100000, CRC(b19b1d16) SHA1(9ef94354cbbd44515be439502d1ac7a62c09400b) ) + ROM_LOAD32_BYTE( "uc20220207.u111", 0x1400002, 0x100000, CRC(bfa93ae2) SHA1(11f4e04961764e193c9f4592462d097953f362d1) ) + ROM_LOAD32_BYTE( "uc20220207.u110", 0x1400003, 0x100000, CRC(5b915289) SHA1(2f7098fe594139afce6c54d2b572be0acbed0ac9) ) +ROM_END + ROM_START( umk3tm20180120 ) ROM_REGION16_LE( 0x800000, "dcs", ROMREGION_ERASEFF ) ROM_LOAD16_BYTE( "l2.0_mortal_kombat_3_u2_ultimate.u2", 0x000000, 0x100000, CRC(3838cfe5) SHA1(e3d2901f3bae1362742fc6ee0aa31c9f63b4dfa3) ) @@ -1984,6 +2030,7 @@ GAME( 2021, umk3uc20210423, umk3, wunit_picemu, mk3, midwunit_state, init_umk3, GAME( 2021, umk3uc20210430, umk3, wunit_picemu, mk3, midwunit_state, init_umk3, ROT0, "TEAM UMK 3", "Ultimate Mortal Kombat 3 (Ultimate Cup Edition 2021-04-30)", MACHINE_SUPPORTS_SAVE ) GAME( 2021, umk3uk20210709, umk3, wunit_picemu, mk3, midwunit_state, init_umk3, ROT0, "TEAM UMK 3", "Ultimate Mortal Kombat 3 (UC Edition 2021-07-09)", MACHINE_SUPPORTS_SAVE ) GAME( 2021, umk3uk20210727, umk3, wunit_picemu, mk3, midwunit_state, init_umk3, ROT0, "TEAM UMK 3", "Ultimate Mortal Kombat 3 (UC Edition 2021-07-27)", MACHINE_SUPPORTS_SAVE ) +GAME( 2022, umk3uk20220207, umk3, wunit_picemu, mk3, midwunit_state, init_umk3, ROT0, "TEAM UMK 3", "Ultimate Mortal Kombat 3 (UC Edition 2022-02-07)", MACHINE_SUPPORTS_SAVE ) GAME( 2018, umk3tm20180120, umk3, wunit_picemu, mk3, midwunit_state, init_umk3, ROT0, "TEAM UMK 3", "Ultimate Mortal Kombat 3 (Team Edition 2018-01-20)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) GAME( 2019, umk3tm20190417, umk3, wunit_picemu, mk3, midwunit_state, init_umk3, ROT0, "TEAM UMK 3", "Ultimate Mortal Kombat 3 (Team Edition 2 2019-04-17)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) GAME( 2019, umk3plus20190921, umk3, wunit_picemu, mk3, midwunit_state, init_umk3, ROT0, "Mortalkombatplus", "Ultimate Mortal Kombat 3 (Plus Beta 1 2019-09-21)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) diff --git a/docs/release/src/hbmame/drivers/neogeohb.cpp b/docs/release/src/hbmame/drivers/neogeohb.cpp index 56ebf6bffac..7c1f71a8a6d 100644 --- a/docs/release/src/hbmame/drivers/neogeohb.cpp +++ b/docs/release/src/hbmame/drivers/neogeohb.cpp @@ -57,7 +57,7 @@ NUM TITLES 066 Karnov's Revenge / Fighter's History Dynamite 069 Fatal Fury 3 / Garoudensetsu 3; The Battle of Destiny; Road to the Final Victory 076 Zed Blade / Operation Ragnarok -079 Street Hoop / Dunk Dream +079 Street Hoop / Dunk Dream / Street Slam 087 Samurai Shodown III / Fighters Swords 092 Kabuki Klash / Far East of Eden 200 Neo Turf Masters / Big Tournament Golf diff --git a/docs/release/src/hbmame/hbmame.lst b/docs/release/src/hbmame/hbmame.lst index 0bd6bcf6fd0..f5d77e93bd6 100644 --- a/docs/release/src/hbmame/hbmame.lst +++ b/docs/release/src/hbmame/hbmame.lst @@ -325,6 +325,7 @@ sf2mix98c sf2mix99 sf2mix99a sf2mix100 +sf2mix120 sf2pun sf2r3 sf2rbpr @@ -1251,6 +1252,7 @@ ssf2tfp ssf2tfr ssf2tnl4 ssf2tnl5 +ssf2tnl6 ssf2tpls ssf2xjhy ssf2xjjs @@ -4276,6 +4278,7 @@ umk3uc20210423 umk3uc20210430 umk3uk20210709 umk3uk20210727 +umk3uk20220207 umk3tm20180120 umk3tm20190417 umk3plus20190921 @@ -8764,12 +8767,12 @@ toutrundt1 astrob //parent astrob2h -@source:segas16b.cpp -altbeast //parent -altbeastfr -altbeasts01 -altbeasts02 -altbeasts03 +//@source:segas16b.cpp +//altbeast //parent +//altbeastfr +//altbeasts01 +//altbeasts02 +//altbeasts03 @source:segas24.cpp gground //parent diff --git a/docs/release/src/mame/drivers/galaxian.cpp b/docs/release/src/mame/drivers/galaxian.cpp index 53e5591b85c..85800d54676 100644 --- a/docs/release/src/mame/drivers/galaxian.cpp +++ b/docs/release/src/mame/drivers/galaxian.cpp @@ -136,6 +136,40 @@ Notes about 'frogg' : bit 5 of IN1 is tested if "Cabinet" Dip Switch is set to "Cocktail". +Notes about 'Space Battle' by Hoei : +------------------------------------ + + The main board is based on Galaxian with the following changes... + 1. Adjustable 555 sound circuit has been removed. + 2. Two additional noise circuits have been added similar to the 'hit' noise + but using different vertical counts. + 3. Six paged graphic roms are supported on board. + 4. Different memory map. + 5. 2K of ram. + 6. Sockets for upto 26K of rom. + 7. Socket for connecting speech synthesis board. + + Roms from two boards have been dumped. The graphics roms are the same. + The game roms differ as follows: + Set 1 Rom A contains a 16bit checksum at address 0x64/0x65. + Rom I contains a 16bit checksum at address 0x7fe/0x7ff + No other roms from this set contain a checksum. + Set 2 Rom A does not contain a valid checksum. + Roms B, C, E, F, G, H, and I contain a 16bit checksum at 0x7fe/0x7ff + Rom D contains a 16bit checksum at address 0x5e3/0x534 + Rom D contains inline code for one subroutine rather than calling the + routine. It also has a check a for condition which can't happen + removed. + Rom G checks the TEST button input on power up and calls 0x5800 if it + is active. We do not have a dump of this (test ?) rom. + At no point are the checksums validated. + From a game point of view both rom sets function exactly the same. + + Interestingly, the overlapped 4764 ROM is actually from sstrangr2 (aka Super + Space Stranger, marketed by Hoei), That's on completely different hardware. + It looks like it's used here for crude protection. + + Galaxian Bootleg Single Board Layout: ------------------------------------- @@ -175,7 +209,7 @@ Galaxian Bootleg Single Board Layout: |----------------------------------------------------------------------------------------------| 1 2 3 4 5 6 7 8 9 1 0 - +**************************************************************************** Stephh's notes (based on the games Z80 code and some tests) for games based on 'scobra' MACHINE_DRIVER : @@ -676,9 +710,9 @@ t) 'bagmanmc' - DSW bit 6 was previously used for "Bonus Lives" settings, but it has no effect in this set because of 'NOP' instructions from 0x3501 to 0x3507. +**************************************************************************** TODO: ----- - Problems with Galaxian based on the observation of a real machine: - Background humming is incorrect. It's faster on a real machine - Explosion sound is much softer. Filter involved? @@ -1587,6 +1621,42 @@ void moonwar_state::port_select_w(uint8_t data) /************************************* * + * Hoei Space Battle I/O + * + *************************************/ + +void sbhoei_state::machine_start() +{ + galaxian_state::machine_start(); + + m_p2 = 0xff; + save_item(NAME(m_p2)); +} + +void sbhoei_state::sbhoei_soundlatch_w(uint8_t data) +{ + m_soundlatch->write(data & 0x7f); + m_8039->set_input_line(0, (data & 0x80) ? ASSERT_LINE : CLEAR_LINE); +} + +void sbhoei_state::p2_w(uint8_t data) +{ + if ((data & 0x80) & (~m_p2 & 0x80)) + m_sp0250->reset(); + + m_p2 = data; + + m_soundbank->set_entry((data & 0x07) | ((data >> 2) & 8)); +} + +uint8_t sbhoei_state::p1_r() +{ + return (m_8039->p1_r() & 0x80) | (m_soundlatch->read() & 0x7f); +} + + +/************************************* + * * Memory maps * *************************************/ @@ -2005,7 +2075,24 @@ void galaxian_state::froggervd_map(address_map &map) map(0x7800, 0x7800).mirror(0x07ff).r("watchdog", FUNC(watchdog_timer_device::reset_r)); } -/* map not derived from schematics. Used by explorer and takeoff */ +void galaxian_state::mandinka_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x3fff).rom(); + map(0x8000, 0x87ff).ram(); + map(0x9000, 0x97ff).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram"); + map(0x9800, 0x98ff).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram"); + map(0xa001, 0xa001).w(FUNC(galaxian_state::irq_enable_w)); + map(0xa002, 0xa002).w(FUNC(galaxian_state::coin_count_0_w)); + map(0xa003, 0xa003).w(FUNC(galaxian_state::scramble_background_enable_w)); + map(0xa006, 0xa006).w(FUNC(galaxian_state::galaxian_flip_screen_x_w)); + map(0xa007, 0xa007).w(FUNC(galaxian_state::galaxian_flip_screen_y_w)); + map(0xa800, 0xa800).r("watchdog", FUNC(watchdog_timer_device::reset_r)); + map(0xb000, 0xb003).rw("ppi8255_0", FUNC(i8255_device::read), FUNC(i8255_device::write)); + map(0xb800, 0xb803).rw("ppi8255_1", FUNC(i8255_device::read), FUNC(i8255_device::write)); +} + +// Map not derived from schematics. Used by explorer and takeoff void galaxian_state::explorer_map(address_map &map) { map.unmap_value_high(); @@ -2341,7 +2428,6 @@ void galaxian_state::turpins_map(address_map &map) } - // this is the same as theend, except for separate RGB background controls and some extra ROM space at $7000 and $C000 void nihon_sfx_state::sfx_map(address_map &map) { @@ -2392,7 +2478,7 @@ void monsterz_state::monsterz_map(address_map &map) $6002-$6006: graphics banking controls replace coin lockout, coin counter, and lfo $7002: coin counter (moved from $6003) $8000-$afff: additional ROM area - $b000-$bfff: protection + $b000-$bfff: protection (T00 custom chip) */ void galaxian_state::jumpbug_map(address_map &map) { @@ -2571,6 +2657,39 @@ void tenspot_state::tenspot_select_map(address_map &map) } +void sbhoei_state::sbhoei_map_discrete(address_map &map) +{ + map(0xa000, 0xa000).mirror(0x07f8).w("cust", FUNC(sbhoei_sound_device::noise1_enable_w)); + map(0xa001, 0xa001).mirror(0x07f8).w("cust", FUNC(sbhoei_sound_device::noise2_enable_w)); + map(0xa803, 0xa803).mirror(0x07f8).w("cust", FUNC(sbhoei_sound_device::noise3_enable_w)); + map(0xa805, 0xa805).mirror(0x07f8).w("cust", FUNC(sbhoei_sound_device::fire_enable_w)); + map(0xa806, 0xa807).mirror(0x07f8).w("cust", FUNC(sbhoei_sound_device::vol_w)); + map(0xb800, 0xb800).mirror(0x07ff).w("cust", FUNC(sbhoei_sound_device::pitch_w)); +} + +void sbhoei_state::sbhoei_map(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x7fff).rom(); + map(0x8000, 0x87ff).ram(); + map(0x8800, 0x8800).mirror(0x07ff).w(FUNC(sbhoei_state::sbhoei_soundlatch_w)); + map(0x8800, 0x8800).mirror(0x07ff).r(m_8039, FUNC(i8039_device::p1_r)); + map(0x9000, 0x93ff).mirror(0x0400).ram().w(FUNC(sbhoei_state::galaxian_videoram_w)).share("videoram"); + map(0x9800, 0x98ff).mirror(0x0700).ram().w(FUNC(sbhoei_state::galaxian_objram_w)).share("spriteram"); + map(0xa000, 0xa000).mirror(0x07ff).portr("IN0"); + map(0xa002, 0xa006).mirror(0x07f8).w(FUNC(sbhoei_state::galaxian_gfxbank_w)); + map(0xa800, 0xa800).mirror(0x07ff).portr("IN1"); + map(0xb000, 0xb000).mirror(0x07ff).portr("IN2"); + map(0xb000, 0xb000).mirror(0x07f8).w(FUNC(sbhoei_state::irq_enable_w)); + map(0xb004, 0xb004).mirror(0x07f8).w(FUNC(sbhoei_state::galaxian_stars_enable_w)); + map(0xb006, 0xb006).mirror(0x07f8).w(FUNC(sbhoei_state::galaxian_flip_screen_x_w)); + map(0xb007, 0xb007).mirror(0x07f8).w(FUNC(sbhoei_state::galaxian_flip_screen_y_w)); + map(0xb800, 0xb800).mirror(0x07ff).r("watchdog", FUNC(watchdog_timer_device::reset_r)); + sbhoei_map_discrete(map); +} + + + uint8_t galaxian_state::froggeram_ppi8255_r(offs_t offset) { // same as theend, but accesses are scrambled @@ -2653,6 +2772,7 @@ void guttangt_state::guttangts3_map(address_map &map) map(0x8000, 0x87ff).rom().region("maincpu", 0x4000); } + /************************************* * * Sound CPU memory maps @@ -2691,6 +2811,9 @@ void galaxian_state::konami_sound_portmap(address_map &map) map(0x00, 0xff).rw(FUNC(galaxian_state::konami_ay8910_r), FUNC(galaxian_state::konami_ay8910_w)); } + +// Monster Zero + void monsterz_state::monsterz_sound_map(address_map &map) { konami_sound_map(map); @@ -2712,6 +2835,7 @@ void monsterz_state::monsterz_sample_map(address_map& map) map(0x4000, 0x4000).lw8(NAME([this](uint8_t data) { m_monsterz_shift2 = (m_monsterz_shift2 << 8) | data; })); } + // Checkman with 1 x AY-8910A void galaxian_state::checkman_sound_map(address_map &map) @@ -2776,6 +2900,15 @@ void zac_scorpion_state::scorpion_sound_portmap(address_map &map) } +// Turpins bootleg + +void galaxian_state::turpins_sound_map(address_map &map) +{ + konami_sound_map(map); + map(0x9000, 0x9000).r(FUNC(galaxian_state::konami_sound_timer_r)); // why does it read it here AND from the AY port? +} + + // King and Balloon with DAC void kingball_state::kingball_map(address_map &map) @@ -2818,10 +2951,17 @@ void nihon_sfx_state::sfx_sample_portmap(address_map &map) map(0x00, 0xff).rw(FUNC(nihon_sfx_state::sample_io_r), FUNC(nihon_sfx_state::sample_io_w)); } -void galaxian_state::turpins_sound_map(address_map &map) + +// Hoei Space Battle speech board + +void sbhoei_state::sbhoei_sound_map(address_map &map) { - konami_sound_map(map); - map(0x9000, 0x9000).r(FUNC(galaxian_state::konami_sound_timer_r)); // why does it read it here AND from the AY port? + map(0x0000, 0x07ff).rom(); +} + +void sbhoei_state::sbhoei_sound_io_map(address_map &map) +{ + map(0x00, 0xff).bankr(m_soundbank); } @@ -3249,21 +3389,45 @@ static INPUT_PORTS_START( redufob ) PORT_INCLUDE(galaxian) PORT_MODIFY("IN1") - PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:!1,!2") PORT_DIPSETTING( 0x40, "A 2C/1C B 1C/3C" ) PORT_DIPSETTING( 0x00, "A 1C/1C B 1C/6C" ) PORT_DIPSETTING( 0x80, "A 1C/2C B 1C/12C" ) PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) PORT_MODIFY("IN2") - PORT_DIPNAME( 0x03, 0x01, DEF_STR( Bonus_Life ) ) + PORT_DIPNAME( 0x03, 0x02, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:!3,!4") PORT_DIPSETTING( 0x01, "4000" ) PORT_DIPSETTING( 0x02, "5000" ) PORT_DIPSETTING( 0x03, "7000" ) PORT_DIPSETTING( 0x00, DEF_STR( None ) ) - PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:!5") + PORT_DIPSETTING( 0x00, "3" ) + PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPUNUSED( 0x08, 0x00 ) PORT_DIPLOCATION("SW1:!6") +INPUT_PORTS_END + + +static INPUT_PORTS_START( redufob3 ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN1") + PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:!1,!2") + PORT_DIPSETTING( 0x40, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( Free_Play ) ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x02, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:!3,!4") + PORT_DIPSETTING( 0x01, "4000" ) + PORT_DIPSETTING( 0x02, "5000" ) + PORT_DIPSETTING( 0x03, "7000" ) + PORT_DIPSETTING( 0x00, DEF_STR( None ) ) + PORT_DIPNAME( 0x04, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:!5") PORT_DIPSETTING( 0x00, "3" ) PORT_DIPSETTING( 0x04, "5" ) + PORT_DIPUNUSED( 0x08, 0x00 ) PORT_DIPLOCATION("SW1:!6") INPUT_PORTS_END @@ -3847,7 +4011,7 @@ static INPUT_PORTS_START( atlantib ) INPUT_PORTS_END -static INPUT_PORTS_START( devilfsg ) +static INPUT_PORTS_START( devilfshg ) PORT_INCLUDE(pacmanbl) PORT_MODIFY("IN0") @@ -6995,6 +7159,30 @@ static INPUT_PORTS_START( guttangt ) INPUT_PORTS_END +static INPUT_PORTS_START( sbhoei ) + PORT_INCLUDE(galaxian) + + PORT_MODIFY("IN1") + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_DIPNAME( 0x40, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("DPSW:!1") + PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Difficult ) ) + PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) + + PORT_MODIFY("IN2") + PORT_DIPNAME( 0x03, 0x00, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DPSW:!2,!3") + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 4C_1C ) ) + PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("DPSW:!4,!5") + PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x0c, DEF_STR( 1C_6C ) ) +INPUT_PORTS_END + + /************************************* * * Graphics layouts @@ -7306,6 +7494,12 @@ void galaxian_state::mandingarf(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::mandingarf_map); } +void galaxian_state::mandinka(machine_config &config) +{ + scramble_base(config); + m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::mandinka_map); +} + void galaxian_state::pacmanbl(machine_config &config) { galaxian(config); @@ -7330,7 +7524,7 @@ void tenspot_state::tenspot(machine_config &config) m_gfxdecode->set_info(gfx_tenspot); } -void galaxian_state::devilfsg(machine_config &config) +void galaxian_state::devilfshg(machine_config &config) { pacmanbl(config); @@ -7955,6 +8149,34 @@ void galaxian_state::mimonscr(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &galaxian_state::mimonscr_map); } +void sbhoei_state::sbhoei(machine_config &config) +{ + galaxian_base(config); + + // basic machine hardware + m_maincpu->set_addrmap(AS_PROGRAM, &sbhoei_state::sbhoei_map); + + WATCHDOG_TIMER(config.replace(), "watchdog").set_vblank_count("screen", 20); + + I8039(config, m_8039, 4_MHz_XTAL); + m_8039->set_addrmap(AS_PROGRAM, &sbhoei_state::sbhoei_sound_map); + m_8039->set_addrmap(AS_IO, &sbhoei_state::sbhoei_sound_io_map); + m_8039->p1_in_cb().set(FUNC(sbhoei_state::p1_r)); + m_8039->p2_out_cb().set(FUNC(sbhoei_state::p2_w)); + m_8039->t1_in_cb().set(m_sp0250, FUNC(sp0250_device::drq_r)); + m_8039->bus_out_cb().set(m_sp0250, FUNC(sp0250_device::write)); + + m_palette->set_init(FUNC(sbhoei_state::sbhoei_palette)); + + // sound hardware + GENERIC_LATCH_8(config, m_soundlatch); + + SP0250(config, m_sp0250, 3.12_MHz_XTAL).add_route(ALL_OUTPUTS, "speaker", 1.0); + + SBHOEI_SOUND(config, "cust", 0); +} + + /* Quaak (Frogger bootleg) @@ -8513,6 +8735,18 @@ void guttangt_state::init_guttangts3() romdata[i] = buf[i ^ 0xff]; } +void sbhoei_state::init_sbhoei() +{ + common_init(&galaxian_state::galaxian_draw_bullet, &galaxian_state::galaxian_draw_background, nullptr, nullptr); + + m_extend_tile_info_ptr = extend_tile_info_delegate(&sbhoei_state::sbhoei_extend_tile_info, this); + m_extend_sprite_info_ptr = extend_sprite_info_delegate(&sbhoei_state::sbhoei_extend_sprite_info, this); + + m_soundbank->configure_entries(0, 16, memregion("sbhoei_sound_rom")->base(), 0x0100); + m_soundbank->set_entry(8); +} + + /************************************* * * Moon Cresta-derived games @@ -8573,6 +8807,20 @@ void galaxian_state::init_pacmanbl() space.install_write_handler(0x6002, 0x6002, 0, 0x7f8, 0, write8smo_delegate(*this, FUNC(galaxian_state::artic_gfxbank_w))); } +void galaxian_state::init_devilfshg() +{ + init_galaxian(); + + // descramble address lines + uint8_t *rom = memregion("maincpu")->base(); + const size_t len = memregion("maincpu")->bytes(); + + std::vector<uint8_t> buf(len); + memcpy(&buf[0], rom, len); + for (int i = 0; i < len; i++) + rom[i] = buf[(i & ~0x1f) | bitswap<5>(i,1,0,3,4,2)]; +} + uint8_t tenspot_state::dsw_read() { if (m_current_game < m_game_dsw.size()) @@ -9159,6 +9407,7 @@ void namenayo_state::init_namenayo() m_extend_sprite_info_ptr = extend_sprite_info_delegate(&namenayo_state::namenayo_extend_sprite_info, this); } + /************************************* * * ROM definitions @@ -9896,7 +10145,7 @@ ROM_START( luctoday ) ROM_LOAD( "ltchar2.bin", 0x0000, 0x0800, CRC(8cd73bdc) SHA1(6174f7347d2c96f9c5074bc0da5a370c9b07461b)) ROM_LOAD( "ltchar1.bin", 0x0800, 0x0800, CRC(b5ba9946) SHA1(7222cbe8c41ca74b214f4dd5439bf69d90f4644e)) - ROM_REGION( 0x0020, "proms", 0 )//This may not be the correct prom + ROM_REGION( 0x0020, "proms", 0 ) // This may not be the correct prom ROM_LOAD( "74s288.ch", 0x0000, 0x0020, BAD_DUMP CRC(24652bc4) SHA1(d89575f3749c75dc963317fe451ffeffd9856e4d)) ROM_END @@ -10090,6 +10339,24 @@ ROM_START( redufob2 ) ROM_LOAD( "5049.6l", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) ROM_END +ROM_START( redufob3 ) // this bootleg has 0x3800 of program ROMs like the original. It seems to be halfway between the original and redufob2 + ROM_REGION( 0x4000, "maincpu", 0 ) + ROM_LOAD( "1.rom1", 0x0000, 0x0800, CRC(ad9930d3) SHA1(63a892670e40257539a79e12caabe341509dc73e) ) + ROM_LOAD( "2.rom2", 0x0800, 0x0800, CRC(65d1792d) SHA1(f644c8999584f6368a5fa235a92b89d13e1cd9e2) ) + ROM_LOAD( "3.rom3", 0x1000, 0x0800, CRC(e1030d1c) SHA1(80640fbbfa7f84c016366b1084e7f8a7acdcd440) ) + ROM_LOAD( "4.rom4", 0x1800, 0x0800, CRC(d801b80d) SHA1(b76173fcb022b3c443e1731e13d92212ff43408d) ) + ROM_LOAD( "5.rom5", 0x2000, 0x0800, CRC(f1e46275) SHA1(9e08dbaae4f0f944cc9613090c60000bf2eeb869) ) + ROM_LOAD( "6.rom6", 0x2800, 0x0800, CRC(98513f8a) SHA1(5a9fdf8e50ce70e25399730aa5f4fe8854a70992) ) + ROM_LOAD( "7.rom7", 0x3000, 0x0800, CRC(fd07d811) SHA1(6b968a7ce452f76a8d26fe694aa4ea6b16e8b6fa) ) + + ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_LOAD( "gfx.1h", 0x0000, 0x0800, CRC(8a422b0d) SHA1(b886157518f73e7115a225ba230e456179f6e18f) ) + ROM_LOAD( "gfx.1k", 0x0800, 0x0800, CRC(1eb84cb1) SHA1(08f360802a90039c0499a1417d06b6eb5f89d67e) ) + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "82s123.6l", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) +ROM_END + ROM_START( exodus ) ROM_REGION( 0x4000, "maincpu", 0 ) ROM_LOAD( "exodus1.bin", 0x0000, 0x0800, CRC(5dfe65e1) SHA1(5f1ce289b3c98a89d61d4dea952b4b8888d92ed7) ) @@ -10344,7 +10611,7 @@ ROM_START( gteikokub2 ) ROM_LOAD( "l06_prom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) ROM_END -ROM_START( gteikokub3 ) // still has the IREM copyright, but the PCB is a bootleg with ROMs labeled "Honly Electronics" +ROM_START( gteikokub3 ) // still has the IREM copyright, but the PCB is a bootleg with ROMs labeled "Honly Electronics" ROM_REGION( 0x4000, "maincpu", 0 ) ROM_LOAD( "g1.a3", 0x0000, 0x0800, CRC(d975af10) SHA1(a2e2a36a75db8fd09441308b08b6ae073c68b8cf) ) ROM_LOAD( "g0.a2", 0x0800, 0x0800, CRC(378aba50) SHA1(713c98e76e386fe47adde79955ab15f04c1a0ab5) ) @@ -10494,8 +10761,31 @@ ROM_START( skyraidr ) ROM_END -ROM_START( devilfsg ) - ROM_REGION( 0x10000, "maincpu", 0 ) +ROM_START( devilfshg ) // Artic Multi-System, CPU enclosed in epoxy block + ROM_REGION( 0x4000, "maincpu", 0 ) + ROM_LOAD( "df1", 0x0000, 0x0800, CRC(5af8db02) SHA1(e2b4c75b1e23f38b640881359aab071c3f26527e) ) + ROM_LOAD( "df2", 0x0800, 0x0800, CRC(6e4eb2af) SHA1(4a1c2d5683ddec66e9eec28c853d624c7fadade9) ) + ROM_LOAD( "df3", 0x1000, 0x0800, CRC(ef37cc08) SHA1(547fb75dc46c1fbcc0677d6e970ebd3e0af5d921) ) + ROM_LOAD( "df4", 0x1800, 0x0800, CRC(d344706f) SHA1(d5d1890cbae342b277de3da123cc3673a0419fb0) ) + ROM_LOAD( "df5", 0x2000, 0x0800, CRC(ab9f2f7c) SHA1(a22027c663adb6321875589183071bd069949c97) ) + ROM_LOAD( "df6", 0x2800, 0x0800, CRC(5681d1f9) SHA1(c2a7c37901fc6c0d7ac1aa663800afc74c288a15) ) + ROM_LOAD( "df7", 0x3000, 0x0800, CRC(16a4b6c3) SHA1(45e4917f55ab915b676860a88ed75c9334a2dcc6) ) + ROM_LOAD( "df8", 0x3800, 0x0800, CRC(236fd69d) SHA1(4681d4621dbadfb52368399ecd557086384fad13) ) + + ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_LOAD( "df12", 0x0000, 0x0800, CRC(aa62441d) SHA1(04b61b0e660dba962bf7f18ab5b37b0d8edd8534) ) + ROM_LOAD( "df11", 0x0800, 0x0800, CRC(12a1f15d) SHA1(e6666abaa92bb443760bf8e1746a11196bc30322) ) + + ROM_REGION( 0x1000, "gfx2", 0 ) + ROM_LOAD( "df10", 0x0000, 0x0800, CRC(5da97ccf) SHA1(653c5df3ecc895c0aa5275c45c87ac0e38984085) ) + ROM_LOAD( "df9", 0x0800, 0x0800, CRC(edd41c4c) SHA1(88c1b1f57a64e2cd66975b680a94a1384c08dc31) ) + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "mmi6331.6l", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( devilfshgb ) + ROM_REGION( 0x4000, "maincpu", 0 ) ROM_LOAD( "dfish1.7f", 0x2000, 0x0800, CRC(2ab19698) SHA1(8450981d3cf3fa8abf2fb5487aa98b03a4cf03a1) ) ROM_CONTINUE( 0x0000, 0x0800 ) ROM_LOAD( "dfish2.7h", 0x2800, 0x0800, CRC(4e77f097) SHA1(aeaa5ff210ccbbe77114edf5dee992d2720636ae) ) @@ -11948,7 +12238,6 @@ void galaxian_state::init_ckonggx() for (int i = 0; i < 88; i++) { memcpy(&buffer[i*0x100], rom+ckonggx_remap[i], 0x100); - } memcpy(rom, &buffer[0], 0x5800); @@ -13443,6 +13732,29 @@ ROM_START( mandingac ) ROM_LOAD( "82s123.bin", 0x0000, 0x0020, CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // 82s123 ROM_END +ROM_START( mandinka ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "1.bin", 0x0000, 0x0800, CRC(ad332c55) SHA1(4f33485e0247cc8e9e9c6cb93a55ba08506d063f) ) + ROM_LOAD( "2.bin", 0x0800, 0x0800, CRC(2cb90c95) SHA1(b1721165395018a02e718d7d5e5dfa8ab794546b) ) + ROM_LOAD( "3.bin", 0x1000, 0x0800, CRC(5c7c74d4) SHA1(a321508525d4cf774924dd3e6ca9688d9d3cc4f6) ) + ROM_LOAD( "4.bin", 0x1800, 0x0800, CRC(57fe5a01) SHA1(4c4378f5e392549a85a6f52cf27719887315e36d) ) + ROM_LOAD( "no_id_2.bin", 0x2000, 0x0800, CRC(83b91651) SHA1(9c514743da47a92deea39c7a41f032d5dc0f5700) ) + ROM_LOAD( "6.bin", 0x2800, 0x0800, CRC(33dfca98) SHA1(ef15742674ad8f6c27dd9fd67fc0e8335699ad1b) ) + ROM_LOAD( "7.bin", 0x3000, 0x0800, CRC(b6b835e3) SHA1(ba14e664dbaa0e4e8b4e55e732ba7581afe4c9a7) ) + ROM_LOAD( "no_id_1.bin", 0x3800, 0x0800, CRC(d6721955) SHA1(725cacc8486f197e2a88ee1bbe9af01c792772a7) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) + ROM_LOAD( "1a_sonido.bin", 0x0000, 0x1000, NO_DUMP ) // missing + ROM_LOAD( "2b_sonido.bin", 0x1000, 0x1000, BAD_DUMP CRC(e8af1d77) SHA1(d05d7c015962989651a90f4bf9e64cd98c2ddd38) ) // FIXED BITS (xxx1xxxx) + + ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_LOAD( "9.bin", 0x0000, 0x0800, BAD_DUMP CRC(cba03b26) SHA1(9aa307db69bac1f7b14194b68ea969a547e6f92f) ) // bitrot + ROM_LOAD( "10.bin", 0x0800, 0x0800, CRC(3029f94f) SHA1(3b432b42e79f8b0a7d65e197f373a04e3c92ff20) ) + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "6e.bin", 0x0000, 0x0020, BAD_DUMP CRC(4e3caeab) SHA1(a25083c3e36d28afdefe4af6e6d4f3155e303625) ) // Not dumped on this set +ROM_END + ROM_START( olmandingo ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "olmandingo_1.bin", 0x0000, 0x0800, CRC(b5b9fcd9) SHA1(7a134de30041ac18521274f330eb4afe349da2db) ) @@ -15191,6 +15503,72 @@ ROM_START( guttangts3 ) ROM_LOAD( "pal16l8cn.11j", 0x000, 0x117, BAD_DUMP CRC(c75e94db) SHA1(3ecf73884691c44e211b1cfaead3d79baa394b7b) ) // Bruteforced and untested ROM_END + +ROM_START( sbhoei ) + ROM_REGION( 0x8000, "maincpu", 0 ) + ROM_LOAD( "4764.4k", 0x0000, 0x2000, CRC(d88f86cc) SHA1(9f284ee50caf3c64bd04a79a798de620348881bc) ) + ROM_RELOAD( 0x4000, 0x0800 ) + ROM_LOAD( "a.1k", 0x0000, 0x0800, CRC(a72175a4) SHA1(42cce21992b24cd1264426141311e310b89f6c23) ) + ROM_LOAD( "b.2k", 0x0800, 0x0800, CRC(133259bd) SHA1(d85daad4b8ff5a662bc51e5b46a5b7a755e3636f) ) + ROM_LOAD( "c.3k", 0x1000, 0x0800, CRC(d35b1434) SHA1(d3de38424cea10ca7c122118cc3fb6c900d62592) ) + ROM_LOAD( "d.5k", 0x2000, 0x0800, CRC(ff2cbd5a) SHA1(ad82b04b2cd8b2f71e62e011f8def6d201293a7b) ) + ROM_LOAD( "e.1j", 0x2800, 0x0800, CRC(6fa0993f) SHA1(0d8c79c6fa9f9a9b3e8f6c9c2fdcc572fe126419) ) + ROM_LOAD( "f.2j", 0x3000, 0x0800, CRC(a90ac60a) SHA1(d53447c1c54be5b372cd77b876b5f8f6def433d7) ) + ROM_LOAD( "g.3j", 0x3800, 0x0800, CRC(b7caf17f) SHA1(1c7b5a80ad71d7974460c598f02bc6f16511b952) ) + ROM_LOAD( "h.5j", 0x4800, 0x0800, CRC(1f8841d2) SHA1(1d53357fb22ec22df4b6faa8122be521a3c7bbeb) ) + ROM_LOAD( "i.1h", 0x5000, 0x0800, CRC(b24a7a88) SHA1(b463711a6b269985a5a3231bc502136d4a034ad7) ) + + ROM_REGION( 0x0800, "i8039", 0 ) // speech board + ROM_LOAD( "sound_h.ic3", 0x0000, 0x0800, CRC(21968996) SHA1(6b7b8d831689fe14f3040db04e06168311aa8a18) ) + + ROM_REGION( 0x1000, "sbhoei_sound_rom", 0 ) // speech board + ROM_LOAD( "sound_h.ic1", 0x0000, 0x1000, CRC(74383aac) SHA1(0289e85817f7f3d9e921002b465a23934ee61ade) ) + + ROM_REGION( 0x3000, "gfx1", 0 ) + ROM_LOAD( "b.15j", 0x0000, 0x0800, CRC(df47d042) SHA1(163a016ac63159c66dfb097e99fc058c9a9c7987) ) + ROM_LOAD( "d.14j", 0x0800, 0x0800, CRC(5f08bd01) SHA1(76cbbae14187fa464e74b2ab25be5bf7310e858d) ) + ROM_LOAD( "f.13j", 0x1000, 0x0800, CRC(ac234ff4) SHA1(30e02bad8884f357444c4df2cb79e2b678634775) ) + ROM_LOAD( "a.15k", 0x1800, 0x0800, CRC(8e05141f) SHA1(3a507c24533290d532e7cfb82d93fa73956f5b20) ) + ROM_LOAD( "c.14k", 0x2000, 0x0800, CRC(c15ac36f) SHA1(dbe3cf6017c263413c770040d659612c3954be73) ) + ROM_LOAD( "e.13k", 0x2800, 0x0800, CRC(a7bb7c92) SHA1(ef356c10793d02d4f80582dc429340f682f2c40c) ) + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "colrom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + +ROM_START( sbhoeia ) + ROM_REGION( 0x8000, "maincpu", 0 ) + ROM_LOAD( "4764.4k", 0x0000, 0x2000, CRC(d88f86cc) SHA1(9f284ee50caf3c64bd04a79a798de620348881bc) ) + ROM_RELOAD( 0x4000, 0x0800 ) + ROM_LOAD( "s2-a.1k", 0x0000, 0x0800, CRC(b07fa2dd) SHA1(ec2b5caa6e57e3f3ae37979af3d104e602e1fe92) ) + ROM_LOAD( "s2-b.2k", 0x0800, 0x0800, CRC(42ce5b91) SHA1(5048e0dff416a43e47879d30f7eac1861a49e4f4) ) + ROM_LOAD( "s2-c.3k", 0x1000, 0x0800, CRC(08fd6af2) SHA1(9c0f1eabe508e7f7c6f5c124289226fd6098af32) ) + ROM_LOAD( "s2-d.5k", 0x2000, 0x0800, CRC(62ea78ef) SHA1(41323b84242152a6b15f08c160d2f37cb4ef58a6) ) + ROM_LOAD( "s2-e.1j", 0x2800, 0x0800, CRC(7553955a) SHA1(f22e8a6d4399fafd5e966342bf957c7678d678a8) ) + ROM_LOAD( "s2-f.2j", 0x3000, 0x0800, CRC(54d7ef11) SHA1(635eaf6cc93af36d858302abc98481b251fed15d) ) + ROM_LOAD( "s2-g.3j", 0x3800, 0x0800, CRC(9609943b) SHA1(2ffb86d8f2043aaec86aeaa1044cbc50a3c0de97) ) + ROM_LOAD( "s2-h.5j", 0x4800, 0x0800, CRC(bf237239) SHA1(77ca35776918183d37db5110d10f5493ec4bb9b6) ) + ROM_LOAD( "i.1h", 0x5000, 0x0800, CRC(b24a7a88) SHA1(b463711a6b269985a5a3231bc502136d4a034ad7) ) + + ROM_REGION( 0x0800, "i8039", 0 ) // speech board + ROM_LOAD( "sound_h.ic3", 0x0000, 0x0800, CRC(21968996) SHA1(6b7b8d831689fe14f3040db04e06168311aa8a18) ) + + ROM_REGION( 0x1000, "sbhoei_sound_rom", 0 ) // speech board + ROM_LOAD( "sound_h.ic1", 0x0000, 0x1000, CRC(74383aac) SHA1(0289e85817f7f3d9e921002b465a23934ee61ade) ) + + ROM_REGION( 0x3000, "gfx1", 0 ) + ROM_LOAD( "b.15j", 0x0000, 0x0800, CRC(df47d042) SHA1(163a016ac63159c66dfb097e99fc058c9a9c7987) ) + ROM_LOAD( "d.14j", 0x0800, 0x0800, CRC(5f08bd01) SHA1(76cbbae14187fa464e74b2ab25be5bf7310e858d) ) + ROM_LOAD( "f.13j", 0x1000, 0x0800, CRC(ac234ff4) SHA1(30e02bad8884f357444c4df2cb79e2b678634775) ) + ROM_LOAD( "a.15k", 0x1800, 0x0800, CRC(8e05141f) SHA1(3a507c24533290d532e7cfb82d93fa73956f5b20) ) + ROM_LOAD( "c.14k", 0x2000, 0x0800, CRC(c15ac36f) SHA1(dbe3cf6017c263413c770040d659612c3954be73) ) + ROM_LOAD( "e.13k", 0x2800, 0x0800, CRC(a7bb7c92) SHA1(ef356c10793d02d4f80582dc429340f682f2c40c) ) + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "colrom.bin", 0x0000, 0x0020, CRC(6a0c7d87) SHA1(140335d85c67c75b65689d4e76d29863c209cf32) ) +ROM_END + + /************************************* * * Game drivers @@ -15248,7 +15626,6 @@ GAME( 1980, astrians, galaxian, galaxian, swarm, galaxian_state, init_ GAME( 19??, tst_galx, galaxian, galaxian, galaxian, galaxian_state, init_galaxian, ROT90, "<unknown>", "Galaxian Test ROM", MACHINE_SUPPORTS_SAVE ) - // Other games on basic galaxian hardware GAME( 1981, blkhole, 0, galaxian, blkhole, galaxian_state, init_galaxian, ROT90, "TDS & MINTS", "Black Hole", MACHINE_SUPPORTS_SAVE ) GAME( 1982, orbitron, 0, galaxian, orbitron, galaxian_state, init_galaxian, ROT270, "Comsoft (Signatron USA license)", "Orbitron", MACHINE_SUPPORTS_SAVE ) // there's a Comsoft copyright in one of the roms, and the gameplay is the same as Victory below @@ -15272,6 +15649,7 @@ GAME( 1981, spactrai, warofbug, spactrai, spactrai, galaxian_state, init_ GAME( 1981, redufo, 0, galaxian, redufo, galaxian_state, init_nolock, ROT270, "Artic", "Defend the Terra Attack on the Red UFO", MACHINE_SUPPORTS_SAVE ) // is this the original? GAME( 1981, redufob, redufo, galaxian, redufob, galaxian_state, init_nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO (bootleg, set 1)", MACHINE_SUPPORTS_SAVE ) // rev A? GAME( 1981, redufob2, redufo, galaxian, redufob, galaxian_state, init_nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO (bootleg, set 2)", MACHINE_SUPPORTS_SAVE ) +GAME( 1981, redufob3, redufo, galaxian, redufob3, galaxian_state, init_nolock, ROT90, "bootleg", "Defend the Terra Attack on the Red UFO (bootleg, set 3)", MACHINE_SUPPORTS_SAVE ) GAME( 19??, exodus, redufo, galaxian, redufo, galaxian_state, init_nolock, ROT90, "bootleg? (Subelectro)", "Exodus (bootleg?)", MACHINE_SUPPORTS_SAVE ) GAME( 1983, tdpgal, 0, galaxian, tdpgal, galaxian_state, init_nolock, ROT90, "Design Labs / Thomas Automatics", "Triple Draw Poker", MACHINE_SUPPORTS_SAVE ) GAME( 1979, kamakazi3, galaxian, galaxian, superg, galaxian_state, init_nolock, ROT90, "hack", "Kamakazi III ('Super Galaxians' hack)", MACHINE_SUPPORTS_SAVE ) // Hack of a hack (superg) @@ -15316,7 +15694,8 @@ GAME( 1981, atlantisb, atlantis, galaxian, atlantib, galaxian_state, init_ GAME( 1982, tenspot, 0, tenspot, tenspot, tenspot_state, init_tenspot, ROT270, "Thomas Automatics", "Ten Spot", MACHINE_NOT_WORKING ) // Work out how menu works // Separate tile/sprite ROMs, plus INT instead of NMI -GAME( 1984, devilfsg, devilfsh, devilfsg, devilfsg, galaxian_state, init_galaxian, ROT270, "Vision / Artic", "Devil Fish (Galaxian hardware, bootleg?)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, devilfshg, devilfsh, devilfshg, devilfshg, galaxian_state, init_devilfshg, ROT270, "Artic", "Devil Fish (Galaxian hardware)", MACHINE_SUPPORTS_SAVE ) +GAME( 1984, devilfshgb, devilfsh, devilfshg, devilfshg, galaxian_state, init_galaxian, ROT270, "bootleg (Vision)", "Devil Fish (Galaxian hardware, bootleg)", MACHINE_SUPPORTS_SAVE ) // unencrypted // Sound hardware replaced with AY8910 // We're missing the original set by Taito do Brasil, we only have the bootlegs @@ -15476,6 +15855,7 @@ GAME( 1982, amigo2, amidar, amigo2, amidaru, galaxian_state, init_ GAME( 1982, amidars, amidar, scramble, amidars, galaxian_state, init_scramble, ROT90, "Konami", "Amidar (Scramble hardware)", MACHINE_SUPPORTS_SAVE ) GAME( 1982, mandinga, amidar, scramble, amidars, galaxian_state, init_mandinga, ROT90, "bootleg (Artemi)", "Mandinga (Artemi bootleg of Amidar)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // color PROM needs bitswap<8> on addressing, reference: http://www.youtube.com/watch?v=6uGK4AZxV2U GAME( 1982, mandingaeg, amidar, scramble, amidars, galaxian_state, init_mandingaeg, ROT90, "bootleg (Electrogame S.A.)", "Mandinga (Electrogame S.A. bootleg of Amidar)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) +GAME( 1982, mandinka, amidar, mandinka, amidar, galaxian_state, init_scramble, ROT90, "bootleg", "Mandinka (bootleg of Amidar)", MACHINE_NO_SOUND | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // bad / missing audio CPU ROMs and color PROM GAME( 1982, mandingarf, amidar, mandingarf, mandingarf, galaxian_state, init_galaxian, ROT90, "bootleg (Recreativos Franco S.A.)", "Mandanga (bootleg of Mandinga on Galaxian hardware, set 1)", MACHINE_NO_COCKTAIL | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // assume same issue as mandinga GAME( 1982, mandingac, amidar, mandingarf, mandingarf, galaxian_state, init_galaxian, ROT90, "bootleg (Centromatic)", "Mandanga (bootleg of Mandinga on Galaxian hardware, set 2)", MACHINE_NO_COCKTAIL | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) // assume same issue as mandinga GAME( 1982, olmandingo, amidar, mandingarf, olmandingo, galaxian_state, init_galaxian, ROT90, "bootleg", "Olivmandingo (Spanish bootleg of Mandinga on Galaxian hardware, set 1)", MACHINE_SUPPORTS_SAVE ) @@ -15556,10 +15936,10 @@ GAME( 1981, armorcar2, armorcar, scobra, armorcar2, galaxian_state, init_ GAME( 1982, tazmania, 0, scobra, tazmania, galaxian_state, init_scobra, ROT90, "Stern Electronics", "Tazz-Mania (set 1)", MACHINE_SUPPORTS_SAVE ) -GAME( 1982, mimonkey, 0, mimonkey, mimonkey, galaxian_state, init_mimonkey, ROT90, "Universal Video Games", "Mighty Monkey", MACHINE_SUPPORTS_SAVE ) -GAME( 1982, mimonsco, mimonkey, mimonkey, mimonsco, galaxian_state, init_mimonkeyb, ROT90, "bootleg", "Mighty Monkey (bootleg on Super Cobra hardware)", MACHINE_SUPPORTS_SAVE ) -GAME( 1982, mimonscr, mimonkey, mimonscr, mimonkey, galaxian_state, init_mimonkeyb, ROT90, "bootleg", "Mighty Monkey (bootleg on Scramble hardware)", MACHINE_SUPPORTS_SAVE ) -GAME( 1982, mimonscra, mimonkey, mimonscr, mimonkey, galaxian_state, init_mimonkeyb, ROT90, "bootleg (Kaina Games)", "Mighty Monkey (Kaina Games, bootleg on Scramble hardware)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, mimonkey, 0, mimonkey, mimonkey, galaxian_state, init_mimonkey, ROT90, "Universal Video Games", "Mighty Monkey", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, mimonsco, mimonkey, mimonkey, mimonsco, galaxian_state, init_mimonkeyb, ROT90, "bootleg", "Mighty Monkey (bootleg on Super Cobra hardware)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, mimonscr, mimonkey, mimonscr, mimonkey, galaxian_state, init_mimonkeyb, ROT90, "bootleg", "Mighty Monkey (bootleg on Scramble hardware)", MACHINE_SUPPORTS_SAVE ) +GAME( 1982, mimonscra, mimonkey, mimonscr, mimonkey, galaxian_state, init_mimonkeyb, ROT90, "bootleg (Kaina Games)", "Mighty Monkey (Kaina Games, bootleg on Scramble hardware)", MACHINE_SUPPORTS_SAVE ) /* Anteater (sold as conversion kit) @@ -15573,7 +15953,6 @@ GAME( 1982, anteatergg, anteater, anteatergg, anteatergg, galaxian_state, init_ GAME( 1982, calipso, 0, scobra, calipso, galaxian_state, init_calipso, ROT90, "Tago Electronics", "Calipso", MACHINE_SUPPORTS_SAVE ) - /* Lost Tomb CPU/Video Board: A969 (Has various wire mods) @@ -15586,5 +15965,9 @@ GAME( 1984, spdcoin, 0, scobra, spdcoin, galaxian_state, init_ GAME( 1985, superbon, 0, scobra, superbon, galaxian_state, init_superbon, ROT90, "Signatron USA", "Agent Super Bond (Super Cobra conversion)", MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) -// single player reference: https://www.nicovideo.jp/watch/sm16782405 +// Namennayo - single player reference: https://www.nicovideo.jp/watch/sm16782405 GAME( 1982, namenayo, 0, namenayo, namenayo, namenayo_state, init_namenayo, ROT0, "Cat's", "Namennayo (Japan)", MACHINE_SUPPORTS_SAVE ) + +// Hoei Space Battle +GAME( 1980, sbhoei, 0, sbhoei, sbhoei, sbhoei_state, init_sbhoei, ROT90, "Hoei", "Space Battle (Hoei, set 1)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 1980, sbhoeia, sbhoei, sbhoei, sbhoei, sbhoei_state, init_sbhoei, ROT90, "Hoei", "Space Battle (Hoei, set 2)", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) diff --git a/docs/release/src/mame/drivers/model2.cpp b/docs/release/src/mame/drivers/model2.cpp index 2c68ccaf6d5..9f659200348 100644 --- a/docs/release/src/mame/drivers/model2.cpp +++ b/docs/release/src/mame/drivers/model2.cpp @@ -135,15 +135,15 @@ void model2_state::timers_w(offs_t offset, u32 data, u32 mem_mask) m_timerrun[offset] = 1; } +template <int TNum> TIMER_DEVICE_CALLBACK_MEMBER(model2_state::model2_timer_cb) { - int tnum = (int)(uintptr_t)ptr; - int bit = tnum + 2; + int bit = TNum + 2; - if(m_timerrun[tnum] == 0) + if(m_timerrun[TNum] == 0) return; - m_timers[tnum]->reset(); + m_timers[TNum]->reset(); m_intreq |= (1<<bit); if(m_intena & 1<<bit) @@ -151,8 +151,8 @@ TIMER_DEVICE_CALLBACK_MEMBER(model2_state::model2_timer_cb) //printf("%08x %08x (%08x)\n",m_intreq,m_intena,1<<bit); model2_check_irq_state(); - m_timervals[tnum] = 0xfffff; - m_timerrun[tnum] = 0; + m_timervals[TNum] = 0xfffff; + m_timerrun[TNum] = 0; } void model2_state::machine_start() @@ -2459,17 +2459,13 @@ void model2_state::scsp_irq(offs_t offset, u8 data) void model2_state::model2_timers(machine_config &config) { timer_device &timer0(TIMER(config, "timer0")); - timer0.configure_generic(FUNC(model2_state::model2_timer_cb)); - timer0.set_ptr((void *)(uintptr_t)0); + timer0.configure_generic(FUNC(model2_state::model2_timer_cb<0>)); timer_device &timer1(TIMER(config, "timer1")); - timer1.configure_generic(FUNC(model2_state::model2_timer_cb)); - timer1.set_ptr((void *)(uintptr_t)1); + timer1.configure_generic(FUNC(model2_state::model2_timer_cb<1>)); timer_device &timer2(TIMER(config, "timer2")); - timer2.configure_generic(FUNC(model2_state::model2_timer_cb)); - timer2.set_ptr((void *)(uintptr_t)2); + timer2.configure_generic(FUNC(model2_state::model2_timer_cb<2>)); timer_device &timer3(TIMER(config, "timer3")); - timer3.configure_generic(FUNC(model2_state::model2_timer_cb)); - timer3.set_ptr((void *)(uintptr_t)3); + timer3.configure_generic(FUNC(model2_state::model2_timer_cb<3>)); } void model2_state::model2_screen(machine_config &config) diff --git a/docs/release/src/mame/video/midtunit.cpp b/docs/release/src/mame/video/midtunit.cpp index 514602dfda0..506697640a7 100644 --- a/docs/release/src/mame/video/midtunit.cpp +++ b/docs/release/src/mame/video/midtunit.cpp @@ -616,7 +616,7 @@ DEFINE_TEMPLATED_DMA_DRAW_GROUP(false, false); * *************************************/ -void midtunit_video_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) +void midtunit_video_device::device_timer(emu_timer &timer, device_timer_id id, int param) { switch (id) { diff --git a/docs/release/src/version.cpp b/docs/release/src/version.cpp index 2e8c3e2eb7a..e407654a36e 100644 --- a/docs/release/src/version.cpp +++ b/docs/release/src/version.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ -#define BARE_BUILD_VERSION "0.240" +#define BARE_BUILD_VERSION "0.241" extern const char bare_build_version[]; extern const char build_version[]; @@ -1546,7 +1546,7 @@ endif ifeq (posix,$(SHELLTYPE)) $(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS) - @echo '#define BARE_BUILD_VERSION "0.240"' > $@ + @echo '#define BARE_BUILD_VERSION "0.241"' > $@ @echo '#define BARE_VCS_REVISION "$(NEW_GIT_VERSION)"' >> $@ @echo 'extern const char bare_build_version[];' >> $@ @echo 'extern const char bare_vcs_revision[];' >> $@ @@ -1556,7 +1556,7 @@ $(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS) @echo 'const char build_version[] = BARE_BUILD_VERSION " (" BARE_VCS_REVISION ")";' >> $@ else $(GENDIR)/version.cpp: makefile $(GENDIR)/git_desc | $(GEN_FOLDERS) - @echo #define BARE_BUILD_VERSION "0.240" > $@ + @echo #define BARE_BUILD_VERSION "0.241" > $@ @echo #define BARE_VCS_REVISION "$(NEW_GIT_VERSION)" >> $@ @echo extern const char bare_build_version[]; >> $@ @echo extern const char bare_vcs_revision[]; >> $@ diff --git a/src/version.cpp b/src/version.cpp index 2e8c3e2eb7a..e407654a36e 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ -#define BARE_BUILD_VERSION "0.240" +#define BARE_BUILD_VERSION "0.241" extern const char bare_build_version[]; extern const char build_version[]; |