WIP NESalizer - Successor to LaiNES

Discussion in 'Switch - Emulation, Homebrew & Software Projects' started by Kevoot, Aug 28, 2018.

  1. Kevoot
    OP

    Kevoot Advanced Member

    Newcomer
    4
    May 23, 2018
    United States
    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.
     
    Last edited by Kevoot, Aug 28, 2018
  2. TamarindoJuice

    TamarindoJuice GBAtemp Regular

    Member
    4
    Jan 30, 2016
    Brazil
    Thumbs up, i hope it go further than many emulator projects that arise here but get abandoned soon or late.
     
  3. KiiWii

    KiiWii Contributor

    pip Contributor
    17
    Nov 17, 2008
    United Kingdom
    Great work, thanks!
     
  4. Nevercholt

    Nevercholt GBAtemp Regular

    Member
    3
    Jun 30, 2018
    Netherlands
    Thank you!
     
  5. Eskorbuto

    Eskorbuto Member

    Newcomer
    1
    Jul 26, 2018
    Australia
    I hope I can play punch out in this emulator, in laines I could not. Thanks for working in this emulator
     
  6. Kevoot
    OP

    Kevoot Advanced Member

    Newcomer
    4
    May 23, 2018
    United States
    Can confirm so far working: Contra, Zelda 1&2, Mario 1, 2, and 3 (even the duck hunt version of no. 1), and of course Punchout. The mappers supported are in the readme, at some point I'll cross reference implemented mappers with game names and include a list of games expected to work.
     
    slaphappygamer likes this.
  7. John Player

    John Player Member

    Newcomer
    3
    Mar 14, 2009
    Brazil
    Sounds promising. Nothing beats a good ol´NES on the go.
     
  8. focusonme

    focusonme GBAtemp Regular

    Member
    3
    Jun 30, 2016
    United States
    Nice work! Can you make Duck Hunt compatible with joycons or buttons instead of lightgun?
     
  9. Kevoot
    OP

    Kevoot Advanced Member

    Newcomer
    4
    May 23, 2018
    United States
    Probs not.
     
    focusonme likes this.
  10. focusonme

    focusonme GBAtemp Regular

    Member
    3
    Jun 30, 2016
    United States
    No problem for me, still looking forward for this emulator. Nice job
     
  11. Mrcookjr

    Mrcookjr Advanced Member

    Newcomer
    2
    Aug 21, 2018
    United States
    Looking forward to seeing it.
     
  12. Kevoot
    OP

    Kevoot Advanced Member

    Newcomer
    4
    May 23, 2018
    United States
    Update: things are moving along smoothly. Implementing a pause for the emu/sdl threads for transitioning between UI and running game. Save/Load states are working, controls are all set. Been pretty busy with work and classes but I should be able to push out an initial release within the next week or two.

    If opengl support makes its way into sdl before then I'll make sure that's working before the release as well.
     
    Last edited by Kevoot, Sep 12, 2018
  13. Kevoot
    OP

    Kevoot Advanced Member

    Newcomer
    4
    May 23, 2018
    United States
    Update: working out a weird bug where the video renders properly and at the right fps only when using nxlink for debugging. Once I get that bug sorted out I'll be doing an initial release. Possibly tomorrow if I can get through my other work in a reasonable time, otherwise probably Tuesday.
     
  14. Mrcookjr

    Mrcookjr Advanced Member

    Newcomer
    2
    Aug 21, 2018
    United States
    Awesome.
     
  15. AcuRaw

    AcuRaw Member

    Newcomer
    1
    Jul 30, 2012
    United States
    Sorry for the noob question but how do I run this?

    When I go to the GitHub link, I see there are a dozen different files. What files do I need on my SD card?
     
    Last edited by AcuRaw, Sep 15, 2018
  16. Mrcookjr

    Mrcookjr Advanced Member

    Newcomer
    2
    Aug 21, 2018
    United States
    You need the nro file I believe. That's how I used to have it installed if I remember. Look under releases maybe.
     
  17. AcuRaw

    AcuRaw Member

    Newcomer
    1
    Jul 30, 2012
    United States
    That's what I was having trouble with. I couldn't find a NRO file and there in nothing available under releases.
     
  18. Kevoot
    OP

    Kevoot Advanced Member

    Newcomer
    4
    May 23, 2018
    United States
    Read my first post again. This is a WIP and I have not posted an official release yet. I will be releasing as soon as I deem it to be useable enough by the general public. Right now there are a few outstanding issues I would like fixed before that state is achieved.
     
    wicksand420 and TamarindoJuice like this.
  19. TamarindoJuice

    TamarindoJuice GBAtemp Regular

    Member
    4
    Jan 30, 2016
    Brazil
    Not trying to bother you aboutETA but... It's going to be released anytime soon dear dev?
     
  20. Type_O_Dev

    Type_O_Dev GBAtemp Advanced Fan

    Member
    7
    Dec 12, 2017
    United States
    You could just build it with devkitpro. looking at the amount of commits the dev is very active with this project
    @Kevoot Great Work! I look forward to your progress
     
Loading...