mirror of https://github.com/bsnes-emu/bsnes.git
533aa97011
byuu says: Cydrak, I moved the step from the opcode decoder and opcodes themselves into bus_(read,write)(byte,word), to minimize code. If that's not feasible for some reason, please let me know and I'll change it back to your latest WIP. This has your carry flag fix, the timer skeleton (doesn't really work yet), the Booth two-bit steps, and the carry flag clear thing inside multiply ops. Also added the aforementioned reset delay and reset bit stuff, and fixed the steps to 21MHz for instructions and 64KHz for reset pulse. I wasn't sure about the shifter extra cycles. I only saw it inside one of the four (or was it three?) opcodes that have shifter functions. Shouldn't it be in all of them? The game does indeed appear to be fully playable now, but the AI doesn't exactly match my real cartridge. This could be for any number of reasons: ARM CPU bug, timer behavior bug, oscillator differences between my real hardware and the emulator, etc. However ... the AI is 100% predictable every time, both under emulation and on real hardware. - For the first step, move 九-1 to 八-1. - The opponent moves 三-3 to 四-3. - Now move 七-1 to 六-1. - The opponent moves 二-2 to 八-8. However, on my real SNES, the opponent moves 一-3 to 二-4. |
||
---|---|---|
bsnes | ||
snesfilter | ||
snespurify | ||
snesshader |