EUPHORIC : Manuel de référence

0. Utilisation simple sous Windows

1. Utilisation sous Dos: Options de la ligne de commande

2. Fichier d'initialisation

3. Images de cassettes

4. Images de disquettes

5. Utilisation du Microdisc

6. Utilisation du Jasmin

7. Utilisation du Téléstrat

8. Imprimante

9. Joystick

10. RS232

11. Stylo optique

12. Souris

13. Clavier

14. Sauvegarde et reprise d'état

15. Copie d'écran

A1. Configuration matérielle et quelques chiffres

A2. Problèmes ?

A3. Transférer des programmes de l'Oric au PC

A4. Copyrights et remerciements


0. Utilisation simple sous Windows

C'est très simple, si vous voulez lancer un programme Oric contenu dans une image de cassette ou de disquette, il suffit de double-cliquer sur le fichier pour démarrer le programme avec une configuration Oric classique (Atmos avec ou sans lecteur de disquettes). Si vous voulez exécuter le programme avec une configuration Oric différente (par exemple, Oric1 ou Atmos avec lecteur Jasmin ou encore Telestrat), il suffit d'accéder au menu contextuel du fichier en cliquant sur le bouton droit et de choisir alors la configuration voulue.

Si vous voulez démarrer un Oric sans lancer de programme, double-cliquer sur un des raccourcis fournis (Oric-1, Atmos, Atmos+Microdisc, Atmos+Jasmin, Telestrat). Le répertoire Oric est accessible directement à partir du menu des programmes de Windows, c'est là que vous y trouverez les raccourcis de programme et les répertoires par défaut pour les cassettes et les disquettes.

1. Options de la ligne de commande

Euphoric reconnait les options suivantes sur la ligne de commande :

Tout autre paramètre est considéré comme un fichier devant contenir une image (de cassette ou de disquette)

2. Fichier d'initialisation

Au démarrage, Euphoric commence par lire la configuration décrite par un fichier d'initialisation, puis analyse les options sur la ligne de commande. Le fichier d'initialisation permet de construire une configuration Oric sur mesure, en choisissant parmi tous les périphériques supportés. Normalement, le fichier d'initialisation se nomme euphoric.ini et il est cherché dans le répertoire courant puis dans le répertoire donné par la variable d'environnement ORIC. Ce qui veut dire que vous pouvez lancer Euphoric depuis n'importe quel répertoire à partir du moment où vous avez initialisé correctement la variable ORIC (par exemple, si vous avez installé la distribution Euphoric dans c:\oric\system, utilisez la commande DOS "set oric=c:\oric\system"). Vous pouvez même utiliser plusieurs fichiers d'initialisation différents si vous avez plusieurs copies du programme nommées différemment. Par exemple, si vous avez copié euphoric.exe dans atmos.exe, le programme ira chercher le fichier d'initialisation atmos.ini. Voici la liste des lignes de configuration du fichier d'initialisation, chaque ligne est de la forme mot-clé=valeur à moins de commencer par un point-virgule auquel cas la ligne est un commentaire. Veillez à respecter la casse des caractères et à ne pas introduire de blancs...

; Choix possibles : Oric1,Atmos,Telestrat

Choisit le modèle d'ordinateur. Cette sélection peut être surchargée par les options de la ligne de commande.

; Choix possibles : 6502, 65C02

Choisit le type de cpu. Tous les Oric ont un 6502 Nmos, mais quelques personnes ont remplacé ce cpu par le 65C02 qui bénéficie d'instructions et de modes d'addressages supplémentaires.

; Microdisc,Jasmin,Non

Pour les Oric-1 et Atmos, choisit un type de contrôleur de disquette (le Téléstrat a automatiquement le sien).

Spécifie le nom du fichier image de la rom de l'Oric-1 (cf note 1)

Spécifie le nom du fichier image de la rom de l'Atmos (cf note 1)

Spécifie le nom du fichier image de l'eprom du contrôleur Microdisc (cf note 1).

Spécifie le nom du fichier image de l'eprom du contrôleur Jasmin (cf note 1).

Spécifie des noms de fichier image de roms de cartouches du Téléstrat (cf note 1 et paragraphe Téléstrat).

; 1 or 2

Sélectionne un type de mémoire RAM. Cette option a un effet sur le contenu initial de la RAM lorsque l'oric est mis sous tension. Avec le premier type, chaque boitier contient initialement une alternance de bits à 1 et à 0. Avec le second type, chaque boitier contient initialement une demi-ligne de 128 bits à 1 et une demi-ligne de 128 bits à 0. La fameuse mire de l'oric découle directement de cette sélection.

Pour les configurations à contrôleur de disquettes (Microdisc, Jasmin ou Téléstrat), choisit le nombre de lecteurs à connecter.

Sélectionne la vitesse d'horloge de l'oric. Elle peut être changée pendant l'exécution, mais cela donne la vitesse normale (F5 s'y rapporte).

