NMPROC: VAL "TO" < NOM DU PROCESSEUR. IDP "INTERPOLATEUR OCTET A OCTET - RELEASE 01/06/1979" IDP "JOHN F. COLONNA" EOT #SIP DEFINITION CMS5# EOT #SIP DEF PROCESSEUR# PROG WORD IMAGE < ENTRY POINT DU PROCESSEUR. WORD 0 PIMAGE: EQU $ LRP L < A NOTER : P='12 !!! BR -2,L < ENTRE DANS LE PROCESSEUR 'TN'. PAGE EOT #SIP DEFINITION ITEM# ITEM1: EQU ZERO+PILE-LTNI ITEM2: EQU ZERO+PILE-LTNI-LTNI PAGE EOT #SIP IMAGE 256# NOM: EQU ZERO+PILE+5-LNOM-2 < NOM DE L'IMAGE VIDEO. IMAG: EQU NOM+LNOM+2 < IMAGE VIDEO PROPREMENT DITE. < < VALIDATION DU FORMAT DE L'IMAGE (CARREE) : < X20: VAL 1024/DY < NBRE DE LIGNES/IMAGE. X21: VAL CNMPL*16 < NBRE DE POINTS/LIGNE. IF X20-X21,,X100, IF ATTENTION : L'IMAGE N'EST PAS CARREE !!! X100: VAL 0 PAGE < < < L O C A L : < < < < BUFFERS DE GRANDE TAILLE : < TABLE BUF: DZS 128 < BUFFER SGF. SECTOR: EQU BUF MND: BYTE 16;'6D ASCI "#UNITES DEPART= " MNA: BYTE 17;'6D ASCI "#UNITES ARRIVEE=" MOCT: BYTE 8;'6D ASCI "OCTETS? " MAR: BYTE 9;'6D ASCI "ARRIVEE>" MDE: BYTE 8;'6D ASCI "DEPART> " MCON: BYTE 13;'6D ASCI "NBRE DE PAS=" MPAS: BYTE 11;'6D ASCI "PAS A PAS?" MSCRA: BYTE 16;'6D ASCI "DEPART SCRATCH? " MRES: BYTE 19;'6D ASCI "ARRIVEE RESIDENTE?" MPAUS: BYTE 7;'6D BYTE '07;'07;'07;'07;'07;'07 MTR: BYTE 16;'6D ASCI "TRANSFORMATION? " LOCAL LOC: EQU $ < < MESSAGES ET BUFFERS : < REP: WORD 0 MINT: BYTE 2;'6D ASCI "> " BDISP: BYTE 4;0 ASCI "1234" MERR: BYTE 3;'6D ASCI "??" MDEL: BYTE 8;'6D ASCI "DELETE? " MSAVE: BYTE 6;'6D ASCI "SAVE? " MNOM: BYTE 5;'6D ASCI "NOM>" MAN: ASCI "!ASSIGN A=N," FA: ASCI "FA" IDAN: BYTE 0;'04 < IDESC DANS L'OCTET0. MBN: ASCI "!ASSIGN B=N," FB: ASCI "FB" IDBN: BYTE 0;'04 < IDESC DANS L'OCTET0. MAO: ASCI "!ASSIGN A=O,FA" IDAO: BYTE 0;'04 < IDESC DANS L'OCTET0. MBO: ASCI "!ASSIGN B=O,FB" IDBO: BYTE 0;'04 < IDESC DANS L'OCTET0. MAC: ASCI "!ASSIGN A=" BYTE "R";'04 MBC: ASCI "!ASSIGN B=" BYTE "R";'04 < < DEMANDES A CMS4 : < DEMMEM: WORD '0004 < DEMANDE D'ALOCATION 8K MOTS. RELMEM: WORD '0004 < DEMANDE DE RETOUR A 4K MOTS. WORD '4000 < ALLOCATION 8K MOTS. WORD '2000 DEMCCI: WORD '0001 < APPEL DU CCI. DEMSGN: WORD '0402 < DEMANDE D'ACCES AU SGN OVERLAY. WORD BRANCH-ZERO*2 < @OCTET DE LA BRANCHE. WORD ZERO-BRANCH+PILE-LTNI-LTNI*2 WORD -1 DEMOUT: WORD '0202 < SORTIE D'UN MESSAGE. WORD MINT-ZERO*2 WORD 2 DEMIN: WORD '0101 < ENTREE SUR LE TERMINAL. WORD REP-ZERO*2 WORD 1 DEMCON: WORD '0101 < ENTREE DU NBRE DE PAS. WORD REP-ZERO*2 WORD 2 < 2 CHIFFRES HEXAS. RDK: WORD '0C00 < LECTURE SECTEUR SCRATCH. WORD SECTOR-ZERO*2 WORD 256 WORD 0 < NUMERO SECTEUR SCRATCH. SGFW: WORD '0B02 < ECRITURE SGF UN ENREGISTREMENT. WORD BUF-ZERO*2 WORD 256 WORD 0 SGFR: WORD '0B09 < LECTURE DELETE SGF SUR '0B. WORD BUF-ZERO*2 WORD 256 WORD 0 SGFO1: WORD '0B04 < OUVERTURE CLEF '1.0' NEW (4) , < (5 POUR OLD). WORD 1 WORD 0 SGFC: WORD '0B07 < FERMETURE CLEF '1.0' SAVE (7) , < (6 SI RELEASE). DEMDA: WORD '0302 < DELETE NOM DU FICHIER FA. WORD FA-ZERO*2 WORD 4 WORD -1 DEMDB: WORD '0302 < DELETE LE NOM DU FICHIER FB. WORD FB-ZERO*2 WORD 4 WORD -1 CCII: WORD '0002 < ACCES CCI INTERPRETATIF. WORD 0 < @OCTET DE LA CARTE CONTROLE. WORD 80 < LONGUEUR MAX. DEMNOM: WORD '0101 < ENTREE D'UN NOM D'IMAGE. WORD NOM-ZERO*2 WORD LNOM*2 SGN: WORD '0502 < LECTURE PUIS ECRITURE D'UNE < IMAGE VIDEO. WORD NOM-ZERO*2 WORD LIMAG+LNOM+2*2 WORD 2*LNOM IF ORDI-"S",XWOR%,,XWOR% STABIL: WORD '8A01 < DEMANDE DE STABILISATION IMAGE. WORD IMAG-ZERO*2 WORD LIMAG*2 WORD TVPV < SUR LE PROCESSEUR VERT. XWOR%: VAL 0 < < CONSTANTES : < IF ORDI-"T",XWOR%,,XWOR% ACNSYS: ASCI ":SYS" XWOR%: VAL 0 NGE: WORD "GE" < NOM DU PROCESSEUR 'GE'. KIN: WORD -1 < COMPTAGE DES ENTRIES. FOIS: WORD -1 < COMPTE LE NBRE D'EXPLORATION < DE L'IMAGE DE DEPART MOINS 1. DELTA: WORD 0 < INDEX ZONE DE RANGEMENT D'UN < SEGMENT GRAPHIQUE A TRACER. IBUF: WORD 0 < INDEX BUFFER SGF. NAR: WORD 0 < NBRE DE POINTS IMAGE ARRIVEE. NDE: WORD 0 < NBRE DE POINTS IMAGE DEPART. SNDE: WORD 0 < NBRE DE POINTS REEL DE DEPART. < (AU CAS OU ELLE SERAIT REEXPLOREE) ND: WORD 0 < VALEUR TEMPORAIRE DE NDE POUR < RATTRAPAGE EVENTUEL DE NAR. NC: WORD 0 < DECOMPTEUR DES POINTS LORS D'UNE < INTERPOLATION. NMOTS: WORD LTNI < NBRE DE MOTS A RAZER DANS ITEM1. IRAZ: WORD 1 < 1=INUTILE DE RAZER ITEM1 , < 0 : IL FAUT RAZER L'ITEM1 CAR IL < A ETE ALTERE... IMAG2: WORD IMAG-ZERO*2 < @OCTET IMAGE VIDEO. ALIMAG: WORD LIMAG < LONGUEUR IMAGE VIDEO. ALIMA2: WORD 2*LIMAG < LONGUEUR OCTETS DE L'IMAGE. MAXBUF: WORD 128-1*2 < MAX DE L'INDEX BUFFER SGF < POUR UN PARCOURS OCTETS. XIMAG: WORD 0 < INDEX IMAGE VIDEO PENDANT < L'INTERPOLATION. NMPL: WORD CNMPL < NBRE DE MOTS DE 16 BITS/LIGNE. NLIG: WORD 1024/RDY-1 < NBRE DE LIGNES-1 D'UNE IMAGE. DICOX: WORD 0 < X DU POINT VIDEO COURANT M. DICOY: WORD 0 < Y DU POINT VIDEO COURANT M. DICOX1: WORD 0 < X DE L'ORIGINE VIDEO COURANTE M1. DICOY1: WORD 0 < Y DE L'ORIGINE VIDEO COURANTE M1. DICOX2: WORD 0 < X EXTREMITE VIDEO COURANTE M2. DICOY2: WORD 0 < Y EXTREMITE VIDEO COURANTE M2. NVP1: WORD '0A < POUR LA GESTION DES NVP DU < SGF EN BASCULE. PAS: WORD 0 < 0 : INTERPOLATION EN PAS A PAS, < 1 SINON (MODE CONTINU. CONS: WORD 16 < PAS D'INTERPOLATION. < (AUSSI DECOMPTEUR DES TOURS < A EFFECTUER). MODE: WORD 0 < 0=OCTET, 1=MOT. < < RELAIS DIVERS : < IF ORDI-"T",XWOR%,,XWOR% ASP3: WORD SP3 < STABILISATION IMAGE VIDEO. XWOR%: VAL 0 AVIS: WORD VIS < STABILISATION IMAGE VIDEO. AENTER: WORD ENTER < ENVOI MESSAGE, PUIS LECTURE < REPONSE O/N, ET ITERATION... AHEX: WORD HEX < CONVERSION HEXA-->BINAIRE. ADISP: WORD DISP < CONVERSION BINAIRE-->ASCI. APRINT: WORD PRINT < EMISSION D'UN MESSAGE. AGOSGN: WORD GOSGN < ACCES AU SGN POUR LECTURE/ < ECRITURE D'UNE IMAGE VIDEO. ACCI: WORD CCI < ACCES AU CCI INTERPRETATIF. ADF: WORD DF < TENTATIVE DELETE FICHIERS FA & FB AWR: WORD WR < ECRITURE/LECTURE SGF. ASTBUF: WORD STBUF < RANGEMENT DOUBLET DANS LE < BUFFER SGF ET ECRITURE < EVENTUELLE. AMAJL: WORD MAJL < INSERTION DE L'IMAGE DEPART DANS < LA LISTE D'ARRIVEE. AITEM2: WORD ITEM2+LTN < ENTRY POINT DU MODULE EVENTUEL < DE TRANSFORMATION. ATRANS: WORD TRANS < ROUTINE INTERFACE DE TRANSFO. APAUS: WORD PAUS < ROUTINE DE PAUSE. AOVL: WORD OVL < CHARGEMENT DES OVERLAYS. AGOGE: WORD GOGE < RETOUR A 'GE'. AE30: WORD E30 < BOUCLE D'INTERPOLATION. AREP: WORD REP,X < RELAI VERS LE BUFFER REP. ATYP: WORD ITEM2+IINDIC < ACCES AU TYPE DE L'ITEM2. ABDISP: WORD BDISP,X < RELAI BUFFER DE CONVERSION HEXA. ABUF: WORD BUF+1,X < REALI DU BUFFER SGF. AI1: WORD ITEM1-1,X < RELAI DE RAZ DE L'ITEM1. AIMAG: WORD IMAG-1,X < RELAI IMAGE VIDEO POUR JDX. AIMAG0: WORD IMAG,X < POUR ACCES OCTET A L'IMAGE. AEOT: WORD NOM+LNOM ALONG: WORD NOM+LNOM+1 < POUR L'INDICATEUR TYPE 'VIDEO'. ALSTBY: WORD LSTBY,X < LISTE DES INSTRUCTIONS A MODI- < FIER POUR UN PARCOURS MOTS. ASTA: WORD STA < POUR LE CODE DE 'STA &0,L', ALA: WORD LA < POUR LE CODE DE 'LA &0,L'. AMND: WORD MND AMNA: WORD MNA AMSCRA: WORD MSCRA AMAR: WORD MAR AMDE: WORD MDE AMPAS: WORD MPAS AMCON: WORD MCON AMRES: WORD MRES AMTR: WORD MTR AMPAUS: WORD MPAUS AMOCT: WORD MOCT < < PILES DE TRAVAIL : < APILE: WORD PILE-1 < PILE DE SMC (RETOUR A 'GE'). STACK: DZS 10 < PILE TEMPORAIRE DE TRAVAIL. DZS 20 < PILE PLUS GRANDE POUR 'TA'. < < LISTE DES INSTRUCTIONS A MODIFIER POUR UN PARCOURS MOT : < (STBY : BIT0=0, LBY : BIT0=1) < LSTBY: EQU $ WORD STBY1;STBY2;STBY3;STBY4;STBY5;STBY6 WORD LBY1,X;LBY2,X;LBY3,X;LBY4,X WORD 0 < FIN DE LISTE. PROG PAGE IF ORDI-"T",XWOR%,,XWOR% TIMAG: WORD IMAG < @RELATIVE IMAGE VIDEO. EOT #SIP SP3# XWOR%: VAL 0 VIS: EQU $ < ENTRY ESCLAVE. IF ORDI-"T",XWOR%,,XWOR% LA ASP3 < ACCES A L'ADRESSE DE LA < ROUTINE MAITRE. JAE VIS1 < ON N'EST PAS SOUS :SYS. WORD '1EC5 < OK , ON EST SOUS :SYS. VIS1: EQU $ XWOR%: VAL 0 IF ORDI-"S",XWOR%,,XWOR% PSR X LAD STABIL SVC 0 < DEMANDE DE STABILISATION IMAGE. PLR X XWOR%: VAL 0 RSR PAGE < < < C O N V E R S I O N H E X A ---> B I N A I R E : < < < ARGUMENT : < Y=NBRE DE CARACTERES A DECODER , < REP=CHAINE DE CARACTERES. < < < RESULTATS : < B=0 : OK ET (A)=VALEUR BINAIRE DECODEE , < B=1#0 : LA CHAINE D'ENTREE EST ERRONNEE. < LES INDICATEURS SONT POSITIONNES SUR (B). < < HEX: EQU $ LXI 0 < INDEX DU BUFFER DE REPONSE. LBI 0 < INITIALISATION DE B. E55: EQU $ LBY &AREP < A=CARACTERE COURANT DU BUFFER. CPI '0D < FIN DE MESSAGE ??? JE HEX1 < OUI , OK. CPI '04 < FIN DE MESSAGE ??? JE HEX1 < OUI , OK. ADRI -'30,A JAL E472 < ERREUR CARACTERE NON RECONNU. CPI 9 < EST-CE UN CHIFFRE ??? JLE E51 < OUI , C'EST UN CHIFFRE. ADRI -'41+'39+1,A < NON. CPI 'A < VALIDATION. JL E472 < ERREUR : CARACTERE NON RECONNU. CPI 'F < VALIDATION. JG E472 < ERREUR : CARACTERE NON RECONNU. E51: EQU $ SCRS 4 < MISE DES 4 BITS EN TETE DE A. SCLD 4 < ET CONCATENATION A B. ADRI 1,X < PROGRESSION DE L'INDEX. CPR X,Y < EST-CE FINI ??? JNE E55 < NON , ON CONTINUE. HEX1: EQU $ LR B,A < A=VALEUR BINAIRE DE (REP). LBI 0 < B=0 : RETOUR OK. E473: EQU $ CPZR B < POSITIONNEMENT DES INDICATEURS. RSR < < RETOURS EN ERREUR : < E472: EQU $ LBI 1 < B#0. JMP E473 < PAR ICI LA SORTIE ... PAGE < < < C O N V E R S I O N B I N A I R E ----> A S C I H E X A : < < < ARGUMENT : < B=VALEUR A CONVERTIR DANS BDISP. < < DISP: EQU $ LXI 1 < INDEX DE RANGEMENT DANS BISP. LYI 1+4 < BORNE SUPERIEURE DE (X). DISP1: EQU $ LAI 0 < CLEAR A. SLLD 4 < DECONCATENATION D'UN CHIFFRE. CPI 9 < EST-CE UN CHIFFRE ??? JLE DISP2 < OUI, CHIFFRE DECIMAL. ADRI '41-'39-1,A < CAS DES LETTRES A,B,C,D,E,F. DISP2: EQU $ ADRI '30,A < CONVERSION ASCI. STBY &ABDISP < ET MISE DANS LE BUFFER BDISP. ADRI 1,X < AU SUIVANT. CPR X,Y < EST-CE FINI ??? JNE DISP1 < ET NON .... RSR < ET OUI ... PAGE < < < E M I S S I O N D ' U N M E S S A G E : < < < ARGUMENT : < A=@MESSAGE EN MOT. < < PRINT: EQU $ PSR C,X LR A,C < C=@MOT DU MESSAGE. ADR A,A < CONVERSION OCTET. ADRI 1,A < ADRESSE OCTET DU MESSAGE. STA DEMOUT+1 < MAJ AMDEM. LBY 0,C < RECUPERATION LONGUER MESSAGE. STA DEMOUT+2 < MAJ CODEM. LAD DEMOUT SVC 0 < EMISSION DU MESSAGE. PLR C,X RSR PAGE < < < P A U S E : < < < FONCTION : < BLOQUER LE PROGRAMME JUSQU'A LA < RECEPTION D'UN 'N'. < < PAUS: EQU $ PAUS1: EQU $ LA AMPAUS BSR AENTER < ENVOI MESSAGE ET LECTURE DE < LA REPONSE. JE PAUS1 < ON BOUCLE SI OUI 'O'. RSR < SINON 'N' ON ARRETE... PAGE < < < L E C T U R E / E C R I T U R E I M A G E : < < < ARGUMENT : < A=@MESSAGE A EMETTRE. < < GOSGN2: EQU $ LR Y,A < RESTAURE A=@MESSAGE. GOSGN: EQU $ STZ IRAZ < IRAZ=0 : IL FAUDRA RAZER ITEM1. LR A,Y < SAVE Y=@MESSAGE. BSR APRINT < EMISSION DU MESSAGE ARGUMENT. LAD DEMNOM SVC 0 < ENTREE DU NOM DEMANDE. LAI '04 STBY &AEOT < INSERTION D'UN EOT A PRIORI. LAD SGN SVC 0 < LECTURE/ECRITURE DE L'IMAGE < DEMANDEE. JNE GOSGN2 < ERREUR SGN. LBY SGN < ACCES AU NVP D'ACCES SGN. CPI '05 < EST-CE UN LOAD ??? JNE GOSGN1 < NON. LA &ALONG < OUI , ACCES AU TYPE. JAGE GOSGN2 < ERREUR : CE N'EST PAS UNE < IMAGE VIDEO. CPI -3 < SUITE DE LA VALIDATION. JL GOSGN2 < CE N'EST PAS UNE IMAGE VIDEO ... GOSGN1: EQU $ LR Y,A < RESTAURE A=@MESSAGE. RSR PAGE < < < A C C E S A U C C I I N T E R P R E T A T I F : < < < ARGUMENT : < A=@MOT DE LA CARTE CONTROLE. < < CCI: EQU $ SLLS 1 < CONVERSION EN UNE ADRESSE OCTET. STA CCII+1 < MAJ DE L'AMDEM. LAD CCII SVC 0 < ENVOI DE LA CARTE CONTROLE. RSR < < < T E N T A T I V E D E D E L E T E < D E S F I C H I E R S F A & F B : < < DF: EQU $ LAD MAO BSR ACCI < !ASSIGN A=O,FA. LAD MAC BSR ACCI < !ASSIGN A=R. LAD DEMDA SVC 0 < DESTRUCTION DU NOM FA. LAD MBO BSR ACCI < !ASSIGN B=O,FB. LAD MBC BSR ACCI < !ASSIGN B=R. LAD DEMDB SVC 0 < DESTRUCTION DU NOM FB. RSR PAGE < < < I N T E R F A C E D E T R A N S F O R M A T I O N : < < < FONCTION : < IL EST POSSIBLE DE PROGRAMMER A L'AIDE < DE 'GC' UN MODULE DE TRANSFORMATION < EN ASSEMBLEUR (ITEM1) ; LE BINAIRE < RESULTANT EST DANS L'ITEM2 : L'ADRESSE < DE SON POINT D'ENTREE EST DANS SON < MOT0. < < < ARGUMENT : < B=1 : IMAGE D'ARRIVEE, < =2 : IMAGE DE DEPART, < B=-1 : AVANT IMAGE D'ARRIVEE SI VIDEO, < =-2 : AVANT IMAGE DE DEPART SI VIDEO, < X,Y=CORRDONNEES D'UN POINT BLANC SI VIDEO, < A=@DEMSEG SI VIDEO ET SI B<0. < A=@SEGMENT COURANT SI GRAPHIQUE. < < TRANS: EQU $ CPZ AITEM2 < Y-A-T'IL UNE TRANSFORMATION < A OPERER ??? JE NTRANS < NON. PSR X,Y,C,L BSR &AITEM2 < ET OUI, A LA GRACE DE DIEU !!! PLR X,Y,C,L NTRANS: EQU $ RSR PAGE < < < I N S E R T I O N D ' U N P O I N T D E D E P A R T < D A N S L A L I S T E D ' A R R I V E E : < < < ARGUMENT : < A=OCTET DE DEPART A INSERER. < < MAJL: EQU $ PSR X IC NDE < COMPTAGE OCTETS DE DEPART. LX IBUF < X=INDEX COURANT BUFFER SGF. STBY1: STBY &ABUF < INSERTION UNITE DE DEPART. ADRI 2,X < PROGRESSION INDEX BUFFER. LA NDE CP NAR JLE E17 < L'IMAGE DE DEPART A POUR LE < MOMENT, MOINS D'OCTETS QUE < L'IMAGE D'ARRIVEE. ADRI -1,X < RETOUR OCTET D'ARRIVEE, LAI 0 STBY2: STBY &ABUF < UNITE D'ARRIVEE =0. ADRI 1,X E17: EQU $ BSR AWR < LECTURE/ECRITURE SGF. PLR X RSR PAGE < < < R A N G E M E N T D A N S L E B U F F E R S G F : < < < FONCTION : < ELLE RANGE L'OCTET D'ARRIVEE (A) DANS < LE BUFFER SGF SUIVANT L'INDEX 'IBUF' ; < LORSQUE LE BUFFER EST PLEIN, UNE ECRITURE < DE L'ENREGISTREMENT SGF EST FAITE. < < STBUF: EQU $ PSR A,X < SAVE. LX IBUF < X=INDEX COURANT BUFFER SGF. STBY3: STBY &ABUF < MISE EN PLACE UNITE D'ARRIVEE. ADRI 1,X LR X,A < ACCES A L'INDEX COURANT. CP MAXBUF < EST-ON AU BOUT DU BUFFER ??? JL STBUF1 < NON , RIEN A FAIRE .... < < ECRITURE DE L'ENREGISTREMENT COURANT : < LAD SGFW SVC 0 LAI 0 < AFIN DE REINITIALISER L'INDEX < COURANT DU BUFFER SGF. STBUF1: EQU $ STA IBUF < MISE A JOUR DE 'IBUF'. PLR A,X < RESTAURE. RSR < RETOUR .... PAGE < < < L E C T U R E / E C R I T U R E S G F : < < WR: EQU $ LR X,A CP MAXBUF < VALIDATION INDEX BUFFER. JL E18 < OK , IL TIENT ENCORE. LAD SGFW SVC 0 < ECRITURE DE L'ENREGISTREMENT < COURANT DE '0A. LAD SGFR SVC 0 < PUIS LECTURE-DELETE DE L'ENREGIS- < TREMENT COURANT DE '0B. LAI 0 < REINITIALISATION DE L'INDEX. E18: EQU $ STA IBUF < MISE A JOUR DE L'INDEX BUFFER. RSR PAGE < < < E N T R E E D ' U N E R E P O N S E : < < < REPONSES RECONNUES : < O : B=0, < N : B=1, < W : RETOUR TEMPORAIRE AU CCI, < F : ABORTE DE TA. < < < ARGUMENT : < A=@MOT DU MESSAGE A EMETTRE AU PREALABLE. < < < RESULTAT : < B=0 : OUI , < =1 : NON. < INDICATEURS POSITIONNES SUR (B). < < ENTER: EQU $ LR A,Y < Y=SAVE @MESSAGE. BSR APRINT < EMISSION DU MESSAGE PREALABLE. LAD DEMIN SVC 0 < ENTREE D'UN CARACTERE REPONSE. LBY REP < ACCES A LA REPONSE. CPI "W" < DEMANDE DE PASSAGE AU CCI ??? JNE ENTER2 < NON. < < RETOUR TEMPORIARE AU CCI : < LAD DEMCCI SVC 0 < APPEL DU CCI. LR Y,A < AU RETOUR PAR !GO, ON RESTAURE < A=@MESSAGE A EMETTRE. JMP ENTER < ET ON RECOMMENCE. < < AUTRES COMMANDES : < ENTER2: EQU $ CPI "F" < EST-CE UNE DEMANDE D'ABORT ??? JE ALTMOD < ET OUI, COMME UN ALT-MODE .... LBI 0 < 0=OUI A PRIORI. CPI "O" < EST-CE OUI ??? JE ENTER1 < OK , FIN... LBI 1 < 1=(ON A PRIORI. CPI "N" < EST-CE NON ??? LR Y,A < RESTAURE A=@MESSAGE. JNE ENTER < RIEN COMPRIS, ON RECOMMENCE. ENTER1: EQU $ CPZR B < POSITIONNEMENT DES INDICATEURS. RSR PAGE < < ERREURS LORS DU CCI INTERPRETATIF : < CCIER: EQU $ LAD MERR BSR APRINT < ENVOI MESSAGE D'ERREUR. X100: VAL 0 < < < R E T O U R A ' G E ' : < < GOGE: EQU $ ALTMOD: EQU $ LAI BRANCH-ZERO LR A,W < REINITIALISE W=@BRANCH. < < PREPARATION DE L'3VERLAY : < LAI '06 STBY DEMSGN < DEMSGN EST MISE EN MODE 'LOAD < SOUS :SYS '. LA NGE STA 0,W < LE NOM DE 'GE' EST MIS EN TETE DE < LA BRANCHE D'OVERLAY. LA APILE LR A,K < REINITIALISATION DE K SUR LA < PILE DE SMC. LAD RELMEM SVC 0 < RETOUR A 4K MOTS. BSR ADF < DELETE FICHIERS FA ET FB. < < RAZ EVENTUEL DE L'ITEM1 : < CPZ IRAZ < L'ITEM1 A-T'IL ETE ALTERE ??? JNE NRAZ < NON, RIEN A FAIRE... LX NMOTS < OUI, X=NBRE DE MOTS A RAZER. RAZ: EQU $ STZ &AI1 < RAZ MOT A MOT. JDX RAZ NRAZ: EQU $ < < TENTATIVE(S) DE CHARGEMENT DE 'GE' : < GOGE2: EQU $ LAD DEMSGN < A=@DEMSGN , W=@BRANCH. BSR AOVL < TENTATIVE DE LOAD 'GE'. LAD DEMCCI SVC 0 < RETOUR AU CCI SI ERREUR , JMP GOGE2 < ET NOUVELLE TENTATIVE SI !GO. < < < P R O C E S S E U R D ' I N T E R P O L A T I O N : < < < FONCTION : < CE PROCESSEUR INTERPOLE ENTRE 2 < IMAGES VIDEOS, MAIS A LA DIFFERENCE < DE 'TA', IL INTERPOLE D'OCTETS A < OCTETS PAR VALEUR DE CEUX-CI, SANS < LES DEPLACER DANS LE PLAN DE L'IMAGE. < ON PEUT AINSI INTERPOLER ENTRE DES < ECHANTILLONS SONORES. < < STA: STA &0,L < CODE DU STA, LA: LA &0,L < CODE DU LA. WORD IMAG WORD LOC+'80 WORD BRANCH IMAGE: EQU $ LRP K ADRI -1,K PLR C,L,W < INITIALISATIONS DES 3 BASES. LAD STACK-1 LR A,K < INITIALISATION DE K SUR LA PILE < DE TRAVAIL DE 'TN'. IC KIN < DECOMPTE DES ENTRIES. JG ALTMOD < RETOUR A GE SI ALT-MODE ... IF ORDI-"T",XWOR%,,XWOR% < < TEST DU NUMERO DE COMPTE D'APPEL : < WORD '1E25 < (A,B)=<ACN>. CP ACNSYS < EST-CE :SYS ??? JNE E4000 < NON. LR B,A < PEUT-ETRE ... CP ACNSYS+1 < EST-CE :SYS ??? JE E4001 < ET OUI , ON POURRA STABILISER ... E4000: EQU $ STZ ASP3 < NON , PSA DE STABILISATION... E4001: EQU $ XWOR%: VAL 0 < < ACCES A L'IDESC UTILISATEUR : < WORD '1E45 < A=IDESC. ADRI '30,A < CONVERSION EN UN CHIFFRE ASCI. STBY IDAN < MAJ NOM FA. STBY IDBN < MAJ NOM FB. STBY IDAO < MAJ NOM FA. STBY IDBO < MAJ DU NOM FB. < < TENTATIVE DE DELETE DES FICHIERS FA & FB : < BSR ADF < < OUVERTURE DE NOUVEAUX FICHIERS FA & FB : < LAD MAN BSR ACCI < !ASSIGN A=N,FA. JNE CCIER < ON ABORTE ICI SI ERREUR. LAD MBN BSR ACCI < !ASSIGN B=N,FB. JNE CCIER < ON ABORTE ICI SI ERREUR. E200: EQU $ LAD DEMMEM SVC 0 < ALLOCATION 8K MOTS. E201: EQU $ < < PARCOURS OCTET OU MOTS ??? < LA AMOCT BSR AENTER < INTEROGATION. STB MODE < SAVE LE MODE DEMANDE. JE E170 < PARCOURS OCTET, TOUT EST BIEN. < < CAS DU PARCOURS MOT : < LA ALIMA2 SLRS 1 < L'IMAGE VIDEO EST COMPOSEE DE STA ALIMA2 < 2 FOIS MINS DE MOTS QUE D'OCTETS. LA MAXBUF < DE MEME MAXBUF, SLRS 1 RBT 15 < DE PLUS, ON LE REND PAIR, AFIN STA MAXBUF < QUE MOT DE DEPART ET D'ARRIVEE < SOIT DANS LE MEME ENREGISTREMENT. LXI 0 < INDEX DE MISE A JOUR INSTRUCTIONS. PSR C CHMO: EQU $ LA &ALSTBY < A=@INSTRUCTION COURANTE. JAE CHMO1 < FIN DE LISTE. TBT 0 < STBY (0) OU LBY (1) ??? RBT 0 LR A,C < C=@INSTRUCTION A MODIFIER. LBY &ASTA < A PRIORI STBY-->STA. JNC CHMO2 < OUI. LBY &ALA < NON : LBY-->LA. CHMO2: EQU $ STBY 0,C < MAJ INSTRUCTION COURANTE. ADRI 1,X < SUIVANTE... JMP CHMO CHMO1: EQU $ PLR C < < CHOIX DU MODE D'INTERPOLATION : < E170: EQU $ LA AMPAS BSR AENTER < ENVOI MESSAGE ET REPONSE. STB PAS < SAVE L'INDICATEUR : 0=PAS A PAS. E310: EQU $ < < ENTREE DU NBRE D'ITERATIONS : < E50: EQU $ LA AMCON BSR APRINT < ENVOI D'1N MESSAGE. LAD DEMCON SVC 0 < ENTREE D'1N NBRE HEXA SOUS FORME < DE 2 CARACTERES. LYI 2 < 2 CARACTERES A DECODER. BSR AHEX < DECODAGE DE (REP). JNE E50 < ERREUR , CE N'EST PAS DE < L'HEXADECIMAL ... JALE E50 < ERREUR : NBRE NEGATIF OU NUL. STA CONS < SAVE LA VALEUR DE CONS. < < FAUT-IL TRANSFORMER PAR (ITEM2) : < LA AMTR BSR AENTER < ENVOI MESSAGE ET LECTURE REPONSE. JE TRANS1 < OUI. STZ AITEM2 < NON , ET ON FAIT AITEM2=0. JMP TRANS2 TRANS1: EQU $ LBY &ATYP < OUI : IL FAUT VALIDER L < TYPE DE L'ITEM2. CPI "P" < EST-CE UN PROGRAMME BINAIRE ??? JNE CCIER < NON, ON ABORTE... TRANS2: EQU $ < < < A C C E S I M A G E D ' A R R I V E E : < < E101: EQU $ LA AMRES BSR AENTER < GARDE-T'ON L'IMAGE RESIDENTE ??? JE E48 < OUI , RIEN A ENTRER ... LA AMAR BSR AGOSGN < NON , ON ENTRE UNE IMAGE. E48: EQU $ BSR AVIS < STABILISATION EVENTUELLE IMAG. < < A N A L Y S E D E L ' I M A G E D ' A R R I V E E : < LAD SGFO1 SVC 0 < OUVERTURE DE LA CLEF '1.0'. < < ICI, PAR TRANSFORMATION, ON PEUT PAR EXEMPLE ORDONNER < LE TEST DES POINTS DE L'IMAGE VIDEO A L'AIDE PAR EXEMPLE < D'UN DESSIN RECUPERE PAR :GS : < LBI -1 BSR ATRANS < TRANSFORMATION EVENTUELLE. < < PARCOURS DE L'IMAGE D'ARRIVEE : < LXI 0 < INDEX OCTET DE L'IMAGE. E1: EQU $ LBI 1 BSR ATRANS < TRANSFORMATION EVENTUELLE. LAI 0 BSR ASTBUF < OCTET DE DEPART=0. IC NAR < COMPTAGE OCTETS D'ARRIVEE. LBY1: LBY &AIMAG0 < A=UNITE D'ARRIVEE. BSR ASTBUF < MISE EN PLACE OCTET ARRIVEE. ADRI 1,X < PASSAGE OCTET SUIVANT. LR X,A CP ALIMA2 < VALIDATION INDEX OCTET. JL E1 < IMAGE NON TERMINEE. < < FIN DE L'IMAGE D'ARRIVEE : < E103: EQU $ CPZ IBUF < Y-A-T'IL UN BUFFER SGF A MOITIE < PLEIN ??? JE E4 < NON,IL EST VIDE. LAD SGFW SVC 0 < OUI, ON L'ECRIT. E4: EQU $ LAD SGFC SVC 0 < PUIS ON FERME LA CLEF '1.0'. BSR APAUS < UNE PETITE PAUSE NE FERA PAS < DE MAL ... < < < C H A R G E M E N T I M A G E D E D E P A R T : < < LA AMSCRA BSR AENTER < GARDE-T'ON L'IMAGE SCRATCH ??? JE E44 < OUI , IL FAUT LA RELIRE. LA AMDE BSR AGOSGN < NON , IL FAUT EN LIRE UNE < PAR LE SGN ... BSR AVIS < STABILISATION EVENTUELLE IMAG. JMP E47 E44: EQU $ LY RDK+2 < INCREMENT DE L'@OCTET BUFFER. LB IMAG2 < @OCTET BUFFER COURANT. STZ RDK+3 < PAR PRUDENCE ... LXI LIMAG/128 < X=NBRE DE SECTEURS A LIRE. LAD RDK < A=@DEMANDE LECTURE SCRATCH. E5: EQU $ STB RDK+1 < MAJ @OCTET BUFFER. PSR X < SAVE DECOMPTE SECTEURS. SVC 0 < LECTURE SECTEUR COURANT. PLR X < RESTAURE DECOMPTE SECTEURS. IC RDK+3 < PROGRESSION NUMERO DE SECTEUR. ADR Y,B < PROGRESSION @OCTET BUFFER. JDX E5 < AU SUIVANT ... < < MISE DE LA DEMANDE SGN EN SAVE : < E47: EQU $ LAI '04 STBY SGN < NVP DE STORE. < < PREPARATIFS SGF : < E110: EQU $ IC SGFO1 < FONCTION=5 : OPEN OLD. LAD SGFO1 SVC 0 < OPEN OLD '1.0' SUR '0B. LAI '0A STBY SGFO1 < POUR OPEN SUR '0A. STBY SGFW < POUR ECRITURE SUR '0A. LAD SGFR < LECTURE DU 1ER SECTEUR DE LA < LISTE DESCRIPTIVE DE L'IMAGE < D'ARRIVEE. SVC 0 DC SGFO1 < FONCTION=4 : OPEN NEW. LAD SGFO1 SVC 0 < OPEN NEW CLEF '1.0' SUR '0A. STZ IBUF < REINITI IBUF. < < E X P L O R A T I O N D E L ' I M A G E D E D E P A R T < E1200: EQU $ < < ICI, PAR TRANSFORMATION, ON PEUT PAR EXEMPLE ORDONNER < LE TEST DES POINTS DE L'IMAGE VIDEO A L'AIDE PAR EXEMPLE < D'UN DESSIN RECUPERE PAR :GS : < LBI -2 BSR ATRANS < TRANSFORMATION EVENTUELLE. < < PARCOURS DE L'IMAGE DE DEPART : < E120: EQU $ IC FOIS < ET UN TOUR DE PLUS SUR L'IMAGE < DE DEPART. LXI 0 < INDEX OCTET DE L'IMAGE. E11: EQU $ LBI 2 BSR ATRANS < TRANSFORMATION EVENTUELLE. LBY2: LBY &AIMAG0 < A=UNITE DE DEPART. BSR AMAJL < INSERTION OCTET DE DEPART < COURANT. CPZ FOIS JE E750 < CAS DE LA 1ERE EXPLORATION < DE L'IMAGE DE DEPART, IL < FAUT LA FAIRE EN ENTIER. IC ND < AFIN DE COMPTABILISER CORRECTE- < MENT LE NBRE DE POINTS A < INTERPOLER. LA NDE < CAS DES EXPLORATIONS SUIVANTES, CP NAR < ON S'ARRETE LORSQUE LES 'N' < EXPLORATIONS DE L'IMAGE DE DEPART < ONT DONNE AUTANT DE POINTS QU'EN JE E19 < CONTIENT L'IMAGE D'ARRIVEE. < A T T E N T I O N : LORSQUE < L'IMAGE DE DEPART A PLUS DE < POINTS QUE L'IMAGE D'ARRIVEE, < CETTE DERNIERE N'EST PAS < REEXPLOREE... E750: EQU $ E13: EQU $ ADRI 1,X < OCTET SUIVANT. LR X,A CP ALIMA2 < VALIDATION NDEX OCTET. JL E11 < IMAGE NON TERMINEE. < < ON A ATTEINT LA FIN DE L'IMAGE DE DEPART : < E122: EQU $ LA NDE STA ND < NBRE DE POINTS BLANCS TROUVES. CPZ FOIS < EST-CE LA 1ERE FOIS ??? JG E21 < NON. STA SNDE < CAS DE LA 1ERE FOIS EN VIDEO < (FOIS=0) OU GRAPHIQUE (FOIS=-1) ., < ON SAVE LE NBRE DE POINTS REEL < DE L'IMAGE DE DEPART. E21: EQU $ CP NAR JGE E19 < L'IMAGE DE DEPART A AU MOINS < AUTANT DE POINTS QUE L'IMAGE < D'ARRIVEE. CPZ NDE < L'IMAGE DE DEPART EST-ELLE VIDE??? JNE E120 < NON, ALORS ON VA LA REEXPLORER... < < CAS OU L'IMAGE DE DEPART A MOINS DE POINTS QUE L'IMAGE D'ARRIVEE : < E751: EQU $ LX IBUF < X=INDEX COURANT BUFFER SGF. LAI 0 STBY4: STBY &ABUF < MISE EN PLACE UNITE DE DEPART < NUL. ADRI 2,X < PROGRESSION INDEX BUFFER. IC ND < COMPTAGE DES POINTS DE L'IMAGE < DE DEPART, PLUS CEUX QUE L'ON < RAJOUTE A L'ORIGINE. BSR AWR < LECTURE/ECRITURE SGF. LA ND < A=NBRE DE POINTS COURANT DEPART. JMP E21 < ET ON RECOMMENCE. < < FIN DE L'IMAGE DE DEPART : < E19: EQU $ CPZ IBUF < UN BUFFER INCOMPLET EST-IL < EN COURS DE REMPLISSAGE ??? JE E22 < NON, C'EST FINI. LAD SGFW SVC 0 < OUI, ECRITURE ENREGISTREMENT < COURNAT SUR '0A. < < OPERATIONS SGF : < E22: EQU $ DC SGFC < MISE DU CLOSE EN RELEASE '06. LAD SGFC SVC 0 < CLOSE-RELEASE SUR '0B. LAI '0A STBY SGFC IC SGFC < REMISE DU CLOSE EN SAVE '07. LAD SGFC SVC 0 < CLOSE-SAVE SUR '0A. < < ETAT DES DEMANDES SGF : < SGFC : CLOSE-SAVE SUR '0A (7=SAVE , 6=RELEASE). < SGFW : ECRITURE SUR '0A. < SGFR : LECTURE-DELETE SUR '0B. < SGFO1 : OPEN-NEW SUR '0A (4=NEW , 5=OLD). < < < EDITION DU NBRE DE POINTS DE DEPART : < E700: EQU $ LA AMND BSR APRINT LB SNDE BSR ADISP < CONVERSION HEXA. LAD BDISP BSR APRINT < < EDITION DU NBRE DE POINTS D'ARRIVEE : < LA AMNA BSR APRINT LB NAR BSR ADISP < CONVERSION HEXA. LAD BDISP BSR APRINT < < LAISSONS LE TEMPS DE LIRE (A CAUSE DE L'ERASE A SUIVRE) : < BSR APAUS < ET ENCORE UNE TITE PAUSE... < < < I N T E R P O L A T I O N : < < E410: EQU $ IC CONS < AFIN DE NE PAS FAIRE TROP DE DC. E30: EQU $ DC CONS < DECOMPTE DES ITERATIONS A FAIRE. JLE E250 < C'EST FINI : RETOUR A 'GE'. LA ND JANE E70 < OK , NBRE DE POINTS#0 ... E250: EQU $ BR AGOGE < ON ARRETE LA SI ND=0. E70: EQU $ STA NC < INITIALISATION DU DECOMPTEUR DE < POINTS A INTERPOLER. IC SGFO1 < OPEN-OLD. LA NVP1 STBY SGFO1 < MISE EN PLACE NVP OPEN-OLD. LAD SGFO1 SVC 0 < OPEN OLD SUR '0A PAR EXEMPLE. DC SGFO1 < OPEN-NEW. LA NVP1 STBY SGFR < POUR LECTURE SUR '0A PAR EXEMPLE. IBT 15 < CHANGEMENT DE NVP. STBY SGFO1 < POUR OPEN NEW SUR '0B PAR EXEMPLE STBY SGFW < POUR ECRITURE SUR '0B PAR EXEMPLE LAD SGFO1 SVC 0 < OPEN NEW SUR '0B PAR EXEMPLE. STZ IBUF < REINIT INDEX BUFFER. LAD SGFR SVC 0 < LECTURE DU 1ER ENREGISTREMENT < SUR '0A PAR EXEMPLE. < < RAZ DE L'IMAGE VIDEO COURANTE : < E160: EQU $ LX ALIMAG < X=NRE DE MOTS A RAZER. E38: EQU $ STZ &AIMAG < RAZ MOT PAR MOT. JDX E38 < AU PRECEDENT. STZ XIMAG < INITIALISATION INDEX IMAGE. < < INTERPOLATION DE L'2MAGE DE DEPART COURANTE : < E31: EQU $ LX IBUF < X=INDEX COURANT BUFFER SGF. LBY3: LBY &ABUF LR A,Y < Y=DEPART. LR A,B < B=DEPART. ADRI 1,X LBY4: LBY &ABUF < A=ARRIVEE. SBR B,A < A=ARRIVEE-DEPART. CPZ MODE JNE MODM < MODE MOT. SARD 16 < EXTENSION 32 BITS. JMP MODO MODM: EQU $ SLRD 16 < DANS LE CAS DES MOTS, ON FAIT < UN DECALAGE LOGIQUE POUR < ELIMINER DES PROBLEMES < APPARUS DANS LES PASSAGES < 'FFFF --> '0000. MODO: EQU $ DV CONS < A=(ARRIVEE-DEPART)/CONS. ADR Y,A < A=DEPART+(ARRIVEE-DEPART)/CONS. ADRI -1,X < RETOUR SUR LE DEPART. STBY5: STBY &ABUF < CHANGEMENT UNITE DE DEPART. PSR X LX XIMAG < X=INDEX COURANT IMAGE, IC XIMAG < ET PROGRESSION. STBY6: STBY &AIMAG0 < GENERATION IMAGE COURANTE. PLR A < A=INDEX COURANT BUFFER. ADRI 2,A < ET PROGRESSION. CP MAXBUF < ET VALIDATION. JL E33 < OK. LAD SGFW < ECRITURE DE L'ENREGISTREMENT < COURANT SUR '0B PAR EXEMPLE. SVC 0 LAD SGFR SVC 0 < LECTURE DE L'ENREGISTREMENT < SUIVANT SUR '0A PAR EXEMPLE. LAI 0 < REINIT INDEX BUFFER. E33: EQU $ STA IBUF < MAJ IBUF. DC NC < DECOMPTAGE DES POINTS A < INTERPOLER. JG E31 < IL Y EN A ENCORE ... < < CAS OU LA FIN DE LISTE EST RENCONTREE : < E32: EQU $ CPZ IBUF < Y-A-T'IL UN BUFFER EN COURS < DE REMPLISSAGE ??? JE E34 < NON , RIEN A FAIRE ... LAD SGFW < OUI , SVC 0 < ECRITURE DU DERNIER ENREGIS- < TREMENT SUR '0B PAR EXEMPLE. E34: EQU $ LA NVP1 STBY SGFC DC SGFC < CLOSE RELEASE. LAD SGFC SVC 0 < CLOSE RELEASE '0A PAR EXEMPLE. IC SGFC < CLOSE SAVE. LA NVP1 IBT 15 STA NVP1 < PERMUTATION DES NVP SGF. STBY SGFC LAD SGFC SVC 0 < CLOSE SAVE '0B PAR EXEMPLE. E80: EQU $ BSR AVIS < STABILISATION EVENTUELLE IMAG. CPZ PAS < TEST DU MODE D'INTERPOLATION. JNE EE30 < MODE CONTINU : ON REBOUCLE.... E220: EQU $ E140: EQU $ LAD MSAVE BSR AENTER < CAS DU MODE PAS A PAS , FAUT- < IL SAUVER L'IMAGE COURANTE ??? JNE EE30 < NON , ALORS ON CONTINUE. LAI -3 STA &ALONG < L'IMAGE RECOIT LE TYPE 'VIDEO'. LAD MNOM BSR AGOSGN < OUI , ALORS ON LUI DONNE UN < NOM , ET ON LA STORE. EE30: BR AE30 < BOUCLE D'INTERPOLATION. PAGE < < < I M P L A N T A T I O N : < < X12: EQU ZERO+PILE-LTNI-LTNI X10: VAL X12-$ ZEROV: EQU ZERO+X10 < ERREUR D'ASSEMBLAGE SI MAUVAISE < IMPLANTATION !!! DZS X10+1 < HYGIENE ... EOT #SIP GEN PROCESSEUR#