         _
     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  35% (Watcom C 11.0 pour la version DOS et Visual C++ 5.0 pour
Win9X) et en assembleur (Nasm) pour les 65% restant.

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.


(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 :

 - 60 FPS ou plus en Full-Screen.
 - 50 / 60 FPS en fentre * 1.
 - 30 / 50 FPS en fentre * 2.
 - 15 / 30 FPS en fentre * 3.

* Sur ma seconde machine (K6-2 300 Mhz, 32 Mo, CIRRUS 1 Mo), j'obtient les rsultats suivants :

 - 25 / 40 FPS en Full-Screen.
 - 20 / 40 FPS en fentre * 1.
 - 15 / 25 FPS en fentre * 2.
 - 10 / 15 FPS en fentre * 3.

Je pense que la CIRRUS est largement responsable des rsultats si faible !

* Config Min

- Pentium 200 MMX
- 16 Mo de Ram
- Systme Windows95 / Windows98
- DirectX 7.0

* Config Recommande

- Pentium II 300 Mhz
- 32 Mo de Ram
- Systme Windows95 / Windows98
- DirectX 7.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


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 et controller 2)
* emulation du CPU Z80
  MZ80 Multi-CPU emulator by Neil Bradley (neil@synthcom.com)
* YM2612 chip emulation by Tatsuyuki Satoh
* PSG 76489 emulation
* Frame Skip (Auto, 0, 1, 2, 3, 4)
* Save/Load State.


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

* Mode entrelac du VDP.
* Sauvegardes internes aux cartouches.
* un fichier ini serait pas de trop !
* un core 68000 plus solide et plus rapide !

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> qui m'aide beaucoup en temps que bta-testeur !
Combacker pour avoir designer le nouveau site officiel de Gens. (http://www.emuforce.com/gens)