Permet de configurer un oric à rom double (32 Ko). Les 16 Ko inférieurs ou supérieurs sont alors sélectionnés avec la sortie PB5 du VIA.

Sélectionne ou non une extension contrôleur série sur Oric-1/Atmos, du même type que celui du Téléstrat (ACIA 6551 à l'adresse 031C)

; Non,com1,com2,/dev/ttyS0,...

Sélectionne le port physique du PC utilisé pour les entrées-sorties séries (cf paragraphe RS232)

Sélectionne ou non l'extension horloge temps réel.

; Non, PASE, IJK

Choisit un type d'interface joystick sur la prise Centronics de l'oric (cf paragraphe Joystick)

Configure ou non un joystick sur la prise du Téléstrat.

Configure ou non une souris pour le Téléstrat (il n'est pas possible d'avoir en même temps le crayon optique).

Configure ou non un crayon optique (il n'est pas possible d'avoir en même temps la souris sur Téléstrat)

Configure ou non une imprimante sur le port Centronics de l'oric.

Sélectionne le fichier de sortie de l'imprimante. Il est possible de choisir un nom de périphérique pour avoir une sortie directe, par exemple lpt1.

Choisit le nom du fichier de sauvegarde utilisé par la touche F9.

Note 1: Pour toutes les images de rom, si le nom de fichier est donné en relatif, il est cherché d'abord dans le répertoire courant puis relativement au répertoire indiqué par la variable ORIC.

3. Images de cassettes

Deux formats d'images de cassettes sont supportés, correspondant à deux types d'émulations. La première émulation est dite logicielle: l'accès à quelques routines de la rom est détourné. La seconde émulation est purement matérielle, sans aucun artifice. Les images cassettes pour l'émulation logicielle contiennent les mêmes octets que ceux que les routines en rom de l'oric sauvent sur cassette (toutefois, le nombre d'octets de synchronisation a été réduit à 3). Ce format est le plus utilisé, et il est aussi utilisé par les émulateurs Amoric, Arcoric et Atoric. Presque tous les programmes pour Oric disponibles sur les serveurs d'archives utilisent ce format. L'extension standard pour ces images cassettes est .TAP. Le second format est seulement utilisé par Euphoric, et représente le signal sonore entre l'oric et le lecteur de cassettes, échantillonné à 4800 Hz. Il permet une émulation très fine des cassettes, utile pour faciliter les transferts oric/pc ou pour lancer les programmes qui n'utilisent pas du tout les routines en rom; l'extension standard pour ces images est .WAV.

3.1. Utilisation des cassettes avec l'émulation logicielle

Bon, comme vous l'avez sûrement déjà remarqué, la commande CLOAD du Basic va chercher le programme demandé sur le système hôte (DOS ou Linux). Il en est de même avec la sauvegarde de programmes par CSAVE. Ceci permet une utilisation très intuitive et parfaitement compatible avec tous les programmes prévus pour fonctionner depuis une cassette, même ceux qui sont écrits en langage machine, ou qui sont légèrement protégés. Pour une utilisation avancée, si vous voulez ranger vos programmes oric dans des répertoires différents, fabriquer des programmes en plusieurs parties, ou utiliser le nom vide, lisez ce qui suit :

3.2. Utilisation des cassettes avec l'émulation matérielle

Pour activer l'option "cassettes matérielles", sélectionnez la ligne "Hardware tape" sur l'écran de configuration, puis sélectionnez un nom d'image cassette. Le système matériel est très (trop ?) fidèle à l'utilisation des cassettes réelles: l'interface de l'écran de configuration (F1) vous fournit un magnétophone avec des commandes avance-rapide, écoute, retour-rapide et enregistrement, le réglage du volume sonore et même un compteur en minutes/secondes pour repérer des programmes sur une bande. Lire une cassette ne pose pas de soucis particuliers: remarquez simplement que la touche Play du magnétophone ne sert qu'à la pré-écoute de cassettes (ah, le repérage des programmes à l'oreille... nostalgie...) et qu'elle n'est pas nécessaire pour la lecture des cassettes par l'oric. En effet, l'oric est capable de télécommander le magnétophone par les broches 6 et 7 du connecteur magnétophone, grace à son relai interne. La touche de lecture est donc toujours enfoncée 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. Grâce à la télécommande, vous n'avez pas besoin non plus d'arrêter le magnétophone après la lecture du programme, les routines de l'oric s'en chargent pour vous. Ecrire sur une cassette demande un peu plus de précautions, comme pour les cassettes réelles. Il vous faudra passer sur l'écran de configuration et appuyer sur le bouton enregistrement (sélectionnez la ligne avec Entrée, le bouton passe en inversion vidéo) avant de taper votre commande CSAVE. Comme pour la lecture, la télécommande bloque le moteur du magnétophone tant que la commande CSAVE n'est pas exécutée, et arrête l'enregistrement à la fin de la commande. Par contre, n'oubliez pas de relacher le bouton enregistrement après votre sauvegarde, ou vous risquez d'effacer une cassette au prochain CLOAD ! Soyez prudent aussi si vous voulez enregistrer un programme sur une cassette déjà utilisée. 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 différentes parties d'un programme en plusieurs morceaux, sauf si vous préparez une cassette complète pour un oric réel. N'oubliez pas aussi de protéger vos précieuses cassettes contre l'écriture, en "cassant" la languette de protection de la cassette (juste à côté de son nom): l'attribut de lecture seule du fichier sera positionné.

