Hey all,
Figured I'd make a thread for this as it's getting relatively close to an initial (albeit somewhat buggy at first) build of the successor to LaiNES, NESalizer
Why start a whole new emulator might you ask?
LaiNES was a giant pain in the ass to debug. Credit where credit is due to the original author, but they attempted to write the emu in as few lines as possible and as a result was nightmarish to debug. I spent many hours attempting to track down where all the memory leaks were to no avail. Additionally, LaiNES compatibility was very low and answering why games didn't run by constantly linking the compatibility chart wore me thin.
So how is this better?
For one, the initial port ran better even with the compiler optimization flag set to -O1, compared with -O3 for LaiNES. Now obviously the emulator this is based on may be a bit less accurate, but I'd rather my games playable frankly. In addition, the code is FAR more readable and means I can actually effectively debug.
What can it currently do?
Load a ROM one time, and run smoothly.
Warning: exit the emulator by hitting the home button. Trying to exit through the menu currently crashes the switch.
<thing> is broken! What am I doing wrong?
Probably nothing. The current state is a WIP. Here's a list of broken stuff I'm working on:
- Pausing emulation
- Loading a new ROM after the initial one is loaded.
- Configurable Controls
- Clean Exits
- Reconfiguring video settings
- Menu controls are janky as hell
- Palette seems...off. Red Looks very brown, not sure what's up with that yet.
So how do I test this out?
There is no release as of yet, because it's broken in many ways that will give bad first impressions.
So with all of that said, the repo is here:
https://github.com/Kevoot/NESalizer
As soon as I have a release, I'll be sure to update this immediately. See you all soon.
Figured I'd make a thread for this as it's getting relatively close to an initial (albeit somewhat buggy at first) build of the successor to LaiNES, NESalizer
Why start a whole new emulator might you ask?
LaiNES was a giant pain in the ass to debug. Credit where credit is due to the original author, but they attempted to write the emu in as few lines as possible and as a result was nightmarish to debug. I spent many hours attempting to track down where all the memory leaks were to no avail. Additionally, LaiNES compatibility was very low and answering why games didn't run by constantly linking the compatibility chart wore me thin.
So how is this better?
For one, the initial port ran better even with the compiler optimization flag set to -O1, compared with -O3 for LaiNES. Now obviously the emulator this is based on may be a bit less accurate, but I'd rather my games playable frankly. In addition, the code is FAR more readable and means I can actually effectively debug.
What can it currently do?
Load a ROM one time, and run smoothly.
Warning: exit the emulator by hitting the home button. Trying to exit through the menu currently crashes the switch.
<thing> is broken! What am I doing wrong?
Probably nothing. The current state is a WIP. Here's a list of broken stuff I'm working on:
- Pausing emulation
- Loading a new ROM after the initial one is loaded.
- Configurable Controls
- Clean Exits
- Reconfiguring video settings
- Menu controls are janky as hell
- Palette seems...off. Red Looks very brown, not sure what's up with that yet.
So how do I test this out?
There is no release as of yet, because it's broken in many ways that will give bad first impressions.
So with all of that said, the repo is here:
https://github.com/Kevoot/NESalizer
As soon as I have a release, I'll be sure to update this immediately. See you all soon.
Last edited by Kevoot,