diff options
author | 2018-12-26 01:01:57 +1100 | |
---|---|---|
committer | 2018-12-26 01:01:57 +1100 | |
commit | 796382ccc3e6520b97f321d342d9c99722ecece3 (patch) | |
tree | 06f7daa04523b4cb1ceb72ca73c395cbcccfd226 | |
parent | 61e04eda36dcc37c60539f8d91faa0f350613432 (diff) |
0.205 Release filestag205
40 files changed, 1575 insertions, 631 deletions
diff --git a/docs/release/build/newsrc.bat b/docs/release/build/newsrc.bat index 24311ad2a2e..6bb7250147a 100644 --- a/docs/release/build/newsrc.bat +++ b/docs/release/build/newsrc.bat @@ -22,10 +22,20 @@ md %to%\src\devices\cpu\m68000 copy /Y %from%\src\devices\cpu\m68000\m68kcpu.cpp %to%\src\devices\cpu\m68000 copy /Y %from%\src\devices\cpu\m68000\m68k_in.cpp %to%\src\devices\cpu\m68000 +md %to%\src\devices\video +copy /Y %from%\src\devices\video\vector.cpp %to%\src\devices\video + md %to%\src\mame\drivers copy /Y %from%\src\mame\drivers\jrpacman.cpp %to%\src\mame\drivers copy /Y %from%\src\mame\drivers\model2.cpp %to%\src\mame\drivers +md %to%\src\mame\includes +copy /Y %from%\src\mame\includes\mhavoc.h %to%\src\mame\includes +copy /Y %from%\src\mame\includes\timelimt.h %to%\src\mame\includes + +md %to%\src\mame\machine +copy /Y %from%\src\mame\machine\mhavoc.cpp %to%\src\mame\machine + md %to%\src\hbmame xcopy /E /Y %from%\src\hbmame %to%\src\hbmame diff --git a/docs/release/build/uprel.bat b/docs/release/build/uprel.bat index f8b0d01f4b4..427838ac412 100644 --- a/docs/release/build/uprel.bat +++ b/docs/release/build/uprel.bat @@ -1,6 +1,6 @@ -//goto end +\goto end git fetch upstream -git merge upstream/release0204 +git merge upstream/release0205 git checkout master :end pause diff --git a/docs/release/hbmame204s.rar b/docs/release/hbmame205s.rar Binary files differindex 77de4353e7c..f24e0b71ae3 100644 --- a/docs/release/hbmame204s.rar +++ b/docs/release/hbmame205s.rar diff --git a/docs/release/scripts/genie.lua b/docs/release/scripts/genie.lua index b11b99203d4..46a4f9310d9 100644 --- a/docs/release/scripts/genie.lua +++ b/docs/release/scripts/genie.lua @@ -219,7 +219,27 @@ newoption { newoption { trigger = "ARCHOPTS", - description = "ARCHOPTS.", + description = "Additional options for target C/C++/Objective-C/Objective-C++ compilers and linker.", +} + +newoption { + trigger = "ARCHOPTS_C", + description = "Additional options for target C++ compiler.", +} + +newoption { + trigger = "ARCHOPTS_CXX", + description = "Additional options for target C++ compiler.", +} + +newoption { + trigger = "ARCHOPTS_OBJC", + description = "Additional options for target Objective-C compiler.", +} + +newoption { + trigger = "ARCHOPTS_OBJCXX", + description = "Additional options for target Objective-C++ compiler.", } newoption { @@ -869,6 +889,30 @@ if _OPTIONS["ARCHOPTS"] then } end +if _OPTIONS["ARCHOPTS_C"] then + buildoptions_c { + _OPTIONS["ARCHOPTS_C"] + } +end + +if _OPTIONS["ARCHOPTS_CXX"] then + buildoptions_cpp { + _OPTIONS["ARCHOPTS_CXX"] + } +end + +if _OPTIONS["ARCHOPTS_OBJC"] then + buildoptions_objc { + _OPTIONS["ARCHOPTS_OBJC"] + } +end + +if _OPTIONS["ARCHOPTS_OBJCXX"] then + buildoptions_objcpp { + _OPTIONS["ARCHOPTS_OBJCXX"] + } +end + if _OPTIONS["SHLIB"] then buildoptions { "-fPIC" diff --git a/docs/release/scripts/src/3rdparty.lua b/docs/release/scripts/src/3rdparty.lua index 7c1cc4acf4c..2ccfa749e19 100644 --- a/docs/release/scripts/src/3rdparty.lua +++ b/docs/release/scripts/src/3rdparty.lua @@ -1198,6 +1198,7 @@ project "bimg" files { MAME_DIR .. "3rdparty/bimg/src/image.cpp", + MAME_DIR .. "3rdparty/bimg/src/image_gnf.cpp", } -------------------------------------------------- @@ -1324,12 +1325,10 @@ end files { MAME_DIR .. "3rdparty/bgfx/src/bgfx.cpp", MAME_DIR .. "3rdparty/bgfx/src/debug_renderdoc.cpp", + MAME_DIR .. "3rdparty/bgfx/src/dxgi.cpp", MAME_DIR .. "3rdparty/bgfx/src/glcontext_egl.cpp", MAME_DIR .. "3rdparty/bgfx/src/glcontext_glx.cpp", MAME_DIR .. "3rdparty/bgfx/src/glcontext_wgl.cpp", - MAME_DIR .. "3rdparty/bgfx/src/hmd.cpp", - MAME_DIR .. "3rdparty/bgfx/src/hmd_ovr.cpp", - MAME_DIR .. "3rdparty/bgfx/src/hmd_openvr.cpp", MAME_DIR .. "3rdparty/bgfx/src/nvapi.cpp", MAME_DIR .. "3rdparty/bgfx/src/renderer_d3d11.cpp", MAME_DIR .. "3rdparty/bgfx/src/renderer_d3d12.cpp", @@ -1347,8 +1346,9 @@ end MAME_DIR .. "3rdparty/bgfx/examples/common/imgui/imgui.cpp", MAME_DIR .. "3rdparty/bgfx/examples/common/nanovg/nanovg.cpp", MAME_DIR .. "3rdparty/bgfx/examples/common/nanovg/nanovg_bgfx.cpp", - MAME_DIR .. "3rdparty/bgfx/3rdparty/ocornut-imgui/imgui.cpp", - MAME_DIR .. "3rdparty/bgfx/3rdparty/ocornut-imgui/imgui_draw.cpp", + MAME_DIR .. "3rdparty/bgfx/3rdparty/dear-imgui/imgui.cpp", + MAME_DIR .. "3rdparty/bgfx/3rdparty/dear-imgui/imgui_draw.cpp", + MAME_DIR .. "3rdparty/bgfx/3rdparty/dear-imgui/imgui_widgets.cpp", } if _OPTIONS["targetos"]=="macosx" then files { diff --git a/docs/release/scripts/src/bus.lua b/docs/release/scripts/src/bus.lua index c16acbe2dde..dc6bbd80a91 100644 --- a/docs/release/scripts/src/bus.lua +++ b/docs/release/scripts/src/bus.lua @@ -349,8 +349,12 @@ if (BUSES["BBC_1MHZBUS"]~=null) then MAME_DIR .. "src/devices/bus/bbc/1mhzbus/1mhzbus.h", MAME_DIR .. "src/devices/bus/bbc/1mhzbus/beebsid.cpp", MAME_DIR .. "src/devices/bus/bbc/1mhzbus/beebsid.h", + MAME_DIR .. "src/devices/bus/bbc/1mhzbus/emrmidi.cpp", + MAME_DIR .. "src/devices/bus/bbc/1mhzbus/emrmidi.h", MAME_DIR .. "src/devices/bus/bbc/1mhzbus/ieee488.cpp", MAME_DIR .. "src/devices/bus/bbc/1mhzbus/ieee488.h", + MAME_DIR .. "src/devices/bus/bbc/1mhzbus/m2000.cpp", + MAME_DIR .. "src/devices/bus/bbc/1mhzbus/m2000.h", MAME_DIR .. "src/devices/bus/bbc/1mhzbus/opus3.cpp", MAME_DIR .. "src/devices/bus/bbc/1mhzbus/opus3.h", MAME_DIR .. "src/devices/bus/bbc/1mhzbus/cfa3000opt.cpp", @@ -3055,6 +3059,8 @@ if (BUSES["ZORRO"]~=null) then MAME_DIR .. "src/devices/bus/amiga/zorro/cards.h", MAME_DIR .. "src/devices/bus/amiga/zorro/a2052.cpp", MAME_DIR .. "src/devices/bus/amiga/zorro/a2052.h", + MAME_DIR .. "src/devices/bus/amiga/zorro/a2058.cpp", + MAME_DIR .. "src/devices/bus/amiga/zorro/a2058.h", MAME_DIR .. "src/devices/bus/amiga/zorro/a2065.cpp", MAME_DIR .. "src/devices/bus/amiga/zorro/a2065.h", MAME_DIR .. "src/devices/bus/amiga/zorro/a2232.cpp", @@ -3472,6 +3478,8 @@ if (BUSES["HP9845_IO"]~=null) then files { MAME_DIR .. "src/devices/bus/hp9845_io/hp9845_io.cpp", MAME_DIR .. "src/devices/bus/hp9845_io/hp9845_io.h", + MAME_DIR .. "src/devices/bus/hp9845_io/98032.cpp", + MAME_DIR .. "src/devices/bus/hp9845_io/98032.h", MAME_DIR .. "src/devices/bus/hp9845_io/98034.cpp", MAME_DIR .. "src/devices/bus/hp9845_io/98034.h", MAME_DIR .. "src/devices/bus/hp9845_io/98035.cpp", diff --git a/docs/release/scripts/src/cpu.lua b/docs/release/scripts/src/cpu.lua index f8503ac9056..08fe95f7f68 100644 --- a/docs/release/scripts/src/cpu.lua +++ b/docs/release/scripts/src/cpu.lua @@ -66,6 +66,26 @@ if (CPUS["8X300"]~=null or _OPTIONS["with-tools"]) then end -------------------------------------------------- +-- 3DO Don's Super Performing Processor (DSPP) +--@src/devices/cpu/dspp/dspp.h,CPUS["DSPP"] = true +-------------------------------------------------- + +if (CPUS["DSPP"]~=null) then + files { + MAME_DIR .. "src/devices/cpu/dspp/dspp.cpp", + MAME_DIR .. "src/devices/cpu/dspp/dspp.h", + MAME_DIR .. "src/devices/cpu/dspp/dsppdrc.cpp", + MAME_DIR .. "src/devices/cpu/dspp/dsppfe.cpp", + MAME_DIR .. "src/devices/cpu/dspp/dsppfe.h", + } +end + +if (CPUS["DSPP"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dspp/dsppdasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/dspp/dsppdasm.h") +end + +-------------------------------------------------- -- ARCangent A4 --@src/devices/cpu/arc/arc.h,CPUS["ARC"] = true -------------------------------------------------- @@ -988,12 +1008,16 @@ if (CPUS["MCS51"]~=null) then MAME_DIR .. "src/devices/cpu/mcs51/mcs51.cpp", MAME_DIR .. "src/devices/cpu/mcs51/mcs51.h", MAME_DIR .. "src/devices/cpu/mcs51/mcs51ops.hxx", + MAME_DIR .. "src/devices/cpu/mcs51/axc51-core.cpp", + MAME_DIR .. "src/devices/cpu/mcs51/axc51-core.h", } end if (CPUS["MCS51"]~=null or _OPTIONS["with-tools"]) then table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mcs51/mcs51dasm.cpp") table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mcs51/mcs51dasm.h") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mcs51/axc51-core_dasm.cpp") + table.insert(disasm_files , MAME_DIR .. "src/devices/cpu/mcs51/axc51-core_dasm.h") end -------------------------------------------------- @@ -1073,6 +1097,7 @@ if (CPUS["I386"]~=null) then MAME_DIR .. "src/devices/cpu/i386/pentops.hxx", MAME_DIR .. "src/devices/cpu/i386/x87ops.hxx", MAME_DIR .. "src/devices/cpu/i386/x87priv.h", + MAME_DIR .. "src/devices/cpu/i386/cpuidmsrs.hxx", } end diff --git a/docs/release/scripts/target/hbmame/hbmame.lua b/docs/release/scripts/target/hbmame/hbmame.lua index 591866bbbb5..ea239f09cf2 100644 --- a/docs/release/scripts/target/hbmame/hbmame.lua +++ b/docs/release/scripts/target/hbmame/hbmame.lua @@ -334,6 +334,11 @@ createHBMAMEProjects(_target, _subtarget, "atari") files { MAME_DIR .. "src/hbmame/drivers/asteroid.cpp", MAME_DIR .. "src/mame/machine/asteroid.cpp", + MAME_DIR .. "src/hbmame/drivers/atarig42.cpp", + MAME_DIR .. "src/mame/video/atarig42.cpp", + MAME_DIR .. "src/mame/machine/asic65.cpp", + MAME_DIR .. "src/mame/video/atarirle.cpp", + MAME_DIR .. "src/mame/audio/atarijsa.cpp", MAME_DIR .. "src/hbmame/drivers/atarisy1.cpp", MAME_DIR .. "src/mame/video/atarisy1.cpp", MAME_DIR .. "src/mame/audio/asteroid.cpp", @@ -351,6 +356,8 @@ files { MAME_DIR .. "src/mame/audio/llander.cpp", MAME_DIR .. "src/mame/video/atarimo.cpp", MAME_DIR .. "src/mame/video/avgdvg.cpp", + MAME_DIR .. "src/hbmame/drivers/mhavoc.cpp", + MAME_DIR .. "src/mame/machine/mhavoc.cpp", } createHBMAMEProjects(_target, _subtarget, "atlus") @@ -614,7 +621,7 @@ files { MAME_DIR .. "src/mame/video/xevious.cpp", MAME_DIR .. "src/hbmame/drivers/galaxian.cpp", MAME_DIR .. "src/mame/audio/galaxian.cpp", - MAME_DIR .. "src/hbmame/video/galaxian.cpp", + MAME_DIR .. "src/mame/video/galaxian.cpp", MAME_DIR .. "src/hbmame/drivers/mappy.cpp", MAME_DIR .. "src/mame/video/mappy.cpp", MAME_DIR .. "src/hbmame/drivers/pacland.cpp", diff --git a/docs/release/scripts/target/mame/arcade.lua b/docs/release/scripts/target/mame/arcade.lua index 2c2dca39817..e7549a60042 100644 --- a/docs/release/scripts/target/mame/arcade.lua +++ b/docs/release/scripts/target/mame/arcade.lua @@ -132,6 +132,7 @@ CPUS["HMCS40"] = true --CPUS["HPHYBRID"] = true --CPUS["SM510"] = true CPUS["ST62XX"] = true +CPUS["DSPP"] = true -------------------------------------------------- -- specify available sound cores @@ -1678,6 +1679,7 @@ files { MAME_DIR .. "src/mame/drivers/vaportra.cpp", MAME_DIR .. "src/mame/includes/vaportra.h", MAME_DIR .. "src/mame/video/vaportra.cpp", + MAME_DIR .. "src/mame/drivers/wacky_gator.cpp", MAME_DIR .. "src/mame/machine/deco_irq.cpp", MAME_DIR .. "src/mame/machine/deco_irq.h", MAME_DIR .. "src/mame/machine/deco102.cpp", @@ -1749,7 +1751,7 @@ files { MAME_DIR .. "src/mame/drivers/stlforce.cpp", MAME_DIR .. "src/mame/includes/stlforce.h", MAME_DIR .. "src/mame/video/edevices.cpp", - MAME_DIR .. "src/mame/video/edevices.h", + MAME_DIR .. "src/mame/video/edevices.h", MAME_DIR .. "src/mame/drivers/mugsmash.cpp", MAME_DIR .. "src/mame/includes/mugsmash.h", MAME_DIR .. "src/mame/video/mugsmash.cpp", @@ -2359,6 +2361,10 @@ files { MAME_DIR .. "src/mame/machine/konamigx.cpp", MAME_DIR .. "src/mame/video/konamigx.cpp", MAME_DIR .. "src/mame/drivers/konamim2.cpp", + MAME_DIR .. "src/mame/machine/3dom2.cpp", + MAME_DIR .. "src/mame/machine/3dom2.h", + MAME_DIR .. "src/mame/video/3dom2_te.cpp", + MAME_DIR .. "src/mame/video/3dom2_te.h", MAME_DIR .. "src/mame/drivers/konblands.cpp", MAME_DIR .. "src/mame/drivers/konmedal.cpp", MAME_DIR .. "src/mame/drivers/konmedal68k.cpp", @@ -2708,6 +2714,8 @@ files { MAME_DIR .. "src/mame/audio/midway.h", MAME_DIR .. "src/mame/audio/csd.cpp", MAME_DIR .. "src/mame/audio/csd.h", + MAME_DIR .. "src/mame/audio/sente6vb.cpp", + MAME_DIR .. "src/mame/audio/sente6vb.h", } createMAMEProjects(_target, _subtarget, "namco") @@ -3469,6 +3477,7 @@ files { MAME_DIR .. "src/mame/machine/xbox.cpp", MAME_DIR .. "src/mame/machine/xbox_usb.cpp", MAME_DIR .. "src/mame/machine/xbox_pci.cpp", + MAME_DIR .. "src/mame/drivers/flashbeats.cpp", } createMAMEProjects(_target, _subtarget, "seibu") @@ -4731,6 +4740,7 @@ files { MAME_DIR .. "src/mame/drivers/midas.cpp", MAME_DIR .. "src/mame/drivers/mil4000.cpp", MAME_DIR .. "src/mame/drivers/miniboy7.cpp", + MAME_DIR .. "src/mame/drivers/minivideo.cpp", MAME_DIR .. "src/mame/drivers/mirax.cpp", MAME_DIR .. "src/mame/drivers/mjsenpu.cpp", MAME_DIR .. "src/mame/drivers/mole.cpp", @@ -4793,6 +4803,7 @@ files { MAME_DIR .. "src/mame/drivers/re900.cpp", MAME_DIR .. "src/mame/drivers/rgum.cpp", MAME_DIR .. "src/mame/drivers/roul.cpp", + MAME_DIR .. "src/mame/drivers/rulechan.cpp", MAME_DIR .. "src/mame/drivers/savquest.cpp", MAME_DIR .. "src/mame/drivers/sanremo.cpp", MAME_DIR .. "src/mame/drivers/sanremmg.cpp", @@ -4867,7 +4878,6 @@ files { MAME_DIR .. "src/mame/drivers/vroulet.cpp", MAME_DIR .. "src/mame/drivers/wildpkr.cpp", MAME_DIR .. "src/mame/drivers/wms.cpp", - MAME_DIR .. "src/mame/drivers/wacky_gator.cpp", MAME_DIR .. "src/mame/drivers/xtom3d.cpp", MAME_DIR .. "src/mame/drivers/xyonix.cpp", MAME_DIR .. "src/mame/includes/xyonix.h", diff --git a/docs/release/scripts/target/mame/mess.lua b/docs/release/scripts/target/mame/mess.lua index 8e4ba283ab3..753c100681b 100644 --- a/docs/release/scripts/target/mame/mess.lua +++ b/docs/release/scripts/target/mame/mess.lua @@ -136,6 +136,7 @@ CPUS["MB86901"] = true CPUS["NANOPROCESSOR"] = true CPUS["CLIPPER"] = true CPUS["CAPRICORN"] = true +--CPUS["DSPP"] = true -------------------------------------------------- -- specify available sound cores; some of these are @@ -1106,6 +1107,7 @@ function linkProjects_mame_mess(_target, _subtarget) "mos", "motorola", "multitch", + "mupid", "nakajima", "nascom", "ncd", @@ -2248,6 +2250,8 @@ files { MAME_DIR .. "src/mame/machine/hp9825_tape.h", MAME_DIR .. "src/mame/machine/hp9845_printer.cpp", MAME_DIR .. "src/mame/machine/hp9845_printer.h", + MAME_DIR .. "src/mame/machine/hp98x5_io_sys.cpp", + MAME_DIR .. "src/mame/machine/hp98x5_io_sys.h", MAME_DIR .. "src/mame/video/hp48.cpp", MAME_DIR .. "src/mame/drivers/hp49gp.cpp", MAME_DIR .. "src/mame/drivers/hp9845.cpp", @@ -2260,6 +2264,7 @@ files { MAME_DIR .. "src/mame/drivers/hp2620.cpp", MAME_DIR .. "src/mame/drivers/hp700.cpp", MAME_DIR .. "src/mame/drivers/hp2640.cpp", + MAME_DIR .. "src/mame/drivers/hp95lx.cpp", MAME_DIR .. "src/mame/drivers/hp9825.cpp", } @@ -2503,6 +2508,8 @@ createMESSProjects(_target, _subtarget, "mips") files { MAME_DIR .. "src/mame/drivers/mips.cpp", MAME_DIR .. "src/mame/includes/mips.h", + MAME_DIR .. "src/mame/machine/mips_rambo.h", + MAME_DIR .. "src/mame/machine/mips_rambo.cpp", } createMESSProjects(_target, _subtarget, "mit") @@ -2561,6 +2568,12 @@ files { MAME_DIR .. "src/mame/includes/mpf1.h", } +createMESSProjects(_target, _subtarget, "mupid") +files { + MAME_DIR .. "src/mame/drivers/mdisk.cpp", + MAME_DIR .. "src/mame/drivers/mupid2.cpp", +} + createMESSProjects(_target, _subtarget, "nakajima") files { MAME_DIR .. "src/mame/drivers/nakajies.cpp", @@ -3050,6 +3063,7 @@ files { MAME_DIR .. "src/mame/includes/mz700.h", MAME_DIR .. "src/mame/drivers/pc1500.cpp", MAME_DIR .. "src/mame/drivers/pocketc.cpp", + MAME_DIR .. "src/mame/machine/pocketc.cpp", MAME_DIR .. "src/mame/includes/pocketc.h", MAME_DIR .. "src/mame/video/pc1401.cpp", MAME_DIR .. "src/mame/machine/pc1401.cpp", @@ -3286,6 +3300,7 @@ files { MAME_DIR .. "src/mame/drivers/tv965.cpp", MAME_DIR .. "src/mame/drivers/tv990.cpp", MAME_DIR .. "src/mame/drivers/ts3000.cpp", + MAME_DIR .. "src/mame/machine/tv955kb.cpp", } createMESSProjects(_target, _subtarget, "tem") @@ -3593,6 +3608,7 @@ files { MAME_DIR .. "src/mame/audio/socrates.cpp", MAME_DIR .. "src/mame/audio/socrates.h", MAME_DIR .. "src/mame/drivers/inteladv.cpp", + MAME_DIR .. "src/mame/drivers/vsmile.cpp", } createMESSProjects(_target, _subtarget, "wang") @@ -3697,6 +3713,7 @@ files { MAME_DIR .. "src/mame/includes/busicom.h", MAME_DIR .. "src/mame/video/busicom.cpp", MAME_DIR .. "src/mame/drivers/candela.cpp", + MAME_DIR .. "src/mame/drivers/cardinal.cpp", MAME_DIR .. "src/mame/drivers/chaos.cpp", MAME_DIR .. "src/mame/drivers/chesstrv.cpp", MAME_DIR .. "src/mame/drivers/cd2650.cpp", @@ -3736,6 +3753,7 @@ files { MAME_DIR .. "src/mame/drivers/eacc.cpp", MAME_DIR .. "src/mame/drivers/elwro800.cpp", MAME_DIR .. "src/mame/drivers/emate.cpp", + MAME_DIR .. "src/mame/drivers/epic14e.cpp", MAME_DIR .. "src/mame/drivers/esprit.cpp", MAME_DIR .. "src/mame/drivers/eti660.cpp", MAME_DIR .. "src/mame/includes/eti660.h", @@ -3748,6 +3766,7 @@ files { MAME_DIR .. "src/mame/drivers/fanucspmg.cpp", MAME_DIR .. "src/mame/drivers/fc100.cpp", MAME_DIR .. "src/mame/drivers/fk1.cpp", + MAME_DIR .. "src/mame/drivers/fs3216.cpp", MAME_DIR .. "src/mame/drivers/ft68m.cpp", MAME_DIR .. "src/mame/drivers/gameking.cpp", MAME_DIR .. "src/mame/drivers/gimix.cpp", @@ -3756,6 +3775,7 @@ files { MAME_DIR .. "src/mame/drivers/harriet.cpp", MAME_DIR .. "src/mame/drivers/hazeltin.cpp", MAME_DIR .. "src/mame/drivers/hazl1420.cpp", + MAME_DIR .. "src/mame/drivers/hp3478a.cpp", MAME_DIR .. "src/mame/drivers/hprot1.cpp", MAME_DIR .. "src/mame/drivers/hpz80unk.cpp", MAME_DIR .. "src/mame/drivers/ht68k.cpp", @@ -3804,6 +3824,7 @@ files { MAME_DIR .. "src/mame/drivers/mod8.cpp", MAME_DIR .. "src/mame/drivers/modellot.cpp", MAME_DIR .. "src/mame/drivers/molecular.cpp", + MAME_DIR .. "src/mame/drivers/monon_color.cpp", MAME_DIR .. "src/mame/drivers/ms0515.cpp", MAME_DIR .. "src/mame/drivers/ms9540.cpp", MAME_DIR .. "src/mame/drivers/mstation.cpp", @@ -3849,6 +3870,7 @@ files { MAME_DIR .. "src/mame/drivers/sh4robot.cpp", MAME_DIR .. "src/mame/drivers/sansa_fuze.cpp", MAME_DIR .. "src/mame/drivers/scopus.cpp", + MAME_DIR .. "src/mame/drivers/shine.cpp", MAME_DIR .. "src/mame/drivers/si5500.cpp", MAME_DIR .. "src/mame/drivers/softbox.cpp", MAME_DIR .. "src/mame/includes/softbox.h", diff --git a/docs/release/scripts/toolchain.lua b/docs/release/scripts/toolchain.lua index f270d3f69b8..e596c06bfb0 100644 --- a/docs/release/scripts/toolchain.lua +++ b/docs/release/scripts/toolchain.lua @@ -16,13 +16,14 @@ newoption { description = "Choose GCC flavor", allowed = { { "android-arm", "Android - ARM" }, - { "android-arm64", "Android - ARM64" }, + { "android-arm64", "Android - ARM64" }, { "android-mips", "Android - MIPS" }, { "android-mips64","Android - MIPS64" }, { "android-x86", "Android - x86" }, { "android-x64", "Android - x64" }, { "asmjs", "Emscripten/asm.js" }, { "freebsd", "FreeBSD" }, + { "freebsd-clang", "FreeBSD (clang compiler)"}, { "linux-gcc", "Linux (GCC compiler)" }, { "linux-clang", "Linux (Clang compiler)" }, { "ios-arm", "iOS - ARM" }, @@ -31,6 +32,7 @@ newoption { { "mingw64-gcc", "MinGW64" }, { "mingw-clang", "MinGW (clang compiler)" }, { "netbsd", "NetBSD" }, + { "netbsd-clang", "NetBSD (clang compiler)"}, { "openbsd", "OpenBSD" }, { "osx", "OSX (GCC compiler)" }, { "osx-clang", "OSX (Clang compiler)" }, @@ -92,11 +94,11 @@ function toolchain(_buildDir, _subDir) location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION) - local androidPlatform = "android-21" + local androidPlatform = "android-24" if _OPTIONS["with-android"] then androidPlatform = "android-" .. _OPTIONS["with-android"] elseif _OPTIONS["PLATFORM"]:find("64", -2) then - androidPlatform = "android-21" + androidPlatform = "android-24" end local iosPlatform = "" @@ -168,10 +170,18 @@ function toolchain(_buildDir, _subDir) location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-freebsd") end + if "freebsd-clang" == _OPTIONS["gcc"] then + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-freebsd-clang") + end + if "netbsd" == _OPTIONS["gcc"] then location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-netbsd") end + if "netbsd-clang" == _OPTIONS["gcc"] then + location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-netbsd-clang") + end + if "openbsd" == _OPTIONS["gcc"] then location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-openbsd") end @@ -837,6 +847,7 @@ function toolchain(_buildDir, _subDir) MAME_DIR .. "3rdparty/bgfx/3rdparty/khronos", "$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libcxx/include", "$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/include", + "$(ANDROID_NDK_ROOT)/sysroot/usr/include", "$(ANDROID_NDK_ROOT)/sources/android/support/include", "$(ANDROID_NDK_ROOT)/sources/android/native_app_glue", } @@ -854,10 +865,12 @@ function toolchain(_buildDir, _subDir) "log", "c++_static", "c++abi", - "android_support", "stdc++", "gcc", } + buildoptions_c { + "-Wno-strict-prototypes", + } buildoptions { "-fpic", "-ffunction-sections", @@ -870,6 +883,8 @@ function toolchain(_buildDir, _subDir) "-Wno-cast-align", "-Wno-unknown-attributes", "-Wno-macro-redefined", + "-DASIO_HAS_STD_STRING_VIEW", + "-Wno-unused-function", } linkoptions { "-no-canonical-prefixes", @@ -883,11 +898,10 @@ function toolchain(_buildDir, _subDir) configuration { "android-arm" } libdirs { "$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a", - "$(ANDROID_NDK_ARM)/lib/gcc/arm-linux-androideabi/4.9.x/armv7-a", "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-arm/usr/lib", } includedirs { - "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-arm/usr/include", + "$(ANDROID_NDK_ROOT)/sysroot/usr/include/arm-linux-androideabi", } buildoptions { "-gcc-toolchain $(ANDROID_NDK_ARM)", @@ -916,7 +930,7 @@ function toolchain(_buildDir, _subDir) "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-arm64/usr/lib64", } includedirs { - "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-arm64/usr/include", + "$(ANDROID_NDK_ROOT)/sysroot/usr/include/aarch64-linux-android", } buildoptions { "-gcc-toolchain $(ANDROID_NDK_ARM64)", @@ -930,53 +944,13 @@ function toolchain(_buildDir, _subDir) "-target aarch64-none-linux-android", } - configuration { "android-mips" } - libdirs { - "$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libs/mips", - "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-mips/usr/lib/", - } - includedirs { - "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-mips/usr/include", - } - buildoptions { - "-gcc-toolchain $(ANDROID_NDK_MIPS)", - "-target mipsel-none-linux-android", - } - linkoptions { - "-gcc-toolchain $(ANDROID_NDK_MIPS)", - "-target mipsel-none-linux-android", - "--sysroot=$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-mips", - "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-mips/usr/lib/crtbegin_so.o", - "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-mips/usr/lib/crtend_so.o", - } - - configuration { "android-mips64" } - libdirs { - "$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libs/mips64", - "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-mips64/usr/lib64/", - } - includedirs { - "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-mips64/usr/include", - } - buildoptions { - "-gcc-toolchain $(ANDROID_NDK_MIPS64)", - "-target mips64el-none-linux-android", - } - linkoptions { - "-gcc-toolchain $(ANDROID_NDK_MIPS64)", - "-target mips64el-none-linux-android", - "--sysroot=$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-mips64", - "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-mips64/usr/lib64/crtbegin_so.o", - "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-mips64/usr/lib64/crtend_so.o", - } - configuration { "android-x86" } libdirs { "$(ANDROID_NDK_ROOT)/sources/cxx-stl/llvm-libc++/libs/x86", "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-x86/usr/lib", } includedirs { - "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-x86/usr/include", + "$(ANDROID_NDK_ROOT)/sysroot/usr/include/i686-linux-android", } buildoptions { "-gcc-toolchain $(ANDROID_NDK_X86)", @@ -998,7 +972,7 @@ function toolchain(_buildDir, _subDir) "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-x86_64/usr/lib64", } includedirs { - "$(ANDROID_NDK_ROOT)/platforms/" .. androidPlatform .. "/arch-x86_64/usr/include", + "$(ANDROID_NDK_ROOT)/sysroot/usr/include/x86_64-linux-android", } buildoptions { "-gcc-toolchain $(ANDROID_NDK_X64)", diff --git a/docs/release/src/devices/video/vector.cpp b/docs/release/src/devices/video/vector.cpp new file mode 100644 index 00000000000..fcb7baf0c51 --- /dev/null +++ b/docs/release/src/devices/video/vector.cpp @@ -0,0 +1,200 @@ +// license:BSD-3-Clause +// copyright-holders:Brad Oliver,Aaron Giles,Bernd Wiebelt,Allard van der Bas +/****************************************************************************** + * + * vector.c + * + * anti-alias code by Andrew Caldwell + * (still more to add) + * + * 040227 Fixed miny clip scaling which was breaking in mhavoc. AREK + * 010903 added support for direct RGB modes MLR + * 980611 use translucent vectors. Thanks to Peter Hirschberg + * and Neil Bradley for the inspiration. BW + * 980307 added cleverer dirty handling. BW, ASG + * fixed antialias table .ac + * 980221 rewrote anti-alias line draw routine + * added inline assembly multiply fuction for 8086 based machines + * beam diameter added to draw routine + * beam diameter is accurate in anti-alias line draw (Tcosin) + * flicker added .ac + * 980203 moved LBO's routines for drawing into a buffer of vertices + * from avgdvg.c to this location. Scaling is now initialized + * by calling vector_init(...). BW + * 980202 moved out of msdos.c ASG + * 980124 added anti-alias line draw routine + * modified avgdvg.c and sega.c to support new line draw routine + * added two new tables Tinten and Tmerge (for 256 color support) + * added find_color routine to build above tables .ac + * + * Vector Team + * + * Brad Oliver + * Aaron Giles + * Bernd Wiebelt + * Allard van der Bas + * Al Kossow (VECSIM) + * Hedley Rainnie (VECSIM) + * Eric Smith (VECSIM) + * Neil Bradley (technical advice) + * Andrew Caldwell (anti-aliasing) + * + **************************************************************************** */ + +#include "emu.h" +#include "emuopts.h" +#include "rendutil.h" +#include "vector.h" + + +#define VECTOR_WIDTH_DENOM 512 +// mhavocpe +#define MAX_POINTS 20000 + +float vector_options::s_flicker = 0.0f; +float vector_options::s_beam_width_min = 0.0f; +float vector_options::s_beam_width_max = 0.0f; +float vector_options::s_beam_intensity_weight = 0.0f; + +void vector_options::init(emu_options& options) +{ + s_beam_width_min = options.beam_width_min(); + s_beam_width_max = options.beam_width_max(); + s_beam_intensity_weight = options.beam_intensity_weight(); + s_flicker = options.flicker(); +} + +// device type definition +DEFINE_DEVICE_TYPE(VECTOR, vector_device, "vector_device", "VECTOR") + +vector_device::vector_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : device_t(mconfig, VECTOR, tag, owner, clock), + device_video_interface(mconfig, *this), + m_vector_list(nullptr), + m_min_intensity(255), + m_max_intensity(0) +{ +} + +void vector_device::device_start() +{ + vector_options::init(machine().options()); + + m_vector_index = 0; + + /* allocate memory for tables */ + m_vector_list = make_unique_clear<point[]>(MAX_POINTS); +} + +/* + * www.dinodini.wordpress.com/2010/04/05/normalized-tunable-sigmoid-functions/ + */ +float vector_device::normalized_sigmoid(float n, float k) +{ + // valid for n and k in range of -1.0 and 1.0 + return (n - n * k) / (k - fabs(n) * 2.0f * k + 1.0f); +} + + +/* + * Adds a line end point to the vertices list. The vector processor emulation + * needs to call this. + */ +void vector_device::add_point(int x, int y, rgb_t color, int intensity) +{ + point *newpoint; + + intensity = std::max(0, std::min(255, intensity)); + + m_min_intensity = intensity > 0 ? std::min(m_min_intensity, intensity) : m_min_intensity; + m_max_intensity = intensity > 0 ? std::max(m_max_intensity, intensity) : m_max_intensity; + + if (vector_options::s_flicker && (intensity > 0)) + { + float random = (float)(machine().rand() & 255) / 255.0f; // random value between 0.0 and 1.0 + + intensity -= (int)(intensity * random * vector_options::s_flicker); + + intensity = std::max(0, std::min(255, intensity)); + } + + newpoint = &m_vector_list[m_vector_index]; + newpoint->x = x; + newpoint->y = y; + newpoint->col = color; + newpoint->intensity = intensity; + + m_vector_index++; + if (m_vector_index >= MAX_POINTS) + { + m_vector_index--; + logerror("*** Warning! Vector list overflow!\n"); + } +} + + +/* + * The vector CPU creates a new display list. We save the old display list, + * but only once per refresh. + */ +void vector_device::clear_list(void) +{ + m_vector_index = 0; +} + + +uint32_t vector_device::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + uint32_t flags = PRIMFLAG_ANTIALIAS(1) | PRIMFLAG_BLENDMODE(BLENDMODE_ADD) | PRIMFLAG_VECTOR(1); + const rectangle &visarea = screen.visible_area(); + float xscale = 1.0f / (65536 * visarea.width()); + float yscale = 1.0f / (65536 * visarea.height()); + float xoffs = (float)visarea.min_x; + float yoffs = (float)visarea.min_y; + + point *curpoint; + int lastx = 0; + int lasty = 0; + + curpoint = m_vector_list.get(); + + screen.container().empty(); + screen.container().add_rect(0.0f, 0.0f, 1.0f, 1.0f, rgb_t(0xff,0x00,0x00,0x00), PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA) | PRIMFLAG_VECTORBUF(1)); + + for (int i = 0; i < m_vector_index; i++) + { + render_bounds coords; + + float intensity = (float)curpoint->intensity / 255.0f; + float intensity_weight = normalized_sigmoid(intensity, vector_options::s_beam_intensity_weight); + + // check for static intensity + float beam_width = m_min_intensity == m_max_intensity + ? vector_options::s_beam_width_min + : vector_options::s_beam_width_min + intensity_weight * (vector_options::s_beam_width_max - vector_options::s_beam_width_min); + + // normalize width + beam_width *= 1.0f / (float)VECTOR_WIDTH_DENOM; + + coords.x0 = ((float)lastx - xoffs) * xscale; + coords.y0 = ((float)lasty - yoffs) * yscale; + coords.x1 = ((float)curpoint->x - xoffs) * xscale; + coords.y1 = ((float)curpoint->y - yoffs) * yscale; + + if (curpoint->intensity != 0) + { + screen.container().add_line( + coords.x0, coords.y0, coords.x1, coords.y1, + beam_width, + (curpoint->intensity << 24) | (curpoint->col & 0xffffff), + flags); + } + + lastx = curpoint->x; + lasty = curpoint->y; + + curpoint++; + } + + return 0; +} diff --git a/docs/release/src/emu/emuopts.cpp b/docs/release/src/emu/emuopts.cpp index 2a677dfd58b..77e9f645f2f 100644 --- a/docs/release/src/emu/emuopts.cpp +++ b/docs/release/src/emu/emuopts.cpp @@ -30,14 +30,14 @@ const options_entry emu_options::s_option_entries[] = // config options { nullptr, nullptr, OPTION_HEADER, "CORE CONFIGURATION OPTIONS" }, { OPTION_READCONFIG ";rc", "1", OPTION_BOOLEAN, "enable loading of configuration files" }, - { OPTION_WRITECONFIG ";wc", "0", OPTION_BOOLEAN, "writes configuration to (driver).ini on exit" }, + { OPTION_WRITECONFIG ";wc", "0", OPTION_BOOLEAN, "write configuration to (driver).ini on exit" }, // search path options { nullptr, nullptr, OPTION_HEADER, "CORE SEARCH PATH OPTIONS" }, - { OPTION_HOMEPATH, ".", OPTION_STRING, "path to home directory (read/write) location" }, - { OPTION_MEDIAPATH ";rp;biospath;bp", "roms", OPTION_STRING, "path to ROMsets and hard disk images" }, - { OPTION_HASHPATH ";hash_directory;hash", "hash", OPTION_STRING, "path to hash files" }, - { OPTION_SAMPLEPATH ";sp", "samples", OPTION_STRING, "path to samplesets" }, + { OPTION_HOMEPATH, ".", OPTION_STRING, "path to base folder for plugin data (read/write)" }, + { OPTION_MEDIAPATH ";rp;biospath;bp", "roms", OPTION_STRING, "path to ROM sets and hard disk images" }, + { OPTION_HASHPATH ";hash_directory;hash", "hash", OPTION_STRING, "path to software definition files" }, + { OPTION_SAMPLEPATH ";sp", "samples", OPTION_STRING, "path to audio sample sets" }, { OPTION_ARTPATH, "artwork", OPTION_STRING, "path to artwork files" }, { OPTION_CTRLRPATH, "ctrlr", OPTION_STRING, "path to controller definitions" }, { OPTION_INIPATH, ".", OPTION_STRING, "path to ini files" }, // MESSUI @@ -45,7 +45,7 @@ const options_entry emu_options::s_option_entries[] = { OPTION_CHEATPATH, "cheat", OPTION_STRING, "path to cheat files" }, { OPTION_CROSSHAIRPATH, "crosshair", OPTION_STRING, "path to crosshair files" }, { OPTION_PLUGINSPATH, "plugins", OPTION_STRING, "path to plugin files" }, - { OPTION_LANGUAGEPATH, "language", OPTION_STRING, "path to language files" }, + { OPTION_LANGUAGEPATH, "language", OPTION_STRING, "path to UI translation files" }, { OPTION_SWPATH, "software", OPTION_STRING, "path to loose software" }, // output directory options @@ -61,7 +61,7 @@ const options_entry emu_options::s_option_entries[] = // state/playback options { nullptr, nullptr, OPTION_HEADER, "CORE STATE/PLAYBACK OPTIONS" }, { OPTION_STATE, nullptr, OPTION_STRING, "saved state to load" }, - { OPTION_AUTOSAVE, "0", OPTION_BOOLEAN, "enable automatic restore at startup, and automatic save at exit time" }, + { OPTION_AUTOSAVE, "0", OPTION_BOOLEAN, "automatically restore state on start and save on exit for supported systems" }, { OPTION_REWIND, "0", OPTION_BOOLEAN, "enable rewind savestates" }, { OPTION_REWIND_CAPACITY "(1-2048)", "100", OPTION_INTEGER, "rewind buffer size in megabytes" }, { OPTION_PLAYBACK ";pb", nullptr, OPTION_STRING, "playback an input file" }, @@ -81,28 +81,28 @@ const options_entry emu_options::s_option_entries[] = // performance options { nullptr, nullptr, OPTION_HEADER, "CORE PERFORMANCE OPTIONS" }, - { OPTION_AUTOFRAMESKIP ";afs", "0", OPTION_BOOLEAN, "enable automatic frameskip selection" }, + { OPTION_AUTOFRAMESKIP ";afs", "0", OPTION_BOOLEAN, "enable automatic frameskip adjustment to maintain emulation speed" }, { OPTION_FRAMESKIP ";fs(0-10)", "0", OPTION_INTEGER, "set frameskip to fixed value, 0-10 (autoframeskip must be disabled)" }, { OPTION_SECONDS_TO_RUN ";str", "0", OPTION_INTEGER, "number of emulated seconds to run before automatically exiting" }, - { OPTION_THROTTLE, "1", OPTION_BOOLEAN, "enable throttling to keep game running in sync with real time" }, + { OPTION_THROTTLE, "1", OPTION_BOOLEAN, "throttle emulation to keep system running in sync with real time" }, { OPTION_SLEEP, "1", OPTION_BOOLEAN, "enable sleeping, which gives time back to other applications when idle" }, { OPTION_SPEED "(0.01-100)", "1.0", OPTION_FLOAT, "controls the speed of gameplay, relative to realtime; smaller numbers are slower" }, - { OPTION_REFRESHSPEED ";rs", "0", OPTION_BOOLEAN, "automatically adjusts the speed of gameplay to keep the refresh rate lower than the screen" }, + { OPTION_REFRESHSPEED ";rs", "0", OPTION_BOOLEAN, "automatically adjust emulation speed to keep the emulated refresh rate slower than the host screen" }, // render options { nullptr, nullptr, OPTION_HEADER, "CORE RENDER OPTIONS" }, - { OPTION_KEEPASPECT ";ka", "1", OPTION_BOOLEAN, "constrain to the proper aspect ratio" }, - { OPTION_UNEVENSTRETCH ";ues", "1", OPTION_BOOLEAN, "allow non-integer stretch factors" }, - { OPTION_UNEVENSTRETCHX ";uesx", "0", OPTION_BOOLEAN, "allow non-integer stretch factors only on horizontal axis"}, - { OPTION_UNEVENSTRETCHY ";uesy", "0", OPTION_BOOLEAN, "allow non-integer stretch factors only on vertical axis"}, + { OPTION_KEEPASPECT ";ka", "1", OPTION_BOOLEAN, "maintain aspect ratio when scaling to fill output screen/window" }, + { OPTION_UNEVENSTRETCH ";ues", "1", OPTION_BOOLEAN, "allow non-integer ratios when scaling to fill output screen/window horizontally or vertically" }, + { OPTION_UNEVENSTRETCHX ";uesx", "0", OPTION_BOOLEAN, "allow non-integer ratios when scaling to fill output screen/window horizontally"}, + { OPTION_UNEVENSTRETCHY ";uesy", "0", OPTION_BOOLEAN, "allow non-integer ratios when scaling to fill otuput screen/window vertially"}, { OPTION_AUTOSTRETCHXY ";asxy", "0", OPTION_BOOLEAN, "automatically apply -unevenstretchx/y based on source native orientation"}, { OPTION_INTOVERSCAN ";ios", "0", OPTION_BOOLEAN, "allow overscan on integer scaled targets"}, - { OPTION_INTSCALEX ";sx", "0", OPTION_INTEGER, "set horizontal integer scale factor."}, - { OPTION_INTSCALEY ";sy", "0", OPTION_INTEGER, "set vertical integer scale."}, + { OPTION_INTSCALEX ";sx", "0", OPTION_INTEGER, "set horizontal integer scale factor"}, + { OPTION_INTSCALEY ";sy", "0", OPTION_INTEGER, "set vertical integer scale factor"}, // rotation options { nullptr, nullptr, OPTION_HEADER, "CORE ROTATION OPTIONS" }, - { OPTION_ROTATE, "1", OPTION_BOOLEAN, "rotate the game screen according to the game's orientation needs it" }, + { OPTION_ROTATE, "1", OPTION_BOOLEAN, "rotate the game screen according to the game's orientation when needed" }, { OPTION_ROR, "0", OPTION_BOOLEAN, "rotate screen clockwise 90 degrees" }, { OPTION_ROL, "0", OPTION_BOOLEAN, "rotate screen counterclockwise 90 degrees" }, { OPTION_AUTOROR, "0", OPTION_BOOLEAN, "automatically rotate screen clockwise 90 degrees if vertical" }, @@ -112,7 +112,7 @@ const options_entry emu_options::s_option_entries[] = // artwork options { nullptr, nullptr, OPTION_HEADER, "CORE ARTWORK OPTIONS" }, - { OPTION_ARTWORK_CROP ";artcrop", "0", OPTION_BOOLEAN, "crop artwork to game screen size" }, + { OPTION_ARTWORK_CROP ";artcrop", "0", OPTION_BOOLEAN, "crop artwork so emulated screen image fills output screen/window in one axis" }, { OPTION_USE_BACKDROPS ";backdrop", "1", OPTION_BOOLEAN, "enable backdrops if artwork is enabled and available" }, { OPTION_USE_OVERLAYS ";overlay", "1", OPTION_BOOLEAN, "enable overlays if artwork is enabled and available" }, { OPTION_USE_BEZELS ";bezel", "1", OPTION_BOOLEAN, "enable bezels if artwork is enabled and available" }, @@ -144,7 +144,7 @@ const options_entry emu_options::s_option_entries[] = // input options { nullptr, nullptr, OPTION_HEADER, "CORE INPUT OPTIONS" }, - { OPTION_COIN_LOCKOUT ";coinlock", "1", OPTION_BOOLEAN, "enable coin lockouts to actually lock out coins" }, + { OPTION_COIN_LOCKOUT ";coinlock", "1", OPTION_BOOLEAN, "ignore coin inputs if coin lockout ouput is active" }, { OPTION_CTRLR, nullptr, OPTION_STRING, "preconfigure for specified controller" }, { OPTION_MOUSE, "0", OPTION_BOOLEAN, "enable mouse input" }, { OPTION_JOYSTICK ";joy", "1", OPTION_BOOLEAN, "enable joystick input" }, @@ -176,7 +176,7 @@ const options_entry emu_options::s_option_entries[] = { nullptr, nullptr, OPTION_HEADER, "CORE DEBUGGING OPTIONS" }, { OPTION_VERBOSE ";v", "0", OPTION_BOOLEAN, "display additional diagnostic information" }, { OPTION_LOG, "0", OPTION_BOOLEAN, "generate an error.log file" }, - { OPTION_OSLOG, "0", OPTION_BOOLEAN, "output error.log data to the system debugger" }, + { OPTION_OSLOG, "0", OPTION_BOOLEAN, "output error.log data to system diagnostic output (debugger or standard error)" }, { OPTION_DEBUG ";d", "0", OPTION_BOOLEAN, "enable/disable debugger" }, { OPTION_UPDATEINPAUSE, "0", OPTION_BOOLEAN, "keep calling video updates while in pause" }, { OPTION_DEBUGSCRIPT, nullptr, OPTION_STRING, "script for debugger" }, @@ -191,32 +191,32 @@ const options_entry emu_options::s_option_entries[] = // misc options { nullptr, nullptr, OPTION_HEADER, "CORE MISC OPTIONS" }, - { OPTION_DRC, "1", OPTION_BOOLEAN, "enable DRC cpu core if available" }, - { OPTION_DRC_USE_C, "0", OPTION_BOOLEAN, "force DRC use C backend" }, + { OPTION_DRC, "1", OPTION_BOOLEAN, "enable DRC CPU core if available" }, + { OPTION_DRC_USE_C, "0", OPTION_BOOLEAN, "force DRC to use C backend" }, { OPTION_DRC_LOG_UML, "0", OPTION_BOOLEAN, "write DRC UML disassembly log" }, { OPTION_DRC_LOG_NATIVE, "0", OPTION_BOOLEAN, "write DRC native disassembly log" }, { OPTION_BIOS, nullptr, OPTION_STRING, "select the system BIOS to use" }, { OPTION_CHEAT ";c", "0", OPTION_BOOLEAN, "enable cheat subsystem" }, - { OPTION_SKIP_GAMEINFO, "0", OPTION_BOOLEAN, "skip displaying the information screen at startup" }, + { OPTION_SKIP_GAMEINFO, "0", OPTION_BOOLEAN, "skip displaying the system information screen at startup" }, { OPTION_UI_FONT, "default", OPTION_STRING, "specify a font to use" }, { OPTION_UI, "cabinet", OPTION_STRING, "type of UI (simple|cabinet)" }, { OPTION_RAMSIZE ";ram", nullptr, OPTION_STRING, "size of RAM (if supported by driver)" }, - { OPTION_CONFIRM_QUIT, "0", OPTION_BOOLEAN, "display confirm quit screen on exit" }, - { OPTION_UI_MOUSE, "1", OPTION_BOOLEAN, "display ui mouse cursor" }, - { OPTION_LANGUAGE ";lang", "English", OPTION_STRING, "display language" }, - { OPTION_NVRAM_SAVE ";nvwrite", "1", OPTION_BOOLEAN, "save NVRAM on exit" }, + { OPTION_CONFIRM_QUIT, "0", OPTION_BOOLEAN, "ask for confirmation before exiting" }, + { OPTION_UI_MOUSE, "1", OPTION_BOOLEAN, "display UI mouse cursor" }, + { OPTION_LANGUAGE ";lang", "English", OPTION_STRING, "set UI display language" }, + { OPTION_NVRAM_SAVE ";nvwrite", "1", OPTION_BOOLEAN, "save NVRAM data on exit" }, { nullptr, nullptr, OPTION_HEADER, "SCRIPTING OPTIONS" }, { OPTION_AUTOBOOT_COMMAND ";ab", nullptr, OPTION_STRING, "command to execute after machine boot" }, - { OPTION_AUTOBOOT_DELAY, "0", OPTION_INTEGER, "timer delay in sec to trigger command execution on autoboot" }, - { OPTION_AUTOBOOT_SCRIPT ";script", nullptr, OPTION_STRING, "lua script to execute after machine boot" }, - { OPTION_CONSOLE, "0", OPTION_BOOLEAN, "enable emulator LUA console" }, - { OPTION_PLUGINS, "1", OPTION_BOOLEAN, "enable LUA plugin support" }, + { OPTION_AUTOBOOT_DELAY, "0", OPTION_INTEGER, "delay before executing autoboot command (seconds)" }, + { OPTION_AUTOBOOT_SCRIPT ";script", nullptr, OPTION_STRING, "Lua script to execute after machine boot" }, + { OPTION_CONSOLE, "0", OPTION_BOOLEAN, "enable emulator Lua console" }, + { OPTION_PLUGINS, "1", OPTION_BOOLEAN, "enable Lua plugin support" }, { OPTION_PLUGIN, nullptr, OPTION_STRING, "list of plugins to enable" }, { OPTION_NO_PLUGIN, nullptr, OPTION_STRING, "list of plugins to disable" }, { nullptr, nullptr, OPTION_HEADER, "HTTP SERVER OPTIONS" }, - { OPTION_HTTP, "0", OPTION_BOOLEAN, "HTTP server enable" }, + { OPTION_HTTP, "0", OPTION_BOOLEAN, "enable HTTP server" }, { OPTION_HTTP_PORT, "8080", OPTION_INTEGER, "HTTP server port" }, { OPTION_HTTP_ROOT, "web", OPTION_STRING, "HTTP server document root" }, diff --git a/docs/release/src/emu/validity.cpp b/docs/release/src/emu/validity.cpp index aa9e2c5f988..90fbde80962 100644 --- a/docs/release/src/emu/validity.cpp +++ b/docs/release/src/emu/validity.cpp @@ -1462,7 +1462,7 @@ void validity_checker::validate_driver() if (compatible_with != nullptr && strcmp(compatible_with, "0") == 0) compatible_with = nullptr; - // check for this driver being compatible with a non-existant driver + // check for this driver being compatible with a nonexistent driver if (compatible_with != nullptr && m_drivlist.find(m_current_driver->compatible_with) == -1) osd_printf_error("Driver is listed as compatible with nonexistent driver %s\n", m_current_driver->compatible_with); diff --git a/docs/release/src/hbmame/drivers/atarig42.cpp b/docs/release/src/hbmame/drivers/atarig42.cpp new file mode 100644 index 00000000000..9ad91637310 --- /dev/null +++ b/docs/release/src/hbmame/drivers/atarig42.cpp @@ -0,0 +1,126 @@ +// license:BSD-3-Clause +// copyright-holders:Robbbert +#include "../mame/drivers/atarig42.cpp" + + + +class dangerex_state : public atarig42_0x400_state +{ +public: + using atarig42_0x400_state::atarig42_0x400_state; + void init_dangerex(); +}; + +// 5 = coin in; Alt = Start +INPUT_PORTS_START( dangerex ) + PORT_START("IN0") /* e00000 */ + PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) // Toggle 0 - D4 + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_CUSTOM ) // Toggle 1 - D5 + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_CUSTOM ) // Step SW - D6 + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) // Freeze - D7 + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1) + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1) + + PORT_START("IN1") /* e00002 */ + PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) // Test Yellow - D4 + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_CUSTOM ) // Test Blue - D5 + PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_CUSTOM ) // Test Blue - D6 + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) // Test Blue - D7 + PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) + PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) + PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) + PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2) + PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2) + PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2) + + PORT_START("IN2") /* e00010 */ + PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED ) + PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_SOUND_TO_MAIN_READY("jsa") + PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_ATARI_JSA_MAIN_TO_SOUND_READY("jsa") + PORT_SERVICE( 0x0040, IP_ACTIVE_LOW ) + PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_CUSTOM ) PORT_VBLANK("screen") + PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_START("A2D0") /* analog 0 */ + PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) + + PORT_START("A2D1") /* analog 1 */ + PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNUSED ) +INPUT_PORTS_END + +ROM_START( dangerex ) + ROM_REGION( 0x80004, "maincpu", 0 ) + ROM_LOAD16_BYTE( "dx8d-0h.8d", 0x00000, 0x20000, CRC(4957b65d) SHA1(de9f187b6496cf96d29c4b1b29887abc2bdf9bf0) ) + ROM_LOAD16_BYTE( "dx8c-0l.8c", 0x00001, 0x20000, CRC(aedcb497) SHA1(7e201b7db5c0ff661f782566a6b17299d514c77a) ) + ROM_LOAD16_BYTE( "dx9d-1h.9d", 0x40000, 0x20000, CRC(2eb943e2) SHA1(87dbf11720e2938bf5755b13231fc668ab3e0e05) ) + ROM_LOAD16_BYTE( "dx9c-1l.9c", 0x40001, 0x20000, CRC(79de4c91) SHA1(31de5e927aff4efcf4217da3c704ece2d393faf9) ) + + ROM_REGION( 0x2000, "asic65:asic65cpu", 0 ) + ROM_LOAD( "136089-1012.3f", 0x00000, 0x0a80, NO_DUMP ) + + ROM_REGION( 0x14000, "jsa:cpu", 0 ) + ROM_LOAD( "dx12c-5.12c", 0x10000, 0x4000, CRC(d72621f7) SHA1(4bf5c98dd2434cc6ed1bddb6baf42f41cf138e1a) ) + ROM_CONTINUE( 0x04000, 0xc000 ) + + ROM_REGION( 0xc0000, "gfx1", 0 ) + ROM_LOAD( "dxc117-22d.22d", 0x000000, 0x20000, CRC(5532995a) SHA1(21e001c911adb91dbe43e895ae8582df65f2995d) ) + ROM_LOAD( "dx82-22c.22c", 0x020000, 0x20000, CRC(9548599b) SHA1(d08bae8dabce0175f956631ddfbf091653af035e) ) + ROM_LOAD( "dxc116-20-21d.21d", 0x040000, 0x20000, CRC(ebbf0fd8) SHA1(4ceb026c4231b675215110c16c8f75551cdfa461) ) + ROM_LOAD( "dxc81-22-21c.21c", 0x060000, 0x20000, CRC(24cb1d34) SHA1(4fc558c8dee3654abd164e5e4adddf9bfcbca3ae) ) + ROM_LOAD( "dxc115-20d.20d", 0x080000, 0x20000, CRC(2819ce54) SHA1(9a3c041d9046af41997dc1d9f41bf0e1be9489f9) ) + ROM_LOAD( "dxc80-20c.20c", 0x0a0000, 0x20000, CRC(a8ffe459) SHA1(92a10694c38a4fbe3022662f4e8e4e214aab31c9) ) + + ROM_REGION( 0x020000, "gfx2", 0 ) + ROM_LOAD( "dxc187-22j.22j", 0x000000, 0x20000, CRC(7231ecc2) SHA1(8b1b0aed3a0d907630e120395b0a97fd9a1ef8cc) ) + + ROM_REGION16_BE( 0x800000, "rle", 0 ) + ROM_LOAD16_BYTE( "dx2s-0h.2s", 0x000000, 0x80000, CRC(89902ce2) SHA1(f910ad65f3780e28c9920c4185c1ea807ec478aa) ) + ROM_LOAD16_BYTE( "dx2p-0l.2p", 0x000001, 0x80000, CRC(dabe7e1c) SHA1(1f77bba57b7025333c27ee3d548d08ee960d63d6) ) + ROM_LOAD16_BYTE( "dx3s-1h.3s", 0x100000, 0x80000, CRC(ffeec3d1) SHA1(de40083ce3862f2b5d37f5f255f93b2b2487ed96) ) + ROM_LOAD16_BYTE( "dx3p-1l.3p", 0x100001, 0x80000, CRC(40b0a300) SHA1(3ec055bdc30e62c5e95541b15c53f1d439ccb5b4) ) + ROM_LOAD16_BYTE( "dx4s-2h.4s", 0x200000, 0x80000, CRC(1e4d0c50) SHA1(fbb5422f43e1c4f8787073c1cdaeb75121a67a35) ) + ROM_LOAD16_BYTE( "dx4p-2l.4p", 0x200001, 0x80000, CRC(00d586e1) SHA1(7e8419a5972a5e0fc372c72b5c5f8f3ff4294a2b) ) + ROM_LOAD16_BYTE( "dx5s-3h.5s", 0x300000, 0x80000, CRC(98e26315) SHA1(dbc567c3b9d00f827acb8ba2d5a79a7d2acc7ddd) ) + ROM_LOAD16_BYTE( "dx5p-3l.5p", 0x300001, 0x80000, CRC(e37b1413) SHA1(490911006f0e10319117dae3a87623d8244ea182) ) + ROM_LOAD16_BYTE( "dx6s-4h.6s", 0x400000, 0x80000, CRC(b2bc538c) SHA1(1bda4a6c40c9389573857879263c0f01b5f029d3) ) + ROM_LOAD16_BYTE( "dx6p-4l.6p", 0x400001, 0x80000, CRC(5e3aefb8) SHA1(492eb7f42bbeefbc377d3a491fe07b64c1c8a11c) ) + ROM_LOAD16_BYTE( "dx7s-5h.7s", 0x500000, 0x80000, CRC(396d706e) SHA1(7682287df2ad2283b5999c3df272baa9559b7bd5) ) + ROM_LOAD16_BYTE( "dx7p-5l.7p", 0x500001, 0x80000, CRC(102c827d) SHA1(6ae405032a07081841a5a3fb48422bd67d37372c) ) + ROM_LOAD16_BYTE( "dx8s-6h.8s", 0x600000, 0x80000, CRC(af3b1f90) SHA1(d514a7b5e9bb263bbb1164a5174fa6943c4e5fb4) ) + ROM_LOAD16_BYTE( "dx8p-6l.8p", 0x600001, 0x80000, CRC(a0e7311b) SHA1(9c4d443c727c3bd59f035bf27c4f7e74046d4c45) ) + ROM_LOAD16_BYTE( "dx9s-7h.7h", 0x700000, 0x80000, CRC(5bf0ce01) SHA1(22f971842371eb36b2dc6ae303ef3955dd9884c2) ) + ROM_LOAD16_BYTE( "dx9p-7l.7l", 0x700001, 0x80000, CRC(e6f1d9fa) SHA1(160b4c9a90bdc48c990e5d4a24b17a284c9b4da8) ) + + ROM_REGION( 0x100000, "jsa:oki1", 0 ) + ROM_LOAD( "dx19e-0.19e", 0x00000, 0x20000, CRC(e7d9d5fb) SHA1(756b1d59168855a707181dd6c437a59313da5a7c) ) + ROM_LOAD( "dx17e-1.17e", 0x20000, 0x20000, CRC(ccb73a18) SHA1(3e853f7c7ab32b18fdb6529d37d28eb96c5365dc) ) + ROM_LOAD( "dx15e-2.15e", 0x40000, 0x20000, CRC(11596234) SHA1(77eab7cb4ad83a50c23127b4fb1bbfd4aa2c6f8d) ) + ROM_LOAD( "dx12e-3.12e", 0x60000, 0x20000, CRC(c0ffd43c) SHA1(dcd7e3cc5d46db0d0a7fe3806bddbca235492d35) ) + + ROM_REGION( 0x800, "eeprom:eeprom", 0 ) + ROM_LOAD( "dx-eeprom.5c", 0x0000, 0x800, CRC(17a77f1d) SHA1(96779beefb4607acedf0b4fe42d4778d0cf34568) ) + + ROM_REGION( 0x0600, "proms", 0 ) + ROM_LOAD( "092-1001.20p", 0x0000, 0x0200, NO_DUMP CRC(b3251eeb) SHA1(5e83baa70aaa28f07f32657bf974fd87719972d3) ) + ROM_LOAD( "092-1002.22p", 0x0200, 0x0200, NO_DUMP CRC(0c5314da) SHA1(a9c7ee3ab015c7f3ada4200acd2854eb9a5c74b0) ) + ROM_LOAD( "092-1003.21p", 0x0400, 0x0200, NO_DUMP CRC(344b406a) SHA1(f4422f8c0d7004d0277a4fc77718d555f80fcf69) ) +ROM_END + +void dangerex_state::init_dangerex() +{ + m_playfield_base = 0x000; +} + + +GAME( 1992, dangerex, 0, atarig42_0x400, dangerex, dangerex_state, init_dangerex, ROT0, "Atari Games", "Danger Express (prototype)", 0 ) + diff --git a/docs/release/src/hbmame/drivers/dkong.cpp b/docs/release/src/hbmame/drivers/dkong.cpp index d6d273306cc..75ed2328d79 100644 --- a/docs/release/src/hbmame/drivers/dkong.cpp +++ b/docs/release/src/hbmame/drivers/dkong.cpp @@ -334,6 +334,62 @@ ROM_START( dkspkyrmx ) ROM_LOAD( "v-5e.sp", 0x0200, 0x0100, CRC(c70b6f9b) SHA1(e9f465de5e990478e96be1501cb8c5fc16b3c86e) ) ROM_END +ROM_START( dktrainer ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "c_5et_g.bin", 0x0000, 0x1000, CRC(7ed5a945) SHA1(27ea2b9ca8e03a660943b043a2880c95a4f92de8) ) + ROM_LOAD( "c_5ct_g.bin", 0x1000, 0x1000, CRC(98e2caa8) SHA1(5289f2268bac39bd04da8b9b94e25e55e4ea8e04) ) + ROM_LOAD( "c_5bt_g.bin", 0x2000, 0x1000, CRC(098a840a) SHA1(05ea657be2de863fb8a42bf1e173a6a80fb16cc7) ) + ROM_LOAD( "c_5at_g.bin", 0x3000, 0x1000, CRC(dd092591) SHA1(36455e5a689a926b79be79e38d96ad8fe2ce7417) ) + + ROM_REGION( 0x1800, "soundcpu", 0 ) + ROM_LOAD( "s_3i_b.bin", 0x0000, 0x0800, CRC(45a4ed06) SHA1(144d24464c1f9f01894eb12f846952290e6e32ef) ) + ROM_RELOAD( 0x0800, 0x0800 ) + ROM_LOAD( "s_3j_b.bin", 0x1000, 0x0800, CRC(4743fe92) SHA1(6c82b57637c0212a580591397e6a5a1718f19fd2) ) + + ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_LOAD( "v_5h_b.bin", 0x0000, 0x0800, CRC(12c8c95d) SHA1(a57ff5a231c45252a63b354137c920a1379b70a3) ) + ROM_LOAD( "v_3pt.bin", 0x0800, 0x0800, CRC(15e9c5e9) SHA1(976eb1e18c74018193a35aa86cff482ebfc5cc4e) ) + + ROM_REGION( 0x2000, "gfx2", 0 ) + ROM_LOAD( "l_4m_b.bin", 0x0000, 0x0800, CRC(59f8054d) SHA1(793dba9bf5a5fe76328acdfb90815c243d2a65f1) ) + ROM_LOAD( "l_4n_b.bin", 0x0800, 0x0800, CRC(672e4714) SHA1(92e5d379f4838ac1fa44d448ce7d142dae42102f) ) + ROM_LOAD( "l_4r_b.bin", 0x1000, 0x0800, CRC(feaa59ee) SHA1(ecf95db5a20098804fc8bd59232c66e2e0ed3db4) ) + ROM_LOAD( "l_4s_b.bin", 0x1800, 0x0800, CRC(20f2ef7e) SHA1(3bc482a38bf579033f50082748ee95205b0f673d) ) + + ROM_REGION( 0x0300, "proms", 0 ) + ROM_LOAD( "c-2k.bpr", 0x0000, 0x0100, CRC(e273ede5) SHA1(b50ec9e1837c00c20fb2a4369ec7dd0358321127) ) + ROM_LOAD( "c-2j.bpr", 0x0100, 0x0100, CRC(d6412358) SHA1(f9c872da2fe8e800574ae3bf483fb3ccacc92eb3) ) + ROM_LOAD( "v-5e.bpr", 0x0200, 0x0100, CRC(b869b8f5) SHA1(c2bdccbf2654b64ea55cd589fd21323a9178a660) ) +ROM_END + +ROM_START( dkpace ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "c_5et_g.bin", 0x0000, 0x1000, CRC(e05563d5) SHA1(db17bf866e223a5b57e3fdd23f79f1f8ca67f697) ) + ROM_LOAD( "c_5ct_g.bin", 0x1000, 0x1000, CRC(88aa1ddf) SHA1(d1582ba10cf15b24286524fa494279a4d25adfbb) ) + ROM_LOAD( "c_5bt_g.bin", 0x2000, 0x1000, CRC(8ee0b1d2) SHA1(7cae6b1b3143fbf1c2ad0cbfa7855eb1c9519fde) ) + ROM_LOAD( "c_5at_g.bin", 0x3000, 0x1000, CRC(0bc9c8db) SHA1(8e51b4d6905d8321c9d29e51d830c8554a94f664) ) + + ROM_REGION( 0x1800, "soundcpu", 0 ) + ROM_LOAD( "s_3i_b.bin", 0x0000, 0x0800, CRC(45a4ed06) SHA1(144d24464c1f9f01894eb12f846952290e6e32ef) ) + ROM_RELOAD( 0x0800, 0x0800 ) + ROM_LOAD( "s_3j_b.bin", 0x1000, 0x0800, CRC(4743fe92) SHA1(6c82b57637c0212a580591397e6a5a1718f19fd2) ) + + ROM_REGION( 0x1000, "gfx1", 0 ) + ROM_LOAD( "v_5h_b.bin", 0x0000, 0x0800, CRC(12c8c95d) SHA1(a57ff5a231c45252a63b354137c920a1379b70a3) ) + ROM_LOAD( "v_3pt.bin", 0x0800, 0x0800, CRC(15e9c5e9) SHA1(976eb1e18c74018193a35aa86cff482ebfc5cc4e) ) + + ROM_REGION( 0x2000, "gfx2", 0 ) + ROM_LOAD( "l_4m_b.bin", 0x0000, 0x0800, CRC(59f8054d) SHA1(793dba9bf5a5fe76328acdfb90815c243d2a65f1) ) + ROM_LOAD( "l_4n_b.bin", 0x0800, 0x0800, CRC(672e4714) SHA1(92e5d379f4838ac1fa44d448ce7d142dae42102f) ) + ROM_LOAD( "l_4r_b.bin", 0x1000, 0x0800, CRC(feaa59ee) SHA1(ecf95db5a20098804fc8bd59232c66e2e0ed3db4) ) + ROM_LOAD( "l_4s_b.bin", 0x1800, 0x0800, CRC(20f2ef7e) SHA1(3bc482a38bf579033f50082748ee95205b0f673d) ) + + ROM_REGION( 0x0300, "proms", 0 ) + ROM_LOAD( "c-2k.bpr", 0x0000, 0x0100, CRC(e273ede5) SHA1(b50ec9e1837c00c20fb2a4369ec7dd0358321127) ) + ROM_LOAD( "c-2j.bpr", 0x0100, 0x0100, CRC(d6412358) SHA1(f9c872da2fe8e800574ae3bf483fb3ccacc92eb3) ) + ROM_LOAD( "v-5e.bpr", 0x0200, 0x0100, CRC(b869b8f5) SHA1(c2bdccbf2654b64ea55cd589fd21323a9178a660) ) +ROM_END + GAME( 2013, dkong2m, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Hack", "Donkey Kong (2 marios)", MACHINE_SUPPORTS_SAVE ) @@ -342,6 +398,8 @@ GAME( 2007, dkongp, dkong, dkong2b, dkong, dkong_state, empty_init, ROT GAME( 2001, dkongpac, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Tim Appleton", "Donkey Kong (Pacman graphics)", MACHINE_SUPPORTS_SAVE ) GAME( 2015, dkrainbow, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Sock Master", "Rainbow Donkey Kong", MACHINE_SUPPORTS_SAVE ) GAME( 2015, dkrdemo, dkong, dkong2b, dkrdemo, dkong_state, empty_init, ROT270, "Sock Master", "Donkey Kong Remix demo 1.8", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, dktrainer, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Sock Master", "Donkey Kong Trainer 1.01", MACHINE_SUPPORTS_SAVE ) +GAME( 2016, dkpace, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Sock Master", "Donkey Kong Pace", MACHINE_SUPPORTS_SAVE ) GAME( 2017, dkchrmx, dkong, dk_braze, dkongx, dkong_state, init_dkongx, ROT270, "Sock Master", "Donkey Kong Christmas Remix", MACHINE_SUPPORTS_SAVE ) GAME( 2018, dkspkyrmx, dkong, dk_braze, dkongx, dkong_state, init_dkongx, ROT270, "Sock Master", "Donkey Kong Spooky Remix", MACHINE_SUPPORTS_SAVE ) GAME( 1999, kong2600, dkong, dkong2b, dkong, dkong_state, empty_init, ROT270, "Vic Twenty George", "Donkey Kong (2600 graphics)", MACHINE_SUPPORTS_SAVE ) diff --git a/docs/release/src/hbmame/drivers/galaga.cpp b/docs/release/src/hbmame/drivers/galaga.cpp index cecba3492dd..0affc4aa9fc 100644 --- a/docs/release/src/hbmame/drivers/galaga.cpp +++ b/docs/release/src/hbmame/drivers/galaga.cpp @@ -44,10 +44,10 @@ MACHINE_CONFIG_START( galaga_hbmame::galagost ) MCFG_DEVICE_PROGRAM_MAP(galagost_map) /* sound hardware */ - MCFG_DEVICE_ADD("samples", SAMPLES, 0) - MCFG_SAMPLES_CHANNELS(1) - MCFG_SAMPLES_NAMES(galagost_sample_names) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75) + SAMPLES(config, m_samples); + m_samples->set_channels(1); + m_samples->set_samples_names(galagost_sample_names); + m_samples->add_route(ALL_OUTPUTS, "mono", 0.75); MACHINE_CONFIG_END // galaga hacks diff --git a/docs/release/src/hbmame/drivers/galaxian.cpp b/docs/release/src/hbmame/drivers/galaxian.cpp index 179c3010359..ef513708cf6 100644 --- a/docs/release/src/hbmame/drivers/galaxian.cpp +++ b/docs/release/src/hbmame/drivers/galaxian.cpp @@ -5,60 +5,6 @@ /************************************* * - * Four Play - * - *************************************/ - -void galaxian_state::fourplay_map(address_map &map) { - map(0x0000,0x3fff).bankr("bank1"); - map(0x4000,0x47ff).ram(); - map(0x5000,0x53ff).mirror(0x0400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram"); - map(0x5800,0x58ff).mirror(0x0700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram"); - map(0x6000,0x6000).portr("IN0"); - map(0x6800,0x6800).portr("IN1"); - map(0x7000,0x7000).portr("IN2"); - map(0x7800,0x7fff).r("watchdog",FUNC(watchdog_timer_device::reset_r)); - map(0x6000,0x6001).w(FUNC(galaxian_state::start_lamp_w)); - map(0x6002,0x6002).nopw(); // AM_WRITE(coin_lock_w) - map(0x6003,0x6003).w(FUNC(galaxian_state::coin_count_0_w)); - map(0x6004,0x6007).w("cust",FUNC(galaxian_sound_device::lfo_freq_w)); - map(0x6800,0x6807).w("cust",FUNC(galaxian_sound_device::sound_w)); - map(0x7001,0x7001).w(FUNC(galaxian_state::irq_enable_w)); - map(0x7002,0x7003).w(FUNC(galaxian_state::fourplay_rombank_w)); - map(0x7004,0x7004).w(FUNC(galaxian_state::galaxian_stars_enable_w)); - map(0x7005,0x7005).nopw(); /* bit 3 of rombank select - always 0 */ - map(0x7006,0x7006).w(FUNC(galaxian_state::galaxian_flip_screen_x_w)); - map(0x7007,0x7007).w(FUNC(galaxian_state::galaxian_flip_screen_y_w)); - map(0x7008,0x7008).nopw(); /* bit 4 of rombank select - always 0 */ - map(0x7800,0x7800).w("cust",FUNC(galaxian_sound_device::pitch_w)); -} - -MACHINE_CONFIG_START( galaxian_state::fourplay ) - galaxian(config); - /* info can be found at http://www.ionpool.net/arcade/galaxian_hacks/fourplay.htm */ - /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(fourplay_map) - - /* video hardware */ - MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_gmgalax) - MCFG_PALETTE_MODIFY("palette") - MCFG_PALETTE_ENTRIES(64) -MACHINE_CONFIG_END - -void galaxian_state::init_fourplay() -{ - membank("bank1")->configure_entries(0, 4, memregion("maincpu")->base() + 0x10000, 0x4000); - membank("bank1")->set_entry(0); - - /* video extensions */ - common_init(NULL, NULL, &galaxian_state::pisces_extend_tile_info, &galaxian_state::pisces_extend_sprite_info); -} - - - -/************************************* - * * Galaxiab * *************************************/ @@ -211,62 +157,6 @@ MACHINE_CONFIG_END -/************************************* - * - * Video Eight - * - *************************************/ - -void galaxian_state::videight_map(address_map &map) { - map(0x0000,0x3fff).bankr("bank1"); - map(0x4000,0x47ff).ram(); - map(0x5000,0x53ff).mirror(0x400).ram().w(FUNC(galaxian_state::galaxian_videoram_w)).share("videoram"); - map(0x5800,0x58ff).mirror(0x700).ram().w(FUNC(galaxian_state::galaxian_objram_w)).share("spriteram"); - map(0x6000,0x6000).portr("IN0"); - map(0x6800,0x6800).portr("IN1"); - map(0x7000,0x7000).portr("IN2"); - map(0x7800,0x7fff).r("watchdog",FUNC(watchdog_timer_device::reset_r)); - map(0x6000,0x6002).w(FUNC(galaxian_state::videight_gfxbank_w)); - map(0x6003,0x6003).w(FUNC(galaxian_state::coin_count_0_w)); - map(0x6004,0x6007).w("cust",FUNC(galaxian_sound_device::lfo_freq_w)); - map(0x6800,0x6807).w("cust",FUNC(galaxian_sound_device::sound_w)); - map(0x6808,0x68ff).nopw(); - map(0x7001,0x7001).w(FUNC(galaxian_state::irq_enable_w)); - map(0x7002,0x7005).w(FUNC(galaxian_state::videight_rombank_w)); - map(0x7006,0x7006).w(FUNC(galaxian_state::galaxian_flip_screen_x_w)); - map(0x7007,0x7007).w(FUNC(galaxian_state::galaxian_flip_screen_y_w)); - map(0x7008,0x7008).nopw(); /* bit 4 of rombank select - always 0 */ - map(0x7800,0x7800).w("cust",FUNC(galaxian_sound_device::pitch_w)); -} - -static GFXDECODE_START( gfx_videight ) - GFXDECODE_SCALE( "gfx1", 0x0000, galaxian_charlayout, 0, 8*32, GALAXIAN_XSCALE,1) - GFXDECODE_SCALE( "gfx1", 0x0000, galaxian_spritelayout, 0, 8*32, GALAXIAN_XSCALE,1) -GFXDECODE_END - -MACHINE_CONFIG_START( galaxian_state::videight ) - galaxian(config); - - /* basic machine hardware */ - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(videight_map) - - /* video hardware */ - MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_videight) - MCFG_PALETTE_MODIFY("palette") - MCFG_PALETTE_ENTRIES(8*32) -MACHINE_CONFIG_END - -void galaxian_state::init_videight() -{ - membank("bank1")->configure_entries(0, 8, memregion("maincpu")->base() + 0x10000, 0x4000); - membank("bank1")->set_entry(0); - - /* video extensions */ - common_init(NULL, NULL, &galaxian_state::videight_extend_tile_info, &galaxian_state::videight_extend_sprite_info); -} - - /*************************************************************************** Game driver(s) @@ -562,30 +452,6 @@ ROM_START( vectrgal ) ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) ROM_END -ROM_START( fourplay ) - ROM_REGION( 0x20000, "maincpu", 0 ) - ROM_LOAD( "fourplay.bin", 0x10000, 0x10000, CRC(b42b2c2c) SHA1(f3b6f136b39e7a6adadecb9acf906fcfe649f398) ) - - ROM_REGION( 0x2000, "gfx1", 0 ) - ROM_LOAD( "graph1.bin", 0x0000, 0x1000, CRC(359c0c1f) SHA1(9e39baae4ab5763db236d0a49a6665d2e69cba11) ) - ROM_LOAD( "graph2.bin", 0x1000, 0x1000, CRC(b22a51c9) SHA1(cccfbab0c92dba81e3451de72d1f1899226e30e2) ) - - ROM_REGION( 0x0020, "proms", 0 ) - ROM_LOAD( "6l.bpr", 0x0000, 0x0020, CRC(c3ac9467) SHA1(f382ad5a34d282056c78a5ec00c30ec43772bae2) ) -ROM_END - -ROM_START( videight ) - ROM_REGION( 0x30000, "maincpu", 0 ) - ROM_LOAD( "videight.bin", 0x10000, 0x20000, CRC(0601db09) SHA1(0c9cd1afb0034946261219bf42b2f9b1ed5bdb17) ) - - ROM_REGION( 0x10000, "gfx1", 0 ) - ROM_LOAD( "v8g1.bin", 0x0000, 0x8000, CRC(af771e33) SHA1(cdc960c5f548e19da4eabdaf8b789ca8ffb6a29f) ) - ROM_LOAD( "v8g2.bin", 0x8000, 0x8000, CRC(776c34e6) SHA1(de70a29f73469a58ab15acb95aaad1efeb4de08d) ) - - ROM_REGION( 0x0100, "proms", 0 ) - ROM_LOAD( "v8c.bin", 0x0000, 0x0100, CRC(b35a6ca8) SHA1(d9195215bf2482a1b02a019bb708a9981eb0bdf8) ) -ROM_END - ROM_START( offender ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "off-2d", 0x0000, 0x0800, CRC(bb09d91e) SHA1(f47cd3fd91fc569c7a9bb6e485a3281b92656b7f) ) @@ -876,11 +742,6 @@ HACK( 2000, mooncmst, mooncrst, mooncrst, mooncrst, galaxian_state, mooncrst, RO HACK( 1980, mooncrs5, mooncrst, mooncrst, mooncrst, galaxian_state, mooncrsu, ROT90, "bootleg", "Moon Cresta", MACHINE_SUPPORTS_SAVE ) -/* Multigames */ -HACK( 2002, fourplay, 0, fourplay, galaxian, galaxian_state, fourplay, ROT90, "Macro", "Four Play", MACHINE_SUPPORTS_SAVE ) -HACK( 2001, videight, 0, videight, warofbug, galaxian_state, videight, ROT90, "Macro", "Video Eight", MACHINE_SUPPORTS_SAVE ) - - /* Other */ HACK( 1981, jumpbugx, 0, jumpbugx, jumpbug, galaxian_state, jumpbug, ROT90, "Rock-ola", "Jump Bug (Extra Sounds)", MACHINE_SUPPORTS_SAVE ) HACK( 1982, monstrz, 0, sfx, sfx, galaxian_state, sfx, ORIENTATION_FLIP_X, "Nihon Game Co", "Monster Zero", MACHINE_UNEMULATED_PROTECTION | MACHINE_NO_SOUND | MACHINE_WRONG_COLORS | MACHINE_SUPPORTS_SAVE ) diff --git a/docs/release/src/hbmame/drivers/ir.cpp b/docs/release/src/hbmame/drivers/ir.cpp index f080d5dcd4f..a33de5ea7a9 100644 --- a/docs/release/src/hbmame/drivers/ir.cpp +++ b/docs/release/src/hbmame/drivers/ir.cpp @@ -525,10 +525,10 @@ MACHINE_CONFIG_START( ir_state::ir ) //MCFG_DEVICE_ADD("ay1", AY8910, XTAL_4MHz/2) //MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5) - MCFG_DEVICE_ADD("samples", SAMPLES, 0) - MCFG_SAMPLES_CHANNELS(9) - MCFG_SAMPLES_NAMES(ir_sample_names) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + SAMPLES(config, m_samples); + m_samples->set_channels(9); + m_samples->set_samples_names(ir_sample_names); + m_samples->add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END ROM_START( ir ) diff --git a/docs/release/src/hbmame/drivers/jrpacman.cpp b/docs/release/src/hbmame/drivers/jrpacman.cpp index b86a2b5a8bb..3f36a6f6326 100644 --- a/docs/release/src/hbmame/drivers/jrpacman.cpp +++ b/docs/release/src/hbmame/drivers/jrpacman.cpp @@ -332,9 +332,9 @@ MACHINE_CONFIG_START( jrpacman_state::jrpacman ) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("namco", NAMCO, 3072000/32) - MCFG_NAMCO_AUDIO_VOICES(3) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + NAMCO(config, m_namco_sound, 3072000/32); + m_namco_sound->set_voices(3); + m_namco_sound->add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END diff --git a/docs/release/src/hbmame/drivers/mhavoc.cpp b/docs/release/src/hbmame/drivers/mhavoc.cpp new file mode 100644 index 00000000000..95327337b5c --- /dev/null +++ b/docs/release/src/hbmame/drivers/mhavoc.cpp @@ -0,0 +1,88 @@ +// license:BSD-3-Clause +// copyright-holders:Robbbert +#include "../mame/drivers/mhavoc.cpp" + + + +void mhavoc_state::gammape_map(address_map &map) +{ + map(0x0000, 0x07ff).ram().mirror(0x1800); /* Program RAM (2K) */ + map(0x2000, 0x203f).rw(FUNC(mhavoc_state::quad_pokeyn_r), FUNC(mhavoc_state::quad_pokeyn_w)).mirror(0x07C0); /* Quad Pokey read/write */ + map(0x2800, 0x2800).portr("IN1").mirror(0x07ff); /* Gamma Input Port */ + map(0x3000, 0x3000).r(FUNC(mhavoc_state::mhavoc_alpha_r)).mirror(0x07ff); /* Alpha Comm. Read Port */ + map(0x3800, 0x3803).portr("DIAL").mirror(0x07fc); /* Roller Controller Input */ + map(0x4000, 0x4000).portr("DSW2").w(FUNC(mhavoc_state::mhavoc_gamma_irq_ack_w)).mirror(0x07ff); /* DSW at 8S, IRQ Acknowledge */ + map(0x4800, 0x4800).w(FUNC(mhavoc_state::mhavoc_out_1_w)).mirror(0x07ff); /* Coin Counters */ + map(0x5000, 0x5000).w(FUNC(mhavoc_state::mhavoc_alpha_w)).mirror(0x07ff); /* Alpha Comm. Write Port */ + map(0x5800, 0x5800).w(FUNC(mhavoc_state::mhavocrv_speech_data_w)).mirror(0x06ff); /* TMS5220 data write */ + map(0x5900, 0x5900).w(FUNC(mhavoc_state::mhavocrv_speech_strobe_w)).mirror(0x06ff); /* TMS5220 /WS strobe write */ + map(0x6000, 0x61ff).rw("eeprom", FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)).mirror(0x1e00); /* EEROM */ + map(0x8000, 0xffff).rom(); /* Program ROM (32K) */ +} + +void mhavoc_state::alphape_map(address_map &map) +{ + map(0x0000, 0x01ff).ram(); + map(0x0200, 0x07ff).bankrw("bank1").share("zram0"); + map(0x0800, 0x09ff).ram(); + map(0x0a00, 0x0fff).bankrw("bank1").share("zram1"); + map(0x1000, 0x1000).r(FUNC(mhavoc_state::mhavoc_gamma_r)); /* Gamma Read Port */ + map(0x1200, 0x1200).portr("IN0").nopw(); /* Alpha Input Port 0 */ + map(0x1400, 0x141f).ram().share("colorram"); /* ColorRAM */ + map(0x1600, 0x1600).w(FUNC(mhavoc_state::mhavoc_out_0_w)); /* Control Signals */ + map(0x1640, 0x1640).w("avg", FUNC(avg_mhavoc_device::go_w)); /* Vector Generator GO */ + map(0x1680, 0x1680).w("watchdog", FUNC(watchdog_timer_device::reset_w)); /* Watchdog Clear */ + map(0x16c0, 0x16c0).w("avg", FUNC(avg_mhavoc_device::reset_w)); /* Vector Generator Reset */ + map(0x1700, 0x1700).w(FUNC(mhavoc_state::mhavoc_alpha_irq_ack_w)); /* IRQ ack */ + //map(0x1740, 0x1740).w(FUNC(mhavoc_state::mhavocpe_rom_banksel_w)); /* Program ROM Page Select */ + map(0x1740, 0x1740).lw8("bnk", [this] (u8 data) { membank("bank2")->set_entry((data & 1) | ((data & 2)<<1) | ((data & 4)>>1)); }); + map(0x1780, 0x1780).w(FUNC(mhavoc_state::mhavoc_ram_banksel_w)); /* Program RAM Page Select */ + map(0x17c0, 0x17c0).w(FUNC(mhavoc_state::mhavoc_gamma_w)); /* Gamma Communication Write Port */ + map(0x1800, 0x1fff).ram(); /* Shared Beta Ram */ + map(0x2000, 0x3fff).bankr("bank2"); /* Paged Program ROM (32K) */ + map(0x4000, 0x4fff).ram().share("vectorram").region("alpha", 0x4000); /* Vector Generator RAM */ + map(0x5000, 0x7fff).rom(); /* Vector ROM */ + map(0x8000, 0xffff).rom(); /* Program ROM (32K) */ +} + +void mhavoc_state::mhavocpe(machine_config &config) +{ + mhavocrv(config); + + /* basic machine hardware */ + m_alpha->set_addrmap(AS_PROGRAM, &mhavoc_state::alphape_map); + m_gamma->set_addrmap(AS_PROGRAM, &mhavoc_state::gammape_map); +} + + +ROM_START( mhavocpe ) + /* Alpha Processor ROMs */ + ROM_REGION( 0x20000, "alpha", 0 ) /* 152KB for ROMs */ + /* Vector Generator ROM */ + ROM_LOAD( "mhpe.6kl", 0x05000, 0x2000, CRC(4c05b1a8) SHA1(89b524182fcfd966d6a7e3188235c957c451b8a9) ) + + /* Program ROM */ + ROM_LOAD( "mhpe.1mn", 0x08000, 0x4000, CRC(3b691eff) SHA1(e8227d1458e3ed4d0e8444ec23f2c2d45a0d93b8) ) + ROM_LOAD( "mhpe.1l", 0x0c000, 0x4000, CRC(fb53dae6) SHA1(08e9bd60e801778d3521d64817a10ba1ed74f4ff) ) + + /* Paged Program ROM */ + ROM_LOAD( "mhpe.1q", 0x10000, 0x8000, CRC(660e3d57) SHA1(6eddf1335c536406080eab73f5501a202fb0583d) ) /* page 0+1+4+5 */ + ROM_LOAD( "mhpe.1np", 0x18000, 0x8000, CRC(c1a70bad) SHA1(0b72b6817e2f00d2c001ac61ebd2cd42ff7785c9) ) /* page 2+3+6+7 */ + + /* Paged Vector Generator ROM */ + ROM_REGION( 0x8000, "avgdvg", 0 ) + ROM_LOAD( "mhpe.6h", 0x0000, 0x4000, CRC(79fc58c0) SHA1(7b40dfb89bc4078e2bd6f89a570f2be9cca15df9) ) /* page 0+1 */ + ROM_LOAD( "mhpe.6jk", 0x4000, 0x4000, CRC(dc78b802) SHA1(6b951982232de08d32d3a2d01814cc28f89d2120) ) /* page 2+3 */ + + /* Gamma Processor ROM */ + ROM_REGION( 0x10000, "gamma", 0 ) + ROM_LOAD( "mhpe.9s", 0x08000, 0x8000, CRC(d42ee58e) SHA1(667aec3c3e93df3f8dedddb0db1188291e37630b) ) /* 32K Here */ + + /* AVG PROM */ + ROM_REGION( 0x100, "user1", 0 ) + ROM_LOAD( "036408-01.b1", 0x0000, 0x0100, CRC(5903af03) SHA1(24bc0366f394ad0ec486919212e38be0f08d0239) ) +ROM_END + + +GAME( 2018, mhavocpe, mhavoc, mhavocpe, mhavocrv, mhavoc_state, init_mhavocrv, ROT0, "HaxRus", "Major Havoc - The Promised End (v0.21)", MACHINE_SUPPORTS_SAVE ) + diff --git a/docs/release/src/hbmame/drivers/monaco.cpp b/docs/release/src/hbmame/drivers/monaco.cpp index e6b5de03f46..ad2224de62c 100644 --- a/docs/release/src/hbmame/drivers/monaco.cpp +++ b/docs/release/src/hbmame/drivers/monaco.cpp @@ -1458,10 +1458,10 @@ MACHINE_CONFIG_START( monaco_state::monaco ) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("samples", SAMPLES, 0) - MCFG_SAMPLES_CHANNELS(5) - MCFG_SAMPLES_NAMES(monaco_sample_names) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90) + SAMPLES(config, m_samples); + m_samples->set_channels(5); + m_samples->set_samples_names(monaco_sample_names); + m_samples->add_route(ALL_OUTPUTS, "mono", 0.90); MACHINE_CONFIG_END /*****************************************************************/ diff --git a/docs/release/src/hbmame/drivers/neogeo1.cpp b/docs/release/src/hbmame/drivers/neogeo1.cpp index 5544ad6bbd6..a1f78d0f382 100644 --- a/docs/release/src/hbmame/drivers/neogeo1.cpp +++ b/docs/release/src/hbmame/drivers/neogeo1.cpp @@ -1086,6 +1086,30 @@ ROM_START( karnovreh ) /* Karnov's Revenge - Enhance by Ydmis - (Can choose Big ROM_LOAD16_BYTE( "066.c6", 0x800001, 0x200000, CRC(c15c01ed) SHA1(7cf5583e6610bcdc3b332896cefc71df84fb3f19) ) ROM_END +// Default controls changed. To get old ones hold start while selecting your character. +// Adds Clown's and Karnov's stage to versus stage rotation. +// Gold font is now Cyan. Character select screen background is deep purple. +// by mountainmanjed with help from anotak. +ROM_START( karnovrh ) + ROM_REGION( 0x100000, "maincpu", 0 ) + ROM_LOAD16_WORD_SWAP( "066h.p1", 0x000000, 0x100000, CRC(00aaf657) SHA1(dcb2453fea28733f94a480e8a72035e5d5d66aba) ) + + NEO_SFIX_128K( "066.s1", CRC(bae5d5e5) SHA1(aa69d9b235b781ec51f72a528fada9cb12e72cbc) ) + + NEO_BIOS_AUDIO_128K( "066.m1", CRC(030beae4) SHA1(ceb6ee6c09514504efacdbca7b280901e4c97084) ) + + ROM_REGION( 0x200000, "ymsnd", 0 ) + ROM_LOAD( "066.v1", 0x000000, 0x200000, CRC(0b7ea37a) SHA1(34e7d4f6db053674a7e8c8b2e3e398777d5b02e6) ) + + ROM_REGION( 0xc00000, "sprites", 0 ) + ROM_LOAD16_BYTE( "066.c1", 0x000000, 0x200000, CRC(09dfe061) SHA1(ca4c0f0ce80967b4be2f18b72435c468bbfbac4c) ) + ROM_LOAD16_BYTE( "066.c2", 0x000001, 0x200000, CRC(e0f6682a) SHA1(addb4fbc30da2b8ffc86819d92a874eb232f67dd) ) + ROM_LOAD16_BYTE( "066.c3", 0x400000, 0x200000, CRC(a673b4f7) SHA1(d138f5b38fd65c61549ce36f5c4983f7c8a3e7f6) ) + ROM_LOAD16_BYTE( "066.c4", 0x400001, 0x200000, CRC(cb3dc5f4) SHA1(865d9ccfc3df517c341d6aac16120f6b6aa759fe) ) + ROM_LOAD16_BYTE( "066.c5", 0x800000, 0x200000, CRC(9a28785d) SHA1(19723e1f7ff429e8a038d89488b279f830dfaf6e) ) + ROM_LOAD16_BYTE( "066.c6", 0x800001, 0x200000, CRC(c15c01ed) SHA1(7cf5583e6610bcdc3b332896cefc71df84fb3f19) ) +ROM_END + ROM_START( kizunab ) /* Enhance by Ydmis - (Can choose 2 hidden characters) */ ROM_REGION( 0x200000, "maincpu", 0 ) @@ -2939,6 +2963,7 @@ HACK( 200?, kabukiklgmc, kabukikl, neogeo_noslot, neogeo, neogeo_state, HACK( 200?, kabukiklmc, kabukikl, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Creamymami[EGCG]", "Far East of Eden (Unlimited magic power)", MACHINE_SUPPORTS_SAVE ) HACK( 200?, kabukiklyc, kabukikl, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Creamymami[EGCG] and Ydmis", "Far East of Eden (Add Char - Magic always max)", MACHINE_SUPPORTS_SAVE ) // Manto, Karakuri, Jyashinsai and Lucifeller - Based on kabukleh +HACK( 200?, karnovrh, karnovr, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Unknown", "Karnov's Revenge (hack)", MACHINE_SUPPORTS_SAVE ) HACK( 200?, karnovreh, karnovr, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Ydmis", "Karnov's Revenge (Add hidden characters-Enable Bull v1)", MACHINE_SUPPORTS_SAVE ) // Big Tornado HACK( 200?, kizunab, kizuna, neogeo_noslot, neogeo, neogeo_state, neogeo, ROT0, "Ydmis", "Kizuna Encounter (Enable hidden characters)", MACHINE_SUPPORTS_SAVE ) diff --git a/docs/release/src/hbmame/drivers/pacman.cpp b/docs/release/src/hbmame/drivers/pacman.cpp index 92453b158ba..762a4a82795 100644 --- a/docs/release/src/hbmame/drivers/pacman.cpp +++ b/docs/release/src/hbmame/drivers/pacman.cpp @@ -451,9 +451,9 @@ MACHINE_CONFIG_START( pacman_state::pacman ) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("namco", NAMCO, MASTER_CLOCK/6/32) - MCFG_NAMCO_AUDIO_VOICES(3) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + NAMCO(config, m_namco_sound, MASTER_CLOCK/6/32); + m_namco_sound->set_voices(3); + m_namco_sound->add_route(ALL_OUTPUTS, "mono", 1.0); MACHINE_CONFIG_END MACHINE_CONFIG_START( pacman_state::pacmanx ) diff --git a/docs/release/src/hbmame/drivers/schaser.cpp b/docs/release/src/hbmame/drivers/schaser.cpp index 753a3bcd741..4d7a2da4471 100644 --- a/docs/release/src/hbmame/drivers/schaser.cpp +++ b/docs/release/src/hbmame/drivers/schaser.cpp @@ -102,7 +102,7 @@ private: required_shared_ptr<uint8_t> m_p_ram; required_shared_ptr<uint8_t> m_p_colorram; required_device<sn76477_device> m_sn; - required_device<discrete_device> m_discrete; + required_device<discrete_sound_device> m_discrete; required_device<timer_device> m_555_timer; required_device<screen_device> m_screen; }; @@ -140,7 +140,7 @@ private: #define SCHASER_EXP_SND NODE_11 #define SCHASER_MUSIC_SND NODE_12 -DISCRETE_SOUND_START(schaser) +DISCRETE_SOUND_START(schaser_discrete) /************************************************/ /* Input register mapping for schaser */ /************************************************/ @@ -567,27 +567,26 @@ MACHINE_CONFIG_START( sc_state::schasercv ) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("snsnd", SN76477, 0) - MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(470)) // noise + filter - MCFG_SN76477_DECAY_RES(RES_M(2.2)) // decay_res - MCFG_SN76477_ATTACK_PARAMS(CAP_U(1.0), RES_K(4.7)) // attack_decay_cap + attack_res - MCFG_SN76477_AMP_RES(0) // amplitude_res - MCFG_SN76477_FEEDBACK_RES(RES_K(33)) // feedback_res - MCFG_SN76477_VCO_PARAMS(0, CAP_U(0.1), RES_K(39)) // VCO volt + cap + res - MCFG_SN76477_PITCH_VOLTAGE(5.0) // pitch_voltage - MCFG_SN76477_SLF_PARAMS(CAP_U(1.0), RES_K(120)) // slf caps + res - MCFG_SN76477_ONESHOT_PARAMS(CAP_U(0.1), RES_K(220)) // oneshot caps + res - MCFG_SN76477_VCO_MODE(1) // VCO mode - MCFG_SN76477_MIXER_PARAMS(0, 0, 0) // mixer A, B, C - MCFG_SN76477_ENVELOPE_PARAMS(1, 0) // envelope 1, 2 - MCFG_SN76477_ENABLE(1) // enable - MCFG_SOUND_ROUTE(0, "discrete", 1.0, 0) - - MCFG_DEVICE_ADD("discrete", DISCRETE, 0) - MCFG_DISCRETE_INTF(schaser) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) - - MCFG_TIMER_DRIVER_ADD("schaser_sh_555", sc_state, schaser_effect_555_cb) + sn76477_device &snsnd(SN76477(config, "snsnd")); + snsnd.set_noise_params(RES_K(47), RES_K(330), CAP_P(470)); // noise + filter + snsnd.set_decay_res(RES_M(2.2)); + snsnd.set_attack_params(CAP_U(1.0), RES_K(4.7)); // attack_decay_cap; attack resistor + snsnd.set_amp_res(0); // amplitude res + snsnd.set_feedback_res(RES_K(33)); + snsnd.set_vco_params(0, CAP_U(0.1), RES_K(39)); // VCO volt; cap; res + snsnd.set_pitch_voltage(5.0); + snsnd.set_slf_params(CAP_U(1.0), RES_K(120)); + snsnd.set_oneshot_params(CAP_U(0.1), RES_K(220)); + snsnd.set_vco_mode(1); + snsnd.set_mixer_params(0, 0, 0); // mixer A;B;C + snsnd.set_envelope_params(1, 0); // envelope 1;2 + snsnd.set_enable(1); + snsnd.add_route(0, "discrete", 1.0, 0); + + DISCRETE(config, m_discrete, schaser_discrete); + m_discrete->add_route(ALL_OUTPUTS, "mono", 1.0); + + TIMER(config, "schaser_sh_555").configure_generic(FUNC(sc_state::schaser_effect_555_cb)); MACHINE_CONFIG_END ROM_START( schasrcv ) diff --git a/docs/release/src/hbmame/drivers/segac2.cpp b/docs/release/src/hbmame/drivers/segac2.cpp index 5c686bd8e4e..d88ff7caa49 100644 --- a/docs/release/src/hbmame/drivers/segac2.cpp +++ b/docs/release/src/hbmame/drivers/segac2.cpp @@ -8,8 +8,43 @@ ROM_START( c2frog ) ROM_REGION( 0x1000000, "maincpu", 0 ) - ROM_LOAD16_BYTE( "epr13114.32", 0x000000, 0x020000, CRC(d7039bd3) SHA1(82b9e3a760ebc845afe7bd78f22b897e1a530651) ) - ROM_LOAD16_BYTE( "epr13113.31", 0x000001, 0x020000, CRC(754b111a) SHA1(5542fc3b955df843e15e7c98aebc4f80c7d44b69) ) + ROM_LOAD16_BYTE( "c2frog.ic32", 0x000000, 0x020000, CRC(d7039bd3) SHA1(82b9e3a760ebc845afe7bd78f22b897e1a530651) ) + ROM_LOAD16_BYTE( "c2frog.ic31", 0x000001, 0x020000, CRC(754b111a) SHA1(5542fc3b955df843e15e7c98aebc4f80c7d44b69) ) ROM_END -HACK( 2007, c2frog, 0, segac, columns, segac2_state, columns, ROT0, "Rastersoft", "Frog Feast (Sega C2 hardware)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) +GAME( 2007, c2frog, 0, segac, columns, segac2_state, init_columns, ROT0, "Rastersoft", "Frog Feast (Sega C2 hardware)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) + + + +static INPUT_PORTS_START( ssonicbr ) + PORT_INCLUDE( systemc_generic ) + PORT_MODIFY("P1") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */ + PORT_MODIFY("P2") + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 2 Unused */ + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNUSED ) /* Button 3 Unused */ + PORT_MODIFY("DSW") + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:1") + PORT_DIPSETTING( 0x01, DEF_STR( On ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPUNKNOWN_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" ) + PORT_DIPUNKNOWN_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" ) + PORT_DIPUNKNOWN_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" ) + PORT_DIPUNKNOWN_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" ) + PORT_DIPUNKNOWN_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" ) + PORT_DIPUNKNOWN_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:7" ) + PORT_DIPUNKNOWN_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" ) +INPUT_PORTS_END + + + +ROM_START( ssonicbr ) + ROM_REGION( 0x200000, "maincpu", 0 ) + ROM_LOAD16_BYTE( "ssonicbr.ic32", 0x000000, 0x040000, CRC(cf254ecd) SHA1(4bb295ec80f8ddfeab4e360eebf12c5e2dfb9800) ) + ROM_LOAD16_BYTE( "ssonicbr.ic31", 0x000001, 0x040000, CRC(03709746) SHA1(0b457f557da77acd3f43950428117c1decdfaf26) ) + ROM_REGION( 0x020000, "upd", 0 ) + ROM_LOAD( "ssonicbr.ic4", 0x000000, 0x020000, CRC(78e56a51) SHA1(8a72c12975cd74919b4337e0f681273e6b5cbbc6) ) +ROM_END + +GAME( 1992, ssonicbr, 0, segac2, ssonicbr, segac2_state, init_bloxeedc, ROT0, "Sega", "SegaSonic Bros. (Japan, prototype)", MACHINE_SUPPORTS_SAVE ) diff --git a/docs/release/src/hbmame/drivers/spacmiss.cpp b/docs/release/src/hbmame/drivers/spacmiss.cpp index 5737e4cb2b8..a969acf5152 100644 --- a/docs/release/src/hbmame/drivers/spacmiss.cpp +++ b/docs/release/src/hbmame/drivers/spacmiss.cpp @@ -423,10 +423,10 @@ MACHINE_CONFIG_START( sm_state::spacmissx ) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("samples", SAMPLES, 0) - MCFG_SAMPLES_CHANNELS(6) - MCFG_SAMPLES_NAMES(invaders_sample_names) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) + SAMPLES(config, m_samples); + m_samples->set_channels(6); + m_samples->set_samples_names(invaders_sample_names); + m_samples->add_route(ALL_OUTPUTS, "mono", 1.0); MCFG_DEVICE_ADD("discrete", DISCRETE, spacmissx_disc) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MACHINE_CONFIG_END diff --git a/docs/release/src/hbmame/drivers/ssv.cpp b/docs/release/src/hbmame/drivers/ssv.cpp index 8fd1bc4237a..88122dd2d25 100644 --- a/docs/release/src/hbmame/drivers/ssv.cpp +++ b/docs/release/src/hbmame/drivers/ssv.cpp @@ -37,9 +37,9 @@ ROM_START( survartss01 ) ROM_LOAD16_WORD_SWAP( "si001-13.u6", 0x300000, 0x100000, CRC(d66a7e26) SHA1(57b659daef00421b6742963f792bd5e020f625c9) ) ROM_REGION( 0x0200, "plds", 0 ) - ROM_LOAD( "gal16v8b.u5", 0x0000, 0x0117, CRC(378ce368) SHA1(cc068c9b63e6f91165f9caec581645ad45b2d3d0) ) + ROM_LOAD_OPTIONAL( "gal16v8b.u5", 0x0000, 0x0117, CRC(378ce368) SHA1(cc068c9b63e6f91165f9caec581645ad45b2d3d0) ) ROM_END -/* YEAR NAME PARENT MACHINE INPUT INIT MONITOR COMPANY FULLNAME FLAGS */ +// YEAR NAME PARENT MACHINE INPUT CLASS INIT MONITOR COMPANY FULLNAME FLAGS // Survival Arts -GAME( 200?, survartss01, survarts, survarts, survarts, ssv_state, init_survarts, ROT0, "DDJ", "Survival Arts (Easy Move)(World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
\ No newline at end of file +GAME( 200?, survartss01, survarts, survarts, survarts, ssv_state, init_ssv, ROT0, "DDJ", "Survival Arts (Easy Move)(World)", MACHINE_NO_COCKTAIL | MACHINE_SUPPORTS_SAVE )
\ No newline at end of file diff --git a/docs/release/src/hbmame/drivers/tempest.cpp b/docs/release/src/hbmame/drivers/tempest.cpp index 57382231b66..c668d8bfe84 100644 --- a/docs/release/src/hbmame/drivers/tempest.cpp +++ b/docs/release/src/hbmame/drivers/tempest.cpp @@ -137,6 +137,8 @@ ROM_START( temped ) ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END ROM_START( tempestm ) @@ -171,6 +173,8 @@ ROM_START( tempestm ) ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END ROM_START( tempall ) @@ -205,6 +209,8 @@ ROM_START( tempall ) ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END ROM_START( temptwst ) @@ -239,16 +245,18 @@ ROM_START( temptwst ) ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END -ROM_START( tmptwsta ) +ROM_START( temptwsta ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "tempall.113", 0x9000, 0x0800, CRC(a9000137) SHA1(1dfb23f5d47e49923c681d4483d744795d589af0) ) ROM_LOAD( "136002-114.e1", 0x9800, 0x0800, CRC(11077375) SHA1(ed8ff0ca969da6672a7683b93d4fcf2935a0d903) ) ROM_LOAD( "136002.115", 0xa000, 0x0800, CRC(f3e2827a) SHA1(bd04fcfbbba995e08c3144c1474fcddaaeb1c700) ) ROM_LOAD( "136002.316", 0xa800, 0x0800, CRC(aeb0f7e9) SHA1(a5cc25015b98692673cfc1c7c2e9634efd750870) ) ROM_LOAD( "136002.217", 0xb000, 0x0800, CRC(ef2eb645) SHA1(b1a2c969e8897e335d5354de6ae04a65d4b2a1e4) ) - ROM_LOAD( "tmptwsta.118", 0xb800, 0x0800, CRC(a45add57) SHA1(79748a415dbc0a5f600d38ac098bd2d63a4f9ecc) ) + ROM_LOAD( "temptwsta.118", 0xb800, 0x0800, CRC(a45add57) SHA1(79748a415dbc0a5f600d38ac098bd2d63a4f9ecc) ) ROM_LOAD( "temptwst.119", 0xc000, 0x0800, CRC(571b1799) SHA1(d6e5615032bcae0018e388d7e7d8a00c42ff0c5a) ) ROM_LOAD( "136002.120", 0xc800, 0x0800, CRC(35619648) SHA1(48f1e8bed7ec6afa0b4c549a30e5ec331c071e40) ) ROM_LOAD( "temptwst.121", 0xd000, 0x0800, CRC(67619e6e) SHA1(4cf91abc535cc8c5de7e5f30fabe0876a5182b39) ) @@ -273,19 +281,21 @@ ROM_START( tmptwsta ) ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END -ROM_START( tmptwst2 ) +ROM_START( temptwst2 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "tempall.113", 0x9000, 0x0800, CRC(a9000137) SHA1(1dfb23f5d47e49923c681d4483d744795d589af0) ) ROM_LOAD( "136002-114.e1", 0x9800, 0x0800, CRC(11077375) SHA1(ed8ff0ca969da6672a7683b93d4fcf2935a0d903) ) ROM_LOAD( "136002.115", 0xa000, 0x0800, CRC(f3e2827a) SHA1(bd04fcfbbba995e08c3144c1474fcddaaeb1c700) ) ROM_LOAD( "136002.316", 0xa800, 0x0800, CRC(aeb0f7e9) SHA1(a5cc25015b98692673cfc1c7c2e9634efd750870) ) ROM_LOAD( "136002.217", 0xb000, 0x0800, CRC(ef2eb645) SHA1(b1a2c969e8897e335d5354de6ae04a65d4b2a1e4) ) - ROM_LOAD( "tmptwst2.118", 0xb800, 0x0800, CRC(1c6827cb) SHA1(d5a555f6ad59630e6d33c4bacad80ee429349e59) ) + ROM_LOAD( "temptwst2.118", 0xb800, 0x0800, CRC(1c6827cb) SHA1(d5a555f6ad59630e6d33c4bacad80ee429349e59) ) ROM_LOAD( "temptwst.119", 0xc000, 0x0800, CRC(571b1799) SHA1(d6e5615032bcae0018e388d7e7d8a00c42ff0c5a) ) ROM_LOAD( "136002.120", 0xc800, 0x0800, CRC(35619648) SHA1(48f1e8bed7ec6afa0b4c549a30e5ec331c071e40) ) - ROM_LOAD( "tmptwst2.121", 0xd000, 0x0800, CRC(c1bc4a69) SHA1(a60491fd7d6715118ed0d59dac0064c4263e15c6) ) + ROM_LOAD( "temptwst2.121", 0xd000, 0x0800, CRC(c1bc4a69) SHA1(a60491fd7d6715118ed0d59dac0064c4263e15c6) ) ROM_LOAD( "136002.222", 0xd800, 0x0800, CRC(707bd5c3) SHA1(2f0af6fb7154c244c794f7247e5c16a1e06ddf7d) ) ROM_RELOAD( 0xf800, 0x0800 ) /* for reset/interrupt vectors */ /* Vector ROM */ @@ -307,19 +317,21 @@ ROM_START( tmptwst2 ) ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END -ROM_START( tmptwst3 ) +ROM_START( temptwst3 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "tempall.113", 0x9000, 0x0800, CRC(a9000137) SHA1(1dfb23f5d47e49923c681d4483d744795d589af0) ) ROM_LOAD( "136002-114.e1", 0x9800, 0x0800, CRC(11077375) SHA1(ed8ff0ca969da6672a7683b93d4fcf2935a0d903) ) ROM_LOAD( "136002.115", 0xa000, 0x0800, CRC(f3e2827a) SHA1(bd04fcfbbba995e08c3144c1474fcddaaeb1c700) ) ROM_LOAD( "136002.316", 0xa800, 0x0800, CRC(aeb0f7e9) SHA1(a5cc25015b98692673cfc1c7c2e9634efd750870) ) ROM_LOAD( "136002.217", 0xb000, 0x0800, CRC(ef2eb645) SHA1(b1a2c969e8897e335d5354de6ae04a65d4b2a1e4) ) - ROM_LOAD( "tmptwst3.118", 0xb800, 0x0800, CRC(c8e7693f) SHA1(18914841f3dc685d9a72bc2aaae940f6b6711e27) ) + ROM_LOAD( "temptwst3.118", 0xb800, 0x0800, CRC(c8e7693f) SHA1(18914841f3dc685d9a72bc2aaae940f6b6711e27) ) ROM_LOAD( "temptwst.119", 0xc000, 0x0800, CRC(571b1799) SHA1(d6e5615032bcae0018e388d7e7d8a00c42ff0c5a) ) ROM_LOAD( "136002.120", 0xc800, 0x0800, CRC(35619648) SHA1(48f1e8bed7ec6afa0b4c549a30e5ec331c071e40) ) - ROM_LOAD( "tmptwst3.121", 0xd000, 0x0800, CRC(194b34a9) SHA1(86c34dcccc2054cad4f8c175c4db4d3856172f66) ) + ROM_LOAD( "temptwst3.121", 0xd000, 0x0800, CRC(194b34a9) SHA1(86c34dcccc2054cad4f8c175c4db4d3856172f66) ) ROM_LOAD( "136002.222", 0xd800, 0x0800, CRC(707bd5c3) SHA1(2f0af6fb7154c244c794f7247e5c16a1e06ddf7d) ) ROM_RELOAD( 0xf800, 0x0800 ) /* for reset/interrupt vectors */ /* Vector ROM */ @@ -341,19 +353,21 @@ ROM_START( tmptwst3 ) ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END -ROM_START( tmptwst4 ) +ROM_START( temptwst4 ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "tempall.113", 0x9000, 0x0800, CRC(a9000137) SHA1(1dfb23f5d47e49923c681d4483d744795d589af0) ) ROM_LOAD( "136002-114.e1", 0x9800, 0x0800, CRC(11077375) SHA1(ed8ff0ca969da6672a7683b93d4fcf2935a0d903) ) ROM_LOAD( "136002.115", 0xa000, 0x0800, CRC(f3e2827a) SHA1(bd04fcfbbba995e08c3144c1474fcddaaeb1c700) ) ROM_LOAD( "136002.316", 0xa800, 0x0800, CRC(aeb0f7e9) SHA1(a5cc25015b98692673cfc1c7c2e9634efd750870) ) ROM_LOAD( "136002.217", 0xb000, 0x0800, CRC(ef2eb645) SHA1(b1a2c969e8897e335d5354de6ae04a65d4b2a1e4) ) - ROM_LOAD( "tmptwst4.118", 0xb800, 0x0800, CRC(2b6fcca4) SHA1(adfd65c94c46235ba47017e726a7b3c554e8e07a) ) + ROM_LOAD( "temptwst4.118", 0xb800, 0x0800, CRC(2b6fcca4) SHA1(adfd65c94c46235ba47017e726a7b3c554e8e07a) ) ROM_LOAD( "temptwst.119", 0xc000, 0x0800, CRC(571b1799) SHA1(d6e5615032bcae0018e388d7e7d8a00c42ff0c5a) ) ROM_LOAD( "136002.120", 0xc800, 0x0800, CRC(35619648) SHA1(48f1e8bed7ec6afa0b4c549a30e5ec331c071e40) ) - ROM_LOAD( "tmptwst4.121", 0xd000, 0x0800, CRC(7fde0be4) SHA1(3d06b0f0ef71132b3fa67ad8930e2dd334e90932) ) + ROM_LOAD( "temptwst4.121", 0xd000, 0x0800, CRC(7fde0be4) SHA1(3d06b0f0ef71132b3fa67ad8930e2dd334e90932) ) ROM_LOAD( "136002.222", 0xd800, 0x0800, CRC(707bd5c3) SHA1(2f0af6fb7154c244c794f7247e5c16a1e06ddf7d) ) ROM_RELOAD( 0xf800, 0x0800 ) /* for reset/interrupt vectors */ /* Vector ROM */ @@ -375,6 +389,8 @@ ROM_START( tmptwst4 ) ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END ROM_START( vbrakout ) @@ -404,6 +420,8 @@ ROM_START( vbrakout ) ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END ROM_START( temptlm ) @@ -438,6 +456,8 @@ ROM_START( temptlm ) ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END @@ -476,6 +496,8 @@ ROM_START( tvortex ) /* rev 1 */ ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END ROM_START( tvortexa ) /* rev 2? */ @@ -510,6 +532,8 @@ ROM_START( tvortexa ) /* rev 2? */ ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END ROM_START( aliensv ) /* rev 1 */ @@ -544,6 +568,8 @@ ROM_START( aliensv ) /* rev 1 */ ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END ROM_START( aliensva ) /* rev 2? */ @@ -578,10 +604,11 @@ ROM_START( aliensva ) /* rev 2? */ ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END /* tempest multigame */ -// 2018-10-31 marked as not working, as it will no longer go into the menu at boot class tempmg_state : public tempest_state { @@ -629,7 +656,7 @@ void tempmg_state::init_tempmg() void tempmg_state::tempmg_map(address_map &map) { map(0x0000, 0x07ff).ram(); - map(0x0800, 0x080f).writeonly().share("colorram"); + map(0x0800, 0x080f).ram().share("colorram"); map(0x0c00, 0x0c00).portr("IN0"); map(0x0d00, 0x0d00).portr("DSW1"); map(0x0e00, 0x0e00).portr("DSW2"); @@ -770,21 +797,23 @@ ROM_START( tempmg ) ROMX_LOAD( "136002.129", 1, 0x100, CRC(09f5a4d5) SHA1(d6f2ac07ca9ee385c08831098b0dcaf56808993b), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) ROMX_LOAD( "136002.128", 2, 0x100, CRC(823b61ae) SHA1(d99a839874b45f64e14dae92a036e47a53705d16), ROM_NIBBLE | ROM_SHIFT_NIBBLE_LO | ROM_SKIP(3)) ROMX_LOAD( "136002.127", 2, 0x100, CRC(276eadd5) SHA1(55718cd8ec4bcf75076d5ef0ee1ed2551e19d9ba), ROM_NIBBLE | ROM_SHIFT_NIBBLE_HI | ROM_SKIP(3)) + + ROM_REGION(0x40, "earom", ROMREGION_ERASE00 ) // default earom to 0 ROM_END -HACK( 2000, temped, tempest, tempest, tempest, tempest_state, 0, ROT270, "hack", "TempEd", MACHINE_SUPPORTS_SAVE ) -HACK( 2000, tempall, tempest, tempest, tempest, tempest_state, 0, ROT270, "hack", "Tempest All Levels", MACHINE_SUPPORTS_SAVE ) -HACK( 2000, temptwst, tempest, tempest, tempest, tempest_state, 0, ROT270, "Twisty", "Tempest Twisted", MACHINE_SUPPORTS_SAVE ) -HACK( 2000, tmptwsta, tempest, tempest, tempest, tempest_state, 0, ROT270, "Twisty", "Tempest Twisted (Alt)", MACHINE_SUPPORTS_SAVE ) -HACK( 2000, tmptwst2, tempest, tempest, tempest, tempest_state, 0, ROT270, "Twisty", "Tempest Twisty's Revenge", MACHINE_SUPPORTS_SAVE ) -HACK( 2000, tmptwst3, tempest, tempest, tempest, tempest_state, 0, ROT270, "Twisty", "Tempest Psycho Twist", MACHINE_SUPPORTS_SAVE ) -HACK( 2000, tmptwst4, tempest, tempest, tempest, tempest_state, 0, ROT270, "Twisty", "Tempest Twisted Maniac", MACHINE_SUPPORTS_SAVE ) -HACK( 2000, tempestm, tempest, tempest, tempest, tempest_state, 0, ROT270, "hack", "Tempest Mark's Hacks", MACHINE_SUPPORTS_SAVE ) -HACK( 2001, tempmg, tempest, tempmg, tempest, tempmg_state, tempmg, ROT270, "Clay Cowgill", "Tempest Multigame", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) -HACK( 1999, vbrakout, tempest, tempest, tempest, tempest_state, 0, ROT270, "Clay Cowgill", "Vector Breakout [h]", MACHINE_SUPPORTS_SAVE ) -HACK( 2000, temptlm, tempest, tempest, tempest, tempest_state, 0, ROT270, "hack", "Tempest Level Man", MACHINE_SUPPORTS_SAVE ) -HACK( 1980, tvortex, tempest, tempest, tempest, tempest_state, 0, ROT270, "Atari", "Vortex", MACHINE_SUPPORTS_SAVE ) -HACK( 1980, tvortexa, tempest, tempest, tempest, tempest_state, 0, ROT270, "Atari", "Vortex alt version", MACHINE_SUPPORTS_SAVE ) -HACK( 1980, aliensv, tempest, tempest, aliensv, tempest_state, 0, ROT270, "Atari", "Aliens", MACHINE_SUPPORTS_SAVE ) -HACK( 1980, aliensva, tempest, tempest, aliensv, tempest_state, 0, ORIENTATION_FLIP_Y ^ ROT270, "Atari", "Aliens alt version", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, temped, tempest, tempest, tempest, tempest_state, empty_init, ROT270, "hack", "TempEd", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, tempall, tempest, tempest, tempest, tempest_state, empty_init, ROT270, "hack", "Tempest All Levels", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, temptwst, tempest, tempest, tempest, tempest_state, empty_init, ROT270, "Twisty", "Tempest Twisted", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, temptwsta, tempest, tempest, tempest, tempest_state, empty_init, ROT270, "Twisty", "Tempest Twisted (Alt)", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, temptwst2, tempest, tempest, tempest, tempest_state, empty_init, ROT270, "Twisty", "Tempest Twisty's Revenge", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, temptwst3, tempest, tempest, tempest, tempest_state, empty_init, ROT270, "Twisty", "Tempest Psycho Twist", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, temptwst4, tempest, tempest, tempest, tempest_state, empty_init, ROT270, "Twisty", "Tempest Twisted Maniac", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, tempestm, tempest, tempest, tempest, tempest_state, empty_init, ROT270, "hack", "Tempest Mark's Hacks", MACHINE_SUPPORTS_SAVE ) +GAME( 2001, tempmg, tempest, tempmg, tempest, tempmg_state, init_tempmg, ROT270, "Clay Cowgill", "Tempest Multigame", MACHINE_SUPPORTS_SAVE ) +GAME( 1999, vbrakout, tempest, tempest, tempest, tempest_state, empty_init, ROT270, "Clay Cowgill", "Vector Breakout [h]", MACHINE_SUPPORTS_SAVE ) +GAME( 2000, temptlm, tempest, tempest, tempest, tempest_state, empty_init, ROT270, "hack", "Tempest Level Man", MACHINE_SUPPORTS_SAVE ) +GAME( 1980, tvortex, tempest, tempest, tempest, tempest_state, empty_init, ROT270, "Atari", "Vortex", MACHINE_SUPPORTS_SAVE ) +GAME( 1980, tvortexa, tempest, tempest, tempest, tempest_state, empty_init, ROT270, "Atari", "Vortex alt version", MACHINE_SUPPORTS_SAVE ) +GAME( 1980, aliensv, tempest, tempest, aliensv, tempest_state, empty_init, ROT270, "Atari", "Aliens", MACHINE_SUPPORTS_SAVE ) +GAME( 1980, aliensva, tempest, tempest, aliensv, tempest_state, empty_init, ORIENTATION_FLIP_Y ^ ROT270, "Atari", "Aliens alt version", MACHINE_SUPPORTS_SAVE ) diff --git a/docs/release/src/hbmame/hbmame.lst b/docs/release/src/hbmame/hbmame.lst index 38f687d7a87..aa89a370899 100644 --- a/docs/release/src/hbmame/hbmame.lst +++ b/docs/release/src/hbmame/hbmame.lst @@ -65,6 +65,9 @@ astrofbl /* Black Background */ asuka //parent asukac // chinese +@source:atarig42.cpp +//dangerex + @source:atarisy1.cpp atarisy1 //bios indytemp //parent @@ -1684,6 +1687,8 @@ dkrainbow dkrdemo dkchrmx // Sock Master - Christmas Remix 2017 dkspkyrmx // Sock Master - Spooky Remix Halloween Tournament 2018 +dktrainer +dkpace kong2600 /* Vic Twenty George hack of Donkey Kong */ nadkong @@ -4608,6 +4613,11 @@ androdund /* 0049 (c) 1992 Visco */ ncommandd /* 0050 (c) 1992 Alpha Denshi Co. */ wh1d /* 0053 (c) 1992 Alpha Denshi Co. */ +@source:mhavoc.cpp +mhavoc //parent +mhavocrv //HB Jess M. Askey +mhavocpe //HB Jess M. Askey + @source:midtunit.cpp mk //parent mkfr // french @@ -7101,6 +7111,7 @@ kabukiklgmc kabukiklmc kabukiklyc karnovreh +karnovrh kizunab kizunaeh lans2k4d @@ -9596,10 +9607,10 @@ tempall temped /* Tempest TempEd Hack */ tempestm temptwst /* Twisty Hack */ -tmptwsta /* Twisty Hack 2000 */ -tmptwst2 /* Twisty Hack */ -tmptwst3 /* Twisty Hack */ -tmptwst4 /* Twisty Hack */ +temptwsta /* Twisty Hack 2000 */ +temptwst2 /* Twisty Hack */ +temptwst3 /* Twisty Hack */ +temptwst4 /* Twisty Hack */ vbrakout /* Clay Cowgill */ tempmg /* Clay Cowgill Multi-Tempest */ temptlm diff --git a/docs/release/src/hbmame/video/galaxian.cpp b/docs/release/src/hbmame/video/galaxian.cpp deleted file mode 100644 index c94dac4e83f..00000000000 --- a/docs/release/src/hbmame/video/galaxian.cpp +++ /dev/null @@ -1,87 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Robbbert -#include "../mame/video/galaxian.cpp" - - -/*************************************************************************** - - HBMAME Video support for extra games - -***************************************************************************/ - - - - - -/************************************* - * - * Four Play extensions - * - *************************************/ - -/* gfxbank[4] is used as a cpu bank number, and gfxbank[0] for graphics banking */ -WRITE8_MEMBER( galaxian_state::fourplay_rombank_w ) -{ - m_gfxbank[4] = (m_gfxbank[4] & (2 - offset)) | (data << offset); - - m_gfxbank[0] = (m_gfxbank[4] == 3); // 1 = true, 0 = false - - membank("bank1")->set_entry( m_gfxbank[4] ); -} - - - -/************************************* - * - * Video Eight extensions - * - *************************************/ - -void galaxian_state::videight_extend_tile_info(uint16_t *code, uint8_t *color, uint8_t attrib, uint8_t x) -{ - *code |= (m_gfxbank[0] << 8); - *color |= (m_gfxbank[4] << 3); -} - -void galaxian_state::videight_extend_sprite_info(const uint8_t *base, uint8_t *sx, uint8_t *sy, uint8_t *flipx, uint8_t *flipy, uint16_t *code, uint8_t *color) -{ - *code |= (m_gfxbank[0] << 6); - *color |= (m_gfxbank[4] << 3); -} - - -/* This handles the main bankswitching for code and one-bank gfx games */ -WRITE8_MEMBER( galaxian_state::videight_rombank_w ) -{ - uint8_t gfxbanks[] = { 0, 10, 2, 8, 1, 9, 4, 11 }; - if (offset == 2) - galaxian_stars_enable_w( space, 0, data ); - else - { - m_gfxbank[4] = (m_gfxbank[4] & (6 - offset)) | (data << ((offset + 1) >> 1)); - galaxian_gfxbank_w (space, 0, gfxbanks[m_gfxbank[4]]); - membank("bank1")->set_entry( m_gfxbank[4] ); - } -} - -/* This handles those games with multiple gfx banks */ -WRITE8_MEMBER( galaxian_state::videight_gfxbank_w ) -{ - /* Moon Cresta (mooncrgx) */ - if (( data < 2 ) && (m_gfxbank[4] == 3)) - { - uint8_t gfxbanks[] = { 8, 12, 8, 14, 8, 13, 8, 15 }; - if (!offset) m_gfxbank[3] = (m_gfxbank[3] & 6) | data; - if (offset == 1) m_gfxbank[3] = (m_gfxbank[3] & 5) | (data << 1); - if (offset == 2) m_gfxbank[3] = (m_gfxbank[3] & 3) | (data << 2); - galaxian_gfxbank_w(space, 0, gfxbanks[m_gfxbank[3]]); - } - - /* Uniwar S */ - if (( data < 2 ) && (m_gfxbank[4] == 2) && (offset == 2)) - galaxian_gfxbank_w( space, 0, data+2 ); - - /* Pisces (piscesb) */ - if (( data < 2 ) && (m_gfxbank[4] == 6) && (offset == 2)) - galaxian_gfxbank_w( space, 0, data+4 ); -} diff --git a/docs/release/src/mame/drivers/jrpacman.cpp b/docs/release/src/mame/drivers/jrpacman.cpp index 4b3c8fab50b..7a9a3382645 100644 --- a/docs/release/src/mame/drivers/jrpacman.cpp +++ b/docs/release/src/mame/drivers/jrpacman.cpp @@ -301,14 +301,12 @@ WRITE_LINE_MEMBER(jrpacman_state::vblank_irq) m_maincpu->set_input_line(0, HOLD_LINE); } -MACHINE_CONFIG_START(jrpacman_state::jrpacman) - +void jrpacman_state::jrpacman(machine_config &config) +{ /* basic machine hardware */ - MCFG_DEVICE_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */ - MCFG_DEVICE_PROGRAM_MAP(main_map) - MCFG_DEVICE_IO_MAP(port_map) -// MCFG_DEVICE_VBLANK_INT_DRIVER("screen", jrpacman_state, vblank_irq) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pacman_state, pacman_interrupt) // HBMAME + Z80(config, m_maincpu, 18432000/6); /* 3.072 MHz */ + m_maincpu->set_addrmap(AS_PROGRAM, &jrpacman_state::main_map); + m_maincpu->set_addrmap(AS_IO, &jrpacman_state::port_map); ls259_device &latch1(LS259(config, "latch1")); // 5P latch1.q_out_cb<0>().set(FUNC(jrpacman_state::irq_mask_w)); @@ -326,28 +324,30 @@ MACHINE_CONFIG_START(jrpacman_state::jrpacman) WATCHDOG_TIMER(config, m_watchdog); /* video hardware */ - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_REFRESH_RATE(60.606060) - MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) - MCFG_SCREEN_SIZE(36*8, 28*8) - MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 0*8, 28*8-1) - MCFG_SCREEN_UPDATE_DRIVER(jrpacman_state, screen_update_pacman) - MCFG_SCREEN_PALETTE("palette") - MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, jrpacman_state, vblank_irq)) - - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_jrpacman) - MCFG_PALETTE_ADD("palette", 128*4) - MCFG_PALETTE_INDIRECT_ENTRIES(32) - MCFG_PALETTE_INIT_OWNER(jrpacman_state,pacman) + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60.606060); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + screen.set_size(36*8, 28*8); + screen.set_visarea(0*8, 36*8-1, 0*8, 28*8-1); + screen.set_screen_update(FUNC(jrpacman_state::screen_update_pacman)); + screen.set_palette(m_palette); + //screen.screen_vblank().set(FUNC(jrpacman_state::vblank_irq)); // HBMAME + screen.screen_vblank().set(FUNC(jrpacman_state::pacman_interrupt)); // HBMAME + + GFXDECODE(config, m_gfxdecode, m_palette, gfx_jrpacman); + PALETTE(config, m_palette, 128*4); + m_palette->set_indirect_entries(32); + m_palette->set_init(FUNC(jrpacman_state::palette_init_pacman)); + MCFG_VIDEO_START_OVERRIDE(jrpacman_state,jrpacman) /* sound hardware */ SPEAKER(config, "mono").front_center(); - MCFG_DEVICE_ADD("namco", NAMCO, 3072000/32) - MCFG_NAMCO_AUDIO_VOICES(3) - MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) -MACHINE_CONFIG_END + NAMCO(config, m_namco_sound, 3072000/32); + m_namco_sound->set_voices(3); + m_namco_sound->add_route(ALL_OUTPUTS, "mono", 1.0); +} diff --git a/docs/release/src/mame/drivers/model2.cpp b/docs/release/src/mame/drivers/model2.cpp index e03f7dfbac9..3045b0e1535 100644 --- a/docs/release/src/mame/drivers/model2.cpp +++ b/docs/release/src/mame/drivers/model2.cpp @@ -4,7 +4,7 @@ Sega Model 2: i960KB + (5x TGP) or (2x SHARC) or (2x TGPx4) System 24 tilemaps Custom Sega/Lockheed-Martin rasterization hardware - (68000 + YM3834 + 2x MultiPCM) or (68000 + SCSP) + (68000 + YM3438 + 2x MultiPCM) or (68000 + SCSP) Hardware and protection reverse-engineering and general assistance by ElSemi. MAME driver by R. Belmont, Olivier Galibert, ElSemi and Angelo Salese. @@ -158,7 +158,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(model2_state::model2_timer_cb) m_timerrun[tnum] = 0; } -MACHINE_START_MEMBER( model2_state, model2 ) +void model2_state::machine_start() { // initialize custom debugger pool, @see machine/model2.cpp debug_init(); @@ -183,9 +183,9 @@ MACHINE_START_MEMBER( model2_state, model2 ) save_item(NAME(m_geo_read_start_address)); } -MACHINE_START_MEMBER(model2_tgp_state,model2_tgp) +void model2_tgp_state::machine_start() { - MACHINE_START_CALL_MEMBER(model2); + model2_state::machine_start(); m_copro_fifo_in->setup(16, [this]() { m_copro_tgp->stall(); }, @@ -206,9 +206,9 @@ MACHINE_START_MEMBER(model2_tgp_state,model2_tgp) [ ]() { }); } -MACHINE_START_MEMBER(model2b_state,model2b) +void model2b_state::machine_start() { - MACHINE_START_CALL_MEMBER(model2); + model2_state::machine_start(); m_copro_fifo_in->setup(16, [ ]() { }, @@ -228,9 +228,9 @@ MACHINE_START_MEMBER(model2b_state,model2b) [this]() { m_copro_adsp->set_flag_input(1, m_copro_fifo_in->is_full()); }); } -MACHINE_START_MEMBER(model2c_state,model2c) +void model2c_state::machine_start() { - MACHINE_START_CALL_MEMBER(model2); + model2_state::machine_start(); m_copro_fifo_in->setup(16, [ ]() { }, @@ -250,10 +250,8 @@ MACHINE_START_MEMBER(model2c_state,model2c) [ ]() { }); } -MACHINE_RESET_MEMBER( model2_state, model2_common ) +void model2_state::machine_reset() { - int i; - m_intreq = 0; m_intena = 0; m_coproctl = 0; @@ -269,14 +267,14 @@ MACHINE_RESET_MEMBER( model2_state, model2_common ) m_timerrun[0] = m_timerrun[1] = m_timerrun[2] = m_timerrun[3] = 0; - for (i=0; i<4; i++) + for (int i = 0; i < 4; i++) m_timers[i]->reset(); m_uart->write_cts(0); // initialize bufferram to a sane default // TODO: HW can probably parse this at will somehow ... - for (i=0;i<0x20000/4;i++) + for (int i = 0; i < 0x20000/4; i++) m_bufferram[i] = 0x07800f0f; m_copro_fifo_in->clear(); @@ -285,7 +283,7 @@ MACHINE_RESET_MEMBER( model2_state, model2_common ) m_geo_read_start_address = 0; } -MACHINE_RESET_MEMBER(model2_state,model2_scsp) +void model2_state::reset_model2_scsp() { membank("bank4")->set_base(memregion("samples")->base() + 0x200000); membank("bank5")->set_base(memregion("samples")->base() + 0x600000); @@ -295,29 +293,24 @@ MACHINE_RESET_MEMBER(model2_state,model2_scsp) m_audiocpu->reset(); } -MACHINE_RESET_MEMBER(model2_tgp_state,model2_tgp) +void model2_tgp_state::machine_reset() { - MACHINE_RESET_CALL_MEMBER(model2_common); + model2_state::machine_reset(); // hold TGP in halt until we have code m_copro_tgp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); } -MACHINE_RESET_MEMBER(model2o_state,model2o) -{ - MACHINE_RESET_CALL_MEMBER(model2_tgp); -} - -MACHINE_RESET_MEMBER(model2a_state,model2a) +void model2a_state::machine_reset() { - MACHINE_RESET_CALL_MEMBER(model2_tgp); - MACHINE_RESET_CALL_MEMBER(model2_scsp); + model2_tgp_state::machine_reset(); + reset_model2_scsp(); } -MACHINE_RESET_MEMBER(model2b_state,model2b) +void model2b_state::machine_reset() { - MACHINE_RESET_CALL_MEMBER(model2_common); - MACHINE_RESET_CALL_MEMBER(model2_scsp); + model2_state::machine_reset(); + reset_model2_scsp(); m_copro_adsp->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); @@ -327,10 +320,10 @@ MACHINE_RESET_MEMBER(model2b_state,model2b) m_copro_adsp->set_input_line(SHARC_INPUT_FLAG1, CLEAR_LINE); } -MACHINE_RESET_MEMBER(model2c_state,model2c) +void model2c_state::machine_reset() { - MACHINE_RESET_CALL_MEMBER(model2_common); - MACHINE_RESET_CALL_MEMBER(model2_scsp); + model2_state::machine_reset(); + reset_model2_scsp(); m_copro_tgpx4->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); } @@ -2422,44 +2415,51 @@ WRITE8_MEMBER(model2_state::scsp_irq) #define VIDEO_CLOCK XTAL(32'000'000) -MACHINE_CONFIG_START(model2_state::model2_timers) - MCFG_TIMER_DRIVER_ADD("timer0", model2_state, model2_timer_cb) - MCFG_TIMER_PTR((uintptr_t)0) - MCFG_TIMER_DRIVER_ADD("timer1", model2_state, model2_timer_cb) - MCFG_TIMER_PTR((uintptr_t)1) - MCFG_TIMER_DRIVER_ADD("timer2", model2_state, model2_timer_cb) - MCFG_TIMER_PTR((uintptr_t)2) - MCFG_TIMER_DRIVER_ADD("timer3", model2_state, model2_timer_cb) - MCFG_TIMER_PTR((uintptr_t)3) -MACHINE_CONFIG_END - -MACHINE_CONFIG_START(model2_state::model2_screen) +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); + timer_device &timer1(TIMER(config, "timer1")); + timer1.configure_generic(FUNC(model2_state::model2_timer_cb)); + timer1.set_ptr((void *)(uintptr_t)1); + timer_device &timer2(TIMER(config, "timer2")); + timer2.configure_generic(FUNC(model2_state::model2_timer_cb)); + timer2.set_ptr((void *)(uintptr_t)2); + timer_device &timer3(TIMER(config, "timer3")); + timer3.configure_generic(FUNC(model2_state::model2_timer_cb)); + timer3.set_ptr((void *)(uintptr_t)3); +} + +void model2_state::model2_screen(machine_config &config) +{ S24TILE(config, m_tiles, 0, 0x3fff); m_tiles->set_palette(m_palette); m_tiles->xhout_write_callback().set(FUNC(model2_state::horizontal_sync_w)); m_tiles->xvout_write_callback().set(FUNC(model2_state::vertical_sync_w)); - MCFG_SCREEN_ADD("screen", RASTER) - MCFG_SCREEN_VIDEO_ATTRIBUTES(VIDEO_UPDATE_AFTER_VBLANK) + SCREEN(config, m_screen, SCREEN_TYPE_RASTER); + m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK); // TODO: from System 24, might not be accurate for Model 2 - MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK/2, 656, 0/*+69*/, 496/*+69*/, 424, 0/*+25*/, 384/*+25*/) - MCFG_SCREEN_UPDATE_DRIVER(model2_state, screen_update_model2) + m_screen->set_raw(VIDEO_CLOCK/2, 656, 0/*+69*/, 496/*+69*/, 424, 0/*+25*/, 384/*+25*/); + m_screen->set_screen_update(FUNC(model2_state::screen_update_model2)); - MCFG_PALETTE_ADD("palette", 8192) -MACHINE_CONFIG_END + PALETTE(config, m_palette, 8192); +} -MACHINE_CONFIG_START(model2_state::model2_scsp) - MCFG_DEVICE_ADD("audiocpu", M68000, 12000000) - MCFG_DEVICE_PROGRAM_MAP(model2_snd) +void model2_state::model2_scsp(machine_config &config) +{ + M68000(config, m_audiocpu, 45158000/4); // SCSP Clock / 2 + m_audiocpu->set_addrmap(AS_PROGRAM, &model2_state::model2_snd); SPEAKER(config, "lspeaker").front_left(); SPEAKER(config, "rspeaker").front_right(); - MCFG_DEVICE_ADD("scsp", SCSP) - MCFG_DEVICE_ADDRESS_MAP(0, scsp_map) - MCFG_SCSP_IRQ_CB(WRITE8(*this, model2_state,scsp_irq)) - MCFG_SOUND_ROUTE(0, "lspeaker", 2.0) - MCFG_SOUND_ROUTE(0, "rspeaker", 2.0) + SCSP(config, m_scsp, 45158000/2); // 45.158MHz XTAL at Video board(Model 2A-CRX) + m_scsp->set_addrmap(0, &model2_state::scsp_map); + m_scsp->irq_cb().set(FUNC(model2_state::scsp_irq)); + m_scsp->add_route(0, "lspeaker", 1.0); + m_scsp->add_route(1, "rspeaker", 1.0); I8251(config, m_uart, 8000000); // uPD71051C, clock unknown // m_uart->rxrdy_handler().set(FUNC(model2_state::sound_ready_w)); @@ -2468,19 +2468,21 @@ MACHINE_CONFIG_START(model2_state::model2_scsp) clock_device &uart_clock(CLOCK(config, "uart_clock", 500000)); // 16 times 31.25MHz (standard Sega/MIDI sound data rate) uart_clock.signal_handler().set(m_uart, FUNC(i8251_device::write_txc)); uart_clock.signal_handler().append(m_uart, FUNC(i8251_device::write_rxc)); -MACHINE_CONFIG_END +} /* original Model 2 */ -MACHINE_CONFIG_START(model2o_state::model2o) - MCFG_DEVICE_ADD("maincpu", I960, 25000000) - MCFG_DEVICE_PROGRAM_MAP(model2o_mem) - MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", model2_state, model2_interrupt, "screen", 0, 1) +void model2o_state::model2o(machine_config &config) +{ + I960(config, m_maincpu, 25000000); + m_maincpu->set_addrmap(AS_PROGRAM, &model2o_state::model2o_mem); + + TIMER(config, "scantimer").configure_scanline(FUNC(model2_state::model2_interrupt), "screen", 0, 1); - MCFG_DEVICE_ADD("copro_tgp", MB86234, 16000000) - MCFG_DEVICE_PROGRAM_MAP(copro_tgp_prog_map) - MCFG_DEVICE_DATA_MAP(copro_tgp_data_map) - MCFG_DEVICE_IO_MAP(copro_tgp_io_map) - MCFG_DEVICE_ADDRESS_MAP(mb86233_device::AS_RF, copro_tgp_rf_map) + MB86234(config, m_copro_tgp, 16000000); + m_copro_tgp->set_addrmap(AS_PROGRAM, &model2o_state::copro_tgp_prog_map); + m_copro_tgp->set_addrmap(AS_DATA, &model2o_state::copro_tgp_data_map); + m_copro_tgp->set_addrmap(AS_IO, &model2o_state::copro_tgp_io_map); + m_copro_tgp->set_addrmap(mb86233_device::AS_RF, &model2o_state::copro_tgp_rf_map); ADDRESS_MAP_BANK(config, m_copro_tgp_bank, 0); m_copro_tgp_bank->set_addrmap(0, &model2o_state::copro_tgp_bank_map); @@ -2493,9 +2495,6 @@ MACHINE_CONFIG_START(model2o_state::model2o) GENERIC_FIFO_U32(config, m_copro_fifo_in, 0); GENERIC_FIFO_U32(config, m_copro_fifo_out, 0); - MCFG_MACHINE_START_OVERRIDE(model2_tgp_state,model2_tgp) - MCFG_MACHINE_RESET_OVERRIDE(model2o_state,model2o) - NVRAM(config, "backup1", nvram_device::DEFAULT_ALL_1); model1io_device &ioboard(SEGA_MODEL1IO(config, "ioboard", 0)); @@ -2521,7 +2520,7 @@ MACHINE_CONFIG_START(model2o_state::model2o) uart_clock.signal_handler().append(m_uart, FUNC(i8251_device::write_rxc)); M2COMM(config, "m2comm", 0); -MACHINE_CONFIG_END +} READ8_MEMBER(model2_state::driveio_portg_r) { @@ -2554,11 +2553,12 @@ void model2_state::drive_io_map(address_map &map) map(0x80, 0x83).rw("driveadc", FUNC(msm6253_device::d0_r), FUNC(msm6253_device::address_w)); } -MACHINE_CONFIG_START(model2_state::sj25_0207_01) - MCFG_DEVICE_ADD("drivecpu", Z80, XTAL(8'000'000)/2) // confirmed - MCFG_DEVICE_PROGRAM_MAP(drive_map) - MCFG_DEVICE_IO_MAP(drive_io_map) - MCFG_DEVICE_VBLANK_INT_DRIVER("screen", model2_state, irq0_line_hold) +void model2_state::sj25_0207_01(machine_config &config) +{ + Z80(config, m_drivecpu, XTAL(8'000'000)/2); // confirmed + m_drivecpu->set_addrmap(AS_PROGRAM, &model2_state::drive_map); + m_drivecpu->set_addrmap(AS_IO, &model2_state::drive_io_map); + m_drivecpu->set_vblank_int("screen", FUNC(model2_state::irq0_line_hold)); sega_315_5296_device &driveio1(SEGA_315_5296(config, "driveio1", 0)); // unknown clock driveio1.out_pd_callback().set(FUNC(model2_state::driveio_port_w)); @@ -2568,7 +2568,7 @@ MACHINE_CONFIG_START(model2_state::sj25_0207_01) SEGA_315_5296(config, "driveio2", 0); // unknown clock MSM6253(config, "driveadc", 0); -MACHINE_CONFIG_END +} void model2o_state::daytona(machine_config &config) { @@ -2583,19 +2583,19 @@ void model2o_state::daytona(machine_config &config) ioboard.output_callback().set(FUNC(model2o_state::daytona_output_w)); } -MACHINE_CONFIG_START(model2o_maxx_state::daytona_maxx) +void model2o_maxx_state::daytona_maxx(machine_config &config) +{ daytona(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(model2o_maxx_mem) -MACHINE_CONFIG_END + m_maincpu->set_addrmap(AS_PROGRAM, &model2o_maxx_state::model2o_maxx_mem); +} -MACHINE_CONFIG_START(model2o_gtx_state::daytona_gtx) +void model2o_gtx_state::daytona_gtx(machine_config &config) +{ daytona(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(model2o_gtx_mem) -MACHINE_CONFIG_END + m_maincpu->set_addrmap(AS_PROGRAM, &model2o_gtx_state::model2o_gtx_mem); +} void model2o_state::desert(machine_config &config) { @@ -2608,10 +2608,11 @@ void model2o_state::desert(machine_config &config) ioboard.output_callback().set(FUNC(model2o_state::desert_output_w)); } -MACHINE_CONFIG_START(model2o_state::vcop) +void model2o_state::vcop(machine_config &config) +{ model2o(config); - MCFG_DEVICE_REMOVE("ioboard") + config.device_remove("ioboard"); #if 0 model1io2_device &ioboard(SEGA_MODEL1IO2(config.replace(), "ioboard", 0)); ioboard.set_default_bios_tag("epr17181"); @@ -2628,19 +2629,20 @@ MACHINE_CONFIG_START(model2o_state::vcop) config.set_default_layout(layout_model1io2); #endif -MACHINE_CONFIG_END +} /* 2A-CRX */ -MACHINE_CONFIG_START(model2a_state::model2a) - MCFG_DEVICE_ADD("maincpu", I960, 25000000) - MCFG_DEVICE_PROGRAM_MAP(model2a_crx_mem) - MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", model2_state, model2_interrupt, "screen", 0, 1) +void model2a_state::model2a(machine_config &config) +{ + I960(config, m_maincpu, 25000000); + m_maincpu->set_addrmap(AS_PROGRAM, &model2a_state::model2a_crx_mem); + TIMER(config, "scantimer").configure_scanline(FUNC(model2_state::model2_interrupt), "screen", 0, 1); - MCFG_DEVICE_ADD("copro_tgp", MB86234, 16000000) - MCFG_DEVICE_PROGRAM_MAP(copro_tgp_prog_map) - MCFG_DEVICE_DATA_MAP(copro_tgp_data_map) - MCFG_DEVICE_IO_MAP(copro_tgp_io_map) - MCFG_DEVICE_ADDRESS_MAP(mb86233_device::AS_RF, copro_tgp_rf_map) + MB86234(config, m_copro_tgp, 16000000); + m_copro_tgp->set_addrmap(AS_PROGRAM, &model2a_state::copro_tgp_prog_map); + m_copro_tgp->set_addrmap(AS_DATA, &model2a_state::copro_tgp_data_map); + m_copro_tgp->set_addrmap(AS_IO, &model2a_state::copro_tgp_io_map); + m_copro_tgp->set_addrmap(mb86233_device::AS_RF, &model2a_state::copro_tgp_rf_map); ADDRESS_MAP_BANK(config, m_copro_tgp_bank, 0); m_copro_tgp_bank->set_addrmap(0, &model2a_state::copro_tgp_bank_map); @@ -2653,9 +2655,6 @@ MACHINE_CONFIG_START(model2a_state::model2a) GENERIC_FIFO_U32(config, m_copro_fifo_in, 0); GENERIC_FIFO_U32(config, m_copro_fifo_out, 0); - MCFG_MACHINE_START_OVERRIDE(model2_tgp_state,model2_tgp) - MCFG_MACHINE_RESET_OVERRIDE(model2a_state,model2a) - EEPROM_93C46_16BIT(config, "eeprom"); NVRAM(config, "backup1", nvram_device::DEFAULT_ALL_1); @@ -2670,7 +2669,7 @@ MACHINE_CONFIG_START(model2a_state::model2a) model2_scsp(config); M2COMM(config, "m2comm", 0); -MACHINE_CONFIG_END +} void model2a_state::manxtt(machine_config &config) { @@ -2729,27 +2728,25 @@ uint16_t model2_state::crypt_read_callback(uint32_t addr) return ((dat&0xff00)>>8)|((dat&0x00ff)<<8); } -MACHINE_CONFIG_START(model2a_state::model2a_5881) +void model2a_state::model2a_5881(machine_config &config) +{ model2a(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(model2a_5881_mem) - - MCFG_DEVICE_ADD("315_5881", SEGA315_5881_CRYPT, 0) - MCFG_SET_READ_CALLBACK(model2_state, crypt_read_callback) -MACHINE_CONFIG_END - + m_maincpu->set_addrmap(AS_PROGRAM, &model2a_state::model2a_5881_mem); + SEGA315_5881_CRYPT(config, m_cryptdevice, 0); + m_cryptdevice->set_read_cb(FUNC(model2a_state::crypt_read_callback)); +} -MACHINE_CONFIG_START(model2a_state::model2a_0229) +void model2a_state::model2a_0229(machine_config &config) +{ model2a(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(model2a_0229_mem) + m_maincpu->set_addrmap(AS_PROGRAM, &model2a_state::model2a_0229_mem); - MCFG_DEVICE_ADD("317_0229", SEGA315_5838_COMP, 0) - MCFG_DEVICE_ADDRESS_MAP(0, sega_0229_map) -MACHINE_CONFIG_END + SEGA315_5838_COMP(config, m_0229crypt, 0); + m_0229crypt->set_addrmap(0, &model2a_state::sega_0229_map); +} void model2a_state::zeroguna(machine_config &config) { @@ -2760,27 +2757,26 @@ void model2a_state::zeroguna(machine_config &config) } /* 2B-CRX */ -MACHINE_CONFIG_START(model2b_state::model2b) - MCFG_DEVICE_ADD("maincpu", I960, 25000000) - MCFG_DEVICE_PROGRAM_MAP(model2b_crx_mem) - MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", model2_state, model2_interrupt, "screen", 0, 1) +void model2b_state::model2b(machine_config &config) +{ + I960(config, m_maincpu, 25000000); + m_maincpu->set_addrmap(AS_PROGRAM, &model2b_state::model2b_crx_mem); + + TIMER(config, "scantimer", 0).configure_scanline(FUNC(model2_state::model2_interrupt), "screen", 0, 1); - MCFG_DEVICE_ADD("copro_adsp", ADSP21062, 40000000) - MCFG_SHARC_BOOT_MODE(BOOT_MODE_HOST) - MCFG_DEVICE_DATA_MAP(copro_sharc_map) + ADSP21062(config, m_copro_adsp, 40000000); + m_copro_adsp->set_boot_mode(adsp21062_device::BOOT_MODE_HOST); + m_copro_adsp->set_addrmap(AS_DATA, &model2b_state::copro_sharc_map); - //MCFG_DEVICE_ADD("dsp2", ADSP21062, 40000000) - //MCFG_SHARC_BOOT_MODE(BOOT_MODE_HOST) - //MCFG_DEVICE_DATA_MAP(geo_sharc_map) + //ADSP21062(config, m_dsp2, 40000000); + //m_dsp2->set_boot_mode(adsp21062_device::BOOT_MODE_HOST); + //m_dsp2->set_addrmap(AS_DATA, &model2b_state::geo_sharc_map); - MCFG_QUANTUM_TIME(attotime::from_hz(18000)) + config.m_minimum_quantum = attotime::from_hz(18000); GENERIC_FIFO_U32(config, m_copro_fifo_in, 0); GENERIC_FIFO_U32(config, m_copro_fifo_out, 0); - MCFG_MACHINE_START_OVERRIDE(model2b_state,model2b) - MCFG_MACHINE_RESET_OVERRIDE(model2b_state,model2b) - EEPROM_93C46_16BIT(config, "eeprom"); NVRAM(config, "backup1", nvram_device::DEFAULT_ALL_1); @@ -2795,27 +2791,27 @@ MACHINE_CONFIG_START(model2b_state::model2b) model2_scsp(config); M2COMM(config, "m2comm", 0); -MACHINE_CONFIG_END +} -MACHINE_CONFIG_START(model2b_state::model2b_5881) +void model2b_state::model2b_5881(machine_config &config) +{ model2b(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(model2b_5881_mem) + m_maincpu->set_addrmap(AS_PROGRAM, &model2b_state::model2b_5881_mem); - MCFG_DEVICE_ADD("315_5881", SEGA315_5881_CRYPT, 0) - MCFG_SET_READ_CALLBACK(model2_state, crypt_read_callback) -MACHINE_CONFIG_END + SEGA315_5881_CRYPT(config, m_cryptdevice, 0); + m_cryptdevice->set_read_cb(FUNC(model2b_state::crypt_read_callback)); +} -MACHINE_CONFIG_START(model2b_state::model2b_0229) +void model2b_state::model2b_0229(machine_config &config) +{ model2b(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(model2b_0229_mem) + m_maincpu->set_addrmap(AS_PROGRAM, &model2b_state::model2b_0229_mem); - MCFG_DEVICE_ADD("317_0229", SEGA315_5838_COMP, 0) - MCFG_DEVICE_ADDRESS_MAP(0, sega_0229_map) -MACHINE_CONFIG_END + SEGA315_5838_COMP(config, m_0229crypt, 0); + m_0229crypt->set_addrmap(0, &model2b_state::sega_0229_map); +} void model2b_state::indy500(machine_config &config) { @@ -2840,12 +2836,13 @@ void model2b_state::rchase2_ioport_map(address_map &map) map(0x00, 0x07).rw("ioexp", FUNC(cxd1095_device::read), FUNC(cxd1095_device::write)); } -MACHINE_CONFIG_START( model2b_state::rchase2 ) +void model2b_state::rchase2(machine_config &config) +{ model2b(config); - MCFG_DEVICE_ADD("iocpu", Z80, 4000000) - MCFG_DEVICE_PROGRAM_MAP(rchase2_iocpu_map) - MCFG_DEVICE_IO_MAP(rchase2_ioport_map) + z80_device &iocpu(Z80(config, "iocpu", 4000000)); + iocpu.set_addrmap(AS_PROGRAM, &model2b_state::rchase2_iocpu_map); + iocpu.set_addrmap(AS_IO, &model2b_state::rchase2_ioport_map); CXD1095(config, "ioexp", 0); @@ -2856,7 +2853,7 @@ MACHINE_CONFIG_START( model2b_state::rchase2 ) io.an_port_callback<1>().set_ioport("P1_X"); io.an_port_callback<2>().set_ioport("P2_Y"); io.an_port_callback<3>().set_ioport("P1_Y"); -MACHINE_CONFIG_END +} void model2b_state::gunblade(machine_config &config) { @@ -2887,23 +2884,21 @@ void model2b_state::zerogun(machine_config &config) } /* 2C-CRX */ -MACHINE_CONFIG_START(model2c_state::model2c) - MCFG_DEVICE_ADD("maincpu", I960, 25000000) - MCFG_DEVICE_PROGRAM_MAP(model2c_crx_mem) - MCFG_TIMER_DRIVER_ADD_SCANLINE("scantimer", model2c_state, model2c_interrupt, "screen", 0, 1) +void model2c_state::model2c(machine_config &config) +{ + I960(config, m_maincpu, 25000000); + m_maincpu->set_addrmap(AS_PROGRAM, &model2c_state::model2c_crx_mem); + TIMER(config, "scantimer").configure_scanline(FUNC(model2c_state::model2c_interrupt), "screen", 0, 1); - MCFG_DEVICE_ADD("copro_tgpx4", MB86235, 40000000) - MCFG_DEVICE_PROGRAM_MAP(copro_tgpx4_map) - MCFG_DEVICE_DATA_MAP(copro_tgpx4_data_map) - MCFG_MB86235_FIFOIN("copro_fifo_in") - MCFG_MB86235_FIFOOUT0("copro_fifo_out") + MB86235(config, m_copro_tgpx4, 40000000); + m_copro_tgpx4->set_addrmap(AS_PROGRAM, &model2c_state::copro_tgpx4_map); + m_copro_tgpx4->set_addrmap(AS_DATA, &model2c_state::copro_tgpx4_data_map); + m_copro_tgpx4->set_fifoin_tag(m_copro_fifo_in); + m_copro_tgpx4->set_fifoout0_tag(m_copro_fifo_out); GENERIC_FIFO_U32(config, m_copro_fifo_in, 0); GENERIC_FIFO_U32(config, m_copro_fifo_out, 0); - MCFG_MACHINE_START_OVERRIDE(model2c_state,model2c) - MCFG_MACHINE_RESET_OVERRIDE(model2c_state,model2c) - EEPROM_93C46_16BIT(config, "eeprom"); NVRAM(config, "backup1", nvram_device::DEFAULT_ALL_1); @@ -2918,7 +2913,7 @@ MACHINE_CONFIG_START(model2c_state::model2c) model2_scsp(config); M2COMM(config, "m2comm", 0); -MACHINE_CONFIG_END +} void model2c_state::skisuprg(machine_config &config) { @@ -2976,15 +2971,15 @@ void model2c_state::hotd(machine_config &config) io.serial_ch2_wr_callback().set(FUNC(model2c_state::lightgun_mux_w)); } -MACHINE_CONFIG_START(model2c_state::model2c_5881) +void model2c_state::model2c_5881(machine_config &config) +{ model2c(config); - MCFG_DEVICE_MODIFY("maincpu") - MCFG_DEVICE_PROGRAM_MAP(model2c_5881_mem) + m_maincpu->set_addrmap(AS_PROGRAM, &model2c_state::model2c_5881_mem); - MCFG_DEVICE_ADD("315_5881", SEGA315_5881_CRYPT, 0) - MCFG_SET_READ_CALLBACK(model2_state, crypt_read_callback) -MACHINE_CONFIG_END + SEGA315_5881_CRYPT(config, m_cryptdevice, 0); + m_cryptdevice->set_read_cb(FUNC(model2c_state::crypt_read_callback)); +} void model2c_state::overrev2c(machine_config &config) { @@ -6107,7 +6102,7 @@ ROM_START( daytonase ) /* Daytona USA (Japan, Revision A), Original Model 2 w/Mo ROM_LOAD("epr-16488a.ic12", 0x000000, 0x010000, CRC(546c5d1a) SHA1(5533301fe7e3b499e6cee12230d2c656c3c667da) ) ROM_END -ROM_START( daytona93 ) /* Daytona USA (Deluxe cabinet, '93 version. There is said to be a Deluxe '94 edition) */ +ROM_START( daytona93 ) /* Daytona USA, Deluxe cabinet, '93 version, ROM board ID# 834-10536-01 - There is said to be a Deluxe '94 edition */ ROM_REGION( 0x200000, "maincpu", 0 ) // i960 program ROM_LOAD32_WORD("epr-16530a.12", 0x000000, 0x020000, CRC(39e962b5) SHA1(b98a1faabb4f1eff707a94c32224c7820f259874) ) ROM_LOAD32_WORD("epr-16531a.13", 0x000002, 0x020000, CRC(693126eb) SHA1(779734ba536db67e14760d52e8d8d7db07816481) ) diff --git a/docs/release/src/mame/includes/mhavoc.h b/docs/release/src/mame/includes/mhavoc.h new file mode 100644 index 00000000000..78b5c222efe --- /dev/null +++ b/docs/release/src/mame/includes/mhavoc.h @@ -0,0 +1,102 @@ +// license:BSD-3-Clause +// copyright-holders:Mike Appolo +/************************************************************************* + + Atari Major Havoc hardware + +*************************************************************************/ + +#include "machine/timer.h" +#include "sound/pokey.h" +#include "sound/tms5220.h" + +#define MHAVOC_CLOCK 10000000 +#define MHAVOC_CLOCK_5M (MHAVOC_CLOCK/2) +#define MHAVOC_CLOCK_2_5M (MHAVOC_CLOCK/4) +#define MHAVOC_CLOCK_1_25M (MHAVOC_CLOCK/8) +#define MHAVOC_CLOCK_625K (MHAVOC_CLOCK/16) + +#define MHAVOC_CLOCK_156K (MHAVOC_CLOCK_625K/4) +#define MHAVOC_CLOCK_5K (MHAVOC_CLOCK_625K/16/8) +#define MHAVOC_CLOCK_2_4K (MHAVOC_CLOCK_625K/16/16) + + +class mhavoc_state : public driver_device +{ +public: + mhavoc_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_zram0(*this, "zram0"), + m_zram1(*this, "zram1"), + m_alpha(*this, "alpha"), + m_gamma(*this, "gamma"), + m_pokey(*this, "pokey%u", 1U), + m_tms(*this, "tms"), + m_lamps(*this, "lamp%u", 0U) + { } + + void alphaone(machine_config &config); + void mhavoc(machine_config &config); + void mhavocrv(machine_config &config); + void mhavocpe(machine_config &config); //HBMAME + + void init_mhavocrv(); + + DECLARE_CUSTOM_INPUT_MEMBER(tms5220_r); + DECLARE_CUSTOM_INPUT_MEMBER(mhavoc_bit67_r); + DECLARE_CUSTOM_INPUT_MEMBER(gamma_rcvd_r); + DECLARE_CUSTOM_INPUT_MEMBER(gamma_xmtd_r); + DECLARE_CUSTOM_INPUT_MEMBER(alpha_rcvd_r); + DECLARE_CUSTOM_INPUT_MEMBER(alpha_xmtd_r); + DECLARE_CUSTOM_INPUT_MEMBER(clock_r); + +private: + DECLARE_READ8_MEMBER(dual_pokey_r); + DECLARE_WRITE8_MEMBER(dual_pokey_w); + DECLARE_WRITE8_MEMBER(mhavoc_alpha_irq_ack_w); + DECLARE_WRITE8_MEMBER(mhavoc_gamma_irq_ack_w); + DECLARE_WRITE8_MEMBER(mhavoc_gamma_w); + DECLARE_READ8_MEMBER(mhavoc_alpha_r); + DECLARE_WRITE8_MEMBER(mhavoc_alpha_w); + DECLARE_READ8_MEMBER(mhavoc_gamma_r); + DECLARE_WRITE8_MEMBER(mhavoc_ram_banksel_w); + DECLARE_WRITE8_MEMBER(mhavoc_rom_banksel_w); + DECLARE_WRITE8_MEMBER(mhavoc_out_0_w); + DECLARE_WRITE8_MEMBER(alphaone_out_0_w); + DECLARE_WRITE8_MEMBER(mhavoc_out_1_w); + DECLARE_WRITE8_MEMBER(mhavocrv_speech_data_w); + DECLARE_WRITE8_MEMBER(mhavocrv_speech_strobe_w); + DECLARE_READ8_MEMBER(quad_pokeyn_r); + DECLARE_WRITE8_MEMBER(quad_pokeyn_w); + + TIMER_CALLBACK_MEMBER(delayed_gamma_w); + TIMER_DEVICE_CALLBACK_MEMBER(mhavoc_cpu_irq_clock); + void alpha_map(address_map &map); + void alphaone_map(address_map &map); + void gamma_map(address_map &map); + void alphape_map(address_map &map); //HBMAME + void gammape_map(address_map &map); //HBMAME + + virtual void machine_start() override; + virtual void machine_reset() override; + + required_shared_ptr<uint8_t> m_zram0; + required_shared_ptr<uint8_t> m_zram1; + required_device<cpu_device> m_alpha; + optional_device<cpu_device> m_gamma; + optional_device_array<pokey_device, 4> m_pokey; + optional_device<tms5220_device> m_tms; + output_finder<2> m_lamps; + uint8_t m_alpha_data; + uint8_t m_alpha_rcvd; + uint8_t m_alpha_xmtd; + uint8_t m_gamma_data; + uint8_t m_gamma_rcvd; + uint8_t m_gamma_xmtd; + uint8_t m_player_1; + uint8_t m_alpha_irq_clock; + uint8_t m_alpha_irq_clock_enable; + uint8_t m_gamma_irq_clock; + uint8_t m_has_gamma_cpu; + uint8_t m_speech_write_buffer; +}; diff --git a/docs/release/src/mame/includes/timelimt.h b/docs/release/src/mame/includes/timelimt.h new file mode 100644 index 00000000000..8f28e7259a8 --- /dev/null +++ b/docs/release/src/mame/includes/timelimt.h @@ -0,0 +1,71 @@ +// license:BSD-3-Clause +// copyright-holders:Ernesto Corvi +#ifndef MAME_INCLUDES_TIMELIMT_H +#define MAME_INCLUDES_TIMELIMT_H + +#pragma once + +#include "emupal.h" + +class timelimt_state : public driver_device +{ +public: + timelimt_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_audiocpu(*this, "audiocpu"), + m_gfxdecode(*this, "gfxdecode"), + m_palette(*this, "palette"), + m_videoram(*this, "videoram"), + m_bg_videoram(*this, "bg_videoram"), + m_spriteram(*this, "spriteram") + { } + + void timelimt(machine_config &config); + +protected: + virtual void machine_start() override; + virtual void video_start() override; + +//private: //HBMAME + required_device<cpu_device> m_maincpu; + required_device<cpu_device> m_audiocpu; + required_device<gfxdecode_device> m_gfxdecode; + required_device<palette_device> m_palette; + + required_shared_ptr<uint8_t> m_videoram; + required_shared_ptr<uint8_t> m_bg_videoram; + required_shared_ptr<uint8_t> m_spriteram; + + int m_nmi_enabled; + int m_scrollx; + int m_scrolly; + tilemap_t *m_bg_tilemap; + tilemap_t *m_fg_tilemap; + + DECLARE_WRITE_LINE_MEMBER(nmi_enable_w); + DECLARE_WRITE_LINE_MEMBER(coin_lockout_w); + + DECLARE_WRITE8_MEMBER(videoram_w); + DECLARE_WRITE8_MEMBER(bg_videoram_w); + DECLARE_WRITE8_MEMBER(scroll_x_lsb_w); + DECLARE_WRITE8_MEMBER(scroll_x_msb_w); + DECLARE_WRITE8_MEMBER(scroll_y_w); + + TILE_GET_INFO_MEMBER(get_bg_tile_info); + TILE_GET_INFO_MEMBER(get_fg_tile_info); + + DECLARE_PALETTE_INIT(timelimt); + + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); + + INTERRUPT_GEN_MEMBER(irq); + + void main_io_map(address_map &map); + void main_map(address_map &map); + void sound_io_map(address_map &map); + void sound_map(address_map &map); +}; + +#endif // MAME_INCLUDES_TIMELIMT_H diff --git a/docs/release/src/mame/machine/mhavoc.cpp b/docs/release/src/mame/machine/mhavoc.cpp new file mode 100644 index 00000000000..95114fa7a70 --- /dev/null +++ b/docs/release/src/mame/machine/mhavoc.cpp @@ -0,0 +1,331 @@ +// license:BSD-3-Clause +// copyright-holders:Mike Appolo +/*************************************************************************** + + Atari Major Havoc hardware + +***************************************************************************/ + +#include "emu.h" +#include "cpu/m6502/m6502.h" +#include "includes/mhavoc.h" + + +/************************************* + * + * Interrupt handling + * + *************************************/ + +TIMER_DEVICE_CALLBACK_MEMBER(mhavoc_state::mhavoc_cpu_irq_clock) +{ + /* clock the LS161 driving the alpha CPU IRQ */ + if (m_alpha_irq_clock_enable) + { + m_alpha_irq_clock++; + if ((m_alpha_irq_clock & 0x0c) == 0x0c) + { + m_alpha->set_input_line(0, ASSERT_LINE); + m_alpha_irq_clock_enable = 0; + } + } + + /* clock the LS161 driving the gamma CPU IRQ */ + if (m_has_gamma_cpu) + { + m_gamma_irq_clock++; + m_gamma->set_input_line(0, (m_gamma_irq_clock & 0x08) ? ASSERT_LINE : CLEAR_LINE); + } +} + + +WRITE8_MEMBER(mhavoc_state::mhavoc_alpha_irq_ack_w) +{ + /* clear the line and reset the clock */ + m_alpha->set_input_line(0, CLEAR_LINE); + m_alpha_irq_clock = 0; + m_alpha_irq_clock_enable = 1; +} + + +WRITE8_MEMBER(mhavoc_state::mhavoc_gamma_irq_ack_w) +{ + /* clear the line and reset the clock */ + m_gamma->set_input_line(0, CLEAR_LINE); + m_gamma_irq_clock = 0; +} + + + +/************************************* + * + * Machine init + * + *************************************/ + +void mhavoc_state::machine_start() +{ + m_lamps.resolve(); + + save_item(NAME(m_alpha_data)); + save_item(NAME(m_alpha_rcvd)); + save_item(NAME(m_alpha_xmtd)); + save_item(NAME(m_gamma_data)); + save_item(NAME(m_gamma_rcvd)); + save_item(NAME(m_gamma_xmtd)); + save_item(NAME(m_player_1)); + save_item(NAME(m_alpha_irq_clock)); + save_item(NAME(m_alpha_irq_clock_enable)); + save_item(NAME(m_gamma_irq_clock)); + + save_item(NAME(m_speech_write_buffer)); +} + + +void mhavoc_state::machine_reset() +{ + address_space &space = m_alpha->space(AS_PROGRAM); + m_has_gamma_cpu = (m_gamma != nullptr); + + membank("bank1")->configure_entry(0, m_zram0); + membank("bank1")->configure_entry(1, m_zram1); + membank("bank2")->configure_entries(0, 8, memregion("alpha")->base() + 0x10000, 0x2000); + + /* reset RAM/ROM banks to 0 */ + mhavoc_ram_banksel_w(space, 0, 0); + mhavoc_rom_banksel_w(space, 0, 0); + + /* reset alpha comm status */ + m_alpha_data = 0; + m_alpha_rcvd = 0; + m_alpha_xmtd = 0; + + /* reset gamma comm status */ + m_gamma_data = 0; + m_gamma_rcvd = 0; + m_gamma_xmtd = 0; + + /* reset player 1 flag */ + m_player_1 = 0; + + /* reset IRQ clock states */ + m_alpha_irq_clock = 0; + m_alpha_irq_clock_enable = 1; + m_gamma_irq_clock = 0; +} + + + +/************************************* + * + * Alpha -> gamma communications + * + *************************************/ + +TIMER_CALLBACK_MEMBER(mhavoc_state::delayed_gamma_w) +{ + /* mark the data received */ + m_gamma_rcvd = 0; + m_alpha_xmtd = 1; + m_alpha_data = param; + + /* signal with an NMI pulse */ + m_gamma->pulse_input_line(INPUT_LINE_NMI, attotime::zero); + + /* the sound CPU needs to reply in 250microseconds (according to Neil Bradley) */ + machine().scheduler().timer_set(attotime::from_usec(250), timer_expired_delegate()); +} + + +WRITE8_MEMBER(mhavoc_state::mhavoc_gamma_w) +{ + //logerror(" writing to gamma processor: %02x (%d %d)\n", data, m_gamma_rcvd, m_alpha_xmtd); + machine().scheduler().synchronize(timer_expired_delegate(FUNC(mhavoc_state::delayed_gamma_w),this), data); +} + + +READ8_MEMBER(mhavoc_state::mhavoc_alpha_r) +{ + //logerror("\t\t\t\t\treading from alpha processor: %02x (%d %d)\n", m_alpha_data, m_gamma_rcvd, m_alpha_xmtd); + m_gamma_rcvd = 1; + m_alpha_xmtd = 0; + return m_alpha_data; +} + + + +/************************************* + * + * Gamma -> alpha communications + * + *************************************/ + +WRITE8_MEMBER(mhavoc_state::mhavoc_alpha_w) +{ + //logerror("\t\t\t\t\twriting to alpha processor: %02x %d %d\n", data, m_alpha_rcvd, m_gamma_xmtd); + m_alpha_rcvd = 0; + m_gamma_xmtd = 1; + m_gamma_data = data; +} + + +READ8_MEMBER(mhavoc_state::mhavoc_gamma_r) +{ + //logerror(" reading from gamma processor: %02x (%d %d)\n", m_gamma_data, m_alpha_rcvd, m_gamma_xmtd); + m_alpha_rcvd = 1; + m_gamma_xmtd = 0; + return m_gamma_data; +} + + + +/************************************* + * + * RAM/ROM banking + * + *************************************/ + +WRITE8_MEMBER(mhavoc_state::mhavoc_ram_banksel_w) +{ + membank("bank1")->set_entry(data & 1); +} + + +WRITE8_MEMBER(mhavoc_state::mhavoc_rom_banksel_w) +{ + membank("bank2")->set_entry(data & 3); +} + + + +/************************************* + * + * Input ports + * + *************************************/ + +CUSTOM_INPUT_MEMBER(mhavoc_state::tms5220_r) +{ + return m_tms->readyq_r() ? 1 : 0; +} + +CUSTOM_INPUT_MEMBER(mhavoc_state::mhavoc_bit67_r) +{ + const char *tag1 = (const char *)param; + const char *tag2 = tag1 + strlen(tag1) + 1; + return ioport(m_player_1 ? tag2 : tag1)->read() & 0x03; +} + +CUSTOM_INPUT_MEMBER(mhavoc_state::gamma_rcvd_r) +{ + /* Gamma rcvd flag */ + return m_gamma_rcvd; +} + +CUSTOM_INPUT_MEMBER(mhavoc_state::gamma_xmtd_r) +{ + /* Gamma xmtd flag */ + return m_gamma_xmtd; +} + +CUSTOM_INPUT_MEMBER(mhavoc_state::alpha_rcvd_r) +{ + /* Alpha rcvd flag */ + return (m_has_gamma_cpu && m_alpha_rcvd); +} + +CUSTOM_INPUT_MEMBER(mhavoc_state::alpha_xmtd_r) +{ + /* Alpha xmtd flag */ + return (m_has_gamma_cpu && m_alpha_xmtd); +} + +/************************************* + * + * Output ports + * + *************************************/ + +WRITE8_MEMBER(mhavoc_state::mhavoc_out_0_w) +{ + /* Bit 7 = Invert Y -- unemulated */ + /* Bit 6 = Invert X -- unemulated */ + + /* Bit 5 = Player 1 */ + m_player_1 = (data >> 5) & 1; + + /* Bit 3 = Gamma reset */ + m_gamma->set_input_line(INPUT_LINE_RESET, (data & 0x08) ? CLEAR_LINE : ASSERT_LINE); + if (!(data & 0x08)) + { + //logerror("\t\t\t\t*** resetting gamma processor. ***\n"); + m_alpha_rcvd = 0; + m_alpha_xmtd = 0; + m_gamma_rcvd = 0; + m_gamma_xmtd = 0; + } + + /* Bit 2 = Beta reset */ + /* this is the unpopulated processor in the corner of the pcb farthest from the quad pokey, not used on shipping boards */ + + /* Bit 0 = Roller light (Blinks on fatal errors) */ + m_lamps[0] = BIT(data, 0); +} + + +WRITE8_MEMBER(mhavoc_state::alphaone_out_0_w) +{ + /* Bit 5 = P2 lamp */ + m_lamps[0] = BIT(~data, 5); + + /* Bit 4 = P1 lamp */ + m_lamps[1] = BIT(~data, 4); + + /* Bit 1 = right coin counter */ + machine().bookkeeping().coin_counter_w(1, data & 0x02); + + /* Bit 0 = left coin counter */ + machine().bookkeeping().coin_counter_w(0, data & 0x01); + + //logerror("alphaone_out_0_w(%02X)\n", data); +} + + +WRITE8_MEMBER(mhavoc_state::mhavoc_out_1_w) +{ + /* Bit 1 = left coin counter */ + machine().bookkeeping().coin_counter_w(0, data & 0x02); + + /* Bit 0 = right coin counter */ + machine().bookkeeping().coin_counter_w(1, data & 0x01); +} + +/************************************* + * + * Speech access + * + *************************************/ + +WRITE8_MEMBER(mhavoc_state::mhavocrv_speech_data_w) +{ + m_speech_write_buffer = data; +} + + +WRITE8_MEMBER(mhavoc_state::mhavocrv_speech_strobe_w) +{ + m_tms->data_w(m_speech_write_buffer); +} + +/************************************* + * + * Driver-specific init + * + *************************************/ + +void mhavoc_state::init_mhavocrv() +{ + // For Return to Vax, add support for the normally-unused speech module. + m_gamma->space(AS_PROGRAM).install_write_handler(0x5800, 0x5800, write8_delegate(FUNC(mhavoc_state::mhavocrv_speech_data_w),this)); + m_gamma->space(AS_PROGRAM).install_write_handler(0x5900, 0x5900, write8_delegate(FUNC(mhavoc_state::mhavocrv_speech_strobe_w),this)); +} diff --git a/docs/release/src/osd/windows/winmain.cpp b/docs/release/src/osd/windows/winmain.cpp index 4fa252cd456..738bc341c8d 100644 --- a/docs/release/src/osd/windows/winmain.cpp +++ b/docs/release/src/osd/windows/winmain.cpp @@ -170,10 +170,10 @@ const options_entry windows_options::s_option_entries[] = // post-processing options { nullptr, nullptr, OPTION_HEADER, "DIRECT3D POST-PROCESSING OPTIONS" }, - { WINOPTION_HLSLPATH, "hlsl", OPTION_STRING, "path to hlsl files" }, - { WINOPTION_HLSL_ENABLE";hlsl", "0", OPTION_BOOLEAN, "enables HLSL post-processing (PS3.0 required)" }, - { WINOPTION_HLSL_OVERSAMPLING, "0", OPTION_BOOLEAN, "enables HLSL oversampling" }, - { WINOPTION_HLSL_WRITE, OSDOPTVAL_AUTO, OPTION_STRING, "enables HLSL AVI writing (huge disk bandwidth suggested)" }, + { WINOPTION_HLSLPATH, "hlsl", OPTION_STRING, "path to HLSL support files" }, + { WINOPTION_HLSL_ENABLE";hlsl", "0", OPTION_BOOLEAN, "enable HLSL post-processing (PS3.0 required)" }, + { WINOPTION_HLSL_OVERSAMPLING, "0", OPTION_BOOLEAN, "enable HLSL oversampling" }, + { WINOPTION_HLSL_WRITE, OSDOPTVAL_AUTO, OPTION_STRING, "enable HLSL AVI writing (huge disk bandwidth suggested)" }, { WINOPTION_HLSL_SNAP_WIDTH, "2048", OPTION_STRING, "HLSL upscaled-snapshot width" }, { WINOPTION_HLSL_SNAP_HEIGHT, "1536", OPTION_STRING, "HLSL upscaled-snapshot height" }, { WINOPTION_SHADOW_MASK_TILE_MODE, "0", OPTION_INTEGER, "shadow mask tile mode (0 for screen based, 1 for source based)" }, @@ -216,62 +216,62 @@ const options_entry windows_options::s_option_entries[] = { WINOPTION_POWER";fs_power", "1.0,1.0,1.0", OPTION_STRING, "signal power value (exponential)" }, { WINOPTION_FLOOR";fs_floor", "0.0,0.0,0.0", OPTION_STRING, "signal floor level" }, { WINOPTION_PHOSPHOR";fs_phosphor", "0.0,0.0,0.0", OPTION_STRING, "phosphorescence decay rate (0.0 is instant, 1.0 is forever)" }, - { WINOPTION_CHROMA_MODE, "3", OPTION_INTEGER, "Number of phosphors to use: 1 - monochrome, 2 - dichrome, 3 - trichrome (color)" }, - { WINOPTION_CHROMA_CONVERSION_GAIN, "0.299,0.587,0.114", OPTION_STRING, "Gain to be applied when summing RGB signal for monochrome and dichrome modes" }, - { WINOPTION_CHROMA_A, "0.64,0.33", OPTION_STRING, "Chromaticity coordinate for first phosphor" }, - { WINOPTION_CHROMA_B, "0.30,0.60", OPTION_STRING, "Chromaticity coordinate for second phosphor" }, - { WINOPTION_CHROMA_C, "0.15,0.06", OPTION_STRING, "Chromaticity coordinate for third phosphor" }, - { WINOPTION_CHROMA_Y_GAIN, "0.2126,0.7152,0.0722", OPTION_STRING, "Gain to be applied for each phosphor" }, + { WINOPTION_CHROMA_MODE, "3", OPTION_INTEGER, "number of phosphors to use: 1 - monochrome, 2 - dichrome, 3 - trichrome (color)" }, + { WINOPTION_CHROMA_CONVERSION_GAIN, "0.299,0.587,0.114", OPTION_STRING, "gain to be applied when summing RGB signal for monochrome and dichrome modes" }, + { WINOPTION_CHROMA_A, "0.64,0.33", OPTION_STRING, "chromaticity coordinate for first phosphor" }, + { WINOPTION_CHROMA_B, "0.30,0.60", OPTION_STRING, "chromaticity coordinate for second phosphor" }, + { WINOPTION_CHROMA_C, "0.15,0.06", OPTION_STRING, "chromaticity coordinate for third phosphor" }, + { WINOPTION_CHROMA_Y_GAIN, "0.2126,0.7152,0.0722", OPTION_STRING, "gain to be applied for each phosphor" }, /* NTSC simulation below this line */ { nullptr, nullptr, OPTION_HEADER, "NTSC POST-PROCESSING OPTIONS" }, - { WINOPTION_YIQ_ENABLE";yiq", "0", OPTION_BOOLEAN, "enables YIQ-space HLSL post-processing" }, - { WINOPTION_YIQ_JITTER";yiqj", "0.0", OPTION_FLOAT, "Jitter for the NTSC signal processing" }, - { WINOPTION_YIQ_CCVALUE";yiqcc", "3.57954545", OPTION_FLOAT, "Color Carrier frequency for NTSC signal processing" }, + { WINOPTION_YIQ_ENABLE";yiq", "0", OPTION_BOOLEAN, "enable YIQ-space HLSL post-processing" }, + { WINOPTION_YIQ_JITTER";yiqj", "0.0", OPTION_FLOAT, "jitter for the NTSC signal processing" }, + { WINOPTION_YIQ_CCVALUE";yiqcc", "3.57954545", OPTION_FLOAT, "color carrier frequency for NTSC signal processing" }, { WINOPTION_YIQ_AVALUE";yiqa", "0.5", OPTION_FLOAT, "A value for NTSC signal processing" }, { WINOPTION_YIQ_BVALUE";yiqb", "0.5", OPTION_FLOAT, "B value for NTSC signal processing" }, - { WINOPTION_YIQ_OVALUE";yiqo", "0.0", OPTION_FLOAT, "Outgoing Color Carrier phase offset for NTSC signal processing" }, - { WINOPTION_YIQ_PVALUE";yiqp", "1.0", OPTION_FLOAT, "Incoming Pixel Clock scaling value for NTSC signal processing" }, + { WINOPTION_YIQ_OVALUE";yiqo", "0.0", OPTION_FLOAT, "outgoing Color Carrier phase offset for NTSC signal processing" }, + { WINOPTION_YIQ_PVALUE";yiqp", "1.0", OPTION_FLOAT, "incoming Pixel Clock scaling value for NTSC signal processing" }, { WINOPTION_YIQ_NVALUE";yiqn", "1.0", OPTION_FLOAT, "Y filter notch width for NTSC signal processing" }, { WINOPTION_YIQ_YVALUE";yiqy", "6.0", OPTION_FLOAT, "Y filter cutoff frequency for NTSC signal processing" }, { WINOPTION_YIQ_IVALUE";yiqi", "1.2", OPTION_FLOAT, "I filter cutoff frequency for NTSC signal processing" }, { WINOPTION_YIQ_QVALUE";yiqq", "0.6", OPTION_FLOAT, "Q filter cutoff frequency for NTSC signal processing" }, - { WINOPTION_YIQ_SCAN_TIME";yiqsc", "52.6", OPTION_FLOAT, "Horizontal scanline duration for NTSC signal processing (in usec)" }, - { WINOPTION_YIQ_PHASE_COUNT";yiqpc", "2", OPTION_INTEGER, "Phase Count value for NTSC signal processing" }, + { WINOPTION_YIQ_SCAN_TIME";yiqsc", "52.6", OPTION_FLOAT, "horizontal scanline duration for NTSC signal processing (microseconds)" }, + { WINOPTION_YIQ_PHASE_COUNT";yiqpc", "2", OPTION_INTEGER, "phase count value for NTSC signal processing" }, /* Vector simulation below this line */ { nullptr, nullptr, OPTION_HEADER, "VECTOR POST-PROCESSING OPTIONS" }, - { WINOPTION_VECTOR_BEAM_SMOOTH";vecsmooth", "0.0", OPTION_FLOAT, "The vector beam smoothness" }, - { WINOPTION_VECTOR_LENGTH_SCALE";vecscale", "0.5", OPTION_FLOAT, "The maximum vector attenuation" }, - { WINOPTION_VECTOR_LENGTH_RATIO";vecratio", "0.5", OPTION_FLOAT, "The minimum vector length (vector length to screen size ratio) that is affected by the attenuation" }, + { WINOPTION_VECTOR_BEAM_SMOOTH";vecsmooth", "0.0", OPTION_FLOAT, "vector beam smoothness" }, + { WINOPTION_VECTOR_LENGTH_SCALE";vecscale", "0.5", OPTION_FLOAT, "maximum vector attenuation" }, + { WINOPTION_VECTOR_LENGTH_RATIO";vecratio", "0.5", OPTION_FLOAT, "minimum vector length affected by attenuation (vector length to screen size ratio)" }, /* Bloom below this line */ { nullptr, nullptr, OPTION_HEADER, "BLOOM POST-PROCESSING OPTIONS" }, { WINOPTION_BLOOM_BLEND_MODE, "0", OPTION_INTEGER, "bloom blend mode (0 for brighten, 1 for darken)" }, - { WINOPTION_BLOOM_SCALE, "0.0", OPTION_FLOAT, "Intensity factor for bloom" }, - { WINOPTION_BLOOM_OVERDRIVE, "1.0,1.0,1.0", OPTION_STRING, "Overdrive factor for bloom" }, - { WINOPTION_BLOOM_LEVEL0_WEIGHT, "1.0", OPTION_FLOAT, "Bloom level 0 weight (full-size target)" }, - { WINOPTION_BLOOM_LEVEL1_WEIGHT, "0.64", OPTION_FLOAT, "Bloom level 1 weight (1/4 smaller that level 0 target)" }, - { WINOPTION_BLOOM_LEVEL2_WEIGHT, "0.32", OPTION_FLOAT, "Bloom level 2 weight (1/4 smaller that level 1 target)" }, - { WINOPTION_BLOOM_LEVEL3_WEIGHT, "0.16", OPTION_FLOAT, "Bloom level 3 weight (1/4 smaller that level 2 target)" }, - { WINOPTION_BLOOM_LEVEL4_WEIGHT, "0.08", OPTION_FLOAT, "Bloom level 4 weight (1/4 smaller that level 3 target)" }, - { WINOPTION_BLOOM_LEVEL5_WEIGHT, "0.06", OPTION_FLOAT, "Bloom level 5 weight (1/4 smaller that level 4 target)" }, - { WINOPTION_BLOOM_LEVEL6_WEIGHT, "0.04", OPTION_FLOAT, "Bloom level 6 weight (1/4 smaller that level 5 target)" }, - { WINOPTION_BLOOM_LEVEL7_WEIGHT, "0.02", OPTION_FLOAT, "Bloom level 7 weight (1/4 smaller that level 6 target)" }, - { WINOPTION_BLOOM_LEVEL8_WEIGHT, "0.01", OPTION_FLOAT, "Bloom level 8 weight (1/4 smaller that level 7 target)" }, + { WINOPTION_BLOOM_SCALE, "0.0", OPTION_FLOAT, "intensity factor for bloom" }, + { WINOPTION_BLOOM_OVERDRIVE, "1.0,1.0,1.0", OPTION_STRING, "overdrive factor for bloom" }, + { WINOPTION_BLOOM_LEVEL0_WEIGHT, "1.0", OPTION_FLOAT, "bloom level 0 weight (full-size target)" }, + { WINOPTION_BLOOM_LEVEL1_WEIGHT, "0.64", OPTION_FLOAT, "bloom level 1 weight (1/4 smaller that level 0 target)" }, + { WINOPTION_BLOOM_LEVEL2_WEIGHT, "0.32", OPTION_FLOAT, "bloom level 2 weight (1/4 smaller that level 1 target)" }, + { WINOPTION_BLOOM_LEVEL3_WEIGHT, "0.16", OPTION_FLOAT, "bloom level 3 weight (1/4 smaller that level 2 target)" }, + { WINOPTION_BLOOM_LEVEL4_WEIGHT, "0.08", OPTION_FLOAT, "bloom level 4 weight (1/4 smaller that level 3 target)" }, + { WINOPTION_BLOOM_LEVEL5_WEIGHT, "0.06", OPTION_FLOAT, "bloom level 5 weight (1/4 smaller that level 4 target)" }, + { WINOPTION_BLOOM_LEVEL6_WEIGHT, "0.04", OPTION_FLOAT, "bloom level 6 weight (1/4 smaller that level 5 target)" }, + { WINOPTION_BLOOM_LEVEL7_WEIGHT, "0.02", OPTION_FLOAT, "bloom level 7 weight (1/4 smaller that level 6 target)" }, + { WINOPTION_BLOOM_LEVEL8_WEIGHT, "0.01", OPTION_FLOAT, "bloom level 8 weight (1/4 smaller that level 7 target)" }, { WINOPTION_LUT_TEXTURE, "", OPTION_STRING, "3D LUT texture filename for screen, PNG format" }, { WINOPTION_LUT_ENABLE, "0", OPTION_BOOLEAN, "Enables 3D LUT to be applied to screen after post-processing" }, { WINOPTION_UI_LUT_TEXTURE, "", OPTION_STRING, "3D LUT texture filename of UI, PNG format" }, - { WINOPTION_UI_LUT_ENABLE, "0", OPTION_BOOLEAN, "Enables 3D LUT to be applied to UI and artwork after post-processing" }, + { WINOPTION_UI_LUT_ENABLE, "0", OPTION_BOOLEAN, "enable 3D LUT to be applied to UI and artwork after post-processing" }, // full screen options { nullptr, nullptr, OPTION_HEADER, "FULL SCREEN OPTIONS" }, - { WINOPTION_TRIPLEBUFFER ";tb", "0", OPTION_BOOLEAN, "enables triple buffering" }, + { WINOPTION_TRIPLEBUFFER ";tb", "0", OPTION_BOOLEAN, "enable triple buffering" }, { WINOPTION_FULLSCREENBRIGHTNESS ";fsb(0.1-2.0)", "1.0", OPTION_FLOAT, "brightness value in full screen mode" }, { WINOPTION_FULLSCREENCONTRAST ";fsc(0.1-2.0)", "1.0", OPTION_FLOAT, "contrast value in full screen mode" }, { WINOPTION_FULLSCREENGAMMA ";fsg(0.1-3.0)", "1.0", OPTION_FLOAT, "gamma value in full screen mode" }, // input options { nullptr, nullptr, OPTION_HEADER, "INPUT DEVICE OPTIONS" }, - { WINOPTION_GLOBAL_INPUTS, "0", OPTION_BOOLEAN, "enables global inputs" }, - { WINOPTION_DUAL_LIGHTGUN ";dual", "0", OPTION_BOOLEAN, "enables dual lightgun input" }, + { WINOPTION_GLOBAL_INPUTS, "0", OPTION_BOOLEAN, "enable global inputs" }, + { WINOPTION_DUAL_LIGHTGUN ";dual", "0", OPTION_BOOLEAN, "enable dual lightgun input" }, { nullptr } }; diff --git a/docs/release/src/version.cpp b/docs/release/src/version.cpp index 561bc0d8e1a..30e7722eeeb 100644 --- a/docs/release/src/version.cpp +++ b/docs/release/src/version.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ -#define BARE_BUILD_VERSION "0.204" +#define BARE_BUILD_VERSION "0.205" extern const char bare_build_version[]; extern const char build_version[]; @@ -1608,14 +1608,14 @@ endif ifeq (posix,$(SHELLTYPE)) $(GENDIR)/version.cpp: $(GENDIR)/git_desc | $(GEN_FOLDERS) - @echo '#define BARE_BUILD_VERSION "0.204"' > $@ + @echo '#define BARE_BUILD_VERSION "0.205"' > $@ @echo 'extern const char bare_build_version[];' >> $@ @echo 'extern const char build_version[];' >> $@ @echo 'const char bare_build_version[] = BARE_BUILD_VERSION;' >> $@ @echo 'const char build_version[] = BARE_BUILD_VERSION " ($(NEW_GIT_VERSION))";' >> $@ else $(GENDIR)/version.cpp: $(GENDIR)/git_desc - @echo #define BARE_BUILD_VERSION "0.204" > $@ + @echo #define BARE_BUILD_VERSION "0.205" > $@ @echo extern const char bare_build_version[]; >> $@ @echo extern const char build_version[]; >> $@ @echo const char bare_build_version[] = BARE_BUILD_VERSION; >> $@ diff --git a/src/version.cpp b/src/version.cpp index 561bc0d8e1a..30e7722eeeb 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -8,7 +8,7 @@ ***************************************************************************/ -#define BARE_BUILD_VERSION "0.204" +#define BARE_BUILD_VERSION "0.205" extern const char bare_build_version[]; extern const char build_version[]; |