NeoPocott/SDL 0.3 Pre-release
HTML Documentation
By Niels Wagenaar [mailto:niels.wagenaar@wolmail.nl]
Introduction:
This is the documentation for the SDL release of NeoPocott/SDL 0.3 Pre-release which is available for Linux (i386 elf glibc2), BeOS R5 and Win32 (Using DirectX with SDL on Win2k, Win9x and WinNT) using the Simple Directmedia Layer made by Sam Lattinga and other developers. NeoPocott is a free software emulator, originally written by Julien "Gollum" Frelat, which emulates SNK's NeoGeo Pocket (Colour) gameheld device. Because the NeoPocott emulator is completely written in C and there for very portable and thus available for many platforms!
NeoPocott/SDL uses the Simple Directmedia Layer (SDL) which can be found on the original website. From this website you must get the Runtime binaries to use NeoPocott/SDL. SDL is a C/C++ library for many systems like BeOS, Linux, Win32, FreeBSD, Solaris, etc for the use of portable graphical, input (joystick, mouse and keyboard), sound and other hardware related media's. Because of that the emulation engine is written in C and of the portability of the SDL library, some most used platforms will eventually have release. The following platforms are known to work : FreeBSD and SUN's Solaris. Probably work in progress (WIP) releases will come out shortly for these systems. Also a release of NeoPocott/SDL will come out (if possible) for Indrema's Linux console called the Indrema L600. Keep your eyes on the official NeoPocott/SDL website or the official NeoPocott website.
NeoPocott is, as stated before, a software emulator and there for uses dumps (or also named ROM's or ROM dumps) from the games which are available on the NeoGeo Pocket Colour. This dumps are widely available on the Internet but it's illegal to use them if you don't own the cartridge yourself! It's not mine or the fellow NeoPocott developers intention to promote the piracy of ROMS! If you like the game, buy it (if possible).
What's new?:
A lot has changed since the 0.2b release of NeoPocott/SDL. The following is implanted in the 0.3 pre-release:
- Better zip and gzip files handling;
- New experimental graphics-core which is 10% faster than the old one;
- New output options (window sizing, fullscreen and scanline support);
- Last used commandline switches saving. Literally you can now start Neopocott
with
no commandline options or what so ever and it'll run the last used ROM
with the used
options. Almost like a real NGP :);
- *experimental* savestate support (only 1 per game atm);
- DirectX support using SDL on Win32 platforms (only fullscreen);
- *experimental* joystick/joypad support;
- Based upon the latest (version 0.35 beta) emulation-core sourcetree.
Be warned though, savestate has (many)
bugs so it will not function always. The savestate is loaded directly on startup
of the emulator.
For the Win32 users, be sure you get the latest SDL runtime download from the
SDL website as it contains many fixes. Also a sitenote for DirectX, it is only
initialized when you're in fullscreen mode. You'll definitely see some speed
increase with DirectX. I compiled SDL using DirectX 6.1 but I'm sure it'll work
on Windows NT 4 with DirectX 3. A small site note to the people who run the
emulator on Linux and/or WinNT/Win2K. Make sure you have significant rights to
start the emulator and to have write permissions in the directory where
NeoPocott/SDL is in. Also, in the Win32 ZIP file it contains 2 .dll files which
are necessary to run NeoPocott/SDL on you Win32 system. You can leave these
files in the directory where NeoPocott was put or you can copy/move them to the
\WINDOWS\SYSTEM (for Win9x or WinME users) or to the \WINNT\SYSTEM32
directory.
Joystick/Joypad support is implanted but I don't know if it works. It was implented based upon the SDL docs so I
really can't tell if it works or not.
E-mail me with your findings about it!
Furthermore, only the 1st joystick/joypad is used for controlling NeoPocott/SDL.
As I wrote, a lot has been changed. Also the source has been cleaned out of rubbish en some stuff has been optimized. But I know for sure there are bugs in the release, so e-mail me with a list of bugs you've found and make sure you have a good explanation! So the bug : "Game x doesn't run" won't be answered back! Only valid bugreports are valid and will be replied to!
Support:
For the people who have questions about something. Please post them on the forum which is found at the NeoPocott/SDL website! I always reply to valid messages so for a valid question you'll receive valid answers.
NeoPocott/SDL keys:
At the moment all keys are predefined. But I'm working on the source for you own definitions (which will appear in the 0.4 release). The following keys are mapped for use:
Function | Key |
NGP Movement left | Left cursor-key or Joy-left |
NGP Movement right | Right cursor-key or Joy-right |
NGP Movement up | Up cursor-key or Joy-up |
NGP Movement down | Down cursor-key or Joy-down |
NGP Option | Tab key |
NGP Button A | Z key or Joy-button 1 |
NGP Button B | X key or Joy-button 2 |
NGP ON/OFF | ESC (well, only off to be honoust :) |
Pause emulator | F1 |
Continue emulator | F2 |
NGP Black and White mode | F3 |
NGP Colour mode | F4 |
Save current state | F5 |
Save current commandline options | F6 |
Make screenshot | F9 |
Reset emulator | F10 |
If you start neopocott without any commandline options and NO config file is found (neo.cfg) than it'll display the following (or for Win32 users, the output can be find in the stdout.txt file) :
Usage: ./neopocott romfile options
Where options are:
-speed 4 - 7 : Setting speed, 5 is default.
-vsync true, false: Enable (true)/Disable (false) vsync at a speed
cost/increase.Default is true (on).
-frameskip 1 - 10 : Options to skip some frames. Default is 3.
-size 1 - 4 : Windows sizing with scanline support.
-fullscreen : Enabling fullscreenmode (overrides size!).
-core 1,2 : Which graphicscore to use. 1 = oldcore, 2 = new
(experimental) core. Default is old (1) core.
-joystick : Enable SDL joystick support. (Default not enabled)
The commandlineoptions are self explainary. Feel free to play a bit with the speed options (speed, frameskip, vsync, core, etc) to gain more speed.
The following people and/or companies are the ones that deserve credits:
- Julien "Gollem" Frelat for having me to
have the source (cheers m8!)
- Anarko, the MS-DOS/Linux console porter of NeoPocott, for letting me
"loan" some of his source ;)
- Zakk from www.retrofaction.com for
giving me space for the website!
- Jeffro for betatesting the BeOS version.
- Joshua for betatesting the Linux version of for keeping me on the project :)
- Akawak for giving me some pointers.
- Tsaotsao for giving me pointers for SDL
- #sdl on irc.openprojects.net for the help on SDL problems with BeOS.
- Linus Torvalds for making the best OS available : LINUX!
- Be for making a really cool OS : BeOS
- SNK for making the most coolest handheld device available : The NeoGeo Pocket
(colour)!
That's about it :)
Website | Information |
http://neopocott.retrofaction.com | Home of the NeoPocott/SDL project! |
http://neopocott.emmuunlim.com | Home of the NeoPocott project! |
http://www.retrofaction.com | Zakk's emulator news website and my host ;) |
http://www.libsdl.org | Home of the SDL project |