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, |