@database "Personnal1_0b.Guide" @node Main "Amos Pro/1.3 Personnal.Lib Documentation" *************************************************************************** ------------------------------------------------ ----------- Amos Professionnal PERSONNAL.LIB Documentation --------------- ------------------------------------------------ *************************************************************************** Les librairies 'Amospro_Personnal.lib' et 'Personnal.lib' sont les version respectives AmosProfessionnal et Amos1.3 de ma librairie personnelle. 'AmosPro_Personnal.lib' is the AmosProfessionnal 2.0+ version. 'Personnal.lib' is the Amos 1.3+ version. Contents : ------------ @{" " link ABOUT} The extension. @{" " link INSTALL} Install. @{" " link DOCS} Instructions guide. @{" " link ADRESSES} Adresses. @{" " link MINUTE} Last minute. @{" " link ERREURS} Errors Reports !!! @{" " link NEWS1} V1.1 News. @endnode @node ERREURS some programs may produve errors like 'Extension not loaded'. It's because i use instructions called 'Multi No' and 'Multi Yes' from Amos turbo1_9.lib (Public Domain version.).You have just to delete the line where the errors are. @endnode @node DOC Instructions list : --------------------- @{" " link l1 } some instructions. @{" " link l2 } COPPER LIST. @{" " link l3 } MOSAICS. @{" " link l4 } IFF/ILBM. @{" " link l5 } MATHS. @{" " link l6 } BLITTER/CPU. @{" " link l7 } PATCH AGA/ECS. @{" " link l8 } Second COPPER SCREEN. @{" " link l9 } BLOCKS. @{" " link l10 } AGA/ECS icons. @{" " link l11 } MULTI-PLOTS. @endnode @node ABOUT About this Extension. ----------------------- I had to code this AMOS-library because i wanted to use BLITTER,MOSAICS, Fast PLOTS under Amos and I didn't have notice that instructions like I want exists.Then I've made them. If some bugs appears,contact me. @endnode @node I1 > Instructions ... < ---------------------- Set Ntsc -> Turn amiga on 60Hertz. Set Pal -> Turn Amiga on 50 Hertz. =Right Click -> Right mouse button state. =Fire(1,2) et =Fire(1,3) -> Joystick1's button 2 and 3 states. =Ham -> send 4096. =Ehb -> Send 64 (Ex: Screen Open 0,320,256,Ehb,Lowres) Low Filter.b MASK To START,END / Low Filter.w ... / Low Filter.L ... -> Work Like: For i=START to END step 1(.b) { or 2(.w) or 4(.l) } a=peek(i) { or =deek(i) or leek(i) } if a Fill memory from START up to END with VALUE. @{" Example " link EXEMPLE01 } Blitter Copy BASE0 To BASE1 -> Equal to Screen Copy A to B { but with Screen Base(A to B) } Lsr Zone START To END -> Equal to Asm Lsr.b from START up to END. @endnode @node I2 > COPPER < ------------ Create Aga ADR -> Create a COPPER LIST AGA at adress ADR. Create Standard ADR -> Create an ECS Copper List at ADR. @{" Exemple d'utilisation de copper list " link EXEMPLE02 } Copper Base ADR -> Modify copper base. =Copper Base -> Send Personnal Copper Base. Set Plane BPL,ADR -> Define plane BPL at ADR. @{" Example COPPER-LIST " link EXEMPLE02 } =Plane Base(BPL) -> Send plane base adress. Set View Planes NUM -> define how much plane. (Color=2^NUM) Set Screen Sizes XSIZE,YSIZE -> Define copper screen sizes X and Y. Set Color REG,R,V,B -> define color register REG with R=red V=green and B=blue. (from 0 up to 15) Set Aga Color REG,R,V,B -> like set color but from 0 up to 255. =Set Color(REG) -> send ECS color value. X Fade -> fade down : 1 on red,blue,green on all copper color !!! Copper Next Line -> move copper wait to next line. =Copper Line -> send copper wait line. New Color Value REG,R,V,B -> modify woth COPPER NEXT LINE color REG (create rainbows.) @{" Example RAINBOWS " link EXEMPLE04 } =X Screen Size -> Send X screen size. =Y Screen Size -> Send Y screen size. Screen Position MODE,X,Y -> Equal to 'Screen Offset ,X,Y' MODE : 0=all planes. 1=ODD planes 2=EVEN planes. Set Dual Mode MODE -> Active dual playfield (if MODE<>0) Set Resolution MODE -> Lowres (MODE=0) or Hires (MODE<>0). Set Lace MODE -> InterLace (MODE<>0) or Non-InterLace (MODE=0) Copper Wait Line LINE -> Equal to 'Copper Next Line' but wait at line LINE. Ham Mode MODE -> HAM (MODE<>0) or EHB (MODE=0) Active Copper -> Active copper AUX. Inverse Playfield / Normal Playfield -> inverse playfields priority. Set Dual Palette PAL -> define second playfield palette default value if : AGA pal 16-31 : $1000 ECS pal 08-15 : $0C00 Vbl Line Wait LINE -> Wait vbl but with LINE control value. Double Buffer : ----------------- Set D Plane BPL,ADRESS -> Define logic plane BPL at ADRESS. Swap Planes -> Swap LOGIC and PHYSIC planes. @{" Example : bouble buffer " link EXEMPLE05 } @endnode @node I3 > Mosaiques < -------------- Mosaic X2 BASE / Mosaic X4 BASE / Mosaic X8 BASE / Mosaic X16 BASE / Mosaic X32 BASE -> Mosaics effects on an amos screen with BASE=Screen Base @{" Exemple How to use Mosaics " link EXEMPLE06 } @endnode @node I4 > IFF/ILBM < -------------- =Iff X Size(IFFBASE) -> Send iff/ilbm x graphic size. =Iff Y Size(IFFBASE) -> Send iff/ilbm y graphic size. =Iff Planes(IFFBASE) -> Send iff/ilbm graphic depth. =Iff Color(IffBase,Color) -> send iff/ilbm color COLOR value. (rgb) =Cmap Base(IffBase) -> send iff/ilbm CMAP base. Iff Convert IFFBASE -> Convert an iff/ilbm graphic in Screen defined with SET PLANE b,a if screen is not enough large then GURU MEDITATION !!! Iff4bits Palette To Copper NUM,CMAPBASE -> Redefinit NUM couleurs du copper list avec les couleurs du fichier Iff/Ilbm en memoire. (Palette de base en composantes 0/15) Iff8bits Palette To Copper NUM,CMAPBASE -> Redefinit NUM couleurs du copper list avec les couleurs du fichier Iff/Ilbm en memoire. (Palette de base en composantes 0/255) Change Palette NUM,PALETTEBASE -> Redefinit NUM Couleurs du copper list avec une liste de couleurs definies en Octets Rouge.b,Vert.b,Bleu.b sur une intensite de 0 a 255 pour chaque composantes de couleur. Fade Palette NUM,SOURCE,CIBLE -> Compare deux palettes en R,V,B(4bits 0/15) et augmente ou dimunue les composantes de couleurs de la CIBLE pour obtenir la palette de couleur de la source.Le calcul est effectue sur NUM couleurs de la palette et se produit par saut de 1 intensite. Si on doit decaler une couleur de x tons,il faudra appeler x fois cette routine. Change Palette Num,R,V,B,SOURCE To CIBLE -> Cree la palette SOURCE dans la palette CIBLE avec les composantes en Rouge(R),Vert(V) et Bleu(B) modifiee en ajoutant R,V,B et cela sur NUM Couleurs. Iff8bits To Iff4Bits NUM,SOURCE To CIBLE -> Cree une palette au format iff 4 bits(Intensite de 0 a 15) a partir de l'adresse CIBLE avec les Composantes 8 bits (intensite de 0 a 255) de la SOURCE et cela sur NUM Couleurs. @endnode @node I5 > Les routines Mathematiques < ------------------------------ Ces routines sont des routines simplifiees qui renvoient des nombres ENTIERS (sans VIRGULE !!!) =Fc Cos(ANGLE) -> Renvoie Cos(ANGLE)*1000 (DEGREE) =Fc Sin(ANGLE) -> Renvoie Sin(ANGLE)*1000 (DEGREE) =Fc Tan(ANGLE) -> Renvoie Tan(ANGLE)*1000 (DEGREE) @endnode @node I6 > Le Faux DUAL PLAYFIELD < -------------------------- Double Mask BASEM TO BASE0,BASE1 -> Calcule un faux Dual Playfield. BASEM est la 'Screen Base' d'un ecran en 2 couleurs representant le masque de calcul. BASE0 est la 'S. B.' de l'ecran de fond. BASE1 est celle de l'ecran de 1er plan qui est aussi l'ecran cible. L Double Mask BASEM,YSTART,YEND to BASE0,BASE2 -> Meme routine que la precedente mais la calcule a partir de la ligne YSTART et jusqu'a la ligne YEND. Blit Mask BASE0,BASEM,BASE1 TO BASE2 -> Meme principe que les deux routines precedentes mais utilise le BLITTER pour faire son calcul. BASE0 est l'ecran de 1er plan. BASEM est l'ecran de masque. BASE1 est l'ecran de fond. BASE2 est l'ecran cible. L Blit Mask BASE0,BASEM,BASE1 to BASE2,YSTART,YEND -> Meme routine que la precedente utilisant elle aussi le blitter. avec en plus: YSTART represente la premiere ligne du calcul. YEND represente la derniere ligne du calcul. !!! ATTENTION !!! Toutes les Bases BASEx (0,1,2,M) representent les ' Screen Base ' des ecrans utilises !!! @endnode @node I7 > SPECIAL AMOS 1.3 PATCH !!! < ------------------------------ Vous avez surement remarque que lorsque vous lancez votre Amos1.3 sur une machine AGA avec l'aga actif ou que vous lancez un programme compile avec l' amos 1.3 sur une meme machine,il arrive que l'ecran soit BROUILLE. Cela vient du mode double scanning de l'aga.pour remedier a cela,j'ai fait une petite instruction qui s'utilise tres simplement. Losrque vous chargez votre amos 1.3. si l'ecran est brouille,placez vous en mode direct ('esc'). tapez 'Aga Patch' puis validez.Automatiquement votre ecran redeviendra normal. Pour les programmes que vous compilerez,placez cette instruction en premiere ligne ou juste apres les SET BUFFER si il y en a.Cela evitera d'avoir la mauvaise surprise de voir votre programme ou jeu en 'PIXELS-BUGGS'. Elle s'execute automatiquement lors du lancement d'un programme mais doit etre reutilisee si l'AMOS est switche avec le WORKBENCH... Aga Patch -> Desactive le mode Double Scanning AGA pour ameliorer la compatibilite de l'amos 1.3 / Compile avec les machines AGA. @endnode @node I8 > LE SECOND ECRAN GRAPHIQUE < ----------------------------- Ceci est un rajout de derniere minute.J'ai ete contraint de rajouter ces quelques instructions pour un petit jeu que je travaille. Ces instructions sont limitees pour l'instant mais seront plus developpees sur des versions superieures de la librairie. Les instructions suivantes agissent sur le COPPER-LIST cree dans la partie reservee a la gestion de l'ecran. Active Second Screen -> Active un ecran en 320*32 en 6 Bits plans maximum(64EHB) Cet ecran se trouve juste en dessous de l'ecran copper. !!! ATTENTION !!! Une fois que le Second Screen est active,il est impossible de faire des modifications de couleurs par ligne copper sur le 1er ecran.Elle s'effectueront alors sur le Second Ecran. Set Second Planes BPL,ADRESS -> Definit le bit plan BPL du Second Screen avec l'adresse ADRESS. Set Second View VIEW -> Definit le nombre de bits plans visibles dans le Second Screen (VIEW<9) soit 2^VIEW Couleurs. (EHB Max(Ecs),256 Max(Aga)) Attention !!! Seules les couleurs de 0 a 31 peuvent etre definies Les couleurs de 32 a 255 (AGA Seulement) seront les memes que celles de l'ecran copper courant. Set Second Color REG,R,V,B -> Redefinit la couleur REG du Second Screen en Rouge(R),Vert(V) et Bleu(B).(de 0 a 15) Second Y Size YSIZE -> Definit la taille visible de l'ecran 2 en Y (Y>16) @endnode @node I9 > Les COPY de BLOCKS < ---------------------- S32 Block To Screen SBASE -> Copie un icone de 32*32 pixels situe en haut a gauche de l'ecran sur la totalite de l'ecran. SBASE Correspond a : SBASE=Screen Base . Pour l'ecran concerne. S32 Vertice To Screen SBASE -> Meme instruction que la precedente a l'exception pres que l'icone a pour dimension 32 de large sur la hauteur de l'ecran. @{" Exemple de copie de blocks " link EXEMPLE07 } @endnode @node I10 > Les ICONES AGA < ------------------ !!! ATTENTION !!! La saisie des icones depend du nombre de bits plans definis dans la partie qui parle de la gestion de l'ecran !!! Aga Reserve Icon NUM -> reserve de la memoire pour creer NUM Icones en 16*16 pixels utilisant au maximum 8 bits plans. Soit 8 octets + 260 Octets par icone reserve. Aga Erase Icon -> Libere la memoire reservee avec l'instruction precedente. Aga Get Icon IC,X,Y -> Equivalent de Get Icon IC,X,Y To X+16,Y+16 de l'amos mais saisit un icone de 16*16 pixels contenu dans l'ecran definit avec ' Set Plane ' aux coordonnees X,Y. Aga Paste Icon IC,X,Y -> Equivalent de Paste Icon X,Y,IC mais dans l'ecran definit avec ' Set Plane '. =Aga Icon Base -> Renvoie l'adresse de base de la banque d'icones utilisees. Aga Icon Save FILE$ -> Sauvegarde la banque d'icones en cours. Aga Icon Load FILE$ -> Charge une banque d'icones sauvegardees. @endnode @node I11 > Le Multi Plots < ------------------ Attention !!! Ces instructions s'utilisent avec le copper utilisateur de la librairie. Les calculs des couleurs et les traces s'effectuent sur des bits plans definis par 'Set Plane BPL,ADR' La valeur de la couleur d'un point peut aller de 0 a 63 pour les machines ECS et de 0 a 255 pour les machines AGA Selon le nombre de bits plans qui ont ete definis. Mplot Reserve NUM -> Reserve un espace memoire suffisant pour stocker: -> Des coordonnees de points : X(.w),Y(.w) . -> La couleur utilisee : C(.w) . Soit 8 octets + 6 Octets par points reserve. Mplot Erase -> Libere l'espace memoire reserve avec 'Mplot Reserve NUM' Mplot Define PTS,X,Y,C -> Definit le point PTS avec les coordonnees (X,Y). Le point sera trace avec la couleur C. Mplot Save FILE$ -> Sauve la banque memoire alloue pour les Multi Plots. Mplot Load FILE$ -> Charge le fichier Multi Plots en memoire. Mplot Draw FIRST To LAST -> Trace tous les points a partir du point FIRST et jusqu'au point LAST. Mplot Dpf1 Draw FIRST To LAST -> Equivalent de l'instruction precedente mais trace les points sur les bits plans impairs (1,3,5(&7 if AGA)). Ceci est utile en cas de double playfield. Mplot Dpf2 Draw FIRST To LAST -> Voir instruction precedente mais sur les bits plans pairs. (2,4,6(&8 if AGA)). Mplot Modify FIRST To LAST,XADD,YADD -> Modifie la position des points FIRST a LAST en ajoutant XADD a leur position en Abscisses (x) et YADD a leur position en (y) ordonnee.XADD et YADD peuvent etre negatifs. Mplot X Define POINT,XVALUE -> Change la valeur de l'abscisse du point POINT en ajoutant XVALUE a sa valeur initiale.XVALUE peut etre negatif. Mplot Y Define POINT,YVALUE -> Change la valeur de l'ordonnee du point POINT en ajoutant YVALUE a sa valeur initiale.YVALUE peut etre negatif. Mplot C Define POINT,VALUE -> Change la couleur du point POINT. Mplot Origin XORI,YORI -> Definit l'origine du plan de trace aux coordonnees (XORI,YORI). ces valeurs seront ajoutees aux coordonnees des points pour le trace de ces derniers. !!! ATTENTION !!! Les origines ne sont pas redefinies a 0 lors de l'execution d'un programme !!!. Mplot Planes PL -> Definit sur combien de bits plans doivent se tracer les Multi plots. @endnode @node INSTALL **************** **************** > Installation sur l'Amospro ou l'Amos 1.3 < -------------------------------------------- Cette extension n'a ete prevue que pour l'AmosProV1+ et l'Amos V1.3. Pour l'installer,il suffit de copier la librairie dans le repertoire: 'APSystem/' Pour l'amos pro et 'Amos_System/' pour l'amos 1.3. Avec le 'Set interpreter' de l'amos pro ou le programme 'Config1_3.AMOS' pour l'amos 1.3,placer l'extension dans l'emplacement numero 13. J'ai du changer l'emplacement de mon extension car j'ai trouve sur les CD-Aminet(s) une EXTENSION appelle 'PowerBobs' qui utilisait l'emplacement que j'utilisait pour la version 1.0b. Il faudra relancer l'amos pour que l'extension soit active apres avoir modifie votre Fichier de configuration. @endnode @node ADRESSES ************** **************** > Adresses... < --------------- Pour obtenir la version complete,donner des idees de routines,avoir des contacts amicaux sur amiga,ecrire a l'adresse suivante : Cordier Frederic Bat 16 Lou Cigaloun Square de tournadre 13090 Aix En Provence Vous pouvez m'ecrire pour recevoir la version COMPILABLE de ma librairie, pour me donner des idees pour augmenter les capacites de ma librairie ou autres si LEGALS. Frederic.C @endnode @node MINUTE ************** **************** > Derniere Minute < ------------------- Sur les versions superieures,Il y aura en rajout de toutes les instructions presentes sur la v1.0b : - Gestion des Sprites ECS D'apres les banques AMOS. - Gestion des sprites AGA.Banque memoire separee. - Toutes les idees qui me seront parvenues d'ici la. - (Support de Compactage de fichier au format POWER PACKER) ? - (Support des musiques OCTAMED) ??? D'apres les derniers tests de la librairie,je n'ai rien a dire de plus. J'espere que ma librairie vous servira pleinement. @endnode @node EXEMPLE01 Octet Fill VALUE,START To END : ------------------------------- Cette instruction est equivalente a : For I=START To END Poke I,VALUE Next I @endnode @node EXEMPLE02 Create Aga ADR / Create Standard ADR : -------------------------------------- Ces deux instructions permettent de creer un copper list UTILISATEUR. la methode a suivre est simple : EXEMPLE : ' ' Ouverture de deux ecrans en 16 couleurs pour beneficier de 8 plans. ' Saisie dans A0 et A1 des deux bases d'ecrans qui permettront de definir ' les 8 bits plans de l'ecran en 256 couleurs. Screen Open 0,320,256,16,lowres Wait vbl A0=Screen Base Screen Open 1,320,256,16,lowres Wait Vbl A1=Screen Base ' ' On cree un copper list AGA dans la CHIP-RAM Obligatoirement !!! Reserve As Chip Data 8,4096 Create Aga Start(8) ' ' On definit les 8 bits plans. For I=1 To 4 Set Plane I,Leek(A0) Set Plane I+4,Leek(A1) Add A0,4 Add A1,4 Next I ' ' On definit ensuite la palette de couleurs ' (Pour cet exemple,les couleurs seront definies aleatoirement) For I=1 To 255 Set Aga Color I,Rnd(255),Rnd(255),Rnd(255) Next i ' ' On definit les particularites de l'ecran. Set Screen Sizes 320,256 ' Le nombre de bits plans (Couleurs =2^8=256 ) Set View Planes 8 ' Le screen offset. Screen Position 0,0,0 ' ' On desactive la gestion Amos et on place notre copper list. Copper off Active Copper Wait Vbl ' ' A partir de cela,l'ecran visible fait 320*192 pixels,l'ecran reel 320*256 ' et l'on peut faire ce que l'on veut dans les 2 ecrans 0 et 1. @endnode @node EXEMPLE04 Copper Next Line / Copper Wait Line LI / New Color Value REG,R,V,B : -------------------------------------------------------------------- Pour utiliser ces instructions,nous avons besoin d'un copper utilisateur. @{"Voir l'exemple de copper utilisateur" link EXEMPLE02 } EXEMPLE 1 : ' ' Creer un degrade de gris sur 16 tons avec 1 ton par ligne. ' A partir de la ligne START de l'ecran visible. START=32 @{" Copper Wait Line $50+START " link WHY01 } For I=1 To 15 New Color Value 0,I,I,I Copper Next Line Next I For I=15 To 0 Step -1 New Color Value 0,I,I,I Copper Next Line Next I ' ' Fini. EXEMPLE 2 : ' ' Creer un degrade de gris sur 16 tons avec 1 ton toute les 4 lignes. ' A partir de la ligne START de l'ecran visible. START=32 @{" Copper Wait Line $50+START " link WHY01 } For I=1 To 15 Add START,4 New Color Value 0,I,I,I Copper Wait Line $50+START Next I For I=15 To 0 Step -1 ADD START,4 New Color Value 0,I,I,I Copper Wait Line $50+START Next I ' ' Fini. @endnode @node EXEMPLE05 Set D Plane BPL,ADR / Swap Planes : ----------------------------------- Pour utiliser ces instructions,nous avons besoin d'un copper utilisateur. @{"Voir l'exemple de copper utilisateur" link EXEMPLE02 } Si vous utilisez le mode: ' Double Buffer Autoback 0 ' Vous avez un ecran en double buffer simple. ' L'utilisation est simple: EXEMPLE : ' ' On ouvre un ecran en 32 couleurs. Screen Open 0,320,256,32,lowres Cls 0 : Curs Off : Hide : Flash Off : Cls 0 Wait Vbl A0=Screen Base ' ' On Cree Le Copper List Utilisateur ... '... (Voir Exemple Copper Utilisateur) ' ' On Met l'Ecran 0 en double buffer Double Buffer Autoback 0 ' ' On saisit les 5 plans Logiques. Screen Swap Wait Vbl For I=1 To 5 Set D Plane I,Leek(A0) Add A0,4 Next I Screen Swap Wait Vbl ' ' Et on cree la boucle... BOUCLE: ' ' Faire ses dessins dans l'ecran logique,... Screen Swap Swap Planes Wait Vbl If Left Click=False Then Goto BOUCLE ' ' Fini. @endnode @node EXEMPLE06 Mosaic X2 A0 / Mosaic X4 A0 / Mosaic X8 A0 / Mosaic X16 A0 / Mosaic X32 A0 : ---------------------------------------------------------------------------- EXEMPLE : ' ' On Ouvre un ecran. Screen Open 0,320,256,32,Lowres Cls 0 : Curs Off : Hide : Flash Off : Cls 0 Double Buffer Autoback 0 A0=Screen Base ' ' On trace un peu n'importe quoi. For I=1 To 64 Ink Rnd(30)+1 Draw Rnd(319),Rnd(255) To Rnd(319),Rnd(255) Next I ' ' On fait les mosaiques. Mosaic X2 A0 Screen Swap Wait 4 Mosaic X4 A0 Screen Swap Wait 4 Mosaic X8 A0 Screen Swap Wait 4 Mosaic X16 A0 Screen Swap Wait 4 Mosaic X32 A0 Screen Swap Wait 4 ' ' Fini. @endnode @node EXEMPLE07 S32 Block To Screen A0 / S32 Vertice To screen A0 : --------------------------------------------------- EXEMPLE Block : ' ' On Ouvre un ecran. Screen Open 0,320,256,32,Lowres Cls 0 : Curs Off : Hide : Flash Off : Cls 0 Double Buffer Autoback 0 A0=Screen Base ' ' On Trace n'importe quoi dans un bloc de 32*32 pixels BOUCLE: For i=1 to 16 Ink Rnd(30)+1 Draw Rnd(31),Rnd(31) To Rnd(31),Rnd(31) Next I ' ' On Conforme a tout l'ecran. S32 Block To Screen A0 Screen Swap Wait Vbl If Left Click=False Then goto BOUCLE ' ' Fini EXEMPLE Vertice : ' ' On Ouvre un ecran. Screen Open 0,320,256,32,Lowres Cls 0 : Curs Off : Hide : Flash Off : Cls 0 Double Buffer Autoback 0 A0=Screen Base ' ' On Trace n'importe quoi dans un bloc de 32*256 pixels BOUCLE: For i=1 to 16 Ink Rnd(30)+1 Draw Rnd(31),Rnd(255) To Rnd(31),Rnd(255) Next I ' ' On Conforme a tout l'ecran. S32 Vertice To Screen A0 Screen Swap Wait Vbl If Left Click=False Then goto BOUCLE ' ' Fini @endnode @node WHY01 lors d'une instruction : ' Copper Wait Line $50+START ' ou .. ' Copper Wait Line $50+START ' Il faut mettre $50+numero de ligne car : L'ecran HARDWARE se trouve aux coordonnees 128,50 HARDWARE. Ce qui correspond a peu pres au bord gauche superieur (en haut) de l'ecran. @endnode @node NEWS1 Ce sont des nouvelles instructions que j'ai developpe depuis. Blitter Clear A0 : ------------------ Efface l'ecran dont la base est A0. (A0=Screen Base) Cette routine comme son nom l'indique,utilise le blitter. LONG=Picture Pack(A0 To BANK) : ------------------------------- Cette routine compacte une image au format 'F.C3'. Pour cela,vous devez rentrer en 'A0' la 'Screen Base' de l'ecran amos a PACKER et en 'BANK' l'adresse de depart de la banque amos (A reserver soit meme) dans laquelle l'image compactee sera stockee au format F.C3 . en retour,'LONG' donne la longueur utilisee par l'image compactee(Longueur a sauver) Picture Unpack BANK To A0 : --------------------------- Cette routine decompacte l'image stockee a l'adresse 'BANK' sur l'ecran amos dont A0=Screen Base et dont la BANK est au format F.C3 Anim Unpack BANK,IMAGE To A0 : ------------------------------ Cette routine decompacte une image stockee dans une banque d'images au format F.C4 et cela sur l'ecran dont la base est A0=Screen Base. ATTENTION !!! 'Pic pack','Pic Unpack' et 'Anim Unpack' N'ont pas ete testees a 100%.J'ai eu des problemes avec quelques images. Pour plus de surete,laisser les 2 ou 3 dernieres lignes de chaque images de votre anim vides ou remplies d'une couleur unie. Word Switch START To END : -------------------------- Cette routine inverse les octets mots par mots.Elle me sert pour mettre des fichiers datas PC sur AMIGA et l'inverse de l'adresse START a l'adresse END. Exemple : Initial : Dc.l $12 34 56 78 , $13 57 24 68 Resultat : Dc.l $34 12 78 56 , $57 13 68 24 Mplot Start Plane PL : ---------------------- -> Definit quel sont les bits plans sur lesquels les Multi plots se traceront.Les multi plots se traceront sur tous les bits plans Pl,Pl+1,..,Pl=8 A=Fpeek(ADR) : -------------- -> Renvoie la valeur des 4 bits de poids fort de l'adresse ADR. (0<=a<=15) A=Speek(ADR) : -------------- -> Renvoie la valeur des 4 bits de poids faible de l'adresse ADR. (0<=a<=15) »»»»»»»»»»»»»»»»»»»»»»»» Player61.library ROUTINES «««««««««««««««««««««««« Dans un CD Aminet,je suis tombe sur une librairie appelee: 'Player61.library' Y ayant trouve les documentations d'utilisation,je me suis dit que je pourrais ajouter l'utilisation de cette librairie dans ma 'personnal.lib'. ATTENTION !!! seuls les modules non compactes peuvent etre lus !!! Attention les instructions qui suivent necessitent la librairie citee plus haut.Elle peut se trouver dans un cd AMINET. P61 Play MOD : -------------- -> joue un module P61 NON COMPACTEE situe a l'adresse MOD. (Les instruments doivent suivre le module.) P61 Play MOD,SMP : ------------------ -> Joue un module P61 dont la partition se trouve a l'adresse MOD et les instruments a l'adresse SMP. P61 Stop : ---------- -> arrete de jouer un module P61. P61 Mvolume VOL : ----------------- -> Definit le volume GLOBAL du module P61. P61 Mpos POS : -------------- -> Definit le PATTERN a jouer. CES QUATRE ROUTINES N'ONT PAS ETE TESTEES !!!.SI DES BUGS SONT DECOUVERTS, FAITES LES MOI PARVENIR.MERCI... »»»»»»»»»»»»»»»»»»»»»»» OctaPlayer.library ROUTINES ««««««««««««««««««««««« Ayant vu que l'amos possede des routines pour jouer les musiques MED (MMD0) mais pas en plus de 4 voix,je me suis dit que je pourrais les rajouter. Omd Load FILE$ : ---------------- -> Charge le module 5-8 voix MMD0 en memoire. Omd Play : ---------- -> Joue le module MMD0 en memoire. Omd Stop : ---------- -> Arrete de faire jouer le module MMD0 en memoire. Omd Free : ---------- -> Efface de la memoire le module MMD0 charge avec 'Omd Load FILE$' @endnode