         _
     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

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.


(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
* 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 ?
-----------------

* emulation du DAC et PSG parfaite
* Mode entrelac du VDP
* Sauvegardes internes aux cartouches
* Rendre le core 68000 plus rapide et moins bugg !

Remerciements :
---------------
Neil Bradley pour son mulateur MZ80 (qui est vraiment trs rapide).
Tatsuyuki Satoh pour son trs bon mulateur de chipsets Yamaha (j'utilise le YM2612).
Nicolas BRAY <schtroumpf grognon@caramail.com> pour m'avoir beaucoup aid en temps que bta-testeur !

