Steem 4 SSE est un émulateur Atari ST. 
C'est une reprise améliorée du genial et vénérable Steem 3, mais sur plus de 9O Mo.
On utilisera donc Steem 4 en fixe, et Steem 3 (ou Hatari) pour bidouller des versions
PC de jeux Atari avec émulateur incorporé
===========================================================================================================
LIENS
Steem demande TOS, dossier disquette, dossier disques durs
http://sourceforge.net/projects/steemsse/
http://planetemu.net/index.php?section=menus&machine=34 
http://www.atarimania.com/
http://www.avtandil.narod.ru/tose.html 
===========================================================================================================
CONTENU ET BARRE DE MENU
===========================================================================================================
- plugin64/disk image list.txt est une base de donnée d'images avec CRC et des indications de sources
  Elle est utilisée par le Disk Manager pour donner le contenu de certains disques de compil eépertoriés
- Patches modifie certains jeux après leur chargement (protection, triches...)
- Menu global : Icône Steem (coin sup gauche)
  Menu emulation : Tool barre du haut, Menu normal  (mêmes options) qui sort avec touche Alt
  F12 ou le triangle jaune lance/arrête l'émulation; 
  Double fleche verte passe en mode turbo (clic droit cherche des images en memoire atari)
  Paste  le texte Windows copié dans presse papier est tapé au clavier Atari
