NeoPop-SDLNeoGeo Pocket (Color) emulator


NeoPop-SDL [-ceghjMmSsv] [-C mode] [-f count] [-l state] [-P port] [-R host] [-y mode] filename


NeoPop-SDL is the SDL port of NeoPop, a portable NeoGeo Pocket emulator. It supports black&white and color games, game state saving, screenshots (BMP and PNG), sound and music, double- and triple-size scaling (both in software and hardware), full-screen-mode, joysticks and keyboard input, and the ability to read from ZIP files.
All options can be specified in the config file, neopoprc(5), or on the command line. Command-line options override config file settings.
The following options are supported:
-C mode
Describes the role NeoPop-SDL should play with regard to network play:
Disable network play.
Have client connect to us (start first).
Connect to server.
Defaults to none.
Start in colour mode (default: automatic). See also -g.
Emulate an English language NeoGeo Pocket (default). See also -j.
-f count
Set frameskip to count. The default frameskip is 1. Frameskip 2 means that every second frame is shown, thus increasing emulation speed since showing the graphics on screen is skipped half of the time. However, animation will be less smooth.
Start in greyscale mode (default: automatic). See also -c.
Show a short help message explaining the options.
Emulate a Japanese language NeoGeo Pocket. Some ROMs will show Japanese text instead of English if this option is chosen. See also -e.
-l state
Load start emulator state from file state. See the description for the F4 key below.
Do not use smoothed magnification modes. See also -m.
Use smoothed magnification modes (default). In double- and triple-size mode, the graphics will look less blocky, but this option has quite a performance impact.
-P port
Which TCP port to use for network play. Defaults to 7846.
-R host
Hostname of the server for network play.
Silent mode. Sounds and music are not played. See also -s.
Sounds and music are played (default). See also -S.
Display the version number.
-y mode
Specify when to use YUV overlay, can be one of never, fullscreen, magnified, or always. Default is magnified. Using YUV overlay allows hardware accelerated scaling on most newer graphics cards.
filename should obviously be a NeoGeo Pocket ROM file, unzipped or zipped.


The keys can be specified in the config file, neopoprc(5). The following are the default keys.
For movement, use either the cursor keys or I for up, K for down, J for left, and L for right.
The buttons are:
Button A
Button B
S or CTRL.
Option button
D or TAB.
Other keys:
M toggles music and sound effects during game.
1, 2, and 3 set the magnication factor: 1 is normal (160x152), 2 is doubled in both directions, and 3 tripled. Please note that bigger screens are slower to display (except if hardware scaling is enabled), even more so if smooth magnification is enabled (see -m and B below). Magnification is ignored in YUV fullscreen mode.
B toggles between blocky and smooth magnification (defaults to smooth). The algorithm used for smooth 2x magnification is hq2x, the one used for 3x magification is hq3x. Smooth animation is definitely slower than blocky.
F switches between full-screen and windowed mode.
+ and = increase frameskip while - decreases frameskip. The default frameskip is one, if the -f option was not used. A frameskip of n means one in n frames is shown, thus speeding up emulation at the cost of less smooth animation.
F3 loads and F4 writes the current emulator state from/to filename.ngs (or filename.ngX with X from 0 to 9 for the numbered save slots) in the directory configured in neopoprc(5) (defaults to “.neopop/flash”). The emulator state contains all the necessary information to continue emulation at the exact same place at some later time (i.e., when it is loaded again via F3 or the -l command line flag.) filename depends on the use-rom-name setting in neopoprc(5).
F12 saves a screenshot in the directory configured in neopoprc(5) (defaults to “.”). The name of the output file is “filenameXXX.ext”, where XXX is the number of the screenshot starting from 0; special care is taken not to overwrite existing screenshots. If the PNG library was found during compilation, screenshots are saved as PNGs, otherwise as BMPs. The screenshot is always in the original screen size. filename depends on the use-rom-name setting in neopoprc(5).
ESC quits the emulator.




neopop_uk <> wrote the original NeoPop emulator.
Thomas Klausner <> ported it to SDL.
Dieter Baron <> made lots of improvements.
Marat Fayzullin provided the z80 core for sound.
Gilles Vollant provided simple portable unzip code.
Maxim Stepin and
Max Horn provided the HQx scaling routines.


Network play does not work.
Also, please see the DOCDIR/bugs-core.html and DOCDIR/TODO files.