Soyez les bienvenus dans le monde merveilleux du MSX, célèbre ordinateur connu pour être l'un des premiers standards de la micro-informatique. Au début des années 80, le fabricant japonais Ascii développa un ordinateur basé sur le célèbre processeur Z80. Ses ingénieurs ont eu l'idée de créer un nouveau concept ; celui qu'un ordinateur standard ayant une compatibilité entre différents fabricants. Le premier problème était de savoir qui pourrait fournir un système puissant et facile d'utilisation à ces machines, c'est Microsoft qui apporte une solution avec son Microsoft Basic 1.0 (ancêtre du DOS).
Quand le prototype fut prêt, une foule de constructeurs japonais eurent un engouement extraordinaire pour ce projet. Sony, Panasonic, Philips, Canon, Toshiba, Goldstar, pour ne citer qu'eux, produirent chacun leur MSX premier du nom. Ce fut un véritable succès au Japon, à tel point que les constructeurs les plus européens lancèrent le MSX aux Pays-Bas, en France, en Espagne…
Cependant les choses ne tournent pas toujours comme on le souhaite. Après le succès incroyable du MSX, une nouvelle norme apparaît le MSX2 apportant de très grandes innovations graphiques et sonores. Il est adulé au pays du soleil levant, mais boudé par les Français notamment. Le MSX2+ et MSX Turbo R ne seront jamais distribués en France et après une aventure fantastique, le MSX sombre au début des années 90.
C'est sur ce support que la célèbre entreprise nippone Konami entama une nouvelle page de l'histoire des jeux vidéo. Attention, il ne faut pas faire d'amalgame entre le MSX et une vulgaire console de jeux. Au contraire, c'est un ordinateur qui permet l'édition de textes, de tableurs, de dessins… Il est une superbe machine pour la production sonore et la fabrication de programmes. Il accueille des milliers de périphériques, du modem en passant par l'imprimante sans oublier notre fameuse souris à deux boutons.
Dernièrement, un Unix répondant au doux nom Uzix 2.0 est disponible pour notre plate-forme (https://uzix.sourceforge.net/).
OpenMSX 0.5.2-RC1 est un émulateur 'open source' disponible sur de nombreuses plates-formes et grâce auquel, la communauté Macintosh va pouvoir découvrir ou redécouvrir les joies du MSX.
Ce tutoriel a pour but de combler le manque d'information francophone sur cet émulateur et surtout de donner les bases afin de pouvoir utiliser openMSX en ligne de commande. L'interface graphique Catapult 0.5.1 ne fonctionne pas sous Mac OS X, quant à la solution proposée par le célèbre Neko, elle ne semble pas satisfaisante, bridant les capacités de l'émulateur.
Ce tutoriel est fait pour les utilisateurs de Mac OS X (10.4 et supérieur) désireux de connaître les joies du MSX.
I. PREPARATION
Comme pour une recette de cuisine, il vous faut les bons ingrédients. Vous devez donc vous procurez la liste des choses suivantes :
- Developer Tools d'Apple
Vous installez les developer tools depuis l'un des CD ou le DVD de Mac OS X 10.4 Tiger ou vous les récupérez sur le internet : https://developer.apple.com/xcode/
- Fink
Téléchargez Fink 0.8.0 (Mac OS X 10.4) à l'adresse suivante https://www.finkproject.org et installez le package.
- FinkCommander
Téléchargez FinkCommander 0.5.3 sur https://finkcommander.sourceforge.net pour une plus grande facilité d'utilisation et de gestion des différentes librairies de Fink.
- OpenMSX 0.5.2-RC1
Enfin, il vous faut l'essentiel : OpenMSX
II. COMPILATION
Avant toute de chose, Mac OS X (10.4) utilise par défaut le compilateur GCC 4.0 et il faut absolument utiliser GCC 3.3. Pour cela, ouvrez un nouveau shell Terminal et tapez :
sudo gcc_select 3.3
Tout d'abord, il va falloir installer à l'aide de Fink, les dépendances nécessaires au bon fonctionnement d'OpenMSX. Il est nécessaire d'installer les librairies suivantes :
- libpng (1.0.12-7)
- libxml2 (2.6-17.1)
- libjpeg (6b-16)
- sdl (1.2.8-1)
- sdl-shlibs (1.2.8-1)
- sdl-image (1.2.3-1)
Pour les installer correctement, sélectionnez la librairie que vous voulez, puis cliquez sur le bouton droit de votre souris afin de faire apparaître un menu contextuel. Choissez 'In Terminal' puis 'Install Source' pour lancer l'installation du package comme le montre la photo ci-dessous.
Vous pouvez évidemment vous passer de FinkCommander et utiliser directement le Terminal pour installer vos librairies.
fink install xxx # (xxx = nom du package)
Attention, la compilation d'une librairie nécessite que vous soyez impérativement connecté sur un compte administrateur Mac OS X. Si, votre système refuse d'installer une librairie Fink en prétextant un problème de droit d'utilisateur, démarrez un nouveau shell Terminal et notez la chose suivante afin de forcer l'installation :
sudo fink install xxx # (xxx = nom du package)
Une fois les dépendances installées, vous allez pouvoir enfin passer à la compilation d'OpenMSX 0.5.2-RC1. Dézippez votre fichier et laissez le dossier 'openmsx-0.5.2-RC1' sur votre bureau. Démarrez un nouveau shell Terminal et tapez :
"cd" suivie d'un espace et glissez votre dossier sur cette fenêtre Terminal. Appuyez sur entrée!
Ensuite, tapez la commande suivante :
./configure
Vous obtenez la chose suivante :
Normalement, vous devez obtenir 'yes' pour toutes les librairies que sollicite OpenMSX comme le montre la photo ci-dessus.
Passons à la compilation d'OpenMSX. Tapez dans la fenêtre Terminal la commande :
make
La compilation du programme peut durer plus ou moins longtemps en fonction de la puissance de votre processeur !
Une fois terminé, lancez la commande finale afin d'installer OpenMSX :
make install
III. INSTALLATION
OpenMSX est installé dans /opt/openMSX. C'est un dossier caché sous Mac OS X (10.3) 'Panther', mais depuis Mac OS X (10.4) 'Tiger', il apparaît dans la racine du disque dur sur lequel est installé le système. Pour le trouver depuis 'Panther', vous pouvez lancer une recherche par un Pomme + F depuis le Finder. intégré à Mac OS X en précisant d'inclure les fichiers et dossiers invisibles.
Toujours sous 'Panther', je vous conseille de créer un raccourci du dossier 'openMSX' sur votre bureau afin d'avoir un accès rapide à votre émulateur.
Le dossier 'openMSX' est organisé de la façon suivante :
Un dossier 'bin' dans lequel vous trouvez l'application OpenMSX. C'est aussi dans ce dossier qu'il faut glisser vos roms et disks par défaut. En effet, on peut changer ça par la commande set user_directories
Un dossier 'doc' avec toute la documentation (en anglais) vous permettant de répondre à toutes vos interrogations (mais alors pourquoi fais-je ce tutoriel ?).
Un dossier 'share' qui est le centre de la gestion des extensions ainsi que des bios des différentes machines…
Avant tout, trouvez les roms des divers systèmes MSX.
Vous devez installer vos bios dans les dossiers respectifs pour chaque machine! Les jeux et autres logiciels sont mis à la disposition de l'utilisateur lambda via internet. À vous de chercher à l'aide d'un moteur de recherche par exemple.
Pour lancer l'application OpenMSX, vous devez vous trouver dans le dossier 'bin' du répertoire 'openMSX'. Lancez une fenêtre Terminal et tapez :
cd /opt/openMSX/bin
Vous êtes maintenant dans le bon dossier. Pour lancer OpenMSX, tapez :
./openmsx
En tapant ceci, vous démarrez OpenMSX sur un bios par défaut c-bios 0.21 sur https://cbios.sourceforge.net/ mais l'on peut demander à l'émulateur de copier la machine dont on a envie et dont on a récupéré les roms ou bios spécifiques.
Comment demander à OpenMSX d'ouvrir une machine dont j'ai téléchargé et installé correctement le bios ?
./openmsx -machine xxx # (xxx = le nom de la machine)
Par exemple, je veux démarrer sur un Philips NMS 8250 (MSX 2). Je dois taper :
./openmsx - machine Philips_NMS_8250
Pour démarrer une rom :
./openmsx xxx.rom # (xxx = le nom de la rom qui doit se situer impérativement dans le dossier 'bin')
Par exemple, je veux démarrer sur un Philips NMS 8250 (MSX 2) Maze of Galious (galious.rom) :
./openmsx -machine Philips_NMS_8250 galious.rom
L'utilisation des disks (format disquette 3"5) nécessite l'émulation de lecteurs. Voici comment lancer la commande disk :
./openmsx -diska xxx.dsk # (xxx = nom du disk se trouvant dans le dossier 'bin')
Comment changer un jeu ou une application possédant deux disquettes ? :
./openmsx -diska xxxa.dsk -diskb xxxb.dsk
Vous pouvez évidemment éjecter une disquette en tapant :
./openmsx -diska eject
Si vous possédez des jeux ou des applications au format disquette 3"5, vous pouvez les utiliser en spécifiant à OpenMSX le chemin de votre lecteur disquette.
Pour changer une extension particulière, par exemple le Sony HBD-F1 qui n'est autre qu'un lecteur de disquette, vous devez taper :
./openmsx -ext Sony_HBD-F1
Pour l'aide générale, tapez :
./openmsx -h
L'utilisation des cassettes MSX (format cassette audio) est possible avec OpenMSX. Pour lancer une K7, utilisez la commande :
./openmsx cas xxx.cas # (xxx = nom du fichier K7)
Pour éjecter une cassette audio, tapez :
./openmsx cas eject
IV. REGLAGES
Dès que vous lancez OpenMSX, une fenêtre d'exécution se lance avec le programme choisi ou démarre par défaut sur MSX Basic.
A. LE CLAVIER
Pour passer en mode plein écran, il vous faut appuyer sur Pomme + F via votre clavier. Pour repasser en mode fenêtre, appuyez une nouvelle fois sur Pomme + F. Vous pouvez également utiliser le 'fullscreen' en tapant la commande set fullscreen on
dans le terminal d'OpenMSX.
- Pomme + D = Screenshot
- Pomme + L = Appel le terminal d'OpenMSX
- Pomme + P = Pause
- Pomme + Q = Quitter
- Pomme + T = Mode Turbo
- Pomme + U = Son On/Off
Les principales équivalence des touches MSX sont:
- MSX CTRL = L-CTRL
- MSX DEL = R-CTRL
- MSX GRAPH = L-ALT
- MSX CODE = R-ALT
- MSX STOP = Pomme + P
- MSX TURBO = Pomme + T
Les possesseurs d'iBook & PowerBook n'ont pas de keypad, mais ils peuvent utiliser indirectement un keypad virtuel par le biais de la touche 'verr num'. Sous OpenMSX, vous devez appuyer sur la touche 'fn' ainsi que la lettre ou le chiffre correspondant au chiffre du clavier numérique. Par exemple, tapez 'fn' + J = 1, 'fn' + K = 2, 'fn' + L = 3.
NB: Certaines personnes utilisant des iBook & PowerBook se plaignent de ne pas pouvoir utiliser les chiffres et symboles de la deuxième rangée en partant vers le haut de leur clavier. La seule solution trouvée est d'utiliser un clavier Américain avant de démarrer l'application OpenMSX. Vous pouvez le choisir via le menu préférence 'international'.
B. VIDEO
L'utilisation du terminal d'OpenMSX est indispensable à la plupart des réglages. Il faut actionner la touche F10 dans en mode plein écran pour faire apparaître le terminal.
Le MSX affiche en 256x212 initialement, cependant sous OpenMSX 3 modes d'affiches s'offrent à vous :
Sdllo utilise un affichage de 320x240 pas gênant à l'exécution de programme MSX1. C'est le rendu graphique voué aux ordinateurs lents. Son activation se fait dans le terminal d'OpenMSX par la commande :
set renderer sdllo
SdlHi est l'affichage par défaut. Il utilise une résolution de 640x480 sans aucun accélération graphique. Il est peu gourmand : un processeur G4-500 MHz suffit. Pour l'activer, vous devez taper dans le terminal d'OpenMSX la commande suivante :
set renderer sdlhi
Sdlgl est un mode d'affichage utilisant OpenGL qui permet aux programmes MSX une nouvelle jeunesse visuelle. Son utilisation est gourmande puisqu'elle nécessite un processeur G4 d'au moins 1 GHz ainsi qu'une carte graphique performante sous OpenGL. Tapez la ligne suivante dans le terminal d'OpenMSX pour l'activer :
set renderer sdlgl
Dernier point, pour connaître l'affichage utilisé par OpenMSX, il vous faut taper :
set renderer
C. FILTRES GRAPHIQUES
La plupart du temps, l'affichage d'un MSX ne dépasse pas 256x212, cependant l'utilisation d'un affichage SdlHi monte cette résolution à 640x480. La conversion de l'image va entraîner une perte de qualité. C'est pour cela que 3 filtres graphiques sont disponibles avec OpenMSX afin d'avoir une image en haute résolution.
Scale2x est un filtre lissant les sprites juste à leurs extrémités, ainsi il ne donne pas un aspect flou à l'image. Il ne ralentit pas l'affichage, mais il arrondit beaucoup les angles ce qui n'est pas toujours très beau.
set scaler scale2X
2xSaI est un filtre qui lisse par interpolation de pixels. Il fait du bon travail sur la plupart des graphismes sauf les images avec un fond contrasté : c'est le cas quand un texte blanc est affiché sur un fond noir. Pour l'actionner, il suffit de taper :
set scaler 2xSAI
hq2x est un filtre un peu semblable à 2xSaI, mais avec un résultat encore plus époustouflant. Son algorithme étant très lourd pour un gentil petit processeur, il est utile de l'actionner sur une machine dotée d'au moins 1 GHz.
set scaler hq2x
D. RAFRAICHISSEMENT
La synchronisation ou rafraîchissement des graphismes passe par la commande accurancy
. Il existe trois types de rafraîchissement différent.
Screen est un mode de synchronisation se faisant une fois par seconde sur tout l'écran. C'est suffisant pour certains programmes MSX1, mais c'est un mode trop faible pour le reste.
set accurancy screen
Line est le second mode de synchronisation. A chaque début d'affichage d'une ligne, la vidéo est rafraîchie. C'est suffisant pour la plupart des programmes.
set accurancy line
Pixel est le troisième mode de synchronisation se faisant au pixel près. En effet, à chaque affichage d'un nouveau pixel, toute la vidéo est rafraîchie. C'est la configuration la meilleure et donc celle qui est à mettre en défaut.
E. CORRECTION GAMMA
Votre moniteur pouvant avoir des valeurs gamma différentes que celui d'un moniteur MSX, vous avez la possibilité de compenser ceci par la correction gamma. La valeur est de 1.0 par défaut, une valeur plus basse rend l'image plus foncée et une plus élevée la rend plus lumineuse. Pour entrer la valeur que vous voulez, tapez :
set gamma 1.0 # (par exemple)
F. EFFETS SPECIAUX
OpenMSX contient différents effets spéciaux qui peuvent être appliqués à la sortie vidéo (TV).
Deinterlace :
L'entrelacement est une technique qui permet de doubler la résolution verticale d'une image en dédoublant l'image sur deux lignes. Après un flou dû à la TV, le cerveau combine les deux trames dans une seule image Quelques fois, ce processus est imparfait et entraîne un clignotement de l'image. Il est activé par défaut et il fonctionne avec les affichages SdlHi et de Sdlgl.
set deinterlace on # (off)
Scanlines :
Sur des TV et des moniteurs de MSX, vous pouvez voir un petit espace noir entre les lignes d'affichage et particulièrement en utilisant le standard NTSC. La fonction scanlines permet d'améliorer ceci avec les rendus SdlHi et Sdlgl.
set scanlines on # (off)
blur :
La TV ainsi que les moniteurs de MSX sont moins pointus que les écrans de nos chers Macintosh : les pixels tendent à se mélanger les uns dans les autres. Le mode blur permet de masquer cela en donnant un effet de tâche floue. La valeur 50 est celle par défaut, 0 correspond à aucune tâche floue et 100 aux tâches floues maximum comme sur une TV. Cette fonction marche uniquement dans le mode d'affichage SdlHi ainsi que Sdlgl
set blur 50 # (0 à 100)
After glow :
Mode qui permet le mélange de chaque trame avec la trame précédente. Cela permet de donner une traînée aux objets en mouvement. Pour une valeur de 0, il n'y a pas d'effet de flou et pour une valeur de 100, le flou en mouvement est maximum. Ce mode ne fonctionne qu'en Sdlgl.
set after_glow 0 # (100)
G. AUDIO
Le volume sonore peut se contrôle via la commande master_volume. Elle contrôle le volume global de sortie d'openMSX. Pour une valeur nulle (0), il n'y a aucun bruit et pour une valeur de 100, le son est au maximum.
set master_volume 75 # (0 à 100)
Je rappelle qu'il existe une touche permettant de couper le son en mode 'fullscreen' : F11.
Certains MSX possède une interface MIDI : c'est par exemple le cas du MSX Panasonic FS-A1GT (Turbo R). Pour utiliser ce dispositif, il vous faut démarrer la machine voulue avec OpenMSX. Vous devez alors taper la fonction suivante dans le terminal d'OpenMSX.
plug msx-midi-out midi-out-logger
Ceci enregistre toutes les informations entrant par l'interface MIDI dans un fichier. Il peut être intéressant à relier MSX-MIDI à un dispositif externe tel qu'un boiter PC MIDI ou encore un synthétiseur.
H. MANETTE/SOURIS
Il est possible d'utiliser une manette avec OpenMSX. Pour cela, branchez votre joypad et tapez dans le terminal d'OpenMSX :
plug joyporta joystick1
Attention, le seul moyen d'éditer les touches de votre manette est d'aller trifouiller le fichier 'settings.xml' situé à l'adresse suivante :
/opt/openMSX/share/settings.xml.
Il est également possible pour OpenMSX d'émuler une souris. Pour cela, il faut taper :
plug joyporta mouse
Si vous voulez qu'un dispositif d'émulation de souris, comme la souris Philips SBC-3810 ou encore la Sony MOS-1, soit utiliser par défaut, appuyez sur le bouton gauche de la souris lors de son branchement. Pour que la souris ne soit utilisable que dans le mode fenêtre d'OpenMSX et ainsi ne pas gêner son utilisation, il faut entrer la commande suivante dans le terminal d'OpenMSX :
set grabinput on # (off )
I. AUTRES FONCTIONS
Ces fonctions sont à utiliser dans le terminal d'OpenMSX.
help
: donne toute la liste des commandes utilisables sur OpenMSX.
quit
: pour arrêter OpenMSX.
reset
: redémarrer le MSX avec les mêmes options de départ.
cassetteplayer eject
: éjecte la K7 en cours d'utilisation depuis l'émulateur.
diska eject
ou diskb eject
: éjection de la disquette depuis l'émulateur.
screenshot
: photo de la fenêtre d'activité d'OpenMSX. L'image au format .png est stockée à l'adresse suivante '/usr/.openmsx/screenshot'.
set firmwareswitch
: permet d'utiliser les bios dont certaines machines sont pourvues (Panasonic FS-A1GT). Exemple : set firmwareswitch on
(off)
set maxframeskip
: cette fonction permet de régler le taux d'image par seconde. Par exemple, pour afficher un maximum de 20 images par seconde, tapez : set maxframeskip 20
set minframeskip
: idem pour la limite inférieure acceptable d'images par seconde.set speed
: lorsqu'un programme fonctionne trop rapidement ou trop lentement, utiliser cette commande. Exemple : set speed 120
(120%)
set save_settings_on_exit
: commande qui permet la sauvegarde de tous les paramètres de manière automatique à la fermeture d'OpenMSX. Pour l'activer, tapez : set save_settings_on_exit true
(false)
set user_directories
: permet de choisir l'endroit des .rom, .dsk & .cas par défaut. Par exemple, vous voulez qu'OpenMSX sache que tous vos programmes se trouvent dans /opt/openMSX/ROMs/, tapez : set user_directories "/opt/openMSX/ROMs/"
V. FAQ
1) Où trouver les C-BIOS ?
On les trouve sur https://cbios.sourceforge.net/. Les derniers C-BIOS sont indispensables pour faire tourner OpenMSX. Le C-BIOS 0.21 est pour OpenMSX 0.5.2-RC1.
2) Comment se débarrasser des LED apparues depuis la version 0.5.2-RC1 ?
Vous devrez ouvrir la console d'OpenMSX en appuyant sur Pomme + L et tapez : load_icons none
VI. AIDE/CONTACT
Vous pouvez trouver de l'aide sur https://openmsx.org/docs.html et également sur le channel IRC #openMSX localisé sur irc.freenode.net.
Il existe également un forum.
Vous pouvez également venir discuter de vos problèmes sur les forums de Mac-Emu.