| if (cpu.__ophold === 0){ | if (cpu.__ophold === 0){ | ||||
| cpu.__opv = (mode === 9) ? cpu.__AR : cpu.__opv; | cpu.__opv = (mode === 9) ? cpu.__AR : cpu.__opv; | ||||
| cpu.C = BITM.val(cpu.__opv, 7); | cpu.C = BITM.val(cpu.__opv, 7); | ||||
| cpu.__opv = cpu.__opv << 1; | |||||
| cpu.__opv = (cpu.__opv << 1) & 0xFF; | |||||
| cpu.__ophold = 1; | cpu.__ophold = 1; | ||||
| } else { | } else { | ||||
| if (mode === 9){ | if (mode === 9){ | ||||
| } | } | ||||
| function ROL(cpu){ | function ROL(cpu){ | ||||
| let pmode = [null, 0x26, 0x36, null, 0x2E, 0x3E, null, null, null, 0x2A].indexOf(cpu.__op); | |||||
| if (cpu.__ophold === 1){pmode = -1;} | |||||
| if (cpu.__ophold === 1 || ProcessOp(cpu, pmode) === true){ | |||||
| if (cpu.__ophold === 0){ | |||||
| let v = cpu.C; | |||||
| cpu.__opv = (mode === 9) ? cpu.__AR : cpu.__opv; | |||||
| cpu.C = BITM.val(cpu.__opv, 7); | |||||
| cpu.__opv = ((cpu.__opv << 1) + v) & 0xFF; | |||||
| cpu.__ophold = 1; | |||||
| } else { | |||||
| if (mode === 9){ | |||||
| cpu.__AR = cpu.__opv; | |||||
| } else { | |||||
| cpu.__mem.byte = cpu.__opv; | |||||
| } | |||||
| cpu.Z = (this.__opv === 0); | |||||
| cpu.N = BITM.val(this.__opv, 7); | |||||
| cpu.__op = -1; | |||||
| cpu.__ophold = 0; | |||||
| } | |||||
| } | |||||
| } | } | ||||
| function ROR(cpu){ | function ROR(cpu){ | ||||
| let pmode = [null, 0x66, 0x76, null, 0x6E, 0x7E, null, null, null, 0x6A].indexOf(cpu.__op); | |||||
| if (cpu.__ophold === 1){pmode = -1;} | |||||
| if (cpu.__ophold === 1 || ProcessOp(cpu, pmode) === true){ | |||||
| if (cpu.__ophold === 0){ | |||||
| let v = cpu.C; | |||||
| cpu.__opv = (mode === 9) ? cpu.__AR : cpu.__opv; | |||||
| cpu.C = BITM.val(cpu.__opv, 0); | |||||
| cpu.__opv = ((cpu.__opv >> 1) + (v * 0x80)) & 0xFF; | |||||
| cpu.__ophold = 1; | |||||
| } else { | |||||
| if (mode === 9){ | |||||
| cpu.__AR = cpu.__opv; | |||||
| } else { | |||||
| cpu.__mem.byte = cpu.__opv; | |||||
| } | |||||
| cpu.Z = (this.__opv === 0); | |||||
| cpu.N = BITM.val(this.__opv, 7); | |||||
| cpu.__op = -1; | |||||
| cpu.__ophold = 0; | |||||
| } | |||||
| } | |||||
| } | } | ||||
| function RTI(cpu){ | function RTI(cpu){ |