Summary
-------

1) What is it ?
2) Why this emulator ?
3) Who've done it ?
4) So, what are the requirements ?
5) There are some glitches. Why that ?
6) What does it emulate ?
7) How do I compile it ?
8) Then, how do I run it ?
9) What works and what doesn't ?


1) What is it ?

This is a Unix port of the Sega Genesis Emulator "Gens", version 2.12a


2) Why this emulator ?

Because it was a pity that Gens wasn't available on Unix platform.


3) Who've done it ?

Stéphane Dallongeville is the author of Gens (Windows version).
Caz has made a BeOS port, using Allegro. But this port was command line oriented. And though Allegro is a great library, 
its GUI part is ... well ... rather ugly.
Thus, I (Stéphane Akhoun) wanted to use GTK+ for the GUI. But as mixing Allegro and GTK+ events loop was a bit of challenge
(though possible) I decided to switch to SDL. Fortunately, it was very easy (only 2 function calls to change !).
Finally, in the port process, my main work is the GTK+ GUI, and some work here and there.
Caz ported the gens core : I wanted to thank him/her one more time for his/her pieces of advice.
As GTK+ is not very common on BeOS, you can compile this port without GTK+ support.


4) So, what are the requirements ?

You must have at least :

SDL 1.2
GTK+ 2.0 (optional, but highly recommended if you have it)
gcc 2.95 or higher
nasm 0.98

5) There are some glitches. Why that ?

Because I think I'm the one and only one tester of my program, so (undoubtfully) some bugs still remain.
You are very welcome to :
	- report bugs
	- notify incomplete features and strange behaviour (ie that differs from the original version)

at : yabdeo@free.fr
Please, check on Sourceforge that your bug/request feature is not already taken in account ! Thanks by advance !

6) What does it emulate ?

It emulates Genesis, Sega CD (iso/mp3, not real CD) and 32X roms.


6) Will it run at the same speed than the Windows version ?

It will.
32X games run slowly at full definition (2xSAI, 44kHz, all improvements on). But maybe my PC is not powerful enough.


7) How do I compile it ?

First, uncompress the archive gens.tar.gz in an empty directory :
'tar xvzf gens.tar.gz'

It will create two subdirectories : Starscream and gens.
Go to gens directory :
'cd gens'

If you want a GTK based gens, just type 'make'.
If you want a command-line based gens, you've got to edit the Makefile, then comment CFLAGS, LDFLAGS, ALLFILES,
(which default to build a GTK version of gens), and comment out the others definition of CFLAGS, LDFLAGS, ALLFILES.
That's not nice, but as said below, I've got troubles with autotools.

In all case, make sure that you use GNU Make.
There is no autotools processing, because it is a pain to get nasm files compiled with auto(conf/make).


8) Then, how do I run it ?

After a successful compilation, you should have a file named 'gens' in your 'gens' directory. Just type './gens' and enjoy !


9) What works and what doesn't ?

AFAIK, this port is OK.
- Switching (F11-F12) in full screen mode won't work (weird, but true). Select your mode, and then switch to FullScreen Mode.
- The GUI doesn't get translated (only messages). Moreover, accentuated accents look like strange.
  This is an Assembly issue, so don't ask me about it. The best I did is to print message without accent (french example: Activé -> Active)
- WAV Dumping is not (yet) implemented. GYM play back has not been completely tested.
- Gamepad support is underoptimal. I don't have one, and even if I had one, my computer doesn't have any joystick port. The best I can do is to estimate the joystick behaviour.

FIXED : In 'General option' dialog, the color radiobuttons style of FPS and Message preferences are not correctly reloaded.
	Several bugs due to bad copy/paste.
FIXED : Gtk-Entries was not set in both Directories and Bios Dialog box.
FIXED : In gens.cfg, Intro Style=3 crashes the emulator.
	Forgot to do a Init_Genesis_Bios at the very beginning of main.
FIXED : In command-line mode, there is no way to exit cleanly. You must kill your application.
	Escape do the work. Thus, it doesn't pause the emulator anymore.
