-
Notifications
You must be signed in to change notification settings - Fork 0
fork of the gngeo emulator with a number of bugfixes and modifications
License
ColumPaget/gngeo-cjp
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
gngeo-cjp: This is Colum Paget's fork of gngeo 0.8. Most of the function
keys work again, and a segfault that occurs when loading a saved game has
been fixed (along with some others). You can now specify a path to a config
file on the command-line. The default font has been make proportional to
maximise screen real estate, and the user can now specify messages that
appear on the screen (the aim of this is to put a summary of moves onscreen
though there's only room for a few. You can also have date/time and hostname
through the use of % format strings. Default rompath and biospath can now be
set at compile time. Joystick input can be disabled (this wasn't working and
on laptops the touchpad is often detected as a joystick, causing all kinds of
problems).
Gngeo offers a choice of emulator cores for the z80 and m68000 microprocessors.
Unfortunately not all of these compile any more. On my systems the only z80
core that compiles is 'raze' and only 'starscream' and 'genm68k' work for
the m68000. So select these at compile time like so:
./configure --with-m68kcore=starscream --with-z80core=raze
GNGEO : A NeoGeo emulator for linux (and maybe some other unix)
Licence:
Gngeo is built around many different block with various licence.
The original code is released under the GPLV2 with this special exeption:
As a special exception, You have
the permission to link the code of this program with
independent modules,regardless of the license terms of these
independent modules, and to copy and distribute the resulting
executable under terms of your choice, provided that you also
meet, for each linked independent module, the terms and conditions
of the license of that module. An independent module is a module
which is not derived from or based on Gngeo. If you modify
this library, you may extend this exception to your version of the
library, but you are not obligated to do so. If you do not wish
to do so, delete this exception statement from your version.
Gngeo could not exist without the Mame project, and some code come
directly from it (the ym2610 for example). As you may know, the Mame
licence forbid commercial use, and as a consequence, commercial use
of gngeo (as a whole) is also forbiden. This is the same with Cyclone,
Drz80, Raze and Starscream.
REQUIREMENT :
SDL-1.2.x and the libz
optional: nasm 0.98 for i386 asm optimisation
You will also need a neogeo BIOS
INSTALLATION :
./configure && make
then 'make install' as root
The configure script will detect the presence of nasm, and
choose the different CPU core in consequence. You can force
the use of one cpu core with the following configure switch:
--with-m68kcore=[cyclone|starscream|gen68k]
--with-z80core=[drz80|raze|mamez80]
cyclone is written in arm assembler (default on arm target)
starscream is written in x86 assembler (default on x86 target if nasm is found)
gen68k is written in portable C (default in every other case)
drz80 is written in arm assembler (default on arm target)
raze is written in x86 assembler (default on x86 target if nasm is found)
mamez80 is written in portable C (default in every other case)
To disable completly i386 assembler on x86
--disable-i386
CROSSCOMPILATION :
To build gngeo in a crosscompilation environement, use the folowing
./configure --build=i686-pc-linux-gnu --host=[HOST] --with-sdl-prefix=[Path to your corsscompiled SDL] CFLAGS=-I[PATH to the default include dir of your crosscompil env]
USAGE :
You can start a game with the folowing command:
# gngeo game
where game is the mame name of the rom, for example mslug for Metal Slug
Usage: gngeo [OPTION]... ROMSET
Emulate the NeoGeo rom designed by ROMSET
--68kclock=x Overclock the 68k by x% (-x% for underclk)
--autoframeskip Enable auto frameskip
--bench Draw x frames, then quit and show average fps
-B, --biospath=PATH Tell gngeo where your neogeo bios is
-b, --blitter=Blitter Use the specified blitter (help for a list)
-c, --config=PATH Path to config file
--country=... Set the contry to japan, asia, usa or europe
-D, --debug Start with inline debuger
-e, --effect=Effetc Use the specified effect (help for a list)
--forcepc Force the PC to a correct value at startup
-f, --fullscreen Start gngeo in fullscreen
-d, --gngeo.dat=PATH Tell gngeo where his ressource file is
-h, --help Print this help and exit
-H, --hwsurface Use hardware surface for the screen
-I, --interpolation Merge the last frame and the current
--joystick Enable joystick support
-l, --listgame Show all the game available in the romrc
--libglpath=PATH Path to your libGL.so
--msg1=... Onscreen message 1. format: x:y:msg
--msg2=... Onscreen message 2. format: x:y:msg
--msg3=... Onscreen message 3. format: x:y:msg
-P, --pal Use PAL timing (buggy)
--p1control=... Player1 control configutation
--p2control=... Player2 control configutation
--p1hotkey0=... Player1 Hotkey 0 configuration
--p1hotkey1=... Player1 Hotkey 1 configuration
--p1hotkey2=... Player1 Hotkey 2 configuration
--p1hotkey3=... Player1 Hotkey 3 configuration
--p2hotkey0=... Player2 Hotkey 0 configuration
--p2hotkey1=... Player2 Hotkey 1 configuration
--p2hotkey2=... Player2 Hotkey 2 configuration
--p2hotkey3=... Player2 Hotkey 3 configuration
-r, --raster Enable the raster interrupt
-i, --rompath=PATH Tell gngeo where your roms are
--sound Enable sound
--showfps Show FPS at startup
--sleepidle Sleep when idle
--screen320 Use 320x224 output screen (instead 304x224)
--system=... Set the system to home, arcade or unibios
--scale=X Scale the resolution by X
--samplerate=RATE Set the sample rate to RATE
-t, --transpack=Transpack Use the specified transparency pack
-v, --version Show version and exit
--z80clock=x Overclock the Z80 by x% (-x% for underclk)
All boolean options can be disabled with --no-OPTION
(Ex: --no-sound turn sound off)
CONFIGURATION :
All configuration can be done in $HOME/.gngeo/gngeorc
a sample file is provide : sample_gngeorc
Every option are also accessible on the command line.
Per game configuration is also possible in $HOME/.gngeo/game.rc
By default, gngeo search bios and games in
$prefix/share/gngeo/ (the game must be in a zip file, the bios not)
SCREEN MESSAGES:
the msg1, msg2 and msg3 options allow the specification of up to three messages
to be displayed on the screen. This has the format:
x-pos:y-pos:msg
where x-pos and y-pos are numeric x and y positions for the message. Negative values
of x-pos and y-pos will result in the message being positioned relative to the maximum
x or y position (so back from the right edge or up from the bottom).
msg is the message itself. This can contain the string '\n' to represent a newline, or
format strings in the form:
%h - hostname
%g - game/rom name
%s - system type of rom
%c - country/region for rom
%H - hour
%M - minute
%S - seconds
%d - day
%m - month
%y - 2-digit year
%Y- 4-digit year
messages can also be broken up into 'submessages', by being seperated with the
pipe character '|'. These sub-messages can then be cycled through using the F7
key.
This feature is intended to allow a 'crib' of moves to be displayed onscreen, esp. for
fighting games that tend to have a lot of 'hcf-a,d,d,d' special moves. As fighting
games have multiple characters, one can define submessages and cycle through to the
messages appropriate for a given character. So, for instance the line below
Msg1=JURI gb:<-B ls:f,fd,d+ABC rs:d,fd,f+ABC sk:d,db,b+ABC|ROOMI sp:j,d+C rb:d,fd,f+ABC rc:b,f+ABC rB:j+ABC|GUNTER: BS:C gb:f,d,df+ABC ws:360+ABC hb:360+A+B+C|%g-%s-%c %H:%M:%S|
Contains some moves for three characters from 'Galaxy Fight' and a status display as the last selection
GAME-SPECIFIC CONFIG FILES
If no config-file is specified on the command-line, but a game/rom name is, then
an attempt will be name to load a config file <romname>.conf from the config
directory. If this fails the default gngeorc file will be loaded instead.
FUNCTION KEYS
Function keys perform the following actions
ESCAPE Emulator Menu
F1 Reset Emulator
F2 Screenshot
F3 Test switch (enter game setup)
F4 Show Keysyms
F5 Show Frames per second
F6 Slow Motion
F7 Cycle user messages
F10 Auto frameskip
F11 Sleep when idle
F12 Full Screen
FRONTEND :
GGF: The first frontend available for gngeo. It's written in Java, support
game preview, very detailled game description and support many gngeo options.
- License: GPL
- Homepage:
XGngeo: Written in python with GTK2. Support internationalization, game preview,
and many configuration possibility, including a key configurator.
- License: GPL
- Homepage: http://choplair.tuxfamily.org/
gngeogui: A new frontend written in Perl with libgtk-perl. Support game preview, and
nearly all the gngeo options.
- License: GPL
- Homepage:
About
fork of the gngeo emulator with a number of bugfixes and modifications