         _
     x#######x    x########  x##x   :###x     x#######:
   x#####x#####   #######x   :###x   ###     x#######
  :###x          :###         ####x: ###    :######
  x###           x######x     ######x###     x######x
  x###     ##x   x######x     ### ######      x######x
  :###x      ##  :###         ###  #####      :######x
   x#####x####x   #######x   :###   ####:    #######x
     x#######x    x########  x###    ###x  :#######x

http://www.emuforce.com/gens

email:	stef_d@caramail.com
	stef0@multimania.com

Gens is a Win9X based emulator for the Sega genesis/megadrive system.
It is written for 35% in C/CPP (Visual C++ 5.0) and for 65% in Assembler (Nasm).
Gens WORKS ONLY IN 15/16 BPP MODE and needs directx 5.0 or higher.

Disclaimer
----------

Gens (C)1999/2000 by Stphane Dallongeville
Sega and Genesis are trademarks of Sega Enterprises, Ltd.
Gens is freeware and can be distributed freely as long as it is not modified.
When you use this software you do so at your own risk.
The author is not responsible for any loss or damage resulting from the use
or misuse of this software.
If you do not agree with these terms delete this software now.


(26/04/2000) Changes Gens 0.5 <- Gens 0.4 :
-------------------------------------------

* I've enterely rewrite the VDP IO code:
  - DMA transferts appears near perfect and a lot of games works now correctly !
    (Warsong, Batman and Robin, Contra4, Shinig force 2 ...)
  - Improvement of Control Decoding.
    (Electronic Arts Intro finally fixed !)
  - Reads and Writes more accurate ...
  - Save state files (.gs*) has changed du to new VDP code and could have
    problems to load old save files.
* I've fixed a bug in Starscream 68000 core :
  - Greendog, Samurais Shodow, Eternals Champions ... works correctly with Starscream.
  - little speed improvement.
* SRAM finally fixed (file saved when change rom).
* I've enterely rewrite controllers code (fix some mistakes).
* Stupid bug in window plan fixed (miss a pixel on the right).
* Little change in timing :
  Landstaker blank line fixed, Outrun back working with my 68000 core, ...
* Messages infos added.
* Show FPS added.
* I've finally add an icon for Gens (Thanks to all people that send me an icon :)
* Shortcuts has changed (readme.txt).
* Some others things added or fixed .....

I think the compatibily rate's above 85% !

(06/04/2000) Changes Gens 0.4 <- Gens 0.39 :
--------------------------------------------
A lot of changes for this new release :

- Gens configuration saved in file ! (finally)
  (You can specify your own file name for special configuration)
- SRAM fixed and entierely implemented (saved in file).
- Mouse cursor now hidden in Full-Screen then you must use
  the right mouse button to access at popup menu  !
- Perfect recovering of sound after 'load state' (only with MZ80 core).
  Saves files are now bigger, but there are compatible with old format.
- DAC (few) noises fixed.
- Some little bugs with VDP DMA fixed.
- Others bugs fixed .....

About 80% (little more) of roms work correctly !
No error messages anymore (like "Starscream core error ...").
If an error occurs, emulation attempt to continue even if can crash.

(01/04/2000) Changes Gens 0.39 <- Gens 0.36 :
---------------------------------------------

- Joystick support added ! (directx 5.0 needed)
- Interlaced VDP mode added ! (can play at sonic in split mode but only with my 68000 core)
- Fixed (again) auto-detection for some others country ...
- Fixed H-Blank status in VDP
- Some others few bugs fixed (Alt-Tab key, ...)

SRAM not yet saved in file
Config not yet saved in file

(27/03/2000) Changes Gens 0.36 <- Gens 0.34 :
---------------------------------------------

- Gens now uses the new MZ80 core of Neil Bradley (v3.4)
  and it corrects some sound bugs !
- Fixed special version auto-detection (Toy Story ...)
- SRAM implemented (Landstaker, Light Crusader ... now work correctly !)
  but not yet saved in a file.
