Nº195 (7/2006)







  Download :
Comme le veut maintenant la tradition, ce numéro d'été comporte 70 pages. De bons gros articles dans un bon gros mag. De quoi vous distraire sur la plage... De quoi expérimenter aussi si vous restez chez vous avec votre ordinateur favori, voire avec Euphoric. En effet vous trouverez dans ce mag des liens vers de nombreux programmes. Qu'ils soient anciens ou nouveaux, ils ont en commun d'être intéressants. Si vous aimez bricoler, remerciez Thierry qui vous a mâché le travail avec un beau roman photo technique. Et si vous êtes à court, demandez de l'aide à Simon! Bon amusement. André

Les Photos et le Compte-Rendu de la Visu du 3 Juin 2006!
Des Trucs pour Tricher: 'The Adventure Time Switch' et 'Arène Lapin'!
Un PC Virtuel pour un Oric Virtuel!
Réalisez un Cordon Péritel Auto-Alimenté pour Atmos!
Les Visites 2006 du Spider!

sommaire

Adresses CEO / Sommaire / Editorial   Page 
Courrier Oricien   Page 
Petites Annonces & Bonnes Adresses   Page 
Quelques Photos de la Visu du 3 Juin 2006   Page 
Pinky : Forum Oric-1 / Atmos (3/4)   Page 
Divertissements Mathématiques & Logiques   Page 
Réponses (64) : Sujets n°189 à 193   Page 
Les Calembours de Schizo Dino   Page 
Nostalgie (71) : Publicité Anglaise Oric-1   Page 
Trucs pour Tricher (24): Adventure Time Switch   Page 
Librairie Oric (66) : Programmation Basic   Page 
Réalisez un Cordon Péritel Auto-alimenté Atmos   Page 
Un PC Vituel pour un Oric Virtuel   Page 
Listing : Tapisserie   Page 
Dino fait le Chat   Page 
Compte-Rendu de la Visu du 3 Juin 2006   Page 
Forum Defence-Force   Page 
Bilan Transfert K7 de Simon / Oric Tape Transfert   Page 
Peter TheSpider’s Oric Visits 2006   Page 
Des Trucs pour Tricher (25/1): Arsène Lapin   Page 
Construction d’une Carte Contrôleur Microdisc   Page 
Adhésion CEO 2006 / 2006 CEO Subscription   Page 


UN PC VIRTUEL POUR UN ORIC VIRTUEL!
par Fabrice Francès

