[Release] NeoPop SDL - Neogeo Pocket emulator

Discussion in '3DS - Homebrew Development and Emulators' started by nop90, May 30, 2017.

  1. nop90
    OP

    nop90 GBAtemp Maniac

    Member
    1,354
    2,036
    Jan 11, 2014
    Italy
    Rome
    neopop.png

    It's about a year since I worked on an emulator port, mostly because the 3ds is not the best oprion to run emulators, but in one of my PC folders there where the sources of NeoPop SDL waiting to be tested with my SDL lib.

    So yesterday I decided to compile it making only minor changes to the code (only set default dirs and key bindings) and with my great surprise it worked at the first try.

    Since I'm working on a lot of other projects, don't expect I will put too much time in enhacing this emulator (forget a nice menu gui or custom backgrounds to replace black borders), but at least I'll add the basic functionalities he needs.

    Notes to the alpha release (v0.1)
    - The emulator is fully working, but lacks of a gui for changing the options and loading roms.
    - To test the emulator put a rom image in the 3ds SD in the folder roms/neogeopocket, and rename the rom in rom.ngc.
    - Frameskip can be increased with R button and decreased with L. On a n3ds select a value betwen 1 and 2.

    Source code is available on my Github (https://github.com/nop90/Neopop-SDL)

    The emulator is available in 3DSX and CIA format (https://github.com/nop90/Neopop-SDL/releases)

    Changelog

    Ver. 0.4 (14 June 2017)
    • Completed the menu
    • fixed the grayscale rendering
    • removed frameskip change with L/R buttons and fullscreen toggling with Y
    Ver. 0.3 (12 June 2017)
    • Added a basic menu
    Ver. 0.2 (09 June 2017)
    • Added a basic rom loading interface on startup (changing rom needs exiting and restarting the emulator)
    • Added fullscreen toggling
    Ver. 0.1 (30 May 2017)
    • Preview version
    Controls

    Keypad - directions
    A - A button
    B - B button
    X - Option button
    START - Pause emulator
    SELECT - Exit
    L and R - Chage frameskip
    Y - Toggle fullscreen

    Known Bugs

    -

    To Do List

    - Extend the Menu with other options

    Screenshots

    ngp1.png ngp2.png ngp3.png ngp4.png ngp5.png
     
    Last edited by nop90, Jun 14, 2017


  2. LeoIeiri

    LeoIeiri GBAtemp Regular

    Member
    202
    23
    May 10, 2017
    Tokyo
    This is awesome :)
     
  3. duwen

    duwen Old Man Yoshi

    Member
    1,161
    642
    Sep 6, 2013
    Bullet Hell
    Looking forward to checking this out!
    I'm still a fan of your Handy And Pokemini ports :D
     
  4. Lukerz

    Lukerz Sloth. That's it.

    Member
    281
    106
    Apr 24, 2017
    United States
    Maryland
    Awesome! Good job!
     
  5. Billy Acuña

    Billy Acuña GBAtemp Addict

    Member
    2,026
    1,207
    Oct 10, 2015
    Mexico
    I don't know what happens, I'm trying to run Metal Slug without luck.
    Did you mean "rom.ngc" or "rom.ngp"?
    Also is the path "/roms/neogeopocket/" on the 3DS's SD card root or the root of your homebrew ("/3ds/neopop/roms/neogeopocket/")?
     
  6. nop90
    OP

    nop90 GBAtemp Maniac

    Member
    1,354
    2,036
    Jan 11, 2014
    Italy
    Rome
    The path for the rom is /roms/neogeopocket/rom.ngc, starting from the root of the SD.

    If the emulator can't find the rom, the bios swows a white screen and and on the bottom screen there is an error message.

    If happens something different, probably there is a problem on real HW (not tested yet on a 3ds).

    Probably it's better if you try it on Citra.
     
  7. CPunch

    CPunch Member

    Newcomer
    20
    30
    May 18, 2017
    United States
    Cool! Can't wait to check it out!
     
  8. mazingetter

    mazingetter Member

    Newcomer
    13
    1
    May 24, 2010
    Peru
    Nice one nop90!
     
  9. nop90
    OP

    nop90 GBAtemp Maniac

    Member
    1,354
    2,036
    Jan 11, 2014
    Italy
    Rome
    Fixed the code to run on real Hardware, added a CIA buils and uploaded everything on github.

    Links on the OP.

    Happy retrogaming.
     
  10. BL4Z3D247

    BL4Z3D247 GBAtemp Stoner

    Member
    1,527
    362
    Oct 22, 2008
    United States
    I'm so high, I don't even know!
    You released an emulator?! Awesome! Thanks for this @nop90 and I hope to see more sweet emulators from you. :)
     
    Last edited by BL4Z3D247, Jun 2, 2017
  11. B_E_P_I_S_M_A_N

    B_E_P_I_S_M_A_N oh no

    Member
    632
    2,205
    Jun 7, 2016
    United States
    Sixth Circle of Hell
    Good job! I was wondering if your SDL 1.2 port was viable for emulator creation on the 3DS. This opens up possibilities for other SDL-based emulators!
     
  12. Tenshi_Okami

    Tenshi_Okami GBAtemp Maniac

    Member
    1,359
    556
    Nov 3, 2015
    Puerto Rico
    Yay! More good stuff for the 3DS Homebrew Community! Thank you @nop90 !!!!
     
  13. Billy Acuña

    Billy Acuña GBAtemp Addict

    Member
    2,026
    1,207
    Oct 10, 2015
    Mexico
    Now it runs on the real hardware, sadly it doesn't run on a decent framerate on o3ds (I wanted to dream). I'll better stick on the Vita for NGP emulation atm
    Hope better luck for n3ds's users.
     
  14. nop90
    OP

    nop90 GBAtemp Maniac

    Member
    1,354
    2,036
    Jan 11, 2014
    Italy
    Rome
    I compiled this to test the SDL lib with an emulator: the result is good in terms of maturity of the libs, but as expected the speed isn't enough.

    Can't run full speed on a n3ds without framwskip. To have full speed, or at least almost full spedd, the emulator should be rewritten using higky optimized code with the ctrulib API.

    I'ts too much effort, this is why I'm no more working on emulators for the 3ds.
     
    Billy Acuña likes this.
  15. nop90
    OP

    nop90 GBAtemp Maniac

    Member
    1,354
    2,036
    Jan 11, 2014
    Italy
    Rome
    Released a small update: now there is a basic interface to select the rom to load when starting the emulator and is possible to toggle fullscreen with X.

    The ROM loaded can't be changed: exit the emulator and start it again.

    I'll add rom changing next time
     
    Cid2mizard likes this.
  16. Ramzitv1

    Ramzitv1 Member

    Newcomer
    12
    1
    Apr 17, 2017
    i just hope you get official release.
     
  17. nop90
    OP

    nop90 GBAtemp Maniac

    Member
    1,354
    2,036
    Jan 11, 2014
    Italy
    Rome
    What do you mean with "official"?
     
  18. Ramzitv1

    Ramzitv1 Member

    Newcomer
    12
    1
    Apr 17, 2017
    i meant with latest release.
     
  19. nop90
    OP

    nop90 GBAtemp Maniac

    Member
    1,354
    2,036
    Jan 11, 2014
    Italy
    Rome
    Sorry still can't understand.

    Maybe are you saying that I'm not using the latest version available of neopop sdl as base for my port?
     
  20. Ramzitv1

    Ramzitv1 Member

    Newcomer
    12
    1
    Apr 17, 2017
    i'm only saying you will get stable release soon.