Previous 199869 Revisions Next

r33724 Sunday 7th December, 2014 at 05:09:18 UTC by Jürgen Buchmüller
Fix previous opcode detection for LB and LBL. Fix disassembler for LBL (nw)
[src/emu/cpu/pps4]pps4.c pps4dasm.c

trunk/src/emu/cpu/pps4/pps4.c
r242235r242236
115115 */
116116inline UINT8 pps4_device::ROP()
117117{
118    m_Ip = m_I & 0xf0;      // set previous opcode mask
118    m_Ip = m_I;        // set previous opcode
119119    m_I = m_direct->read_decrypted_byte(m_P & 0xFFF);
120120    m_P = (m_P + 1) & 0xFFF;
121121    m_icount -= 1;
r242235r242236
580580void pps4_device::iLDI()
581581{
582582    // previous LDI instruction?
583    if (0x70 == m_Ip) {
583    if (0x70 == (m_Ip & 0xf0)) {
584584        LOG(("%s: skip prev:%02x op:%02x\n", __FUNCTION__, m_Ip, m_I));
585585        return;
586586    }
r242235r242236
792792}
793793
794794/**
795 * @brief pps4_device::iLB
795 * @brief pps4_device::iLB Load B indirect
796796 * OPCODE     cycles  mnemonic
797797 * -----------------------------
798798 * 1100 xxxx  2 cyc    LB x
r242235r242236
827827void pps4_device::iLB()
828828{
829829    // previous LB or LBL instruction?
830    if (0xc0 == m_Ip|| 0x00 == m_Ip) {
830    if (0xc0 == (m_Ip & 0xf0) || 0x00 == m_Ip) {
831831        LOG(("%s: skip prev:%02x op:%02x\n", __FUNCTION__, m_Ip, m_I));
832832        return;
833833    }
r242235r242236
843843}
844844
845845/**
846 * @brief pps4_device::iLBL
846 * @brief pps4_device::iLBL Load B long
847847 * OPCODE     cycles  mnemonic
848848 * -----------------------------
849849 * 0000 0000  2 cyc    LBL
r242235r242236
869869{
870870    const UINT8 i8 = ~ARG() & 255;
871871    // previous LB or LBL instruction?
872    if (0xc0 == m_Ip || 0x00 == m_Ip) {
872    if (0xc0 == (m_Ip & 0xf0) || 0x00 == m_Ip) {
873873        LOG(("%s: skip prev:%02x op:%02x\n", __FUNCTION__, m_Ip, m_I));
874874        return;
875875    }
trunk/src/emu/cpu/pps4/pps4dasm.c
r242235r242236
418418
419419    if (tok & t_I8c) {
420420        // 8 bit immediate offset into page
421        UINT16 arg = ~ARG(pc++) & 255;
421        UINT16 arg = pc & ~0xff;
422        arg |= ~ARG(pc++) & 255;
422423        dst += sprintf(dst, "%03x", arg);
423424    }
424425


Previous 199869 Revisions Next


© 1997-2024 The MAME Team