Released shortly after the initial Sintendo DC
during the initial phase of Dreamcast homebrew coding (back in the days
when the Utopia boot CD was still news). Upon the arrival of the hacked
Neogeo Pocket connector cable to use as a serial coding cable with a
PC, i attempted to write a few silly games that were never released.
Due to its easy portability, and the lack of a functional SNES
emulator, i turned to the SNES9x source code and attempted to port it over. Here is the last version,
which runs most games at a decent, if not full speed rate, but no sound
has been implemented.
+-------------------------------------------------
| ngine "snes9x edition" v0.40 release notes |
| |
| Release Date: 22nd Mar 2001 |
| Prior Release: 0.30a |
| By: Emanuel Schleussinger |
| (aka tubooboo) |
| |
| ngine is (c) 200x Emanuel Schleussinger |
| snes9x sources courtesy of Gary Henderson |
| |
| for the latest version: http://www.ngine.de |
+-------------------------------------------------+
NGINE is now postcardware. If you use ngine frequently, you will
have to write me a postcard! Find my address below.
1. What it is:
--------------
ngine is a shell system written by me for the Sega Dreamcast.
ngine-snes9x uses this shell system, and allows you to play Super
Nintendo games.
Ngine is entierly developed using free tools. Ngine does not use
any commercial libraries and/or parts of commercial source code.
While ngine itself evolved into a significant piece of code, it uses
the following sources in this release:
- libdream by Dan Potter
- snes9x sources by Gary Henderson and some others
source code for ngine is now available to interested developers.
Drop me a post on my message board and lets get in touch
2. Who should use this:
-----------------------
Only people that have all of the following
- A Sega Dreamcast
- A Joypad
- A VMU
- patience (snes9x does not run full speed, yet,
see future improvements section for details)
3. What currently works
-----------------------
- most games that snes9x supports are also working in
ngine.
- command line interface (see how to use section)
- joypad only control menu (see how to use section)
- joypad configuration possible (including analog stick)
- saving of snes games and user preferences
- loading of splitted ROM images
4. What does (currently) not work
---------------------------------
- SNES9x not fullspeed (like all other SNES9x emus on DC)
- no sound
- only 1 joypad
- also see the bugs section for known issues
5. How to use it
----------------
There are two distribution forms of ngine-snes9x
- A Discjuggler version. Just burn and play in your DC.
- A raw binary version for people that want to put the
SNES ROMs on the same CD as the program. If you do not
know how to do this, stick with the Discjuggler version.
There is NO support for the binary version. Setup instructions
for the Discjuggler version follow:
Burn the CD image in this archive with Discjuggler
3.x and chuck it into your Dreamcast, and power it on. You
should be seeing something like:
+---------------------------------+
| ngine console 0.40 |
| tubooboo@ngine.de |
| correctly started up plugins |
| |
If you do not have a keyboard connected, ngine should directly
jump into joypad mode. If you have both keyboard and joypad
connected, you can press the START button to enter joypad mode.
If you just see a rolling picture on the screen, it means ngine
has failed to detect your DC correctly as a NTSC machine. Typing
"ntsc" on the command line followed by return will fix your display.
You will also be happy that you can now configure your joypad as you
please. Use the "joyconfig" command and follow the instructions.
After fixing all this, it is a good idea to save your ngine
preferences. Do so by tyoing "saveprefs" or selecting it from the joypad
main menu.
If you do not get the message above at all, something went
wrong burning your CD and you are propably better off going
to look through the message board of http://www.ngine.de and
look for help on this issue. Do not email me about burning
problems please.
There is also a setup guide on http://www.ngine.de/snes9x.html if
you are having burning problems. If all fails, you can still look
around on the web. Try searching for "ngine snes9x"...
If all is fine, you should now be able to type on the command
line. Certain issues you might discover are listed in the "Known
Bugs" section
Usually, you will want to use the snes9x command. Here is a
typical Walkthrough on how to do this for the keyboard version:
1.) take out the ngine CD and replace it with a CD containing
SNES ROMs.
2.) type "ls" , which will show you the contents of your CD
3.) if your ROMs are in a subdirectory, type
"cd <nameofdirectory>"
4.) assuming your game is called "MARIO.SMC" type:
"snes9x mario.smc"
5.) play the game.
6.) When you want to exit, press the ESC key
on your keyboard and load a different game.
There are a few interesting other things you can do with this
release of ngine, if you are tired of snes games, see the help
command for details.
6. Future improvments
---------------------
- full speed through an assembly CPU kernel
- sound
7. Known bugs:
--------------
- ngine behaviour is undefined if there is not enough space to create
a new savegame. it will not attempt to write a savegame, but it
will propably crash ngine.snes9x if it cannot save.
- ngine behaviour is undefined if there is no vmu
- I never personally tried it, but I am pretty sure ngine will
not work without a VMU connected to a controller. Get one.
They are useful.
- Somehow, I broke Auto complete in keyboard mode. Use joypad
mode if you wanna be fast ;-)
- "cd .." does not work. use "cd /<directoryname>" instead.
- ls does not take any parameters
- the DEL key on the keyboard might not work sometimes
- the keyboard layout is mapped to a standard german keyboard. A
US/UK keymap is in the works, sorry for this. Here is help on
some often used keys:
"-" press "/" key
"_" press "/" key + Shift
"/" press "7" key + Shift
8. History / Changelog
----------------------
2001 03 22 (v0.40)
-------------------
- ADDED: Rockin joypad operation mode. You can now operate most
keyboard commands with the joypad using GUIs for command
selection, file selection etc.
- ADDED: this means possibility to use whatever directory structure
on the ROM CD, regardless if you have a keyboard or not.
- ADDED: Auto switch to joypad mode if there is no keyboard found.
- ADDED: Configuration interface for joypad in snes9x. Saveable
and supports the Analog stick.
- ADDED: Preferences saving for video modes, joypad configurations
etc. If prefs are saved once, they are auto-loaded on startup
of ngine.
- ADDED: improved command line for keyboard users.
- ADDED: snes9x game saving/autoloading from VMU. Fully automatic
process that needs no user interaction.
- ADDED: loading of splitted ROM images now working (SMC/SWC
splitROM formats)
- FIX: snes9x ingame display correctly centered
- FIX: several crash-prone functions securified
- FIX: SNES9x "after few minutes" crash bug fixed
- FIX: Overall stability of ngine is much better than in 0.30a
- CHANGE: File set completely reorganized. All things now in tidy,
logical places :).
- CHANGE: Master Event handler. Much more command line flexibility.
- CHANGE: Cleaned up handling of user interface. Now showing button
mappings in file selection
2001 01 01 (v0.30a)
-------------------
- FIX: Misbehaviour of joypad file selection if the CD has only
had 15 files or less in the root directory. Now also works
with only 1 file.
- CHANGE: Rewrote TAB completion feature.
2000 12 30 (v0.30)
------------------
- ADDED: if all PAL/NTSC detection fails, press Y button on controller
to change back and forth.
- ADDED: keyboard mode now supports unix style TAB completion features!
nice isn't it? ;-)
- ADDED: Fiddled a bit with the startup flags of SNES9x for more speed.
Speed is no more painfully slow, not fullspeed yet, but accept-
able.
- FIX: SNES9x no more crashed when fed a non existant filename.
- FIX: ntsc and pal commands now correctly stick when invoking SNES9x
- ISSUE: autodetection on startup may still not work correctly. Type
"ntsc" at the command prompt to get to NTSC mode.
- ADDED: new build flag BUILD_FOR_BURNING (will make ngine work without
a serial connection)
- ADDED: controller polling code in keyboard menuing code, messaging via
event loop.
- ADDED: controller ROM selection for snes9x, enabling nonkeyboard people
to operate ngine-snes9x
- ADDED: Means to switch back from joypad operation to keyboard operation
- ADDED: Exiting SNES9x emulation now also possible using DC controllers
start button, not only keyboard "esc"
- CHANGE: in snes9x, START is now "analogue pad up", select is now "analogue
pad down", exiting snes9x is Dreamcasts "start" button
- CHANGE: filenames can be no longer than 40 characters. Behaviour for
longer filenames is undefined.
- ISSUE: joypad button press handler is dirty, don't hold down buttons
for a long time, or else... ;)
- ISSUE: changing into directories is currently not possible using joypad
control. You have to stick the ROMs into the root dir of your CD
if you do not have a keyboard.
2000 12 22 (v0.24)
------------------
- initial release
9. Tips and Tricks
------------------
So you read all the way down to here? cool then, here is a few nice to know
things about ngine snes9x
- you can quickly scroll through a long list of files in joypad mode
using analog up / down
- you can reconfigure your joypad and save the settings at any time
- delete savegames in the dreamcast system menu only
- an existing savegame is just overwritten whenever the cartridge is loaded
again. copy your savegame to another vmu if you want to protect it!
10. Greetings:
--------------
Thanks to:
The DC Dev list, Dan Potter, Marcus Comstedt, Gary Henderson,
Keith Stuart, Andrew Kuschnik, CyRuS64, Maike (l)
Greetings:
Mark, Joggl, Noogz, Crussell and Elly, Franzi, all Amazon staff,
Dani, Nico, Sin, Morgan Johansson, David Michel, theman078,
Zophar, EDGE magazine, EmuUnlim, Gamefreax, Back2roots.org,
all Quark.de staff, and all I have forgotten this time around.
11. Terms of use:
-----------------
You must not change the contents of this archive. Also,
you must not:
- offer any part of ngine for a profit
- redistribute ngine bundled with SNES ROM files or other
copyrighted material
- redistribute parts of this archive without prior permission
though the author.
If this breaks your hardware, software, or soul, its your fault,
not mine.
Sega is a trademark.
And so is Nintendo.
Download it in Discjuggler format
or get it as a Nero image