			 EUPHORIC : Manuel de rfrence


 1. Options de la ligne de commande
 2. Fonctionalits
 3. Images de cassettes
 4. Utilisation des cassettes: le systme macroscopique
 5. Utilisation des cassettes: le systme matriel
 6. Images de disquettes
 7. Utilisation du Microdisc
 8. Utilisation du Jasmin
 9. Tlstrat
10. Imprimante
11. Joystick
12. RS232
13. Clavier PC programmable
14. Sauvegarde et reprise d'tat
15. Copie d'cran
A1. Configuration matrielle et quelques chiffres
A2. Problmes de performance ?
A3. Transfrer des programmes de l'Oric au PC
A4. Copyrights et remerciements

_______________________________________________________________________________

1. Options de la ligne de commande
----------------------------------

Euphoric reconnait les options suivantes sur la ligne de commande :
	-com2 : utilise le deuxime port srie au lieu du premier
	-m : palette de gris pour un cran VGA monochrome
	-r : redmarre sur un tat sauv par F9
	-s N : spcifie l'indice de vitesse (N=100 par dfaut)
	-t : dmarre un TlStrat
	-j : demande un controleur Jasmin
	-p : ajoute un joystick sur interface P.A.S.E (sur le port imprimante)
	-tj : ajoute un joystick sur les ports joystick/souris du Telestrat
	-q : utilise le mode d'affichage Q, pour des pixels rectangulaires
		comme sur le vritable Oric. NE PAS utiliser sur cran LCD.
Tout autre paramtre est considr comme un fichier devant contenir une image
disque.
_______________________________________________________________________________

2. Fonctionalits
-----------------

Euphoric mule Oric 1, Oric Atmos, Tlstrat, et leurs priphriques :

	- mulation complte du processeur 6502 en technologie N-MOS, y compris
	les codes des instructions non-officielles. Emule aussi le blocage du
	6502 sur les codes invalides.

	- mulation de l'horloge de l'Oric par comptage des cycles ncessaires
	 l'excution des instructions.

	- excution  la vitesse originale de l'oric, quel que soit le cpu sur
	l'hte (voir malgr tout le paragraphe 'configuration matrielle')

	- mulation du premier adaptateur d'interface universel VIA 6522 : ports
	d'entres-sorties, timers programmables dcrments par l'horloge
	prcdente, contrleur d'interruptions (il manque l'mulation du
	registre srie qui n'est pas utilis sur l'oric)

	- mulation de priphriques interfacs par le 6522 : matrice clavier,
	imprimante, accs au gnrateur de son, joystick de l'interface PASE, et
	lecteur de cassette au niveau hardware.

	- mulation partielle du deuxime VIA 6522 (Tlstrat seulement):
	les trois bits faibles du port A sont utiliss pour la slection
	des banques mmoires, le port B pour la lecture du joystick.

	- mulation du bouton Reset situ sous l'oric, par la touche F7. Le
	bouton Reset du Tlstrat est aussi affect  cette touche.

	- mulation du gnrateur de son programmable GI AY-3-8912 : les trois
	canaux sons avec les diffrentes enveloppes sont muls, le gnrateur
	de bruit est partiellement mul (la frquence bruit n'est pas
	programmable). Il reste aussi  retrouver le timbre exact de l'oric
	(produire un signal carr).

	- mulation du controleur de disquettes WD 1793 avec support pour 4
	lecteurs virtuels (3", 3"1/2, 5"1/4... la dimension physique est sans
	importance)
	
	- mulation de l'lectronique du MicroDisc Oric et du Tlstrat.

	- mulation de l'lectronique du Jasmin.

	- mulation de l'extension horloge temps rel (l'alarme n'est pas
	mule parce qu'elle ne sert pas  grand chose sans ligne IRQ)

	- mulation de l'ACIA 6551 et des interfaces RS232 et minitel du
	Tlstrat ou de l'extension RS232 des Oric 1 / Atmos, avec tous les
	bits de statut du modem ou de la ligne, et les interruptions.

	- mulation de la logique de l'UAL pour la construction de l'image
	cran, avec tous les attributs srie, y compris le clignotement et les
	changements de mode (texte/haute rsolution), les redfinitions
	dynamiques des deux jeux de caractres, etc.

	- mulation du balayage cran tous les 1/50e de seconde (mais suivant la
	puissance du processeur, une partie seulement de l'cran peut tre
	affiche, ou au contraire, plus d'une fois l'cran), et de l'aspect
	aplati des pixels sur un tlviseur.

