Previous 199869 Revisions Next

r36728 Friday 27th March, 2015 at 16:30:45 UTC by Miodrag Milanović
enable partial support for compile on some other platforms (nw)
[/trunk]makefile
[scripts]genie.lua toolchain.lua
[scripts/src]main.lua
[scripts/src/osd]osdmini.lua sdl.lua windows.lua
[src/mame]mame.lst
[src/mame/drivers]nmk16.c seibuspi.c
[src/mess/drivers]hh_hmcs40.c hh_tms1k.c hh_ucom4.c
[src/mess/includes]hh_tms1k.h

trunk/makefile
r245239r245240
340340SILENT?=@
341341
342342ifeq ($(TARGET),$(SUBTARGET))
343SUBDIR = $(OSD)/$(TARGET)
343SUBDIR = $(TARGET)
344344else
345SUBDIR = $(OSD)/$(TARGET)$(SUBTARGET)
345SUBDIR = $(TARGET)$(SUBTARGET)
346346endif
347347
348348all: $(GENIE) $(TARGETOS)_$(ARCHITECTURE)
r245239r245240
415415   $(error ANDROID_NDK_ROOT is not set)
416416endif
417417ifndef COMPILE
418   $(SILENT) $(GENIE) --gcc=android-arm --osd=osdmini --target=$(TARGET) --gcc_version=4.8 --subtarget=$(SUBTARGET) gmake
418   $(SILENT) $(GENIE) $(PARAMS) --gcc=android-arm --osd=osdmini --target=$(TARGET) --gcc_version=4.8 --subtarget=$(SUBTARGET) gmake
419419endif
420420   $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/$(SUBDIR)/gmake-android-arm config=$(CONFIG)
421421
r245239r245240
427427   $(error ANDROID_NDK_ROOT is not set)
428428endif
429429ifndef COMPILE
430   $(SILENT) $(GENIE) --gcc=android-mips --osd=osdmini --target=$(TARGET) --gcc_version=4.8 --subtarget=$(SUBTARGET) gmake
430   $(SILENT) $(GENIE) $(PARAMS) --gcc=android-mips --osd=osdmini --target=$(TARGET) --gcc_version=4.8 --subtarget=$(SUBTARGET) gmake
431431endif
432432   $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/$(SUBDIR)/gmake-android-mips config=$(CONFIG)
433433
r245239r245240
439439   $(error ANDROID_NDK_ROOT is not set)
440440endif
441441ifndef COMPILE
442   $(SILENT) $(GENIE) --gcc=android-x86 --osd=osdmini --target=$(TARGET) --gcc_version=4.8 --subtarget=$(SUBTARGET) gmake
442   $(SILENT) $(GENIE) $(PARAMS) --gcc=android-x86 --osd=osdmini --target=$(TARGET) --gcc_version=4.8 --subtarget=$(SUBTARGET) gmake
443443endif
444444   $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/$(SUBDIR)/gmake-android-x86 config=$(CONFIG)
445445
r245239r245240
448448   $(error EMSCRIPTEN is not set)
449449endif
450450ifndef COMPILE
451   $(SILENT) $(GENIE) --gcc=asmjs --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake
451   $(SILENT) $(GENIE) $(PARAMS) --gcc=asmjs --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake
452452endif
453453   $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/$(SUBDIR)/gmake-asmjs config=$(CONFIG)
454454
r245239r245240
457457   $(error NACL_SDK_ROOT is not set)
458458endif
459459ifndef COMPILE
460   $(SILENT) $(GENIE) --gcc=nacl --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake
460   $(SILENT) $(GENIE) $(PARAMS) --gcc=nacl --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake
461461endif
462462   $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/$(SUBDIR)/gmake-nacl config=$(CONFIG)64
463463
r245239r245240
466466   $(error NACL_SDK_ROOT is not set)
467467endif
468468ifndef COMPILE
469   $(SILENT) $(GENIE) --gcc=nacl --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake
469   $(SILENT) $(GENIE) $(PARAMS) --gcc=nacl --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake
470470endif
471471   $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/$(SUBDIR)/gmake-nacl config=$(CONFIG)32
472472
r245239r245240
475475   $(error NACL_SDK_ROOT is not set)
476476endif
477477ifndef COMPILE
478   $(SILENT) $(GENIE) --gcc=nacl-arm --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake
478   $(SILENT) $(GENIE) $(PARAMS) --gcc=nacl-arm --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake
479479endif
480480   $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/$(SUBDIR)/gmake-nacl-arm config=$(CONFIG)
481481
r245239r245240
484484   $(error NACL_SDK_ROOT is not set)
485485endif
486486ifndef COMPILE
487   $(SILENT) $(GENIE) --gcc=pnacl --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake
487   $(SILENT) $(GENIE) $(PARAMS) --gcc=pnacl --gcc_version=4.8 --osd=osdmini --target=$(TARGET) --subtarget=$(SUBTARGET) gmake
488488endif
489489   $(SILENT) $(MAKE) --no-print-directory -R -C build/projects/$(SUBDIR)/gmake-pnacl config=$(CONFIG)
490490
trunk/scripts/genie.lua
r245239r245240
55local naclToolchain = ""
66
77
8function includeosd()
9   includedirs {
10      MAME_DIR .. "src/osd",
11   }
12   if _OPTIONS["osd"]=="windows" then
13      includedirs {
14         MAME_DIR .. "src/osd/windows",
15      }
16   else
17      includedirs {
18         MAME_DIR .. "src/osd/sdl",
19      }
20   end
21end
22
823function str_to_version (str)
924   local val = 0
1025   if (str == nil or str == '') then
r245239r245240
262277dofile ("toolchain.lua")
263278
264279
280if _OPTIONS["osd"]=="windows" then
281   forcedincludes {
282      MAME_DIR .. "src/osd/windows/winprefix.h"
283   }
284elseif _OPTIONS["osd"]=="sdl" then
285   forcedincludes {
286      MAME_DIR .. "src/osd/sdl/sdlprefix.h"
287   }
288end
289
265290if _OPTIONS["targetos"]=="windows" then
266291configuration { "x64" }
267292   defines {
r245239r245240
583608
584609local subdir
585610if (_OPTIONS["target"] == _OPTIONS["subtarget"]) then
586   subdir = _OPTIONS["osd"] .. "/" .. _OPTIONS["target"]
611   subdir = _OPTIONS["target"]
587612else
588   subdir = _OPTIONS["osd"] .. "/" .. _OPTIONS["target"] .. _OPTIONS["subtarget"]
613   subdir = _OPTIONS["target"] .. _OPTIONS["subtarget"]
589614end   
590615
591if not toolchain(_OPTIONS["osd"], MAME_BUILD_DIR, subdir) then
616if not toolchain(MAME_BUILD_DIR, subdir) then
592617   return -- no action specified
593618end
594619   
r245239r245240
678703         "-static-libstdc++",
679704         "-municode",
680705      }
681if _OPTIONS["osd"]=="sdl" then
706      if _OPTIONS["osd"]=="sdl" then
707         linkoptions {
708            "-Wl,--allow-multiple-definition",
709            "-static"
710         }
711         links {
712            "opengl32",
713            "SDL2",
714            "Imm32",
715            "version",
716            "ole32",
717            "oleaut32",
718         }
719      end
682720      links {
683         "opengl32",
684         "SDL2",
685         "Imm32",
686         "version",
687         "ole32",
688         "oleaut32",
689      }
690end
691      links {
692721         "user32",
693722         "gdi32",
694723         "dsound",
r245239r245240
842871
843872configuration { }
844873
845
846874group "libs"
875dofile(path.join("src", "3rdparty.lua"))
876dofile(path.join("src", "lib.lua"))
847877
878group "core"
879
848880if (not os.isfile(path.join("src", "osd",  _OPTIONS["osd"] .. ".lua"))) then
849881   error("Unsupported value '" .. _OPTIONS["osd"] .. "' for OSD")
850882end
883
851884dofile(path.join("src", "osd", _OPTIONS["osd"] .. ".lua"))
852
853dofile(path.join("src", "3rdparty.lua"))
854dofile(path.join("src", "lib.lua"))
855
856group "core"
857
858885dofile(path.join("src", "emu.lua"))
859886emuProject(_OPTIONS["target"],_OPTIONS["subtarget"])
860887
trunk/scripts/src/main.lua
r245239r245240
55      project (_target .. _subtarget)
66   end   
77   uuid (os.uuid(_target .."_" .. _subtarget))
8   kind "ConsoleApp"
8   kind "ConsoleApp"   
99
1010   options {
1111      "ForceCPP",
r245239r245240
2727         "-sectcreate __TEXT __info_plist " .. GEN_DIR .. "/osd/sdl/" .. _OPTIONS["target"] .. "-Info.plist"
2828      }
2929
30   configuration { "mingw*" or "vs*" }
30   configuration { "mingw*" }
3131      if _OPTIONS["osd"]=="sdl" then
3232         targetprefix "sdl"
3333      end
3434      targetextension ".exe"
35
35     
36   configuration { "vs*" }
37      if _OPTIONS["osd"]=="sdl" then
38         targetprefix "sdl"
39      end
40      targetextension ".exe"
41     
3642   configuration { "asmjs" }
3743      targetextension ".bc" 
38
44     
3945   configuration { }
4046      targetdir(MAME_DIR)
4147
r245239r245240
7076      "ocore_" .. _OPTIONS["osd"],
7177   }
7278   dofile("src/osd/" .. _OPTIONS["osd"] .. "_cfg.lua")
73
79   
7480   includedirs {
7581      MAME_DIR .. "src/emu",
7682      MAME_DIR .. "src/mame",
r245239r245240
9399            rcfile,
94100         }
95101      else
96         files {
97            MAME_DIR .. "src/osd/windows/mame.rc",
98         }
102      files {
103         MAME_DIR .. "src/osd/windows/mame.rc",
104      }
99105      end
100106   end
101107
trunk/scripts/src/osd/osdmini.lua
r245239r245240
1function includeosd()
2   includedirs {
3      MAME_DIR .. "src/osd",
4   }
5end
6
7
81project ("osd_" .. _OPTIONS["osd"])
92   uuid (os.uuid("osd_" .. _OPTIONS["osd"]))
103   kind "StaticLib"
trunk/scripts/src/osd/sdl.lua
r245239r245240
1function includeosd()
2   includedirs {
3      MAME_DIR .. "src/osd",
4      MAME_DIR .. "src/osd/sdl",
5   }
6end
7
8
9forcedincludes {
10   MAME_DIR .. "src/osd/sdl/sdlprefix.h"
11}
12
13
14configuration { "mingw*" }
15      linkoptions {
16         "-Wl,--allow-multiple-definition",
17         "-static"
18      }
19
20configuration { }
21
22
231project ("osd_" .. _OPTIONS["osd"])
242   uuid (os.uuid("osd_" .. _OPTIONS["osd"]))
253   kind "StaticLib"
trunk/scripts/src/osd/windows.lua
r245239r245240
1function includeosd()
2   includedirs {
3      MAME_DIR .. "src/osd",
4      MAME_DIR .. "src/osd/windows",
5   }
6end
7
8
9forcedincludes {
10   MAME_DIR .. "src/osd/windows/winprefix.h"
11}
12
13
141project ("osd_" .. _OPTIONS["osd"])
152   uuid (os.uuid("osd_" .. _OPTIONS["osd"]))
163   kind "StaticLib"
trunk/scripts/toolchain.lua
r245239r245240
6060   description = "Set iOS target version (default: 8.0).",
6161}
6262
63function toolchain(_osd, _buildDir, _subDir)
63function toolchain(_buildDir, _subDir)
6464
6565   location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION)
6666
r245239r245240
352352
353353
354354   configuration { "x32", "vs*" }
355      targetdir (_buildDir .. _osd .. "/win32_" .. _ACTION .. "/bin")
356      objdir (_buildDir .. _osd .. "/win32_" .. _ACTION .. "/obj")
355      targetdir (_buildDir .. "win32_" .. _ACTION .. "/bin")
356      objdir (_buildDir .. "win32_" .. _ACTION .. "/obj")
357357
358358   configuration { "x64", "vs*" }
359359      defines { "_WIN64" }
360      targetdir (_buildDir .. _osd .. "/win64_" .. _ACTION .. "/bin")
361      objdir (_buildDir .. _osd .. "/win64_" .. _ACTION .. "/obj")
360      targetdir (_buildDir .. "win64_" .. _ACTION .. "/bin")
361      objdir (_buildDir .. "win64_" .. _ACTION .. "/obj")
362362
363363   configuration { "ARM", "vs*" }
364      targetdir (_buildDir .. _osd .. "/arm_" .. _ACTION .. "/bin")
365      objdir (_buildDir .. _osd .. "/arm_" .. _ACTION .. "/obj")
364      targetdir (_buildDir .. "arm_" .. _ACTION .. "/bin")
365      objdir (_buildDir .. "arm_" .. _ACTION .. "/obj")
366366
367367   configuration { "x32", "vs*-clang" }
368      targetdir (_buildDir .. _osd .. "/win32_" .. _ACTION .. "-clang/bin")
369      objdir (_buildDir .. _osd .. "/win32_" .. _ACTION .. "-clang/obj")
368      targetdir (_buildDir .. "win32_" .. _ACTION .. "-clang/bin")
369      objdir (_buildDir .. "win32_" .. _ACTION .. "-clang/obj")
370370
371371   configuration { "x64", "vs*-clang" }
372      targetdir (_buildDir .. _osd .. "/win64_" .. _ACTION .. "-clang/bin")
373      objdir (_buildDir .. _osd .. "/win64_" .. _ACTION .. "-clang/obj")
372      targetdir (_buildDir .. "win64_" .. _ACTION .. "-clang/bin")
373      objdir (_buildDir .. "win64_" .. _ACTION .. "-clang/obj")
374374
375375   configuration { "mingw*" }
376376      defines { "WIN32" }
377377
378378   configuration { "x32", "mingw32-gcc" }
379      targetdir (_buildDir .. _osd .. "/win32_mingw-gcc" .. "/bin")
380      objdir (_buildDir .. _osd .. "/win32_mingw-gcc" .. "/obj")
379      targetdir (_buildDir .. "win32_mingw-gcc" .. "/bin")
380      objdir (_buildDir .. "win32_mingw-gcc" .. "/obj")
381381      buildoptions { "-m32" }
382382
383383   configuration { "x64", "mingw64-gcc" }
384      targetdir (_buildDir .. _osd .. "/win64_mingw-gcc" .. "/bin")
385      objdir (_buildDir .. _osd .. "/win64_mingw-gcc" .. "/obj")
384      targetdir (_buildDir .. "win64_mingw-gcc" .. "/bin")
385      objdir (_buildDir .. "win64_mingw-gcc" .. "/obj")
386386      buildoptions { "-m64" }
387387     
388388   configuration { "mingw-clang" }
r245239r245240
392392      }
393393
394394   configuration { "x32", "mingw-clang" }
395      targetdir (_buildDir .. _osd .. "/win32_mingw-clang/bin")
396      objdir ( _buildDir .. _osd .. "/win32_mingw-clang/obj")
395      targetdir (_buildDir .. "win32_mingw-clang/bin")
396      objdir ( _buildDir .. "win32_mingw-clang/obj")
397397      buildoptions { "-m32" }
398398      buildoptions {
399399         "-isystem$(MINGW32)/i686-w64-mingw32/include/c++",
r245239r245240
402402      }
403403     
404404   configuration { "x64", "mingw-clang" }
405      targetdir (_buildDir .. _osd .. "/win64_mingw-clang/bin")
406      objdir (_buildDir .. _osd .. "/win64_mingw-clang/obj")
405      targetdir (_buildDir .. "win64_mingw-clang/bin")
406      objdir (_buildDir .. "win64_mingw-clang/obj")
407407      buildoptions { "-m64" }
408408      buildoptions {
409409         "-isystem$(MINGW64)/x86_64-w64-mingw32/include/c++",
r245239r245240
412412      }     
413413
414414   configuration { "linux-gcc", "x32" }
415      targetdir (_buildDir .. _osd .. "/linux32_gcc" .. "/bin")
416      objdir (_buildDir .. _osd .. "/linux32_gcc" .. "/obj")
415      targetdir (_buildDir .. "linux32_gcc" .. "/bin")
416      objdir (_buildDir .. "linux32_gcc" .. "/obj")
417417      buildoptions {
418418         "-m32",
419419      }
420420
421421   configuration { "linux-gcc", "x64" }
422      targetdir (_buildDir .. _osd .. "/linux64_gcc" .. "/bin")
423      objdir (_buildDir .. _osd .. "/linux64_gcc" .. "/obj")
422      targetdir (_buildDir .. "linux64_gcc" .. "/bin")
423      objdir (_buildDir .. "linux64_gcc" .. "/obj")
424424      buildoptions {
425425         "-m64",
426426      }
427427
428428   configuration { "linux-clang", "x32" }
429      targetdir (_buildDir .. _osd .. "/linux32_clang" .. "/bin")
430      objdir (_buildDir .. _osd .. "/linux32_clang" .. "/obj")
429      targetdir (_buildDir .. "linux32_clang" .. "/bin")
430      objdir (_buildDir .. "linux32_clang" .. "/obj")
431431      buildoptions {
432432         "-m32",
433433      }
434434
435435   configuration { "linux-clang", "x64" }
436      targetdir (_buildDir .. _osd .. "/linux64_clang" .. "/bin")
437      objdir (_buildDir .. _osd .. "/linux64_clang" .. "/obj")
436      targetdir (_buildDir .. "linux64_clang" .. "/bin")
437      objdir (_buildDir .. "linux64_clang" .. "/obj")
438438      buildoptions {
439439         "-m64",
440440      }
r245239r245240
481481
482482
483483   configuration { "android-arm" }
484      targetdir (_buildDir .. _osd .. "/android-arm" .. "/bin")
485      objdir (_buildDir .. _osd .. "/android-arm" .. "/obj")
484      targetdir (_buildDir .. "android-arm" .. "/bin")
485      objdir (_buildDir .. "android-arm" .. "/obj")
486486         libdirs {
487487            "$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a",
488488         }
r245239r245240
507507         }
508508
509509   configuration { "android-mips" }
510      targetdir (_buildDir .. _osd .. "/android-mips" .. "/bin")
511      objdir (_buildDir .. _osd .. "/android-mips" .. "/obj")
510      targetdir (_buildDir .. "android-mips" .. "/bin")
511      objdir (_buildDir .. "android-mips" .. "/obj")
512512      libdirs {
513513         "$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips",
514514      }
r245239r245240
527527      }
528528
529529   configuration { "android-x86" }
530      targetdir (_buildDir .. _osd .. "/android-x86" .. "/bin")
531      objdir (_buildDir .. _osd .. "/android-x86" .. "/obj")
530      targetdir (_buildDir .. "android-x86" .. "/bin")
531      objdir (_buildDir .. "android-x86" .. "/obj")
532532      libdirs {
533533         "$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86",
534534      }
r245239r245240
553553
554554
555555   configuration { "asmjs" }
556      targetdir (_buildDir .. _osd .. "/asmjs" .. "/bin")
557      objdir (_buildDir .. _osd .. "/asmjs" .. "/obj")
556      targetdir (_buildDir .. "asmjs" .. "/bin")
557      objdir (_buildDir .. "asmjs" .. "/obj")
558558      buildoptions {
559559         "-isystem$(EMSCRIPTEN)/system/include",
560560         "-isystem$(EMSCRIPTEN)/system/include/compat",
r245239r245240
571571      }
572572
573573   configuration { "freebsd" }
574      targetdir (_buildDir .. _osd .. "/freebsd" .. "/bin")
575      objdir (_buildDir .. _osd .. "/freebsd" .. "/obj")
574      targetdir (_buildDir .. "freebsd" .. "/bin")
575      objdir (_buildDir .. "freebsd" .. "/obj")
576576
577577   configuration { "nacl or nacl-arm or pnacl" }
578578      buildoptions {
r245239r245240
600600      }
601601
602602   configuration { "x32", "nacl" }
603      targetdir (_buildDir .. _osd .. "/nacl-x86" .. "/bin")
604      objdir (_buildDir .. _osd .. "/nacl-x86" .. "/obj")
603      targetdir (_buildDir .. "nacl-x86" .. "/bin")
604      objdir (_buildDir .. "nacl-x86" .. "/obj")
605605
606606   configuration { "x32", "nacl", "Debug" }
607607      libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_32/Debug" }
r245239r245240
610610      libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_32/Release" }
611611
612612   configuration { "x64", "nacl" }
613      targetdir (_buildDir .. _osd .. "/nacl-x64" .. "/bin")
614      objdir (_buildDir .. _osd .. "/nacl-x64" .. "/obj")
613      targetdir (_buildDir .. "nacl-x64" .. "/bin")
614      objdir (_buildDir .. "nacl-x64" .. "/obj")
615615
616616   configuration { "x64", "nacl", "Debug" }
617617      libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_64/Debug" }
r245239r245240
620620      libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_64/Release" }
621621
622622   configuration { "nacl-arm" }
623      targetdir (_buildDir .. _osd .. "/nacl-arm" .. "/bin")
624      objdir (_buildDir .. _osd .. "/nacl-arm" .. "/obj")
623      targetdir (_buildDir .. "nacl-arm" .. "/bin")
624      objdir (_buildDir .. "nacl-arm" .. "/obj")
625625
626626   configuration { "nacl-arm", "Debug" }
627627      libdirs { "$(NACL_SDK_ROOT)/lib/newlib_arm/Debug" }
r245239r245240
630630      libdirs { "$(NACL_SDK_ROOT)/lib/newlib_arm/Release" }
631631
632632   configuration { "pnacl" }
633      targetdir (_buildDir .. _osd .. "/pnacl" .. "/bin")
634      objdir (_buildDir .. _osd .. "/pnacl" .. "/obj")
633      targetdir (_buildDir .. "pnacl" .. "/bin")
634      objdir (_buildDir .. "pnacl" .. "/obj")
635635
636636   configuration { "pnacl", "Debug" }
637637      libdirs { "$(NACL_SDK_ROOT)/lib/pnacl/Debug" }
r245239r245240
640640      libdirs { "$(NACL_SDK_ROOT)/lib/pnacl/Release" }
641641
642642   configuration { "osx*", "x32" }
643      targetdir (_buildDir .. _osd .. "/osx32_clang" .. "/bin")
644      objdir (_buildDir .. _osd .. "/osx32_clang" .. "/obj")
643      targetdir (_buildDir .. "osx32_clang" .. "/bin")
644      objdir (_buildDir .. "osx32_clang" .. "/obj")
645645      buildoptions {
646646         "-m32",
647647      }
648648
649649   configuration { "osx*", "x64" }
650      targetdir (_buildDir .. _osd .. "/osx64_clang" .. "/bin")
651      objdir (_buildDir .. _osd .. "/osx64_clang" .. "/obj")
650      targetdir (_buildDir .. "osx64_clang" .. "/bin")
651      objdir (_buildDir .. "osx64_clang" .. "/obj")
652652      buildoptions {
653653         "-m64",
654654      }
655655
656656   configuration { "ios-arm" }
657      targetdir (_buildDir .. _osd .. "/ios-arm" .. "/bin")
658      objdir (_buildDir .. _osd .. "/ios-arm" .. "/obj")
657      targetdir (_buildDir .. "ios-arm" .. "/bin")
658      objdir (_buildDir .. "ios-arm" .. "/obj")
659659
660660   configuration { "ios-simulator" }
661      targetdir (_buildDir .. _osd .. "/ios-simulator" .. "/bin")
662      objdir (_buildDir .. _osd .. "/ios-simulator" .. "/obj")
661      targetdir (_buildDir .. "ios-simulator" .. "/bin")
662      objdir (_buildDir .. "ios-simulator" .. "/obj")
663663
664664   configuration { "qnx-arm" }
665      targetdir (_buildDir .. _osd .. "/qnx-arm" .. "/bin")
666      objdir (_buildDir .. _osd .. "/qnx-arm" .. "/obj")
665      targetdir (_buildDir .. "qnx-arm" .. "/bin")
666      objdir (_buildDir .. "qnx-arm" .. "/obj")
667667
668668   configuration { "rpi" }
669      targetdir (_buildDir .. _osd .. "/rpi" .. "/bin")
670      objdir (_buildDir .. _osd .. "/rpi" .. "/obj")
669      targetdir (_buildDir .. "rpi" .. "/bin")
670      objdir (_buildDir .. "rpi" .. "/obj")
671671
672672   configuration {} -- reset configuration
673673
trunk/src/mame/drivers/nmk16.c
r245239r245240
74047404
74057405***************************************************************************/
74067406
7407ROM_START( hotbubl ) /* Korean release - Nude images of women for backgrounds */
7407ROM_START( hotbubl )
74087408   ROM_REGION( 0x80000, "maincpu", 0 )     /* 68000 Code */
74097409   ROM_LOAD16_BYTE( "c1.uc1",  0x00001, 0x40000, CRC(7bb240e9) SHA1(99048fa275182c3da3bfb0dedd790f4b5858bd92) )
74107410   ROM_LOAD16_BYTE( "c2.uc9",  0x00000, 0x40000, CRC(7917b95d) SHA1(0344bae9c373c5943e7693720e5e531bc2e0d7ee) )
r245239r245240
74327432   ROM_LOAD( "s2.uc18", 0x00000, 0x40000, CRC(401c980f) SHA1(e47710c47cfeecce3ccf87f845b219a9c9f21ee3) )
74337433ROM_END
74347434
7435ROM_START( hotbubla ) /* Korean release - Nude images replaced with pictures of satellite dishes */
7435ROM_START( hotbublk ) /* Korean release - Nude images replaced with pictures of satellite dishes */
74367436   ROM_REGION( 0x80000, "maincpu", 0 )     /* 68000 Code */
74377437   ROM_LOAD16_BYTE( "6_c1.uc1",  0x00001, 0x40000, CRC(7c65bf47) SHA1(fe578d3336c5f437bfd1bc81bfe3763b12f3e63f) )
74387438   ROM_LOAD16_BYTE( "7_c2.uc9",  0x00000, 0x40000, CRC(74eb11c3) SHA1(88aeb02c4088706a56b4c930ffe6fdfbc99031c6) )
r245239r245240
78387838
78397839// is there a 'bubble 2000' / 'hot bubble' version with Afega copyright, or is the only Afega release dolmen above, this seems like a sequel, not a clone?
78407840GAME( 1998, bubl2000, 0,        popspops, bubl2000, nmk16_state,   bubl2000, ROT0,               "Afega (Tuning license)",                            "Bubble 2000", 0 ) // on a tuning board (bootleg?)
7841GAME( 1998, hotbubl,  bubl2000, popspops, bubl2000, nmk16_state,   bubl2000, ROT0,               "Afega (Pandora license)",                           "Hot Bubble (Korea, with adult pictures)" , 0 ) // on an afega board ..
7842GAME( 1998, hotbubla, bubl2000, popspops, bubl2000, nmk16_state,   bubl2000, ROT0,               "Afega (Pandora license)",                           "Hot Bubble (Korea)" , 0 ) // on an afega board ..
7841GAME( 1998, hotbubl,  bubl2000, popspops, bubl2000, nmk16_state,   bubl2000, ROT0,               "Afega (Pandora license)",                           "Hot Bubble" , 0 ) // on an afega board ..
7842GAME( 1998, hotbublk, bubl2000, popspops, bubl2000, nmk16_state,   bubl2000, ROT0,               "Afega (Pandora license)",                           "Hot Bubble (Korea)" , 0 ) // on an afega board ..
78437843
78447844GAME( 1999, popspops, 0,        popspops, popspops, nmk16_state,   grdnstrm, ROT0,               "Afega",                             "Pop's Pop's", 0 )
78457845
trunk/src/mame/drivers/seibuspi.c
r245239r245240
28572857   ROM_LOAD("flash0_blank_region01.u1053", 0x000000, 0x100000, CRC(7ae7ab76) SHA1(a2b196f470bf64af94002fc4e2640fadad00418f) )
28582858ROM_END
28592859
2860ROM_START( rdftja ) /* SXX2C ROM SUB4 cart */
2861   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
2862   ROM_LOAD32_BYTE("seibu1.u0211",         0x000000, 0x080000, CRC(b70afcc2) SHA1(70ac545a9fc30df310254997674878fbc2c2d718) ) // socket is silkscreened on pcb PRG0
2863   ROM_LOAD32_BYTE("raiden-f_prg2.u0212",  0x000001, 0x080000, CRC(58ccb10c) SHA1(0cce4057bfada78121d9586574b98d46cdd7dd46) ) // socket is silkscreened on pcb PRG1
2864   ROM_LOAD32_WORD("raiden-f_prg34.u0219", 0x000002, 0x100000, CRC(63f01d17) SHA1(74dbd0417b974583da87fc6c7a081b03fd4e16b8) ) // socket is silkscreened on pcb PRG23
2865
2866   ROM_REGION( 0x40000, "audiocpu", ROMREGION_ERASE00 ) /* 256K RAM, ROM from Z80 point-of-view */
2867
2868   ROM_REGION( 0x30000, "gfx1", ROMREGION_ERASEFF ) /* text layer roms */
2869   ROM_LOAD24_WORD("raiden-f_fix.u0425", 0x000000, 0x20000, CRC(2be2936b) SHA1(9e719f7328a52af220b6f084c1e0990ca6e2d533) ) // socket is silkscreened on pcb FIX01
2870   ROM_LOAD24_BYTE("seibu_7.u048",       0x000002, 0x10000, CRC(4d87e1ea) SHA1(3230e9b643fad773e61ab8ce09c0cd7d4d0558e3) ) // socket is silkscreened on pcb FIXP
2871
2872   ROM_REGION( 0x600000, "gfx2", ROMREGION_ERASEFF ) /* background layer roms */
2873   ROM_LOAD24_WORD("gun_dogs_bg1-d.u0415", 0x000000, 0x200000, CRC(6a68054c) SHA1(5cbfc4ac90045f1401c2dda7a51936558c9de07e) ) // pads are silkscreened on pcb BG12
2874   ROM_LOAD24_BYTE("gun_dogs_bg1-p.u0410", 0x000002, 0x100000, CRC(3400794a) SHA1(719808f7442bac612cefd7b7fffcd665e6337ad0) ) // pads are silkscreened on pcb BG12P
2875   ROM_LOAD24_WORD("gun_dogs_bg2-d.u0424", 0x300000, 0x200000, CRC(61cd2991) SHA1(bb608e3948bf9ea35b5e1615d2ba6858d029dcbe) ) // pads are silkscreened on pcb BG3
2876   ROM_LOAD24_BYTE("gun_dogs_bg2-p.u049",  0x300002, 0x100000, CRC(502d5799) SHA1(c3a0e1a4f5a7b35572ae1ff31315da4ed08aa2fe) ) // pads are silkscreened on pcb BG3P
2877
2878   ROM_REGION( 0xc00000, "gfx3", 0 ) /* sprites */
2879   ROM_LOAD("gun_dogs_obj-1.u0322", 0x000000, 0x400000, CRC(59d86c99) SHA1(d3c9241e7b51fe21f8351051b063f91dc69bf905) ) // pads are silkscreened on pcb OBJ1
2880   ROM_LOAD("gun_dogs_obj-2.u0324", 0x400000, 0x400000, CRC(1ceb0b6f) SHA1(97225a9b3e7be18080aa52f6570af2cce8f25c06) ) // pads are silkscreened on pcb OBJ2
2881   ROM_LOAD("gun_dogs_obj-3.u0323", 0x800000, 0x400000, CRC(36e93234) SHA1(51917a80b7da5c32a9434a1076fc2916d62e6a3e) ) // pads are silkscreened on pcb OBJ3
2882
2883   ROM_REGION32_LE( 0xa00000, "sound01", ROMREGION_ERASE00 ) /* sound roms */
2884   ROM_LOAD32_WORD("raiden-f_pcm2.u0217", 0x000000, 0x100000, CRC(3f8d4a48) SHA1(30664a2908daaeaee58f7e157516b522c952e48d) ) // pads are silkscreened SOUND0
2885   ROM_CONTINUE(                          0x400000, 0x100000 )
2886   /* SOUND1 socket is unpopulated */
2887
2888   ROM_REGION( 0x100000, "soundflash1", 0 ) /* on SPI motherboard */
2889   ROM_LOAD("flash0_blank_region01.u1053", 0x000000, 0x100000, CRC(7ae7ab76) SHA1(a2b196f470bf64af94002fc4e2640fadad00418f) )
2890ROM_END
2891
28922860ROM_START( rdftau )
28932861   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
28942862   ROM_LOAD32_BYTE("1.u0211", 0x000000, 0x80000, CRC(6339c60d) SHA1(871d5bc9fc695651ceb6fcfdab32084320fe239d) )
r245239r245240
30252993   ROM_LOAD("flash0_blank_region82.u1053", 0x000000, 0x100000, CRC(4f463a87) SHA1(0e27904745da61a3ba7c48c5b4c7d45989bbd05b) )
30262994ROM_END
30272995
3028ROM_START( rdftadi ) // Dream Island license - SXX2C ROM SUB4 cart
2996ROM_START( rdftadi ) // Dream Island license
30292997   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
30302998   ROM_LOAD32_BYTE("seibu__1.u0211",       0x000000, 0x080000, CRC(fc0e2885) SHA1(79621155d992d504e993bd3ee0d6ff3903bd5415) ) // socket is silkscreened on pcb PRG0
30312999   ROM_LOAD32_BYTE("raiden-f_prg2.u0212",  0x000001, 0x080000, CRC(58ccb10c) SHA1(0cce4057bfada78121d9586574b98d46cdd7dd46) ) // socket is silkscreened on pcb PRG1
r245239r245240
30573025   ROM_LOAD("flash0_blank_region24.u1053", 0x000000, 0x100000, CRC(72a33dc4) SHA1(65a52f576ca4d240418fedd9a4922edcd6c0c8d1) )
30583026ROM_END
30593027
3060ROM_START( rdftam ) // Metrotainment license - SXX2C ROM SUB4 cart
3028ROM_START( rdftam ) // Metrotainment license
30613029   ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */
30623030   ROM_LOAD32_BYTE("seibu_1.u0211",        0x000000, 0x080000, CRC(156d8db0) SHA1(93662b3ee494e37a56428a7aa3dad7a957835950) ) // socket is silkscreened on pcb PRG0
30633031   ROM_LOAD32_BYTE("raiden-f_prg2.u0212",  0x000001, 0x080000, CRC(58ccb10c) SHA1(0cce4057bfada78121d9586574b98d46cdd7dd46) ) // socket is silkscreened on pcb PRG1
r245239r245240
37993767
38003768GAME( 1996, rdft,       0,        spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu",                         "Raiden Fighters (Japan set 1)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
38013769GAME( 1996, rdftj,      rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu",                         "Raiden Fighters (Japan set 2)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
3802GAME( 1996, rdftja,     rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu",                         "Raiden Fighters (Japan set 3)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
38033770GAME( 1996, rdftu,      rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu (Fabtek license)",        "Raiden Fighters (US)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
38043771GAME( 1996, rdftam,     rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu (Metrotainment license)", "Raiden Fighters (Hong Kong)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
38053772GAME( 1996, rdftadi,    rdft,     spi,     spi_3button, seibuspi_state, rdft,     ROT270, "Seibu Kaihatsu (Dream Island license)",  "Raiden Fighters (Korea)", GAME_SUPPORTS_SAVE | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
trunk/src/mame/mame.lst
r245239r245240
85138513rdftau          // (c) 1996 Seibu Kaihatsu
85148514rdftauge        // (c) 1996 Seibu Kaihatsu (Tuning license and text display, but Australia region code)
85158515rdftj           // (c) 1996 Seibu Kaihatsu
8516rdftja          // (c) 1996 Seibu Kaihatsu
85178516rdftadi         // (c) 1996 Seibu Kaihatsu (Dream Island license)
85188517rdftam          // (c) 1996 Seibu Kaihatsu (Metrotainment license)
85198518rdftit          // (c) 1996 Seibu Kaihatsu
r245239r245240
95379536redfoxwp2       // (c) 1998 (China)
95389537redfoxwp2a      // (c) 1998 (China)
95399538bubl2000        // (c) 1998 Tuning
9540hotbubl         // (c) 1998 Pandora (Korea, Nudes)
9541hotbubla        // (c) 1998 Pandora (Korea)
9539hotbubl         // (c) 1998 Pandora
9540hotbublk        // (c) 1998 Pandora (Korea)
95429541popspops        // (c) 1999
95439542firehawk        // (c) 2001 ESD
95449543firehawkv       // (c) 2001 ESD
trunk/src/mess/drivers/hh_hmcs40.c
r245239r245240
101101   DECLARE_WRITE16_MEMBER(alnattck_grid_w);
102102   DECLARE_READ16_MEMBER(alnattck_input_r);
103103
104   DECLARE_WRITE8_MEMBER(cpacman_plate_w);
105   DECLARE_WRITE16_MEMBER(cpacman_grid_w);
106   DECLARE_READ8_MEMBER(cpacman_input_r);
107
108   DECLARE_WRITE8_MEMBER(cmspacmn_plate_w);
109   DECLARE_WRITE16_MEMBER(cmspacmn_grid_w);
110   DECLARE_READ8_MEMBER(cmspacmn_input_r);
111
112104   void egalaxn2_display();
113105   DECLARE_WRITE8_MEMBER(egalaxn2_plate_w);
114106   DECLARE_WRITE16_MEMBER(egalaxn2_grid_w);
r245239r245240
265257   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
266258
267259   // update display
268   UINT16 plate = BITSWAP16(m_plate,13,8,4,12,9,10,14,1,7,0,15,11,6,3,5,2);
260   UINT32 plate = BITSWAP16(m_plate,13,8,4,12,9,10,14,1,7,0,15,11,6,3,5,2);
269261
270262   display_matrix(16, 9, plate, m_grid);
271263}
r245239r245240
460452
461453static INPUT_PORTS_START( alnattck )
462454   PORT_START("IN.0") // D5 D7
463   PORT_CONFNAME( 0x01, 0x00, "Skill Level" )
455   PORT_CONFNAME( 0x01, 0x00, "Skill" )
464456   PORT_CONFSETTING(    0x00, "1" )
465457   PORT_CONFSETTING(    0x01, "2" )
466458
r245239r245240
591583
592584***************************************************************************/
593585
594WRITE8_MEMBER(hh_hmcs40_state::cpacman_plate_w)
595{
596   // R1x-R6x, D1,D2: vfd matrix plate
597   int shift = (offset - HMCS40_PORT_R1X) * 4;
598   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
599
600   // update display
601   
602   // 31,30,29,28,27,13,14, 8,12,11,10, 9,15,16,17,18, 7, 6, 5, 4,19,20,21,22, 0, 1, 2, 3,23,24,25,26
603   // 31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
604   // 31,30,29,28,27, 0, 1, 2, 3, 8, 9,10,11,16,17,18,19,25,26,23,22,21,20,24,15,14,13,12, 4, 5, 6, 7
605   
606   UINT16 grid = BITSWAP16(m_grid,15,14,13,12,11,0,1,2,3,4,5,6,7,8,9,10);
607   UINT32 plate = BITSWAP32(m_plate,31,30,29,28,27,0,1,2,3,8,9,10,11,16,17,18,19,25,26,23,22,21,20,24,15,14,13,12,4,5,6,7);
608   plate |= 0x2000; // plate 13(maze) is always on
609
610   display_matrix(27, 11, plate, grid);
611}
612
613WRITE16_MEMBER(hh_hmcs40_state::cpacman_grid_w)
614{
615   // D0: speaker out
616   m_speaker->level_w(data & 1);
617
618   // D13-D15: input mux
619   m_inp_mux = data >> 13 & 7;
620
621   // D5-D15: vfd matrix grid
622   m_grid = data >> 5 & 0x7ff;
623
624   // D1,D2: plate 8,14 (update display there)
625   cpacman_plate_w(space, 6 + HMCS40_PORT_R1X, data >> 1 & 3);
626}
627
628READ8_MEMBER(hh_hmcs40_state::cpacman_input_r)
629{
630   // R0x: multiplexed inputs
631   return read_inputs(3);
632}
633
634
635586static INPUT_PORTS_START( cpacman )
636   PORT_START("IN.0") // D13 port R0x
637   PORT_CONFNAME( 0x01, 0x01, "Skill Level" )
638   PORT_CONFSETTING(    0x01, "1" )
639   PORT_CONFSETTING(    0x00, "2" )
640   PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED )
641
642   PORT_START("IN.1") // D14 port R0x
643   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
644   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
645   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
646   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
647
648   PORT_START("IN.2") // D15 port R0x
649   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
650   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
651   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
652   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
653587INPUT_PORTS_END
654588
655589
r245239r245240
657591
658592   /* basic machine hardware */
659593   MCFG_CPU_ADD("maincpu", HD38820, 400000) // approximation - RC osc.
660   MCFG_HMCS40_READ_R_CB(0, READ8(hh_hmcs40_state, cpacman_input_r))
661   MCFG_HMCS40_WRITE_R_CB(1, WRITE8(hh_hmcs40_state, cpacman_plate_w))
662   MCFG_HMCS40_WRITE_R_CB(2, WRITE8(hh_hmcs40_state, cpacman_plate_w))
663   MCFG_HMCS40_WRITE_R_CB(3, WRITE8(hh_hmcs40_state, cpacman_plate_w))
664   MCFG_HMCS40_WRITE_R_CB(4, WRITE8(hh_hmcs40_state, cpacman_plate_w))
665   MCFG_HMCS40_WRITE_R_CB(5, WRITE8(hh_hmcs40_state, cpacman_plate_w))
666   MCFG_HMCS40_WRITE_R_CB(6, WRITE8(hh_hmcs40_state, cpacman_plate_w))
667   MCFG_HMCS40_WRITE_D_CB(WRITE16(hh_hmcs40_state, cpacman_grid_w))
668594
669   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
595//  MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
670596   MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test)
671597
672598   /* no video! */
r245239r245240
692618
693619***************************************************************************/
694620
695WRITE8_MEMBER(hh_hmcs40_state::cmspacmn_plate_w)
696{
697   // R1x-R6x, D0,D1: vfd matrix plate
698   int shift = (offset - HMCS40_PORT_R1X) * 4;
699   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
700
701   // update display
702   //                   22,17                               18,13
703   // 31,30,29,28,27,26, 6,11,23,21,20,19,15, 2, 1, 0,32,31,30,29,12, 9, 4, 8,25,26,27,28,16,10, 3, 5
704   // 31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
705   // 14,13,12, 4, 5, 6, 7,24,23,25,22,21,20,13,24, 3,19,14,12,11,24, 2,10, 8, 7,25, 0, 9, 1,18,17,16
706   
707   UINT16 grid = BITSWAP16(m_grid,15,14,13,11,10,9,8,7,6,5,4,3,2,1,1,0);
708   UINT64 plate = BIT(m_plate,15)<<32 | BITSWAP32(m_plate,14,13,12,4,5,6,7,24,23,25,22,21,20,13,24,3,19,14,12,11,24,2,10,8,7,25,0,9,1,18,17,16);
709   plate |= 0x1004080; // plates 7,14,24 are always on
710
711   display_matrix(33, 12, plate, grid);
712}
713
714WRITE16_MEMBER(hh_hmcs40_state::cmspacmn_grid_w)
715{
716   // D2: speaker out
717   m_speaker->level_w(data >> 2 & 1);
718
719   // D13-D15: input mux
720   m_inp_mux = data >> 13 & 7;
721
722   // D5-D15: vfd matrix grid
723   m_grid = data >> 5 & 0x7ff;
724
725   // D0,D1: plate 11+17,6+22 (update display there)
726   cmspacmn_plate_w(space, 6 + HMCS40_PORT_R1X, data & 3);
727}
728
729READ8_MEMBER(hh_hmcs40_state::cmspacmn_input_r)
730{
731   // R0x: multiplexed inputs
732   return read_inputs(3);
733}
734
735
736621static INPUT_PORTS_START( cmspacmn )
737   PORT_START("IN.0") // D13 port R0x
738   PORT_CONFNAME( 0x01, 0x01, "Skill Level" )
739   PORT_CONFSETTING(    0x01, "1" )
740   PORT_CONFSETTING(    0x00, "2" )
741   PORT_BIT( 0x0e, IP_ACTIVE_HIGH, IPT_UNUSED )
742
743   PORT_START("IN.1") // D14 port R0x
744   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
745   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
746   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
747   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
748
749   PORT_START("IN.2") // D15 port R0x
750   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
751   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
752   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
753   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
754622INPUT_PORTS_END
755623
756624
r245239r245240
758626
759627   /* basic machine hardware */
760628   MCFG_CPU_ADD("maincpu", HD38820, 400000) // approximation - RC osc.
761   MCFG_HMCS40_READ_R_CB(0, READ8(hh_hmcs40_state, cmspacmn_input_r))
762   MCFG_HMCS40_WRITE_R_CB(1, WRITE8(hh_hmcs40_state, cmspacmn_plate_w))
763   MCFG_HMCS40_WRITE_R_CB(2, WRITE8(hh_hmcs40_state, cmspacmn_plate_w))
764   MCFG_HMCS40_WRITE_R_CB(3, WRITE8(hh_hmcs40_state, cmspacmn_plate_w))
765   MCFG_HMCS40_WRITE_R_CB(4, WRITE8(hh_hmcs40_state, cmspacmn_plate_w))
766   MCFG_HMCS40_WRITE_R_CB(5, WRITE8(hh_hmcs40_state, cmspacmn_plate_w))
767   MCFG_HMCS40_WRITE_R_CB(6, WRITE8(hh_hmcs40_state, cmspacmn_plate_w))
768   MCFG_HMCS40_WRITE_D_CB(WRITE16(hh_hmcs40_state, cmspacmn_grid_w))
769629
770   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
630//  MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1))
771631   MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test)
772632
773633   /* no video! */
r245239r245240
794654
795655void hh_hmcs40_state::egalaxn2_display()
796656{
797   UINT16 grid = BITSWAP16(m_grid,15,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14);
657   UINT32 grid = BITSWAP16(m_grid,15,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14);
798658   UINT32 plate = BITSWAP24(m_plate,23,22,21,20,15,14,13,12,7,6,5,4,3,2,1,0,19,18,17,16,11,10,9,8);
799659
800660   display_matrix(24, 15, plate, grid);
r245239r245240
815675
816676WRITE8_MEMBER(hh_hmcs40_state::egalaxn2_plate_w)
817677{
818   // R1x-R6x: vfd matrix plate
678   // R10-R63: vfd matrix plate
819679   int shift = (offset - HMCS40_PORT_R1X) * 4;
820680   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
821681
r245239r245240
850710
851711   PORT_START("IN.3") // D4 port R0x
852712   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
853   PORT_CONFNAME( 0x02, 0x02, "Skill Level" )
713   PORT_CONFNAME( 0x02, 0x02, "Skill" )
854714   PORT_CONFSETTING(    0x02, "1" )
855715   PORT_CONFSETTING(    0x00, "2" )
856716   PORT_CONFNAME( 0x0c, 0x00, "Players" )
r245239r245240
898758
899759***************************************************************************/
900760
901// i/o hookup is identical to Galaxian 2, so we can use those handlers
761// hardware is identical to Galaxian 2, so we can use those handlers
902762// note: plate numbers are 0-23, not 1-24(with 0 always-on)
903763
904764static INPUT_PORTS_START( epacman2 )
r245239r245240
922782
923783   PORT_START("IN.3") // D4 port R0x
924784   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED )
925   PORT_CONFNAME( 0x02, 0x02, "Skill Level" )
785   PORT_CONFNAME( 0x02, 0x02, "Skill" )
926786   PORT_CONFSETTING(    0x00, "1" )
927787   PORT_CONFSETTING(    0x02, "2" )
928788   PORT_CONFNAME( 0x0c, 0x04, "Players" )
trunk/src/mess/drivers/hh_tms1k.c
r245239r245240
77  part of a series is (or will be) in its own driver.
88
99  Let's use this driver for a list of known devices and their serials,
10  excluding TI's own products (see ticalc1x.c, tispeak.c)
10  excluding TI's own products (see for example ticalc1x.c, tispeak.c)
1111
1212  serial   device   etc.
1313--------------------------------------------------------------------
r245239r245240
2121 @MP1204   TMS1100  1980, Entex Baseball 3
2222 *MP1221   TMS1100  1980, Entex Raise The Devil
2323 *MP1312   TMS1100  198?, Tandy/RadioShack Science Fair Microcomputer Trainer
24 *MP2139   ?        1982, Gakken Galaxy Invader 1000 (? note: VFD-capable)
25 *MP2788   ?        1980, Bandai Flight Time (? note: VFD-capable)
24 *MP2139   ?        1982, Gakken Galaxy Invader 1000
25 *MP2788   ?        1980, Bandai Flight Time
2626 @MP3226   TMS1000  1978, Milton Bradley Simon
2727 *MP3301   TMS1000  1979, Milton Bradley Bigtrak
2828 *MP3320A  TMS1000  1979, Coleco Head to Head Basketball
r245239r245240
4545  M34047   TMS1100  1982, MicroVision cartridge: Super Blockbuster
4646 @MP6100A  TMS0980  1979, Ideal Electronic Detective
4747 @MP6101B  TMS0980  1979, Parker Brothers Stop Thief
48 *MP6361   ?        1983, Defender Strikes (? note: VFD-capable)
48 *MP6361   ?        1983, Defender Strikes
4949 *MP7303   TMS1400? 19??, Tiger 7-in-1 Sports Stadium
5050 @MP7313   TMS1400  1980, Parker Brothers Bank Shot
5151 @MP7314   TMS1400  1980, Parker Brothers Split Second
5252  MP7332   TMS1400  1981, Milton Bradley Dark Tower -> mbdtower.c
5353 @MP7334   TMS1400  1981, Coleco Total Control 4
54 *MP7573   ?        1981, Entex Select-a-Game cartridge: Football (? note: 40-pin, VFD-capable)
55 *M95041   ?        1983, Tsukuda Game Pachinko (? note: 40-pin, VFD-capable)
5654
5755  inconsistent:
5856
r245239r245240
10511049   // MCU clock is from an RC circuit(R=47K, C=33pf) oscillating by default at ~340kHz,
10521050   // but on PRO, the difficulty switch adds an extra 150K resistor to Vdd to speed
10531051   // it up to around ~440kHz.
1054   m_maincpu->set_unscaled_clock((m_inp_matrix[3]->read() & 1) ? 440000 : 340000);
1052   m_maincpu->set_unscaled_clock(m_inp_matrix[3]->read() & 1 ? 440000 : 340000);
10551053}
10561054
10571055INPUT_CHANGED_MEMBER(hh_tms1k_state::ebball3_difficulty_switch)
r245239r245240
15701568   PORT_BIT( 0x0d, IP_ACTIVE_HIGH, IPT_UNUSED )
15711569
15721570   PORT_START("IN.6") // fake
1573   PORT_CONFNAME( 0x03, 0x01, "Speed" ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, ssimon_speed_switch, NULL)
1571   PORT_CONFNAME( 0x03, 0x00, "Speed" ) //PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, ssimon_speed_switch, NULL)
15741572   PORT_CONFSETTING(    0x00, "Simple" )
15751573   PORT_CONFSETTING(    0x01, "Normal" )
15761574   PORT_CONFSETTING(    0x02, "Super" )
15771575INPUT_PORTS_END
15781576
15791577
1580void hh_tms1k_state::ssimon_set_clock()
1581{
1582   // MCU clock is from an RC circuit with C=100pf, R=x depending on speed switch:
1583   // 0 Simple: R=51K -> ~200kHz
1584   // 1 Normal: R=37K -> ~275kHz
1585   // 2 Super:  R=22K -> ~400kHz
1586   UINT8 inp = m_inp_matrix[6]->read();
1587   m_maincpu->set_unscaled_clock((inp & 2) ? 400000 : ((inp & 1) ? 275000 : 200000));
1588}
1589
1590INPUT_CHANGED_MEMBER(hh_tms1k_state::ssimon_speed_switch)
1591{
1592   ssimon_set_clock();
1593}
1594
1595MACHINE_RESET_MEMBER(hh_tms1k_state, ssimon)
1596{
1597   machine_reset();
1598   ssimon_set_clock();
1599}
1600
16011578static MACHINE_CONFIG_START( ssimon, hh_tms1k_state )
16021579
16031580   /* basic machine hardware */
1604   MCFG_CPU_ADD("maincpu", TMS1100, 275000) // see ssimon_set_clock
1581   MCFG_CPU_ADD("maincpu", TMS1100, 350000) // x
16051582   MCFG_TMS1XXX_READ_K_CB(READ8(hh_tms1k_state, ssimon_read_k))
16061583   MCFG_TMS1XXX_WRITE_R_CB(WRITE16(hh_tms1k_state, ssimon_write_r))
16071584   MCFG_TMS1XXX_WRITE_O_CB(WRITE16(hh_tms1k_state, ssimon_write_o))
r245239r245240
16091586   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1))
16101587   MCFG_DEFAULT_LAYOUT(layout_ssimon)
16111588
1612   MCFG_MACHINE_RESET_OVERRIDE(hh_tms1k_state, ssimon)
1613
16141589   /* no video! */
16151590
16161591   /* sound hardware */
trunk/src/mess/drivers/hh_ucom4.c
r245239r245240
265265void hh_ucom4_state::ssfball_display()
266266{
267267   UINT32 plate = BITSWAP24(m_plate,23,22,21,20,19,11,7,3,12,17,13,18,16,14,15,10,9,8,0,1,2,4,5,6);
268
269268   display_matrix(16, 9, plate, m_grid);
270269}
271270
r245239r245240
375374void hh_ucom4_state::splasfgt_display()
376375{
377376   UINT32 plate = BITSWAP24(m_plate,23,22,21,20,19,18,17,13,1,0,8,6,0,10,11,14,15,16,9,5,7,4,2,3);
378
379377   display_matrix(16, 9, plate, m_grid);
380378}
381379
r245239r245240
513511
514512void hh_ucom4_state::astrocmd_display()
515513{
516   UINT16 grid = BITSWAP16(m_grid,15,14,13,12,11,10,9,8,4,5,6,7,0,1,2,3);
514   UINT32 grid = BITSWAP16(m_grid,15,14,13,12,11,10,9,8,4,5,6,7,0,1,2,3);
517515   UINT32 plate = BITSWAP24(m_plate,23,22,21,20,19,3,2,12,13,14,15,16,17,18,0,1,4,8,5,9,7,11,6,10);
518516
519517   display_matrix(17, 9, plate, grid);
r245239r245240
613611   int shift = (offset - NEC_UCOM4_PORTC) * 4;
614612   m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
615613
616   display_matrix(18+1, 8, m_plate, m_grid);
614   display_matrix(18, 8, m_plate, m_grid);
617615}
618616
619617WRITE8_MEMBER(hh_ucom4_state::edracula_plate_w)
r245239r245240
625623   // E,F,G,H,I01: vfd matrix plate
626624   int shift = (offset - NEC_UCOM4_PORTE) * 4;
627625   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
628   m_plate |= 1 << 18; // for always-on plates
629626
630   display_matrix(18+1, 8, m_plate, m_grid);
627   display_matrix(18, 8, m_plate, m_grid);
631628}
632629
633630
r245239r245240
770767   // MCU clock is from an LC circuit oscillating by default at ~360kHz,
771768   // but on PRO1, the difficulty switch puts a capacitor across the LC circuit
772769   // to slow it down to ~260kHz.
773   m_maincpu->set_unscaled_clock((m_inp_matrix[1]->read() & 0x100) ? 260000 : 360000);
770   m_maincpu->set_unscaled_clock(m_inp_matrix[1]->read() & 0x100 ? 260000 : 360000);
774771}
775772
776773INPUT_CHANGED_MEMBER(hh_ucom4_state::tmtennis_difficulty_switch)
r245239r245240
837834
838835void hh_ucom4_state::tmpacman_display()
839836{
840   UINT16 grid = BITSWAP8(m_grid,0,1,2,3,4,5,6,7);
837   UINT32 grid = BITSWAP8(m_grid,0,1,2,3,4,5,6,7);
841838   UINT32 plate = BITSWAP24(m_plate,23,22,21,20,19,16,17,18,11,10,9,8,0,2,3,1,4,5,6,7,12,13,14,15);
842   plate |= 0x100; // plate 8(maze) is always on
843839
844   display_matrix(19, 8, plate, grid);
840   display_matrix(19, 8, plate | 0x100, grid); // plate 8 (maze) is always on
845841}
846842
847843WRITE8_MEMBER(hh_ucom4_state::tmpacman_grid_w)
r245239r245240
951947      // E23,F,G,H,I: vfd matrix plate
952948      int shift = (offset - NEC_UCOM4_PORTE) * 4;
953949      m_plate = ((m_plate << 2 & ~(0xf << shift)) | (data << shift)) >> 2;
954      m_plate |= 1 << 17; // for always-on plates
955950   }
956951
957   display_matrix(17+1, 9, m_plate, m_grid);
952   display_matrix(17, 9, m_plate, m_grid);
958953}
959954
960955READ8_MEMBER(hh_ucom4_state::alnchase_input_r)
trunk/src/mess/includes/hh_tms1k.h
r245239r245240
112112   DECLARE_WRITE16_MEMBER(ssimon_write_r);
113113   DECLARE_WRITE16_MEMBER(ssimon_write_o);
114114   DECLARE_READ8_MEMBER(ssimon_read_k);
115   void ssimon_set_clock();
116   DECLARE_INPUT_CHANGED_MEMBER(ssimon_speed_switch);
117   DECLARE_MACHINE_RESET(ssimon);
118115
119116   DECLARE_WRITE16_MEMBER(cnsector_write_r);
120117   DECLARE_WRITE16_MEMBER(cnsector_write_o);


Previous 199869 Revisions Next


© 1997-2024 The MAME Team