summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2022-02-23 15:06:53 +1100
committer Robbbert <Robbbert@users.noreply.github.com>2022-02-23 15:06:53 +1100
commit1281aa019f5175cc76ee3d51d2f56ea28f62aec7 (patch)
tree5708273d40f2e83f41f85f2b7fd3a4b92ec8b281
parent15e11be4b4d02a7cdeff027dae1cd317c2978ded (diff)
files for 0.241tag241
-rw-r--r--docs/release/scripts/src/3rdparty.lua69
-rw-r--r--docs/release/scripts/src/bus.lua17
-rw-r--r--docs/release/scripts/src/cpu.lua39
-rw-r--r--docs/release/scripts/src/formats.lua12
-rw-r--r--docs/release/scripts/src/lib.lua1
-rw-r--r--docs/release/scripts/src/machine.lua12
-rw-r--r--docs/release/scripts/target/mame/arcade.lua25
-rw-r--r--docs/release/scripts/target/mame/mess.lua11
-rw-r--r--docs/release/src/devices/cpu/m68000/m68kcpu.cpp15
-rw-r--r--docs/release/src/emu/video.cpp4
-rw-r--r--docs/release/src/emu/video.h2
-rw-r--r--docs/release/src/frontend/mame/audit.cpp5
-rw-r--r--docs/release/src/frontend/mame/clifront.cpp1
-rw-r--r--docs/release/src/frontend/mame/ui/inifile.cpp2
-rw-r--r--docs/release/src/hbmame/drivers/cps1mis.cpp33
-rw-r--r--docs/release/src/hbmame/drivers/cps2mis.cpp38
-rw-r--r--docs/release/src/hbmame/drivers/midwunit.cpp47
-rw-r--r--docs/release/src/hbmame/drivers/neogeohb.cpp2
-rw-r--r--docs/release/src/hbmame/hbmame.lst15
-rw-r--r--docs/release/src/mame/drivers/galaxian.cpp435
-rw-r--r--docs/release/src/mame/drivers/model2.cpp24
-rw-r--r--docs/release/src/mame/video/midtunit.cpp2
-rw-r--r--docs/release/src/version.cpp2
-rw-r--r--makefile4
-rw-r--r--src/version.cpp2
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[];
diff --git a/makefile b/makefile
index 88dfa3ca859..0f3e1e7d356 100644
--- a/makefile
+++ b/makefile
@@ -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[];