Facilits:

	- Lecture et sauvegarde des fichiers sur le systme hte par
	interception des lectures/critures sur cassette.

	- Coupure du volume son, et reprise par la touche F2

	- Choix entre clavier PC programmable et clavier direct Oric, par la
	touche F3

	- Touche F8 pour la dconnexion et reconnexion immdiate de la prise
	d'alimentation de l'oric

	- Arrt avec sauvegarde de l'tat de l'oric (touche F9) dans deux
	fichiers (State pour les registres cpu, registres 6522, etc. et Dump
	pour le contenu de la mmoire). Reprise d'un tat avec l'option -r sur
	la ligne de commande (permet de reprendre l'excution d'un programme
	exactement  l'endroit o il avait t laiss, ou de sauver la mmoire
	pour examen, ou pour faire une photo de l'cran, etc)

	- Copie d'cran 'au vol' vers un fichier au format .bmp
	
	- Frquence de l'horloge de l'oric modifiable pour obtenir un oric plus
	rapide ou moins rapide que l'original.

	- Ecran de configuration pour changer les disquettes, par la touche F1.

_______________________________________________________________________________

3. Images de cassettes
----------------------

Deux formats d'images de cassettes existent aujourd'hui. Le premier est dit
macroscopique: il contient les mmes octets que ceux que les routines en rom
de l'oric sauvent sur cassette (toutefois, le nombre d'octets de synchronisation
a t rduit  3). Ce format est le plus utilis, et il est commun  l'mulateur
Amoric de Jean-Franois Fabre. Presque tous les programmes pour Oric disponibles
sur les serveurs d'archives utilisent ce format. Il n'y a pas d'extension
particulire pour les noms des images cassettes, seul le contenu est
caractristique (3 octets $16 de synchronisation, puis $24, puis un programme).
Le second format est plus rcent, et reprsente le signal lectrique entre
l'oric et le lecteur de cassettes, chantillonn  4800 Hz. Il permet une
mulation trs fine des cassettes, utile pour faciliter les transferts oric/pc
ou pour lancer les (rares) programmes qui n'utilisent pas du tout les routines
en rom.

_______________________________________________________________________________

4. Utilisation des cassettes: le systme macroscopique
------------------------------------------------------

Bon, comme vous l'avez srement dj remarqu, la commande CLOAD du Basic va
chercher le programme demand sur le systme hte (DOS ou Linux). Il en est
de mme avec la sauvegarde de programmes par CSAVE.

Ceci permet une utilisation trs intuitive et parfaitement compatible avec tous
les programmes prvus pour fonctionner depuis une cassette, mme ceux qui sont
crits en langage machine, ou qui sont lgrement protgs.

Pour une utilisation avance, si vous voulez ranger vos programmes oric dans
des rpertoires diffrents, fabriquer des programmes en plusieurs parties, ou
utiliser le nom vide, lisez ce qui suit :

- CLOAD et CSAVE transmettent sans modification le nom donn en paramtre au
systme d'exploitation hte. Ce qui veut dire que le nom de programme que vous
demandez est pris tel que comme nom de fichier sur l'hte. Vous pouvez donc
inclure un nom de chemin satisfaisant aux rgles de l'hte ! Par exemple :

	CLOAD "A:\JEUX\GOBBLER"

	CSAVE "/tmp/version1",AUTO

Le premier exemple est pour DOS bien sr, le deuxime marche aussi bien pour
Linux que pour DOS (essayez le ne serait-ce que pour vrifier que vous savez
toujours activer le passage en minuscules avec Ctrl-T). Notez qu'il est plus
facile sous Linux de mmoriser les fichiers Oric avec des majuscules.

Voil donc qui permet de classer un peu vos programmes dans des rpertoires,
mais ATTENTION ! l'oric tronque le nom de programme  16 caractres, ce qui
vous obligera  choisir entre un nom long (sous Linux), un seul niveau de
rpertoire fils, ou des noms de rpertoires trs courts.

- une exception est faite pour les programmes sans nom : vous savez qu'il est
possible de sauvegarder un programme par 
	
	CSAVE ""

ou de le charger de la mme faon avec la commande CLOAD. Comme les systmes
htes n'acceptent pas de mmoriser des fichiers sans nom, le fichier prend le
nom "________" sur l'hte (8 caractres trait-bas).

Il est fortement dconseill de sauver un programme sans lui donner de nom bien 
que cela soit possible : vous ne vous rappellerez plus ce qu'il contient, et le
programme court le risque d'tre cras par la prochaine sauvegarde d'un autre
programme sans nom. 

Vous verrez parfois apparatre ce fichier dans vos rpertoires, c'est le signe
qu'un programme a fait une sauvegarde (l'tat d'un jeu par exemple) sans lui
donner de nom. Avec les commandes du systme hte, vous pouvez trs bien alors
grer plusieurs de ces sauvegardes en les renommant sous des noms diffrents.

