![]() ![]() I have not tried it, but the ESP32 is indeed able to load code in RAM and execute it. Some structures benefited from being realigned as well. I've gained a few percents by using smaller types where possible, but the code is large and it takes time to test nothing breaks. But the rest of the emulator cannot be broken down further. Sound can also be in its own thread, when implemented. I'm sure this is an avenue worth exploring again in the future. Once synchronized the performance gain was a lot more modest, 10% perhaps. While it does provide good performance, it is incredibly glitchy if not synchronized. I moved some of the PPU rendering logic to the second score. It's not an ideal route to break games so I dismissed it. ![]() I managed about 5% speed gain before the games were too badly glitchy. If anyone is willing to teach me how to profile function calls on the esp32 I'd be very happy to have a second look.īut for the record, and if someome wants to pick up where I left it, here's a list of things I've tried or considered so far: The snes9x execution flow is pretty complicated so manually adding tracking code proved to be futile. The biggest reason is that I cannot figure out how to profile function calls on the esp32 (or if it is indeed possible). ![]() This is a quick update to let you know that I will stop working on this project. ROMS bigger than 2MB won't work, there isn't enough RAM Put snes9x.fw in /sdcard/odroid/firmware and put your roms in /sdcard/odroid/roms/snes/. In other words my experiment will probably never run perfectly but I will push it as far as my skills allow me to! However snes9x is written to be portable rather than ultra efficient on each specific architectures, which limits the amount of optimization that can be done short of rewriting it. The ESP32 is, on paper, capable of running SNES at full speed. Although I consider this very cool, it is very very early in development and it is not currently playable and might never be. It is already more advanced that the port described in this post and you can find test builds and details lower in this thread. UPDATE 2021: A new port of snes9x as part of retro-go is in the works. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |