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
3,136
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,126
Trophies
1
Age
31
XP
3,701
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
3,136
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
3,136
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,126
Trophies
1
Age
31
XP
3,701
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 [emoji14]
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
3,136
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 [emoji14]
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
3,136
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

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    you know to help them find their checkbook lol
  • BigOnYa @ BigOnYa:
    Gta4 was NewYork or Chicago, gta5 is California
  • K3Nv2 @ K3Nv2:
    Damn camera phones catching crimes
  • Psionic Roshambo @ Psionic Roshambo:
    Always some women screaming... You break a few thousand dollars worth of crap in someone's living room and they scream lol
  • Psionic Roshambo @ Psionic Roshambo:
    lol Ken yeah the things I did as a kid I am soooo glad those didn't exist
  • K3Nv2 @ K3Nv2:
    If someone breaks my $20 TV stand their nose is getting broke
  • Psionic Roshambo @ Psionic Roshambo:
    Psi would be doing like 300-3,000 years in prison lol
  • K3Nv2 @ K3Nv2:
    Have some in closet allegations?
  • Psionic Roshambo @ Psionic Roshambo:
    Someone tried to pull a gun on me once, they reached into the couch thinking I wouldn't notice, quick kick to the arm snapping it between the wrist and elbow broke like a swing lol I reached into the couch to see what was in there, cool a free .380 lol had to hit him with it a few times to remind him not to do it again lol
  • Psionic Roshambo @ Psionic Roshambo:
    He had the 20K he owed the very next day it was a miracle lol
  • Psionic Roshambo @ Psionic Roshambo:
    Psi was a bad bad man at one point lol
  • BigOnYa @ BigOnYa:
    We need a GTA based on your life, or at least put you in 6 as a character.
  • Psionic Roshambo @ Psionic Roshambo:
    I don't think people would believe 10% of the things I have done lol thank god...
  • Psionic Roshambo @ Psionic Roshambo:
    I have a giant check list of impossible things, and I haven't done them all yet lol
  • K3Nv2 @ K3Nv2:
    @Psionic Roshambo, Was the pot farmer in San andreas
  • Psionic Roshambo @ Psionic Roshambo:
    I tell people I wrestled a 5 foot alligator and they get this smile like this guy is full of shit lol the reality is I am sad it got away.... I wanted a pet alligator lol
  • BigOnYa @ BigOnYa:
    You live in Florida, so I believe it, you guys are crazy.
  • Psionic Roshambo @ Psionic Roshambo:
    At the time I would have probably fed it people lol
  • Psionic Roshambo @ Psionic Roshambo:
    Seriously cocaine not even once lol
  • BigOnYa @ BigOnYa:
    Not even once, but 100's of times
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    My girlfriend at the time, she had me stay up with her all night because some how the crazy bitch had spent like 12 hours snorting 2 8 balls, didn't use any water (gotta clean your nose) so she had so much crusted in her nose I was sure she was gonna blow up her heart. I mean this was the stuff right off the boat so absolutely pure. ugghh so annoying
  • Psionic Roshambo @ Psionic Roshambo:
    Also doing like 320 dollars worth of coke in half a day lol damn it
  • Psionic Roshambo @ Psionic Roshambo:
    hmmm 360 even lol
  • Psionic Roshambo @ Psionic Roshambo:
    Well I was getting a discount so 320 is probably right
    Psionic Roshambo @ Psionic Roshambo: Well I was getting a discount so 320 is probably right