- il est trs facile d'utiliser un programme en plusieurs parties, parfois vous
ne vous en rendrez mme pas compte si les diffrentes parties sont concatnes 
dans un seul fichier. Pour charger un tel programme, il suffit en effet de
taper la commande CLOAD avec le nom du fichier en paramtre : le premier
programme contenu dans le fichier sera charg, et des commandes CLOAD
successives chargent les autres morceaux du programme toujours dans le mme
fichier.

La logique de l'mulateur est en effet la suivante pour le chargement des
programmes : la premire commande CLOAD dtermine le nom du fichier  ouvrir
en lecture, puis charge le premier programme oric trouv  l'intrieur. Le
fichier reste ouvert en lecture, et les commandes CLOAD suivantes considrent
le fichier comme une cassette (accs squentiel). En particulier, cela veut
dire qu'un programme dans le fichier peut tre saut si son nom ne correspond
pas  celui demand. Si une commande CLOAD est demande alors que la fin du
fichier a t atteinte, ce dernier est ferm et un nouveau fichier est ouvert,
de mme nom sur le systme hte que le programme demand.

Pas clair ? Prenons un exemple : supposons que The Hobbit soit un programme
en quatre morceaux, concatns dans un fichier HOBBIT. Avec CLOAD"HOBBIT" vous
demandez  ouvrir le fichier HOBBIT et  lire le premier programme oric qui
se trouve  l'intrieur. Celui-ci s'excute automatiquement et va charger les
trois morceaux suivants (avec des instructions en langage machine dans cet
exemple), puis vous voulez charger une sauvegarde que vous aviez faite dans
un jeu prcdent : dans le vocabulaire compris par The Hobbit, vous utilisez
la commande LOAD qui va demander  charger un premier programme sans nom, or
la fin du fichier HOBBIT a t atteinte, c'est donc un nouveau fichier qui va
tre ouvert, en l'occurrence le fichier spcial ________ puisque le nom voulu
est vide. Le premier programme (un bloc de donnes dans cet exemple) va tre
charg, et le fichier va rester ouvert en lecture (The Hobbit demandera
d'ailleurs trois autres blocs car il sauve l'tat d'un jeu sous forme de
quatre morceaux). Et ainsi de suite : si vous demandez  recharger cette mme
sauvegarde, la fin du fichier tant dornavant atteinte, il sera ferm puis
aussitt rouvert. Et si maintenant vous dcidez de rebooter l'oric avec F8,
puis de charger un nouveau jeu ? Toujours pareil, la fin du fichier en cours
tant atteinte, un nouveau fichier sera ouvert...

Bref, normalement, vous n'avez pas  vous poser de questions, tout se passe
comme si vous aviez un robot qui vous charge les cassettes dans votre
magntophone, et qu'ensuite vous droulez la cassette jusqu'au bout pour
charger des programmes. La comprhension de cette logique vous sera seulement
utile si vous fabriquez vos propres "cassettes".

Et en criture ? Bonne question, comme vous n'avez pas envie d'crire vos
sauvegardes n'importe o, et surtout pas d'craser le contenu d'une de vos
"cassettes", un nouveau fichier est toujours ouvert pour la sauvegarde d'un
programme. Deux programmes diffrents ne se retrouveront donc pas concatns
sur une mme "cassette" (si c'tait ce que vous vouliez faire, vous aurez
toujours la possibilit de le faire avec les commandes du systme hte, par
exemple 'cat' sous linux ou 'COPY /B' sous Dos). Une exception  cette rgle :
la sauvegarde de programmes sans nom. La premire sauvegarde sans nom viendra
se placer dans le fichier ________ (crasant ce qui pouvait s'y trouver) et les
sauvegardes sans nom viendront se mettre  la suite.

_______________________________________________________________________________

5. Utilisation des cassettes: le systme matriel
-------------------------------------------------

Le systme matriel est trs (trop ?) fidle  l'utilisation des cassettes 
relles: l'interface de l'cran de configuration (F1) vous fournit un
magntophone avec des commandes avance-rapide, retour-rapide et RECord
(enregistrement), et mme un compteur en minutes/secondes pour reprer des
programmes sur une bande.
Pour activer l'option 'cassettes matrielles', slectionnez la ligne 'Hardware
tape' sur l'cran de configuration, puis slectionnez un nom d'image cassette
(sauf si vous voulez en crer une nouvelle).
Lire une cassette ne pose pas de soucis particuliers: remarquez que le
magntophone ne possde pas de touche lecture ou 'Play', parce que l'oric est
capable de tlcommander le magntophone. La touche de lecture est donc toujours
enfonce et c'est l'oric qui pilote le relais bloquant le moteur.
Il suffit donc de faire un CLOAD"" pour charger le premier programme de la
cassette, ou un CLOAD"nom_de_programme" pour charger un programme particulier.
Grce  la tlcommande, vous n'avez pas besoin non plus d'arrter le
magntophone aprs la lecture du programme, les routines de l'oric s'en chargent
pour vous.
Ecrire sur une cassette demande un peu plus de prcautions, comme pour les
cassettes relles. Il vous faudra passer sur l'cran de configuration et
appuyer sur le bouton RECord (slectionnez la ligne avec Entre, le bouton passe
en inversion vido) avant de taper votre commande CSAVE. Comme pour la lecture,
la tlcommande bloque le moteur du magntophone tant que la commande CSAVE
n'est pas excute, et arrte l'enregistrement  la fin de la commande. Par
contre, n'oubliez pas de relacher le bouton RECord aprs votre sauvegarde, ou
vous risquez d'effacer une cassette au prochain CLOAD ! Soyez prudent aussi si
vous voulez enregistrer un programme sur une cassette dj utilise. Positionnez
la bande  un endroit vierge, comme la fin de la bande par exemple, ou alors
vous craserez un programme.
Bref, je ne saurais trop vous conseiller de mettre un seul programme par bande,
ou les diffrentes parties d'un programme en plusieurs morceaux, sauf si vous
prparez une cassette complte pour un oric rel.
N'oubliez pas aussi de protger vos prcieuses cassettes contre l'criture, en
positionnant les droits d'accs du fichier avec votre systme hte (commande
chmod sous Linux, commande attrib sous Dos).

