Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- RAM = {}
- for regY=5,0,-1 do
- RAM[0x98+regY] = memory.readbyte(0x98+regY)
- end
- RAM[0x9D] = memory.readbyte(0x9D)
- RAM[0x9D] = bit.bor(RAM[0x9D],0x01)
- for regY=5,0,-1 do
- RAM[0x9F+regY] = 0
- end
- for regY=5,0,-1 do
- RAM[0x73] = memory.readbyte(0xFC76 + regY)
- RAM[0x6C] = 0x08
- while RAM[0x6C] > 0 do
- carry = 0;
- for regX = 5,0,-1 do
- if bit.band(RAM[0x9F+regX],0x80)>0 then
- nextCarry = 1;
- else
- nextCarry = 0;
- end
- RAM[0x9F+regX] = bit.band(2*RAM[0x9F+regX]+carry,0xFF)
- carry = nextCarry;
- end
- if bit.band(RAM[0x73],0x80)>0 then
- carry = 1
- else
- carry = 0
- end
- RAM[0x73] = bit.band(2*RAM[0x73],0xFF)
- if carry~=0 then
- carry=0
- for regX=5,0,-1 do
- RAM[0x9F+regX] = RAM[0x9F+regX] + RAM[0x98+regX] + carry
- if RAM[0x9F+regX] > 0xFF then
- RAM[0x9F+regX] = bit.band(RAM[0x9F+regX],0xFF)
- carry = 1
- else
- carry = 0
- end
- end
- end
- RAM[0x6C] = RAM[0x6C] - 1
- end
- end
- carry = 1
- for regX=5,0,-1 do
- regA = XOR(RAM[0x9F+regX],0xFF) + carry
- if regA>0xFF then
- regA = bit.band(regA,0xFF)
- carry = 1
- else
- carry = 0
- end
- RAM[0x98+regX] = regA
- end
- RAM[0x67] = bit.band(RAM[0x98],0x7F)
- RAM[0x66] = RAM[0x99]
- emu.print(string.format("%x",RAM[0x66]) .. " " .. string.format("%x",RAM[0x67]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement