trunk/scripts/toolchain.lua
| r245240 | r245241 | |
| 60 | 60 | description = "Set iOS target version (default: 8.0).", |
| 61 | 61 | } |
| 62 | 62 | |
| 63 | | function toolchain(_buildDir, _subDir) |
| 63 | function toolchain(_osd, _buildDir, _subDir) |
| 64 | 64 | |
| 65 | 65 | location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION) |
| 66 | 66 | |
| r245240 | r245241 | |
| 352 | 352 | |
| 353 | 353 | |
| 354 | 354 | configuration { "x32", "vs*" } |
| 355 | | targetdir (_buildDir .. "win32_" .. _ACTION .. "/bin") |
| 356 | | objdir (_buildDir .. "win32_" .. _ACTION .. "/obj") |
| 355 | targetdir (_buildDir .. _osd .. "/win32_" .. _ACTION .. "/bin") |
| 356 | objdir (_buildDir .. _osd .. "/win32_" .. _ACTION .. "/obj") |
| 357 | 357 | |
| 358 | 358 | configuration { "x64", "vs*" } |
| 359 | 359 | defines { "_WIN64" } |
| 360 | | targetdir (_buildDir .. "win64_" .. _ACTION .. "/bin") |
| 361 | | objdir (_buildDir .. "win64_" .. _ACTION .. "/obj") |
| 360 | targetdir (_buildDir .. _osd .. "/win64_" .. _ACTION .. "/bin") |
| 361 | objdir (_buildDir .. _osd .. "/win64_" .. _ACTION .. "/obj") |
| 362 | 362 | |
| 363 | 363 | configuration { "ARM", "vs*" } |
| 364 | | targetdir (_buildDir .. "arm_" .. _ACTION .. "/bin") |
| 365 | | objdir (_buildDir .. "arm_" .. _ACTION .. "/obj") |
| 364 | targetdir (_buildDir .. _osd .. "/arm_" .. _ACTION .. "/bin") |
| 365 | objdir (_buildDir .. _osd .. "/arm_" .. _ACTION .. "/obj") |
| 366 | 366 | |
| 367 | 367 | configuration { "x32", "vs*-clang" } |
| 368 | | targetdir (_buildDir .. "win32_" .. _ACTION .. "-clang/bin") |
| 369 | | objdir (_buildDir .. "win32_" .. _ACTION .. "-clang/obj") |
| 368 | targetdir (_buildDir .. _osd .. "/win32_" .. _ACTION .. "-clang/bin") |
| 369 | objdir (_buildDir .. _osd .. "/win32_" .. _ACTION .. "-clang/obj") |
| 370 | 370 | |
| 371 | 371 | configuration { "x64", "vs*-clang" } |
| 372 | | targetdir (_buildDir .. "win64_" .. _ACTION .. "-clang/bin") |
| 373 | | objdir (_buildDir .. "win64_" .. _ACTION .. "-clang/obj") |
| 372 | targetdir (_buildDir .. _osd .. "/win64_" .. _ACTION .. "-clang/bin") |
| 373 | objdir (_buildDir .. _osd .. "/win64_" .. _ACTION .. "-clang/obj") |
| 374 | 374 | |
| 375 | 375 | configuration { "mingw*" } |
| 376 | 376 | defines { "WIN32" } |
| 377 | 377 | |
| 378 | 378 | configuration { "x32", "mingw32-gcc" } |
| 379 | | targetdir (_buildDir .. "win32_mingw-gcc" .. "/bin") |
| 380 | | objdir (_buildDir .. "win32_mingw-gcc" .. "/obj") |
| 379 | targetdir (_buildDir .. _osd .. "/win32_mingw-gcc" .. "/bin") |
| 380 | objdir (_buildDir .. _osd .. "/win32_mingw-gcc" .. "/obj") |
| 381 | 381 | buildoptions { "-m32" } |
| 382 | 382 | |
| 383 | 383 | configuration { "x64", "mingw64-gcc" } |
| 384 | | targetdir (_buildDir .. "win64_mingw-gcc" .. "/bin") |
| 385 | | objdir (_buildDir .. "win64_mingw-gcc" .. "/obj") |
| 384 | targetdir (_buildDir .. _osd .. "/win64_mingw-gcc" .. "/bin") |
| 385 | objdir (_buildDir .. _osd .. "/win64_mingw-gcc" .. "/obj") |
| 386 | 386 | buildoptions { "-m64" } |
| 387 | 387 | |
| 388 | 388 | configuration { "mingw-clang" } |
| r245240 | r245241 | |
| 392 | 392 | } |
| 393 | 393 | |
| 394 | 394 | configuration { "x32", "mingw-clang" } |
| 395 | | targetdir (_buildDir .. "win32_mingw-clang/bin") |
| 396 | | objdir ( _buildDir .. "win32_mingw-clang/obj") |
| 395 | targetdir (_buildDir .. _osd .. "/win32_mingw-clang/bin") |
| 396 | objdir ( _buildDir .. _osd .. "/win32_mingw-clang/obj") |
| 397 | 397 | buildoptions { "-m32" } |
| 398 | 398 | buildoptions { |
| 399 | 399 | "-isystem$(MINGW32)/i686-w64-mingw32/include/c++", |
| r245240 | r245241 | |
| 402 | 402 | } |
| 403 | 403 | |
| 404 | 404 | configuration { "x64", "mingw-clang" } |
| 405 | | targetdir (_buildDir .. "win64_mingw-clang/bin") |
| 406 | | objdir (_buildDir .. "win64_mingw-clang/obj") |
| 405 | targetdir (_buildDir .. _osd .. "/win64_mingw-clang/bin") |
| 406 | objdir (_buildDir .. _osd .. "/win64_mingw-clang/obj") |
| 407 | 407 | buildoptions { "-m64" } |
| 408 | 408 | buildoptions { |
| 409 | 409 | "-isystem$(MINGW64)/x86_64-w64-mingw32/include/c++", |
| r245240 | r245241 | |
| 412 | 412 | } |
| 413 | 413 | |
| 414 | 414 | configuration { "linux-gcc", "x32" } |
| 415 | | targetdir (_buildDir .. "linux32_gcc" .. "/bin") |
| 416 | | objdir (_buildDir .. "linux32_gcc" .. "/obj") |
| 415 | targetdir (_buildDir .. _osd .. "/linux32_gcc" .. "/bin") |
| 416 | objdir (_buildDir .. _osd .. "/linux32_gcc" .. "/obj") |
| 417 | 417 | buildoptions { |
| 418 | 418 | "-m32", |
| 419 | 419 | } |
| 420 | 420 | |
| 421 | 421 | configuration { "linux-gcc", "x64" } |
| 422 | | targetdir (_buildDir .. "linux64_gcc" .. "/bin") |
| 423 | | objdir (_buildDir .. "linux64_gcc" .. "/obj") |
| 422 | targetdir (_buildDir .. _osd .. "/linux64_gcc" .. "/bin") |
| 423 | objdir (_buildDir .. _osd .. "/linux64_gcc" .. "/obj") |
| 424 | 424 | buildoptions { |
| 425 | 425 | "-m64", |
| 426 | 426 | } |
| 427 | 427 | |
| 428 | 428 | configuration { "linux-clang", "x32" } |
| 429 | | targetdir (_buildDir .. "linux32_clang" .. "/bin") |
| 430 | | objdir (_buildDir .. "linux32_clang" .. "/obj") |
| 429 | targetdir (_buildDir .. _osd .. "/linux32_clang" .. "/bin") |
| 430 | objdir (_buildDir .. _osd .. "/linux32_clang" .. "/obj") |
| 431 | 431 | buildoptions { |
| 432 | 432 | "-m32", |
| 433 | 433 | } |
| 434 | 434 | |
| 435 | 435 | configuration { "linux-clang", "x64" } |
| 436 | | targetdir (_buildDir .. "linux64_clang" .. "/bin") |
| 437 | | objdir (_buildDir .. "linux64_clang" .. "/obj") |
| 436 | targetdir (_buildDir .. _osd .. "/linux64_clang" .. "/bin") |
| 437 | objdir (_buildDir .. _osd .. "/linux64_clang" .. "/obj") |
| 438 | 438 | buildoptions { |
| 439 | 439 | "-m64", |
| 440 | 440 | } |
| r245240 | r245241 | |
| 481 | 481 | |
| 482 | 482 | |
| 483 | 483 | configuration { "android-arm" } |
| 484 | | targetdir (_buildDir .. "android-arm" .. "/bin") |
| 485 | | objdir (_buildDir .. "android-arm" .. "/obj") |
| 484 | targetdir (_buildDir .. _osd .. "/android-arm" .. "/bin") |
| 485 | objdir (_buildDir .. _osd .. "/android-arm" .. "/obj") |
| 486 | 486 | libdirs { |
| 487 | 487 | "$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a", |
| 488 | 488 | } |
| r245240 | r245241 | |
| 507 | 507 | } |
| 508 | 508 | |
| 509 | 509 | configuration { "android-mips" } |
| 510 | | targetdir (_buildDir .. "android-mips" .. "/bin") |
| 511 | | objdir (_buildDir .. "android-mips" .. "/obj") |
| 510 | targetdir (_buildDir .. _osd .. "/android-mips" .. "/bin") |
| 511 | objdir (_buildDir .. _osd .. "/android-mips" .. "/obj") |
| 512 | 512 | libdirs { |
| 513 | 513 | "$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips", |
| 514 | 514 | } |
| r245240 | r245241 | |
| 527 | 527 | } |
| 528 | 528 | |
| 529 | 529 | configuration { "android-x86" } |
| 530 | | targetdir (_buildDir .. "android-x86" .. "/bin") |
| 531 | | objdir (_buildDir .. "android-x86" .. "/obj") |
| 530 | targetdir (_buildDir .. _osd .. "/android-x86" .. "/bin") |
| 531 | objdir (_buildDir .. _osd .. "/android-x86" .. "/obj") |
| 532 | 532 | libdirs { |
| 533 | 533 | "$(ANDROID_NDK_ROOT)/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86", |
| 534 | 534 | } |
| r245240 | r245241 | |
| 553 | 553 | |
| 554 | 554 | |
| 555 | 555 | configuration { "asmjs" } |
| 556 | | targetdir (_buildDir .. "asmjs" .. "/bin") |
| 557 | | objdir (_buildDir .. "asmjs" .. "/obj") |
| 556 | targetdir (_buildDir .. _osd .. "/asmjs" .. "/bin") |
| 557 | objdir (_buildDir .. _osd .. "/asmjs" .. "/obj") |
| 558 | 558 | buildoptions { |
| 559 | 559 | "-isystem$(EMSCRIPTEN)/system/include", |
| 560 | 560 | "-isystem$(EMSCRIPTEN)/system/include/compat", |
| r245240 | r245241 | |
| 571 | 571 | } |
| 572 | 572 | |
| 573 | 573 | configuration { "freebsd" } |
| 574 | | targetdir (_buildDir .. "freebsd" .. "/bin") |
| 575 | | objdir (_buildDir .. "freebsd" .. "/obj") |
| 574 | targetdir (_buildDir .. _osd .. "/freebsd" .. "/bin") |
| 575 | objdir (_buildDir .. _osd .. "/freebsd" .. "/obj") |
| 576 | 576 | |
| 577 | 577 | configuration { "nacl or nacl-arm or pnacl" } |
| 578 | 578 | buildoptions { |
| r245240 | r245241 | |
| 600 | 600 | } |
| 601 | 601 | |
| 602 | 602 | configuration { "x32", "nacl" } |
| 603 | | targetdir (_buildDir .. "nacl-x86" .. "/bin") |
| 604 | | objdir (_buildDir .. "nacl-x86" .. "/obj") |
| 603 | targetdir (_buildDir .. _osd .. "/nacl-x86" .. "/bin") |
| 604 | objdir (_buildDir .. _osd .. "/nacl-x86" .. "/obj") |
| 605 | 605 | |
| 606 | 606 | configuration { "x32", "nacl", "Debug" } |
| 607 | 607 | libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_32/Debug" } |
| r245240 | r245241 | |
| 610 | 610 | libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_32/Release" } |
| 611 | 611 | |
| 612 | 612 | configuration { "x64", "nacl" } |
| 613 | | targetdir (_buildDir .. "nacl-x64" .. "/bin") |
| 614 | | objdir (_buildDir .. "nacl-x64" .. "/obj") |
| 613 | targetdir (_buildDir .. _osd .. "/nacl-x64" .. "/bin") |
| 614 | objdir (_buildDir .. _osd .. "/nacl-x64" .. "/obj") |
| 615 | 615 | |
| 616 | 616 | configuration { "x64", "nacl", "Debug" } |
| 617 | 617 | libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_64/Debug" } |
| r245240 | r245241 | |
| 620 | 620 | libdirs { "$(NACL_SDK_ROOT)/lib/newlib_x86_64/Release" } |
| 621 | 621 | |
| 622 | 622 | configuration { "nacl-arm" } |
| 623 | | targetdir (_buildDir .. "nacl-arm" .. "/bin") |
| 624 | | objdir (_buildDir .. "nacl-arm" .. "/obj") |
| 623 | targetdir (_buildDir .. _osd .. "/nacl-arm" .. "/bin") |
| 624 | objdir (_buildDir .. _osd .. "/nacl-arm" .. "/obj") |
| 625 | 625 | |
| 626 | 626 | configuration { "nacl-arm", "Debug" } |
| 627 | 627 | libdirs { "$(NACL_SDK_ROOT)/lib/newlib_arm/Debug" } |
| r245240 | r245241 | |
| 630 | 630 | libdirs { "$(NACL_SDK_ROOT)/lib/newlib_arm/Release" } |
| 631 | 631 | |
| 632 | 632 | configuration { "pnacl" } |
| 633 | | targetdir (_buildDir .. "pnacl" .. "/bin") |
| 634 | | objdir (_buildDir .. "pnacl" .. "/obj") |
| 633 | targetdir (_buildDir .. _osd .. "/pnacl" .. "/bin") |
| 634 | objdir (_buildDir .. _osd .. "/pnacl" .. "/obj") |
| 635 | 635 | |
| 636 | 636 | configuration { "pnacl", "Debug" } |
| 637 | 637 | libdirs { "$(NACL_SDK_ROOT)/lib/pnacl/Debug" } |
| r245240 | r245241 | |
| 640 | 640 | libdirs { "$(NACL_SDK_ROOT)/lib/pnacl/Release" } |
| 641 | 641 | |
| 642 | 642 | configuration { "osx*", "x32" } |
| 643 | | targetdir (_buildDir .. "osx32_clang" .. "/bin") |
| 644 | | objdir (_buildDir .. "osx32_clang" .. "/obj") |
| 643 | targetdir (_buildDir .. _osd .. "/osx32_clang" .. "/bin") |
| 644 | objdir (_buildDir .. _osd .. "/osx32_clang" .. "/obj") |
| 645 | 645 | buildoptions { |
| 646 | 646 | "-m32", |
| 647 | 647 | } |
| 648 | 648 | |
| 649 | 649 | configuration { "osx*", "x64" } |
| 650 | | targetdir (_buildDir .. "osx64_clang" .. "/bin") |
| 651 | | objdir (_buildDir .. "osx64_clang" .. "/obj") |
| 650 | targetdir (_buildDir .. _osd .. "/osx64_clang" .. "/bin") |
| 651 | objdir (_buildDir .. _osd .. "/osx64_clang" .. "/obj") |
| 652 | 652 | buildoptions { |
| 653 | 653 | "-m64", |
| 654 | 654 | } |
| 655 | 655 | |
| 656 | 656 | configuration { "ios-arm" } |
| 657 | | targetdir (_buildDir .. "ios-arm" .. "/bin") |
| 658 | | objdir (_buildDir .. "ios-arm" .. "/obj") |
| 657 | targetdir (_buildDir .. _osd .. "/ios-arm" .. "/bin") |
| 658 | objdir (_buildDir .. _osd .. "/ios-arm" .. "/obj") |
| 659 | 659 | |
| 660 | 660 | configuration { "ios-simulator" } |
| 661 | | targetdir (_buildDir .. "ios-simulator" .. "/bin") |
| 662 | | objdir (_buildDir .. "ios-simulator" .. "/obj") |
| 661 | targetdir (_buildDir .. _osd .. "/ios-simulator" .. "/bin") |
| 662 | objdir (_buildDir .. _osd .. "/ios-simulator" .. "/obj") |
| 663 | 663 | |
| 664 | 664 | configuration { "qnx-arm" } |
| 665 | | targetdir (_buildDir .. "qnx-arm" .. "/bin") |
| 666 | | objdir (_buildDir .. "qnx-arm" .. "/obj") |
| 665 | targetdir (_buildDir .. _osd .. "/qnx-arm" .. "/bin") |
| 666 | objdir (_buildDir .. _osd .. "/qnx-arm" .. "/obj") |
| 667 | 667 | |
| 668 | 668 | configuration { "rpi" } |
| 669 | | targetdir (_buildDir .. "rpi" .. "/bin") |
| 670 | | objdir (_buildDir .. "rpi" .. "/obj") |
| 669 | targetdir (_buildDir .. _osd .. "/rpi" .. "/bin") |
| 670 | objdir (_buildDir .. _osd .. "/rpi" .. "/obj") |
| 671 | 671 | |
| 672 | 672 | configuration {} -- reset configuration |
| 673 | 673 | |
trunk/src/mame/drivers/seibuspi.c
| r245240 | r245241 | |
| 2857 | 2857 | ROM_LOAD("flash0_blank_region01.u1053", 0x000000, 0x100000, CRC(7ae7ab76) SHA1(a2b196f470bf64af94002fc4e2640fadad00418f) ) |
| 2858 | 2858 | ROM_END |
| 2859 | 2859 | |
| 2860 | ROM_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) ) |
| 2890 | ROM_END |
| 2891 | |
| 2860 | 2892 | ROM_START( rdftau ) |
| 2861 | 2893 | ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */ |
| 2862 | 2894 | ROM_LOAD32_BYTE("1.u0211", 0x000000, 0x80000, CRC(6339c60d) SHA1(871d5bc9fc695651ceb6fcfdab32084320fe239d) ) |
| r245240 | r245241 | |
| 2993 | 3025 | ROM_LOAD("flash0_blank_region82.u1053", 0x000000, 0x100000, CRC(4f463a87) SHA1(0e27904745da61a3ba7c48c5b4c7d45989bbd05b) ) |
| 2994 | 3026 | ROM_END |
| 2995 | 3027 | |
| 2996 | | ROM_START( rdftadi ) // Dream Island license |
| 3028 | ROM_START( rdftadi ) // Dream Island license - SXX2C ROM SUB4 cart |
| 2997 | 3029 | ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */ |
| 2998 | 3030 | ROM_LOAD32_BYTE("seibu__1.u0211", 0x000000, 0x080000, CRC(fc0e2885) SHA1(79621155d992d504e993bd3ee0d6ff3903bd5415) ) // socket is silkscreened on pcb PRG0 |
| 2999 | 3031 | ROM_LOAD32_BYTE("raiden-f_prg2.u0212", 0x000001, 0x080000, CRC(58ccb10c) SHA1(0cce4057bfada78121d9586574b98d46cdd7dd46) ) // socket is silkscreened on pcb PRG1 |
| r245240 | r245241 | |
| 3025 | 3057 | ROM_LOAD("flash0_blank_region24.u1053", 0x000000, 0x100000, CRC(72a33dc4) SHA1(65a52f576ca4d240418fedd9a4922edcd6c0c8d1) ) |
| 3026 | 3058 | ROM_END |
| 3027 | 3059 | |
| 3028 | | ROM_START( rdftam ) // Metrotainment license |
| 3060 | ROM_START( rdftam ) // Metrotainment license - SXX2C ROM SUB4 cart |
| 3029 | 3061 | ROM_REGION32_LE( 0x200000, "maincpu", 0 ) /* i386 program */ |
| 3030 | 3062 | ROM_LOAD32_BYTE("seibu_1.u0211", 0x000000, 0x080000, CRC(156d8db0) SHA1(93662b3ee494e37a56428a7aa3dad7a957835950) ) // socket is silkscreened on pcb PRG0 |
| 3031 | 3063 | ROM_LOAD32_BYTE("raiden-f_prg2.u0212", 0x000001, 0x080000, CRC(58ccb10c) SHA1(0cce4057bfada78121d9586574b98d46cdd7dd46) ) // socket is silkscreened on pcb PRG1 |
| r245240 | r245241 | |
| 3767 | 3799 | |
| 3768 | 3800 | GAME( 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 ) |
| 3769 | 3801 | GAME( 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 ) |
| 3802 | GAME( 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 ) |
| 3770 | 3803 | GAME( 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 ) |
| 3771 | 3804 | GAME( 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 ) |
| 3772 | 3805 | GAME( 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/mess/drivers/hh_hmcs40.c
| r245240 | r245241 | |
| 101 | 101 | DECLARE_WRITE16_MEMBER(alnattck_grid_w); |
| 102 | 102 | DECLARE_READ16_MEMBER(alnattck_input_r); |
| 103 | 103 | |
| 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 | |
| 104 | 112 | void egalaxn2_display(); |
| 105 | 113 | DECLARE_WRITE8_MEMBER(egalaxn2_plate_w); |
| 106 | 114 | DECLARE_WRITE16_MEMBER(egalaxn2_grid_w); |
| r245240 | r245241 | |
| 257 | 265 | m_plate = (m_plate & ~(0xf << shift)) | (data << shift); |
| 258 | 266 | |
| 259 | 267 | // update display |
| 260 | | UINT32 plate = BITSWAP16(m_plate,13,8,4,12,9,10,14,1,7,0,15,11,6,3,5,2); |
| 268 | UINT16 plate = BITSWAP16(m_plate,13,8,4,12,9,10,14,1,7,0,15,11,6,3,5,2); |
| 261 | 269 | |
| 262 | 270 | display_matrix(16, 9, plate, m_grid); |
| 263 | 271 | } |
| r245240 | r245241 | |
| 452 | 460 | |
| 453 | 461 | static INPUT_PORTS_START( alnattck ) |
| 454 | 462 | PORT_START("IN.0") // D5 D7 |
| 455 | | PORT_CONFNAME( 0x01, 0x00, "Skill" ) |
| 463 | PORT_CONFNAME( 0x01, 0x00, "Skill Level" ) |
| 456 | 464 | PORT_CONFSETTING( 0x00, "1" ) |
| 457 | 465 | PORT_CONFSETTING( 0x01, "2" ) |
| 458 | 466 | |
| r245240 | r245241 | |
| 583 | 591 | |
| 584 | 592 | ***************************************************************************/ |
| 585 | 593 | |
| 594 | WRITE8_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 | |
| 613 | WRITE16_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 | |
| 628 | READ8_MEMBER(hh_hmcs40_state::cpacman_input_r) |
| 629 | { |
| 630 | // R0x: multiplexed inputs |
| 631 | return read_inputs(3); |
| 632 | } |
| 633 | |
| 634 | |
| 586 | 635 | static 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) |
| 587 | 653 | INPUT_PORTS_END |
| 588 | 654 | |
| 589 | 655 | |
| r245240 | r245241 | |
| 591 | 657 | |
| 592 | 658 | /* basic machine hardware */ |
| 593 | 659 | 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)) |
| 594 | 668 | |
| 595 | | // MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1)) |
| 669 | MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1)) |
| 596 | 670 | MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test) |
| 597 | 671 | |
| 598 | 672 | /* no video! */ |
| r245240 | r245241 | |
| 618 | 692 | |
| 619 | 693 | ***************************************************************************/ |
| 620 | 694 | |
| 695 | WRITE8_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 | |
| 714 | WRITE16_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 | |
| 729 | READ8_MEMBER(hh_hmcs40_state::cmspacmn_input_r) |
| 730 | { |
| 731 | // R0x: multiplexed inputs |
| 732 | return read_inputs(3); |
| 733 | } |
| 734 | |
| 735 | |
| 621 | 736 | static 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 ) |
| 622 | 754 | INPUT_PORTS_END |
| 623 | 755 | |
| 624 | 756 | |
| r245240 | r245241 | |
| 626 | 758 | |
| 627 | 759 | /* basic machine hardware */ |
| 628 | 760 | 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)) |
| 629 | 769 | |
| 630 | | // MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1)) |
| 770 | MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_hmcs40_state, display_decay_tick, attotime::from_msec(1)) |
| 631 | 771 | MCFG_DEFAULT_LAYOUT(layout_hh_hmcs40_test) |
| 632 | 772 | |
| 633 | 773 | /* no video! */ |
| r245240 | r245241 | |
| 654 | 794 | |
| 655 | 795 | void hh_hmcs40_state::egalaxn2_display() |
| 656 | 796 | { |
| 657 | | UINT32 grid = BITSWAP16(m_grid,15,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14); |
| 797 | UINT16 grid = BITSWAP16(m_grid,15,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14); |
| 658 | 798 | 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); |
| 659 | 799 | |
| 660 | 800 | display_matrix(24, 15, plate, grid); |
| r245240 | r245241 | |
| 675 | 815 | |
| 676 | 816 | WRITE8_MEMBER(hh_hmcs40_state::egalaxn2_plate_w) |
| 677 | 817 | { |
| 678 | | // R10-R63: vfd matrix plate |
| 818 | // R1x-R6x: vfd matrix plate |
| 679 | 819 | int shift = (offset - HMCS40_PORT_R1X) * 4; |
| 680 | 820 | m_plate = (m_plate & ~(0xf << shift)) | (data << shift); |
| 681 | 821 | |
| r245240 | r245241 | |
| 710 | 850 | |
| 711 | 851 | PORT_START("IN.3") // D4 port R0x |
| 712 | 852 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 713 | | PORT_CONFNAME( 0x02, 0x02, "Skill" ) |
| 853 | PORT_CONFNAME( 0x02, 0x02, "Skill Level" ) |
| 714 | 854 | PORT_CONFSETTING( 0x02, "1" ) |
| 715 | 855 | PORT_CONFSETTING( 0x00, "2" ) |
| 716 | 856 | PORT_CONFNAME( 0x0c, 0x00, "Players" ) |
| r245240 | r245241 | |
| 758 | 898 | |
| 759 | 899 | ***************************************************************************/ |
| 760 | 900 | |
| 761 | | // hardware is identical to Galaxian 2, so we can use those handlers |
| 901 | // i/o hookup is identical to Galaxian 2, so we can use those handlers |
| 762 | 902 | // note: plate numbers are 0-23, not 1-24(with 0 always-on) |
| 763 | 903 | |
| 764 | 904 | static INPUT_PORTS_START( epacman2 ) |
| r245240 | r245241 | |
| 782 | 922 | |
| 783 | 923 | PORT_START("IN.3") // D4 port R0x |
| 784 | 924 | PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 785 | | PORT_CONFNAME( 0x02, 0x02, "Skill" ) |
| 925 | PORT_CONFNAME( 0x02, 0x02, "Skill Level" ) |
| 786 | 926 | PORT_CONFSETTING( 0x00, "1" ) |
| 787 | 927 | PORT_CONFSETTING( 0x02, "2" ) |
| 788 | 928 | PORT_CONFNAME( 0x0c, 0x04, "Players" ) |
trunk/src/mess/drivers/hh_tms1k.c
| r245240 | r245241 | |
| 7 | 7 | part of a series is (or will be) in its own driver. |
| 8 | 8 | |
| 9 | 9 | Let's use this driver for a list of known devices and their serials, |
| 10 | | excluding TI's own products (see for example ticalc1x.c, tispeak.c) |
| 10 | excluding TI's own products (see ticalc1x.c, tispeak.c) |
| 11 | 11 | |
| 12 | 12 | serial device etc. |
| 13 | 13 | -------------------------------------------------------------------- |
| r245240 | r245241 | |
| 21 | 21 | @MP1204 TMS1100 1980, Entex Baseball 3 |
| 22 | 22 | *MP1221 TMS1100 1980, Entex Raise The Devil |
| 23 | 23 | *MP1312 TMS1100 198?, Tandy/RadioShack Science Fair Microcomputer Trainer |
| 24 | | *MP2139 ? 1982, Gakken Galaxy Invader 1000 |
| 25 | | *MP2788 ? 1980, Bandai Flight Time |
| 24 | *MP2139 ? 1982, Gakken Galaxy Invader 1000 (? note: VFD-capable) |
| 25 | *MP2788 ? 1980, Bandai Flight Time (? note: VFD-capable) |
| 26 | 26 | @MP3226 TMS1000 1978, Milton Bradley Simon |
| 27 | 27 | *MP3301 TMS1000 1979, Milton Bradley Bigtrak |
| 28 | 28 | *MP3320A TMS1000 1979, Coleco Head to Head Basketball |
| r245240 | r245241 | |
| 45 | 45 | M34047 TMS1100 1982, MicroVision cartridge: Super Blockbuster |
| 46 | 46 | @MP6100A TMS0980 1979, Ideal Electronic Detective |
| 47 | 47 | @MP6101B TMS0980 1979, Parker Brothers Stop Thief |
| 48 | | *MP6361 ? 1983, Defender Strikes |
| 48 | *MP6361 ? 1983, Defender Strikes (? note: VFD-capable) |
| 49 | 49 | *MP7303 TMS1400? 19??, Tiger 7-in-1 Sports Stadium |
| 50 | 50 | @MP7313 TMS1400 1980, Parker Brothers Bank Shot |
| 51 | 51 | @MP7314 TMS1400 1980, Parker Brothers Split Second |
| 52 | 52 | MP7332 TMS1400 1981, Milton Bradley Dark Tower -> mbdtower.c |
| 53 | 53 | @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) |
| 54 | 56 | |
| 55 | 57 | inconsistent: |
| 56 | 58 | |
| r245240 | r245241 | |
| 1049 | 1051 | // MCU clock is from an RC circuit(R=47K, C=33pf) oscillating by default at ~340kHz, |
| 1050 | 1052 | // but on PRO, the difficulty switch adds an extra 150K resistor to Vdd to speed |
| 1051 | 1053 | // it up to around ~440kHz. |
| 1052 | | m_maincpu->set_unscaled_clock(m_inp_matrix[3]->read() & 1 ? 440000 : 340000); |
| 1054 | m_maincpu->set_unscaled_clock((m_inp_matrix[3]->read() & 1) ? 440000 : 340000); |
| 1053 | 1055 | } |
| 1054 | 1056 | |
| 1055 | 1057 | INPUT_CHANGED_MEMBER(hh_tms1k_state::ebball3_difficulty_switch) |
| r245240 | r245241 | |
| 1568 | 1570 | PORT_BIT( 0x0d, IP_ACTIVE_HIGH, IPT_UNUSED ) |
| 1569 | 1571 | |
| 1570 | 1572 | PORT_START("IN.6") // fake |
| 1571 | | PORT_CONFNAME( 0x03, 0x00, "Speed" ) //PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, ssimon_speed_switch, NULL) |
| 1573 | PORT_CONFNAME( 0x03, 0x01, "Speed" ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_tms1k_state, ssimon_speed_switch, NULL) |
| 1572 | 1574 | PORT_CONFSETTING( 0x00, "Simple" ) |
| 1573 | 1575 | PORT_CONFSETTING( 0x01, "Normal" ) |
| 1574 | 1576 | PORT_CONFSETTING( 0x02, "Super" ) |
| 1575 | 1577 | INPUT_PORTS_END |
| 1576 | 1578 | |
| 1577 | 1579 | |
| 1580 | void 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 | |
| 1590 | INPUT_CHANGED_MEMBER(hh_tms1k_state::ssimon_speed_switch) |
| 1591 | { |
| 1592 | ssimon_set_clock(); |
| 1593 | } |
| 1594 | |
| 1595 | MACHINE_RESET_MEMBER(hh_tms1k_state, ssimon) |
| 1596 | { |
| 1597 | machine_reset(); |
| 1598 | ssimon_set_clock(); |
| 1599 | } |
| 1600 | |
| 1578 | 1601 | static MACHINE_CONFIG_START( ssimon, hh_tms1k_state ) |
| 1579 | 1602 | |
| 1580 | 1603 | /* basic machine hardware */ |
| 1581 | | MCFG_CPU_ADD("maincpu", TMS1100, 350000) // x |
| 1604 | MCFG_CPU_ADD("maincpu", TMS1100, 275000) // see ssimon_set_clock |
| 1582 | 1605 | MCFG_TMS1XXX_READ_K_CB(READ8(hh_tms1k_state, ssimon_read_k)) |
| 1583 | 1606 | MCFG_TMS1XXX_WRITE_R_CB(WRITE16(hh_tms1k_state, ssimon_write_r)) |
| 1584 | 1607 | MCFG_TMS1XXX_WRITE_O_CB(WRITE16(hh_tms1k_state, ssimon_write_o)) |
| r245240 | r245241 | |
| 1586 | 1609 | MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_tms1k_state, display_decay_tick, attotime::from_msec(1)) |
| 1587 | 1610 | MCFG_DEFAULT_LAYOUT(layout_ssimon) |
| 1588 | 1611 | |
| 1612 | MCFG_MACHINE_RESET_OVERRIDE(hh_tms1k_state, ssimon) |
| 1613 | |
| 1589 | 1614 | /* no video! */ |
| 1590 | 1615 | |
| 1591 | 1616 | /* sound hardware */ |
trunk/src/mess/drivers/hh_ucom4.c
| r245240 | r245241 | |
| 265 | 265 | void hh_ucom4_state::ssfball_display() |
| 266 | 266 | { |
| 267 | 267 | 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 | |
| 268 | 269 | display_matrix(16, 9, plate, m_grid); |
| 269 | 270 | } |
| 270 | 271 | |
| r245240 | r245241 | |
| 374 | 375 | void hh_ucom4_state::splasfgt_display() |
| 375 | 376 | { |
| 376 | 377 | 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 | |
| 377 | 379 | display_matrix(16, 9, plate, m_grid); |
| 378 | 380 | } |
| 379 | 381 | |
| r245240 | r245241 | |
| 511 | 513 | |
| 512 | 514 | void hh_ucom4_state::astrocmd_display() |
| 513 | 515 | { |
| 514 | | UINT32 grid = BITSWAP16(m_grid,15,14,13,12,11,10,9,8,4,5,6,7,0,1,2,3); |
| 516 | UINT16 grid = BITSWAP16(m_grid,15,14,13,12,11,10,9,8,4,5,6,7,0,1,2,3); |
| 515 | 517 | 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); |
| 516 | 518 | |
| 517 | 519 | display_matrix(17, 9, plate, grid); |
| r245240 | r245241 | |
| 611 | 613 | int shift = (offset - NEC_UCOM4_PORTC) * 4; |
| 612 | 614 | m_grid = (m_grid & ~(0xf << shift)) | (data << shift); |
| 613 | 615 | |
| 614 | | display_matrix(18, 8, m_plate, m_grid); |
| 616 | display_matrix(18+1, 8, m_plate, m_grid); |
| 615 | 617 | } |
| 616 | 618 | |
| 617 | 619 | WRITE8_MEMBER(hh_ucom4_state::edracula_plate_w) |
| r245240 | r245241 | |
| 623 | 625 | // E,F,G,H,I01: vfd matrix plate |
| 624 | 626 | int shift = (offset - NEC_UCOM4_PORTE) * 4; |
| 625 | 627 | m_plate = (m_plate & ~(0xf << shift)) | (data << shift); |
| 628 | m_plate |= 1 << 18; // for always-on plates |
| 626 | 629 | |
| 627 | | display_matrix(18, 8, m_plate, m_grid); |
| 630 | display_matrix(18+1, 8, m_plate, m_grid); |
| 628 | 631 | } |
| 629 | 632 | |
| 630 | 633 | |
| r245240 | r245241 | |
| 767 | 770 | // MCU clock is from an LC circuit oscillating by default at ~360kHz, |
| 768 | 771 | // but on PRO1, the difficulty switch puts a capacitor across the LC circuit |
| 769 | 772 | // to slow it down to ~260kHz. |
| 770 | | m_maincpu->set_unscaled_clock(m_inp_matrix[1]->read() & 0x100 ? 260000 : 360000); |
| 773 | m_maincpu->set_unscaled_clock((m_inp_matrix[1]->read() & 0x100) ? 260000 : 360000); |
| 771 | 774 | } |
| 772 | 775 | |
| 773 | 776 | INPUT_CHANGED_MEMBER(hh_ucom4_state::tmtennis_difficulty_switch) |
| r245240 | r245241 | |
| 834 | 837 | |
| 835 | 838 | void hh_ucom4_state::tmpacman_display() |
| 836 | 839 | { |
| 837 | | UINT32 grid = BITSWAP8(m_grid,0,1,2,3,4,5,6,7); |
| 840 | UINT16 grid = BITSWAP8(m_grid,0,1,2,3,4,5,6,7); |
| 838 | 841 | 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 |
| 839 | 843 | |
| 840 | | display_matrix(19, 8, plate | 0x100, grid); // plate 8 (maze) is always on |
| 844 | display_matrix(19, 8, plate, grid); |
| 841 | 845 | } |
| 842 | 846 | |
| 843 | 847 | WRITE8_MEMBER(hh_ucom4_state::tmpacman_grid_w) |
| r245240 | r245241 | |
| 947 | 951 | // E23,F,G,H,I: vfd matrix plate |
| 948 | 952 | int shift = (offset - NEC_UCOM4_PORTE) * 4; |
| 949 | 953 | m_plate = ((m_plate << 2 & ~(0xf << shift)) | (data << shift)) >> 2; |
| 954 | m_plate |= 1 << 17; // for always-on plates |
| 950 | 955 | } |
| 951 | 956 | |
| 952 | | display_matrix(17, 9, m_plate, m_grid); |
| 957 | display_matrix(17+1, 9, m_plate, m_grid); |
| 953 | 958 | } |
| 954 | 959 | |
| 955 | 960 | READ8_MEMBER(hh_ucom4_state::alnchase_input_r) |