_______________________________________________________________________________

6. Images disques
-----------------

Les images disques sont des fichiers sur le systme hte reproduisant bit par
bit le contenu de disquettes MFM (double densit). Des images de disquettes
avec un ancien format doivent toujours trainer sur une archive ou une autre,
et certains utilitaires de transfert oric->PC gnrent toujours ce format
obsolte qui n'est plus support par Euphoric: il vous faut convertir les
vieilles images avec l'utilitaire oric2mfm.  On nomme gnralement les images
avec un suffixe ".dsk" mais ce n'est absolument pas obligatoire; Euphoric
contrle la signature d'une image disque dans les premiers 256 octets.
Il y a plusieurs faons d'obtenir une image disque: la rcuprer sur un serveur,
la fabriquer lors d'un transfert oric->pc, ou en formattant une nouvelle
disquette virtuelle avec Euphoric (dans ce dernier cas, il vous faut dj
avoir une disquette systme, bien sr).

Si vous avez besoin d'une nouvelle disquette, il suffit de passer sur un lecteur
sans disque, et de formatter sur ce lecteur. Vous crez ainsi une disquette
formatte sans nom (le nom de l'image est ________.dsk sur le systeme
hte), et c'est toujours gratuit... Quand vous sortez d'Euphoric, mieux vaut
mettre une tiquette sur cette nouvelle disquette, je veux dire la renommer
vers quelque chose de plus parlant.

Enfin, vous pouvez protger contre l'criture vos disquettes virtuelles. Sous
Dos, utilisez la commande ATTRIB +R pour positionner l'attribut lecture seule.
Sous Unix, videmment tous les droits d'accs sont respects, ainsi que le
propritaire et le groupe de la disquette virtuelle, ce qui permet de partager
des disquettes protges entre plusieurs utilisateurs, etc.

_______________________________________________________________________________

7. Utilisation du Microdisc
---------------------------

Le contrleur Microdisc possde une lectronique qui force l'oric  dmarrer
sur une eprom de 8 Ko. Vous devez avoir un fichier OricDisk.ROM qui est une
image de cette eprom, et dont le code tente de charger un systme 
d'exploitation depuis le premier lecteur. Sedoric est le plus abouti de ces
systmes et le plus utilis aujourd'hui.
Pour utiliser le contrleur Microdisc, il suffit de donner un ou des noms
d'images disques sur la ligne de commande. Les disquettes seront rangs dans
les lecteurs successifs (jusqu' 4), et l'oric bootera sur la premire.
Pendant l'mulation, vous pouvez jecter et insrer de nouvelles disquettes,
en passant par l'cran de configuration (veillez  ne pas le faire pendant une
criture de disquette: vous abimeriez une disquette de la mme faon qu'avec
une disquette relle !)

_______________________________________________________________________________

8. Utilisation du Jasmin
------------------------

