         _
     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 est un mulateur pour la mgadrive/genesis.
Il est crit en C/CPP  35% (Visual C++ 5.0) et en assembleur (Nasm) pour les 65% restant.
Gens ne FONCTIONNE QU'EN MODE 15/16 BITS et ncessite directx 3.0 ou suprieur !

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.


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

- Gens utilises la nouvelle version de MZ80 (v3.4) de Neil Bradley.
  Cela corrige beaucoup de bugs sonores rencontrs dans certains jeux 'konami'.
- Correction de l'auto-dtection de version (Toy-Story fonctionne ...)
- SRAM implement (Landstaker, Light Crusader ... fonctionnent correcment !)
  mais, elle n'est toujours pas sauvegarde dans un fichier !
- On peut dsormais choisir la vitesse du jeu : NTSC (60 FPS) ou PAL (50 FPS).
  Si une rom tourne trop vite, passez en mode PAL !
- Timing du son corrig pour certaines roms (vector man ....
- Correction du raccourcis 'switch state'.
- Correction du bug idiot qui faisait quitt l'mulateur lorsque l'on
  avait termin de modifier ses touches.
- Le chargement d'une partie avec Starscream maintenant correctement.
- ...

Les joysticks / pads ne sont toujours pas supports :(

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

- L'mulateur 68000 Starscream est disponible, diffrences par rapport au mien :
  - Beaucoup plus de roms fonctionnent correctement (environ 75% :)
  - Vitesse accrue !
  - Le debugger ne marche plus !
- L'mulateur RAZE Z80 a t ajout mais il reste quelques problmes avec certaines roms
  (cela est du  la gestion des interruptions de RAZE), nanmoins il marche mieux que MZ80
  dans certains cas (animaniacs, contra4 ...).
- Ajout des touches de raccourcis (Save / Load / Frame skip ... voir plus bas)
- Le son se coupe lorsque l'on rentre dans le menu ou lors des resizings ... (enfin !)
- Le rpertoire courant est maintenant enregistr (uniquement en interne pour l'instant).
- Diverses optimisations -> quelques FPS de plus :)
- Correction de bugs (initialisation directsound, rglages des touches ...)
- etc etc etc ....

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

- L'mulateur 68000 Starscream (plus rapide et surtout plus correct que le mien) est
  implment mais dsactiv pour l'instant, il sera actif dans la prochaine version !
- Le DAC est maintenant correctement implment (enfin le 'SEGAAA' dans les sonics :)
- Beaucoup de correction dans les diffrents timing son et CPU :
  - Tout les composants muls (68000, Z80, YM2612, PSG ...) sont synchroniser en fonction
    du type de jeu (PAL 50Hz / SECAM 60Hz), maintenant, les jeux PAL tournent a 50 FPS en
    mode auto-frameskip.
  - Correction des timers du YM2612 (puce FM).
  - Correction frquence PSG.
  - Modification sur l'amplification PSG / YM2612 / DAC.
  - Possibilit de choisir le sample rate (nssecite le rechargeent de la rom)
- d'autres petites choses dont je ne me souvient plus !

Malgr toutes les heures (voir les jours) que j'ai pass  essayer de synchroniser parfaitement le son pour
toutes les roms, il reste encore un bug avec le DAC qu'il est parfois un peu lent (voix dans
aladdin, cool-spot, lemmings ...)

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

- J'ai repris l'mulateur MZ80 de neil Bradley, il est maintenent correctement implment !
- Implmentation du son (assez prlminaire) :
  - le chipset YM2612 fonctionne a peu prs correctement.
  - le PSG fonctionne bizarrement (certains sons dconnent un peu).
  - le DAC n'met que des bruits dsagrables (surement une erreur de timer).
  - il reste beaucoup de bugs en gnral :
     - le son qui se joue lentement dans certaines roms.
     - synchronisation du buffer directsound imparfaite ...
- Correction d'un bug dans l'affichage du plan window (Zombie ne plante plus l'mulateur)
- ...

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

- J'ai compltement rcrit le code du VDP render :
  - Optimis  donf ;) donc plus rapide !
  - Correction conflit Scroll A / Window.
  - Implmentation des 'masks sprites'.
  - Implmentation du 'line sprite limit' (sur l'cran de prsentation de sonic 1)
    Activable / Dsactivable avec 'Sprite Over' dans le menu 'graphics' car cela gnre des
    clignotements (prsent sur la console elle-mme) parfois indsirables.
  - Implmentation du mode 15 bits enfin ;)
    Plus de couleurs  gerber pour ceux qui ont des cartes qui fonctionnent en 15 bits.
- Correction de la lecture et de l'criture dans la VSRam (les scrolls verticaux ne dconnent plus :)
- L'mulateur z80 utilis n'est plus MZ80 (Neil Bradley neil@synthcom.com) mais RAZE
 (Richard Mitton richard.mitton@bigfoot.com) car je ne sais pour quelles raisons certains jeux
 refusaient de fonctionner avec MZ80 (cela ne doit pas venir de MZ80 lui-mme mais plutot de la
 faon dont je l'utilise).
- Quelques petites modifs sur les transferts DMA. (les sprites de la rom demo mario s'affichent)
- Implmentation du mode Full-Screen (qui fonctionne enfin correctement).
  Je conseille vivement d'utiliser le mode Full-Screen car c'est bien plus rapide !<br>
- Srement d'autres choses dont je ne me rapelles plus !

H oui, le son n'est pas encore mul, peut-tre dans la prochaine version !

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

- L'Auto-FrameSkip est implment !
- correction de quelques bugs de dbordements sur les transferts DMA (il y a souvent des dbordements
  dans les transferts DMA des roms demos (pas toujours bien programms) comme super mario, maintenant
  ces roms ne crashent plus !)
- Redfinition des touches possibles !
  (L'interface est trs simpliste et buggue)
- Quelques changements sur l'utilisation du directdraw car, lire dans la mmoire vido est hyper lent 
  (je ne sais toujours pas pourquoi ?) et l'mulateur ralentissait terriblement lors des
  highlight/shadow (effets de transparences).
- Ajout de l'algo d'HalfBlur, pour adoucir les gros pixels :)

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

Un gros changement: Gens fonctionne maintenant sous windows et utilise DirectX !
Les modifications ncessaires au "portage" de Gens sous win9X sont trs nombreux
et ont srement apports leur doses de bugs !
Malheureusement, certaines roms qui fonctionnait sur la version DOS ne fonctionnent plus maintenant :(

- Screen size * 1; * 2; * 3; * 4.
- Full-Screen implment mais dsactiv car bugg !
- Pas de V-Sync pour l'instant.
- Le debugguer a disparu car il demandait normment de modifications.
- Ajout des sauvegardes/chargement de parties.
J'ai essay de reprendre le format de Genecyst, mais le manque d'infos fais qu'il y a des bugs !
- Maintenant, les effets de transparences dus aux reprogrammation de palette en cours
d'H-Blank fonctionnent !

Toujours pas de son !


De quoi ai-je besoin pour faire marcher Gens ?
----------------------------------------------
* Sur ma premire machine (clron @464 Mhz, 64 Mo, Ati Rage Pro 4 Mo), j'obtient
  les rsultats suivants avec Starscream, MZ80 sans le Half-Blur:

 - 60 FPS ou plus en Full-Screen.
 - 60 / 60 FPS en fentre * 1.
 - 40 / 60 FPS en fentre * 2.
 - 20 / 35 FPS en fentre * 3.

* Config Min

- Pentium 200
- 16 Mo de Ram
- Carte vido supportant le directdraw et le mode 15/16 bits
- Systme Windows95 / Windows98 (2000 ou NT peut-etre ?)
- DirectX 3.0

* Config Recommande

- Pentium II 300 Mhz
- une bonne carte vido (tnt, G400 etc ..., si vous avez
  une daube, jouer en full-screen pour limiter la casse ;)
- 32 Mo de Ram
- Systme Windows95 / Windows98 (2000 ou NT peut-etre ?)
- DirectX 3.0


Comment jouer ?
---------------

(clavier AZERTY)

		Joueur 1			Joueur 2

	Haut		Up		Haut		Y
	Bas		Down		Bas		H
	Gauche		Left		Gauche		G
	Droite		Right		Droite		J
	Bouton A	Q		Bouton A	K
	Bouton B	S		Bouton B	L
	Bouton C	D		Bouton C	?
	Bouton X	W		Bouton X	I
	Bouton Y	X		Bouton X	O
	Bouton Z	C		Bouton Z	P
	Start		Return		Start		U
	Mode		MAJ-Droit	Mode		T

Touches supplmentaires :

	Save State				F5
	Load State				F7
	Switch State				F6
	Full-Screen / Window Mode		Alt + Return
	Frame-Skip X				X (touches 0  4)
	Auto Frame-Skip				9

Le switch state est trs pratique dans les jeux d'aventures, a permet
de se positionner sur le prochain slot de sauvegarde/chargement et retourne au
slot 0 quand on dpasse le 9me.


Caractristiques de Gens:
-------------------------

* emulation du CPU 68000
  2 cores:
  - Le mien (assez rapide mais trs bugg)
  - Starscream 680x0 emulation library by Neill Corlett (corlett@elwha.nrrc.ncsu.edu)
    (encore plus rapide et plus fiable)
* emulation du VDP : 
- Transferts DMA (tout les modes)
- Plan Scroll A avec scrolling vertical (overall, 2 cell)
  et scrolling horizontal (overall, cell, dot)
- Plan Scroll B avec scrolling vertical (overall, 2 cell)
  et scrolling horizontal (overall, cell, dot)
- Plan Window
- Plan Sprite
- Vertical Interrupt
- Horizontal Interrupt
- Rasters effects.
- Highlight/Shadow effects.
* emulation des ports IO:
- controller 1 3/6 buttons.
- controller 2 3/6 buttons.
* emulation du CPU Z80
  - MZ80 Multi-CPU emulator par Neil Bradley (neil@synthcom.com)
* YM2612 chip emulation by Tatsuyuki Satoh
* PSG 76489 emulation
* SRAM supported.
* Frame Skip (Auto, 0, 1, 2, 3, 4)
* Save/Load State.


Que manque-t-il ?
-----------------

* Mode entrelac du VDP (bien que partiellement implment).
* Sauvegardes internes aux cartouches compltement implment.
* Support des joysticks.
* un fichier ini serait pas de trop !
* un core 68000 plus correct.

Remerciements :
---------------
Neill Corlett pour son excellent mulateur 68000 Starscream.
Neil Bradley pour son trs bon mulateur Z80.
Tatsuyuki Satoh pour son mulateur de chipsets Yamaha (YM2612 pour la megadrive)
qui offre un son trs proche de l'original.
Nicolas BRAY <schtroumpf grognon@caramail.com>, NiNjA LEMoN, Arzeno Fabrice et DaGee The Big G qui m'aident
beaucoup en temps que bta-testeur ! (la liste des jeux buggs commence a tre vraiment impressionnante !) 
Combacker pour avoir designer le nouveau site officiel de Gens. (http://www.emuforce.com/gens)
Tous les gens qui m'ont support ou aid par mails...