Ca partait d'un bon sentiment, mais il y a des choses qui me font tout de meme bondir quand on veut faire du code propre. On est en 2004, il y a des choses qu'il ne faut pas montrer aux enfants quand meme:
- Section 4: Taper dans les registres hardware quand on a des fonctions systèmes.
C'est assez facile d'appeler le xbios avec le bon numéro de mode vidéo pour avoir un 320x200 sur rgb ou 320x240 sur vga. Et puis du 50Hz en vga, beurk. Surtout si le possesseur de la machine a changé l'horloge qui va au VIDEL, grillage de moniteur possible.
- Section 5: Les caches ça sert à rien, faut les couper.
Quand on achète une machine rapide (Mega STE, TT ou CT60 maintenant), c'est pas pour la rabaisser au niveau d'un ST. Si on peut détecter le CPU qu'on utilise avec le cookie _CPU, c'est facile d'avoir des routines qui marchent avec chaque CPU, et pas besoin de code généré sur TT ou CT60 (surtout avec de la Fast-RAM).
- Section 6: Accès direct au FDC.
Ya des fonctions XBIOS pour accéder aux pistes d'un lecteur de disquette (bon c'est vrai que ça marchera pas en overscan). En plus les routines du XBIOS se débrouilleront avec les caches du CPU, donc double avantage.
Le haut parleur interne du Falcon: tous ceux que je connais l'ont débranché.
- Section 7: Les timers du MFP
Et si je vous disais que là aussi, ya des fonctions du XBIOS pour ça, vous me croyez ?
- Section 8: movep sur 68060
Rien à redire cette fois, à éviter donc (ou utiliser une autre routine, comme pour éviter de désactiver les caches).
Si je parle des fonctions du XBIOS, c'est parce qu'elles sont accessibles quand on boote une disquette. Et si ça vous embete de faire un boot sector customisé pour votre disquette, vous pouvez lancer votre démo du dossier AUTO.
Et j'en profite pour dire que j'avais justement fait des programmes pour montrer comment utiliser le hardware Atari en passant par les différentes API systèmes (et le hardware si pas d'API système disponible). Si vous avez des idées de programmes d'exemple à faire, contactez-moi:
http://membres.lycos.fr/pmandin/index.php?page=perso-utils#cleancode