- Choice of the game speed added : NTSC (60 FPS) or PAL (50 FPS).
  If a game runs too fast, just switch to PAL version.
- Sound timing for some games (vector man ...) fixed.
- Fixed switch state shortcut.
- Fixed the stupid bug which exits after setting keys !
- Fixed load state crashes with starscream.
- ...

Joystick support not yet available :(

(21/03/2000) Changes Gens 0.34 <- Gens 0.3 :
--------------------------------------------

- Starscream 68000 is available, changes :
  - More roms work fine (about 75% :)
  - Faster than mine !
  - Debugger doesn't work with Starscream !
- RAZE Z80 core added, but there are some problems with certain roms aladdin, sonic ...)
  but it works better than MZ80 in other cases (animaniacs, contra4 ...).
- Shortcuts added (Save / Load state, frame skip ... see below)
- Sound is now stopped when clicking on menu or resizing the window ...
- Current directory stored (but not yet in a file, just when you keep gens running)
- Some optimizations -> some more FPS :)
- Bug fixes (DirectSound init, key settings ...)
- Others I can't remember ....

(14/03/2000) Changes Gens 0.3 <- Gens 0.24 :
--------------------------------------------

- Starscream 68000 core (faster and more accurate than mine) is now
  implemented but deactivated, it'll be active in the next version !
- DAC works now perfectly (can hear 'SEGA' chord in sonic games :)
- Many many fixes in sound and CPU timings:
  - All chips (68000, Z80, YM2612, PSG ...) are synchronized depending on the
    game type (PAL 50Hz / SECAM 60Hz) and PAL games work at 50 FPS in
    auto-frameskip mode.
  - Fix YM2612 timers.
  - Fix PSG rate.
- Can choose sound sample rate (you must reload the rom for that to take effect !)
- Some little others...

There are some glitches with the DAC speed with some games (just hear the voices in
aladdin, cool-spot, lemmings ...)

(08/03/2000) Changes Gens 0.24 <- Gens 0.2 :
--------------------------------------------

- I returned to MZ80 (Neil Bradley neil@synthcom.com) z80 emulator, it now works correctly !<br>
- Preliminary sound emulation :<br>
  - YM2612 works correctly :)<br>
  - PSG works strangely :o<br>
  - DAC doesn't work and only does some noises :(<br>
  - Sound sync is not yet perfect !<br>
  - Sound is played slowly with certain roms<br>
- Fixed a bug in the window plane (Zombie doesn't crash any more ...)<br>
- Others ...<br>

Sorry once again, the sound is not implemented, may be in the next release !

(24/02/2000) Changes Gens 0.2 <- Gens 0.141 :
---------------------------------------------

- I've entirely rewritten the VDP rendering :
  - More optimized and so faster ;)
  - Fixed Scroll A / Window conflict.
  - Added masks sprite features.
  - Added sprite limit feature (can notice it on sonic 1 main screen)
    You can enable or disable it by 'Sprite Over' option in the 'graphics' menu.
  - Added 15 bits mode.
    No more bad colors on some video cards :)
- Fixed the VSRam read and write (vertical scrollings are now okay)
- I'm using RAZE (Richard Mitton richard.mitton@bigfoot.com) z80 emulator instead of MZ80
 (Neil Bradley neil@synthcom.com) due to unworking games with MZ80 (I may not use it correctly).
- Some changes in DMA transfers. (sprites of mario (no commercial) rom are okay).
- Full-Screen now works correctly.
  Full-Screen is faster than Windowed mode, just use it !
- Some others ...

Sorry, once again, the sound is not implemented, may be in the next release !

(08/02/2000) Changes Gens 0.141 <- Gens 0.12 Beta :
----------------------------------------------------------------

