trunk/src/mame/layout/mpu4ext.lay
| r29539 | r29540 | |
| 845 | 845 | <backdrop name="digit39" element="digit" state="0"> |
| 846 | 846 | <bounds x="356" y="244" width="8" height="10"/> |
| 847 | 847 | </backdrop> |
| 848 | | <backdrop name="vfd0" element="vfd0" state="0"> |
| 848 | <backdrop name="vfd15" element="vfd0" state="0"> |
| 849 | 849 | <bounds x="17" y="280" width="7" height="24"/> |
| 850 | 850 | </backdrop> |
| 851 | | <backdrop name="vfd1" element="vfd0" state="0"> |
| 851 | <backdrop name="vfd14" element="vfd0" state="0"> |
| 852 | 852 | <bounds x="24" y="280" width="7" height="24"/> |
| 853 | 853 | </backdrop> |
| 854 | | <backdrop name="vfd2" element="vfd0" state="0"> |
| 854 | <backdrop name="vfd13" element="vfd0" state="0"> |
| 855 | 855 | <bounds x="31" y="280" width="7" height="24"/> |
| 856 | 856 | </backdrop> |
| 857 | | <backdrop name="vfd3" element="vfd0" state="0"> |
| 857 | <backdrop name="vfd12" element="vfd0" state="0"> |
| 858 | 858 | <bounds x="38" y="280" width="7" height="24"/> |
| 859 | 859 | </backdrop> |
| 860 | | <backdrop name="vfd4" element="vfd0" state="0"> |
| 860 | <backdrop name="vfd11" element="vfd0" state="0"> |
| 861 | 861 | <bounds x="45" y="280" width="7" height="24"/> |
| 862 | 862 | </backdrop> |
| 863 | | <backdrop name="vfd5" element="vfd0" state="0"> |
| 863 | <backdrop name="vfd10" element="vfd0" state="0"> |
| 864 | 864 | <bounds x="52" y="280" width="7" height="24"/> |
| 865 | 865 | </backdrop> |
| 866 | | <backdrop name="vfd6" element="vfd0" state="0"> |
| 866 | <backdrop name="vfd9" element="vfd0" state="0"> |
| 867 | 867 | <bounds x="59" y="280" width="7" height="24"/> |
| 868 | 868 | </backdrop> |
| 869 | | <backdrop name="vfd7" element="vfd0" state="0"> |
| 869 | <backdrop name="vfd8" element="vfd0" state="0"> |
| 870 | 870 | <bounds x="66" y="280" width="7" height="24"/> |
| 871 | 871 | </backdrop> |
| 872 | | <backdrop name="vfd8" element="vfd0" state="0"> |
| 872 | <backdrop name="vfd7" element="vfd0" state="0"> |
| 873 | 873 | <bounds x="73" y="280" width="7" height="24"/> |
| 874 | 874 | </backdrop> |
| 875 | | <backdrop name="vfd9" element="vfd0" state="0"> |
| 875 | <backdrop name="vfd6" element="vfd0" state="0"> |
| 876 | 876 | <bounds x="80" y="280" width="7" height="24"/> |
| 877 | 877 | </backdrop> |
| 878 | | <backdrop name="vfd10" element="vfd0" state="0"> |
| 878 | <backdrop name="vfd5" element="vfd0" state="0"> |
| 879 | 879 | <bounds x="87" y="280" width="7" height="24"/> |
| 880 | 880 | </backdrop> |
| 881 | | <backdrop name="vfd11" element="vfd0" state="0"> |
| 881 | <backdrop name="vfd4" element="vfd0" state="0"> |
| 882 | 882 | <bounds x="94" y="280" width="7" height="24"/> |
| 883 | 883 | </backdrop> |
| 884 | | <backdrop name="vfd12" element="vfd0" state="0"> |
| 884 | <backdrop name="vfd3" element="vfd0" state="0"> |
| 885 | 885 | <bounds x="101" y="280" width="7" height="24"/> |
| 886 | 886 | </backdrop> |
| 887 | | <backdrop name="vfd13" element="vfd0" state="0"> |
| 887 | <backdrop name="vfd2" element="vfd0" state="0"> |
| 888 | 888 | <bounds x="108" y="280" width="7" height="24"/> |
| 889 | 889 | </backdrop> |
| 890 | | <backdrop name="vfd14" element="vfd0" state="0"> |
| 890 | <backdrop name="vfd1" element="vfd0" state="0"> |
| 891 | 891 | <bounds x="115" y="280" width="7" height="24"/> |
| 892 | 892 | </backdrop> |
| 893 | | <backdrop name="vfd15" element="vfd0" state="0"> |
| 893 | <backdrop name="vfd0" element="vfd0" state="0"> |
| 894 | 894 | <bounds x="122" y="280" width="7" height="24"/> |
| 895 | 895 | </backdrop> |
| 896 | 896 | </view> |
| 897 | 897 | <view name="VFD Display Output Only"> |
| 898 | | <bezel name="vfd0" element="vfd0" state="0"> |
| 898 | <bezel name="vfd15" element="vfd0" state="0"> |
| 899 | 899 | <bounds x="10" y="200" width="9" height="17"/> |
| 900 | 900 | </bezel> |
| 901 | | <bezel name="vfd1" element="vfd0" state="0"> |
| 901 | <bezel name="vfd14" element="vfd0" state="0"> |
| 902 | 902 | <bounds x="19" y="200" width="9" height="17"/> |
| 903 | 903 | </bezel> |
| 904 | | <bezel name="vfd2" element="vfd0" state="0"> |
| 904 | <bezel name="vfd13" element="vfd0" state="0"> |
| 905 | 905 | <bounds x="28" y="200" width="9" height="17"/> |
| 906 | 906 | </bezel> |
| 907 | | <bezel name="vfd3" element="vfd0" state="0"> |
| 907 | <bezel name="vfd12" element="vfd0" state="0"> |
| 908 | 908 | <bounds x="37" y="200" width="9" height="17"/> |
| 909 | 909 | </bezel> |
| 910 | | <bezel name="vfd4" element="vfd0" state="0"> |
| 910 | <bezel name="vfd11" element="vfd0" state="0"> |
| 911 | 911 | <bounds x="46" y="200" width="9" height="17"/> |
| 912 | 912 | </bezel> |
| 913 | | <bezel name="vfd5" element="vfd0" state="0"> |
| 913 | <bezel name="vfd10" element="vfd0" state="0"> |
| 914 | 914 | <bounds x="55" y="200" width="9" height="17"/> |
| 915 | 915 | </bezel> |
| 916 | | <bezel name="vfd6" element="vfd0" state="0"> |
| 916 | <bezel name="vfd9" element="vfd0" state="0"> |
| 917 | 917 | <bounds x="64" y="200" width="9" height="17"/> |
| 918 | 918 | </bezel> |
| 919 | | <bezel name="vfd7" element="vfd0" state="0"> |
| 919 | <bezel name="vfd8" element="vfd0" state="0"> |
| 920 | 920 | <bounds x="73" y="200" width="9" height="17"/> |
| 921 | 921 | </bezel> |
| 922 | | <bezel name="vfd8" element="vfd0" state="0"> |
| 922 | <bezel name="vfd7" element="vfd0" state="0"> |
| 923 | 923 | <bounds x="82" y="200" width="9" height="17"/> |
| 924 | 924 | </bezel> |
| 925 | | <bezel name="vfd9" element="vfd0" state="0"> |
| 925 | <bezel name="vfd6" element="vfd0" state="0"> |
| 926 | 926 | <bounds x="91" y="200" width="9" height="17"/> |
| 927 | 927 | </bezel> |
| 928 | | <bezel name="vfd10" element="vfd0" state="0"> |
| 928 | <bezel name="vfd5" element="vfd0" state="0"> |
| 929 | 929 | <bounds x="100" y="200" width="9" height="17"/> |
| 930 | 930 | </bezel> |
| 931 | | <bezel name="vfd11" element="vfd0" state="0"> |
| 931 | <bezel name="vfd4" element="vfd0" state="0"> |
| 932 | 932 | <bounds x="109" y="200" width="9" height="17"/> |
| 933 | 933 | </bezel> |
| 934 | | <bezel name="vfd12" element="vfd0" state="0"> |
| 934 | <bezel name="vfd3" element="vfd0" state="0"> |
| 935 | 935 | <bounds x="118" y="200" width="9" height="17"/> |
| 936 | 936 | </bezel> |
| 937 | | <bezel name="vfd13" element="vfd0" state="0"> |
| 937 | <bezel name="vfd2" element="vfd0" state="0"> |
| 938 | 938 | <bounds x="127" y="200" width="9" height="17"/> |
| 939 | 939 | </bezel> |
| 940 | | <bezel name="vfd14" element="vfd0" state="0"> |
| 940 | <bezel name="vfd1" element="vfd0" state="0"> |
| 941 | 941 | <bounds x="136" y="200" width="9" height="17"/> |
| 942 | 942 | </bezel> |
| 943 | | <bezel name="vfd15" element="vfd0" state="0"> |
| 943 | <bezel name="vfd0" element="vfd0" state="0"> |
| 944 | 944 | <bounds x="145" y="200" width="9" height="17"/> |
| 945 | 945 | </bezel> |
| 946 | 946 | </view> |
trunk/src/mame/layout/mpu4plasma.lay
| r29539 | r29540 | |
| 458 | 458 | <backdrop name="digit7" element="digit" state="0"> |
| 459 | 459 | <bounds x="356" y="200" width="8" height="10"/> |
| 460 | 460 | </backdrop> |
| 461 | | <backdrop name="vfd0" element="vfd0" state="0"> |
| 461 | <backdrop name="vfd15" element="vfd0" state="0"> |
| 462 | 462 | <bounds x="17" y="280" width="7" height="24"/> |
| 463 | 463 | </backdrop> |
| 464 | | <backdrop name="vfd1" element="vfd0" state="0"> |
| 464 | <backdrop name="vfd14" element="vfd0" state="0"> |
| 465 | 465 | <bounds x="24" y="280" width="7" height="24"/> |
| 466 | 466 | </backdrop> |
| 467 | | <backdrop name="vfd2" element="vfd0" state="0"> |
| 467 | <backdrop name="vfd13" element="vfd0" state="0"> |
| 468 | 468 | <bounds x="31" y="280" width="7" height="24"/> |
| 469 | 469 | </backdrop> |
| 470 | | <backdrop name="vfd3" element="vfd0" state="0"> |
| 470 | <backdrop name="vfd12" element="vfd0" state="0"> |
| 471 | 471 | <bounds x="38" y="280" width="7" height="24"/> |
| 472 | 472 | </backdrop> |
| 473 | | <backdrop name="vfd4" element="vfd0" state="0"> |
| 473 | <backdrop name="vfd11" element="vfd0" state="0"> |
| 474 | 474 | <bounds x="45" y="280" width="7" height="24"/> |
| 475 | 475 | </backdrop> |
| 476 | | <backdrop name="vfd5" element="vfd0" state="0"> |
| 476 | <backdrop name="vfd10" element="vfd0" state="0"> |
| 477 | 477 | <bounds x="52" y="280" width="7" height="24"/> |
| 478 | 478 | </backdrop> |
| 479 | | <backdrop name="vfd6" element="vfd0" state="0"> |
| 479 | <backdrop name="vfd9" element="vfd0" state="0"> |
| 480 | 480 | <bounds x="59" y="280" width="7" height="24"/> |
| 481 | 481 | </backdrop> |
| 482 | | <backdrop name="vfd7" element="vfd0" state="0"> |
| 482 | <backdrop name="vfd8" element="vfd0" state="0"> |
| 483 | 483 | <bounds x="66" y="280" width="7" height="24"/> |
| 484 | 484 | </backdrop> |
| 485 | | <backdrop name="vfd8" element="vfd0" state="0"> |
| 485 | <backdrop name="vfd7" element="vfd0" state="0"> |
| 486 | 486 | <bounds x="73" y="280" width="7" height="24"/> |
| 487 | 487 | </backdrop> |
| 488 | | <backdrop name="vfd9" element="vfd0" state="0"> |
| 488 | <backdrop name="vfd6" element="vfd0" state="0"> |
| 489 | 489 | <bounds x="80" y="280" width="7" height="24"/> |
| 490 | 490 | </backdrop> |
| 491 | | <backdrop name="vfd10" element="vfd0" state="0"> |
| 491 | <backdrop name="vfd5" element="vfd0" state="0"> |
| 492 | 492 | <bounds x="87" y="280" width="7" height="24"/> |
| 493 | 493 | </backdrop> |
| 494 | | <backdrop name="vfd11" element="vfd0" state="0"> |
| 494 | <backdrop name="vfd4" element="vfd0" state="0"> |
| 495 | 495 | <bounds x="94" y="280" width="7" height="24"/> |
| 496 | 496 | </backdrop> |
| 497 | | <backdrop name="vfd12" element="vfd0" state="0"> |
| 497 | <backdrop name="vfd3" element="vfd0" state="0"> |
| 498 | 498 | <bounds x="101" y="280" width="7" height="24"/> |
| 499 | 499 | </backdrop> |
| 500 | | <backdrop name="vfd13" element="vfd0" state="0"> |
| 500 | <backdrop name="vfd2" element="vfd0" state="0"> |
| 501 | 501 | <bounds x="108" y="280" width="7" height="24"/> |
| 502 | 502 | </backdrop> |
| 503 | | <backdrop name="vfd14" element="vfd0" state="0"> |
| 503 | <backdrop name="vfd1" element="vfd0" state="0"> |
| 504 | 504 | <bounds x="115" y="280" width="7" height="24"/> |
| 505 | 505 | </backdrop> |
| 506 | | <backdrop name="vfd15" element="vfd0" state="0"> |
| 506 | <backdrop name="vfd0" element="vfd0" state="0"> |
| 507 | 507 | <bounds x="122" y="280" width="7" height="24"/> |
| 508 | 508 | </backdrop> |
| 509 | 509 | |
trunk/src/mame/layout/mpu4.lay
| r29539 | r29540 | |
| 458 | 458 | <backdrop name="digit7" element="digit" state="0"> |
| 459 | 459 | <bounds x="356" y="200" width="8" height="10"/> |
| 460 | 460 | </backdrop> |
| 461 | | <backdrop name="vfd0" element="vfd0" state="0"> |
| 461 | <backdrop name="vfd15" element="vfd0" state="0"> |
| 462 | 462 | <bounds x="17" y="280" width="7" height="24"/> |
| 463 | 463 | </backdrop> |
| 464 | | <backdrop name="vfd1" element="vfd0" state="0"> |
| 464 | <backdrop name="vfd14" element="vfd0" state="0"> |
| 465 | 465 | <bounds x="24" y="280" width="7" height="24"/> |
| 466 | 466 | </backdrop> |
| 467 | | <backdrop name="vfd2" element="vfd0" state="0"> |
| 467 | <backdrop name="vfd13" element="vfd0" state="0"> |
| 468 | 468 | <bounds x="31" y="280" width="7" height="24"/> |
| 469 | 469 | </backdrop> |
| 470 | | <backdrop name="vfd3" element="vfd0" state="0"> |
| 470 | <backdrop name="vfd12" element="vfd0" state="0"> |
| 471 | 471 | <bounds x="38" y="280" width="7" height="24"/> |
| 472 | 472 | </backdrop> |
| 473 | | <backdrop name="vfd4" element="vfd0" state="0"> |
| 473 | <backdrop name="vfd11" element="vfd0" state="0"> |
| 474 | 474 | <bounds x="45" y="280" width="7" height="24"/> |
| 475 | 475 | </backdrop> |
| 476 | | <backdrop name="vfd5" element="vfd0" state="0"> |
| 476 | <backdrop name="vfd10" element="vfd0" state="0"> |
| 477 | 477 | <bounds x="52" y="280" width="7" height="24"/> |
| 478 | 478 | </backdrop> |
| 479 | | <backdrop name="vfd6" element="vfd0" state="0"> |
| 479 | <backdrop name="vfd9" element="vfd0" state="0"> |
| 480 | 480 | <bounds x="59" y="280" width="7" height="24"/> |
| 481 | 481 | </backdrop> |
| 482 | | <backdrop name="vfd7" element="vfd0" state="0"> |
| 482 | <backdrop name="vfd8" element="vfd0" state="0"> |
| 483 | 483 | <bounds x="66" y="280" width="7" height="24"/> |
| 484 | 484 | </backdrop> |
| 485 | | <backdrop name="vfd8" element="vfd0" state="0"> |
| 485 | <backdrop name="vfd7" element="vfd0" state="0"> |
| 486 | 486 | <bounds x="73" y="280" width="7" height="24"/> |
| 487 | 487 | </backdrop> |
| 488 | | <backdrop name="vfd9" element="vfd0" state="0"> |
| 488 | <backdrop name="vfd6" element="vfd0" state="0"> |
| 489 | 489 | <bounds x="80" y="280" width="7" height="24"/> |
| 490 | 490 | </backdrop> |
| 491 | | <backdrop name="vfd10" element="vfd0" state="0"> |
| 491 | <backdrop name="vfd5" element="vfd0" state="0"> |
| 492 | 492 | <bounds x="87" y="280" width="7" height="24"/> |
| 493 | 493 | </backdrop> |
| 494 | | <backdrop name="vfd11" element="vfd0" state="0"> |
| 494 | <backdrop name="vfd4" element="vfd0" state="0"> |
| 495 | 495 | <bounds x="94" y="280" width="7" height="24"/> |
| 496 | 496 | </backdrop> |
| 497 | | <backdrop name="vfd12" element="vfd0" state="0"> |
| 497 | <backdrop name="vfd3" element="vfd0" state="0"> |
| 498 | 498 | <bounds x="101" y="280" width="7" height="24"/> |
| 499 | 499 | </backdrop> |
| 500 | | <backdrop name="vfd13" element="vfd0" state="0"> |
| 500 | <backdrop name="vfd2" element="vfd0" state="0"> |
| 501 | 501 | <bounds x="108" y="280" width="7" height="24"/> |
| 502 | 502 | </backdrop> |
| 503 | | <backdrop name="vfd14" element="vfd0" state="0"> |
| 503 | <backdrop name="vfd1" element="vfd0" state="0"> |
| 504 | 504 | <bounds x="115" y="280" width="7" height="24"/> |
| 505 | 505 | </backdrop> |
| 506 | | <backdrop name="vfd15" element="vfd0" state="0"> |
| 506 | <backdrop name="vfd0" element="vfd0" state="0"> |
| 507 | 507 | <bounds x="122" y="280" width="7" height="24"/> |
| 508 | 508 | </backdrop> |
| 509 | 509 | </view> |
| 510 | 510 | <view name="VFD Display Output Only"> |
| 511 | | <bezel name="vfd0" element="vfd0" state="0"> |
| 511 | <bezel name="vfd15" element="vfd0" state="0"> |
| 512 | 512 | <bounds x="10" y="200" width="9" height="17"/> |
| 513 | 513 | </bezel> |
| 514 | | <bezel name="vfd1" element="vfd0" state="0"> |
| 514 | <bezel name="vfd14" element="vfd0" state="0"> |
| 515 | 515 | <bounds x="19" y="200" width="9" height="17"/> |
| 516 | 516 | </bezel> |
| 517 | | <bezel name="vfd2" element="vfd0" state="0"> |
| 517 | <bezel name="vfd13" element="vfd0" state="0"> |
| 518 | 518 | <bounds x="28" y="200" width="9" height="17"/> |
| 519 | 519 | </bezel> |
| 520 | | <bezel name="vfd3" element="vfd0" state="0"> |
| 520 | <bezel name="vfd12" element="vfd0" state="0"> |
| 521 | 521 | <bounds x="37" y="200" width="9" height="17"/> |
| 522 | 522 | </bezel> |
| 523 | | <bezel name="vfd4" element="vfd0" state="0"> |
| 523 | <bezel name="vfd11" element="vfd0" state="0"> |
| 524 | 524 | <bounds x="46" y="200" width="9" height="17"/> |
| 525 | 525 | </bezel> |
| 526 | | <bezel name="vfd5" element="vfd0" state="0"> |
| 526 | <bezel name="vfd10" element="vfd0" state="0"> |
| 527 | 527 | <bounds x="55" y="200" width="9" height="17"/> |
| 528 | 528 | </bezel> |
| 529 | | <bezel name="vfd6" element="vfd0" state="0"> |
| 529 | <bezel name="vfd9" element="vfd0" state="0"> |
| 530 | 530 | <bounds x="64" y="200" width="9" height="17"/> |
| 531 | 531 | </bezel> |
| 532 | | <bezel name="vfd7" element="vfd0" state="0"> |
| 532 | <bezel name="vfd8" element="vfd0" state="0"> |
| 533 | 533 | <bounds x="73" y="200" width="9" height="17"/> |
| 534 | 534 | </bezel> |
| 535 | | <bezel name="vfd8" element="vfd0" state="0"> |
| 535 | <bezel name="vfd7" element="vfd0" state="0"> |
| 536 | 536 | <bounds x="82" y="200" width="9" height="17"/> |
| 537 | 537 | </bezel> |
| 538 | | <bezel name="vfd9" element="vfd0" state="0"> |
| 538 | <bezel name="vfd6" element="vfd0" state="0"> |
| 539 | 539 | <bounds x="91" y="200" width="9" height="17"/> |
| 540 | 540 | </bezel> |
| 541 | | <bezel name="vfd10" element="vfd0" state="0"> |
| 541 | <bezel name="vfd5" element="vfd0" state="0"> |
| 542 | 542 | <bounds x="100" y="200" width="9" height="17"/> |
| 543 | 543 | </bezel> |
| 544 | | <bezel name="vfd11" element="vfd0" state="0"> |
| 544 | <bezel name="vfd4" element="vfd0" state="0"> |
| 545 | 545 | <bounds x="109" y="200" width="9" height="17"/> |
| 546 | 546 | </bezel> |
| 547 | | <bezel name="vfd12" element="vfd0" state="0"> |
| 547 | <bezel name="vfd3" element="vfd0" state="0"> |
| 548 | 548 | <bounds x="118" y="200" width="9" height="17"/> |
| 549 | 549 | </bezel> |
| 550 | | <bezel name="vfd13" element="vfd0" state="0"> |
| 550 | <bezel name="vfd2" element="vfd0" state="0"> |
| 551 | 551 | <bounds x="127" y="200" width="9" height="17"/> |
| 552 | 552 | </bezel> |
| 553 | | <bezel name="vfd14" element="vfd0" state="0"> |
| 553 | <bezel name="vfd1" element="vfd0" state="0"> |
| 554 | 554 | <bounds x="136" y="200" width="9" height="17"/> |
| 555 | 555 | </bezel> |
| 556 | | <bezel name="vfd15" element="vfd0" state="0"> |
| 556 | <bezel name="vfd0" element="vfd0" state="0"> |
| 557 | 557 | <bounds x="145" y="200" width="9" height="17"/> |
| 558 | 558 | </bezel> |
| 559 | 559 | </view> |
trunk/src/mame/machine/bfm_bd1.c
| r29539 | r29540 | |
| 130 | 130 | save_item(NAME(m_outputs)); |
| 131 | 131 | save_item(NAME(m_user_data)); // user defined character data (16 bit) |
| 132 | 132 | save_item(NAME(m_user_def)); // user defined character state |
| 133 | save_item(NAME(m_sclk)); |
| 134 | save_item(NAME(m_data)); |
| 133 | 135 | |
| 134 | 136 | device_reset(); |
| 135 | 137 | } |
| r29539 | r29540 | |
| 150 | 152 | m_flash_control = 0; |
| 151 | 153 | m_user_data = 0; |
| 152 | 154 | m_user_def = 0; |
| 155 | m_sclk = 0; |
| 156 | m_data = 0; |
| 153 | 157 | |
| 154 | 158 | memset(m_chars, 0, sizeof(m_chars)); |
| 155 | 159 | memset(m_outputs, 0, sizeof(m_outputs)); |
| r29539 | r29540 | |
| 163 | 167 | |
| 164 | 168 | void bfm_bd1_t::device_post_load() |
| 165 | 169 | { |
| 166 | | for (int i =0; i<16; i++) |
| 167 | | { |
| 168 | | output_set_indexed_value("vfd", (m_port_val*16) + i, m_outputs[i]); |
| 169 | | } |
| 170 | update_display(); |
| 170 | 171 | } |
| 171 | 172 | |
| 172 | 173 | void bfm_bd1_t::update_display() |
| r29539 | r29540 | |
| 535 | 536 | } |
| 536 | 537 | } |
| 537 | 538 | |
| 538 | | void bfm_bd1_t::shift_data(int data) |
| 539 | void bfm_bd1_t::shift_clock(int state) |
| 539 | 540 | { |
| 540 | | m_shift_data <<= 1; |
| 541 | if (m_sclk != state) |
| 542 | { |
| 543 | if (!m_sclk) |
| 544 | { |
| 545 | m_shift_data <<= 1; |
| 541 | 546 | |
| 542 | | if ( !data ) m_shift_data |= 1; |
| 547 | if ( !m_data ) m_shift_data |= 1; |
| 543 | 548 | |
| 544 | | if ( ++m_shift_count >= 8 ) |
| 549 | if ( ++m_shift_count >= 8 ) |
| 550 | { |
| 551 | write_char(m_shift_data); |
| 552 | m_shift_count = 0; |
| 553 | m_shift_data = 0; |
| 554 | } |
| 555 | update_display(); |
| 556 | |
| 557 | } |
| 558 | } |
| 559 | m_sclk = state; |
| 560 | } |
| 561 | |
| 562 | WRITE_LINE_MEMBER( bfm_bd1_t::sclk ) { shift_clock(state); } |
| 563 | WRITE_LINE_MEMBER( bfm_bd1_t::data ) { m_data = state; } |
| 564 | |
| 565 | WRITE_LINE_MEMBER( bfm_bd1_t::por ) |
| 566 | { |
| 567 | if (!state) |
| 545 | 568 | { |
| 546 | | write_char(m_shift_data); |
| 547 | | m_shift_count = 0; |
| 548 | | m_shift_data = 0; |
| 569 | reset(); |
| 549 | 570 | } |
| 550 | 571 | } |
trunk/src/emu/machine/roc10937.c
| r29539 | r29540 | |
| 95 | 95 | // -. |
| 96 | 96 | 0x2001, // 0010 0000 0000 0001 - |
| 97 | 97 | // /. |
| 98 | | 0x2430, // 0010 0010 0011 0000 <. |
| 98 | 0x2230, // 0010 0010 0011 0000 <. |
| 99 | 99 | 0x4430, // 0100 0100 0011 0000 =. |
| 100 | 100 | 0x8830, // 1000 1000 0011 0000 >. |
| 101 | 101 | 0x1407, // 0001 0100 0000 0111 ?. |
| r29539 | r29540 | |
| 150 | 150 | save_item(NAME(m_outputs)); |
| 151 | 151 | save_item(NAME(m_brightness)); |
| 152 | 152 | save_item(NAME(m_count)); |
| 153 | save_item(NAME(m_sclk)); |
| 154 | save_item(NAME(m_data)); |
| 153 | 155 | save_item(NAME(m_duty)); |
| 154 | 156 | save_item(NAME(m_disp)); |
| 155 | 157 | |
| r29539 | r29540 | |
| 168 | 170 | m_count=0; |
| 169 | 171 | m_duty=31; |
| 170 | 172 | m_disp = 0; |
| 173 | m_sclk = 0; |
| 174 | m_data = 0; |
| 171 | 175 | |
| 172 | 176 | memset(m_chars, 0, sizeof(m_chars)); |
| 173 | 177 | memset(m_outputs, 0, sizeof(m_outputs)); |
| r29539 | r29540 | |
| 183 | 187 | /////////////////////////////////////////////////////////////////////////// |
| 184 | 188 | void rocvfd_t::device_post_load() |
| 185 | 189 | { |
| 190 | update_display(); |
| 191 | } |
| 192 | |
| 193 | void rocvfd_t::update_display() |
| 194 | { |
| 186 | 195 | for (int i =0; i<16; i++) |
| 187 | 196 | { |
| 197 | m_outputs[i] = set_display(m_chars[i]); |
| 188 | 198 | output_set_indexed_value("vfd", (m_port_val*16) + i, m_outputs[i]); |
| 189 | 199 | } |
| 190 | 200 | } |
| 191 | 201 | |
| 192 | | //Display on Rockwell chips is naturally backwards, due to the way it is wired. We emulate this by flipping the display at update time |
| 193 | | void rocvfd_t::update_display() |
| 202 | WRITE_LINE_MEMBER( rocvfd_t::sclk ) |
| 203 | { |
| 204 | shift_clock(state); |
| 205 | } |
| 206 | |
| 207 | WRITE_LINE_MEMBER( rocvfd_t::data ) |
| 208 | { |
| 209 | m_data = state; |
| 210 | } |
| 211 | |
| 212 | WRITE_LINE_MEMBER( rocvfd_t::por ) |
| 194 | 213 | { |
| 195 | | for (int i =0; i<16; i++) |
| 214 | //If line goes low, reset mode is engaged, until such a time as it goes high again. |
| 215 | if (!state) |
| 196 | 216 | { |
| 197 | | m_outputs[i] = set_display(m_chars[15-i]); |
| 198 | | output_set_indexed_value("vfd", (m_port_val*16) + i, m_outputs[i]); |
| 217 | reset(); |
| 199 | 218 | } |
| 200 | 219 | } |
| 201 | 220 | |
| 202 | | void rocvfd_t::shift_data(int data) |
| 221 | |
| 222 | void rocvfd_t::shift_clock(int state) |
| 203 | 223 | { |
| 204 | | m_shift_data <<= 1; |
| 224 | if (m_sclk != state) |
| 225 | { |
| 226 | //Clock data on FALLING edge |
| 227 | if (!m_sclk) |
| 228 | { |
| 229 | m_shift_data <<= 1; |
| 205 | 230 | |
| 206 | | if ( !data ) m_shift_data |= 1; |
| 231 | if ( m_data ) m_shift_data |= 1; |
| 207 | 232 | |
| 208 | | if ( ++m_shift_count >= 8 ) |
| 209 | | { |
| 210 | | write_char(m_shift_data); |
| 211 | | m_shift_count = 0; |
| 212 | | m_shift_data = 0; |
| 233 | if ( ++m_shift_count >= 8 ) |
| 234 | { |
| 235 | write_char(m_shift_data); |
| 236 | m_shift_count = 0; |
| 237 | m_shift_data = 0; |
| 238 | } |
| 239 | update_display(); |
| 240 | |
| 241 | } |
| 213 | 242 | } |
| 214 | | update_display(); |
| 243 | m_sclk = state; |
| 215 | 244 | } |
| 216 | 245 | |
| 217 | 246 | /////////////////////////////////////////////////////////////////////////// |
| r29539 | r29540 | |
| 355 | 384 | { |
| 356 | 385 | m_port_val=0; |
| 357 | 386 | } |
| 358 | | |
| 359 | | //Samsung chips fix the issue with the reversal of the drive. |
| 360 | | void s16lf01_t::update_display() |
| 361 | | { |
| 362 | | for (int i =0; i<16; i++) |
| 363 | | { |
| 364 | | m_outputs[i] = set_display(m_chars[i]); |
| 365 | | output_set_indexed_value("vfd", (m_port_val*16) + i, m_outputs[i]); |
| 366 | | } |
| 367 | | } |