trunk/src/emu/cpu/hmcs40/hmcs40.c
r244978 | r244979 | |
581 | 581 | // handle opcode |
582 | 582 | switch (m_op) |
583 | 583 | { |
584 | | /* |
585 | | |
586 | | op_ayy(); - |
587 | | op_syy(); - |
588 | | op_am(); - 34 234 4c |
589 | | op_sm()???:- 234 |
590 | | op_daa(); - 46 |
591 | | op_das(); - 45 |
592 | | op_nega(); - |
593 | | op_anem(); - 324 124 |
594 | | op_bnem(); - 267 024 |
595 | | op_alem(); - 324 124 |
596 | | op_blem(); - 267 024 |
597 | | op_lay(); - 118 |
598 | | |
599 | | |
600 | | */ |
601 | | |
| 584 | // unknown: lay, ayy, syy, am, anem, alem, bnem, blem, nega |
| 585 | |
602 | 586 | case 0x118: |
603 | 587 | op_lay(); // probably lay |
604 | 588 | break; |
605 | | |
606 | | case 0x046: |
607 | | op_daa(); |
| 589 | case 0x034: |
| 590 | op_am(); // probably am |
608 | 591 | break; |
609 | | case 0x045: |
610 | | op_das(); |
611 | | break; |
612 | 592 | |
613 | 593 | |
614 | | case 0x267: |
615 | | op_blem(); // bnem or blem |
616 | | break; |
617 | | |
618 | 594 | case 0x124: |
619 | | op_alem(); // alem or anem |
| 595 | op_illegal(); |
| 596 | //op_alem(); // alem or anem |
| 597 | //op_ayy(); |
620 | 598 | break; |
621 | 599 | case 0x324: |
622 | | op_anem(); // " |
| 600 | op_illegal(); |
| 601 | //op_anem(); // " |
623 | 602 | break; |
624 | 603 | |
625 | 604 | case 0x024: |
626 | | //op_nega(); |
627 | | //op_am(); |
628 | 605 | op_illegal(); |
| 606 | //op_nega(); |
629 | 607 | break; |
630 | 608 | |
631 | | case 0x04b: |
632 | | op_illegal(); |
633 | | //op_rec(); |
634 | | break; |
635 | | case 0x04c: |
636 | | op_rec(); |
637 | | break; |
638 | 609 | |
639 | | case 0x030: |
640 | | op_amc(); |
641 | | break; |
642 | | case 0x034: |
643 | | //op_illegal(); |
644 | | //op_amc(); // mirror? |
645 | | op_am(); |
646 | | break; |
647 | 610 | |
648 | | case 0x230: |
649 | | op_smc(); |
650 | | break; |
651 | 611 | case 0x234: |
652 | | //op_illegal(); |
653 | | //op_smc(); // mirror? |
654 | | op_nega(); |
| 612 | op_illegal(); |
| 613 | //op_nega(); |
655 | 614 | break; |
656 | 615 | |
657 | 616 | |
r244978 | r244979 | |
673 | 632 | /* ok */ op_lmiiy(); break; |
674 | 633 | case 0x020: case 0x021: case 0x022: case 0x023: |
675 | 634 | op_lbm(); break; |
| 635 | case 0x030: |
| 636 | /* ok */ op_amc(); break; |
676 | 637 | case 0x03c: |
677 | 638 | op_lta(); break; |
678 | 639 | |
679 | 640 | case 0x040: |
680 | 641 | /* ok */ op_lxa(); break; |
| 642 | case 0x045: |
| 643 | /* ok */ op_das(); break; |
| 644 | case 0x046: |
| 645 | /* ok */ op_daa(); break; |
| 646 | case 0x04c: |
| 647 | /* ok */ op_rec(); break; |
681 | 648 | case 0x04f: |
682 | | op_sec(); break; |
| 649 | /* ok */ op_sec(); break; |
683 | 650 | case 0x050: |
684 | 651 | op_lya(); break; |
685 | 652 | case 0x054: |
r244978 | r244979 | |
783 | 750 | /* ok */ op_rotr(); break; |
784 | 751 | case 0x225: |
785 | 752 | /* ok */ op_rotl(); break; |
| 753 | case 0x230: |
| 754 | /* ok */ op_smc(); break; |
786 | 755 | case 0x23c: |
787 | 756 | op_lat(); break; |
788 | 757 | |
r244978 | r244979 | |
796 | 765 | op_dy(); break; |
797 | 766 | case 0x260: |
798 | 767 | /* ok */ op_lab(); break; |
799 | | case 0x264: |
| 768 | case 0x267: |
800 | 769 | op_db(); break; |
801 | 770 | case 0x270: case 0x271: case 0x272: case 0x273: case 0x274: case 0x275: case 0x276: case 0x277: |
802 | 771 | case 0x278: case 0x279: case 0x27a: case 0x27b: case 0x27c: case 0x27d: case 0x27e: case 0x27f: |
trunk/src/emu/cpu/hmcs40/hmcs40d.c
r244978 | r244979 | |
96 | 96 | mLBM, mLBM, mLBM, mLBM, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, |
97 | 97 | mAMC, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mLTA, mILL, mILL, mILL, |
98 | 98 | /* 0x040 */ |
99 | | mLXA, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mREC, mILL, mILL, mILL, mSEC, |
| 99 | mLXA, mILL, mILL, mILL, mILL, mDAS, mDAA, mILL, mILL, mILL, mILL, mILL, mREC, mILL, mILL, mSEC, |
100 | 100 | mLYA, mILL, mILL, mILL, mIY, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, |
101 | 101 | mLBA, mILL, mILL, mILL, mIB, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, |
102 | 102 | mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, mLAI, |
r244978 | r244979 | |
142 | 142 | /* 0x240 */ |
143 | 143 | mLASPX, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mTC, |
144 | 144 | mLASPY, mILL, mILL, mILL, mDY, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, |
145 | | mLAB, mILL, mILL, mILL, mDB, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, |
| 145 | mLAB, mILL, mILL, mILL, mILL, mILL, mILL, mDB, mILL, mILL, mILL, mILL, mILL, mILL, mILL, mILL, |
146 | 146 | mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, mALEI, |
147 | 147 | /* 0x280 */ |
148 | 148 | mYNEI, mYNEI, mYNEI, mYNEI, mYNEI, mYNEI, mYNEI, mYNEI, mYNEI, mYNEI, mYNEI, mYNEI, mYNEI, mYNEI, mYNEI, mYNEI, |