De temps à autre, des utilisateurs d'Euphoric se désolent de ne pouvoir le faire correctement tourner sur leur nouveau PC équipé de Windows XP... Ce à quoi je réponds invariablement qu'Euphoric a été écrit pour tourner sur un PC sous DOS (et oui, MS-DOS) et qu'il accède directement au matériel (carte son, carte VGA, contrôleur d'interruption, interface série, etc.) sans passer par des fonctions du système d'exploitation, exception faite toutefois de l'accès aux fichiers d'images disque ou cassette sur le disque dur du PC). Comme Euphoric fonctionne en mode protégé (parfois nommé aussi mode 32 bits), l'accès aux fonctions du DOS se fait via une interface appelée DPMI (pour DOS Protected Mode Interface) qui a le bon goût d'être supportée par les systèmes d'exploitation Windows de Microsoft (Windows 3.x/ 95/ 98/ ME/ 2000/ XP...), ce qui rend possible l'utilisation d'Euphoric sous ces systèmes Windows, pour peu que l'émulateur puisse accéder aux ressources matérielles dont il a besoin. Paradoxalement, l'interface DPMI n'est pas fournie par le système d'exploitation MS-DOS qui est essentiellement conçu pour exécuter des programmes en mode réel (ou applications"16-bits"), il faut alors avoir le programme CWSDPMI.
Le fait d'accéder directement à des ressources matérielles plutôt que de passer par des fonctions du système d'exploitation ou de ses extensions (comme DirectX sous Windows) peut paraître incongru aujourd'hui (et même inenvisageable au vu de la diversité des matériels), mais il faut bien se rappeler que sous DOS, il n'existait pas de telles fonctions standard pour programmer la carte graphique ou jouer du son. D'où la nécessité pratique pour le développeur de limiter la compatibilité de son programme à un nombre réduit de matériels (on se rappelle par exemple les jeux sous DOS qui supportaient une poignée de cartes son"courantes"). Ainsi donc, le matériel requis pour exécuter Euphoric est un PC équipé d'une carte VGA (la structure de la carte VGA d'IBM a été copiée par tous les autres constructeurs), d'une carte son SoundBlaster 8 bits (les cartes SoundBlaster plus évoluées ne sont donc pas exploitées au maximum de leurs possibilités: Euphoric joue du son 8 bits en mono, à la fréquence de 31250 Hz, c'est-à-dire la moitié de la fréquence de base du PSG de l'Oric).
La première exigence matérielle (carte VGA générique) ne pose généralement pas de soucis sur les PC modernes (quoique certains écrans LCD de portables ne supportent pas toujours les fréquences des modes graphiques"non-standard"d'Euphoric), mais la deuxième (la carte SoundBlaster) est davantage une source de problèmes (tout le monde ne s'équipe pas chez Creative Labs). La situation a été rendue encore plus délicate avec les systèmes Windows NT, Windows 2000 et XP, car ces systèmes refusent l'accès direct au matériel. Du coup, on perd le son d'Euphoric sous Windows NT/2000, ainsi que l'accès au port série, etc. Toutefois, la NTDVM (NT DOS Virtual Machine) qui permet d'exécuter les applications DOS, lorsqu'elle intercepte les accès matériels à la carte VGA, fournit une translation de ces accès à la carte VGA physique, autorisant ainsi Euphoric à tourner sans le son. L'absence de support du son pour les applications DOS a déclenché l'essor d'un projet Open Source appelé VDM Sound, qui étend la NTDVM en émulant plusieurs cartes son, mais plusieurs utilisateurs ont rapporté des problèmes de craquements ou de son distordu. Microsoft a aussi tardivement répondu à l'attente des utilisateurs d'applications DOS en incluant une émulation SoundBlaster dans la NTDVM de Windows XP: certains utilisateurs d'Euphoric qui avaient perdu le son sous NT ou 2000 ont ainsi eu l'agréable surprise de le retrouver sous XP. Cette émulation peut être de très bonne facture quand elle existe au plus proche du matériel et alors le son d'Euphoric marche très bien sous XP (le portable Toshiba que j'utilise au boulot possède un contrôleur audio SigmaTel, et mon PC à la maison un chipset VIA au standard AC'97: je n'ai aucun problème de son avec ces deux PC). Généralement, on trouve alors dans le panneau de configuration XP (plus précisément l'onglet Matériel des"Sons et périphériques audio") des"pilotes audio hérités".
Malheureusement, certains utilisateurs d'XP ont rapporté que le son est haché ou"craquète"sur leur configuration. Ce problème peut venir d'un système XP trop chargé (trop de processus actifs en tâches de fond): il vaut mieux quitter toutes les applications et éviter les gadgets dans la barre des tâches pour donner le maximum de cpu à Euphoric. Le problème peut aussi venir d'une carte audio trop différente de la SoundBlaster, ce qui pénalise le travail d'émulation. En particulier, l'horloge qui cadence la carte son peut avoir une fréquence très différente de celle de la SoundBlaster, et ainsi il est tout à fait possible que la carte son réelle soit programmée pour jouer le son à une fréquence différente de 31250 Hz, laissant ainsi des trous audibles sous forme de craquements, de clics ou de distorsions:

DES ALTERNATIVES À LA NTDVM

La NTDVM fournit un espace protégé aux applications DOS, en construisant une machine virtuelle partagée par toutes les applications DOS (donc des applications 16 bits, même si elles peuvent passer en mode protégé 32 bits ensuite et exécuter les appels systèmes au DOS par l'intermédiaire de l'interface DPMI). L'ordonnancement des tâches dans cette machine virtuelle 16 bits se fait aussi de manière différente de celui des tâches 32 bits: elles ne sont pas préemptées dynamiquement mais doivent coopérer ensemble comme c'était le cas sous Windows 3.1 et antérieurement. Tout ça ajoute à la lourdeur d'exécution des applications DOS et participe sans doute aussi au comportement approximatif d'Euphoric sur NT/ 2000/ XP, loin de celui obtenu sous DOS ou Windows 95/98. On peut se résigner à garder un deuxième PC sous DOS ou Windows 95/98 mais il faudrait vraiment être un fan d'Oric pour ne garder un tel vieux système d'exploitation que pour l'utilisation d'Euphoric (ou alors parce que le PC n'est pas assez puissant pour les Windows plus récents)...
Des solutions alternatives existent pourtant sous la forme des logiciels de virtualisation de PC ou même des émulateurs de PC complets: j'en ai testé trois parmi une demi-douzaine de logiciels tels que Bochs, DosBox, DOSemu, QEMU, Virtual PC et VMware. Notez que ces logiciels permettent de faire tourner un système d'exploitation virtuel dans une fenêtre Windows ou en plein écran, et peuvent donc aussi être une solution pour ceux qui aimeraient pouvoir faire tourner Euphoric dans une fenêtre...

DOSBOX

DosBox est une solution originale qui mêle un émulateur PC complet (c'est-à-dire que tous les composants d'un PC sont émulés, y compris le processeur) avec un interprète de commande similaire à celui de MS-DOS, mais libre. Ce qui veut dire qu'il n'est pas nécessaire d'installer un DOS Microsoft pour faire tourner le PC émulé (pas besoin de licence, donc). DosBox est disponible pour Windows, Linux, divers autres OS PC tels que FreeBSD, BeOS ou OS/2, mais aussi pour Mac OS X.
DosBox est très simple d'utilisation: il n'y a besoin d'installer le DOS, ni de créer une image de disque dur pour le PC émulé: il suffit de lancer DosBox, de taper la commande mount C "C:\Program Files\Euphoric"pour utiliser votre répertoire Euphoric comme si c'était le répertoire racine d'un disque dur du PC émulé, puis de taper C: pour aller sur ce disque et enfin de taper euphoric pour démarrer un Oric émulé dans un PC émulé!
Malheureusement, l'émulation d'un processeur Intel et d'une carte VGA demande beaucoup de ressources: il faut une machine puissante pour émuler l'équivalent d'un PC 486. Résultat, sur mon portable tout neuf (un Pentium M à 1,86 GHz à peu près équivalent à un Pentium 4 à 2,8 GHz), je n'ai pas réussi à avoir un son sans craquements, quel que soit le réglage du nombre d'instructions cpu exécutées à chaque trame écran (il faut en effet modifier un petit fichier de configuration pour sélectionner ainsi la vitesse désirée du PC émulé. Comme Euphoric se règle automatiquement sur la vitesse normale d'un Oric, vous ne verrez pas de changement de vitesse d'exécution, mais les différences seront visibles au niveau de la fréquence de rafraichissement de l'écran, ou du son).

VMWARE

VMware Workstation est un produit commercial (environ 150€ pour la version 5) permettant de créer des machines virtuelles, ce qui veut dire que ce n'est pas un émulateur de PC complet, mais simplement un outil de virtualisation: on peut ainsi exécuter plusieurs systèmes d'exploitation simultanément sur une même machine hôte (cette dernière étant soit un PC Windows 2000 ou XP, soit un PC Linux ; les deux versions du logiciel sont vendues séparément). Le CPU excepté, les composants habituels d'un PC sont émulés (disque dur, carte VGA, carte son, carte réseau, etc.). Il faut donc installer un système d'exploitation sur le PC virtuel (i.e. avoir une vieille licence DOS ou Windows). VMware revient donc assez cher et est plutôt destiné aux entreprises.
Malheureusement, le matériel émulé par VMware Workstation n'est directement reconnu que par les systèmes d'exploitation récents. On va ainsi trouver une émulation USB, et des cartes VGA, réseau ou audio toutes trois sur une émulation de bus PCI, ce qui est sans doute très bien pour utiliser de façon plus optimale les ressources physiques de son PC hôte, mais beaucoup plus embêtant quand on veut installer un vieux Windows ou un DOS. En effet, la carte SoundBlaster PCI qui est émulée par VMware n'est pas directement reconnue par Windows 95, ni Windows 98 et il faut récupérer des drivers sur Internet. Pire, cette carte audio PCI nécessite aussi des drivers sous DOS, et ça se gâte définitivement quand on se rend compte que ces drivers ont besoin du gestionnaire de mémoire EMM386 (ça doit rappeler des souvenirs aux habitués du DOS :) ) et que VMware n'arrive pas à exécuter correctement EMM386 (avec ma version 4 de VMware Workstation, le PC virtuel se bloque dès que le driver de la carte audio utilise des fonctions d'EMM386). Bref, je n'ai pas réussi à charger les drivers audio sous DOS, et donc si vous êtes tentés par VMware, je conseille d'installer un Windows 98: une fois les drivers SoundBlaster PCI installés, Euphoric tournera très bien ; je n'ai pas remarqué de problèmes de son.

VIRTUAL PC

Virtual PC est un produit commercial bien connu des utilisateurs Macintosh, puisque cela fait déjà plusieurs années que la société Connectix fournissait la meilleure solution pour exécuter des programmes PC sur Mac. Le produit a depuis été racheté par Microsoft, et Virtual PC est maintenant disponible sur plateforme Windows. La version Windows est différente de la version Mac dans la mesure où, à l'instar de VMware, le cpu n'est pas émulé (on exécute directement le code sur le processeur hôte): c'est donc aussi un logiciel de virtualisation.
Virtual PC est peut-être moins sophistiqué que VMware, mais ça lui fait gagner en simplicité d'utilisation, et surtout les vieux OS s'installent très bien. Côté matériel émulé, on trouve le chipset Intel 440BX qui était très courant sur les cartes mères Pentium III, une carte VGA de type S3 trio 64, une carte SoundBlaster 16 ISA Plug and Play (ouf! merci!) et une carte réseau DEC 21140A 10/100 Mbps. Bref, ce n'est pas le dernier matériel à la mode côté affichage et son, mais au moins c'est du solide, reconnu par les vieilles versions de Windows, et la carte son ISA n'a pas besoin de drivers DOS. Du coup, il devient très simple d'installer un MS-DOS ou un Windows (ce qui était bien la moindre des choses attendues pour un produit Microsoft). Je me suis ainsi amusé à faire tourner Euphoric sous MS-DOS 3.3, MS-DOS 6.2, Windows 95, Windows 98 et même OS/2 Warp 3 (j'avais acheté la boîte rouge pour une bouchée de pain à l'époque). A chaque fois le son a été au rendez-vous, sans craquement.
J'en profite pour donner quelques conseils si vous voulez installer Euphoric sur un vieux système d'exploitation:
* sous DOS, il vous faudra un extracteur zip pour désarchiver la distribution euphoric.zip (ou alors désarchivez sur le PC hôte), et vérifier que vous avez CWSDPMI pour exécuter Euphoric. Pensez aussi à définir la variable BLASTER dans l'autoexec.bat:
SET BLASTER=A220 I5 D1 H1 P330 T6
* sous Windows 95, il vous faudra aussi un (dés)archiveur, par exemple Winzip ou Winrar. Pas besoin de CWSDPMI pour exécuter Euphoric, par contre il faut récupérer le"Windows Scripting Host 5.1"pour pouvoir exécuter le script d'installation setup.js (qui installe les raccourcis pour lancer Euphoric en cliquant sur des images disque ou cassette),
* sous Windows 98, le Windows Scripting Host (WSH) est présent en standard, donc il suffit de récupérer un (dés)archiveur,
* sous OS/2 Warp 3, il vous faut aussi un désarchiveur pour extraire la distribution euphoric. Ouvrez ensuite une fenêtre de commande DOS et passez en plein écran avant de lancer Euphoric. N'oubliez pas non plus de positionner la variable BLASTER comme pour DOS.
De l'excellent boulot fait par Virtual PC, donc, une fois n'est pas coutume, je fais la publicité pour un produit Microsoft (racheté à Connectix, d'accord): une version intégrale d'essai gratuit de 45 jours de Virtual PC 2004 est téléchargeable sur le net à l'adresse http://www.microsoft.com/france/windows/xp/virtualpc/telecharge/default.mspx . C'est une bonne occasion pour ceux qui n'arrivent pas à avoir un son correct sous Windows 2000 ou XP, de tester un Oric émulé sur un PC virtuel! (et si vous voulez aller plus loin, rien ne vous empêche d'utiliser la cartouche Stratoric qui vous donne un Atmos virtuel sur un Telestrat émulé par un PC virtuel... :)

BOCHS, DOSEMU, QEMU

Je n'ai pas encore essayé ces émulateurs Open Source qui sont un peu plus délicats à utiliser. DOSemu était un des premiers émulateurs DOS sous Unix et me semble aujourd'hui peu maintenu. Bochs (prononcer"Box") est un émulateur complet de PC (côté son, il émule une SoundBlaster 16) très pratique pour développer et déboguer son propre OS. Comme DosBox, il faut configurer combien d'instructions on veut le voir exécuter par seconde, et d'après la documentation il faut s'attendre à des craquements dans le son. QEMU est un"multi-émulateur": il émule les processeurs x86, ARM, SPARC, PowerPC, MIPS et Motorola 68k sur la même liste de processeurs hôtes (les émulateurs sont en fait écrits en C++ portable, mais malgré cela la performance devrait être au rendez-vous, grâce à l'utilisation de la technique de translation dynamique plutôt que l'interprétation du code). Côté périphériques émulés, on retrouve la carte SoundBlaster 16. QEMU est plutôt destiné à tourner sous Unix, mais des installeurs"expérimentaux"sont maintenant disponibles pour Windows et Mac OS X. Bref, je suis sûr que ces trois émulateurs pourraient intéresser nos utilisateurs Linux, mais pas forcément pour exécuter Euphoric (les puristes de l'Open Source préfèrent sûrement travailler avec les versions Unix d'Euphoric :) ).



BROWSE

NUMEROS
 [200] - [199] - [198] - [197] - [195] [194] - [193] - [192] - [191] - [190] - [189] 

YEAR
2017 - 2016 - 2015 - 2014 - 2013 - 2012 - 2011 - 2010 - 2009 - 2008 - 2007 - 2006 - 2005 - 2004 - 2003 - 2002 - 2001 - 2000 - 1999 - 1998 - 1997 - 1996 - 1995 - 1994 - 1993 - 1992 - 1991 - 1990



Hosted By oric.org server www.oric.org V 2.6 CNIL ID : 872370 Write to Webmaster © 2000-2021 Built in 0.03 Seconds