3.3. Ecriture d'une cassette réelle avec Euphoric

J'ai pris un soin tout particulier à la réalisation de la touche de pré-écoute pour que les images de cassettes puissent servir à refaire de véritables cassettes. A priori, n'importe quel lecteur de fichiers sons aurait du permettre cela à partir d'un fichier au format WAV. Et bien, ce n'est pas le cas, les drivers sous Windows perdent des échantillons: vous ne l'entendez pas pour votre musique favorite, mais l'oric oui. Meme les lecteurs de fichiers sons sous Dos n'arrivent pas à faire un sans-faute, en tout cas tous ceux que j'ai essayés. Pour enregistrer une vraie cassette, branchez un magnétophone sur la sortie Line Out de votre carte son, et faites une copie de magnétophone (virtuel) à magnétophone (réel).

3.4. Lecture d'une cassette réelle

La lecture d'une cassette réelle par le biais de la carte son est plus délicate que l'écriture. En effet, le signal enregistré sur une cassette analogique est loin d'etre parfait, et meme à 44,1kHz, l'échantillonnage par la carte son donne des mesures de début et fin de créneau moins précises que celles que l'oric obtient. Résultat, la lecture d'une cassette par la carte son d'un PC n'est pas très fiable, pour obtenir de bons résultats, il faut des cassettes en bon état, des niveaux d'enregistrements corrects, etc. Un petit programme (readtape) est fourni avec Euphoric pour décoder les échantillonnages à 44,1 kHz et les transformer en images de cassettes utilisables avec l'émulateur, mais je conseille fortement de transférer les cassettes de l'Oric au PC par l'intermédiaire du cable de transfert (cf annexe).

3.5. Démarrage automatique sur une cassette, visualisation de la jaquette

