WinUAE
un Amiga dans votre PC 
 
 
 
[Le Workbench de WinUAE avec l'affichage Picasso96 ]
 
Ci dessus WinUAE sur l'Intranet de France Telecom avec IBrowse (Navigateur Web) et WebVision (Navigateur de Webcams) 

Cette page explique les nouvelles expériences que j'ai faites en 1999 sur WinUAE : la version d'UAE pour Win95, elle compléte mes deux pages sur DosUAE et UAE avancé  
La plupart des programmes cités sont des sharewares disponibles en démo sur Aminet (Aminet) certains valent vraiment la peine d'être achetés. Quelques nouveaux liens 

 
UAE Soon You could also read my New WinUAE page in English, but not ready now 
Alain Thellier, Paris, France 
Janvier 2000 
 
 
bsdsocket.library

C'est quoi ? 
Cette library regroupe les fonctions des cartes réseau sur les vrais Amigas. 
Si on autorise l'émulation de BSDsocket.library alors l'appel d'une fonction réseau Amiga est converti en une fonction réseau identique de Win95. 

Ainsi plutôt que d' émuler le port série dans UAE pour avoir un accès Internet par modem, on obtiendra la connexion réseau du coté PC/Win 95 comme d'habitude (par modem, carte réseau,etc ...). On pourra alors lancer les applis Web Amiga du coté Win UAE. 

Ainsi si votre PC est en réseau local avec une carte ethernet on peut surfer avec IBrowse, discuter avec AmIRC, suivre les WebCams de l'entreprise avec WebVision (voir copie d'écran au desssus). 
Néanmoins je n'ai pas réussi à faire fonctionner les programmes demandant un accès à un device (Miami) ou au périphérique réseau TCP: comme Apache ou d'autres serveur Web 
 
 
 
 
 

 
Les Disques PC
 

Dans WinUAE une option permet de "monter" les disques du PC du coté Amiga. Tout les disques deviennent alors visibles au boot de Win UAE C: D: A: (si une disquette était dedans ) et même les disques réseau et Cd-ROM.  
On peut alors facilement leur rajouter un icone Amiga. Il suffit de copier un icone "disk.info" à la racine de ces disques. 

Les CD-ROM Amiga dit "RockRidge + Iso 9660 " sont lisibles directement sur WinUAE. Ainsi les CD-ROM Amiga bootable peuvent servir de système de démarrage sur WinUAE comme les anciens CD d'AmigaFormat. 

Si vous avez un graveur de CD sur Amiga vous pouvez directement copier des unités Amiga (source : système de fichiers) sur CD en "RockRidge + Iso 9660 Amiga" et booter dessus sur WinUAE. 
Les différentes unités Amiga se retrouvent alors chacune dans un répertoire du CD si vous avez bien pensé à spécifier "Chemin Image" et pris aussi les fichiers disk.info 
Il suffit alors de monter dans les réglages de WinUAE ces répertoires du CD-ROM comme des disques/répertoire pour pouvoir booter dessus et travailler sur ces toutes unités Amiga comme chez soi. 

 
Mac et ShapeShifter

ShapeShifter c'est l'émulateur de Mac, désormais la version 3.10 est FREEWARE ! avec toutes les fonctionnalités. 
Il a toujours besoin d'un système Mac pour booter, mais certains vieux systèmes Macintosh 7.xx sont proposés au téléchargement par Apple. 

Malheureusement il faudra toujours une image de ROM Mac 512 Ko ou 1Mo.Mais il n'y a plus besoin de modifier son fichier ROM Mac avec KickShifter car l'option "prepareEmul" de winUAE y remédie directement. 

Nullser.device est un simulateur de liaison Null-modem il doit permettre de récupérer dans le Mac émulé une liaison série déjà existante du coté Amiga. 
Cela permettrait donc théoriquement de récupérer une liaison réseau déjà existante : 

MAC <-(ShapeShifter)------> Amiga <-(UAE)-------> PC 
A priori (je n'ai pas encore testé) après avoir installé nullser.device dans le répertoire DEVS: du coté Amiga, il faudrait mettre "nullser.device" comme device réseau dans les préférence réseau de ShapeShifter. 
 
Tout les réglages de WinUAE

  
About vous donne quelques liens concernant UAE que voici 

http://www.cloanto.com/amiga/forever/ 
http://www.freiburg.linux.de/~uae/ 
http://www.picasso96.cogito.de/ 
http://www.amiga.com/ 
http://www.codepoet.com/UAE/ 
Et aussi la liste des génialissimes concepteurs d' UAE 
 
Bernd Schmidt - The Grand-Master 
Mathias Ortmann - WinUAE Main Guy 
Brian King - Picasso96 Support, Integrated GUI for WinUAE, AHI (Working on it) 
Toni Wilen - AGA, NTSC/PAL modes, chipset switching, track-displays 
Gustavo Goedert/Peter Remmers/Michael Sontheimer/Tomi Hakala/Tim 
Gunn/Nemo Pohle - DOS Port Stuff 
Samuel Devulder/Olaf Barthel - Amiga Port 
Krister Bergman - XFree86 and OS/2 Port 
A. Blanchard/Ernesto Corvi - MacOS Port 
Christian Bauer - BeOS Port 
Ian Stephenson - NextStep Port 
Peter Teichmann - Acorn/RiscOS Port 
Stefan Reinauer - ZorroII/III AutoConfig, Serial Support 
Christian Schmitt/Chris Hames - Serial Support 
Herman ten Brugge - 68020/68881 Emulation Code 
Tauno Taipaleenmaki - Various UAE-Control/UAE-Library Support 
Brett Eden/Tim Gunn/Paolo Besser/Nemo Pohle - Various Docs and Web-Sites 
Special thanks to Alexander Kneer and Tobias Abt (The Picasso96 Team) 
 
Configurations donne les réglages présauvegardés. Alors n'oubliez pas de sauvegarder toutes modifs à votre WinUAE et aussi à charger au moins une config au démarrage sinon plantage :-P 
Une bonne idée est de se faire une config Jeux "JEU" et une config 
Workbench sérieuse "WB" pour travailler 

RAM donne les réglages de la taille de mémoire 
de l'Amiga émulé 

JEU (très vieux) Chip 512 Ko 
JEU Chip 1 Mo slow 512Ko 
WB Chip 2 Mo fast 8 Mo Z3 8 Mo 
WB (avec picasso 96) Chip 4 Mo Z3 16 Mo RTG 4Mo
ROM donne les réglages de la ROM 
Si vous utilisez une ROM du CD "Amiga Forever" il faut 
un fichier clef (key file) en plus. Cliquer sur "Shapeshifter 
support" pour pouvoir utiliser cet émulateur Mac. 
JEU (très vieux) ROM 1.2 
WB ROM 3.1, "Shapeshifter support" 
CPU donne les réglages de l'émulation CPU 
JEU (très vieux)  68000 
JEU (récent) 68020/6881 
WB 68020/6881 
WB (avec picasso 96) CPU/Chipset 2 
 
Game and I/O ports donne les réglages manettes et souris 
Keyboard Layout A, B, C émulent le joystick au clavier avec différentes 
touches. 

Misc donne les réglages divers 
Si on appelle la config par F12 durant l'émulation 
Alors il y a aussi un bouton " reset " amiga et un " quit " UAE 

Immediate et 32Bits modifient l'émulation du Blitter et 
l'accélérent donc mais moins compatible. 
BSD socket pour accéder au réseau local ou à Internet 

Run at lower priority permet à l'Amiga de continuer 
à tourner après avoir basculé vers Windows avec Ctrl Echap 
C'est utile pour compresser/décompresser/compiler du coté Amiga 
après avoir basculé sous Windows 
 

WB Immediate+32Bits+BSD socket+Run at lower pri.
Display donne les réglages de l'affichage écran 
JEU (très vieux)  OCS, 800*600, Correct Aspect, Centering Hor. et Vert, refresh 4, full screen 
JEU (récent) idem + AGA 
WB Idem 
WB (avec picasso 96) full screen RTG
 
 

Sound donne les réglages du son 
On peut mettre " disabled " si on a pas de carte son 
ou " disabled but emulated " qui est plus compatible. 
Le son Amiga est stéréo en 4 voies 8 bits à environ 40000 Hz maxi 
mais avec le contrôle du volume certains logiciels atteignent 12 bits (AHI) donc mettre 16 bits dans ce cas. 

Floppy donne l'emplacement des images de disquettes Amiga 
On peut donc changer de disquettes en cours de jeu. On peut aussi mettre 
4 disquettes comme si on avait 4 lecteurs de disquettes. 
" Create Blank floppy " permet de créer une image de disquette vide qui 
sera utilisable comme une disquette vierge du coté Amiga (sauvegardes) 

Hard Drive définit ce qui sera utilisé comme disque dur. 
" Add PC drive " ajoute tout les disques du PC (CD-ROM, réseau,etc...) 
Sinon on peut aussi les monter individuellement comme des répertoires 
Ils sont alors utilisable comme des disques Amiga. On peut y glisser aussi un icone de disque " disk.info " 
Il est assez dangereux de monter le disque C : on préférera monter un répértoire comme C:\TEMP. 
On pourra aussi redonner des noms classiques aux disques PC 

PC0 pour A : 
WORK pour C:\UAE\WORK 
CD0 pour E : si c'est un CD-ROM
 
Programmer en C avec UAE

On peut installer "Geek Gadget" sur UAE mais pas Linux (qui a besoin d'une MMU) ainsi on peut installer GNU C (GCC) ou plutôt EGCS qui est plus récent. 



Installer EGCS 
Obtenir l'archive BOOT.lha, la dècompacter ... 
Obtenir les archives d'EGCS (liste ci-dessous) seront stockés dans un répertoire monté comme disque Amiga "Work"  (cela peut être un CD-ROm). 
 
binutils-2.8.1-bin.tgz 
egcs-1.0.2-bin.tgz 
fd2inline-1.11-bin.tgz 
fifolib-38.4-bin.tgz 
fileutils-3.16-bin.tgz 
GG-docs-0.7-bin.tgz 
GG-misc-bin.tgz 
groff-1.11a-bin.tgz 
gzip-1.2.4-bin.tgz 
hunk2aout-2.0-bin.tgz 
ixemul-47.3-bin.tgz 
ixemul-47.3-env-bin.tgz 
ixemul-47.3-inc-bin.tgz 
junk-bin.tgz 
less-321-bin.tgz 
libamiga-bin.tgz 
libm-5.4-bin.tgz 
libnix-1.1a-bin.tgz 
make-3.76.1-bin.tgz 
manutils-2.1-bin.tgz 
patch-2.5-bin.tgz 
pdksh-4.9-bin.tgz 
ppctools-bin.tgz 
sh-utils-1.16-bin.tgz 
tar-1.12-bin.tgz 
textutils-1.22-bin.tgz 621590 
 
Créer un répertoire PC nommé "GG", y créer le répertoire "bin" 
Mettre gzip , sh, tar dans ce GG:bin. 
Monter ce répertoire comme un disque  Amiga nommé GG 
Lancer UAE 
Mettre alors ixemul.library dans votre SYS:libs/ 
Lancer alors un Shell et taper 
 cd GG: 
 path GG:bin add 
 assign bin: GG:bin 
 sh 
 for file in /work/*.tgz 
 do 
 echo "=== $file ===" 
 tar -xzf $file 
 done 
 
 
rajouter à la fin du fichier SYS:s/user-startup la ligne (avec "ed S:user-startup") 
execute GG:Sys/S/GG-Startup
Les autres archives utiles (mettre leurs includes dans GG:include) 
CGraphX_DevKitVI.lha 
FD2Pragma.lha 
Il faut aussi les includes de chez Amiga que l'on peut trouver sur les CD developer notammment le contenu du répertoire Ndk_3.1 

Au minimum il faudra mettre le contenu de  Ndk_3.1\Includes&Libs\include_h\ dans GG:include 



Compiler 

On invoque EGCS avec le shell SH donc le plus simple est d'en lancer un dans le répertoire où se trouve votre programme. 
Le plus petit test c'est de faire le classique en faisant "gcc  -o HelloWorld HelloWorld.c " 

#include <stdio.h> 
main () 
{ 
prinf("HellloWorld\n"); 
} 

Un mini test est de recompiler le programme Amiga "HelloWorld.c" que voici en faisant 
"gcc -noixemul -o HelloWorld HelloWorld.c -lauto " 
 
   #include <stdlib.h> 
   #include <intuition/intuition.h> 
    #include <proto/intuition.h> 

    int main(int argc, char *argv[]) 

    { 
        struct EasyStruct er; 

        er.es_StructSize = sizeof(er); 
        er.es_Flags = 0; 
        er.es_Title = "Message"; 
        er.es_TextFormat = "! Hello, AmigaOS World ! \n is a GCC example using AmigaOS call."; 
        er.es_GadgetFormat = "Ok"; 
        EasyRequest(NULL, &er, NULL, IntuitionBase); 
    exit(0); 
    } 

Un meilleur  test de votre install est de recompiler l'exemple Amiga standard qui se trouve dans  \Ndk_3.1\Examples1\colorwheel\WheelGrad.c 

On utilisera alors GCCOpts qui fourni une interface pratique à GCC. 
 GCCOPTS1.3.LHA 
Il s'installe dans GG: et dans GG:BIN 
On l'invoque depuis SH avec "gccopts" on peut alors mettre tout les réglages de son projet notamment "Libnix" "traditionnal" pour les programmes Amiga et faire "save Makefile" 

 
 
On fait alors "make" et le projet se compile automatiquement 


FD2Pragma 
C' est un utilitaire permettant de créer tout les fichiers utiles aux différents compilateurs. Notamment GCC et EGCS ont besoin des fichiers se trouvant dans include/inline. 

Exemple sous Shell : 
"FD2PRAGMA cybergraphics_lib.fd CLIB cybergraphics_protos.h SPECIAL 40" 
cela crée le fichier inline nommé "cybergraphics.h" à utiliser avec GCC ou EGCS 
 

 
My Logo 
Fait sur un Amiga 4040 (et avec MacOS)