mirror of https://github.com/bsnes-emu/bsnes.git
Update to bsnes v033r07? release.
And another one. I've re-written the DMA state machine. I decided to keep it in one FSM instead of two separate ones, because they honestly share so much. But I rewrote it to be a lot cleaner, and to handle some really exceptional edge cases. Due to the design, I was even able to make the HDMA during DMA edge case "transparent", eg the same codepath is used for normal HDMA and for HDMA during DMA :D New WIP passes the last four tests in test_hdmatiming.smc. The ROM posted doesn't validate the last four yet, so you have to compare the SRAM file to the source logged values if you care to. That should be everything with DMA and HDMA timing now, thankfully. Really happy with that codepath for the very first time. Such an improvement from the "don't even worry about HDMA syncing" code I had a few versions ago. I also reduced the DRAM refresh rotation from 7-lines of code testing against the NTSC color burst case to 1-line, using the DMA counter (dram_refresh_pos = 530 + 8 - dma_counter()) Lastly, I added a flush command to the status bar. Any important messages will now flush all buffered ones to display the new one. Eg load 10 games back-to-back and it'll say the name of the new game immediately, instead of scrolling through the other 9. It will still buffer lesser important ones, like unsupported chip and UPS patch applied messages. I also removed config / locale path display, because it annoyed me. Nearing a release. I want to state machine neviksti's SPC7110 decompression code, and I should be ready on my end. FitzRoy, I'll give you the final word. If you want controller port selection moved to "System", I'll do so. Any show stoppers should be mentioned now. I can't fix the "crash with Unicode characters in the executable path" issue just yet, so that'll have to wait. [No archive available]
This commit is contained in:
parent
b1b146fd7d
commit
acee547da9