No worries, my life has been busy too. I'm just glad I found the time to finish this almost 5-year project.
July 04, 2015, 10:16:32 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
So, since FCEUX will not
crash on me, I have to test on something else. NesterJ, Nestopia and flash carts all crash at the same place: the dialogue. This happens when Bank #$10 is loaded. Bank #$10 is loaded just like any other bank, with no real modification.
This is all handled in Bank #$0F. So when dialogue is loaded in Nestopia, I get a message in the log.
Emulator: loading "C:\Users\Heath\Desktop\6502\Faxanadu Restoration (T-HudsonUSA) v1.00.nes"
Ines: 512k PRG-ROM set
Ines: battery set
Ines: horizontal mirroring set
Ines: NTSC set
Ines: mapper 1 set
Board: 512k PRG-ROM
Board: 8k W-RAM
Board: 8k V-RAM
Board: MMC rev. B2
Emulator: battery data file "C:\Users\Heath\Desktop\6502\save\Faxanadu Restoration (T-HudsonUSA) v1.00.sav" not found
Cpu: warning, TOP opcode executed
Cpu: warning, DCP opcode executed
Cpu: warning, SRE opcode executed
Cpu: warning, DOP opcode executed
I'm not sure what this is saying, but I made a test ROM. It was made to print dialogue endlessly, and without running code in Bank #$10. Instead, Bank #$10 was only to be loaded for the purpose of the dialogue itself. On FCEUX, the dialogue would print correctly. On NesterJ, it would print random characters from my font. This tells me that only FCEUX is reading Bank #$10, but the bank switch is unsuccessful on NesterJ, Nestopia, and a flash cart.
Okay, so I looked it up. It's saying that I've executed Double and Triple NOPs. Yep, that's true, and easily fixed. Then there's DCP... "Subtract 1 from memory (without borrow)". Wait, I *need* to have carry set when I DEC or SBC? ...Or does it mean simply that it ran an illegal opcode? As far as I know, other than my DOPs and TOPs, I don't really use extended instructions. Then there's SRE... "Shift right one bit in memory, then EOR accumulator with memory."
FCEUX doesn't worry about this stuff, so I didn't really pay attention to it. I know I can fix most of this, but... I'm not quite sure what to do about the SRE, if it's necessary.