0 Members and 1 Guest are viewing this topic.
I've got a Ti-34 multiview and I've always wanted to hack it, or find a hidden menu or something.
opcode fields cycles flags description 0 0000 1111114433---222 1 -- nop (f3=0), halt (f3=2) 0100 invalid 0200 2 -- PC = PC + 1 + reg[f2] 0300 3 -- pop PC 1 0400 1111114433332222 2 -- M = low byte of ROM[reg7:reg6:reg5:reg4] 0500 2 -- M = high byte of ROM[reg7:reg6:reg5:reg4] 0600 1 -- M = f2, L = L + f3 0700 1 -- M = f3:f2 2 0800 11111144----2222 2 ZC add M, f2 0900 invalid 0A00 2 ZC sub M, f2 0B00 invalid 3 0C00 11111144----2222 2 Z- and M, f2 0D00 2 Z- or M, f2 0E00 2 Z- xor M, f2 0F00 1 ZC cmp M, f2 4 1000 111111---------- invalid 5 1400 1111114433332222 2 -- M = WRam[f3:f2] 1500 invalid 1600 4 -- swap M and WRam[f3:f2] 1700 invalid 6 1800 111111443333---- 3 ZC block add WRam[f3:L] into WRam[H:L]: loops for A nybbles (0 = 16), L auto-increments 1900 3 ZC block BCD add 1A00 3 ZC block subtract 1B00 3 ZC block BCD subtract 7 1C00 1111114433332222 2 -- block copy to WRam[H:(L+f2)] from WRam[f3:L] 1D00 2 -- block copy to WRam[H:(L+f2)] from WRam[f3:L] with decrementing L 1E00 4 -- block swap WRam[H:L] and WRam[f3:L] 1F00 2 ZC block compare WRam[H:L] to WRam[f3:L] 8 2000 111111444-----22 1 -C load M and shift right (count is offset by 1) 9 2400 111111444-----22 1 -C load M and shift left (count is offset by 1)10 2800 111111333333---- 1 -- push regpair[f3]11 2C00 111111333333---- 1 -- pop regpair[f3]12 3000 111111444333--22 1 -C shift right (count is offset by 1)13 3400 111111444333--22 1 -C shift left (count is offset by 1)14 3800 111111333333---- 1 -- reg[f3] = M15 3C00 111111333333---- 1 -- M = reg[f3]16 4000 1111114443332222 1 ZC add reg[f4], reg[f3], f217 4400 111111444333-222 1 ZC add reg[f4], reg[f3], reg[f2]18 4800 1111114443332222 1 ZC sub reg[f4], reg[f3], f219 4C00 111111444333-222 1 ZC sub reg[f4], reg[f3], reg[f2]20 5000 1111113333332222 1 -- reg[f3] = f221 5400 111111444333-222 1 ZC adc reg[f4], reg[f3], reg[f2]22 5800 1111114433332222 1 -- regpair[f4*2] = f3:f223 5C00 111111444333-222 1 ZC sbc reg[f4], reg[f3], reg[f2]24 6000 1111114443332222 1 Z- and reg[f4], reg[f3], f225 6400 111111444333-222 1 Z- and reg[f4], reg[f3], reg[f2]26 6800 1111114443332222 1 Z- or reg[f4], reg[f3], f227 6C00 111111444333-222 1 Z- or reg[f4], reg[f3], reg[f2]28 7000 1111114443332222 1 Z- xor reg[f4], reg[f3], f229 7400 111111444333-222 1 Z- xor reg[f4], reg[f3], reg[f2]30 7800 111111333333---- 1 -- regpair[f3] = M31 7C00 111111333333---- 1 -- M = regpair[f3]32 8000 1111444433332222 1 -- WRam[f4:f3] = f236 9000 1111222222222222 0 -- call40 A000 1111222222222222 2 -- call, setting high nybble of PC to zero44 B000 1111222222222222 1 -- jump if Z=148 C000 1111222222222222 1 -- jump if Z=052 D000 1111222222222222 1 -- jump if C=156 E000 1111222222222222 1 -- jump if C=060 F000 1111222222222222 1 -- jump, sets high nybble of PC to reg7 if previous instruction modified reg7
Not yet, but if someone takes the time to work on that document and on the calculator ROM dumps (which can be extracted from the official emulators with my tool linked in the TI-Bank news), it might be the case soon.