Closed hellow554 closed 3 years ago
you need to check the processor options, you can also sometimes need to set the Register value. Make sure ctx_EF is 0. First clear the place where the SEP or REP is down. then modify the EF flag, then 'd' again and it should then track the SEP/REP. If you are jumping to code that assumes a different value from the code above, you will need to manually set the ctx_XF or ctx_MF flags either in the register settings window of the processor settings window. ( both in the right click context menu)
So in my case, where I try to disassemble a SNES game, the EF flag should always be set? Am I correct?
well not always. Some games do use emulation mode, but its very rare. Basically the 2 or 3 instruction from the emulation RESET vector will probably be clc xce and from then on EF will be 0
0 = 65816 mode 1 = 65C02 mode
also on MF/XF 1 = 8 bit 0 = 16 bit
but the initial state of the machine at RESET entry point is 1 for all 3. From there you will need to dissemble. Then follow the JSR/JSL/JMP/JML/BRX etc and trace out each code called and what the MF/XF flags need to be.
thanks for the answer. I try to take a look into this this week.
really should be