- Configuration: gère les fichiers .ini (accès aussi depuis Options)
  On peut charger une .ini aussi depuis le lecteur de disquette (ça redemarre l'émulation)
- Joystick normalement port 1 (port 0 désactive la souris). Accepte les vrais joystick PC.
  Les touches sont redéfinissables. Num Lock bascule les flèches curseur mode clavier/joystick 
  (avec Power toys/Keyboard Manager j'ai remappé le Num Lock absent sur Caps Droit+Caps Lock)
===========================================================================================================
DISK MANAGER
===========================================================================================================
Présente le "Home Folder" où sont fichiers à draguer sur les cases à côté des images de lecteur A et B
On peut acceder et gérer plusieurs Home Folder pas les deux premières petites icone
La troisième petite icône gère des options interessantes:
  - Lectures accélérée des disquettes mais qui peuvent desynchroniser des démos.
  - Execution d'un programmes Atari .prg ou .tos sans autre datas. (Steem le copie dans PRG/AUTO) 
    Le dossier PRG qui doit être monté en lecteur Atari Z: avec son  dossier AUTO et son DESKTOP.INF
  - Insertion automatique de la disquette 2 (même nom) dans lecteur B (mais souvent le jeu veut la 2 en A...)
  - Disk Swapper Pattern : change de disque d'après le nom (xxx1, xxxB ...) 
-Images disquette :  .st, .msa, .stt, .dim, .stx, .ctr, .ipf, .scp, .stw, .hfe, .zip, .rar, .7z, .stz
  sont lus et lancés. S'il y en a deux, charge le lecteur B
- Lance directement les configurations .ini
Les images disquettes comprimées sont protégées en écriture, mais si on peut autoriser l'écriture 
sur la version temporaire décompressée.
Clic Droit sur un disque chargé propose de le protéger, échanger avec B, charger le suivant logique.
  (on peut créer des raccourcis pour changer de disque; le nom du disque est affiché dans la barre de statut)
Clic Droit/New dans la fenêtre de liste propose de créer des images disquette et disque dur
Clic Droit sur un disque non chargé propose conversions, rangement, informations, créations ...
     "Get CRC32 and Contents" donne le contenu d'une disquette de compil d'après plugins64/disk image list.txt
Clic Droit sur le lecteur A ou B change le nombre de face, la face de boot, le bruit du lecteur
GEMDOS fait correspondre une lettre de lecteur Atari à désigner, à un dossier. Monte jusqu'à 10 disque durs.
  Normalement Atari boote sur A, mais CTL + cold reset force à booter sur le disque dur si besoin.
  Clic droit dessus désactive le disque dur GEMDODS. (Pas de disque GEMDOS avec l'OS MagiC)
ACSI (SCSI à la sauce Atari) disque .img (1Go maxi) des données écrites sur les secteurs d'un disque Atari.
  Permet des partitions, nécessite un driver (Atari AHDI ou ICD Pro) 
  Exemple: monter en ACSI SH204.img (contient SHDRIVER.SYS), MEGAFILE60.img (contient ICDBOOT.SYS), 1GB.img
  et cocher "Enable ACSI Drive"
===========================================================================================================
BARRE DE MENU OPTIONS
=========================================================================================================== 
- Raccourcis : jusqu'à trois touches combinées (dont souris et joystick) chacun.
  créés/sauvés par groupe. On doit activer le groupe dans la liste !
- Status bar: barre du bas (Options/Misc), clic sur chaque quart pour changer l'info affichée
  Frequence/xy souris, Configuration/debug, Configuration/cherche image cachée, CAPS NUM SCRL/disk info
- Options/misc ouvre des options supplementaires mais peu utilisées
- Big GUI grossit les barres du haut et du bas (mais n'accepte que les icônes par défaut)
  Restore Previous State fait un snapshot automatique quand on quitte/relance Steem (dans le dossier Steem)
  En cas de plantage, il faudra effacer ce fichier. Pour relancer Steem complètement, effacer steem.ini
- Start emulation on mouse click demarre au premier clic souris dans la fenêtre Steem au lieu de F12/triangle jaune 
- Cartouches (recette de création dans la doc) dont les cartouches d'interface:
  Freeze boutton de la "Multiface and Ultimate Ripper" en choisissant me bon Port connexion.
  Cartouche sonore MV16 du jeu B.A.T., restitution de la Replay 16 (mais pas l'enregistrement).
  De même I/O port Various émule la carte de Pro Sound Designer (Wings of Death and Lethal Xcess)
  et les boutons de Ultimate Ripper et  Multiface ST Mais il faut être en 'Low-level emulation'
  dans  Option/Keyboard/Mouse.
- La barre bleue du bas indique la vitesse d'émulation comparée à la Vsync d'un moniteur ST
- Time est le temps qu'on a passé sur Steem
- Disk access light: "diode" en haut à droite, verte:lit, rouge:écrit, jaune:disque dur
- Keyboard : il s'agit de faire correspondre les codes clavier PC, TOS, et clavier ST.
  Shift and alternate correction fait correspondre clavier PC et ST la plupart du temps
  Mais certains jeux gèrent directement les touches sans passer par le TOS; on passera par Mapping file
  avec des fichiers .ini qui énumèrent les correspondances (exemples Français et allemand) cf plus bas
- Imprimante : sortie vers un fichier .rtf (ST texte) ou pbm (ST graphique ou laser)
- MIDI seulement pour les vrais messages MIDI, pas pour les jeux utilisant MIDI pour d'autres choses
- Options/Record Input liste les fichiers .stmac de macros. Créer une macro enregistre des actions faites
  (souris, clavier, joystick ...) dans l'Atari (sans les pauses). Cependant, on peut ralentir la vitesse
  à laquelle les macros sont rejouées, pour la souris ou les autres actions.
- Icons permet de changer les icônes, mais seulement sous Windows sans BIG GUI
- Misc pour cacher la barre d'outil (reste le menu), la barre d'info du bas
  Coche pour avoir des options cachées, Hacks pour dévoiler des options irréalistes (vitesse, écran)
- Emu detect ouvre des adresses où un programme Atari peut écrire pour communiquer en 68000 avec l'émulateur.
===========================================================================================================
LIGNE DE COMMANDE
===========================================================================================================
Steem a prévu d'être utilisé par une combinaison entre CLI et fichiers de configuration .ini
(sachant que les fichiers .ini font appel à d'autres  fichiers gente raccourcis, snapshot etc..)
On ne peut pas le commander uniquement par CLI, il faut créer/modifier un .ini ad hoc.
La modificationd'un .ini avec un  bat est trop longue à l'éxecution (essai dans Steem Lauchers/DROP_remplace)
On utilise donc l'écriture écriture de lignes-clefs intercalées dans un assemblage de morceaux .ini
Pour rendre la chose portable, on utilise une version générique du .ini, actualisée à la fin.
Mais Les fichiers créés par Steem (dont les snapshots) ne sont pas portables. 

CLI (options principales, mais il y en a d'autres) Pas besoin de mettre de - ou de -- avant les commandes
- Disques: les fichiers avec ces extensions sont considérés comme des disques à charger et sont lancés 
  .st .msa .stt .dim .stx .ctr .ipf .scp .stw .hfe .zip .rar .7z .stz  
  On peut en donner deux, le second ira dans le lecteur B mais ne sera pas démarré tout seul.
- Fichiers exécutables Atari: .prg .tos sont chargés et lancés directement
- Fichiers snapshot .sts  (instantané mémoire intégral de l'Atari) prête à être rejoués)lancés directement
  (attention, ils ne marchent que si Steem n'a pas bougé depuis la prise du Snapshot)
- INI=chemin.ini   charge le fichier .ini donné au lieu de steem.ini
  WINDOW - force à ouvrir en mode fenêtre   FULLSCREEN - force à ouvrir en mode plein écran

.INI:
- on peut faire des .ini partielles (une seule section) à activer avec d'autres dans la liste
- Les .ini sauvés dans config n'incluent pas le chemin du dossier des ROM ni celui de la racine
  Les chemins vers le TOS et les images disques seront relatives à ces dossiers.
  les .ini sont ainsi un peu déplacables (sinon, beaucoup de chemins sont absolus). 
  Exemple pour les disquettes :
  CurrentFolder=C:\Users\pierre\Desktop\Applications\Emul\Atari\Hatari\_Diskt\JEUX
  Disk_A_Path=Battle Chess (1989)(Interplay)[cr Replicants].st
  Exemple pour le TOS:
  ROM_File=tos162fr.img quand il est dans le même dossier que steem.exe
  sinon on a 
  ROM_File=C:\Users\pierre\Desktop\Applications\Emul\Atari\Steem\_TOS\tos162fr.img
  ROM_Add_Dir=C:\Users\pierre\Desktop\Applications\Emul\Atari\Steem\Steem.4.1-64D3D 
- Option/misc Default ST configs va selectionner les .ini correspondant au Option/Machine/STModel
  Mais le nom de .ini doit être celui des Option/Machine/STModel (STF.ini, STE.ini, Mega ST.ini, Mega STE.ini)   

.INI: instructions spéciales supplémentaires
- Snapshots (Section [Main]) (photos instantanées de toute la mémoire de l'Atari prête à être rejoués)
   exemple: DefaultSnapshot=[path to Steem]\memory snapshots\mysupergame.sts
- MonochromeDisableBorder=1 (Section [Main]) enlève le bord d'écran quand on est en monochrome.
- NoIntro (Section [Main]) évite que Steem cherche à se faire initialiser au premier démarrage
- TrueFullScreenGui (Section [Display]) affiche la barre de menu en plein écran 
  exemple steem.ini: TrueFullScreenGui=1 (ne marche pas sur certaines version Windows)
- PreciseModel (section [Machine]) (ligne absente de steem.ini) affiche dans la barre de statut le modèle d'Atari
  exemple PreciseModel=520ST
- RunOnStartup (section [Options] ) exemple: RunOnStartup=1 (voir Options/Startup de la barre de menu)
- Spurious=0 (section [Options] ) désactive une erreur dans le hardware de l'Atari, 
  quand une interruption IRQ du 68000 survient pendant un traitement IACK d'interruption.
- MouseAd (section [Patches])(ligne absente de steem.ini)
  Donne les coordonées souris lues à une adresse donnée, affichables dans la barre de status 
  L'addresse pointe to 2 mots x,y.
  exemple pour Barbarian, c'est l'adresse $62C: (d'autres exmples plus bas)
  [Patches]
  MouseAd=1580
  Cependant dans configuration il faut avoir coché Patches
  Ce patch est sauvé avec les snapshot, et resiste au reset. Mais il change si on change de .ini
========================================================================================================
FORMAT MAP CLAVIER
# = commentaire
Chaque ligne a 5 champs de 1 ou 2 caractères suivis de ";" (y compris le dernier)
Exemple: 1;22;33;44;
1: PC key to type (1 character)
2: ANSI code of PC key to type (2 characters) en codage hexa Windows-1252 et non UTF8
3: Alt (a) and Shift (s) modifiers of PC key to type, if any (2 characters)
4: ST scancode, hexadecimal without header (2 characters)
5: Alt (a) and Shift (s) modifiers of ST key (2 characters)
On peut mettre des lignes vides, mais chaque ligne doit avoir la même longueur :
On mettrea des espaces si on ne remplit pas tout. Par exemple on peut donner PC key ou ANSI ou les deux
Pour les touches tapées avec Shift ou Altgr sur PC, on indique le code du caractère sans ces touches.
Exemple: en allemand pour avoir "|" on doit taper "Alt Gr <", on a donc " <;  ;a ;2b;s ;"
Touche PC "<"; pas de code ANSI; modificateur a (alternate);scan code ST= 2b; modificateur s (shift)
===========================================================================================================
FORMATS DE FICHIERS
st: format Pacifist (le plus courant) pour disque non protégés
msa : format (courant) Atari de compression Magic Shadow Archiver
stt: format steem pour disques protégés 
dim: format Atari FastCopy Pro
sts: snapshot (ne marchent que si Steem n'a pas bougé)
stx: format pasti pour disques protégés
ipf: format SPS pour disques protégés créé par un lecteur materiel KryoFlux board
ctr : comme ipf, format Software Preservation Society (SPS)
scp: format pour disques protégés créé par un lecteur materiel SuperCard Pro board
stw: format steem ST Write adapté à l'écriture par l'émulateur WD1772 (floppydisk controller)
HFE: format de l'émulateur materiel de lecteur de disquettes HxC2001 
