! ************************************************* ! * ANAUTI1 1ERE BIBLIOTHEOUE D'UTILITAIRES * ! * MACROS POUR ANBACOL * ! ************************************************* .MCALL .TTYOUT,.PRINT,.WDBDF,.RDEDF,.CRRG .MCALL .RDBBK,.WDBBK .MCALL .CRAW,.MAP,.UNMAP,.EXIT .GL0BL NOMBREN,IR,RI,ALALIG,IMPRIL,IMPRIM,LECTUI,PAR* .GLBL mesli?imprem?edipar?admaxà .GLOBL MESLI,IMPREM,EDIPAR,ADLAX0 .GLOBL MINK,MINX,MINY,MAWK,MAXX,MAXY ! PARAMETRES XM APR=6 ; ADRESSE PAGE REGISTER BUF=WDB+W.NBAS ; ADRESSE VIRTUELLE DU BUFFER SIZ=128. ; FENETRE DE 4K SIZHOT==32.*SIZ ; TAILLE EN MOTS NBZON==24. ; NB DE ZONES REJ=128.*NBZON ; REGION DE NBZON*4 K WRNID=WDB+W.NRID ; ADRESSE ID DANS WDB RDB: .RDBBK REJ ; REGION1 DE 64K WDB: .WDBBK APR,SIZ,0,0,SIZ,WS.MAP CAREA: .BLKW 2 .WDBDF .RDBDF ; CREATE WINDOW DEFINITION BLOCK SYMBOLS .RDBDF .RDBDF ; CREATE REGION DEFINITION BLOCK SYMBOLS ; PARAMETRES ; ---------- COLRIX==167774 ; CADRE MODIFIABLE PAR PROGRAMME TYP:: .WORD 1 MINK:: .WORD 0 MINX:: .WORD 20.0 MINY:: .WORD 0 MAXK:: .WORD 15. MAXX:: .WORD 374. MAXY:: .WORD 240. ; ZONE DE PASSAGE DES PAR. NBNUM==157. PARNUM:: .BLKW NBNUM ; 157 NUM AU PLUS .WORD 0 ; ZONE DE PASSAGE DES PARAMETRES MAC-TFN MEMR5:: .BLKW 20. ; ZONE DE PASSAGE DES PARAMETRES MAC-MAC MEM:: .BLKW 25. ; ZONES LOCALES (NIV.O ET 1) NBCOL==157. ; NB MAX DE CONT ET COUL MEMCOL:: .BLKW NBCOL NBLOC==20. MEMLOC:: .BLKW 2*NBLOC DIMPAR==110 ; NB DE PARAMETRES PAR:: .BLKW DIMPAR MEMUTO:: .BLKW 25. MEMUT1:: .BLKW 25. MEMUT2:: .BLKW 25. MEMAFF:: .BLKW 25. DIMBUF==128. ; TAILLE DU BUFFER EN MOTS DE 32 BITS DIM2==2*DIMBUF ; TAILLE EN MOTS DE 16 BITS BUFF:: .BLKW DIM2 NBPAR==24. ; NB DE PAR. DE CONT. NBPAR2==2*NBPAR ; EN OCTETS UN:: .FLT2 1.,-1. DEUX:: .FLT2 2. TROIS:: .FLT2 3. QUATRE: .FLT2 4. MILLE:: .FLT2 1000. SAUIVEG:: .RAD50/PAR/ .RAD50/ANI/ .RAD50/PAR/ .RAD50/ Z1/ .RAD50/ Z2/ .RAD50/ Z3/ .RAD50/ Z4/ .RAD50/ Z5/ .RAD50/ Z6/ .RAD50/ Z7/ .RAD50/ Z9/ .RAD50/Z10/ .RAD50/Z12/ .RAD50/Z15/ ;------------------------------------------------------- ;**** INIANA: INITIALISATIONS INIANAJ:: .PRINT#MESSAJ ; MESSAGE .CRRG #CAREA,#RDB ; CREATE REGION JSR PC,ER MOV RDB,WRNID .CRAW #CAREA,#WDB ; CREATE FENETRE JSR PC,ER ;------------------------------------------------------- ;**** INIANB: INITIALISATION DES PARAMETRES INIANB:: MOV #70000,@#COLRIX MOV #PAR,R0 MOV #DIMPAR,R1 1$: CLR (R0)+ SOB R1,1$ MOV #PAR,R0 MOV #1,18,(R0) ; TAILLE DU CURS=1 MOV #1.,20,(R0) ; TA MOV #15.,22,(R0) ; ROUGE MOV #15.,24,(R0) MOV #15.,26,(R0) MOV #27777,36,(R0) ; CURS BLANC MOV #20000,36,(R0) ; KF=NOIR MOV #15.,38,(R0) ; ROUGE MOV #27400,44,(R0) ; KK=ROUGE MOV #-1,46,(R0) ; PAS DE DEGH MOV #-1,54,(R0) ; PAS DE DEGV MOV #-1,62,(R0) ; PAS DE CERNES MOV #1,90,(R0) ; EXT=1 MOV #1,92,(R0) ; COL=1 MOV #1,132,(R0) ; AKK=1 MOV #1,134,(R0) ; CUR=1 MOV #1,136,(R0) ; DEM=1 MOV #1,138,(R0) ; CLAV=1 ; INITIALISER LE MODE ALPHA MOV 40.,208,(R0) ; A=40 MOV #60.,210,(R0) ; B=60 MOV #10.,212,(R0) ; DX=10 MOV #70.,214,(R0) ; DY=70 ; INITIALISER LE CADRE CLR MINK MOV #20.,MINX CLR MINY MOV #15.,MAXK MOV #374.,MAXX MOV #240.,MAXY RTS PC MESSAJ: .ASCII/ANACO: PROGRAMME D'ANIMATION EN TEMPS / .ASCII/DIFFERE: MICHEL BRET 1983 .BYTE 15,12 .ASCIZ/POUR EN SAVOIR PLUS: HELP .EVEN ;----------------------------------------------------- ;**** FENETR: R0=NUMERO DE LA ZONE DE 4K ; EN SORTIE T0 -> ZONE FENETR:: MOV R1,-(SP) MOV R0,R1 MOV R0,SEM ;* DEC Rl MUL #SIZ,R1 MOV R1,WDB+W.NOFF .MAP #CAREA,#WDB JSR PC,ER MOV BUF,RO MOV (SP)+,R1 RTS PC