NMPROC: VAL "SE" < NOM DU PROCESSEUR. IDP "SE - RELEASE 01/06/1979" IDP "JOHN F. COLONNA" EOT #SIP DEF PROCESSEUR# PROG WORD SERVI < ADDRESSE DE DEPART DU PROCESSEUR. WORD 0 < $<--($)+1. PSERV: EQU $ < PSERV='12. LRP L BR -2,L < ENTREE DANS LE PROCESSEUR. EOT #SIP DEFINITION ITEM# < < < C O R P S I T E M S D E S E R V I C E : < < XNOM: VAL '3D < DEPLACEMENT DANS L'EN-TETE < D'UN ITEM VERS SON NOM SERASE: VAL 0 < SERASE=0 : EFFACER L'ECRAN , < #0 : NE PAS EFFACER L'ECRAN. SDUREE: VAL 1 < DUREE EN SECONDES DES PAUSES. SDUREA: VAL 2 < DUREE EN MINUTES ET EN ASCI < DES PAUSES. SDEBS: VAL 1 < ADRESSE DE DEBUT DE SEQUENCE < VIDEO. < SI SDEBS<0 : PAS DE POSITION- < NEMENT DE DEBUT DE SEQUENCE. SFINS: VAL 2 < ADRESSE DE FIN DE SEQUENCE < VIDEO. SMOVE: VAL 3 < QUE FAIRE ??? LES BITS SUIVANTS < INDIQUENT CE QU'IL FAUT FAIRE < VAEC CET ITEM ; SI SMOVE=0 , < IL S'AGIT D'UN 'SURCH & PLAY'. SPLAY: VAL 0 < PLAY EN CONTINU (SMOVE<0). SURCH: VAL 1 < POSITIONNEMENT PUIS STOP. SARRET: VAL 2 < STOP MAGNETOSCOPE. LIC: VAL 2 < LONGUEUR CORPS ITEMS 'C'/'E' , < EN OCTETS. LIW: VAL 6 < LONGUEUR DU CORPS DES ITEMS < 'W' , EN OCTETS. LIS: VAL 8 < LONGUEUR EN OCTETS D'UN < ITEM DE TYPE 'S'. PAGE < < < L O C A L : < < LOCAL LOCSE LOC: EQU $ < < B U F F E R S : < BUFFER: DZS 2 MERASE: BYTE 13;'6D ASCI "EFFACEMENT?" MDUR: BYTE 12;'6D ASCI "DUREE (MN)> " MTYPE: BYTE 6;'6D ASCI "TYPE> " MERR: BYTE 5;'6D ASCI "!ERR" MNAT: BYTE 12;'6D ASCI "TYPE-PAUSE> " MPLAY: BYTE 17;'6D ASCI "PLAY EN CONTINU?" MSURCH: BYTE 16;'6D ASCI "POSITIONNEMENT? " MSTOP: BYTE 6;'6D ASCI "STOP? " MSP: BYTE 15;'6D ASCI "SEARCH & PLAY?" MPC: BYTE 19;'6D ASCI "POSITION COURANTE?" MSEQ: BYTE 18;'6D ASCI "ADRESSE SEQUENCE: " MDEB: BYTE 7;'6D ASCI "DEBUT>" MFIN: BYTE 5;'6D ASCI "FIN>" NIT: BYTE 20;'6D ASCI "PAS D'ITEM COURANT! " NITEM: BYTE 6;'6D ASCI "ITEM> " NEFFAC: BYTE 22;'6D ASCI "PUIS EFFACEMENT ECRAN " NPAUS: BYTE 6;'6D ASCI "PAUSE " NASYNC: BYTE 11;" " ASCI "ASYNCHRONE" NDURE: BYTE 11;" " ASCI "XY MINUTES" SEQ0: BYTE 16;'6D ASCI "PLAY EN CONTINU " SEQ1: BYTE 19;'6D ASCI "POSITIONNEMENT EN " SEQ2: BYTE 6;'6D ASCI "ARRET " SEQ4: BYTE 14;'6D ASCI "DIFFUSION DE " SEQ5: BYTE 3;" " ASCI "A " SEQ6: BYTE 20;"L" ASCI "A POSITION COURANTE " MDESS: BYTE 2;'6D ASCI "G " MFILMD: BYTE 2;'6D ASCI "S " MDESSP: BYTE 1;0 < < C O N S T A N T E S : < C10: WORD 10 < POUR CONVERSION BASE 10. C60: WORD 60 < POUR LES CONVERSIONS DE < MINUTES EN SECONDES. NCP: WORD NBCAR*NBLIG < LONGUEUR MAX D'UN ITEM. NGE: ASCI "GE" < POUR NOMMER 'GE'. NPH: ASCI "PH" < NOM DE LA BRANCHE 'PH'. TYPI: WORD 0 < TYPE DE L'ITEM1. < < R E L A I D E S T A B L E S : < AIC: WORD ZERO+PILE-LTNI+LTN,X < RELIA VERS L'ITEM COURANT (ITEM1) ATYP: WORD TYP,X < GENERATION SPECIFIQUE DES ITEMS. ATNOM: WORD TNOM,X < TABLE DES NOMS DES TYPES ITEMS. ATEDIT: WORD TEDIT,X < TABLE DE RELAIS VERS LES < MODULES D'EDITIONS SPECIFIQUES < DES TYPES D'ITEMS. ATSEQ: WORD TSEQ,X TSEQ: EQU $ WORD SEQ0 < 0 : PLAY EN CONTINU. WORD SEQ1 < 1 : POSITIONNEMENT. WORD SEQ2 < 2 : STOP. ABUFS: WORD BUFS+2,X BUFS: ASCI " XYZ.T " ABUF: WORD BUFFER,X < RELAI VERS LE BUFFER. APILE: WORD PILE-1 < POUR INITIALISER K. < < R E L A I D E S R O U T I N E S : < AOVL: WORD OVL < CHARGEMENT DES OVERLAYS. APRINT: WORD PRINT < ENVOI D'UN MESSAGE. AST: WORD ST < ROUTINE DE STORE TYPE ITEM. ACONV: WORD CONV < ROUTINE DE CONVERSION BASE 10. ACONVH: WORD CONVH < CONVERSION BASE 16. ACONVB: WORD CONVB < CONVERSION ASCI-->BCD. AEDITS: WORD EDITS < EDITION D'UNE ADRESSE SUR < BANDE MAGNETOSCOPE. AGETS: WORD GETS < ROUTINE DEMANDANT CE QU'2L < FAUT FAIRE D'UN ITEM VIDEO. ADEBS: WORD DEBS < RECUPERATION @DEBUT SEQUENCE. GOGE: WORD E13 < RETOUR A !GE. AERR: WORD ERREUR < ENVOI MESSAGE ERREUR. ERASE: WORD E100 < DEMANDE EFFACEMENT ECRAN ??? < < D E M A N D E S A C M S 4 : < DEMOUT: WORD '0202 < ENVOI MESSAGE VERS LA VISU. WORD 0 < @OCTET DU BUFFER. WORD 0 < LONGUEUR OCTET DU MESSAGE. DEMIN: WORD '0101 < ENTREE VISU AVEC ECHO. WORD BUFFER-ZERO*2 WORD 0 < COMPTE D'OCTETS VARIABLE. DEMSGN: WORD '0402 < DEMANDE AU SGN INITIALISEE < EN STORE AFIN DE GENERER < LA BRANCHE 'SE '. WORD BRANCH-ZERO*2 WORD ZERO-BRANCH+PILE-LTNI-LTNI*2 WORD -1 < LA VALEUR SUIT LE NOM. DEMCCI: WORD '0001 < RETOUR AU CCI. NOMSEG: WORD '0000 DELSEG: WORD '000A < DEMANDE DE RAZ DU MOT0(ZDC). WORD NOMSEG-ZERO*2 WORD 2 WORD 'C000 PAGE < < < T A B L E D E S T Y P E S D ' I T E M S : < < TYP: EQU $-'41 WORD ERREUR < A WORD ERREUR < B WORD E12 < C : ITEM 'RETOUR A CCI'. WORD DESSIN < D : NOM DU PROCESSEUR GRAPHIQUE. WORD E102 < E : EFFACEMENT ECRAN. WORD E13 < F : SORTIE DE 'SE' VERS !GE. WORD IRGE < G : ITEM 'RETOUR A !GE'. WORD ERREUR < H WORD FILMD < I : FILM DIGITAL. WORD ERREUR < J WORD ERREUR < K WORD ERREUR < L WORD E110 < M : QUESTION A CHOIX MULTIPLE. WORD ERREUR < N WORD ERREUR < O WORD ERREUR < P WORD ERREUR < Q WORD E800 < R: REPONSE. WORD E130 < S : SEQUENCE VIDEO. WORD ERREUR < T WORD ERREUR < U WORD VIDE < V : TYPE 'VIDE'. WORD E11 < W : ITEM 'PAUSE'. WORD ERREUR < X WORD ERREUR < Y WORD ERREUR < Z PAGE < < < N O M S D E S T Y P E S : < < NTCCI: BYTE 15;'6D ASCI "C : RETOUR CCI" NTDESS: BYTE 11;'6D ASCI "D : DESSIN" NTERAS: BYTE 15;'6D ASCI "E : EFFACEMENT" NTGE: BYTE 18;'6D ASCI "G : FIN DE GRAPHE " NTQCM: BYTE 8;'6D ASCI "M : QCM " NTPROG: BYTE 14;'6D ASCI "P : PROGRAMME " NTREP: BYTE 12;'6D ASCI "R : REPONSE " NTSEQ: BYTE 27;'6D ASCI "S : SEQUENCE AUDIOVISUELLE" NTFILM: BYTE 17;'6D ASCI "I : FILM DIGITAL" NTEXT: BYTE 10;'6D ASCI "T : TEXTE " NTVIDE: BYTE 9;'6D ASCI "V : VIDE" NTPAUS: BYTE 10;'6D ASCI "W : PAUSE " < < < T A B L E D E S N O M S D E S T Y P E S D ' I T E M S < < TNOM: EQU $-'41 WORD 0 < A. WORD 0 < B. WORD NTCCI < C : RETOUR AU CCI. WORD NTDESS < D : DESSIN. WORD NTERAS < E : EFFACEMENT DE L'ECRAN. WORD 0 < F. WORD NTGE < G: FIN DE GRAPHE (RETOUR 'GE'). WORD 0 < H. WORD NTFILM < I : FILM DIGITAL. WORD 0 < J. WORD 0 < K. WORD 0 < L. WORD NTQCM < M : QCM. WORD 0 < N. WORD 0 < O. WORD NTPROG < P : EXECUTION D'1N PROGRAMME. WORD 0 < Q. WORD NTREP < R : REPONSE. WORD NTSEQ < S : SEQUENCE AUDIO-VISUELLE. WORD NTEXT < T : EDITION D'UN TEXTE. WORD 0 < U. WORD NTVIDE < V : ITEM VIDE. WORD NTPAUS < P : PAUSE. WORD 0 < X. WORD 0 < Y. WORD 0 < Z. PAGE < < < R O U T I N E S D ' E D I T I O N : < < TEDIT: EQU $-'41 WORD 0 < A. WORD 0 < B. WORD ETCCI < C : RETOUR AU CCI. WORD ETDESS < D : DESSIN. WORD ETERAS < E : EFFACEMENT DE L'ECRAN. WORD 0 < F. WORD ETGE < G : RETOUR A 'GE'. WORD 0 < H. WORD ETFILM < I : FILM DIGITAL. WORD 0 < J. WORD 0 < K. WORD 0 < L. WORD ETQCM < M : QCM. WORD 0 < N. WORD 0 < O. WORD ETPROG < P : EXECUTION D'1N PROGRAMME. WORD 0 < Q. WORD ETREP < R : REPONSE. WORD ETSEQ < S : SEQUENCE AUDIO-VISUELLE. WORD ETEXT < T : EDITION D'1N TEXTE. WORD 0 < U. WORD ETVIDE < V : ITEM VIDE. WORD ETPAUS < W : PAUSE. WORD 0 < X. WORD 0 < Y. WORD 0 < Z. PAGE < < < E N V O I D ' U N M E S S A G E : < < < ARGUMENT : < A=@MOT DU MESSAGE , < OCTET0(MESSAGE)=LONGUEUR DU MESSAGE. < < < DETRUIT C. < < PROG PRINT: EQU $ LR A,C < C=@MOT DU MESSAGE. ADR A,A ADRI 1,A < A=@OCTET DU MESSAGE. STA DEMOUT+1 < MISE EN PLACE DE L'@OCTET DU < BUFFER DANS DEMOUT. LBY 0,C < A=LONGUEUR DU MESSAGE. STA DEMOUT+2 < MISE EN PLACE DU COMPTE < D'OCTETS DANS DEMOUT. LAD DEMOUT SVC 0 < ENVOI DU MESSAGE A CMS4. RSR < LES CONDITIONS DE RETOUR < SONT IGNOREES. PAGE < < < I N I T I A L I S A T I O N I T E M : < < < FONCTION : < CETTE ROUTINE MET EN PLACE LE < TYPE DEMANDE POUR L'ITEM COURANT < (ITEM1) , ET POSITIONNE LA LONGUEUR < REELLE EN OCTETS DU CORPS DE L'ITEM. < < < ARGUMENT : < A=TYPE (CARACTERE ASCI) , < Y=LONGUEUR EN OCTETS DU CORPS DE L'ITEM. < < ST: EQU $ LXI IINDIC-LTN*2 STBY &AIC < MISE EN PLACE DU TYPE-ITEM. LXI LRITEM-LTN STY &AIC < MISE EN PLACE DE LA LONGUEUR < EN OCTETS DU CORPS DE L'ITEM. RSR < RETOUR ... PAGE < < < C O N V E R S I O N D E C I M A L E : < < < ARGUMENT : < Y=VALEUR COURANTE DU NBRE CALCULE , < A=CHIFFRE PRESUME SUIVANT DU NBRE. < < < RESULTAT : < Y<--(Y)*10+(A). < A=0 : OK , LE CARACTERE CONVERTI ETAIT UN CHIFFRE , < #0 : ERREUR DE CARACTERE. < < CONV: EQU $ ADRI -'30,A < CONVERSION BINAIRE DU CHIFFRE. JAL E30 < ERREUR CE N'EST PAS UN CHIFFRE. < (A<0#0). CPI 9 < VALIDATION BASE 10. JG E30 < ERREUR , CE N'EST PAS UN CHIFFRE < DECIMAL (A#0). XR A,Y < RECUPERATION DE L'ANCIEN CUMUL. MP C10 < MULTIPLICATION PAR 10 DE < L'ANCIEN CUMUL. < ON A ICI : < B=NOUVEAU CUMUL , < A=0 (RETOUR OK). ADR B,Y < CALCUL DE LA NOUVELLE VALEUR < DU NBRE , EN AJOUTANT AU < NOUVEAU CUMUL , LE CHIIFRE QUE < L'ON VIENT DE CONVERTIR. < < SORTIE DE LA ROUTINE : < E30: EQU $ RSR < RETOUR AVEC (A). PAGE < < < C O N V E R S I O N H E X A D E C I M A L E : < < < ARGUMENT : < BUFFER CONTIENT LA CHAINE A CONVERTIR. < Y=NBRE DE CHIFFRES A CONVERTIR. < < < RESULTAT : < A=0 : B=NBRE HEXADECIMAL , < #0 : ERREUR DE SYNTAXE. < < CONVH: EQU $ LXI 0 < INTIALISATION DE L'INDEX D'ACCES < AU BUFFER. LBI 0 < INITIALISATION DU NBRE HEXA. < < BOUCLE DE RECUPERATION DES CHIFFRES : < E123: EQU $ LBY &ABUF < ACCES A UN CARACTERE ASCI. CPI '0D < TEST DE FIN (EOT , R/C ,...) JLE E120 < FIN OK. ADRI -'30,A < TRANSLATION PAR RAPPORT < AU CODE DU ZERO. JAL E121 < ERREUR DE SYNTAXE. CPI 9 < EST-CE UN CHIFFRE ??? JLE E122 < OUI , OK. ADRI -'41+'39+1,A < TRANSLATION PAR RAPPORT A 'A'. CPI 'A < VALIDATION CHIFFRE HEXA. JL E121 < ERREUR DE SYNTAXE. CPI 'F JG E121 < ERREUR DE SYNTAXE. E122: EQU $ SCRS 4 < MISE DES 4 BITS EN TETE DE A. SCLD 4 < ET CONCATENATION DERRIERE B. ADRI 1,X < PROGRESSION DE L'INDEX. CPR X,Y < TEST DE FIN ???? JNE E123 < CE N'EST PAS ENCORE FINI. < < SORTIE OK DE LA ROUTINE : < E120: EQU $ LAI 0 < RETOUR OK (A=0). < < SORTIE : < E121: EQU $ RSR < RETOUR AVEC (A). PAGE < < < C O N V E R S I O N B C D : < < < ARGUMENT : < BUFFER CONTIENT LA CHAINE A CONVERTIR , < Y=NBRE DE CHIFFRES ATTENDUS. < < < RESULTAT : < A=0 : BITS2-5(B)=1ER CHIFFRE , < BITS6-9(B)=2EME CHIFFRE , < BITS10-13(B)=3EME CHIFFRE , < BITS14-15(B)=4EME CHIFFRE. < #0 : ERREUR DE SYNTAXE. < < CONVB: EQU $ LXI 0 < INITIALISATION INDEX BUFFER. LBI 0 < INITIALISATION DU RESULTAT. < < BOUCLE DE RECUPERATION DES CHIFFRES : < E200: EQU $ LBY &ABUF < ACCES A UN CARACTERE ASCI. CPI '0D < TEST DE FIN DE MESSAGE. JLE E202 < OK , FIN DU NBRE. ADRI -'30,A < SINON TRANSLATION ASCI. JAL E201 < ERREUR. CPI 9 JG E201 < ERREUR. SCRS 4 < CADRAGE A GAUCHE DANS A. SCLD 4 < CUMUL AU RESULTAT PARTIEL (B). ADRI 1,X < PROGRESSION DE L'INDEX. CPR X,Y < TEST DE FIN ??? JNE E200 < NON , AU CHIFFRE SUIVANT. < < FIN D'UN NOMBRE : < E202: EQU $ LAI 'F < MASQUE DE RECUPERATION. ANDR B,A < A=DERNIER CHIFFRE RECUPERE. CPI 3 < CE DERNIER CHIFFRE NE PEUT < VARIER QU'ENTRE 0 ET 3. JG E201 < ERREUR. SLLS 2 SLRD 2 < CADRAGE CORRECT DU NBRE RESULTAT. ORR A,B < ON RESTAURE LE DERNIER CHIFFRE DU < NBRE MAIS DECALE DE 2 BITS. LAI 0 < RETOUR OK. < < SORTIE DE LA ROUTINE : < E201: EQU $ RSR PAGE < < < A D R E S S E D E B U T S E Q U E N C E : < < < RESULTAT : < IDENTIQUE A 'CONVB'. < < DEBS: EQU $ LYI 4 < Y=4=NBRE DE CARACTERES MAX. < D'UNE ADRESSE DE SEQUENCE. STY DEMIN+2 < POUR N'ENTER QUE 4 CARACTERES. LAD MSEQ BSR APRINT < < ACCES A L'ADRESSE DE DEBUT DE LA SEQUENCE : < LAD MDEB BSR APRINT LAD DEMIN SVC 0 < LECTURE DE L'ADRESSE DE DEBUT. BSR ACONVB < CONVERSION DE L'ADRESSE EN BCD. RSR PAGE < < < Q U E F A I R E D ' U N I T E M ' S ' ??? < < < ARGUMENT : < A=MESSAGE A EMETTRE. < X=INDEX D'UN BIT A POSITIONNER DANS LE < REGISTRE B S'IL FAUT FAIRE CE QUE < LE MESSAGE PROPOSE. < < < RESULTAT : < B=0 : IL NE FAUT PAS FAIRE CE QUI < EST PROPOSE , < #0 : C'EST BON , < DE PLUS LES INDICATEURS SONT POSITIONNES < PAR UN 'CPI "O"'. < < GETS: EQU $ SBT 16,X < A PRIORI , ON FAIT COMME SI < CE QUI EST PROPOSE ETAIT BON. LR A,Y < SAVE Y=@MESSAGE A EMETTRE. E300: EQU $ LR Y,A < RESTAURE A=@MESSAGE (CAS DES < ERREURS DE REPONSE). BSR APRINT < ENVOI DU MESSAGE. LAD DEMIN SVC 0 < LECTURE DE LA REPONSE. LBY BUFFER < RECUPERATION DE LA REPONSE < 1 CARACTERE). CPI "O" < OUI ??? JE E301 < OUI , B EST BON. CPI "N" < NON ???? JNE E300 < ERREUR DANS LA REPONSE. LBI 0 < DANS LE CAS D'UN 'NON' , ON < REINITIALISE B A 0 , CPI "O" < ET ON RE-POSITIONNE LES < INDICATEURS PAR RAPPORT A 'O'. E301: EQU $ RSR PAGE < < < C R E A T I O N I T E M ' S ' : < < < ITEM 'S' (SEQUENCE VIDEO) : < MOT0(CORPS)=EFFACEMENT ECRAN OUI(0)/NON(1). < MOT1(CORPS)>=0 : =ADRESSE DE DEBUT DE LA SEQUENCE , < (CODE POUR LE COUPLEUR MAGNETOSCOPES) < MOT1(CORPS)<0 : INDIQU'IL N'Y A PAS DE POSITIONNE- < MENT INITIAL A FAIRE ; SEULE LE < MOT2(CORPS) EST SIGNIFICATIF). < MOT2(CORPS)=ADRESSE DE FIN DE LA SEQUENCE. < (CODE POUR LE COUPLEUR MAGNETOSCOPES) < < E130: EQU $ < < MAJ EN-TETE DE L'ITEM COURANT : < LYI LIS < Y=LONGUEUR EN OCTET DU CORPS < D'UN ITEM DE TYPE 'S'. BSR AST < ON A : A='S'. < < NETTOYAGE DU CORPS : < LXI SDEBS STZ &AIC LXI SFINS STZ &AIC < < QUE FAIRE DE L'ITEM 'S' ??? < LBI 0 < B=0. LXI SPLAY LAD MPLAY BSR AGETS < PLAY ??? JE E302 < OUI , C'EST FINI. LXI SURCH LAD MSURCH BSR AGETS < POSITIONNEMENT ??? JE E304 < OUI , VERS LA RECUPERATION DE < L'ADRESSE DE DEBUT DE SEQUENCE. LXI SARRET LAD MSTOP BSR AGETS < STOP ??? JE E302 < OUI , C'EST FINI .... LXI 0 < INDEX FARFELU ... LAD MSP BSR AGETS < SURCH AND PLAY ??? JNE ERREUR < NON , ERREUR .... < < TRAITEMENT DES DEMANDES DE SURCH ANS PLAY : < LAD MPC BSR AGETS < DOIT-ON COMMENCER LE PLAY A < LA POSITION COURANTE DU < MAGNETOSCOPE ??? JNE E902 < NON , IL FAUT DONC DEMANDER < L'ADRESSE DE POSITIONNEMENT < (SDEBS). LBI 4 STB DEMIN+2 < POUR ENTER LES 4 CARACTERES < MAX DE L'ADRESSE DE FIN. LBI -1 < SI OUI , ON RENVOIE SDEBS<0. JMP E903 < VERS LA DEMANDE DE L'ADRESSE < DE FIN DE SEQUENCE. E902: EQU $ BSR ADEBS < RECUPERATION DE 6'ADRESSE DE < DEBUT DE SEQUENCE. JANE ERREUR < ERREUR DE SYNTAXE. E903: EQU $ PSR B < SAVE L'ADRESSE DE DEBUT. < OU -1 SI PAS DE POSITIONNEMENT. < < ACCES A L'ADRESSE DE FIN DE LA SEQUENCE : < LAD MFIN BSR APRINT LAD DEMIN SVC 0 < LECTURE DE L'ADRESSE DE FIN. BSR ACONVB < CONVERSION DE L'ADRESSE EN BCD. PLR Y < RESTAURE Y=ADRESSE DE DEBUT. JANE ERREUR < ERREUR DE SYNTAXE SUR L'ADRESSE < DE FIN. < ON A ICI : < Y=ADRESSE DE DEBUT DE LA SEQUENCE , < B=ADRESSE DE FIN DE LA SEQUENCE. CPR Y,B < VALIDATION DE L'ADRESSE DE < DEBUT PAR RAPPORT A L'ADRESSE < DE FIN. JLE ERREUR < ERREUR D'ORDRE. < < RANGEMENT DES ADRESSES DE DEBUT ET DE FIN SI OK : < LXI SDEBS STY &AIC < RANGEMENT ADRESSE DE DEBUT. LXI SFINS STB &AIC < RANGEMENT ADRESSE DE FIN. LBI 0 < B=0 POUR LES SURCH AND PLAY. E302: EQU $ < CAS DES AUTRES DEMANDES SUR 'S'. LXI SMOVE STB &AIC < RANGEMENT DE CE QUI EST < DEMANDE DANS L'ITEM COURANT. E305: EQU $ LAI 1 STA DEMIN+2 < MISE EN PLACE D'UN COMPTE < DE 1 CARACTERE. BR ERASE < VERS L'INTERROGATION SUR < L'EFFACEMENT. < < P O S I T I O N N E M E N T : < E304: EQU $ LXI SMOVE STB &AIC < MEMORISATION 'POSITIONNEMENT'. BSR ADEBS < RECUPERATION DE L'ADRESSE < DE POSITIONNEMENT. JANE ERREUR < ERREUR D'ENTREE. LXI SDEBS STB &AIC < L'ADRESSE DE POSITIONNEMENT EST < MEMORISEE EN @DEBUT. JMP E305 < VERS LA SORTIE ... PAGE < < P R O C E S S E U R D E S E R V I C E : < S U R I T E M 1 : < < < FONCTION : < CE PROCESSEUR PERMET DE CREER UN < CERATIN NOMBRE DE TYPE D'ITEMS , < TEL : LE RETOUR A CCI , LES < PAUSES , ... < < < NOTA : < L'ITEM GENERE EST L'ITEM1. < < < < < I N I T I A L I S A T I O N D U P R O C E S S E U R : < < < FONCTION : < CETTE ENTREE EST UTILISEE < LORS DES APPELS PAR !GE. < < WORD LOC+'80 < INITIALISATION DE LA BASE L. WORD BRANCH < INITIALISATION DE LA BASE W. SERVI: EQU $ LRP K ADRI -1,K PLR L,W < INITIALISATION DE L ET W. LB APILE LR B,K < INITIALISATION DE K. < < I N I T I A L I S A T I O N D E ' S E ' : < LAI 6 STBY DEMSGN < DEMSGN EST MISE EN MODE < 'LOAD SOUS :SYS'. LA NGE STA 0,W < 'GE' EST LA BRANCHE D'OVERLAY A < APPELER EN FIN D'EXECUTION. < (ON MET DONC SON NOM EN < TETE DE BRANCH). PAGE < < < C R E A T I O N I T E M S : < < < FONCTION : < CE PROCESSEUR RECUPERE LE TYPE < DESIRE PAR L'UTILISATEUR , ET < INITIALISE EN CONSEQUENCE L'ITEM < COURANT (ITEM1). < 0 : RAZ DU MOT0(ZDC), < ? : DEMANDE D'EDITION DE L'ITEM1. < V : REMISE A VIDE DE L'ITEM , < C : CREATION D'UN ITEM 'C' , < (ITEM DE RETOUR A CCI) < E : CREATION D'UN ITEM 'E' , < F : PERMET UN RETOUR A !GE , < G : CREATION D'UN ITEM 'G' , < M : CREATION D'UN ITEM 'M' , < R : REPONSE EN FRANCAIS LIBRE , < S : CREATION D'UN ITEM 'S' , < W : CREATION D'UN ITEM 'W' , LA < COMMANDE SUIVANTE PRECISANT LE < TYPE DE LA PAUSE DESIREE : < A : PAUSE ASYNCHRONE (DUREE INDETERMINEE) , < S : PAUSE DE DUREE DETERMINEE (DE 1 A 99 < MINUTES). < D : PERMET SI L'ITEM A DEJA LE TYPE 'D' DE < DEFINIR LE PROCESSEUR GRAPHIQUE QUI LUI < EST ASSOCIE (G2, G3, GR, GT, GW, GV) < I : PERMET SI L'ITEM A DEJA LE TYPE 'I' OU < 'T' DE DEFINIR LE PROCESSEUR 'SC' OU < 'SD' QUI DEVRA L'EXPLOITER. < < < NOTA : < L'EFFACEMENT DE L'ECRAN PEUT < ETRE OBTENU AVEC LES ITEMS 'W' ET 'C'. < < E10: EQU $ LAD MTYPE BSR APRINT < ENVOI D'UN MESSAGE D'INVITATION < A DONNER LE TYPE DESIRE. LAI 1 STA DEMIN+2 < ON VA LIRE 1 CARACTERE. LAD DEMIN SVC 0 < LECTURE DU TYPE DE L'ITEM. < < A N A L Y S E T Y P E : < < COMMANDES RECONNUES : < 0 : RAZ DU MOT0(ZDC), < ? : DEMANDE D'EDITION DU TYPE DE L'ITEM1. < V : REMISE A VIDE DE L'ITEM COURANT. < F : RETOUR A !GE , < E : CREATION D'UN ITEM D'EFFACEMENT-ECRAN ('E') , < G : CREATION D'UN ITEM 'RETOUR A !GE' , < M : QUESTION A CHOIX MULTIPLES. < R : REPONSE EN FRANCAIS LIBRE ('R') , < S : CREATION D'UN ITEM SEQUENCE-VIDEO ('S') , < W : CREATION D'UN ITEM-PAUSE ('W') , < C : CREATION D'UN ITEM-RETOUR-A-CCI ('C'). < D : DEFINITION DU PROCESSEUR GRAPHIQUE ASSOCIE. < I : DEFINITION DU PROCESSEUR ASSOCIE ('SC'/'SD'). < LXI IINDIC-LTN*2 LBY &AIC < (A)=TYPE DE L'ITEM COURANT, LR A,B < (B)=TYPE ANTERIEUR DE L'ITEM COURANT... LBY BUFFER < A=COMMANDE ENVOYEE. CPI "?" JE E700 < DEMANDE D'EDITION DU TYPE < DE L'ITEM COURANT (ITEM1). CPI "0" JE RAZDC < VERS LE RAZ DU MOT0(ZDC). CPI "F" < EST-CE LA SORTIE QUI EST DEMANDEE ??? JE E10X2 < OUI... XR A,B < (A)=TYPE ANTERIEUR, < (B)=TYPE DEMANDE... JAE E10X1 < N'EXISTE PAS, OK... MAIS EN FAIT CE < QUI VA SUIVRE NE SERT A RIEN... CPI "V" < EST-IL VIDE ??? JE E10X1 < OUI, OK... CPR A,B < NON, ALORS LE TYPE DEMANDE CORRESPOND-IL < AU TYPE ANTERIEUR ??? JNE ERREUR < NON, ALORS COMMANDE REFUSEE... E10X1: EQU $ XR A,B < RESTAURE : (A)=TYPE DEMANDE... E10X2: EQU $ CPI "A" < VALIDATION DU TYPE. JL ERREUR CPI "Z" < VALIDATION DU TYPE. JG ERREUR LR A,X < OK , X=TYPE DEMANDE POUR L'ITEM. BR &ATYP < BRANCHEMENT SPECIFIQUE. < < CAS DES COMMANDES NON RECONNUES : < ERREUR: EQU $ LAD MERR BSR APRINT < ENVOI D'UN MESSAGE D'ERREUR. JMP E10 < VERS UNE NOUVELLE INTERROGATION. < < < I T E M T Y P E ' R ' : < < < FONCTION : < CE MODULE NE FAIT QUE LANCER < L'OVERLAY D'ANALYSE SYNTAXIQUE ET < SEMANTIQUE D'1NE PHRASE FRANCAISE ... < ON TROUVE DANS L'ITEM2 LA REPONSE < ATTENDUE , ET AU RETOUR DE L'ANALYSE < SYNTACTICO-SEMANTIQUE , DANS L'ITEM1 < SA TRADUCTION SEMANTIQUE. < A NOTER QUE L'ITEM2 EST ECRASE < PAR LES PAGES DE DICTIONNAIRE !!! < < < NOTA : < ON MEMORISE L'APPEL PAR 'SE' EN < FIASANT : MODCAL=2. < < E800: EQU $ LAI 2 STA MODCAL,W < MEMORISATION 'APPEL PAR SE'. LA NPH STA 0,W < 'PH' REMPLACE 'GE'. < < R E T O U R A ! G E : < O U V E R S P H S I ' R ' : < E13: EQU $ LAD DEMSGN < A=@DEMSGN. BSR AOVL < VERS LE CHARGEMENT DE LA BRANCHE < D'OVERLAY 'GE '. < < RETOUR EN ERREUR : < E14: EQU $ LAD DEMCCI SVC 0 < RETOUR A CCI. JMP E14 < LE RETOUR A CCI EST DEFINITIF , < MAIS SI UN !GO EST EMIS. PAGE < < < R E M I S E A V I D E : < < VIDE: EQU $ LAI 0 < LE TYPE VIDE EST REPRESENTE < PAR '00 ET NON PAR 'V' !!!! LYI 0 < UN ITEM VIDE EST DE LONGUEUR < NULLE. BSR AST < MISE A JOUR DE L'EN-TETE < DE L'ITEM COURANT (ITEM1). JMP E13 < VERS LE RETOUR A 'GE'. PAGE < < < C R E A T I O N I T E M ' E ' : < < < ITEM 'E' (EFFACEMENT ECRAN) : < MOT0(CORPS)=0. < < E102: EQU $ < < MAJ DE L'EN-TETE DE L'ITEM COURANT (ITEM1) : < LYI LIC < Y=LONGUEUR EN OCTETS DU CORPS < DES ITEMS 'E'. < ON A ICI : < A='E'=TYPE DE L'ITEM. BSR AST < MAJ DE L'EN-TETE. LXI SERASE STZ &AIC < DEMANDE D'EFFACEMENT DE L'ECRAN. JMP E13 < VERS LE RETOUR A !GE. PAGE < < < C R E A T I O N I T E M ' C ' : < < < ITEM 'C' (RETOUR AU CCI) : < MOT0(CORPS)=EFFACEMENT ECRAN OUI(0)/NON(1). < < E12: EQU $ < < MAJ EN-TETE ITEM COURANT (ITEM1) : < LYI LIC < Y=LONGUEUR DU CORPS DES ITEMS < DE TYPE 'C'. < ON A ICI : < A='C'=TYPE DE L'ITEM. BSR AST < VERS LA MISE A JOUR DE L'EN- < TETE DE L'ITEM COURANT (ITEM1). JMP E100 < VERS LA DEMANDE D'EFFACEMENT < D'ECRAN APRES LE RETOUR DU CCI. PAGE < < < C R E A T I O N I T E M ' M ' : < < < ITEM 'M' (REPONSE A CHOIX MULTIPLE) : < MOT0(CORPS)=EFFACEMENT ECRAN OUI(0)/NON(1). < < E110: EQU E12 < LE TRAITEMENT EST IDENTIQUE < A CELUI DES ITEMS 'C'. PAGE < < < C R E A T I O N I T E M ' G ' : < < < ITEM 'G' (RETOUR A !GE) : < MOT0(CORPS)=EFFACEMENT ECRAN OUI(0)/NON(1). < < IRGE: EQU E12 < IDEM A 'C'. PAGE < < < C R E A T I O N I T E M ' W ' : < < < ITEM 'W' (PAUSE) : < MOT0(CORPS)=EFFACEMENT ECRAN OUI(0)/NON(1). < MOT1(CORPS)=DURREE EN SECONDES SI 'S' , < =0 SI 'A' , < MOT2(CORPS)=DUREE-MINUTES EN ASCI SI 'S'. < < E11: EQU $ < < MAJ EN-TETE ITEM COURANT (ITEM1) : < LYI LIW < Y=LONGUEUR DU CORPS DES ITEMS < DE TYPE 'W'. < ON A ICI : < A='W'. BSR AST < MISE A JOUR DE L'EN-TETE DE < L'ITEM COURANT (ITEM1). < < NATURE DE LA PAUSE DESIREE : < E22: EQU $ LAD MNAT BSR APRINT < ENVOI D'1N MESSAGE D'INVITATION. LAD DEMIN SVC 0 < LECTURE SUR 1 CARACTERE DU < TYPE DE LA PAUSE : < A : PAUSE ASYNCHRONE (DE DUREE < INDETERMINEE) , < S : PAUSE SYNCHRONE (DE DUREE < CONNUE). < < ANALYSE DU TYPE DE LA PAUSE : < LBY BUFFER < A=TYPE DE LA PAUSE. CPI "S" JE E20 < DEMANDE D'UNE PAUSE SYNCHRONE. CPI "A" JE E21 < DEMANDE D'UNE PAUSE ASYNCHRONE. < < CAS DES ERREURS DANS LA < DETERMINATION DES PAUSES : < E31: EQU $ LAD MERR BSR APRINT < ENVOI D'UN MMESSAGE D'ERREUR. JMP E22 < ON RECOMMENCE TOUT , DEPUIS < LA DEMANDE DU TYPE DE LA PAUSE. < < P A U S E S A S Y N C H R O N E S : < E21: EQU $ LXI SDUREE STZ &AIC < POUR UNE PAUSE SYNCHRONE , < ON SDUREE=0. JMP E100 < VERS LA DEMANDE D'EFFACEMENT < DE L'ECRAN APRES LA PAUSE. < < P A U S E S S Y N C H R O N E S : < E20: EQU $ LAD MDUR BSR APRINT < ENVOI D'UN MESSAGE DE DEMANDE < DE LA DUREE DESIREE POUR LA PAUSE IC DEMIN+2 < LE COMPTE D'OCTETS DE DEMIN < EST MIS A 2 , AFIN DE LIRE < 2 CHIFFRES. LAD DEMIN SVC 0 < LECTURE DE LA DUREE. DC DEMIN+2 < LE COMPTE D'OCTETS DE DEMIN < EST REMIS A 1 , AU CAS OU UNE < ERREU APPARITRAIT. < < CALCUL DE LA DUREE : < LYI 0 < VALEUR INITIALE DU CUMUL. LBY BUFFER < ACCES AU 2EME CHIFFRE PRESUMEE. BSR ACONV < CONVERSION BASE 10. JANE E31 < ERREUR DE SYNTAXE. LA BUFFER ANDI '7F < A=2EME CHIFFRE PRESUME. CPI '04 < EST-CE UN 'EOT' ??? JE E101 < OUI , LE NBRE EST FINI. CPI '0D < EST-CE UN R/C ?? JE E101 < OUI , LE NBRE EST FINI. BSR ACONV < SINON , CONVERSION BASE 10. JANE E31 < ERREUR DE SYNTAXE. < < CAS OU DUREE DECIMALE A ETE ENVOYEE : < E24: EQU $ CPZR Y < VALIDATION DE LA DUREE. JLE E31 < DUREE INVALIDE REFUSEE. < < SAUVEGARDE DE LA DUREE EN ASCI : < LXI SDUREA LA BUFFER STA &AIC < SDUREA=DUREE EN MINUTES ET ASCI. < < CALCUL DE LA DUREE EN SECONDES : < LR Y,A < A=DUREE DEMANDEE EN MINUTES. MP C60 < B=DUREE DEMANDEE EN SECONDES. LXI SDUREE STB &AIC < SDUREE=DUREE EN SECONDES DE < LA PAUSE. < < E F F A C E M E N T D E L ' E C R A N : < E100: EQU $ LAD MERASE BSR APRINT < ENVOI D'UNE INTERROGATION DE < L'UTILISATEUR. LAD DEMIN SVC 0 < LECTURE DE SA REPONSE. LXI SERASE STZ &AIC < A PRIORI : EFFACEMENT (SERASE=0). < < ANALYSE DE LA REPONSE : < LBY BUFFER < A=CARACTERE REPONSE. CPI "O" JE E13 < C'EST OUI , OK : SERASE=0. CPI "N" JNE E100 < CAS DES REPONSES NON RECONNUES , < ON RECOMMENCE L'INTERROGATION. IC &AIC < CAS 'NON' : ON NE DEMANDE PAS < L'EFFACEMENT DE L'ECRAN : < SERASE=1#0. JMP E13 < VERS LE RETOUR A !GE. < < CAS DES DUREES SUR 1 CARACTERE : < E101: EQU $ LBY BUFFER STA BUFFER < ON MET AINSI UN NULL DEVANT < LE CARACTERE UNIQUE DE LA DUREEE. JMP E24 < VERS LE CALCUL DE LA DUREE EN < SECONDES. PAGE < < < R A Z D U M O T 0 ( Z D C ) : < < < FONCTION : < CE PETIT MODULE IMPLEMENTE DANS 'SE' < PARCEQUE JE NE SAVAIS PAS OU LE METTRE, < PERMET DE RAZER LE MOT0(ZDC), ET < DONC REINITIALISER LES CONDITIONS < D'ECHANGES DE SEGMENTS GRAPHIQUES < PAR 'GV', 'TA', ET 'VT'. < < RAZDC: EQU $ LAD DELSEG SVC 0 < RAZ DU MOT0(ZDC). BR GOGE < ET C'EST TOUT... PAGE < < < E D I T I O N D E L ' I T E M 1 : < < < FONCTION : < CE MODULE PERMET DE CONNAITRE LE < TYPE DE L'ITEM1 , ET SI CELUI-CI < N'EST PAS DE TYPE 'D'/'T'/'P' , < DONNE AUSSI SON CONTENU. < < E700: EQU $ < < VALIDATION DE L'ITEM1 : < LXI -2*LTN+7 LBY &AIC < ACCES A L'OCTET DISCRIMINANT < LES NOEUDS , LES ITEMS ET < LES PROCESSEURS. CPI "I"+'80 < EST-CE UN ITEM ??? JE E701 < OUI , ALLONS L'EDITER. < < CAS OU IL N'Y A PAS D'ITEM COURANT : < LAD NIT BSR APRINT < ENVOI D'UN MESSAGE SIGNALANT < CETTE ABSENCE. < < F I N D ' E D I T I O N : < ETREP: EQU $ < TYPE 'REPONSE FRANCAIS'. ETPROG: EQU $ < TYPE 'PROGRAMME '. ETEXT: EQU $ < TYPE 'TEXTE'. ETERAS: EQU $ < TYPE 'EFFACEMENT'. ETVIDE: EQU $ < TYPE 'VIDE'. ETFIN: EQU $ < SORTIE DE L'EDITION. JMP E13 < VERS LE RETOUR A 'GE'. < < R E C U P E R A T I O N D U T Y P E I T E M 1 : < E701: EQU $ LXI IINDIC-LTN*2 LBY &AIC < A=TYPE DE ITEM1. JANE E702 < ITEM1 N'EST PAS VIDE. LAI "V" < SI ITEM1 EST VIDE , IL < RECOIT LE TYPE 'V'. E702: EQU $ STA TYPI < SAVE TYPE(ITEM1) DANS TYPI. < < E D I T I O N < T Y P E > E T < N O M > : < LAD NITEM BSR APRINT < MESSAGE 'ITEM>'. LXI -2*LTN+3 LBY &AIC < ACCES A LA LONGUEUR CODEE < DU <NOM> DE ITEM DANS <NOMC>. ADRI -'30,A < A=LONGUEUR DE <NOM>. STA DEMOUT+2 < MISE EN PLACE DE LA LONGUEUR < MAX DU <NOM> D'UN ITEM < DANS DEMOUT. LA AIC SLLS 1 < A=@OCTET CORPS DE ITEM1. ADRI -LTN+XNOM*2,A < A=@OCTET DU <NOM> DE ITEM1. STA DEMOUT+1 < QUE L'ON MET DANS DEMOUT. LAD DEMOUT SVC 0 < EDITION DU <NOM> DE ITEM1. LX TYPI < X=TYPE DE ITEM1. LA &ATNOM < A=@DU NOM DU TYPE DE ITEM1. JAE $ < E R R E U R P R O G R A M M E. BSR APRINT < EDITION DU NOM DU TYPE DE ITEM1. LX TYPI < X=TYPE DE ITEM1. BR &ATEDIT < VERS L'EDITION SPECIFIQUE. < < T Y P E F I L M D I G I T A L : < ETFILM: EQU $ LAD MFILMD JMP ETXX1 < < T Y P E D E S S I N : < ETDESS: EQU $ < TYPE 'DESSIN'. LAD MDESS ETXX1: EQU $ LR A,B < B=ADRESSE DU MESSAGE A EDITER... LXI IINDIC-LTN*2+1 LBY &AIC < A=NOM DU PROCESSEUR ASSOCIE. JAE ETFIN < N'EXISTE PAS.... SBT 7 < OCTET0(A)=1 : LONGUEUR DU STA MDESSP < MESSAGE MDESSP. LR B,A < A=ADRESSE DU MESSAGE... BSR APRINT < ENVOI DE 'G', LAD MDESSP BSR APRINT < ENVOI DU NOM DU PROCESSEUR < GRAPHIQUE ASSOCIE... JMP ETFIN < ET C'EST TOUT... < < E F F A C E M E N T D E F I N D ' I T E M ??? < ETCCI: EQU $ < TYPE 'RETOUR AU CCI'. ETGE: EQU $ < TYPE 'FIN DE GRAPHE'. ETQCM: EQU $ < TYPE 'QCM'. EFFACE: EQU $ < TEST EFFACEMENT DE FIN D'ITEM. LXI SERASE CPZ &AIC < UN EFFACEMENT EST-IL DEMANDE < EN FIN DE DIFFUSION D'ITEM1 ??? JNE ETFIN < NON , L'EDITION EST TERMINEE. < < CAS OU UN EFFACEMENT EST DEMANDE (SERASE=0) : < LAD NEFFAC BSR APRINT < ENVOI D'1N MESSAGE INDIQUANT < QUE L'EFFACEMENT EST DEMANDE. JMP ETFIN < ET C'EST FINI. < < E D I T I O N D E S I T E M S D E ' P A U S E ' : < ETPAUS: EQU $ LAD NPAUS BSR APRINT < ENVOI DU MESSAGE 'PAUSE'. LXI SDUREE LA &AIC < RECUPERATION DU TYPE DE LA < PAUSE. JANE E710 < CAS DES PAUSES SYNCHRONES. < < CAS DES PAUSES ASYNCHRONES : < LAD NASYNC JMP E741 < VERS L'EDITION 'ASYNCHRONE'. < < CAS DES PAUSES SYNCHRONES : < E710: EQU $ LXI SDUREA LA &AIC < A=DUREE EN ASCI (ET MINUTES). STA NDURE+1 < QUE L'ON MET DANS LE MESSAGE. LAD NDURE E741: EQU $ < ENTRY 'ASYNCHRONE'. BSR APRINT < EDITION DE LA DUREE EN MINUTES < DE LA PAUSE. JMP EFFACE < VERS LE TEST D'EFFACEMENT. < < E D I T I O N D E S I T E M S V I D E O S : < ETSEQ: EQU $ LXI SMOVE LA &AIC < A=TYPE DE L'ACTION A ENTREPRENDRE < SUR LA SEQUENCE. JAE E715 < CAS DU SURCH AND PLAY. < < CAS DES AUTRES FONCTIONS : < DBT < X=FONCTION A REALISER (X=0,1,2). LA &ATSEQ < A=@MESSAGE INDIQUANT CE QU'IL < Y A A FAIRE DE CET ITEM. PSR X < SAVE LA FONCTION. BSR APRINT < EDITION DE LA FONCTION. PLR A < RESTAURE : A=FONCTION. CPI SURCH < EST-CE UN POSITIONNEMENT ??? JNE EFFACE < NON , VERS LE TEST D'EFFACEMENT. < < CAS DES DEMANDES DE POSITIONNEMNENT : < LXI SDEBS JMP E740 < VERS L'EDITION '@POSITIONNEMENT' < < TRAITEMENT DES SURCH AND PLAY : < E715: EQU $ LAD SEQ4 BSR APRINT < ENVOI D'1N MESSAGE 'SURCH & PLAY' LXI SDEBS LB &AIC < RECUPERATION DE L'ADRESSE DE < DEBUT DE LA SEQUENCE. BSR AEDITS < EDITION DE L'ADRESSE DE DEBUT. LAD SEQ5 BSR APRINT < ENVOI D'1N SEPARATEUR. LXI SFINS E740: EQU $ < ENTRY 'POSITIONNEMENT'. LB &AIC < RECUPERATION DE L'ADRESSE DE < FIN DE SEQUENCE. < (OU DE POSITIONNEMENT) BSR AEDITS < EDITION DE L'ADRESSE DE FIN. JMP EFFACE < VERS LE TEST D'EFFACEMENT. PAGE < < < E D I T I O N D ' U N E A D R E S S E < S U R B A N D E M A G N E T O : < < < ARGUMENT : < B=ADRESSE CODE BCD. < < EDITS: EQU $ CPZR B < EST-CE UN SEARCH & PLAY SANS < POSITIONNEMENT INITIAL ??? JL E900 < OUI , PAS D'ADRESSE A EDITER. LXI -3 SLLD 2 < CADRAGE INITIAL. < < BOUCLE DE CONVERSION DES 3 PREMIERS CHIFFRES : < E720: EQU $ LAI 0 < NETTOYAGE DE A. SLLD 4 < RECUPERATION A=1 CHIFFRE BCD. ADRI '30,A < CONVERSION ASCI. STBY &ABUFS < ET MISE DANS LE BUFFER D'EDITION. JIX E720 < AU SUIVANT ... LAI 0 < NETTOYAGE DE A. SLLD 2 < RECUPERATION DU DERNIER CHIFFRE. ADRI '30,A < CONVERSION ASCI. LXI 1 < INDEX DU DERNIER CHIFFRE. STBY &ABUFS < MISE DU DERNIER CHIFFRE < DANS LE BUFFER. LAI 5 STA DEMOUT+2 < RANGEMENT DE LA LONGUEUR. LA ABUFS SLLS 1 ADRI -3,A < A=@OCTET DU MESSAGE. STA DEMOUT+1 < QUE L'ON MET DANS DEMOUT. LAD DEMOUT SVC 0 < EDITION DE L'ADRESSE 'XYZ.T'. E901: EQU $ RSR < < CAS DES SEARCH & PLAY SANS POSITIONNEMENT INITIAL : < E900: EQU $ LAD SEQ6 BSR APRINT < ENVOI D'UN MESSAGE 'LA POSITION < COURANTE'. JMP E901 < ET C'EST TOUT .... PAGE < < < N O M D U P R O C E S S E U R A S S O C I E < A U N F I L M D I G I T A L : < < FILMD: EQU $ LXI IINDIC-LTN*2 LBY &AIC < A=TYPE DE L'ITEM : CPI "T" JE FILMD1 < 'TEXTE', OK... CPI "I" JE FILMD1 < 'FILM', OK... FILMD2: EQU $ BR AERR < ERREUR, TYPE NON RECONNU... FILMD1: EQU $ LAD MFILMD BSR APRINT LAD DEMIN SVC 0 LBY BUFFER < A=NOM DEMANDE, LBI 0 < VIDE A PRIORI... CPI '04 JE FILMD3 < VIDE... CPI '0D JE FILMD3 < VIDE... CPI "C" JE FILMD4 < 'SC'. CPI "D" JNE FILMD2 < CE N'EST PAS 'SD'... FILMD4: EQU $ LR A,B < B=NOM DU PROCESSEUR DEMANDE. FILMD3: EQU $ LXI IINDIC-LTN LA &AIC ANDI 'FF00 < CLEAR, ORR B,A < CONCATENATION, STA &AIC < ET RANGEMENT... BR GOGE < ET C'EST TOUT... PAGE < < < N O M D U P R O C E S S E U R G R A P H I Q U E : < < DESSIN: EQU $ LXI IINDIC-LTN*2 LBY &AIC < ACCES AU TYPE DE L'ITEM. ORI '10 < POUR ASSIMILER 'D' A 'T'. CPI "T" < EST-CE D OU T ??? JNE DESSER < NON, ERREUR !!! < < CAS DES ITEMS 'D' OU 'T' : < LAD MDESS BSR APRINT < ENVOI D'UNE INVITATION. LAD DEMIN SVC 0 < LECTURE DU NOM DEMANDE. LBY BUFFER < A=CARACTERE REPONSE. < < REPONSES RECONNUES : < EOT R/C REMISE A '00 DE OCTET1(IINDIC), < (G3 IMPLICITE) < 2 G2, < 3 G3, < R GR, < W GW < V GV, < T GT. < LBI 0 < B='00 CPI '04 JE DESS2 < RAZ DU NOM DU PROCESSEUR. CPI '0D JE DESS2 < RAZ DU NOM DU PROCESSEUR. CPI "2" JE DESS1 < G2 CPI "3" JE DESS1 < G3 CPI "R" JE DESS1 < GR CPI "W" JE DESS1 < GW CPI "V" JE DESS1 < GV CPI "T" JE DESS1 < GT CPI "5" JE DESS1 < G5 < < CAS DES ERREURS : < DESSER: EQU $ BR AERR < < MISE EN PLACE DU NOM DU PROCESSEUR GRAPHIQUE : < DESS1: EQU $ LR A,B < B=2EME LETTRE DU NOM, DESS2: EQU $ LXI IINDIC-LTN LA &AIC < A=IINDIC, ANDI 'FF00 < CLEAR L'OCTET1, ORR B,A < MISE EN PLACE DU NOM DEMANDE, STA &AIC < ET MAJ DE IINDIC... BR GOGE < ET C'EST TOT... PAGE < < < V A L I D A T I O N D E L ' I M P L A N T A T I O N : < < X12: EQU ZERO+PILE-LTNI-LTNI < @ITEM2. X10: VAL X12-$ < IL FAUT : X10>=0 !!! ZEROV: EQU ZERO+X10 < ERREUR D'ASSEMBLAGE SI MAUVAISE < IMPLANTATION. DZS X10+1 EOT #SIP GEN PROCESSEUR#