- Auto-FrameSkip added !
- Corrected some bugs on DMA (demo roms like super mario don't crash any more ... )
- Key settings for Player 1 & Player 2 added !
- I have changed DirectDraw method to get faster transparencies effects.
- HalfBlur effect added for smooth graphics !


(03/02/2000) Changes Gens 0.12 Beta (Win9X) <- Gens 0.15b (DOS):
----------------------------------------------------------------

First important change: Gens works now under win9X and using DirectX !, Then some bugs appeared
and some roms that worked on Gens 0.15b don't work anymore :(

- Screen size * 1; * 2; * 3; * 4.
- No V-Sync possibility for now.
- Debugger is missing because a lot of work is needed to make it work !
- Save/Load state added !
  I'm using Genecyst format, there are some bugs due to lack of info.
- The transparencies effects due to palette changes during H-Blanking work !

No sound yet !


What I need to make Gens work ?
-------------------------------
On my machine (Celeron @464 Mhz & 64 Mb), most roms works at 60 FPS or more.
(20 FPS when I use size * 3).

* Minimun Machine

- Pentium 200
- 16 Mb de Ram
- Video card that supports DirectDraw and 15/16 bpp mode
- Windows95 / Windows98 OS (2000 - NT with SP4)
- DirectX 5.0


* Recommended Machine

- Pentium II 300 Mhz
- A good video card like tnt or G400 ... (if you have a bad video card like
  SIS, Virge ... you must use full-screen to hope playing at good speed ;)
- 32 Mb Ram
- Windows95 / Windows98 OS (2000 - NT with SP4)
- DirectX 5.0


How to play ?
---------------

(QWERTY keyboard)

		Player 1			Player 2

	Up		UP		Up		Y
	Down		DOWN		Down		H
	Left		LEFT		Left		G
	right		RIGHT		Right		J
	A		A		A		K
	B		S		B		L
	C		D		C		?
	X		Z		X		I
	Y		X		X		O
	Z		C		Z		P
	Start		Return		Start		U
	Mode		RShift		Mode		T

Just redefine keys if you've problems :)

Shortcuts :

	Open Rom				Ctrl + O
	Save State				F5
	Previous state				F6
	Next State				F7
	Load State				F8
	Show FPS				F4
	Full-Screen / Window Mode		Alt + Return
	Frame-Skip X				X (keys 0 - 4)
	Auto Frame-Skip				9



Technical part:
---------------

* 68000 CPU supported
  2 cores:
  - Starscream 680x0 emulation library by Neill Corlett (corlett@elwha.nrrc.ncsu.edu)
   (very fast and more accurrate than mine)
  - Mine (just try it when Starscream doesn't work)
* VDP supported: 
- DMA transfers (all modes)
- Scroll A plane with vertical scrolling (overall, 2 cells) and
  horizontal scrolling (overall, cell, dot)
- Scroll B plane with vertical scrolling (overall, 2 cells) and
  horizontal scrolling (overall, cell, dot)
- Window plane 
- Sprite plane 
- Vertical Interrupt 
- Horizontal Interrupt 
- All raster effects
- Highlight/Shadow effects
- Interlaced mode
* IO ports supported (controller 1 and controller 2)
* Z80 CPU emulation
  2 cores:
  - MZ80 Multi-CPU emulator by Neil Bradley (neil@synthcom.com)
  - RAZE Z80 core by Richard Mitton (richard.mitton@bigfoot.com)
* YM2612 chip emulation by Tatsuyuki Satoh
* PSG 76489 emulation
* SRAM fully supported.
* Frame Skip (Auto, 0, 1, 2, 3, 4)
* Save/Load State.


What is lacking ?
--------------

* A very accurate 68k core !
* zip support maybe ?

Greetings :
-----------
Neill Corlett for his excellent 68000 Starscream emulator.
Neil Bradley for his very good and accurate MZ80 emulator.
Richard Mitton for his     "     "     "    RAZE emulator.
Tatsuyuki Satoh for his Yamaha chips emulator (YM2612) which do very nice sound !
Nicolas BRAY, NiNjA LEMoN, Arzeno Fabrice, DaGee, Thierry Caland and Didier Vaseux
for being Gens beta testers !
Combacker for designing the Official Gens site. (http://www.emuforce.com/gens)
All the people that have helped or supported me by mails (or by subscribe on my alladvantage banner :) !
