diff options
Diffstat (limited to 'src/emu/cpu/pps4/pps4dasm.c')
-rw-r--r-- | src/emu/cpu/pps4/pps4dasm.c | 536 |
1 files changed, 271 insertions, 265 deletions
diff --git a/src/emu/cpu/pps4/pps4dasm.c b/src/emu/cpu/pps4/pps4dasm.c index 35eda8e09fb..4b6ee314175 100644 --- a/src/emu/cpu/pps4/pps4dasm.c +++ b/src/emu/cpu/pps4/pps4dasm.c @@ -28,13 +28,15 @@ typedef enum pps4_token_e { t_IOL, t_DIA, t_DIB, t_DOA, t_SAG, t_COUNT, t_MASK = (1 << 6) - 1, - t_I3c = 1 << 6, /* immediate 3 bit constant, complemented */ - t_I4 = 1 << 7, /* immediate 4 bit constant */ - t_I4c = 1 << 8, /* immediate 4 bit constant, complemented */ - t_I4p = 1 << 9, /* immediate 4 bit offset into page 3 */ - t_I6p = 1 << 10, /* immediate 6 bit constant; address in current page */ - t_I8 = 1 << 11, /* immediate 8 bit constant (I/O port number) */ - t_I8c = 1 << 12, /* immediate 8 bit constant inverted */ + t_I3c = 1 << 6, /* immediate 3 bit constant, complemented */ + t_I4 = 1 << 7, /* immediate 4 bit constant */ + t_I4c = 1 << 8, /* immediate 4 bit constant, complemented */ + t_I4p = 1 << 9, /* immediate 4 bit offset into page 3 */ + t_I6p = 1 << 10, /* immediate 6 bit constant; address in current page */ + t_I8 = 1 << 11, /* immediate 8 bit constant (I/O port number) */ + t_I8c = 1 << 12, /* immediate 8 bit constant inverted */ + t_OVER = 1 << 13, /* Debugger step over (CALL) */ + t_OUT = 1 << 14 /* Debugger step out (RETURN) */ } pps4_token_e; static const char *token_str[t_COUNT] = { @@ -91,277 +93,277 @@ static const char *token_str[t_COUNT] = { }; static const UINT16 table[] = { - t_LBL | t_I8c, /* 00 */ - t_TML | t_I4 | t_I8, /* 01 */ - t_TML | t_I4 | t_I8, /* 02 */ - t_TML | t_I4 | t_I8, /* 03 */ - t_LBUA, /* 04 */ - t_RTN, /* 05 */ - t_XS, /* 06 */ - t_RTNSK, /* 07 */ - t_ADCSK, /* 08 */ - t_ADSK, /* 09 */ - t_ADC, /* 0a */ - t_AD, /* 0b */ - t_EOR, /* 0c */ - t_AND, /* 0d */ - t_COMP, /* 0e */ - t_OR, /* 0f */ +/* 00 */ t_LBL | t_I8c, +/* 01 */ t_TML | t_I4 | t_I8, +/* 02 */ t_TML | t_I4 | t_I8, +/* 03 */ t_TML | t_I4 | t_I8, +/* 04 */ t_LBUA, +/* 05 */ t_RTN | t_OUT, +/* 06 */ t_XS, +/* 07 */ t_RTNSK | t_OUT, +/* 08 */ t_ADCSK, +/* 09 */ t_ADSK, +/* 0a */ t_ADC, +/* 0b */ t_AD, +/* 0c */ t_EOR, +/* 0d */ t_AND, +/* 0e */ t_COMP, +/* 0f */ t_OR, - t_LBMX, /* 10 */ - t_LABL, /* 11 */ - t_LAX, /* 12 */ - t_SAG, /* 13 */ - t_SKF2, /* 14 */ - t_SKC, /* 15 */ - t_SKF1, /* 16 */ - t_INCB, /* 17 */ - t_XBMX, /* 18 */ - t_XABL, /* 19 */ - t_XAX, /* 1a */ - t_LXA, /* 1b */ - t_IOL | t_I8, /* 1c */ - t_DOA, /* 1d */ - t_SKZ, /* 1e */ - t_DECB, /* 1f */ +/* 10 */ t_LBMX, +/* 11 */ t_LABL, +/* 12 */ t_LAX, +/* 13 */ t_SAG, +/* 14 */ t_SKF2, +/* 15 */ t_SKC, +/* 16 */ t_SKF1, +/* 17 */ t_INCB, +/* 18 */ t_XBMX, +/* 19 */ t_XABL, +/* 1a */ t_XAX, +/* 1b */ t_LXA, +/* 1c */ t_IOL | t_I8, +/* 1d */ t_DOA, +/* 1e */ t_SKZ, +/* 1f */ t_DECB, - t_SC, /* 20 */ - t_SF2, /* 21 */ - t_SF1, /* 22 */ - t_DIB, /* 23 */ - t_RC, /* 24 */ - t_RF2, /* 25 */ - t_RF1, /* 26 */ - t_DIA, /* 27 */ - t_EXD | t_I3c, /* 28 */ - t_EXD | t_I3c, /* 29 */ - t_EXD | t_I3c, /* 2a */ - t_EXD | t_I3c, /* 2b */ - t_EXD | t_I3c, /* 2c */ - t_EXD | t_I3c, /* 2d */ - t_EXD | t_I3c, /* 2e */ - t_EXD | t_I3c, /* 2f */ +/* 20 */ t_SC, +/* 21 */ t_SF2, +/* 22 */ t_SF1, +/* 23 */ t_DIB, +/* 24 */ t_RC, +/* 25 */ t_RF2, +/* 26 */ t_RF1, +/* 27 */ t_DIA, +/* 28 */ t_EXD | t_I3c, +/* 29 */ t_EXD | t_I3c, +/* 2a */ t_EXD | t_I3c, +/* 2b */ t_EXD | t_I3c, +/* 2c */ t_EXD | t_I3c, +/* 2d */ t_EXD | t_I3c, +/* 2e */ t_EXD | t_I3c, +/* 2f */ t_EXD | t_I3c, - t_LD | t_I3c, /* 30 */ - t_LD | t_I3c, /* 31 */ - t_LD | t_I3c, /* 32 */ - t_LD | t_I3c, /* 33 */ - t_LD | t_I3c, /* 34 */ - t_LD | t_I3c, /* 35 */ - t_LD | t_I3c, /* 36 */ - t_LD | t_I3c, /* 37 */ - t_EX | t_I3c, /* 38 */ - t_EX | t_I3c, /* 39 */ - t_EX | t_I3c, /* 3a */ - t_EX | t_I3c, /* 3b */ - t_EX | t_I3c, /* 3c */ - t_EX | t_I3c, /* 3d */ - t_EX | t_I3c, /* 3e */ - t_EX | t_I3c, /* 3f */ +/* 30 */ t_LD | t_I3c, +/* 31 */ t_LD | t_I3c, +/* 32 */ t_LD | t_I3c, +/* 33 */ t_LD | t_I3c, +/* 34 */ t_LD | t_I3c, +/* 35 */ t_LD | t_I3c, +/* 36 */ t_LD | t_I3c, +/* 37 */ t_LD | t_I3c, +/* 38 */ t_EX | t_I3c, +/* 39 */ t_EX | t_I3c, +/* 3a */ t_EX | t_I3c, +/* 3b */ t_EX | t_I3c, +/* 3c */ t_EX | t_I3c, +/* 3d */ t_EX | t_I3c, +/* 3e */ t_EX | t_I3c, +/* 3f */ t_EX | t_I3c, - t_SKBI | t_I4, /* 40 */ - t_SKBI | t_I4, /* 41 */ - t_SKBI | t_I4, /* 42 */ - t_SKBI | t_I4, /* 43 */ - t_SKBI | t_I4, /* 44 */ - t_SKBI | t_I4, /* 45 */ - t_SKBI | t_I4, /* 46 */ - t_SKBI | t_I4, /* 47 */ - t_SKBI | t_I4, /* 48 */ - t_SKBI | t_I4, /* 49 */ - t_SKBI | t_I4, /* 4a */ - t_SKBI | t_I4, /* 4b */ - t_SKBI | t_I4, /* 4c */ - t_SKBI | t_I4, /* 4d */ - t_SKBI | t_I4, /* 4e */ - t_SKBI | t_I4, /* 4f */ +/* 40 */ t_SKBI | t_I4, +/* 41 */ t_SKBI | t_I4, +/* 42 */ t_SKBI | t_I4, +/* 43 */ t_SKBI | t_I4, +/* 44 */ t_SKBI | t_I4, +/* 45 */ t_SKBI | t_I4, +/* 46 */ t_SKBI | t_I4, +/* 47 */ t_SKBI | t_I4, +/* 48 */ t_SKBI | t_I4, +/* 49 */ t_SKBI | t_I4, +/* 4a */ t_SKBI | t_I4, +/* 4b */ t_SKBI | t_I4, +/* 4c */ t_SKBI | t_I4, +/* 4d */ t_SKBI | t_I4, +/* 4e */ t_SKBI | t_I4, +/* 4f */ t_SKBI | t_I4, - t_TL | t_I4 | t_I8, /* 50 */ - t_TL | t_I4 | t_I8, /* 51 */ - t_TL | t_I4 | t_I8, /* 52 */ - t_TL | t_I4 | t_I8, /* 53 */ - t_TL | t_I4 | t_I8, /* 54 */ - t_TL | t_I4 | t_I8, /* 55 */ - t_TL | t_I4 | t_I8, /* 56 */ - t_TL | t_I4 | t_I8, /* 57 */ - t_TL | t_I4 | t_I8, /* 58 */ - t_TL | t_I4 | t_I8, /* 59 */ - t_TL | t_I4 | t_I8, /* 5a */ - t_TL | t_I4 | t_I8, /* 5b */ - t_TL | t_I4 | t_I8, /* 5c */ - t_TL | t_I4 | t_I8, /* 5d */ - t_TL | t_I4 | t_I8, /* 5e */ - t_TL | t_I4 | t_I8, /* 5f */ +/* 50 */ t_TL | t_I4 | t_I8 | t_OVER, +/* 51 */ t_TL | t_I4 | t_I8 | t_OVER, +/* 52 */ t_TL | t_I4 | t_I8 | t_OVER, +/* 53 */ t_TL | t_I4 | t_I8 | t_OVER, +/* 54 */ t_TL | t_I4 | t_I8 | t_OVER, +/* 55 */ t_TL | t_I4 | t_I8 | t_OVER, +/* 56 */ t_TL | t_I4 | t_I8 | t_OVER, +/* 57 */ t_TL | t_I4 | t_I8 | t_OVER, +/* 58 */ t_TL | t_I4 | t_I8 | t_OVER, +/* 59 */ t_TL | t_I4 | t_I8 | t_OVER, +/* 5a */ t_TL | t_I4 | t_I8 | t_OVER, +/* 5b */ t_TL | t_I4 | t_I8 | t_OVER, +/* 5c */ t_TL | t_I4 | t_I8 | t_OVER, +/* 5d */ t_TL | t_I4 | t_I8 | t_OVER, +/* 5e */ t_TL | t_I4 | t_I8 | t_OVER, +/* 5f */ t_TL | t_I4 | t_I8 | t_OVER, - t_ADI | t_I4c, /* 60 */ - t_ADI | t_I4c, /* 61 */ - t_ADI | t_I4c, /* 62 */ - t_ADI | t_I4c, /* 63 */ - t_ADI | t_I4c, /* 64 */ - t_DC, /* 65 */ - t_ADI | t_I4c, /* 66 */ - t_ADI | t_I4c, /* 67 */ - t_ADI | t_I4c, /* 68 */ - t_ADI | t_I4c, /* 69 */ - t_ADI | t_I4c, /* 6a */ - t_ADI | t_I4c, /* 6b */ - t_ADI | t_I4c, /* 6c */ - t_ADI | t_I4c, /* 6d */ - t_ADI | t_I4c, /* 6e */ - t_CYS, /* 6f */ +/* 60 */ t_ADI | t_I4c, +/* 61 */ t_ADI | t_I4c, +/* 62 */ t_ADI | t_I4c, +/* 63 */ t_ADI | t_I4c, +/* 64 */ t_ADI | t_I4c, +/* 65 */ t_DC, +/* 66 */ t_ADI | t_I4c, +/* 67 */ t_ADI | t_I4c, +/* 68 */ t_ADI | t_I4c, +/* 69 */ t_ADI | t_I4c, +/* 6a */ t_ADI | t_I4c, +/* 6b */ t_ADI | t_I4c, +/* 6c */ t_ADI | t_I4c, +/* 6d */ t_ADI | t_I4c, +/* 6e */ t_ADI | t_I4c, +/* 6f */ t_CYS, - t_LDI | t_I4c, /* 70 */ - t_LDI | t_I4c, /* 71 */ - t_LDI | t_I4c, /* 72 */ - t_LDI | t_I4c, /* 73 */ - t_LDI | t_I4c, /* 74 */ - t_LDI | t_I4c, /* 75 */ - t_LDI | t_I4c, /* 76 */ - t_LDI | t_I4c, /* 77 */ - t_LDI | t_I4c, /* 78 */ - t_LDI | t_I4c, /* 79 */ - t_LDI | t_I4c, /* 7a */ - t_LDI | t_I4c, /* 7b */ - t_LDI | t_I4c, /* 7c */ - t_LDI | t_I4c, /* 7d */ - t_LDI | t_I4c, /* 7e */ - t_LDI | t_I4c, /* 7f */ +/* 70 */ t_LDI | t_I4c, +/* 71 */ t_LDI | t_I4c, +/* 72 */ t_LDI | t_I4c, +/* 73 */ t_LDI | t_I4c, +/* 74 */ t_LDI | t_I4c, +/* 75 */ t_LDI | t_I4c, +/* 76 */ t_LDI | t_I4c, +/* 77 */ t_LDI | t_I4c, +/* 78 */ t_LDI | t_I4c, +/* 79 */ t_LDI | t_I4c, +/* 7a */ t_LDI | t_I4c, +/* 7b */ t_LDI | t_I4c, +/* 7c */ t_LDI | t_I4c, +/* 7d */ t_LDI | t_I4c, +/* 7e */ t_LDI | t_I4c, +/* 7f */ t_LDI | t_I4c, - t_T | t_I6p, /* 80 */ - t_T | t_I6p, /* 81 */ - t_T | t_I6p, /* 82 */ - t_T | t_I6p, /* 83 */ - t_T | t_I6p, /* 84 */ - t_T | t_I6p, /* 85 */ - t_T | t_I6p, /* 86 */ - t_T | t_I6p, /* 87 */ - t_T | t_I6p, /* 88 */ - t_T | t_I6p, /* 89 */ - t_T | t_I6p, /* 8a */ - t_T | t_I6p, /* 8b */ - t_T | t_I6p, /* 8c */ - t_T | t_I6p, /* 8d */ - t_T | t_I6p, /* 8e */ - t_T | t_I6p, /* 8f */ +/* 80 */ t_T | t_I6p, +/* 81 */ t_T | t_I6p, +/* 82 */ t_T | t_I6p, +/* 83 */ t_T | t_I6p, +/* 84 */ t_T | t_I6p, +/* 85 */ t_T | t_I6p, +/* 86 */ t_T | t_I6p, +/* 87 */ t_T | t_I6p, +/* 88 */ t_T | t_I6p, +/* 89 */ t_T | t_I6p, +/* 8a */ t_T | t_I6p, +/* 8b */ t_T | t_I6p, +/* 8c */ t_T | t_I6p, +/* 8d */ t_T | t_I6p, +/* 8e */ t_T | t_I6p, +/* 8f */ t_T | t_I6p, - t_T | t_I6p, /* 90 */ - t_T | t_I6p, /* 91 */ - t_T | t_I6p, /* 92 */ - t_T | t_I6p, /* 93 */ - t_T | t_I6p, /* 94 */ - t_T | t_I6p, /* 95 */ - t_T | t_I6p, /* 96 */ - t_T | t_I6p, /* 97 */ - t_T | t_I6p, /* 98 */ - t_T | t_I6p, /* 99 */ - t_T | t_I6p, /* 9a */ - t_T | t_I6p, /* 9b */ - t_T | t_I6p, /* 9c */ - t_T | t_I6p, /* 9d */ - t_T | t_I6p, /* 9e */ - t_T | t_I6p, /* 9f */ +/* 90 */ t_T | t_I6p, +/* 91 */ t_T | t_I6p, +/* 92 */ t_T | t_I6p, +/* 93 */ t_T | t_I6p, +/* 94 */ t_T | t_I6p, +/* 95 */ t_T | t_I6p, +/* 96 */ t_T | t_I6p, +/* 97 */ t_T | t_I6p, +/* 98 */ t_T | t_I6p, +/* 99 */ t_T | t_I6p, +/* 9a */ t_T | t_I6p, +/* 9b */ t_T | t_I6p, +/* 9c */ t_T | t_I6p, +/* 9d */ t_T | t_I6p, +/* 9e */ t_T | t_I6p, +/* 9f */ t_T | t_I6p, - t_T | t_I6p, /* a0 */ - t_T | t_I6p, /* a1 */ - t_T | t_I6p, /* a2 */ - t_T | t_I6p, /* a3 */ - t_T | t_I6p, /* a4 */ - t_T | t_I6p, /* a5 */ - t_T | t_I6p, /* a6 */ - t_T | t_I6p, /* a7 */ - t_T | t_I6p, /* a8 */ - t_T | t_I6p, /* a9 */ - t_T | t_I6p, /* aa */ - t_T | t_I6p, /* ab */ - t_T | t_I6p, /* ac */ - t_T | t_I6p, /* ad */ - t_T | t_I6p, /* ae */ - t_T | t_I6p, /* af */ +/* a0 */ t_T | t_I6p, +/* a1 */ t_T | t_I6p, +/* a2 */ t_T | t_I6p, +/* a3 */ t_T | t_I6p, +/* a4 */ t_T | t_I6p, +/* a5 */ t_T | t_I6p, +/* a6 */ t_T | t_I6p, +/* a7 */ t_T | t_I6p, +/* a8 */ t_T | t_I6p, +/* a9 */ t_T | t_I6p, +/* aa */ t_T | t_I6p, +/* ab */ t_T | t_I6p, +/* ac */ t_T | t_I6p, +/* ad */ t_T | t_I6p, +/* ae */ t_T | t_I6p, +/* af */ t_T | t_I6p, - t_T | t_I6p, /* b0 */ - t_T | t_I6p, /* b1 */ - t_T | t_I6p, /* b2 */ - t_T | t_I6p, /* b3 */ - t_T | t_I6p, /* b4 */ - t_T | t_I6p, /* b5 */ - t_T | t_I6p, /* b6 */ - t_T | t_I6p, /* b7 */ - t_T | t_I6p, /* b8 */ - t_T | t_I6p, /* b9 */ - t_T | t_I6p, /* ba */ - t_T | t_I6p, /* bb */ - t_T | t_I6p, /* bc */ - t_T | t_I6p, /* bd */ - t_T | t_I6p, /* be */ - t_T | t_I6p, /* bf */ +/* b0 */ t_T | t_I6p, +/* b1 */ t_T | t_I6p, +/* b2 */ t_T | t_I6p, +/* b3 */ t_T | t_I6p, +/* b4 */ t_T | t_I6p, +/* b5 */ t_T | t_I6p, +/* b6 */ t_T | t_I6p, +/* b7 */ t_T | t_I6p, +/* b8 */ t_T | t_I6p, +/* b9 */ t_T | t_I6p, +/* ba */ t_T | t_I6p, +/* bb */ t_T | t_I6p, +/* bc */ t_T | t_I6p, +/* bd */ t_T | t_I6p, +/* be */ t_T | t_I6p, +/* bf */ t_T | t_I6p, - t_LB | t_I4p, /* c0 */ - t_LB | t_I4p, /* c1 */ - t_LB | t_I4p, /* c2 */ - t_LB | t_I4p, /* c3 */ - t_LB | t_I4p, /* c4 */ - t_LB | t_I4p, /* c5 */ - t_LB | t_I4p, /* c6 */ - t_LB | t_I4p, /* c7 */ - t_LB | t_I4p, /* c8 */ - t_LB | t_I4p, /* c9 */ - t_LB | t_I4p, /* ca */ - t_LB | t_I4p, /* cb */ - t_LB | t_I4p, /* cc */ - t_LB | t_I4p, /* cd */ - t_LB | t_I4p, /* ce */ - t_LB | t_I4p, /* cf */ +/* c0 */ t_LB | t_I4p, +/* c1 */ t_LB | t_I4p, +/* c2 */ t_LB | t_I4p, +/* c3 */ t_LB | t_I4p, +/* c4 */ t_LB | t_I4p, +/* c5 */ t_LB | t_I4p, +/* c6 */ t_LB | t_I4p, +/* c7 */ t_LB | t_I4p, +/* c8 */ t_LB | t_I4p, +/* c9 */ t_LB | t_I4p, +/* ca */ t_LB | t_I4p, +/* cb */ t_LB | t_I4p, +/* cc */ t_LB | t_I4p, +/* cd */ t_LB | t_I4p, +/* ce */ t_LB | t_I4p, +/* cf */ t_LB | t_I4p, - t_TM | t_I6p, /* d0 */ - t_TM | t_I6p, /* d1 */ - t_TM | t_I6p, /* d2 */ - t_TM | t_I6p, /* d3 */ - t_TM | t_I6p, /* d4 */ - t_TM | t_I6p, /* d5 */ - t_TM | t_I6p, /* d6 */ - t_TM | t_I6p, /* d7 */ - t_TM | t_I6p, /* d8 */ - t_TM | t_I6p, /* d9 */ - t_TM | t_I6p, /* da */ - t_TM | t_I6p, /* db */ - t_TM | t_I6p, /* dc */ - t_TM | t_I6p, /* dd */ - t_TM | t_I6p, /* de */ - t_TM | t_I6p, /* df */ +/* d0 */ t_TM | t_I6p | t_OVER, +/* d1 */ t_TM | t_I6p | t_OVER, +/* d2 */ t_TM | t_I6p | t_OVER, +/* d3 */ t_TM | t_I6p | t_OVER, +/* d4 */ t_TM | t_I6p | t_OVER, +/* d5 */ t_TM | t_I6p | t_OVER, +/* d6 */ t_TM | t_I6p | t_OVER, +/* d7 */ t_TM | t_I6p | t_OVER, +/* d8 */ t_TM | t_I6p | t_OVER, +/* d9 */ t_TM | t_I6p | t_OVER, +/* da */ t_TM | t_I6p | t_OVER, +/* db */ t_TM | t_I6p | t_OVER, +/* dc */ t_TM | t_I6p | t_OVER, +/* dd */ t_TM | t_I6p | t_OVER, +/* de */ t_TM | t_I6p | t_OVER, +/* df */ t_TM | t_I6p | t_OVER, - t_TM | t_I6p, /* e0 */ - t_TM | t_I6p, /* e1 */ - t_TM | t_I6p, /* e2 */ - t_TM | t_I6p, /* e3 */ - t_TM | t_I6p, /* e4 */ - t_TM | t_I6p, /* e5 */ - t_TM | t_I6p, /* e6 */ - t_TM | t_I6p, /* e7 */ - t_TM | t_I6p, /* e8 */ - t_TM | t_I6p, /* e9 */ - t_TM | t_I6p, /* ea */ - t_TM | t_I6p, /* eb */ - t_TM | t_I6p, /* ec */ - t_TM | t_I6p, /* ed */ - t_TM | t_I6p, /* ee */ - t_TM | t_I6p, /* ef */ +/* e0 */ t_TM | t_I6p | t_OVER, +/* e1 */ t_TM | t_I6p | t_OVER, +/* e2 */ t_TM | t_I6p | t_OVER, +/* e3 */ t_TM | t_I6p | t_OVER, +/* e4 */ t_TM | t_I6p | t_OVER, +/* e5 */ t_TM | t_I6p | t_OVER, +/* e6 */ t_TM | t_I6p | t_OVER, +/* e7 */ t_TM | t_I6p | t_OVER, +/* e8 */ t_TM | t_I6p | t_OVER, +/* e9 */ t_TM | t_I6p | t_OVER, +/* ea */ t_TM | t_I6p | t_OVER, +/* eb */ t_TM | t_I6p | t_OVER, +/* ec */ t_TM | t_I6p | t_OVER, +/* ed */ t_TM | t_I6p | t_OVER, +/* ee */ t_TM | t_I6p | t_OVER, +/* ef */ t_TM | t_I6p | t_OVER, - t_TM | t_I6p, /* f0 */ - t_TM | t_I6p, /* f1 */ - t_TM | t_I6p, /* f2 */ - t_TM | t_I6p, /* f3 */ - t_TM | t_I6p, /* f4 */ - t_TM | t_I6p, /* f5 */ - t_TM | t_I6p, /* f6 */ - t_TM | t_I6p, /* f7 */ - t_TM | t_I6p, /* f8 */ - t_TM | t_I6p, /* f9 */ - t_TM | t_I6p, /* fa */ - t_TM | t_I6p, /* fb */ - t_TM | t_I6p, /* fc */ - t_TM | t_I6p, /* fd */ - t_TM | t_I6p, /* fe */ - t_TM | t_I6p, /* ff */ +/* f0 */ t_TM | t_I6p | t_OVER, +/* f1 */ t_TM | t_I6p | t_OVER, +/* f2 */ t_TM | t_I6p | t_OVER, +/* f3 */ t_TM | t_I6p | t_OVER, +/* f4 */ t_TM | t_I6p | t_OVER, +/* f5 */ t_TM | t_I6p | t_OVER, +/* f6 */ t_TM | t_I6p | t_OVER, +/* f7 */ t_TM | t_I6p | t_OVER, +/* f8 */ t_TM | t_I6p | t_OVER, +/* f9 */ t_TM | t_I6p | t_OVER, +/* fa */ t_TM | t_I6p | t_OVER, +/* fb */ t_TM | t_I6p | t_OVER, +/* fc */ t_TM | t_I6p | t_OVER, +/* fd */ t_TM | t_I6p | t_OVER, +/* fe */ t_TM | t_I6p | t_OVER, +/* ff */ t_TM | t_I6p | t_OVER }; CPU_DISASSEMBLE( pps4 ) @@ -380,7 +382,8 @@ CPU_DISASSEMBLE( pps4 ) if (tok & t_I3c) { // 3 bit immediate, complemented UINT8 i = ~op & 7; - dst += sprintf(dst, "%x", i); + if (0 != i) // only print if non-zero + dst += sprintf(dst, "%x", i); } if (tok & t_I4) { @@ -419,7 +422,10 @@ CPU_DISASSEMBLE( pps4 ) dst += sprintf(dst, "%03x", arg); } - if (0x05 == op || 0x07 == op) // RTN or RTNSK + if (tok & t_OVER) // TL or TML + flags |= DASMFLAG_STEP_OVER; + + if (tok & t_OUT) // RTN or RTNSK flags |= DASMFLAG_STEP_OUT; return (pc - PC) | flags | DASMFLAG_SUPPORTED; |