Un petit gadget utile pour les pressés et pour rajouter l'atmosphère d'antan... Lorsque vous démarrez Euphoric en donnant en argument une image de cassette (ou que vous double-cliquez sur une image de cassette avec Windows), l'image de la jaquette de la cassette est d'abord visualisée si elle est trouvée dans le répertoire JPEG (le fichier image doit avoir le même nom que celui de la cassette, en dehors de l'extension qui doit être .JPG). Après avoir tapé une touche, Euphoric lance automatiquement une commande CLOAD.

4. Images disques

Les images disques sont des fichiers sur le système hôte reproduisant bit par bit le contenu de disquettes MFM (double densité)(en fait, le format ne mémorise pas les transitions d'horloge, seul le contenu après décodage est mémorisé: tout ce que le contrôleur de disquette peut fournir au cpu est mémorisé). Des images de disquettes avec un ancien format doivent toujours trainer sur une archive ou une autre, et certains utilitaires de transfert oric-PC génèrent toujours ce format obsolète qui n'est plus supporté par Euphoric: il vous faut convertir les vieilles images avec l'utilitaire oric2mfm. L'extension standard pour les images disques est .DSK. Il y a plusieurs façons d'obtenir une image disque: la récupérer 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 déjà avoir une image de disquette système, bien sûr). Comme pour les images de cassettes, une jaquette de disquette est affichée si un fichier de même nom que la disquette est trouvé dans le répertoire JPEG.

4.1. Gestion des disquettes avec l'écran d'environnement

Si vous avez démarré Euphoric avec une configuration disque (Microdisc, Jasmin ou Téléstrat), vous voyez apparaître sur l'écran d'environnement 4 lignes (ou moins) correspondant aux lecteurs de disquettes que vous avez demandés dans le fichier d'initialisation: Disk A, Disk B, etc (si vous êtes sûrs d'avoir lancé Euphoric avec un contrôleur de disquette et que vous ne voyez aucune ligne Disk, vérifiez que vous avez connecté au moins un lecteur de disquette en donnant une ligne telle que DriveA=Oui dans le fichier d'initialisation). Pour toute action sur un lecteur de disquette, vous devez tout d'abord amener le curseur (la sélection bleue) sur la ligne du lecteur. Après le nom du lecteur apparaît le nom de l'image disque insérée dans le lecteur (si rien n'est indiqué, le lecteur est vide), et tout à gauche apparaît un petit symbole montrant si la disquette est protégée en écriture ou non (le symbole est censé représenter la petite fenêtre de protection d'une disquette 3"1/2). Vous pouvez changer la protection en écriture en appuyant sur les flèches gauche et droite. Ejecter une disquette se fait avec la touche Suppr (=Del) ou BackSpace. Entrée permet de choisir une disquette à insérer dans le lecteur: le contenu du répertoire courant du PC s'affiche alors. Les flèches Haut, Bas, Page Haut, Page Bas, Début et Fin permettent de se déplacer dans la liste. Sélectionnez une image disque ou un répertoire avec Entrée ou abandonnez la sélection avec Escape. Si vous avez besoin d'une nouvelle disquette vierge, tapez Espace sur la ligne d'un lecteur. Vous obtenez une nouvelle disquette nommée ________.dsk (ou _______1.dsk, _______2.dsk, etc si les fichiers existent déjà dans le répertoire courant du PC). Attention, la disquette obtenue n'est pas formattée, à vous de le faire avec le système d'exploitation disque Oric de votre choix (OricDos, FT-DOS, Sedoric, Stratsed, etc). 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.

5. Utilisation du Microdisc

Pour utiliser le contrôleur Microdisc, il suffit de donner un ou des noms d'images disques sur la ligne de commande, ou d'utiliser l'option -d, ou encore de spécifier DiskController=Microdisc dans le fichier d'initialisation (dans les deux cas, la ligne MicrodiscEprom=... doit pointer sur une image de Rom. Notez que vous n'êtes pas obligés d'utiliser une eprom de 8 Ko seulement, vous pouvez en programmer une de 16 Ko, ou à l'inverse une plus petite). Si vous donnez des noms d'images disques sur la ligne de commande, les disquettes seront rangées dans les lecteurs successifs (jusqu'à 4), et l'oric bootera sur la première. Pendant l'émulation, vous pouvez éjecter et insérer 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 même façon qu'avec une disquette réelle !)

6. Utilisation du Jasmin

Pour utiliser un contrôleur Jasmin, lancez euphoric avec l'option -j et éventuellement des noms d'images disques sur la ligne de commande, ou spécifiez DiskController=Jasmin dans le fichier d'initialisation (dans les deux cas la ligne JasminEprom=... doit pointer sur une image de Rom). Rappelez-vous que l'électronique du Jasmin n'interfère pas avec le démarrage normal de l'oric. Il faut attendre le message d'invite "Ready" habituel du Basic puis appuyer sur le bouton de boot du contrôleur (F6 sur l'émulateur). Bien sûr, une disquette avec le système Tran DOS doit être présente dans le premier lecteur.

7. Téléstrat

Démarrer un Téléstrat au lieu d'un Oric1/Atmos consiste simplement à rajouter l'option -t sur la ligne de commande (et éventuellement des noms d'images disques) ou en spécifiant la ligne Computer=Telestrat dans le fichier d'initialisation. Le contenu des cartouches à insérer dans le Téléstrat doit être spécifié banque par banque dans le fichier d'initialisation (cf paragraphe ci-dessous).

Pour ceux qui ne le savent pas encore, le Téléstrat est le dernier Oric sorti par la branche française alors qu'Oric Angleterre avait mis la clé sous la porte. Le projet avait néanmoins commencé outre-manche sous le nom de code IQ64 et la machine devait s'appeler Stratos. Cette superbe machine est compatible de manière ascendante avec l'Atmos+Microdisc, et rajoute entre autre des cartouches (tout le logiciel système est d'ailleurs sous forme de cartouches), un contrôleur disque intégré, une interface RS232 et Minitel, des ports joysticks ou souris. Les cartouches peuvent contenir de la ROM, de la RAM, ou un périphérique (mais aucun périphérique n'a jamais été développé sous forme de cartouche). Il existe une cartouche avec 64 Ko de ram, et des cartouches de ROM de différentes capacités. En fait, ces ROMs et ces RAMs sont toujours accédées dans les 16Ko les plus hauts de la mémoirei, par recouvrement. Il y a donc 8 banques de 16 Ko accessibles, la banque 0 consiste en fait en la partie supérieure des 64 Ko de RAM interne du Téléstrat. Le Téléstrat a besoin d'au moins une cartouche de ROM pour démarrer sur la banque 7, celle-ci contient habituellement le logiciel Télémon, qui est le moniteur du Téléstrat. Dans les autres banques peuvent se trouver d'autres ROMs, généralement associées à un numéro de banque fixé, comme l'HyperBasic en banque 6, le TéléAss en banque 5 ou la Télématic en banque 3 (cette dernière ROM ne fait d'ailleurs que 8 Ko). Euphoric permet de spécifier directement le contenu de chaque banque mémoire dans le fichier d'initialisation avec des lignes du type Bank7=... ce qui fixe la banque comme ROM. Chaque banque non initialisée est automatiquement considérée comme une banque de RAM. Donc si vous démarrez avec une image du Télémon en banque 7 et une image de l'HyperBasic en banque 6, vous avez un Téléstrat avec 48 + 6 * 16 = 144 K ram ! (toutefois, la banque 0 est la ram overlay et sera généralement utilisée par le StratSed) Au démarrage, le Télémon teste le contenu des autres banques, affichant le copyright des différentes rom, et tente de charger le système StratSed depuis le premier lecteur vers la banque 0. Si la disquette dans ce lecteur contient aussi un fichier BONJOUR.COM, il est exécuté, sinon la main est donnée à la première banque de rom en descendant les numéros, donc généralement la 6 qui contient l'HyperBasic. Les dernières versions de cette banque font afficher un menu proposant le choix entre la banque Télématic (si elle est présente) ou une banque langage, puis dans ce dernier cas entre l'Hyper-Basic ou le TéléAssembleur (si présent).

8. Sortie imprimante

Pour connecter une imprimante à votre oric virtuel, assurez-vous que la ligne Printer=Oui est présente dans le fichier d'initialisation, et indiquez la destination de tout ce qui sort par la ligne PrinterOutput=... Vous pouvez indiquer un fichier de sortie, ce qui permet par la suite d'éditer le fichier, ou de l'envoyer sur une imprimante (ou un émulateur de MCP40 par exemple). Ou alors, vous pouvez opter pour une sortie directe sur une imprimante réelle, en donnant le nom du fichier spécial correspondant. Par exemple: PrinterOutput=lpt1. Enfin, vérifiez que vous avez mis en marche l'imprimante dans l'écran d'environnement, elle est éteinte par défaut pour la raison suivante: certains programmes de jeu prévus pour fonctionner avec un joystick IJK sur le port imprimante, ne détectent pas qu'une imprimante est connectée et l'inondent alors de données binaires. L'interface PASE ne perturbe pas l'impression (mais peut perturber le son...) Tous ces comportements s'expliquent parfaitement et sont évidemment identiques sur l'Oric réel...

9. Joysticks

Choisissez un type d'interface joystick avec la ligne Joystick=... Indiquez IJK ou PASE pour les interfaces correspondantes, ou Non si vous ne voulez pas qu'un joystick soit émulé. Si vous voulez émuler un joystick sur le port intégré gauche d'un Téléstrat, il faut enlever l'émulation d'un joystick IJK ou PASE et mettre la ligne JoystickPort=Oui dans le fichier d'initialisation.

10. RS232

L'Oric-1 et l'Atmos n'ont pas de port série en standard, mais il est très facile de les doter d'une telle extension (avec 4 boitiers sur une carte de la taille d'une boite d'allumettes, le tour est joué). Euphoric met à votre disposition une telle extension basée sur un ACIA 6551 à l'adresse 031C. Pour cela, indiquer la ligne AsynchronousController=Oui dans le fichier d'initialisation, et spécifier le nom du port série du PC qui servira au simulateur d'ACIA au moyen de la ligne SerialPort=...

Le Téléstrat dispose en standard d'un tel contrôleur série, son port de communication peut être envoyé soit sur la prise V24 (niveaux EIA standard), soit la prise Minitel (niveaux TTL). 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 Télématic (toutefois, il vous faudra aussi un petit montage supplémentaire si vous voulez que votre PC détecte les sonneries du téléphone). En simulant un Oric1/Atmos ou un Téléstrat, vous pouvez bien sûr connecter ce que vous voulez sur le port série, modem ou imprimante série par exemple. Enfin, notez que vous avez aussi la possibilité d'utiliser une partie du simulateur d'ACIA si vous n'avez pas de port série libre sur votre PC, ou si vous n'avez pas le périphérique nécessaire au bon fonctionnement d'un logiciel (par exemple, le logiciel système du Téléstrat se bloque lorsque son buffer d'émission série est plein et que l'équipement de données ne lui signale pas de porteuse): donnez alors la ligne SerialPort=Non.

11. Stylo optique

Pour utiliser le stylo optique, spécifiez simplement la ligne LightPen=Oui dans le fichier d'initialisation. Le stylo optique est simulé par la souris du PC, un petit marqueur gris matérialise la position du stylo sur l'écran. Mais n'oubliez pas que le stylo doit toucher l'écran pour pointer une zone: cette action est remplacée par l'appui sur le bouton de la souris. N'oubliez pas non plus que le stylo ne peut marcher que sur les zones éclairées de l'écran, inutile de sélectionner une zone noire...

Vous devez avoir un pilote de souris résident lorsque vous lancez euphoric, sinon le marqueur gris restera immobile.

12. Souris

Pour utiliser la souris du Téléstrat, spécifiez simplement la ligne Mouse=Oui dans le fichier d'initialisation. Il vous faut un pilote de souris lorsque vous lancez Euphoric, sinon elle se comporte comme si elle fuyait dans une direction.

13. Clavier

Le clavier d'Euphoric émule précisément celui des vrais Oric. Avec lui, vous êtes par exemple capable d'enfoncer simultanément les touches QD5VBL' pour tricher à Damsel in Distress... mais attention, j'entends les grincheux qui rétorquent que leur clavier PC est français et pas américain comme celui de l'oric (donc qu'ils doivent en fait taper AD(VBLù sur leur clavier). C'est inévitable, en gardant la position des touches de l'Oric sur le clavier PC français, les dessins des touches sont forcément différents. Il est aussi impossible d'avoir une correspondance simple entre une touche de clavier PC et une touche de clavier Oric. Par exemple, le chiffre 5 sur le clavier français est à la même position que celui du clavier américain mais s'obtient en appuyant simultanément sur Shift, et cette touche comporte aussi deux autres symboles (la parenthèse gauche et le crochet gauche) qui ne trouvent pas du tout sur la touche 5 de l'Oric. Gérer une configuration de clavier français tout en restant cohérent avec une matrice clavier telle que celle de l'oric ne peut être réalisé que grâce à un pilote de clavier tournant sur l'oric, c'est ce que je propose avec les roms "nationalisées". Ces roms permettent d'avoir un comportement WYSIWYG lorsque vous tapez sur votre clavier PC, et les touches restent à la même place que sur l'Oric, ce qui permet de jouer aux jeux sans se tordre les doigts.

Toutefois, certains d'entre vous sont plus habitués à utiliser le clavier PC que le clavier Oric et préfèrent par exemple utiliser la touche Suppr plutôt que le Shift-DEL du Telestrat, ou encore la touche Fin plutôt que la combinaison Shift-Flèche droite. Pour ceux qui veulent un comportement PC du clavier, il suffit de passer en mode ASCII (touche F3), mais attention: rappelez-vous que dans ce mode, vous ne pouvez pas appuyer simultanément sur plusieurs touches (hors Shift, Ctrl ou Alt bien sûr).

13.1. Le clavier "direct"

En mode direct, il y a une correspondance directe entre une touche du PC et une touche de l'Oric. A chaque intersection de la matrice clavier de l'Oric est affectée une touche du clavier PC : une affectation standard est réalisée par défaut et peut être modifiée en spécifiant les codes de touches PC voulues dans le fichier de configuration (lignes KbdMatrixRow0..7). Cette affectation respecte la position de la plupart des touches de l'Oric: regardez les photos pour suivre les explications: quelques touches ne se trouvent pas exactement à la même position sur le clavier PC et le clavier Oric, elles sont reliées par des traits verts entre les deux photos, il s'agit de la touche d'effacement arrière, de la touche à droite de '=' ('+' avec shift), de la touche CTRL de l'Oric qui descend sur le PC et de la touche FUNCT de l'Atmos qui devient ALT sur PC, plus bien entendu la touche ESC de l'Oric qui monte sur le PC en dehors de la partie principale du clavier et les touches des flèches de l'Oric qui passent sur les flèches grises du clavier PC. Afin de permettre une utilisation WYSIWYG de claviers nationaux, des touches supplémentaires (en bleu) ont été rajoutées aux intersections inoccupées de la matrice de clavier Oric: la touche AltGr, la touche Ctrl de droite et la touche CAPS par commodité. Enfin, sur les claviers PC internationaux, il y a une touche de plus que sur les claviers PC américains, c'est celle qui se trouve à côté du Shift gauche, elle est reliée en rouge à une touche qui n'existe pas habituellement sur le clavier Oric (la photo n'est pas truquée, c'est un clavier avec une touche FUNCT de plus que j'ai raccordée...). Les deux dernières différences entre clavier Oric et PC concernent la touche TAB et la touche au dessus, elles ne sont pas utilisées par le clavier en mode direct.

Cette affectation standard est complètement reconfigurable, il suffit de spécifier des lignes de codes de touches PC dans le fichier euphoric.ini.

Par exemple, pour les puristes qui voudraient avoir la touche Ctrl à la place de la touche CAPS du PC, et les flèches de l'Oric à la place des touches Ctrl et Alt entourant la barre d'espace, il suffirait d'écrire:

KbdMatrixRow3= 47, 33, 5, 12,-56, 25, 18, 53 ; pour VF4-­ PE/

KbdMatrixRow4=999,999, 58,999, 42, 999,999,54 ; pour Ctrl, Shift-gauche, Shift-droit

KbdMatrixRow5= 2, 1, 44,999, 29, 14, 30, 28 ; pour 1eZ ¬ dAr

KbdMatrixRow6= 45, 16, 3, 43, 56, 27, 31, 58 ; pour XQ2\¯ ]S

KbdMatrixRow7= 4, 32, 46, 40,-29, 26, 17, 13 ; pour 3DC'® [W=

Par contre, je déconseille fortement d'utiliser la reconfiguration de l'affectation des touches pour adapter un clavier non-américain: ce n'est pas possible sans modifier le pilote de clavier. A la place, il faut écrire un pilote de clavier pour l'Oric, c'est ce qui est fait dans les roms nationalisées fournies (bas11_fr.rom par exemple pour la rom française); ainsi les touches ne se verront pas déplacées dans les programmes qui testent directement la matrice (comme les jeux). Un tel pilote prend en charge une troisième table de correspondance pour les symboles obtenus avec AltGr, et les touches supplémentaires rajoutées dans la matrice du clavier de l'Oric.

13.2. Le clavier "ASCII"

Avec le mode ASCII, il n'y a plus besoin de pilote Oric de clavier spécial pour gérer les claviers nationaux, mais les contreparties sont nombreuses. D'abord, si on peut effectivement utiliser une rom standard, c'est totalement factice parce qu'un détournement est rajouté dans la rom qui court-circuite complètement l'analyse de la matrice faite par l'oric, et la conversion en ASCII (donc, la matrice clavier de l'oric n'entre pas dans le processus, ce qui fait que la plupart des jeux ne marcheront pas). A la place, c'est le pilote de clavier du PC qui est utilisé, donc celui qui correspond à votre clavier national (français par exemple), et les codes ASCII délivrés par le PC sont fournis à l'Oric. Vous utilisez donc le clavier PC comme vous en avez l'habitude, par exemple pour la touche morte d'accent circonflexe, mais il faut savoir que les pilotes claviers (définis initialement par IBM et Microsoft) ne permettent pas toutes les combinaisons de touches multiples. Ainsi, il n'est pas possible de taper les combinaisons Funct+Shift+touche de Sedoric.

Voilà , si avec tout ça, je ne vous ai pas convaincu d'utiliser le mode direct...

Toutefois, je comprends que ceux qui utilisent l'oric pour taper du texte puissent être intéressés par le mode ASCII. Le pilote de clavier de l'oric n'est pas parfait, il ne permet pas une frappe rapide parce qu'il ne choisit pas la bonne touche lorsqu'il trouve plusieurs touches activées dans la matrice. Avec le mode ASCII, c'est le PC qui fournit les codes ASCII dans le bon ordre. Si vous passez en mode ASCII, voici quelques points à connaître:

 

14. Sauvegarde et reprise d'état

En appuyant sur la touche F9 pendant l'émulation, vous enregistrez l'état et la mémoire de l'oric dans un fichier (vous pouvez spécifier son nom dans le fichier d'initialisation avec la ligne DumpFile=...). Vous pouvez ainsi ultérieurement lancer euphoric avec l'option -r pour repartir au point précis où de la sauvegarde. Il vous faut bien sûr redémarrer avec la même configuration, ce n'est pas la peine d'essayer de relancer un état d'Atmos sur un Téléstrat. Si vous aviez une configuration disquette, relancez euphoric avec les mêmes disquettes dans les lecteurs. Par exemple, si vous lancez euphoric comme suit : euphoric -t hypercat.dsk, vous devrez relancer euphoric par euphoric -t hypercat.dsk -r pour repartir avec l'état sauvé.

15. Copie d'écran

Tout simplement avec la touche PrtSc... Un fichier au format BMP est généré dans le répertoire courant, chaque appui sur PrtSc crée un nouveau fichier: Screen01.bmp, Screen02.bmp, etc. Utilisateurs de Windows: vérifiez que PrtSc n'est pas intercepté par Windows (il l'est par défaut: il vous faut décocher la case Impr.Ecran dans les propriétés du raccourci d'euphoric (onglet "divers")).

A1. Configuration matérielle

VGA: Euphoric tourne sur n'importe quelle carte VGA en mode Q (Cube) 256x256x256

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 obligés 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 (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 accès mémoires et des branchements).

SoundBlaster: une compatibilité matérielle avec une des cartes SoundBlaster est nécessaire pour avoir du son. Si Euphoric n'arrive pas à initialiser votre carte, c'est que sa compatibilité n'est pas bonne. Si vous avez un bonne émulation, ça marche aussi (la Gravis UltraSound par exemple).

A2. Problèmes ?

Ici seront listées les questions les plus usuelles...

A3. Transférer des programmes de l'Oric vers le PC

Si vous possédez un lecteur 3"1/2 ou 5"1/4 sur votre Oric, vous savez sans doute déjà que l'utilitaire readdsk vous permet de lire vos disquettes sur PC et d'en faire des images disques. Si vous ne possédez pas de lecteur de disquettes 3"1/2 ou 5"1/4 sur votre oric, je vous conseille de faire le cable parallèle unidirectionnel décrit ci-dessous. C'est le moyen le plus fiable et le plus rapide pour transférer 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 très bonne qualité, ce qui rend l'opération délicate à maîtriser. Donc, si vous cherchez l'efficacité et la sureté, je vous recommande le transfert par cable parallèle, mais avant de vous lancer dans ce petit bricolage très simple (pas de composant, juste deux connecteurs parallèles et du cable), vérifiez que ce bon vieil oric et sa périphérie marchent effectivement et que vous arrivez à charger vos programmes. Le petit programme de transfert que je vous propose ici vous permettra de transférer toute une cassette (ou seulement une partie si vous le désirez). Sachez aussi que Philippe Menard a ensuite réutilisé ce cable et écrit un programme de transfert pour les disquettes 3". Prêt ? 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 

(GROUND: une seule suffit)

Soyez sûrs de ne pas vous tromper dans la numérotation des broches de l'Oric (pas de problème avec la DB25, les numéros sont souvent marqués dessus), quand vous regardez l'arrière de votre Oric, voici ce que vous voyez (port parallèle mâle):

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 déjà un cable de liaison parallèle 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 parallèle 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 magnétophone. Lorsque vous voulez arrêter le transfert, appuyer sur le bouton RESET de votre Oric (dessous le boitier) et sur une touche quelconque côté PC. Vous obtenez une image cassette nommée image.tap qui peut être directement exploitée par euphoric en mode cassette matérielle

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 protégés n'utilisant pas le format standard pour les fichiers sur cassettes.

NB: Utilisateurs Linux : comme pour tous les programmes accédant à des ports d'entrées-sorties physiques, le programme a besoin des droits root. Vous devez donc utiliser le programme en tant que super-utilisateur ou changer le propriétaire 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 Francès. Euphoric est développé en assembleur 386 sous Linux, système d'exploitation Unix gratuit, avec tout l'environnement de programmation GNU, en particulier l'assembleur gas et le compilateur C/C++ gcc. Le même source (à quelques détails près) est assemblé grâce au portage de l'environnement GNU sous DOS (DJGPP), et tourne en 32 bits avec un serveur DPMI. Les routines d'entrées-sorties standard (fopen, fread, fwrite...) de la bibliothèque 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 même celui de la GNU Library Public License. Pour l'affichage des images JPEG, c'est le code libre de l'IJG qui est utilisé. La bibliothèque svgalib (Harm Hanemaayer) est utilisée sous Linux pour changer de mode d'écran.

Merci à ceux qui continuent à vouloir faire vivre l'Oric depuis toutes ces années : les membres de l'Oric User Monthly et du Club Europe Oric. Merci aux testeurs pour leur patience, en particulier Philipp Mulrane, Bruno Thiebot, Laurent Chiacchierini, Vaggelis Blathras, Mike Pointié, et beaucoup d'autres... Et merci aux généreux supporters de ce développement : Roger Barbier, Marc Chamaillou, Roger Barthès, Simon Guyart, Jérémie Petit, Eric Février, Pierre Guyon, André Franz, Rodolphe Bottosso, Jean-David Olekhnovitch.

Euphoric est freeware (mais pas domaine public). Pourtant, c'est un des meilleurs émulateurs de micro 8-bits, rien à voir avec les émulateurs développés en quelques semaines, alors pourquoi n'est-il pas payant ? Parce que je veux favoriser une "renaissance" de l'oric, faire en sorte que ceux qui ont passé de bons moments avec cette machine se retrouvent autour de valeurs différentes que celles qui font la micro d'aujourd'hui. Ne trouvez-vous pas frustrant que votre micro soit "obsolète" au bout de 18 mois ? Ne trouvez-vous pas ridicule de voir des débauches de technologie englouties par des logiciels mal écrits, ou que nombre de jeux ne donnent pas le dixième du plaisir que donnaient les anciens hits des 8 bits ? N'êtes-vous pas las de payer des versions de Word (TM), qui vous obligent à acheter un nouveau micro ? Au lieu de contribuer à rendre Bill Gates toujours plus riche, vous feriez mieux de m'envoyer l'argent que vous lui destiniez: un Euphoric pour la vie, au lieu d'un Windows (TM) buggé. Je ne donne plus mon adresse (je recevais 10 fois plus de requêtes que de support...), mais vous la trouverez facilement si vous reprenez contact avec la communauté des Oriciens. Voici l'adresse des deux Clubs précités pour ceux qui n'ont pas accès à Internet: Club Europe Oric/Jean Boileau/33 av Henri Barbusse/93140 BONDY/FRANCE et Oric User Monthly/Dave Dick/65 Barnard Crescent/Aylesbury/HP21 9PW/ANGLETERRE Vous trouverez dans ces clubs un esprit différent, des nostalgiques bien sûr, mais aussi plein de gens bourrés d'idées qui prouvent que l'Oric n'a pas épuisé ses possibilités.