Pour utiliser un contrleur Jasmin, lancez euphoric avec l'option -j et au
moins une image de disquette.
Le contrleur Jasmin possde lui aussi une eprom (vous devez avoir un fichier
image Jasmin.ROM de 2 Ko), mais son lectronique n'interfre pas avec le
dmarrage normal de l'oric. Il faut attendre le message d'invite "Ready"
habituel du Basic puis appuyer sur le bouton de boot du contrleur (F6 sur
l'mulateur). Bien sr, une disquette avec le systme Tran DOS doit tre
prsente dans le premier lecteur.

_______________________________________________________________________________

9. Tlstrat
------------

Pour ceux qui ne le savent pas encore, le Tlstrat est le dernier Oric sorti
par la branche franaise alors qu'Oric Angleterre avait mis la cl sous la
porte. Le projet avait nanmoins commenc outre-manche sous le nom de code IQ64
et la machine devait s'appeler Stratos. Cette superbe machine est compatible
de manire ascendante avec l'Atmos+Microdisc, et rajoute entre autres des
cartouches (tout le logiciel systme est d'ailleurs sous forme de cartouches),
un contrleur disque intgr, une interface RS232 et Minitel, des ports
joysticks ou souris. Une extension horloge temps rel existe aussi, et elle
est implmente par Euphoric.

Le Tlstrat a besoin d'au moins une cartouche pour dmarrer.
Euphoric ne sait pas ce qu'est une cartouche, mais il charge directement des
banques mmoire, ce qui devrait tre plus souple. Il cherche dans le rpertoire
point par la variable d'environnement ORIC les fichiers Bank1, Bank2... Bank7,
et les considre comme des banques de mmoire ROM. Chaque banque manquante donne
un bonus de 16 K de ram gratuite... Donc si vous dmarrez avec une image du
Tlmon en banque 7 et une image de l'HyperBasic en banque 6, vous avez un
Tlstrat avec 48 + 6 * 16 = 144 K ram ! (toutefois, la banque 0 est la ram
overlay et contient gnralement le StratSed)

Le Tlstrat dmarre sur la banque 7 qui est normalement le TlMon. Celui-ci
teste le contenu des autres banques, affichant le copyright des diffrentes rom,
et tente de charger le systme StratSed depuis le premier lecteur vers la
banque 0. Si la disquette dans ce lecteur contient aussi un fichier BONJOUR.COM,
il est excut, sinon la main est donne  la premire banque de rom en
descendant les numros, donc gnralement la 6 qui contient l'HyperBasic.
Les dernires versions de cette banque font afficher un menu proposant le choix
entre la banque Tlmatic (si elle est prsente) ou une banque langage, puis
dans ce dernier cas entre l'Hyper-Basic ou le TlAssembleur (si prsent).
Le TlAss est gnralement en banque 5 et le TlMatic en banque 3.

Si vous utilisez Linux, je vous conseille de mettre  profit les liens
symboliques pour jongler aisment avec les roms des cartouches. Nommez les roms
par leur nom, Telemon2.4, HyperBasic, Teleass, Telematic, Forth, Stratoric,
Basic1.1, etc. et faites des liens symboliques comme :
	ln -s Basic1.1 Bank6
	ln -s Stratoric Bank7
pour avoir une configuration avec cartouche Stratoric. Lorsque vous passerez
d'une configuration  une autre, vous ne risquerez pas d'effacer par erreur une
rom, dtruisez seulement les liens symboliques...

Dmarrer un Tlstrat au lieu d'un Oric1/Atmos consiste simplement  rajouter
l'option -t sur la ligne de commande. Le Tlstrat est fait pour travailler
avec des disquettes, donc il faut aussi spcifier le nom d'une image disquette
stratsed.
Votre Tlstrat virtuel possde 4 lecteurs, ce qui fait que les utilitaires qui
installent un disque virtuel (un ramdisk) sur le lecteur D ne marchent pas pour
l'instant.

________________________________________________________________________________

10. Sortie imprimante
--------------------

Pas de problme, le fichier Printer.Out accumule tout ce que vous pourrez
envoyer  l'imprimante pendant l'utilisation d'Euphoric (mme le premier
caractre NUL pendant le dmarrage de l'Oric). Vous aurez ensuite tout loisir
sur le systme hte de traiter ce fichier. L'interface PASE ne perturbe pas
l'impression.

_______________________________________________________________________________

11. Joysticks
-------------

Euphoric peut simuler un joystick par les touches du pav numrique (2,4,6,8
pour les directions et 0 pour le tir). Cela me semble prfrable dans le
contexte de l'oric, qui acceptait des joysticks tout-ou-rien alors que ceux
du PC sont analogiques.
Le joystick simul par l'option -p correspond  celui de l'interface P.A.S.E
(sur le port parallele), sans doute la plus populaire dans le monde Oric.
Le Tlstrat dispose en standard de deux ports joysticks, l'option -tj permet
d'en simuler un.

_______________________________________________________________________________

12. RS232
---------

Le Tlstrat dispose en standard d'un contrleur srie, son port de
communication peut tre envoy soit sur la prise V24 (niveaux EIA standard),
soit la prise Minitel (niveaux TTL).
Avec Euphoric, les signaux du contrleur srie de l'oric sont rediriges sur
un port srie du PC, par dfaut le premier, mais vous pouvez indiquer le
deuxime port sur la ligne de commande avec l'option -com2, ou choisir un autre
port avec l'cran de configuration. Le PC n'a pas de connecteur Minitel, mais
il suffit d'utiliser un cable PC/Minitel du commerce pour pouvoir brancher un
Minitel et l'utiliser par exemple avec la cartouche Tlmatic (toutefois, la
dtection de sonnerie n'est pas disponible avec l'mulateur pour l'instant,
ce qui l'empche de tenir le rle de serveur).
Lorsque vous dmarrez l'mulateur en mode Atmos avec disquettes, le contrleur
srie du Tlstrat est utilisable: c'est comme si votre Atmos tait quip
d'une extension srie (un ACIA 6551  l'adresse $031C).

_______________________________________________________________________________

13. Clavier PC programmable
---------------------------

Deux types de clavier sont grs par Euphoric: le plus simple utilise  peu
prs la disposition des touches de l'oric, c'est donc un clavier amricain,
recommand pour la plupart des jeux. Les exceptions concernant cette
disposition des touches concernent les flches, la touche Funct de l'Oric
remplace par une des touches Alt du PC, la touches Ctrl betement descendue
sous le Shift avec le clavier tendu du PC.

Le second est un clavier programmable qui permet notamment de faire du
WYTIWYG avec votre PC ("What you type is what you get" !), en autorisant 
donc les claviers nationaux PC. Euphoric cherche le fichier Keyboard.def pour
utiliser le schma de clavier qu'il contient. Si ce fichier n'est pas trouv,
euphoric utilise le premier type de clavier, c'est  dire un clavier amricain.
Si vous avez un clavier franais, il suffit de recopier le fichier Keybfr.def
dans Keyboard.def. Des explications sont donnes dans ce fichier pour vous
permettre d'crire la dfinition d'autres claviers internationaux.
Par ailleurs, le clavier programmable permet une frappe plus rapide sur Oric.
En effet la routine de scrutation clavier de la rom Atmos bloque toute frappe
de seconde touche tant que la premiere touche n'a pas t relache; le clavier
programmable d'Euphoric simule un relachement de touche quand une deuxime
touche arrive. En consquence, ce type de clavier ne permet pas d'utiliser les
jeux o plusieurs touches peuvent tre actives simultanment, c'est un autre
argument pour le clavier direct. Je vous conseille donc d'utiliser le clavier
programmable avec le fichier Keyboard.def, plus pratique pour taper du texte
ou des programmes, et de basculer sur le clavier oric par la touche F3 lorsque
vous lancez des jeux.

_______________________________________________________________________________

14. Sauvegarde et reprise d'tat
--------------------------------

En appuyant sur la touche F9 pendant l'mulation, vous quitterez euphoric en
enregistrant l'tat et la mmoire de l'oric dans deux fichiers (State et Dump).
Vous pouvez ainsi ultrieurement lancer euphoric avec l'option -r pour repartir
au point prcis o vous l'aviez quitt. Il vous faut bien sr redmarrer avec
la mme configuration, ce n'est pas la peine d'essayer de relancer un tat
d'Atmos sur un Tlstrat. Si vous aviez une configuration disquette, relancez
euphoric avec les mmes disquettes dans les lecteurs.
Par exemple, si vous lancez euphoric comme suit :
	euphoric -t hypercat.dsk
et que vous sortez en appuyant sur F9, vous devrez relancer euphoric par
	euphoric -t hypercat.dsk -r
pour repartir avec l'tat sauv.
Rien ne vous empche de renommer les fichiers Dump et State pour grer plusieurs
sauvegardes.
_______________________________________________________________________________

15. Copie d'cran
-----------------

Tout simplement avec la touche PrtSc...
Un fichier au format BMP est gnr, chaque appui sur PrtSc cre un nouveau
fichier: Screen01.bmp, Screen02.bmp, etc.

_______________________________________________________________________________

A1. Configuration matrielle et quelques chiffres
-------------------------------------------------

VGA :   Euphoric tourne sur n'importe quelle carte VGA en mode X 320x240
	ou en mode Q (Cube) 256x256 (inutile de tester ce mode sur un cran
	LCD, a ne rendra pas les pixels rectangulaires)

386 :   Euphoric tourne sur tout processeur acceptant le jeu d'instructions du 
	386, donc au minimum un 386SX.
	MAIS, si votre processeur n'est pas assez puissant, vous ne verrez
	rien  l'cran : l'mulateur tourne mais il n'a pas le temps de faire
	d'affichage. C'est le cas sur les 386 SX 16, vous serez obligs de vous
	contenter d'un oric plus lent, lisez le paragraphe suivant...

	A l'inverse, plus votre processeur est puissant, plus le nombre de
	rafraichissements crans par seconde sera important : aucun cycle CPU
	n'est perdu, ds que l'mulateur a trait un quantum de temps de l'oric
	virtuel, il termine le quantum de temps rel en faisant une partie ou
	plusieurs affichages de l'cran (la rapidit du bus et de la carte
	graphique sont ici mis  contribution)

	Euphoric est crit en langage machine optimis pour le 386 (minimisation
	des accs mmoires et des branchements). J'crirai peut-tre une version
	286 pour DOS, mulant une configuration Oric  cassettes seulement, mais
	il ne faut pas demander de miracles, les 286  16 MHz ne pourront pas
	utiliser une indice de vitesse 100 (et la perspective de dvelopper pour
	286 sous DOS ne m'enthousiasme gure...).

Adlib:  Le gnrateur de son est mul par une synthse FM 2 oprateurs sur
	carte Adlib ou compatible (donc aussi les SoundBlaster et compatibles)
	Certains l'ont fait tourner sur GUS avec un mulateur Adlib sous Dos.

_______________________________________________________________________________

A2. Problmes de performance ?
------------------------------

Si votre cran reste dsesprment noir, et que vous arrivez  sortir en
utilisant la touche F10, c'est que votre processeur est un 386 avec une horloge
pas assez rapide. Dans ce cas, Euphoric n'a pas toujours le temps de rafraichir
l'cran, particulirement lors de boucles rapides sur des entres-sorties.
Vous serez obligs de spcifier un indice de vitesse infrieur  100...
Si vous utilisez Sedoric sur Atmos+Microdisc, ou si vous utilisez le Tlstrat,
vous pouvez remarquer que l'affichage est moins rapide qu'avec une configuration
Atmos  cassettes, cela vient du fait que la commutation de banques (ou rom/ram
overlay) est trs utilise par ces systmes, ce qui fait changer les pointeurs
de pages de l'mulateur.
Avec Sedoric, un remde peut consister  taper la commande QUIT, ce qui libre
la boucle d'attente de touches et la boucle d'interprtation de ces coteuses
commutations, mais vous privera en contrepartie des touches de fonction de
Sedoric et de l'entre des commandes sans '!'.

_______________________________________________________________________________

A3. Transfrer des programmes de l'Oric vers le PC
-------------------------------------------------

Si vous possdez un lecteur 3"1/2 ou 5"1/4 sur votre Oric, vous savez sans doute
dj que l'utilitaire readdsk vous permet de lire vos disquettes sur PC et d'en
faire des images disques.
Si vous ne possdez pas de lecteur de disquettes 3"1/2 ou 5"1/4 sur votre oric,
je vous conseille de faire le cable parallle unidirectionnel dcrit ci-dessous.
C'est le moyen le plus fiable et le plus rapide pour transfrer vos programmes,
j'ai aussi un programme readtape  vous proposer, qui vous permet de transformer
en images cassettes les chantillonnages  44kHz que vous pourriez faire avec
votre carte son, mais les performances ne sont bonnes qu'avec des 
chantillonnages de trs bonne qualit, ce qui rend l'opration dlicate 
matriser.

Donc, si vous cherchez l'efficacit et la suret, je vous recommande le transfert
par cable parallle, mais avant de vous lancer dans ce petit bricolage trs
simple (pas de composant, juste deux connecteurs parallles et du cable),
vrifiez que ce bon vieil oric et sa priphrie marchent effectivement et que
vous arrivez  charger vos programmes. Le petit programme de transfert que je
vous propose ici vous permettra de transfrer toute une cassette (ou seulement
une partie si vous le dsirez). Sachez aussi que Philippe Menard a ensuite
rutilis ce cable et crit un programme de transfert pour les disquettes 3".

Prt ? Alors on y va :

    A) Fabriquez votre cable

     PC DB25    Oric 20 broches
     -------    ------------
	15      3 (D0)
	13      5 (D1)
	12      7 (D2)
	10      9 (D3)
	11      1 (STROBE)
	6       19 (ACK)
	18-25   2,4,6,8,10,12,14,16,18,20 ou une d'entre elles suffit (GROUND)
	toutes les autres broches non connectes...

    Soyez srs de ne pas vous tromper dans la numrotation des broches de 
    l'Oric (pas de problme avec la DB25, les numros sont souvent marqus 
    dessus), quand vous regardez l'arrire de votre Oric, voici ce que vous 
    voyez (port parallle mle):

		2 4 6 8 10 12 14 16 18 20
		1 3 5 7  9 11 13 15 17 19

    Autre possibilit, si vous avez dj un cable de liaison parallle PC<->PC
    de type LapLink, et que vous aimez comme moi mettre les cables bout  bout,
    vous pouvez faire un petit convertisseur Oric-PC, que vous brancherez au
    bout de votre cable parallle PC:

	DB25    Oric 20 broches
	----    ------------
	2       3 (D0)
	3       5 (D1)
	4       7 (D2)
	5       9 (D3)
	6       1 (STROBE)
	11      19 (ACK)
	18-25   2,4,6,8,10,12,14,16,18,20 ou une seule d'entre elles (GROUND)
	(si vous choisissez de ne mettre  la masse qu'une des broches 18  25
	de la DB25, assurez-vous que la masse est bien transmise de bout en 
	bout)


    B) Sur votre Atmos ou Oric1, tapez le petit programme Basic ci-dessous.

	100 DATA #20,#6A,#E7	' remplacez par #20,#CA,#E6 sur Oric1
	101 DATA #A9,#FF
	102 DATA #8D,#00,#03
	103 DATA #20,#1C,#E7	' remplacez par #20,#7D,#E6 sur Oric1
	104 DATA #2A
	105 DATA #8D,#01,#03
	106 DATA #AD,#00,#03
	107 DATA #48
	108 DATA #29,#EF
	109 DATA #8D,#00,#03
	110 DATA #A9,#02
	111 DATA #2C,#0D,#03
	112 DATA #F0,#FB
	113 DATA #68
	114 DATA #8D,#00,#03
	115 DATA #4C,#08,#B8
	120 FOR I=#B800 TO #B825
	125 READ A : POKE I,A
	130 NEXT
	135 CALL #B800
	
    C) Lancez l'utilitaire oriclink sur le PC, tapez RUN sur l'Oric et appuyez
    sur la touche PLAY du magntophone. Lorsque vous voulez arrter le transfert,
    appuyer sur le bouton RESET de votre Oric (dessous le boitier) et sur une
    touche quelconque ct PC. Vous obtenez une image cassette nomme image.tap
    qui peut tre directement exploite par euphoric en mode cassette matrielle

    D) Eventuellement, vous pouvez convertir l'image cassette obtenue en un
    fichier plus compact avec l'utilitaire tape2oric, ceci n'est pas toujours
    possible toutefois, certains programmes protgs n'utilisant pas le format
    standard pour les fichiers sur cassettes.

