Homebrew [Release] NeoPop SDL - Neogeo Pocket emulator

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
2,983
Country
Italy
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,

Billy Acuña

Well-Known Member
Member
Joined
Oct 10, 2015
Messages
3,124
Trophies
1
Age
29
XP
3,614
Country
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/")?
 

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
2,983
Country
Italy
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/")?

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 shows 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.
 
Last edited by nop90,

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
2,983
Country
Italy
Fixed the code to run on real Hardware, added a CIA buils and uploaded everything on github.

Links on the OP.

Happy retrogaming.
 
D

Deleted User

Guest
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!
 

Billy Acuña

Well-Known Member
Member
Joined
Oct 10, 2015
Messages
3,124
Trophies
1
Age
29
XP
3,614
Country
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.
 

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
2,983
Country
Italy
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.

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.
 
  • Like
Reactions: Billy Acuña

nop90

Well-Known Member
OP
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
2,983
Country
Italy
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
 
  • Like
Reactions: Cid2mizard
General chit-chat
Help Users
    Dark_Phoras @ Dark_Phoras: Thank you, Bill Gates