diff options
author | jbu <pullmoll@t-online.de> | 2014-12-16 02:09:22 +0100 |
---|---|---|
committer | jbu <pullmoll@t-online.de> | 2014-12-16 02:09:22 +0100 |
commit | e92761316a34bf398eaff4a3922455b7be1f79f1 (patch) | |
tree | 32966225e55de7bcb8e814a00afdbcafd448086d | |
parent | 339bafcc8872b6c5f926123d21504739bc05b05d (diff) |
Clean up and fix comments (nw)
-rw-r--r-- | src/emu/cpu/pps4/pps4.c | 475 | ||||
-rw-r--r-- | src/emu/cpu/pps4/pps4.h | 3 |
2 files changed, 241 insertions, 237 deletions
diff --git a/src/emu/cpu/pps4/pps4.c b/src/emu/cpu/pps4/pps4.c index e3724827f08..de48dd45081 100644 --- a/src/emu/cpu/pps4/pps4.c +++ b/src/emu/cpu/pps4/pps4.c @@ -116,7 +116,7 @@ offs_t pps4_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 *opr inline UINT8 pps4_device::ROP() { const UINT8 op = m_direct->read_decrypted_byte(m_P & 0xFFF); - m_Ip = m_I; // save previous opcode + m_Ip = m_I1; // save previous opcode m_P = (m_P + 1) & 0xFFF; m_icount -= 1; return op; @@ -158,12 +158,12 @@ inline UINT8 pps4_device::ARG() /** * @brief pps4_device::iAD Add - * OPCODE cycles mnemonic - * ----------------------------- - * 0000 1011 1 cyc AD + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x0b 0000 1011 1 AD * * Symbolic equation - * ----------------------------- + * ---------------------------------- * C, A <- A + M * * The result of the binary addition of contents of accumulator @@ -180,12 +180,12 @@ void pps4_device::iAD() /** * @brief pps4_device::iADC Add with carry-in - * OPCODE cycles mnemonic - * ----------------------------- - * 0000 1010 1 cyc ADC + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x0a 0000 1010 1 ADC * * Symbolic equation - * ----------------------------- + * ---------------------------------- * C, A <- A + M + C * * Same as AD except the C flip-flop serves as a carry-in @@ -200,12 +200,12 @@ void pps4_device::iADC() /** * @brief pps4_device::iADSK Add and skip if carry-out - * OPCODE cycles mnemonic - * ----------------------------- - * 0000 1001 1 cyc ADSK + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x09 0000 1001 1 ADSK * * Symbolic equation - * ----------------------------- + * ---------------------------------- * C, A <- A + M * Skip if C = 1 * @@ -222,12 +222,12 @@ void pps4_device::iADSK() /** * @brief pps4_device::iADCSK Add with carry-in and skip if carry-out - * OPCODE cycles mnemonic - * ----------------------------- - * 0000 1000 1 cyc ADCSK + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x08 0000 1000 1 ADCSK * * Symbolic equation - * ----------------------------- + * ---------------------------------- * C, A <- A + M + C * Skip if C = 1 * @@ -244,12 +244,12 @@ void pps4_device::iADCSK() /** * @brief pps4_device::iADI Add immediate - * OPCODE cycles mnemonic - * ----------------------------- - * 0110 xxxx 1 cyc ADI x + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x6* 0110 xxxx 1 ADI x * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <- A + [I(4:1)] * * The result of the binary addition of contents of @@ -265,7 +265,7 @@ void pps4_device::iADCSK() */ void pps4_device::iADI() { - const UINT8 imm = ~m_I & 15; + const UINT8 imm = ~m_I1 & 15; m_A = m_A + imm; m_Skip = (m_A >> 4) & 1; m_A = m_A & 15; @@ -273,12 +273,12 @@ void pps4_device::iADI() /** * @brief pps4_device::iDC Decimal correction - * OPCODE cycles mnemonic - * ----------------------------- - * 0110 0101 1 cyc DC + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x65 0110 0101 1 DC * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <- A + 1010 * * Decimal correction of accumulator. @@ -293,12 +293,12 @@ void pps4_device::iDC() /** * @brief pps4_device::iAND Logical AND - * OPCODE cycles mnemonic - * ----------------------------- - * 0000 1101 1 cyc AND + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x0d 0000 1101 1 AND * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <- A & M * * The result of logical AND of accumulator and @@ -312,12 +312,12 @@ void pps4_device::iAND() /** * @brief pps4_device::iOR Logical OR - * OPCODE cycles mnemonic - * ----------------------------- - * 0000 1111 1 cyc OR + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x0f 0000 1111 1 OR * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <- A | M * * The result of logical OR of accumulator and @@ -331,12 +331,12 @@ void pps4_device::iOR() /** * @brief pps4_device::iEOR Logical exclusive-OR - * OPCODE cycles mnemonic - * ----------------------------- - * 0000 1100 1 cyc EOR + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x0c 0000 1100 1 EOR * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <- A ^ M * * The result of logical exclusive-OR of @@ -351,12 +351,12 @@ void pps4_device::iEOR() /** * @brief pps4_device::iCOMP Complement - * OPCODE cycles mnemonic - * ----------------------------- - * 0000 1110 1 cyc COMP + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x0e 0000 1110 1 COMP * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <- ~A * * Each bit of the accumulator is logically @@ -369,12 +369,12 @@ void pps4_device::iCOMP() /** * @brief pps4_device::iSC Set carry flip-flop - * OPCODE cycles mnemonic - * ----------------------------- - * 0010 0000 1 cyc SC + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x20 0010 0000 1 SC * * Symbolic equation - * ----------------------------- + * ---------------------------------- * C <- 1 * * The C flip-flop is set to 1. @@ -386,12 +386,12 @@ void pps4_device::iSC() /** * @brief pps4_device::iRC Reset carry flip-flop - * OPCODE cycles mnemonic - * ----------------------------- - * 0010 0100 1 cyc RC + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x28 0010 0100 1 RC * * Symbolic equation - * ----------------------------- + * ---------------------------------- * C <- 0 * * The C flip-flop is set to 0. @@ -403,12 +403,12 @@ void pps4_device::iRC() /** * @brief pps4_device::iSF1 Set flip-flop FF1 - * OPCODE cycles mnemonic - * ----------------------------- - * 0010 0010 1 cyc SF1 + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x22 0010 0010 1 SF1 * * Symbolic equation - * ----------------------------- + * ---------------------------------- * FF1 <- 1 * * The Flip-flop FF1 is set to 1. @@ -420,12 +420,12 @@ void pps4_device::iSF1() /** * @brief pps4_device::iRF1 Reset flip-flop FF1 - * OPCODE cycles mnemonic - * ----------------------------- - * 0010 0110 1 cyc RF1 + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x26 0010 0110 1 RF1 * * Symbolic equation - * ----------------------------- + * ---------------------------------- * FF1 <- 0 * * The Flip-flop FF1 is set to 0. @@ -437,12 +437,12 @@ void pps4_device::iRF1() /** * @brief pps4_device::iSF2 Set flip-flop FF2 - * OPCODE cycles mnemonic - * ----------------------------- - * 0010 0001 1 cyc SF2 + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x21 0010 0001 1 SF2 * * Symbolic equation - * ----------------------------- + * ---------------------------------- * FF2 <- 1 * * The Flip-flop FF2 is set to 1. @@ -454,12 +454,12 @@ void pps4_device::iSF2() /** * @brief pps4_device::iRF2 Reset flip-flop FF2 - * OPCODE cycles mnemonic - * ----------------------------- - * 0010 0101 1 cyc RF2 + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x25 0010 0101 1 RF2 * * Symbolic equation - * ----------------------------- + * ---------------------------------- * FF2 <- 0 * * The flip-flop FF2 is set to 0. @@ -471,12 +471,12 @@ void pps4_device::iRF2() /** * @brief pps4_device::iLD Load accumulator from memory - * OPCODE cycles mnemonic - * ----------------------------- - * 0011 0xxx 1 cyc LD x + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x30+ 0011 0xxx 1 LD x * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <- M * B(7:5) <- B(7:5) ^ [I(3:1)] * @@ -490,19 +490,19 @@ void pps4_device::iRF2() */ void pps4_device::iLD() { - const UINT16 i3c = ~m_I & 7; + const UINT16 i3c = ~m_I1 & 7; m_A = M(); m_B = m_B ^ (i3c << 4); } /** * @brief pps4_device::iEX Exchange accumulator and memory - * OPCODE cycles mnemonic - * ----------------------------- - * 0011 1xxx 1 cyc EX x + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x38+ 0011 1xxx 1 EX x * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <-> M * B(7:5) <- B(7:5) ^ [I(3:1)] * @@ -513,7 +513,7 @@ void pps4_device::iLD() */ void pps4_device::iEX() { - const UINT16 i3c = ~m_I & 7; + const UINT16 i3c = ~m_I1 & 7; const UINT8 mem = M(); W(m_A); m_A = mem; @@ -522,12 +522,12 @@ void pps4_device::iEX() /** * @brief pps4_device::iEXD Exchange accumulator and memory and decrement BL - * OPCODE cycles mnemonic - * ----------------------------- - * 0010 1xxx 1 cyc EXD x + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x28+ 0010 1xxx 1 EXD x * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <-> M * B(7:5) <- B(7:5) ^ [I(3:1)] * BL <- BL - 1 @@ -542,7 +542,7 @@ void pps4_device::iEX() */ void pps4_device::iEXD() { - const UINT8 i3c = ~m_I & 7; + const UINT8 i3c = ~m_I1 & 7; const UINT8 mem = M(); UINT8 bl = m_B & 15; W(m_A); @@ -560,12 +560,12 @@ void pps4_device::iEXD() /** * @brief pps4_device::iLDI Load accumualtor immediate - * OPCODE cycles mnemonic - * ----------------------------- - * 0111 xxxx 1 cyc LDI x + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x7* 0111 xxxx 1 LDI x * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <- [I(4:1)] * * The 4-bit contents, immediate field I(4:1), @@ -581,20 +581,20 @@ void pps4_device::iLDI() { // previous LDI instruction? if (0x70 == (m_Ip & 0xf0)) { - LOG(("%s: skip prev:%02x op:%02x\n", __FUNCTION__, m_Ip, m_I)); + LOG(("%s: skip prev:%02x op:%02x\n", __FUNCTION__, m_Ip, m_I1)); return; } - m_A = ~m_I & 15; + m_A = ~m_I1 & 15; } /** * @brief pps4_device::iLAX - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 0010 1 cyc LAX + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x12 0001 0010 1 LAX * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <- X * * The 4-bit contents of the X register are @@ -607,12 +607,12 @@ void pps4_device::iLAX() /** * @brief pps4_device::iLXA - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 1011 1 cyc LXA + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x1b 0001 1011 1 LXA * * Symbolic equation - * ----------------------------- + * ---------------------------------- * X <- A * * The contents of the accumulator are @@ -625,12 +625,12 @@ void pps4_device::iLXA() /** * @brief pps4_device::iLABL - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 0001 1 cyc LABL + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x11 0001 0001 1 LABL * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <- BL * * The contents of BL register are @@ -643,12 +643,12 @@ void pps4_device::iLABL() /** * @brief pps4_device::iLBMX - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 0000 1 cyc LBMX + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x10 0001 0000 1 LBMX * * Symbolic equation - * ----------------------------- + * ---------------------------------- * BM <- X * * The contents of X register are @@ -661,12 +661,12 @@ void pps4_device::iLBMX() /** * @brief pps4_device::iLBUA - * OPCODE cycles mnemonic - * ----------------------------- - * 0000 0100 1 cyc LBUA + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x08 0000 0100 1 LBUA * * Symbolic equation - * ----------------------------- + * ---------------------------------- * BU <- A * A <- M * @@ -682,12 +682,12 @@ void pps4_device::iLBUA() /** * @brief pps4_device::iXABL - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 1001 1 cyc XABL + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x19 0001 1001 1 XABL * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <-> BL * * The contents of accumulator and BL register @@ -703,12 +703,12 @@ void pps4_device::iXABL() /** * @brief pps4_device::iXMBX - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 1000 1 cyc XMBX + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x18 0001 1000 1 XMBX * * Symbolic equation - * ----------------------------- + * ---------------------------------- * X <-> BM * * The contents of accumulator and BL register @@ -724,12 +724,12 @@ void pps4_device::iXBMX() /** * @brief pps4_device::iXAX - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 1010 1 cyc XAX + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x1a 0001 1010 1 XAX * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <-> X * * The contents of accumulator and X register @@ -745,12 +745,12 @@ void pps4_device::iXAX() /** * @brief pps4_device::iXS - * OPCODE cycles mnemonic - * ----------------------------- - * 0000 0110 1 cyc XS + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x06 0000 0110 1 XS * * Symbolic equation - * ----------------------------- + * ---------------------------------- * SA <-> SB * * The 12-bit contents of SA and SB register @@ -766,12 +766,12 @@ void pps4_device::iXS() /** * @brief pps4_device::iCYS - * OPCODE cycles mnemonic - * ----------------------------- - * 0110 1111 1 cyc CYS + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x6f 0110 1111 1 CYS * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <- SA(4:1) * SA(4:1) <- SA(8:5) * SA(8:5) <- SA(12:9) @@ -793,12 +793,12 @@ void pps4_device::iCYS() /** * @brief pps4_device::iLB Load B indirect - * OPCODE cycles mnemonic - * ----------------------------- - * 1100 xxxx 2 cyc LB x + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0xc* 1100 xxxx 2 LB x * * Symbolic equation - * ----------------------------- + * ---------------------------------- * SB <- SA, SA <- P * P(12:5) <- 0000 1100 * P(4:1) <- I(4:1) @@ -828,12 +828,12 @@ void pps4_device::iLB() { // previous LB or LBL instruction? if (0xc0 == (m_Ip & 0xf0) || 0x00 == m_Ip) { - LOG(("%s: skip prev:%02x op:%02x\n", __FUNCTION__, m_Ip, m_I)); + LOG(("%s: skip prev:%02x op:%02x\n", __FUNCTION__, m_Ip, m_I1)); return; } m_SB = m_SA; m_SA = (m_P + 1) & 0xFFF; - m_P = (3 << 6) | (m_I & 15); + m_P = (3 << 6) | (m_I1 & 15); m_B = ~ARG() & 255; m_P = m_SA; // swap SA and SB @@ -844,12 +844,12 @@ void pps4_device::iLB() /** * @brief pps4_device::iLBL Load B long - * OPCODE cycles mnemonic - * ----------------------------- - * 0000 0000 2 cyc LBL + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x00 0000 0000 2 LBL * * Symbolic equation - * ----------------------------- + * ---------------------------------- * BU <- 0000 * B(8:1) <- [I2(8:1)] * @@ -870,7 +870,7 @@ void pps4_device::iLBL() m_I2 = ARG(); // previous LB or LBL instruction? if (0xc0 == (m_Ip & 0xf0) || 0x00 == m_Ip) { - LOG(("%s: skip prev:%02x op:%02x\n", __FUNCTION__, m_Ip, m_I)); + LOG(("%s: skip prev:%02x op:%02x\n", __FUNCTION__, m_Ip, m_I1)); return; } m_B = ~m_I2 & 255; // Note: immediate is 1's complement @@ -878,12 +878,12 @@ void pps4_device::iLBL() /** * @brief pps4_device::INCB Increment B lower, skip if 0000 - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 0111 1 cyc INCB + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x17 0001 0111 1 INCB * * Symbolic equation - * ----------------------------- + * ---------------------------------- * BL <- BL + 1 * Skip on BL = 0000 * @@ -904,12 +904,12 @@ void pps4_device::iINCB() /** * @brief pps4_device::iDECB Decrement B lower, skip if 1111 - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 1111 1 cyc DECB + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x1f 0001 1111 1 DECB * * Symbolic equation - * ----------------------------- + * ---------------------------------- * BL <- BL - 1 * Skip on BL = 1111 * @@ -930,12 +930,12 @@ void pps4_device::iDECB() /** * @brief pps4_device::iT Transfer - * OPCODE cycles mnemonic - * ----------------------------- - * 10xx xxxx 1 cyc T *xx + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x80+ 10xx xxxx 1 T *xx * * Symbolic equation - * ----------------------------- + * ---------------------------------- * P(6:1) <- I(6:1) * * An unconditional transfer to a ROM word on the current @@ -945,20 +945,20 @@ void pps4_device::iDECB() */ void pps4_device::iT() { - const UINT16 p = (m_P & ~63) | (m_I & 63); - LOG(("%s: P=%03x I=%02x -> P=%03x\n", __FUNCTION__, m_P, m_I, p)); + const UINT16 p = (m_P & ~63) | (m_I1 & 63); + LOG(("%s: P=%03x I=%02x -> P=%03x\n", __FUNCTION__, m_P, m_I1, p)); m_P = p; } /** * @brief pps4_device::iTM Transfer and mark indirect - * OPCODE cycles mnemonic - * ----------------------------- - * 11xx xxxx 2 cyc TM x - * yyyy yyyy from page 3 + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0xc0+ 11xx xxxx 2 TM x + * yyyy yyyy from page 3 * * Symbolic equation - * ----------------------------- + * ---------------------------------- * SB <- SA, SA <- P * P(12:7) <- 000011 * P(6:1) <- I1(6:1) @@ -979,20 +979,20 @@ void pps4_device::iTM() { m_SB = m_SA; m_SA = m_P; - m_P = (3 << 6) | (m_I & 63); + m_P = (3 << 6) | (m_I1 & 63); m_I2 = ARG(); m_P = (1 << 8) | m_I2; } /** * @brief pps4_device::iTL Transfer long - * OPCODE cycles mnemonic - * ----------------------------- - * 0101 xxxx 2 cyc TL xyy - * yyyy yyyy + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x5x 0101 xxxx 2 TL xyy + * yyyy yyyy * * Symbolic equation - * ----------------------------- + * ---------------------------------- * P(12:9) <- I1(4:1) * P(8:1) <- I2(8:1) * @@ -1004,18 +1004,18 @@ void pps4_device::iTM() void pps4_device::iTL() { m_I2 = ARG(); - m_P = ((m_I & 15) << 8) | m_I2; + m_P = ((m_I1 & 15) << 8) | m_I2; } /** * @brief pps4_device::iTML Transfer and mark long - * OPCODE cycles mnemonic - * ----------------------------- - * 0101 xxxx 2 cyc TML xyy - * yyyy yyyy + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x0* 0000 xxxx 2 TML xyy + * yyyy yyyy * * Symbolic equation - * ----------------------------- + * ---------------------------------- * SB <- SA, SA <- P * P(12:9) <- I1(4:1) * P(8:1) <- I2(8:1) @@ -1031,17 +1031,17 @@ void pps4_device::iTML() m_I2 = ARG(); m_SB = m_SA; m_SA = m_P; - m_P = ((m_I & 15) << 8) | m_I2; + m_P = ((m_I1 & 15) << 8) | m_I2; } /** * @brief pps4_device::iSKC Skip on carry flip-flop - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 0101 1 cyc SKC + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x15 0001 0101 1 SKC * * Symbolic equation - * ----------------------------- + * ---------------------------------- * Skip if C = 1 * * The next ROM word will be ignored if C flip-flop is 1. @@ -1053,12 +1053,12 @@ void pps4_device::iSKC() /** * @brief pps4_device::iSKC Skip on carry flip-flop - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 1110 1 cyc SKZ + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x1e 0001 1110 1 SKZ * * Symbolic equation - * ----------------------------- + * ---------------------------------- * Skip if A = 0 * * The next ROM word will be ignored if C flip-flop is 1. @@ -1070,12 +1070,12 @@ void pps4_device::iSKZ() /** * @brief pps4_device::iSKBI Skip if BL equal to immediate - * OPCODE cycles mnemonic - * ----------------------------- - * 0100 xxxx 1 cyc SKBI x + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x4* 0100 xxxx 1 SKBI x * * Symbolic equation - * ----------------------------- + * ---------------------------------- * Skip if BL = I(4:1) * * The next ROM word will be ignored if the least significant @@ -1084,19 +1084,19 @@ void pps4_device::iSKZ() */ void pps4_device::iSKBI() { - const UINT8 i4 = m_I & 15; + const UINT8 i4 = m_I1 & 15; const UINT8 bl = m_B & 15; m_Skip = bl == i4 ? 1 : 0; } /** * @brief pps4_device::iSKF1 Skip if FF1 equals 1 - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 0110 1 cyc SKF1 + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x16 0001 0110 1 SKF1 * * Symbolic equation - * ----------------------------- + * ---------------------------------- * Skip if FF1 = 1 */ void pps4_device::iSKF1() @@ -1106,12 +1106,12 @@ void pps4_device::iSKF1() /** * @brief pps4_device::iSKF2 Skip if FF2 equals 1 - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 0100 1 cyc SKF2 + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x14 0001 0100 1 SKF2 * * Symbolic equation - * ----------------------------- + * ---------------------------------- * Skip if FF2 = 1 */ void pps4_device::iSKF2() @@ -1121,12 +1121,12 @@ void pps4_device::iSKF2() /** * @brief pps4_device::iRTN Return - * OPCODE cycles mnemonic - * ----------------------------- - * 0000 0101 1 cyc RTN + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x05 0000 0101 1 RTN * * Symbolic equation - * ----------------------------- + * ---------------------------------- * P <- SA, SA <-> SB * * This instruction executes a return from subroutine @@ -1143,13 +1143,13 @@ void pps4_device::iRTN() } /** - * @brief pps4_device::iRTN Return - * OPCODE cycles mnemonic - * ----------------------------- - * 0000 0111 1 cyc RTNSK + * @brief pps4_device::iRTNSK Return and skip + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x07 0000 0111 1 RTNSK * * Symbolic equation - * ----------------------------- + * ---------------------------------- * P <- SA, SA <-> SB * P <- P + 1 * @@ -1167,14 +1167,14 @@ void pps4_device::iRTNSK() } /** - * @brief pps4_device::IOL - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 1100 2 cyc IOL yy - * yyyy yyyy + * @brief pps4_device::IOL Input / Output Long + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x1c 0001 1100 2 IOL yy + * yyyy yyyy * * Symbolic equation - * ----------------------------- + * ---------------------------------- * ~A -> Data Bus * A <- ~Data Bus * I2 -> I/O device @@ -1189,6 +1189,9 @@ void pps4_device::iRTNSK() * device is transferred to the accumulator inverted. * * FIXME: Is BL on the I/D:8-5 lines during the I/O cycle? + * The ROM, RAM, I/O chips A17xx suggest this, because they + * expect the value of BL to address one of the sixteen + * input/output lines. */ void pps4_device::iIOL() { @@ -1203,12 +1206,12 @@ void pps4_device::iIOL() /** * @brief pps4_device::iDIA Discrete input group A - * OPCODE cycles mnemonic - * ----------------------------- - * 0010 0111 1 cyc DIA + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x27 0010 0111 1 DIA * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <- DIA * * Data at the inputs to discrete group A is @@ -1221,12 +1224,12 @@ void pps4_device::iDIA() /** * @brief pps4_device::iDIB Discrete input group B - * OPCODE cycles mnemonic - * ----------------------------- - * 0010 0011 1 cyc DIB + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x23 0010 0011 1 DIB * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A <- DIB * * Data at the inputs to discrete group B is @@ -1239,12 +1242,12 @@ void pps4_device::iDIB() /** * @brief pps4_device::iDOA Discrete output - * OPCODE cycles mnemonic - * ----------------------------- - * 0001 1101 1 cyc DOA + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x1d 0001 1101 1 DOA * * Symbolic equation - * ----------------------------- + * ---------------------------------- * DOA <- A * * The contents of the accumulator are transferred @@ -1257,12 +1260,12 @@ void pps4_device::iDOA() /** * @brief pps4_device::iSAG Special address generation - * OPCODE cycles mnemonic - * ----------------------------- - * 0010 1101 1 cyc SAG + * HEX BINARY CYCLES MNEMONIC + * ---------------------------------- + * 0x2d 0001 0011 1 SAG * * Symbolic equation - * ----------------------------- + * ---------------------------------- * A/B Bus (12:5) <- 0000 0000 * A/B Bus (4:1) <- BL(4:1) * Contents of B remains unchanged @@ -1283,13 +1286,13 @@ void pps4_device::iSAG() ***************************************************************************/ void pps4_device::execute_one() { - m_I = ROP(); + m_I1 = ROP(); if (m_Skip) { m_Skip = 0; - LOG(("%s: skip op:%02x\n", __FUNCTION__, m_I)); + LOG(("%s: skip op:%02x\n", __FUNCTION__, m_I1)); return; } - switch (m_I) { + switch (m_I1) { case 0x00: iLBL(); break; @@ -1528,22 +1531,22 @@ void pps4_device::device_start() save_item(NAME(m_C)); save_item(NAME(m_FF1)); save_item(NAME(m_FF2)); - save_item(NAME(m_I)); + save_item(NAME(m_I1)); save_item(NAME(m_I2)); save_item(NAME(m_Ip)); state_add( PPS4_PC, "PC", m_P ).mask(0xFFF).formatstr("%03X"); - state_add( PPS4_A, "A", m_A ).formatstr("%01X"); - state_add( PPS4_X, "X", m_X ).formatstr("%01X"); + state_add( PPS4_A, "A", m_A ).formatstr("%01X"); + state_add( PPS4_X, "X", m_X ).formatstr("%01X"); state_add( PPS4_SA, "SA", m_SA ).formatstr("%03X"); state_add( PPS4_SB, "SB", m_SB ).formatstr("%03X"); - state_add( PPS4_Skip, "Skip", m_Skip ).formatstr("%01X"); - state_add( PPS4_SAG, "SAG", m_SAG ).formatstr("%03X"); - state_add( PPS4_B, "B", m_B ).formatstr("%03X"); - state_add( PPS4_I2, "I", m_I ).formatstr("%02X").noshow(); - state_add( PPS4_I2, "I2", m_I2 ).formatstr("%02X").noshow(); - state_add( PPS4_Ip, "Ip", m_Ip ).formatstr("%02X").noshow(); - state_add( STATE_GENPC, "GENPC", m_P ).noshow(); + state_add( PPS4_Skip, "Skip", m_Skip ).formatstr("%01X"); + state_add( PPS4_SAG, "SAG", m_SAG ).formatstr("%03X"); + state_add( PPS4_B, "B", m_B ).formatstr("%03X"); + state_add( PPS4_I1, "I1", m_I1 ).formatstr("%02X").noshow(); + state_add( PPS4_I2, "I2", m_I2 ).formatstr("%02X").noshow(); + state_add( PPS4_Ip, "Ip", m_Ip ).formatstr("%02X").noshow(); + state_add( STATE_GENPC, "GENPC", m_P ).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_C).formatstr("%3s").noshow(); m_icountptr = &m_icount; @@ -1578,7 +1581,7 @@ void pps4_device::device_reset() m_C = 0; // Carry flip-flop m_FF1 = 0; // Flip-flop 1 m_FF2 = 0; // Flip-flop 2 - m_I = 0; // Most recent instruction I(8:1) + m_I1 = 0; // Most recent instruction I(8:1) m_I2 = 0; // Most recent parameter I2(8:1) m_Ip = 0; // Previous instruction I(8:1) } diff --git a/src/emu/cpu/pps4/pps4.h b/src/emu/cpu/pps4/pps4.h index 710b5bfca5d..e5f46906a6c 100644 --- a/src/emu/cpu/pps4/pps4.h +++ b/src/emu/cpu/pps4/pps4.h @@ -17,6 +17,7 @@ enum PPS4_B, PPS4_Skip, PPS4_SAG, + PPS4_I1, PPS4_I2, PPS4_Ip, PPS4_GENPC = STATE_GENPC, @@ -90,7 +91,7 @@ private: UINT8 m_C; //!< Carry flip-flop UINT8 m_FF1; //!< Flip-flop 1 UINT8 m_FF2; //!< Flip-flop 2 - UINT8 m_I; //!< Most recent instruction I(8:1) + UINT8 m_I1; //!< Most recent instruction I(8:1) UINT8 m_I2; //!< Most recent parameter I2(8:1) UINT8 m_Ip; //!< Previous instruction I(8:1) |