NB: Utilisateurs Linux : comme pour tous les programmes accdant  des ports
d'entres-sorties physiques, le programme a besoin des droits root. Vous devez
donc utiliser le programme en tant que super-utilisateur ou changer le 
propritaire du programme pour root et positionner le bit setuid
(soit chown root oriclink ; chmod u+s oriclink )

_______________________________________________________________________________

A4. Copyrights et remerciements
------------------------------

Euphoric est copyright Fabrice Francs.

Euphoric est dvelopp sous Linux, systme d'exploitation Unix gratuit, avec
tout l'environnement de programmation GNU, en particulier l'assembleur gas et
le compilateur C/C++ gcc (qui gnre un code meilleur que les produits Borland
ou Microsoft).

Le mme source ( quelques dtails prs) est assembl grce au portage
de l'environnement GNU sous DOS (djgpp), et tourne en 32 bits.

Les routines d'entres-sorties standard (fopen, fread, fwrite...) de la
bibliothque C sont copyright "The Regents of the University of California"
(UCB), c'est pourquoi je signale le message suivant "This product includes
software developed by the University of California, Berkeley and its
contributors".

Aucun code de la Free Software Foundation n'est inclus dans ce programme, il
ne tombe donc pas sous le statut de la GNU General Public License, ni mme
celui de la GNU Library Public License.

La bibliothque svgalib (Harm Hanemaayer) est utilise sous Linux pour passer
en mode X. Sous DOS, aucune librairie autre que la libc.a n'est utilise.

La logique du code Adlib est tire de l'mulateur Spectrum de Gerton Lunter,
qui a eu la gentillesse de m'envoyer son code source.

Merci  Jonathan Haworth, Laurent Chiacchierini et tous les membres du CEO qui
font vivre l'Oric depuis toutes ces annes
(Club Europe Oric/Jean Boileau/33 av Henri Barbusse/93140 BONDY/FRANCE)
ainsi que Dave Dick et tous les membres d'OUM
(Oric User Monthly/Dave Dick/65 Barnard Crescent/Aylesbury/HP21 9PW/ANGLETERRE)

Merci aux testeurs pour leurs suggestions, particulirement Philipp Mulrane,
Bruno Thiebot et Vaggelis Blathras qui remporte la palme du perfectionnisme...

Et merci aux supporters gnreux : Roger Barbier, Simon Guyart, Jrmie Petit,
Eric Fvrier, Pierre Guyon, Andr Franz.

Euphoric est giftware, distribu gratuitement. Mais j'en garde la proprit et
personne n'est autoris  faire de l'argent avec. Si vous avez pay pour l'avoir,
vous ne devez avoir pay que le cot du mdium, il y a de meilleures faons de
dpenser votre argent, par exemple en me l'envoyant... j'accepte les donations :

	Fabrice Francs
	63 bis, chemin de Pahin
	31170 TOURNEFEUILLE
	FRANCE
