
                         * DISASSEMBLY BY DYNAMITE OF 1.VEGAS1.BIN
                         * 13/03/2016 BY FLD
                         * 
                         *******************************************************
                         * MONITEUR  VEGAS 6809  VERSION 3                     *
                         *******************************************************
                         * 
                         * TABLE MONITEUR
                         *
                         * EF80-EF87  RESERVES MONITEUR
                         * EF88       LECTEUR 0  D7-1 LECTEUR INSTALLE
                         *                       D1,D9 00 SAUT DE PISTE 6MS
                         *                             01   "  "   "   12MS
                         *                             10   "  "   "   20MS
                         *                             11   "  "   "   30MS
                         * EF89       LECTEUR 1 IDEM
                         * EF8A       LECTEUR 2 IDEM
                         * EF8B       LECTEUR 3 IDEM
                         * EF8C-EF8F  RESERVES MONITEUR
                         * EF90-EF3A  TABLE INIT. CRT
                         * EF4A       SCROLLING 0 OFF, 1 ON
                         * EFA5-EFA9  RESERVES MONITEUR
                         * EFAB       LIGNE COURANTE
                         * EFAC       CARACTERE COURANT
                         * EFAD-EFAE  TONALITE CLOCHE
                         * EFB1       RESERVES MONITEUR
                         * EFB2-EFB3  TEMPS DEMARAGE MOTEUR LECTEUR
                         * EFB4-EFB5  VITESSE SPOOLING IMPRIMANTE
                         * EFB6       NB SECTEURS PAR FACE SD ($0A) 
                         * EFB7       NB SECTEURS PAR FACE DD ($12) 
                         * EFB8-EFF1  RESERVES MONITEUR
                         *
                         * VECTEURS D'INTERRUPTION
                         *
                         * EFF2-EFF3  IRQ UTILISATEUR
                         * EFF4-EFF5  IRQ FLEX (SPOOLING)
                         * EFF6-EFF7  SWI3 FLEX
                         * EFF8-EFF9  SWI2
                         * EFFA-EFFB  SWI
                         * EFFC-EFFD  NMI
                         * EFFE-EFFF  FIRQ
                         *
                         * CARACTERES DE CONTROLE
                         *
                         * ^G 07 CLOCHE (UTILISE LE CONTENU DE EFAD-EFAE)
                         * ^H 08 CURSEUR A GAUCHE
                         * ^I 09 CURSEUR A DROITE
                         * ^J 10 CURSEUR EN BAS
                         * ^K 11 CURSEUR EN HAUT
                         * ^L 12 CURSEUR EN HAUT A GAUCHE + EFFACEMENT
                         * ^M 13 RETOUR CHARIOT
                         * ^R 18 POSITIONNE CURSEUR (CONTENU EN EFAB-EFAC) 
                         * ^T 20 CURSEUR ON
                         * ^U 21 CURSEUR OFF
                         * ^V 22 SCROLL ON
                         * ^W 23 SCROLL OFF
                         * ^  27 ESCAPE (FLEX)
                         * ^  28 CURSEUR EN HAUT A GAUCHE ( SANS EFF.)
                         *
                         * POINT D'ENTREE SS PROG MONITEUR
                         *
                         * F800 ENTREE A CHAUD MONITEUR $F8ED
                         * F803 ENTREE CLAVIER          $F9E8
                         * F806 ENTREE CLAVIER SANS ECHO $F9D8
                         * F809 SORTIE ECRAN            $F9EA
                         * F80C TEST CLAVIER            $F9CF
                         * F80F INIT DES E/S            $F992
                         * F812 LECTURE SECTEUR         $FC83
                         * F815 ECRITURE SECTEUR        $FD4B
                         * F818 VERIFICATION SECTEUR    $FDAC
                         * F81B PISTE 0                 $FDC0
                         * F81E SELECTION LECTEUR       $FDCD
                         * F821 TEST PRET               $FE03
                         * F824 TEST PRET               $FE03
                         * F827 INIT LECTEUR            $FC1E
                         * F82A INIT A CHAUD            $FC56
                         * F82D SEEK SAUT DE PISTE      $FCEF
                         * F830 IRQ CONTROLE (FLEX SEULEMENT) $FE6E
                         * F833 TIMER OFF (FLEX SEULEMENT)    $FED8
                         * F836 TIMER ON (FLEX SEULEMENT)     $FEDD
                         * F839 TIMER INIT (FLEX SEULEMENT)   $FEE8
                         * F840 INITIALISATION MANETTE  $F884
                         * F843 TEST MANETTE            $F890
                         * 
                         * 
                         * UTILISER DE PREFERENCE
                         * LES POINTS D'ENTREE FLEX

                         * ASCII CODE EQUATES
                   0004  EOT     EQU    $04
                   000D  CR      EQU    $0D
                   000A  LF      EQU    $0A
                         *******************************************************
                         * EQUIVALENCES DES ADRESSES EXTERNES                  *
                         *******************************************************
                         * ADRESSES EN RAM                                     *
                         *******************************************************
                   C100  ADCMD   EQU    $C100     ADRESSE RESERVEE POUR COMMANDES FLEX
                   C700  ASPOOL  EQU    $C700     ADRESSE RESERVEE POUR LE SPOOLER
                   C8BE  LC8BE   EQU    $C8BE
                   CC34  LCC34   EQU    $CC34     SPOOLING ACTIF
                   CD03  WARMS   EQU    $CD03     POINT D'ENTREE A CHAUD DU FLEX
                   ED80  TABLE2  EQU    $ED80     TABLE DE TRADUCTION DES CLAVIERS
                   EE80  TABLE3  EQU    $EE80     TABLE DE TRADUCTION DES CLAVIERS
                   EF7F  STACKSY EQU    $EF7F     ORIGINE DE LA PILE SYSTEME
                   EF80  TRKBUF  EQU    $EF80     BUFFER MEMORISATION DES PISTES ACTIVES
                   EF88  VLECT0  EQU    $EF88     SAUT DE PISTE LECTEUR 0
                   EF89  VLECT1  EQU    $EF89     SAUT DE PISTE LECTEUR 1
                   EF8C  ACTDRV  EQU    $EF8C     LECTEUR ACTIF
                   EF8D  TRKJMP  EQU    $EF8D     MASQUE DE SAUT DE PISTE
                   EF8E  MEMDP1  EQU    $EF8E     MEMORISATION DP PENDANT LECT. SECTEUR
                   EF90  TBLCRT  EQU    $EF90     TABLE INITIALISATION CRT
                   EFA4  SCROLL  EQU    $EFA4     SCROLLING ON / OFF
                   EFA5  BUFCUH  EQU    $EFA5     BUFFER DE POSITION CURSEUR
                   EFA6  BUFCUL  EQU    $EFA6     BUFFER DE POSITION CURSEUR
                   EFA7  BUFUPH  EQU    $EFA7     BUFFER DE POSITION POUR UPDATE
                   EFA8  BUFUPL  EQU    $EFA8     BUFFER DE POSITION POUR UPDATE
                   EFA9  BUFOFH  EQU    $EFA9     BUFFER DE POSITION OFFSET
                   EFAA  BUFOFL  EQU    $EFAA     BUFFER DE POSITION OFFSET
                   EFAB  LIGN    EQU    $EFAB     POSITION LIGNE COURANTE
                   EFAC  CARACT  EQU    $EFAC     POSITION CARACTERE COURANT
                   EFAD  SOUND   EQU    $EFAD     TONALITE CLOCHE
                   EFAF  TSOUND  EQU    $EFAF     DUREE SON CLOCHE
                   EFB1  INDMOT  EQU    $EFB1     INDICATEUR MOTEUR FLOPPY
                   EFB2  DEMAND  EQU    $EFB2     TEMPS DEMARRAGE MOTEUR LECTEURS
                   EFB4  VSPOOL  EQU    $EFB4     VITESSE SPOOLING IMPRIMANTE
                   EFB6  NSECT1  EQU    $EFB6     NB DE SECTEURS PAR FACE SD ($0A)
                   EFB7  NSECT2  EQU    $EFB7     NB DE SECTEURS PAR FACE DD ($12)
                   EFB8  FCURSO  EQU    $EFB8     FLAG CURSEUR VISIBLE
                   EFB9  CBLINK  EQU    $EFB9     FLAG CURSEUR CLIGNOTANT
                   EFBA  HEURE   EQU    $EFBA     HEURE AFFICHABLE
                   EFCB  LEFCB   EQU    $EFCB
                   EFCC  LEFCC   EQU    $EFCC
                   EFCD  MEMHTR  EQU    $EFCD     MEM HORLOGE REG R2 (SECONDES)
                         * $EFCE MEM HORLOGE REG R3 (10 SECONDES)
                         * $FECF MEM HORLOGE REG R4 (MINUTES)
                         * $FED0 MEM HORLOGE REG R5 (10 MINUTES)
                         * $FED1 MEM HORLOGE REG R6 (HEURES)
                         * $FED2 MEM HORLOGE REG R7 (10 HEURES)
                         * $FED3 MEM HORLOGE REG R8 (JOURS)
                         * $FED4 MEM HORLOGE REG R9 (10 JOURS)
                         * $FED5 MEM HORLOGE REG R10 (JOUR SEMAINE)
                         * $FED6 MEM HORLOGE REG R11 (MOIS)
                         * $FED7 MEM HORLOGE REG R12 (10 MOIS)
                   EFF2  IRQUTI  EQU    $EFF2     IRQ UTILISATEUR
                   EFF4  IRQFLX  EQU    $EFF4     IRQ FLEX (SPOOLING)
                   EFF6  SWI3    EQU    $EFF6     SWI3 FLEX
                   EFF8  SWI2    EQU    $EFF8     SWI2
                   EFFA  SWI     EQU    $EFFA     SWI
                   EFFC  NMI     EQU    $EFFC     NMI
                   EFFE  FIRQ    EQU    $EFFE     FIRQ
                         *******************************************************
                         * EQUIVALENCES DES ADRESSES EXTERNES                  *
                         *******************************************************
                         * CICUITS                                             *
                         *******************************************************
                         * CONTROLEUR D'ECRAN SY6545
                   F000  FLGCU0  EQU    $F000     REGISTRE DE CONTROLE
                   F001  FLGCU1  EQU    $F001     REGISTRE DE CONTROLE
                   F200  DVIDEO  EQU    $F200     DONNEE VIDEO A AFFICHER
                         * ACIA
                   F506  ACIAAC  EQU    $F506     ACIA A - CONTOL REGISTER
                   F50C  ACIABC  EQU    $F50C     ACIA B - CONTOL REGISTER
                         * CONTROLEUR DE DISQUETTES
                   F600  STRCR   EQU    $F600     REGISTRE DE STATUS/COMMAND
                   F601  TR      EQU    $F601     REGISTRE DE PISTE
                   F602  SCR     EQU    $F602     REGISTRE DE SECTEUR
                   F603  DR      EQU    $F603     REGISTRE DE DONNEES
                         * HORLOGE TEMPS REEL
                   F640  HORLO   EQU    $F640
                   F64F  INTERH  EQU    $F64F
                         * PIA-A DISQUE
                   F680  PIA1DA  EQU    $F680     REGISTRE DE DONNEES
                   F681  PIA1CA  EQU    $F681     REGISTRE DE CONTROLE
                         * PIA-B CLAVIER
                   F682  PIA1DB  EQU    $F682     REGISTRE DE DONNEES
                   F683  PIA1CB  EQU    $F683     REGISTRE DE CONTROLE
                         * TEMPORISATEUR 1,2 ET 3
                   F6C8  TMRCR1  EQU    $F6C8     REGISTRE DE CONTROLE
                   F6C9  TMRCR2  EQU    $F6C9     REGISTRE DE CONTROLE
                   F6CA  TMRT1L  EQU    $F6CA     PRESET TIMER 1 (UTILISATEUR)
                   F6CC  TMRT2L  EQU    $F6CC     PRESET TIMER 2
                   F6CE  TMRT3L  EQU    $F6CE     PRESET TIMER 3
                         * PIA-A MANETTES
                   F6D0  PIA2DA  EQU    $F6D0     REGISTRE DE DONNEES
                   F6D1  PIA2CA  EQU    $F6D1     REGISTRE DE CONTROLE
                         *******************************************************
                         * DEBUT DU PROGRAMME DU MONITEUR                      *
                         * ADRESSES $F800                                      *
                         *******************************************************
                         
      F800                       ORG    $F800
                         
      F800 7E   F8ED     HOTMON  JMP    HOTMO2    ENTREE A CHAUD MONITEUR $F8ED
      F803 7E   F9E8             JMP    CLAV1     ENTREE CLAVIER          $F9E8
      F806 7E   F9D8             JMP    CLAV2     ENTREE CLAVIER SANS ECHO $F9D8
      F809 7E   F9EA             JMP    SORECR    SORTIE ECRAN            $F9EA
      F80C 7E   F9CF             JMP    TSTCLA    TEST CLAVIER            $F9CF
      F80F 7E   F992             JMP    INIES     INIT DES E/S             $F992
      F812 7E   FC83             JMP    LECSEC    LECTURE SECTEUR         $FC83
      F815 7E   FD4B             JMP    ECRSEC    ECRITURE SECTEUR        $FD4B
      F818 7E   FDAC             JMP    VERSEC    VERIFICATION SECTEUR    $FDAC
      F81B 7E   FDC0             JMP    PIST0     PISTE 0                  $FDC0
      F81E 7E   FDCD             JMP    SELECT    SELECTION LECTEUR       $FDCD
      F821 7E   FE03             JMP    TETRDY    TEST PRET               $FE03
      F824 7E   FE03             JMP    TETRDY    TEST PRET               $FE03
      F827 7E   FC1E             JMP    LECINI    INIT LECTEUR            $FC1E
      F82A 7E   FC56             JMP    HOTINI    INIT A CHAUD            $FC56
      F82D 7E   FCEF             JMP    SEEK      SAUT DE PISTE             $FCEF
      F830 7E   FE6E             JMP    CTRIRQ    IRQ CONTROLE (FLEX SEULEMENT) $FE6E
      F833 7E   FED8             JMP    TMROFF    TIMER OFF (FLEX SEULEMENT)    $FED8
      F836 7E   FEDD             JMP    TMRON     TIMER ON (FLEX SEULEMENT)      $FEDD
      F839 7E   FEE8             JMP    TMRINIT   TIMER INIT (FLEX SEULEMENT)  $FEE8
      F83C EF   F4               STU    [0,S]
      F83E EF   F6               STU    [A,S]
     >F840 7E   F884             JMP    IPIA2A    INITIALISATION MANETTE  $F884
     >F843 7E   F890             JMP    TSTMAN    TEST MANETTE           $F890
                         *******************************************************
                         * ADRESSE DES SEQUENCES DE TRAITEMENT DES CODES ESCAPE*
                         * CARACTERES DE CONTROLES                             *
                         *******************************************************
      F846 FAF2          TABLE5  FDB    CTRLNA    $FAF2 01
      F848 FAF2                  FDB    CTRLNA    $FAF2 02
      F84A FAF2                  FDB    CTRLNA    $FAF2 03
      F84C FAF2                  FDB    CTRLNA    $FAF2 04
      F84E FAF2                  FDB    CTRLNA    $FAF2 05
      F850 FAF2                  FDB    CTRLNA    $FAF2 06
      F852 FAF3                  FDB    CTRL07    $FAF3 07 CTRL-G BELL
      F854 FB0A                  FDB    CTRL08    $FB0A 08 CTRL-H BACKSPACE
      F856 FB22                  FDB    CTRL09    $FB22 09 CTRL-I HORIZONTAL TAB
      F858 FB2F                  FDB    CTRL10    $FB2F 10 CTRL-J LINE FEED
      F85A FB35                  FDB    CTRL11    $FB35 11 CTRL-K VERTICAL TAB
      F85C FB41                  FDB    CTRL12    $FB41 12 CTRL-L FORM FEED
      F85E FB70                  FDB    CTRL13    $FB70 13 CTRL-M CARIAGE RETURN
      F860 FB76                  FDB    CTRL14    $FB76 14 CTRL-N SHIFT OUT
      F862 FB89                  FDB    CTRL15    $FB89 15 CTRL-O SHIFT IN
      F864 FBA6                  FDB    CTRL16    $FBA6 16 CTRL-P POS CURS.->EFAB-EFAC 
      F866 FAF2                  FDB    CTRLNA    $FAF2 17 CTRL-Q 
      F868 FA2D                  FDB    UPDCRT    $FA2D 18 CTRL-R CURSEUR EN EFAB-EFAC
      F86A FAF2                  FDB    CTRLNA    $FAF2 19 CTRL-S 
      F86C FBD7                  FDB    CTRL20    $FBD7 20 CTRL-T CURSEUR ON
      F86E FBE7                  FDB    CTRL21    $FBE7 21 CTRL-U CURSEUR OFF
      F870 FBF1                  FDB    CTRL22    $FBF1 22 CTRL-V SCROLL ON
      F872 FBF7                  FDB    CTRL23    $FBF7 23 CTRL-W SCROLL OFF
      F874 FBFB                  FDB    CTRL24    $FBFB 24 CTRL-X SET BLINKING
      F876 FC09                  FDB    CTRL25    $FC09 25 CTRL-Y SET NOT BLINKING
      F878 FAF2                  FDB    CTRLNA    $FAF2 26 CTRL-Z 
      F87A FAF2                  FDB    CTRLNA    $FAF2 27 ESC 
      F87C FC15                  FDB    CTRL28    $FC15 28 HOME CURSEUR + SANS EFF
      F87E FB22                  FDB    CTRL09    $FB22 29 CTRL-I HORIZONTAL TAB 
      F880 FAF2                  FDB    CTRLNA    $FAF2 30         
      F882 FAF2                  FDB    CTRLNA    $FAF2 31   
                         *******************************************************
                         * INITIALISATION PIA 2 PORT A MANETTES                *
                         *******************************************************      
      F884 7F   F6D1     IPIA2A  CLR    PIA2CA    EFFACEMENT REG DE DIRECTION (ENTREE)
      F887 7F   F6D0             CLR    PIA2DA    EFFACEMENT REG DE CONTROLE (SORTIE)
      F88A 86   04               LDA    #4        %00000100
      F88C B7   F6D1             STA    PIA2CA    SELECTION REGISTRE DE DONNEES 
      F88F 39                    RTS
                         *******************************************************
                         * TEST MANETTES                                       *
                         *******************************************************
      F890 39            TSTMAN  RTS
                         *******************************************************
                         * DESACTIVATION DES INTERRUPTIONS DE L'HORLOGE        *
                         *******************************************************
      F891 8E   F640     SHORL1  LDX    #HORLO    INITIALISATION DU MM58174 
      F894 6F   84               CLR    0,X
      F896 6F   0F               CLR    15,X      INITIALISATION A ZERO DU REGISTRE F
      F898 A6   0F               LDA    15,X      LECTURE 3 FOIS DU REGISTRE
      F89A A6   0F               LDA    15,X
      F89C A6   0F               LDA    15,X
      F89E 86   01               LDA    #1
      F8A0 A7   0E               STA    14,X
      F8A2 39                    RTS
                         *******************************************************
                         * SERIAL PORT MASTER RESET                            *
                         *******************************************************
      F8A3 86   03       INISER  LDA    #3
      F8A5 B7   F506             STA    ACIAAC    MASTER RESET
      F8A8 B7   F50C             STA    ACIABC    MASTER RESET
      F8AB 39                    RTS
                         * SOUS PROG ECRITURE TABLE
      F8AC A7   86       INITAB  STA    A,X
      F8AE 4C                    INCA
      F8AF 26   FB               BNE    INITAB
      F8B1 39                    RTS
                         *******************************************************
                         * INITIALISATION                                      *
                         *******************************************************
                         * POINT D'ENTREE A FROID DU SYSTEME                   *
                         * APRES EXECUTION AUTOMATIQUE PAR LE 6809             *
                         * DU SAUT A L'ADRESSE CONTENUE DANS $FFE-$FFFF        *
                         *******************************************************
      F8B2 1A   10       START   ORCC   #$10      MASQUE DES INTERUPTIONS IRQ MASQ
      F8B4 10CE EF7F             LDS    #STACKSY  POINTEUR DE PILE SYSTEME $EF7F
      F8B8 BD   FFC2             JSR    INITIRQ
      F8BB 8D   C7               BSR    IPIA2A    INITIALISATION PIA 2A MANETTES
      F8BD 8D   E4               BSR    INISER
      F8BF 8D   D0               BSR    SHORL1    DESACTIVATION INTERRUPTIONS HORLOGE
      F8C1 7F   CC34             CLR    LCC34
                         * INITIALISATION TABLES CLAVIER
      F8C4 8E   EE80             LDX    #TABLE3   $EE80
      F8C7 4F                    CLRA
      F8C8 8D   E2               BSR    INITAB    ECRITURE TABLE 3
      F8CA 8E   ED80             LDX    #TABLE2   $ED80
      F8CD 4F                    CLRA
      F8CE 8D   DC               BSR    INITAB
                         * INITIALISATION DES TABLES PAR DEFAULT DU MONITEUR
      F8D0 8E   EF88             LDX    #VLECT0   1ER LECTEUR $EF88
      F8D3 108E F94F             LDY    #TABLE1
      F8D7 A6   A0       LOOP1   LDA    0,Y+
      F8D9 A7   80               STA    0,X+
      F8DB 8C   EFCB             CMPX   #LEFCB    $EF88+43
      F8DE 26   F7               BNE    LOOP1
      F8E0 BD   F992             JSR    INIES     INIT ES
      F8E3 BD   FC1E             JSR    LECINI    INIT FLOPPY
      F8E6 1C   EF               ANDCC  #$EF      RETIRE IRQ MASQ
      F8E8 86   0C               LDA    #$0C      FORM FEED
      F8EA BD   F9EA             JSR    SORECR    EFFACE ECRAN
                         * ENTREE A CHAUD MONITEUR
      F8ED 8E   F91D     HOTMO2  LDX    #TEXTE1   POINTE SUR LE TEXTE
      F8F0 BD   FAE6     HOTMO3  JSR    PSTRNG    AFFICHE LE TEXTE
      F8F3 BD   F9E8             JSR    CLAV1     ATTEND UN CARACTERE AU CLAVIER
      F8F6 34   02               PSHS   A
      F8F8 86   20               LDA    #$20      ESPACE IMPRIME UN ESPACE
      F8FA BD   F9EA             JSR    SORECR
      F8FD 35   02               PULS   A
      F8FF 84   5F               ANDA   #$5F      FILTRE LE CARACTERE
      F901 1F   89               TFR    A,B
      F903 8E   F943             LDX    #KEYCOD
      F906 E1   80       HOTMO4  CMPB   0,X+
      F908 27   0C               BEQ    HOTMO6
      F90A 30   02               LEAX   2,X
      F90C 8C   F94F             CMPX   #TABLE1
      F90F 26   F5               BNE    HOTMO4
      F911 8E   F93F     HOTMO5  LDX    #ETOILE
      F914 20   DA               BRA    HOTMO3
      F916 AD   94       HOTMO6  JSR    [0,X]
      F918 20   F7               BRA    HOTMO5
                         *******************************************************
                         * $F91A : COMMANDE MONITEUR "F"                       *
                         * LANCEMENT A CHAUD DU FLEX                           *
                         *******************************************************
      F91A 7E   CD03     CMDF    JMP    WARMS
      F91D 0D 0A 56 45   TEXTE1  FCC    CR,LF,"VEGASMON COPYRIGHT "
      F921 47 41 53 4D   
      F925 4F 4E 20 43   
      F929 4F 50 59 52   
      F92D 49 47 48 54   
      F931 20            
      F932 4D 49 43 52           FCC    "MICROKIT V3.3"
      F936 4F 4B 49 54   
      F93A 20 56 33 2E   
      F93E 33            
      F93F 0D 0A 2A 04   ETOILE  FCC    CR,LF,"*",EOT
      F943 44            KEYCOD  FCB    $44       = D
      F944 FEE9                  FDB    CMDD      $FEE9
      F946 47                    FCB    $47       = G
      F947 FF0C                  FDB    CMDG      $FF0C
      F949 4D                    FCB    $4D       = M
      F94A FF13                  FDB    CMDM      $FF13
      F94C 46                    FCB    $46       = F
      F94D F91A                  FDB    CMDF      $F91A
      F94F 83            TABLE1  FCB    $83       $EF88 VLECT0
      F950 83                    FCB    $83       $EF89 VLECT1
      F951 00                    FCB    $00       $EF8A VLECT2
      F952 00                    FCB    $00       $EF8B VLECT3
      F953 00                    FCB    $00       $EF8C ACTDRV
      F954 00                    FCB    $00       $EF8D TRKJMP
      F955 00                    FCB    $00       $EF8E MEMDP1
      F956 00                    FCB    $00       $EF8F
      F957 7F                    FCB    $7F       $EF90 TBLCRT R0=HORIZONTAL TOTAL
      F958 50                    FCB    $50       $EF91 TBLCR2 R1=HOR DISPAY (CAR/LIG)
      F959 5F                    FCB    $5F       $EF92        R2=HORIZONTAL SYNC POS
      F95A 09                    FCB    $09       $EF93        R3=H & V SYNC WIDTH
      F95B 1D                    FCB    $1D       $EF94        R4=VERTICAL TOTAL
      F95C 0C                    FCB    $0C       $EF95        R5=VERTICAL TITAL ADJUST
      F95D 19                    FCB    $19       $EF96 TBLCR3 R6=VERT. DISP (LIG/ECRAN)
      F95E 1A                    FCB    $1A       $EF97        R7=VERTICAL SYNC POSITION
      F95F 48                    FCB    $48       $EF98        R8=MODE CONTROL
                         * BIT 7=0-> UPDATE DURING H & V BLANKING
                         * BIT 6=0-> PIN34=MEMORY ADDRESS
                         * BIT 5=1-> NO CURSOR DELAY
                         * BIT 4=0-> NO DELAY DISPLAY ENABLE SKEW
                         * BIT 3=1-> TRANSPARENT MEMORY ADDRESS
                         * BIT 2=0-> VIDEO DISPLAY RAW/COLUMN
                         * BIT 0/1=0-> NO INTERLACE
      F960 09                    FCB    $09       $EF99       R9=LINE PER CAR -1 (10)
      F961 68                    FCB    $68       $EF9A       R10=CURSOR START LINE (8)
                         * CURSOR BLINKING 1/32 FIELD RATE
      F962 09                    FCB    $09       $EF9B       R11=CURSOR END LINE (9)
      F963 00                    FCB    $00       $EF9C       R12=DISP. START ADD HIGH
      F964 00                    FCB    $00       $EF9D       R13=DISP. START ADD LOW
      F965 00                    FCB    $00       $EF9E       R14=DISP. CURSOR POS HIGH
      F966 00                    FCB    $00       $EF9F       R15=DISP. CURSOR POS LOW
      F967 00                    FCB    $00       $EFA0       R16=LIGHT PEN POS HIGH
      F968 00                    FCB    $00       $EFA1       R17=LIGHT PEN POS LOW
      F969 00                    FCB    $00       $EFA2       R18=UPDATE ADDRESS HIGH
      F96A 00                    FCB    $00       $EFA3       R19=UPDATE ADDRESS LOW
      F96B 01                    FCB    $01       $EFA4 SCROLL FLAG ACTIF
      F96C 00                    FCB    $00       $EFA5 BUFCUH
      F96D 00                    FCB    $00       $EFA6 BUFCUL
      F96E 00                    FCB    $00       $EFA7 BUFUPH
      F96F 00                    FCB    $00       $EFA8 BUFUPL
      F970 00                    FCB    $00       $EFA9 BUFOFH
      F971 00                    FCB    $00       $EFAA BUFOFL
      F972 00                    FCB    $00       $EFAB LIGN POSITION LIGNE COURANTE
      F973 00                    FCB    $00       $EFAC CARACT POSITION CAR COURANT
      F974 01                    FCB    $01       $EFAD SOUND TONALITE CLOCHE
      F975 5D                    FCB    $5D       $EFAE
      F976 01                    FCB    $01       $EFAF TSOUND DUREE SON CLOCHE
      F977 E0                    FCB    $E0       $EFB0
      F978 78                    FCB    $78       $EFB1 INDMOT INDICATEUR MOTEUR FLOPPY
      F979 00                    FCB    $00       $EFB2 DEMAND TEMPS DEM MOTEUR LECTEUR
      F97A 00                    FCB    $00       $EFB3
      F97B 27                    FCB    $27       $EFB4 VSPOOL VITESSE SPOOL IMPRIMANTE
      F97C 10                    FCB    $10       $EFB5
      F97D 0A                    FCB    $0A       $EFB6 NSECT1 NB DE SECTEURS/FACE SD 
      F97E 10                    FCB    $10       $EFB7 NSECT2 NB DE SECTEURS/FACE DD
      F97F 01                    FCB    $01       $EFB8 FCURSO FLAG CURSEUR VISIBLE
      F980 01                    FCB    $01       $EFB9 FLAG CURSEUR CLIGNOTANT
      F981 31                    FCB    $31       $EFBA
      F982 32                    FCB    $32       $EFBB
      F983 3A                    FCB    $3A       $EFBC
      F984 31                    FCB    $31       $EFBD
      F985 32                    FCB    $32       $EFBE
      F986 3A                    FCB    $3A       $EFBF
      F987 31                    FCB    $31       $EFC0
      F988 32                    FCB    $32       $EFC1
      F989 20                    FCB    $20       $EFC2
      F98A 31                    FCB    $31       $EFC3
      F98B 32                    FCB    $32       $EFC4
      F98C 2F                    FCB    $2F       $EFC5
      F98D 31                    FCB    $31       $EFC6
      F98E 32                    FCB    $32       $EFC7
      F98F 2F                    FCB    $2F       $EFC8
      F990 38                    FCB    $38       $EFC9
      F991 34                    FCB    $34       $EFCA
                         * INITIALISATION DES E/S
      F992 8E   A181     INIES   LDX    #$A181    CHARGE CR1 et CR2 DUTMR1
      F995 BF   F6C8             STX    TMRCR1    ECRITURE REGISTRE DE CONTROLE TMR1 
                         * TIMER 1
                         * BIT 7=1 OUTPUT 3 ACTIVE
                         * BIT 6=0 INTERRUPTION MASQUEE
                         * BIT 543=100 MODE SINGLE SHOT
                         * BIT 2=0 MODE DE COMPTAGE 16 BITS
                         * BIT 1=0 SIGNAL HORLOGE EXTERNE
                         * BIT 0=1 FREQUENCE DIVISEE PAR 8 
                         * TIMER 2
                         * BIT 7=1 OUTPUT 2 ACTIVE
                         * BIT 6=0 INTERRUPTION MASQUEE
                         * BIT 543=000 MODE CONTINUE
                         * BIT 2=0 MODE DE COMPTAGE 16 BITS
                         * BIT 1=0 SIGNAL HORLOGE EXTERNE
                         * BIT 0=1 PRESELECTION TIMER 1 
      F998 BE   EFAD             LDX    SOUND     CHARGE LA TONALITE DU BIP
      F99B BF   F6CC             STX    TMRT2L    CRIURE DU REGISTRE DU TIMER 2
      F99E BE   EFAF             LDX    TSOUND    CHARGE LA DUREE DU BIP
      F9A1 BF   F6CE             STX    TMRT3L    ECRITURE DU BUFFER DU TIMER 3
      F9A4 86   00               LDA    #0
      F9A6 B7   F6C8             STA    TMRCR1    REINITIALISE LE REGISTRE DE CONTOLE 1
      F9A9 C6   00               LDB    #0
      F9AB 8E   EF90             LDX    #TBLCRT   CHARGE X AVEC $EF90
      F9AE F7   F000     LF9AC   STB    FLGCU0    INITIALISE LE 1ER REGISTRE DU CRT
      F9B1 A6   80               LDA    0,X+      CHARGE DANS A LE CONTENU POINTE X+
      F9B3 B7   F001             STA    FLGCU1    SAUVEGARDE A DANS LE REGISTRE
      F9B6 5C                    INCB             INCREMENTE B
      F9B7 C1   14               CMPB   #$14      BOUCLE SI INFERIEUR A 20
      F9B9 26   F3               BNE    LF9AC     LOOP
      F9BB 86   1F               LDA    #$1F      REGISTRE 31 (DUMMY)
      F9BD B7   F000             STA    FLGCU0
      F9C0 B6   F001             LDA    FLGCU1
                         * INITIALISE LE PIA DU DISQUE
      F9C3 7F   F683             CLR    PIA1CB
      F9C6 7F   F682             CLR    PIA1DB
      F9C9 86   0C               LDA    #$0C      BIN %00001100
      F9CB B7   F683             STA    PIA1CB    SUVEGARDE DANS LE CR DU PIA
      F9CE 39                    RTS
                         *******************************************************
                         * TEST CLAVIER                                        *
                         *******************************************************
      F9CF 34   02       TSTCLA  PSHS   A
      F9D1 B6   F683             LDA    PIA1CB    LECTURE DU CR DU PIA 
      F9D4 84   80               ANDA   #$80      MASQUE
      F9D6 35   82               PULS   A,PC
                         *******************************************************
                         * CLAVIER SANS ECHO                                   *
                         *******************************************************  
      F9D8 8D   F5       CLAV2   BSR    TSTCLA
      F9DA 27   FC               BEQ    CLAV2
      F9DC B6   F682             LDA    PIA1DB
      F9DF 34   10               PSHS   X
      F9E1 8E   ED80             LDX    #TABLE2   CONVERSION DU CODE PIA EN CODE ASCII
      F9E4 A6   86               LDA    A,X
      F9E6 35   90               PULS   X,PC
                         *******************************************************
                         * CLAVIER SANS ECHO + INIT DE L'AFFICHAGE             *
                         *******************************************************
      F9E8 8D   EE       CLAV1   BSR    CLAV2
                         *******************************************************
                         * INITIALISATION DES FONCTION D'AFFICHAGE DU SY6545   *
                         *******************************************************
      F9EA 34   36       SORECR  PSHS   A,B,X,Y
      F9EC 8E   EE80             LDX    #TABLE3   CONVERSION DU CODE ASCII ENIMPRIMABLE
      F9EF A6   86               LDA    A,X
      F9F1 81   00               CMPA   #0
      F9F3 27   0C               BEQ    JUMP1     CODE ZERO A IGNORER
      F9F5 1A   10               ORCC   #$10
      F9F7 81   20               CMPA   #$20
      F9F9 1025 00DD             LBCS   TSTCTR
      F9FD 8D   1A               BSR    SOREC1
      F9FF 1C   EF               ANDCC  #$EF
      FA01 35   B6       JUMP1   PULS   A,B,X,Y,PC
                         
      FA03 B7   F200     SOREC2  STA    DVIDEO    SAUVEGARDE DANS REGISTRE A AFFICHER
      FA06 7D   F001             TST    FLGCU1
      FA09 8D   08               BSR    SOREC3
      FA0B C6   1F               LDB    #$1F      CHARGE LA VALEUR $1F 
      FA0D F7   F000             STB    FLGCU0    SAUVEGARDE DANS LE REGISTRE D'ADRESSE
      FA10 12                    NOP
      FA11 12                    NOP
      FA12 12                    NOP
      FA13 7D   F000     SOREC3  TST    FLGCU0    LECTURE STATUS REGISTER DU CONTROLEUR
      FA16 2A   FB               BPL    SOREC3    TEST DU BIT 7 UPDATE READY
      FA18 39                    RTS

      FA19 8D   E8       SOREC1  BSR    SOREC2
      FA1B 7C   EFAC             INC    CARACT    INC. LA POSITION CAR DANS LA LIGNE
      FA1E B6   EFAC             LDA    CARACT
      FA21 81   50               CMPA   #$50      LIGNE COMPLETE ?
      FA23 26   08               BNE    UPDCRT    NON JUMP
      FA25 7F   EFAC             CLR    CARACT    PASSE AU 1ER CAR
      FA28 7C   EFAB             INC    LIGN      SAUTE LIGNE
      FA2B 20   28               BRA    TSCROL
                         *******************************************************
                         * UPDATE DU CRT AVEC POSITION LIGN ET CARACT          *
                         *******************************************************
      FA2D BE   EFA9     UPDCRT  LDX    BUFOFH
      FA30 86   50               LDA    #$50
      FA32 F6   EFAB             LDB    LIGN
      FA35 3D                    MUL              CALCUL POSITION
      FA36 30   8B               LEAX   D,X       CORRIGE AVEC OFFSET
      FA38 B6   EFAC             LDA    CARACT
      FA3B 30   86               LEAX   A,X       AJOUTE POSITION DANS LIGNE
      FA3D BF   EFA5             STX    BUFCUH    MEMORISE
      FA40 C6   0E               LDB    #$0E      =14 CODE POSITION CURSEUR
      FA42 B6   EFA5             LDA    BUFCUH
      FA45 BD   FB68             JSR    UPDCR1    COPIE DANS LE CRT
      FA48 B6   EFA6             LDA    BUFCUL
      FA4B BD   FB68             JSR    UPDCR1
      FA4E BF   EFA7             STX    BUFUPH
     >FA51 BD   FAAD             JSR    TSCRO6    COPIE DANS LE CRT
      FA54 39                    RTS
                         *******************************************************
                         * TEST DU SCROLL SI DERNIERE LIGNE                    *
                         *******************************************************
      FA55 B6   EFAB     TSCROL  LDA    LIGN      CHARGE LA LIGNE COURANTE
      FA58 81   18               CMPA   #$18      COMPARE AVEC LE NB LIGNE DE L'ECRAN
      FA5A 26   D1               BNE    UPDCRT    UPDATE CRT SI PAS EN BAS DE L'ECRAN
      FA5C F6   EFA4             LDB    SCROLL    TEST DU REGISTRE DE SCROLL
      FA5F 26   05               BNE    TSCRO2    SCROLL SI REGISTRE A 1
      FA61 7F   EFAB             CLR    LIGN      PASSE EN PREMIERE LIGNE
      FA64 20   C7               BRA    UPDCRT    UPDATE CRT
                         
      FA66 4A            TSCRO2  DECA             AJUSTE LE NUMERO DE LIGNE
      FA67 B7   EFAB             STA    LIGN      SAUVEGARDE LE NUMERO DE LIGNE
      FA6A BE   EFA9             LDX    BUFOFH    CHARGE OFFSET POUR AFFICHAGE CURSEUR
      FA6D 86   50               LDA    #$50      NB CARACTERES PAR LIGNE
      FA6F 30   86               LEAX   A,X       AJOUTE CARACTERES LIGNE A L'OFFSET
      FA71 BF   EFA9             STX    BUFOFH    SAUVEGARDE NOUVEAU OFFSET
      FA74 F6   F000     TSCRO3  LDB    FLGCU0    CHARGE STATUS REG DU CRT
      FA77 C4   20               ANDB   #$20      TEST VERTICAL BLANKING
      FA79 26   F9               BNE    TSCRO3    LOOP
      FA7B F6   F000     TSCRO4  LDB    FLGCU0    CHARGE STATUS REG DU CRT
      FA7E C4   20               ANDB   #$20      TEST VERTICAL BLANKING
      FA80 27   F9               BEQ    TSCRO4    LOOP
      FA82 C6   0C               LDB    #$0C      REGISTRE POUR DISPLAY START
      FA84 B6   EFA9             LDA    BUFOFH    CHARGE LA PARTIE HAUTE DE LA POSITION
      FA87 84   07               ANDA   #7        AJUSTE OFFSET POUR AFF CURSEUR
      FA89 B7   EFA9             STA    BUFOFH    SAUVEGARDE OFFSET POUR AFF CURSEUR
      FA8C BD   FB68             JSR    UPDCR1    CHARGEMENT DU REGISTRE
      FA8F B6   EFAA             LDA    BUFOFL    CHARGE LA PARTIE BASSE
      FA92 BD   FB68             JSR    UPDCR1    CHARGEMENT DU REGISTRE
      FA95 CC   0730             LDD    #$0730
      FA98 8D   0B               BSR    TSCRO5    POSITION POUR AFFICHAGE HEURE
      FA9A 86   20               LDA    #$20
      FA9C 108E 0050             LDY    #$0050
      FAA0 BD   FBCF             JSR    EFFDAT    EFFACE Y CAR
      FAA3 20   17               BRA    AFFHEU    AFFICHAGE HEURE
                         
                         * POSITIONNE CURSEUR
      FAA5 BE   EFA9     TSCRO5  LDX    BUFOFH    POSITION OFFSET
      FAA8 30   8B               LEAX   D,X
      FAAA BF   EFA7             STX    BUFUPH    LA PARTIE HAUTE DE LA POSITION
      FAAD C6   12       TSCRO6  LDB    #$12      =R18 POSITION AFFICHAGE PROCHAIN CAR
      FAAF B6   EFA7             LDA    BUFUPH    LA PARTIE HAUTE DE LA POSITION
      FAB2 BD   FB68             JSR    UPDCR1    CHARGEMENT DU REGISTRE
      FAB5 B6   EFA8             LDA    BUFUPL    LA PARTIE BASSE
      FAB8 BD   FB68             JSR    UPDCR1    CHARGEMENT DU REGISTRE
      FABB 39                    RTS
                         *******************************************************
                         * AFFICHAGE HEURE SUR ECRAN                           *
                         *******************************************************
      FABC CC   0780     AFFHEU  LDD    #$0780    = 1920 = 24 * 80
      FABF 8D   E4               BSR    TSCRO5    POSITIONNE CURSEUR
      FAC1 86   20               LDA    #$20      CHARGE ESPACE
      FAC3 108E 003F             LDY    #$003F    CHARGE 63
      FAC7 BD   FBCF             JSR    EFFDAT    EFFACE ANCIENNE DATE
      FACA 8E   EFBA             LDX    #HEURE    POINTE SUR L’HEURE
      FACD A6   80       AFFHE1  LDA    0,X+      AFFICHE 1 CAR
      FACF BD   FA03             JSR    SOREC2
      FAD2 8C   EFCB             CMPX   #HEURE+17
      FAD5 26   F6               BNE    AFFHE1    LOOP
      FAD7 7E   FA2D             JMP    UPDCRT    TERMINE
                         *******************************************************

                         * INTERPRETATION DES CODES DE CTRL                    *

                         *******************************************************

      FADA 8E   F844     TSTCTR  LDX    #TABLE5-2

      FADD 48                    ASLA

      FADE 30   86               LEAX   A,X

      FAE0 AD   94               JSR    [0,X]

      FAE2 1C   EF               ANDCC  #$EF

      FAE4 35   B6               PULS   A,B,X,Y,PC

                         *******************************************************

                         * SORTIE A L'ECRAN D'UNE CHAINE                       *

                         *******************************************************

      FAE6 A6   80       PSTRNG  LDA    0,X+

      FAE8 81   04               CMPA   #4

      FAEA 27   05               BEQ    PSTRN1

      FAEC BD   F9EA             JSR    SORECR

      FAEF 20   F5               BRA    PSTRNG

      FAF1 39            PSTRN1  RTS

                         *******************************************************

                         * CONTROL 02,03,04,05,05 NON AFFECTE                  *

                         *******************************************************

      FAF2 39            CTRLNA  RTS

                         *******************************************************

                         * BELL (CTRL G)                                       *

                         *******************************************************

      FAF3 B6   F6C9     CTRL07  LDA    TMRCR2

      FAF6 84   04               ANDA   #4

      FAF8 27   F9               BEQ    CTRL07

      FAFA BE   F6CE             LDX    TMRT3L

      FAFD BE   EFAD             LDX    SOUND

      FB00 BF   F6CC             STX    TMRT2L

      FB03 BE   EFAF             LDX    TSOUND

      FB06 BF   F6CE             STX    TMRT3L

      FB09 39            LFB07   RTS

                         *******************************************************

                         * BACKSPACE - CURSEUR A GUAUCHE (CTRL H)              *

                         *******************************************************

      FB0A B6   EFAC     CTRL08  LDA    CARACT    POSITION CURSEUR

      FB0D 27   07               BEQ    LFB14     JUMP SI 0

      FB0F 4A                    DECA             SINON DECREMENTE

      FB10 B7   EFAC     LFB0E   STA    CARACT    MEMORISE

      FB13 7E   FA2D             JMP    UPDCRT    UPDATE CRT

                         

      FB16 7D   EFAB     LFB14   TST    LIGN

      FB19 27   EE               BEQ    LFB07     HAUT DE PAGE -> RIEN FAIRE

      FB1B 7A   EFAB             DEC    LIGN      SINON DECREMENTE

      FB1E 86   4F               LDA    #$4F      =79 DERNIER CAR DE LIGNE

      FB20 20   EE               BRA    LFB0E     RETOUR

                         *******************************************************

                         * HORIZONTAL TAB - CURSEUR A DROITE (CTRL I)          *

                         *******************************************************

      FB22 B6   EFAC     CTRL09  LDA    CARACT    POSITION CURSEUR

      FB25 81   4F               CMPA   #$4F      =79 DERNIER CAR DE LIGNE

      FB27 27   03               BEQ    LFB2A     DEJA AU BOUT DE LIGNE

      FB29 4C                    INCA             INCREMENTE CAR

      FB2A 20   E4               BRA    LFB0E     RETOUR

      FB2C 7F   EFAC     LFB2A   CLR    CARACT    DEBUT LIGNE

                         *******************************************************

                         * LINE FEED - CURSEUR EN BAS (CTRL J)                 *

                         *******************************************************

      FB2F 7C   EFAB     CTRL10  INC    LIGN      INCREMENTE

      FB32 7E   FA55             JMP    TSCROL    TEST SCROLING

                         *******************************************************

                         * VERTICAL TAB - CURSEUR EN HAUT (CTRL K)             *

                         *******************************************************

      FB35 B6   EFAB     CTRL11  LDA    LIGN      NUMERO LIGNE

      FB38 27   CF               BEQ    LFB07     HAUT DE PAGE -> RIEN FAIRE

      FB3A 4A                    DECA             DECREMENTE LIGNE

      FB3B B7   EFAB             STA    LIGN

      FB3E 7E   FA2D             JMP    UPDCRT    UPDATE CRT

                         *******************************************************

                         * FORM FEED - EFFACEMENT (CTRL L)                     *

                         *******************************************************

      FB41 86   20       CTRL12  LDA    #$20      CHARGEMENT DU CARACTERE BLANC

      FB43 108E 0800             LDY    #$0800    PRESET DU REGISTRE X A 2048 (RAM)

      FB47 BD   FBCF             JSR    EFFDAT    EFFACE

      FB4A 8E   0000             LDX    #$0000

      FB4D BF   EFAB             STX    LIGN      EFFACEMENT NUMERO DE LIGNE

      FB50 BF   EFA5             STX    BUFCUH    BUFFER DE POSITION CURSEUR

      FB53 BF   EFA7             STX    BUFUPH    BUFFER DE POSITION POUR UPDATE

      FB56 BF   EFA9             STX    BUFOFH    BUFFER DE POSITION OFFSET

      FB59 4F                    CLRA

      FB5A C6   0C               LDB    #$0C      =R12 DISPLAY START

      FB5C 8D   0A               BSR    UPDCR1

      FB5E 8D   08               BSR    UPDCR1

      FB60 8D   06               BSR    UPDCR1

      FB62 8D   04               BSR    UPDCR1

      FB64 5C                    INCB

      FB65 5C                    INCB

      FB66 8D   00               BSR    UPDCR1

                         *******************************************************

                         * UPDATE LE REGISTRE CRT ET INCREMENTE                *

                         *******************************************************

      FB68 F7   F000     UPDCR1  STB    FLGCU0

      FB6B B7   F001             STA    FLGCU1

      FB6E 5C                    INCB

      FB6F 39                    RTS

                         *******************************************************

                         * CARIAGE RETURN - RETOUR CHARIOT (CTRL M)            *

                         *******************************************************

      FB70 7F   EFAC     CTRL13  CLR    CARACT

      FB73 7E   FA2D             JMP    UPDCRT    UPDATE CRT

                         *******************************************************

                         * SHIFT OUT -  (CTRL N)                               *

                         *******************************************************

      FB76 86   50       CTRL14  LDA    #$50

      FB78 B0   EFAC             SUBA   CARACT

      FB7B 108E 0000             LDY    #$0000

      FB7F 31   A6               LEAY   A,Y

      FB81 86   20               LDA    #$20

     >FB83 BD   FBCF             JSR    EFFDAT

      FB86 7E   FA2D             JMP    UPDCRT    UPDATE CRT

                         *******************************************************

                         *  SHIFT IN - (CTRL O)                                *

                         *******************************************************

      FB89 86   50       CTRL15  LDA    #$50

      FB8B B0   EFAC             SUBA   CARACT

      FB8E 108E 0000             LDY    #$0000

      FB92 86   50               LDA    #$50

      FB94 31   A6               LEAY   A,Y

      FB96 C6   17               LDB    #$17

      FB98 F0   EFAB             SUBB   LIGN

      FB9B 3D                    MUL

      FB9C 31   AB               LEAY   D,Y

      FB9E 86   20               LDA    #$20

     >FBA0 BD   FBCF             JSR    EFFDAT

      FBA3 7E   FA2D             JMP    UPDCRT    UPDATE CRT

                         *******************************************************

                         *  MEMORISE POSITION CURSEUR EN EFAB - EFAC (CTRL P)  *

                         *******************************************************

      FBA6 B6   EFAC     CTRL16  LDA    CARACT

      FBA9 B7   EFCC             STA    LEFCC

      FBAC B6   EFAB             LDA    LIGN

      FBAF B7   EFCB             STA    LEFCB

      FBB2 7F   EFAC             CLR    CARACT

      FBB5 BD   FA2D             JSR    UPDCRT

                         

      FBB8 86   20       CTRL17  LDA    #$20

      FBBA 108E 0050             LDY    #$0050

      FBBE 8D   0F               BSR    EFFDAT    EFFACE Y CAR

      FBC0 B6   EFCC             LDA    LEFCC

      FBC3 B7   EFAC             STA    CARACT

      FBC6 B6   EFCB             LDA    LEFCB

      FBC9 B7   EFAB             STA    LIGN

      FBCC 7E   FA2D             JMP    UPDCRT    UPDATE CRT

                         *******************************************************

                         * EFFACE Y CARATERES SUR LA LIGNE                     *

                         *******************************************************

      FBCF BD   FA03     EFFDAT  JSR    SOREC2

      FBD2 31   3F               LEAY   -1,Y

      FBD4 26   F9               BNE    EFFDAT

      FBD6 39                    RTS

                         *******************************************************

                         * CURSEUR ON (CTRL-T )                                *

                         *******************************************************

      FBD7 86   01       CTRL20  LDA    #1

      FBD9 B7   EFB8             STA    FCURSO

      FBDC 86   68               LDA    #$68      -> BLINK AT 1/32

      FBDE F6   EFB9             LDB    CBLINK    CURSOR BLINKING ?

      FBE1 26   02               BNE    LFBE3

      FBE3 86   08               LDA    #8        -> NO BLINKING

      FBE5 20   05       LFBE3   BRA    LFBEA

                         *******************************************************

                         * CURSEUR OFF (CTRL-U )                               *

                         *******************************************************

      FBE7 7F   EFB8     CTRL21  CLR    FCURSO

      FBEA 86   28               LDA    #$28      -> NO CURSOR

      FBEC C6   0A       LFBEA   LDB    #$0A      =R10

      FBEE 7E   FB68             JMP    UPDCR1

                         *******************************************************

                         * ACTIVE LE SCROLLING (CTRL-V)                        *

                         *******************************************************

      FBF1 86   01       CTRL22  LDA    #1

      FBF3 B7   EFA4             STA    SCROLL

      FBF6 39                    RTS

                         *******************************************************

                         * DESACTIVE LE SCROLING  (CTRL-W)                     *

                         *******************************************************

      FBF7 7F   EFA4     CTRL23  CLR    SCROLL

      FBFA 39            LFBF8   RTS

                         *******************************************************

                         * SET CURSOR BLINKING (CTRL-X)                        *

                         *******************************************************
      FBFB 86   01       CTRL24  LDA    #1
      FBFD B7   EFB9             STA    CBLINK    CURSOR BLINKING
      FC00 7D   EFB8             TST    FCURSO    CURSOR ON ?
      FC03 27   F5               BEQ    LFBF8     NO
      FC05 86   68               LDA    #$68      -> BLINK AT 1/32
      FC07 20   E3               BRA    LFBEA
                         *******************************************************
                         * SET CURSOR NOT BLINKING (CTRL-Y)                    *
                         *******************************************************
      FC09 7F   EFB9     CTRL25  CLR    CBLINK    CURSOR NOT BLINKING
      FC0C 7D   EFB8             TST    FCURSO    CURSOR ON ?
      FC0F 27   E9               BEQ    LFBF8     NO
      FC11 86   08               LDA    #8        -> NO BLINKING
      FC13 20   D7               BRA    LFBEA
                         *******************************************************
                         * HOME                                                *
                         ******************************************************* 
      FC15 7F   EFAB     CTRL28  CLR    LIGN
      FC18 7F   EFAC             CLR    CARACT
      FC1B 7E   FA2D             JMP    UPDCRT
                         *******************************************************
                         * INITIALISATION DES FONCTIONS DE BASES DU CONTROLEUR *
                         * DE DISQUETTES FD1791 / MB 8876                      *
                         ******************************************************* 
                         * INITIALISATION FLOPPY                               *
                         *******************************************************
      FC1E 8E   EF80     LECINI  LDX    #TRKBUF
      FC21 C6   D0               LDB    #$D0      %11010000
      FC23 F7   F600             STB    STRCR     SAUVEGARDE DANS LE CONTROL REGISTER
                         * BIT7654=1101 FORCE INTERRUPT
                         * BIT3210=0 TERMINATE WITH NO INTERRUPT 
      FC26 C6   08               LDB    #8
      FC28 6F   80       LECIN1  CLR    0,X+      INITIALISE 8 MEMOIRES $EF80 A $EF88
      FC2A 5A                    DECB
      FC2B 26   FB               BNE    LECIN1    LOOP
      FC2D 30   04               LEAX   4,X       INITIALISE 8 MEMOIRES $EF8C A $EF8F
      FC2F C6   04               LDB    #4
      FC31 6F   80       LECIN2  CLR    0,X+
      FC33 5A                    DECB
      FC34 26   FB               BNE    LECIN2    LOOP
      FC36 8D   1E               BSR    HOTINI    INIT A CHAUD
      FC38 1A   10               ORCC   #$10      SET MASK IRQ
      FC3A BD   F891             JSR    SHORL1    DESACTIVATION INTERRUPT DE L'HORLOGE
      FC3D 1C   EF               ANDCC  #$EF      CLEAR IRQ MASK
      FC3F 86   09               LDA    #9        PROGRAM INTERRUPTION REPETITIVES
      FC41 B7   F64F             STA    INTERH    APPLIQUE INT A HORLOGE TEMPO MOTEUR
      FC44 86   78               LDA    #$78
      FC46 B7   EFB1             STA    INDMOT    INDICATEUR MOTEUR FLOPPY
      FC49 8E   0000             LDX    #$0000
      FC4C 30   1F       LECIN3  LEAX   -1,X      TEMPORISATION
      FC4E 26   FC               BNE    LECIN3
      FC50 C6   0B               LDB    #$0B
      FC52 F7   F600             STB    STRCR     APPLIQUE LA COMMANDE
      FC55 39                    RTS
                         *******************************************************
                         * INITIALISATION FLOPPY A CHAUD                       *
                         *******************************************************
      FC56 86   FF       HOTINI  LDA    #$FF
      FC58 B7   F680             STA    PIA1DA    PIA1 EN SORTIE 
      FC5B 86   04               LDA    #4
      FC5D B7   F681             STA    PIA1CA    SELECTIONNE CR 
      FC60 86   18               LDA    #$18
      FC62 B7   F680             STA    PIA1DA    MOTEUR ON FACE 0
      FC65 39                    RTS
                         *******************************************************
                         * DEMARRAGE DU MOTEUR                                 *
                         *******************************************************
      FC66 B6   F680     DEMOT   LDA    PIA1DA    CHARGE REGISTRE DATA PIA LECTEUR
      FC69 85   08               BITA   #8        TEST DU MOTEUR
      FC6B 26   10               BNE    DEMO1     MOTEUR EN MARCHE ?
      FC6D 8A   08               ORA    #8        NON, DEMARRE LE MOTEUR
      FC6F B7   F680             STA    PIA1DA    APPLIQUE LA COMMANDE  
      FC72 34   10               PSHS   X
      FC74 BE   EFB2             LDX    DEMAND    CHARGE LA TEMPO DE DEMARRAGE DU MOTEUR
      FC77 30   1F       DEMO2   LEAX   -1,X      COMPTE
      FC79 26   FC               BNE    DEMO2
      FC7B 35   10               PULS   X
      FC7D 86   78       DEMO1   LDA    #$78
      FC7F B7   EFB1             STA    INDMOT    INDICATEUR MOTEUR FLOPPY
      FC82 39                    RTS
                         *******************************************************
                         * FONCTIONS DE BASES DU CONTROLEUR DE DISQUETTES      *
                         *  FD1791 / MB 8876                                   *
                         ******************************************************* 
                         *******************************************************
                         * LECTURE SECTEUR                                     *
                         *******************************************************
      FC83 1A   10       LECSEC  ORCC   #$10      SET MASK IRQ
      FC85 8D   68               BSR    SEEK      SEEK SECTEUR A / PISTE B
      FC87 8D   5D               BSR    LECSE1    TEST DE SPOOLING? SWI3 SI BESOIN
      FC89 8D   DB               BSR    DEMOT     DEMARRE MOTEUR
      FC8B 86   80               LDA    #$80      COMMANDE LECTURE SECTEUR (6MS DELAY)
      FC8D B7   F600             STA    STRCR     APPLIQUE LA COMMANDE
      FC90 BD   FE25             JSR    DELAY     DELAY EN FONCTION DE LA DENSITE
      FC93 1F   B9               TFR    DP,B      SAUVE LE DP DANS B
      FC95 F7   EF8E             STB    MEMDP1    PUIS B DANS MEMDP1
      FC98 C6   F6               LDB    #$F6      CHARGE L'ADRESSE HAUTE DU CONTROLEUR
      FC9A 1F   9B               TFR    B,DP      DANS LE DP
                   00F6          SETDP  $F6
      FC9C D6   00       LECSE2  LDB    <STRCR    POINTE SUR LE REGISTRE DE CONTROLE
      FC9E C5   12               BITB   #$12      TEST SEEK ERROR ET DRQ
      FCA0 27   FA               BEQ    LECSE2    ATTENTE DONNEE PRESENTE
      FCA2 96   03       LECSE3  LDA    <DR       CHARGE LA DONNEE
      FCA4 A7   80               STA    0,X+      STOCKE EN MEMOIRE ET INCREMENTE
      FCA6 D6   00       LECSE4  LDB    <STRCR    POINTE SUR LE REGISTRE DE CONTROLE
      FCA8 C5   02               BITB   #2        TEST DRQ
      FCAA 26   F6               BNE    LECSE3    OK DONNEE SUIVANTE
      FCAC D6   00               LDB    <STRCR    POINTE SUR LE REGISTRE DE CONTROLE
      FCAE C5   02               BITB   #2        TEST DRQ
      FCB0 26   F0               BNE    LECSE3    OK DONNEE SUIVANTE
      FCB2 D6   00               LDB    <STRCR    POINTE SUR LE REGISTRE DE CONTROLE
      FCB4 C5   02               BITB   #2        TEST DRQ
      FCB6 26   EA               BNE    LECSE3    OK DONNEE SUIVANTE
      FCB8 D6   00               LDB    <STRCR    POINTE SUR LE REGISTRE DE CONTROLE
      FCBA C5   02               BITB   #2        TEST DRQ
      FCBC 26   E4               BNE    LECSE3    OK DONNEE SUIVANTE
      FCBE D6   00               LDB    <STRCR    POINTE SUR LE REGISTRE DE CONTROLE
      FCC0 C5   02               BITB   #2        TEST DRQ
      FCC2 26   DE               BNE    LECSE3    OK DONNEE SUIVANTE
      FCC4 C5   01               BITB   #1        TEST BUSY
      FCC6 26   DE               BNE    LECSE4    OUI, TOUJOURS EN ATTENTE
      FCC8 8D   14               BSR    LECSE5    ATTENTE PLUS BUSY
      FCCA C5   10               BITB   #$10      TEST CRC ERROR
      FCCC 27   06               BEQ    LECSE6    NON, PAS ERREUR, OK
      FCCE 96   80               LDA    <PIA1DA   CHARGE REGISTRE DATA PIA LECTEUR
      FCD0 88   10               EORA   #$10      INVERSE LA DENSITE
      FCD2 97   80               STA    <PIA1DA   STOCKE REGISTRE DATA PIA LECTEUR
      FCD4 B6   EF8E     LECSE6  LDA    MEMDP1    REPREND DP
      FCD7 1F   8B               TFR    A,DP      REPLACE DP
                   0000          SETDP  $00
      FCD9 C5   1C               BITB   #$1C      TEST ERREUR CRC? NOT FOUND/DATA LOST
      FCDB 1C   EF               ANDCC  #$EF      EFFACE BIT ENTIER DU CC
      FCDD 39                    RTS
      FCDE F6   F600     LECSE5  LDB    STRCR     ATTENTE PLUS BUSY
      FCE1 C5   01               BITB   #1        TEST BUSY
      FCE3 26   F9               BNE    LECSE5    ATTENTE
      FCE5 39                    RTS
      FCE6 7D   CC34     LECSE1  TST    LCC34     TEST SI SPOOLING ACTIF ?
      FCE9 27   03               BEQ    LFCEC     NON, SAUTE
      FCEB 113F                  SWI3             INTERRUPTION SPOOLING
      FCED 12                    NOP
      FCEE 39            LFCEC   RTS              RETOUR
                         *******************************************************
                         * SEEK SECTEUR CONTENU DANS A ET PISTE CONTENUE DANS B*
                         *******************************************************
      FCEF F7   F602     SEEK    STB    SCR       COPIE B DANS LE REGISTRE DE PISTE
      FCF2 34   04               PSHS   B         SAUVEGARDE B DANS LA PILE
      FCF4 F6   F680             LDB    PIA1DA    CHARGE LE REGISTRE PIA DU FLOPPY  
      FCF7 C4   10               ANDB   #$10      TEST DU BIT DE DOUBLE DENSITE
      FCF9 26   09               BNE    SEEK1     SAUT SI SD
                         * DOUBLE DENSITE
      FCFB 35   04               PULS   B         REPRISE DE B
      FCFD F1   EFB7             CMPB   NSECT2    COMPARE AU NB DE SECTEUR/FACE EN DD
      FD00 23   13               BLS    SEEK2
      FD02 20   07               BRA    SEEK3
                         * SIMPLE DENSITE
      FD04 35   04       SEEK1   PULS   B         REPRISE DE B
      FD06 F1   EFB6             CMPB   NSECT1    COMPARE AU NB DE SECTEUR/FACE EN SD
      FD09 23   0A               BLS    SEEK2
      FD0B F6   F680     SEEK3   LDB    PIA1DA    CHARGE LE REGISTRE PIA DU FLOPPY 
      FD0E CA   04               ORB    #4        ACTIVE LA FACE 1
      FD10 F7   F680             STB    PIA1DA    APPLIQUE LA COMMANDE 
      FD13 20   08               BRA    SEEK4
      FD15 F6   F680     SEEK2   LDB    PIA1DA    CHARGE LE REGISTRE PIA DU FLOPPY 
      FD18 C4   FB               ANDB   #$FB      ACTIVE LA FACE 0
      FD1A F7   F680             STB    PIA1DA    APPLIQUE LA COMMANDE 
      FD1D C6   96       SEEK4   LDB    #$96      CHARGE UNE TEMPO
      FD1F 5A            SEEK5   DECB
      FD20 26   FD               BNE    SEEK5
      FD22 5F                    CLRB
      FD23 34   10               PSHS   X         SAUVE X DANS LA PILE
      FD25 B7   F603             STA    DR        STOCKE LE SECTEUR DANS LE REGISTRE
      FD28 BD   FE25             JSR    DELAY
      FD2B 86   1B               LDA    #$1B      COMMANDE DE SEEK SECTEUR
      FD2D F6   EF8C     SEEK6   LDB    ACTDRV    CHARGE LE LECTEUR ACTIF
      FD30 8E   EF88             LDX    #VLECT0
      FD33 3A                    ABX              CALCULE LE LECTEUR ACTIF
      FD34 E6   84               LDB    0,X       CHARGE SAUT DE PISTE DU LECTEUR ACTIF
      FD36 CA   FC               ORB    #$FC      CONSTRUIT LE MASQUE DE SAUT DE PISTE
      FD38 F7   EF8D             STB    TRKJMP    MEMORISE LE MASQUE DE SAUT DE PISTE
      FD3B B4   EF8D             ANDA   TRKJMP    COMMANDE SEEK AVEC SAUT DE PISTE
      FD3E B7   F600             STA    STRCR     APPLIQUE LA COMMANDE
      FD41 BD   FE25             JSR    DELAY
      FD44 35   10               PULS   X         RECUPERE X
      FD46 8D   96               BSR    LECSE5    ATTENTE PLUS BUSY
      FD48 C4   40               ANDB   #$40      TEST DU BIT WRITE PROTECT
      FD4A 39                    RTS
                         ******************************************************* 
                         * ECRITURE D'UN SECTEUR                               *
                         *******************************************************
      FD4B 1A   10       ECRSEC  ORCC   #$10      SET MASK IRQ
      FD4D 8D   A0               BSR    SEEK      SEEK SECTEUR A / PISTE B
      FD4F 26   56               BNE    ECRSE1    SAUTE SI ERREUR
      FD51 8D   93               BSR    LECSE1    TEST DE SPOOLING? SWI3 SI BESOIN
      FD53 BD   FC66             JSR    DEMOT     DEMARRE MOTEUR
      FD56 86   A0               LDA    #$A0      COMMANDE ECRITURE SECTEUR (6MS DELAY)
      FD58 B7   F600             STA    STRCR     APPLIQUE LA COMMANDE
      FD5B BD   FE25             JSR    DELAY     DELAY EN FONCTION DE LA DENSITE
      FD5E 1F   B9               TFR    DP,B      SAUVE LE DP DANS B
      FD60 F7   EF8E             STB    MEMDP1    PUIS B DANS MEMDP1
      FD63 C6   F6               LDB    #$F6      CHARGE L'ADRESSE HAUTE DU CONTOLEUR
      FD65 1F   9B               TFR    B,DP      DANS LE DP
                   00F6          SETDP  $F6
      FD67 A6   80               LDA    0,X+      LIT LA MEMOIRE ET INCREMENTE
      FD69 D6   00       ECRSE2  LDB    <STRCR    POINTE SUR LE REGISTRE DE CONTROLE
      FD6B C5   12               BITB   #$12      TEST SEEK ERROR ET DRQ
      FD6D 27   FA               BEQ    ECRSE2    ATTENTE DONNEE A ECRIRE
      FD6F 97   03       ECRSE3  STA    <DR       ECRIT LA DONNEE
      FD71 A6   80               LDA    0,X+      CHARGE LA DONNEE SUIVANTE
      FD73 D6   00       ECRSE4  LDB    <STRCR    POINTE SUR LE REGISTRE DE CONTROLE
      FD75 C5   02               BITB   #2
      FD77 26   F6               BNE    ECRSE3
      FD79 D6   00               LDB    <STRCR    POINTE SUR LE REGISTRE DE CONTROLE
      FD7B C5   02               BITB   #2        TEST DRQ
      FD7D 26   F0               BNE    ECRSE3    OK DONNEE SUIVANTE
      FD7F D6   00               LDB    <STRCR    POINTE SUR LE REGISTRE DE CONTROLE
      FD81 C5   02               BITB   #2        TEST DRQ
      FD83 26   EA               BNE    ECRSE3    OK DONNEE SUIVANTE
      FD85 D6   00               LDB    <STRCR    POINTE SUR LE REGISTRE DE CONTROLE
      FD87 C5   02               BITB   #2        TEST DRQ
      FD89 26   E4               BNE    ECRSE3    OK DONNEE SUIVANTE
      FD8B D6   00               LDB    <STRCR    POINTE SUR LE REGISTRE DE CONTROLE
      FD8D C5   02               BITB   #2        TEST DRQ
      FD8F 26   DE               BNE    ECRSE3    OK DONNEE SUIVANTE
      FD91 C5   01               BITB   #1        TEST BUSY
      FD93 26   DE               BNE    ECRSE4    OUI, TOUJOURS EN ATTENTE
      FD95 17   FF46             LBSR   LECSE5    NON, PAS ERREUR, OK
      FD98 C5   10               BITB   #$10      TEST SI ERREUR NOT FOUND 
      FD9A 27   06               BEQ    ECRSE5    NON, PAS ERREUR, OK
      FD9C 96   80               LDA    <PIA1DA   CHARGE REGISTRE DATA PIA LECTEUR
      FD9E 88   10               EORA   #$10      INVERSE LA DENSITE
      FDA0 97   80               STA    <PIA1DA   STOCKE REGISTRE DATA PIA LECTEUR
      FDA2 B6   EF8E     ECRSE5  LDA    MEMDP1    REPREND DP
      FDA5 1F   8B               TFR    A,DP      REPLACE DP
                   0000          SETDP  $00
      FDA7 C5   5C       ECRSE1  BITB   #$5C      TEST SI ERREUR OU WRITE PROTECT
      FDA9 1C   EF               ANDCC  #$EF      EFFACE BIT ENTIER DU CC
      FDAB 39                    RTS
                         *******************************************************
                         * VERIFICATION D'UN SECTEUR                           *
                         *******************************************************
      FDAC 1A   10       VERSEC  ORCC   #$10      SET MASK IRQ
      FDAE BD   FCE6             JSR    LECSE1    TEST DE SPOOLING? SWI3 SI BESOIN
      FDB1 86   80               LDA    #$80      COMMANDE DE LECTURE SECTEUR
      FDB3 B7   F600             STA    STRCR     APPLIQUE LA COMMANDE
      FDB6 8D   6D               BSR    DELAY     DELAY EN FONCTION DE LA DENSITE
      FDB8 BD   FCDE             JSR    LECSE5    ATTENTE PLUS BUSY
      FDBB 1C   EF               ANDCC  #$EF      EFFACE BIT ENTIER DU CC
      FDBD C5   58               BITB   #$58      TEST WRITE PROTECT, CRC ET SEEK ERR
      FDBF 39                    RTS
                         *******************************************************
                         * RESTORE PISTE 0                                     *
                         *******************************************************
      FDC0 34   10       PIST0   PSHS   X         SAUVE X DANS LA PILE
      FDC2 8D   09               BSR    SELECT    SELECTIONNE LE LECTEUR ACTIF
      FDC4 8D   57               BSR    RESTO1    CALCULE LA PISTE ACTIVE
      FDC6 6F   84               CLR    0,X       MET LA MEMOIRE DE PISTE ACTIVE A ZERO
      FDC8 86   0B               LDA    #$0B      COMMANDE DE RESTORE
      FDCA 7E   FD2D             JMP    SEEK6
                         *******************************************************
                         * SELECTION DU LECTEUR                                *
                         *******************************************************
      FDCD A6   03       SELECT  LDA    3,X       CHARGE LE NUMERO LECTEUR DANS LE FCB
      FDCF 81   03               CMPA   #3        SUPERIEUR A 3 ?
      FDD1 23   05               BLS    SELEC1    NON, DRIVE OK
      FDD3 C6   0F       SELEC3  LDB    #$0F
      FDD5 1A   01               ORCC   #1
      FDD7 39                    RTS
      FDD8 8E   EF88     SELEC1  LDX    #VLECT0
      FDDB 30   86               LEAX   A,X       CALCULE SAUT DE PISTE DU LECTEUR ACTIF
      FDDD E6   84               LDB    0,X       CHARGE LE SAUT DE PISTE APPLICABLE
      FDDF C4   80               ANDB   #$80      TEST SI PRESENT
      FDE1 27   F0               BEQ    SELEC3    LECTEUR NON CONNECTE
      FDE3 8D   38               BSR    RESTO1    CALCUL PISTE ACTIVE DU LECTEUR ACTIF 
      FDE5 F6   F601             LDB    TR        PREND PISTE ACTIVE DANS LE CONTROLEUR
      FDE8 E7   84               STB    0,X       SAUVEGARDE LA PISTE ACTIVE
      FDEA B7   EF8C             STA    ACTDRV    SAUVEGARDE LE LECTEUR ACTIF
      FDED B6   F680             LDA    PIA1DA    CHARGE LE REGISTRE PIA DU FLOPPY 
      FDF0 84   FC               ANDA   #$FC      EFFACE LE LECTEUR ACTIF
      FDF2 BA   EF8C             ORA    ACTDRV    APPLIQUE LE NOUVEAU LECTEUR ACTIF
      FDF5 B7   F680             STA    PIA1DA    APPLIQUE LA COMMANDE 
      FDF8 8D   23               BSR    RESTO1    CALCUL PISTE ACTIVE DU LECTEUR ACTIF 
      FDFA A6   84               LDA    0,X       PREND LA PISTE ACTIVE EN MEMOIRE
      FDFC B7   F601             STA    TR        ET LA DONNE AU CONTROLEUR
      FDFF 8D   24               BSR    DELAY
      FE01 20   16               BRA    SELEC4
                         *******************************************************
                         * TEST READY                                          *
                         *******************************************************
      FE03 A6   03       TETRDY  LDA    3,X       CHARGE NUMERO DE LECTEUR DANS LE FCB
      FE05 34   10               PSHS   X         SAUVE X DANS LA PILE
      FE07 8E   EF88             LDX    #VLECT0
      FE0A 30   86               LEAX   A,X       CALCULE SAUT DE PISTE LECTEUR ACTIF
      FE0C E6   84               LDB    0,X       CHARGE LE SAUT DE PISTE APPLICABLE
      FE0E 35   10               PULS   X         REMET x 
      FE10 C4   80               ANDB   #$80      TEST SI LECTEUR PRESENT
      FE12 26   05               BNE    SELEC4    OK, LECTEUR PRESENT
      FE14 C6   80               LDB    #$80      CODE ERREUR
      FE16 1A   01               ORCC   #1        MET LA CARRY A 1
      FE18 39                    RTS
      FE19 5F            SELEC4  CLRB             OK, DRIVE READY
      FE1A 1C   FE               ANDCC  #$FE      EFFACE LA CARRY
      FE1C 39                    RTS
                         ******************************************************
                         * CALCUL PISTE ACTIVE DU LECTEUR ACTIF                *
                         *******************************************************
      FE1D 8E   EF80     RESTO1  LDX    #TRKBUF   CHARGE L'ORIGINE DU BUFFER
      FE20 F6   EF8C             LDB    ACTDRV    CHARGE LE NUMERO DE DRIVE ACTIF
      FE23 3A                    ABX              CALCULE POSITION DE MEMOIRE DE PISTE
      FE24 39                    RTS
                         *******************************************************
                         * DELAY DE 2 OU 6 BOUCLES EN FONCTION DE LA DENSITE   *
                         *******************************************************
      FE25 F6   F680     DELAY   LDB    PIA1DA    CHARGE LE REGISTRE PIA DU FLOPPY 
      FE28 C5   10               BITB   #$10      TEST DU BIT DE DOUBLE DENSITE
      FE2A 26   04               BNE    DELA1     SI SIMPLE DENSITE
      FE2C C6   02               LDB    #2        SI DOUBLE DENSITE, DELAY DE 2 BOUCLES
      FE2E 20   02               BRA    DELA2     SAUTE
      FE30 C6   06       DELA1   LDB    #6        SI SIMPLE DENSITE, DELAY DE 6 BOUCLES
      FE32 5A            DELA2   DECB             DECREMENTE
      FE33 26   FD               BNE    DELA2     BOUCLE
      FE35 39                    RTS
                         *******************************************************
                         * SOUS PROGRAMME GENERE PAR UNE INTERRUPTION IRQ      *
                         *  RELIEE AU TIMER ET AU CLAVIER                      *
                         ******************************************************* 
      FE36 1A   10       IRQVEC  ORCC   #$10
      FE38 B6   F683             LDA    PIA1CB    CHARGE REGISTRE DE CONTROL PIA CLAVIER
      FE3B 85   40               BITA   #$40      TEST LE FLAG IRQ
      FE3D 27   1E               BEQ    IRQVE1    IRQ EN PROVENANCE DU CLAVIER ?
                         * OUI, IRQ EN PROVENANCE DU CLAVIER
                         * C'EST LA TEMPO DE MARCHE DU MOTEUR DU FLOPPY
      FE3F B6   F682             LDA    PIA1DB    CHARGE LE CARACTERE EN ATTENTE 
      FE42 BD   F891             JSR    SHORL1    DESACTIVATION INTERRUPTION HORLOGE
      FE45 8D   2B               BSR    CALHEU
      FE47 BD   FABC             JSR    AFFHEU
      FE4A 86   09               LDA    #9
      FE4C B7   F64F             STA    INTERH    RECHARGE DEMANDE INTERRUPTION 60SEC
      FE4F 7A   EFB1             DEC    INDMOT    DECREMENTE MEMOIRE MOTEUR DE FLOPPY
      FE52 2A   08               BPL    IRQVE2    TERMINE
      FE54 B6   F680             LDA    PIA1DA    CHARGE LE REGISTRE DU PIA FLOPPY  
      FE57 84   F7               ANDA   #$F7      ARRET DU MOTEUR
      FE59 B7   F680             STA    PIA1DA    APPLIQUE LA COMMANDE 
      FE5C 3B            IRQVE2  RTI
                         * IRQ NE VIENT PAS DU CLAVIER
      FE5D B6   F6C9     IRQVE1  LDA    TMRCR2    CHARGE LE REGISTRE DE CONTROL DU TIMER
      FE60 85   80               BITA   #$80      LRQ MASQUEE ?
      FE62 27   06               BEQ    IRQVE3    OUI, PAS D'IRQ SPOOLING
      FE64 BE   F6CA             LDX    TMRT1L    REINITIALISE LE COMPTEUR
      FE67 7E   C700             JMP    ASPOOL    TRANSFER AU SP DE SPOOLING
      FE6A 6E   9F EFF4  IRQVE3  JMP    [IRQFLX]  VOIR LES IRQ FLEX
                         *******************************************************
                         * REDIRECTION VERS LE SP IRQ UTILISATEUR              *
                         *  ADRESSE $EFF2  INITIALISE A RTI                    *
                         ******************************************************* 
      FE6E 6E   9F EFF2  CTRIRQ  JMP    [IRQUTI]  SAUTE VERS UNE ROUTINE IRQ UTILISATEUR
                         *******************************************************
                         * ROUTINES CALCUL HEURE HORLOGE TEMPS REEL (MM58174)  *
                         *  N’EST SONT PAS DANS LA ROM V1 DU MONITEUR        *
                         ******************************************************* 
      FE72 8E   F642     CALHEU  LDX    #HORLO+2  POINTE X SUR R2 DU 58174

      FE75 108E EFCD             LDY    #MEMHTR   POINTE Y SUR MEMOIRE CORRESPONDANTE

      FE79 C6   0B               LDB    #$0B      11 REGISTRES À LIRE

      FE7B A6   84               LDA    0,X

      FE7D A6   80       CALHE1  LDA    0,X+      CHARGE LA VALEUR DE L’HORLOGE

      FE7F 84   0F               ANDA   #$0F      FILTRE

      FE81 8A   30               ORA    #$30      CONVERTI EN ASCII

      FE83 81   39               CMPA   #$39      TEST INF A 9

      FE85 22   07               BHI    AFFHE2

      FE87 A7   A0               STA    0,Y+      MEMORISE

      FE89 5A                    DECB             SUIVANT

      FE8A 26   F1               BNE    CALHE1    LOOP

      FE8C 20   1A               BRA    AFFHE5

                         

      FE8E 8E   F642     AFFHE2  LDX    #HORLO+2  POINTE X SUR R2 DU 58174

      FE91 108E EFCD             LDY    #MEMHTR   POINTE Y SUR MEMOIRE CORRESPONDANTE

      FE95 C6   0B               LDB    #$0B      11 REGISTRES À LIRE

      FE97 A6   80       AFFHE3  LDA    0,X+      CHARGE LA VALEUR DE L’HORLOGE

      FE99 84   0F               ANDA   #$0F      FILTRE

      FE9B 8A   30               ORA    #$30      CONVERTI EN ASCII

      FE9D 81   39               CMPA   #$39      TEST INF A 9

      FE9F 23   02               BLS    AFFHE4    OK

      FEA1 86   30               LDA    #$30      ERREUR MET ZERO 

      FEA3 A7   A0       AFFHE4  STA    0,Y+      MEMORISE

      FEA5 5A                    DECB             SUIVANT

      FEA6 26   EF               BNE    AFFHE3    LOOP

      FEA8 8E   EFBA     AFFHE5  LDX    #HEURE    POINT X SUR L’HEURE

      FEAB 108E EFCD             LDY    #MEMHTR   POINTE Y SUR LA MEMOIRE

      FEAF A6   25               LDA    5,Y       CHARGE 10 HEURES

      FEB1 A7   84               STA    0,X       MEMORISE

      FEB3 A6   24               LDA    4,Y       CHARGE HEURE

      FEB5 A7   01               STA    1,X       MEMORISE

      FEB7 A6   23               LDA    3,Y       CHARGE 10 MINUTES

      FEB9 A7   03               STA    3,X       MEMORISE

      FEBB A6   22               LDA    2,Y       CHARGE MINUTES

      FEBD A7   04               STA    4,X       MEMORISE

      FEBF A6   21               LDA    1,Y       CHARGE 10 SECONDES

      FEC1 A7   06               STA    6,X       MEMORISE

      FEC3 A6   A4               LDA    0,Y       CHARGE SECONDES

      FEC5 A7   07               STA    7,X       MEMORISE

      FEC7 A6   27               LDA    7,Y       CHARGE 10 JOURS

      FEC9 A7   09               STA    9,X       MEMORISE

      FECB A6   26               LDA    6,Y       CHARGE JOURS

      FECD A7   0A               STA    10,X      MEMORISE

      FECF A6   2A               LDA    10,Y      CHARGE 10 MOIS

      FED1 A7   0C               STA    12,X      MEMORISE

      FED3 A6   29               LDA    9,Y       CHARGE MOIS

      FED5 A7   0D               STA    13,X      MEMORISE

      FED7 39                    RTS

                         *******************************************************
                         *   CONTROLE DE TIMER QUI GENERE LES INTERRUPTION     *
                         *   POUR LE SPOOLING                                  *
                         ******************************************************* 
                         * ARRET TIMER                                         *
                         *******************************************************
      FED8 4F            TMROFF  CLRA
      FED9 B7   F6C8             STA    TMRCR1    ARRET DES INTERRUPTION
      FEDC 39                    RTS
                         *******************************************************
                         * DEMARRAGE TIMER                                     *
                         *******************************************************
      FEDD 86   40       TMRON   LDA    #$40      AUTORISE L'INTERRUPTION PAR IRQ
      FEDF B7   F6C8             STA    TMRCR1    APPLIQUE LA COMMANDE
      FEE2 BE   EFB4             LDX    VSPOOL    INIT A $2710 + 10000 NS
      FEE5 BF   F6CA             STX    TMRT1L    APPLIQUE LA COMMANDE
      FEE8 39            TMRINIT RTS
                         *******************************************************
                         * $FE9D : COMMANDE MONITEUR "D"                       *
                         * POINT DE DEMARRAGE DU FLEX A FROID                  *
                         *******************************************************
      FEE9 BD   FC1E     CMDD    JSR    LECINI    INITIALISATION DU LECTEUR

      FEEC 8E   EF89             LDX    #VLECT1   CHARGEMENT DU TIMING DE SAUT DE PISTE

      FEEF BD   FDC0             JSR    PIST0     SE POSITIONNE EN PISTE 0

      FEF2 8E   0000             LDX    #$0000    BOUCLE D'ATTENTE

      FEF5 30   1F       MOND1   LEAX   -1,X

      FEF7 26   FC               BNE    MOND1

      FEF9 F6   F600     MOND2   LDB    STRCR     CHARGE LE CR DU CONTROLEUR DE FLOPPY

      FEFC C5   01               BITB   #1        TEST LE BIT 1 BUSY

      FEFE 26   F9               BNE    MOND2     BOUCLE TANT QUE BUSY

      FF00 CC   0001             LDD    #$0001    PISTE 0 SECTEUR 1

      FF03 8E   C100             LDX    #ADCMD    ADRESSE COMMANDE FLEX

      FF06 BD   FC83             JSR    LECSEC    LECTURE DU SECTEUR

      FF09 7E   C100             JMP    ADCMD     SAUT POUR EXECUTION DU BOOT LOADER

                         *******************************************************

                         * $FEC1 : COMMANDE MONITEUR "G"                       *

                         * LANCEMENT DU PROGRAMME A L'ADRESSE INDIQUEE         *

                         *******************************************************

      FF0C 8D   40       CMDG    BSR    BADDR     CHARGE UNE ADRESSE AU CLAVIER

      FF0E 29   02               BVS    CMDG1     TEST SI ERREUR OVERFLOW

      FF10 AD   84               JSR    0,X

      FF12 39            CMDG1   RTS

                         *******************************************************

                         * $FEC8 : COMMANDE MONITEUR "M"                       *

                         * MODIFIE UNE CASE MEMOIRE                            *

                         *******************************************************

      FF13 8D   39       CMDM    BSR    BADDR     CHARGE UNE ADRESSE AU CLAVIER

      FF15 29   FB               BVS    CMDG1     TEST SI ERREUR OVERFLOW

      FF17 8D   31       MONM1   BSR    PRSPC     SORT UN ESPACE A L'ECRAN

      FF19 A6   84               LDA    0,X       CHARGE DANS A LE REGISTRE POINTE PAR X

     >FF1B BD   FF97             JSR    MONM2     AFFICHE A A L'ACRAN

      FF1E 8D   2A               BSR    PRSPC     SORT UN ESPACE A L'ECRAN

      FF20 8D   3C               BSR    BADDR1    LECTURE UN NOMBRE EXA 8 BITS

      FF22 28   19               BVC    MONM5     SAUTE SI PAS ERREUR OVERFLOW

      FF24 81   0B               CMPA   #$0B

      FF26 26   0A               BNE    MONM6     NON, SAUTE

      FF28 30   1F               LEAX   -1,X      REMONTE LE POINTEUR

      FF2A 8D   15               BSR    LFF3F

      FF2C 8D   13       LFF2A   BSR    LFF3F

      FF2E 8D   5F       MONM90  BSR    MONM9

      FF30 20   E5               BRA    MONM1

      FF32 81   0A       MONM6   CMPA   #$0A      COMPARE A RETOUR CHARIOT

      FF34 26   06               BNE    MONM7     NON, SAUTE

      FF36 30   01               LEAX   1,X       AVANCE LE POINTEUR

      FF38 8D   0B               BSR    PRCR      SAUTE UNE LIGNE

      FF3A 20   F2               BRA    MONM90    AFFICHE NOUVELLE ADRESSE

      FF3C 39            MONM7   RTS

      FF3D A7   80       MONM5   STA    0,X+      MODIFIE LA CASE MEMOIRE POINTEE

      FF3F 20   EB               BRA    LFF2A

      FF41 86   0A       LFF3F   LDA    #$0A      RETOUR CHARIOT

      FF43 8D   02               BSR    LFF45

      FF45 86   0D       PRCR    LDA    #$0D      RETOUR CHARIOT

      FF47 7E   F9EA     LFF45   JMP    SORECR

      FF4A 86   20       PRSPC   LDA    #$20      CARACTERE ESPACE

      FF4C 20   F9               BRA    LFF45

                         *******************************************************

                         * SOUS PROGRAMME LECTURE ADRESSE 16 BITS HEXA         *

                         *******************************************************

      FF4E 8D   0E       BADDR   BSR    BADDR1    LECTURE 2 CARACTERES HEXA

      FF50 29   3A               BVS    BADDR3    ETOUR SANS RIEN FAIRE SI ERREUR

      FF52 1F   01               TFR    D,X       CHARGE DANS X

      FF54 8D   08               BSR    BADDR1    LECTURE 2 CARACTERES HEXA

      FF56 29   34               BVS    BADDR3    RETOUR SANS RIEN FAIRE SI ERREUR

      FF58 34   10               PSHS   X

      FF5A A7   61               STA    1,S

      FF5C 35   90               PULS   X,PC      REPREND LE RESULTAT DANS X

      FF5E 8D   11       BADDR1  BSR    BADDR2    LECTURE 1 CARACTERE HEXA

      FF60 29   2A               BVS    BADDR3    RETOUR SANS RIEN FAIRE SI ERREUR

      FF62 48                    ASLA             DECALE

      FF63 48                    ASLA             4 

      FF64 48                    ASLA             FOIS

      FF65 48                    ASLA

      FF66 1F   89               TFR    A,B       TRANSFERE DANS B

      FF68 8D   07               BSR    BADDR2    LECTURE 1 CARACTERE HEXA

      FF6A 29   20               BVS    BADDR3    ETOUR SANS RIEN FAIRE SI ERREUR

      FF6C 34   04               PSHS   B         SAUVE B DANS LA PILE

      FF6E AB   E0               ADDA   0,S+      Y AJOUTE A POUR OBTENIR NOMBRE 8 BITS

      FF70 39                    RTS

      FF71 BD   F9E8     BADDR2  JSR    CLAV1     LECTURE CLAVIER

      FF74 81   30               CMPA   #$30      COMPARE A "0"

      FF76 25   14               BCS    BADDR3    TROP PETIT

      FF78 81   39               CMPA   #$39      COMPARE A "9"

      FF7A 22   03               BHI    BADDR4    PLUS GRAND

      FF7C 80   30               SUBA   #$30

      FF7E 39                    RTS

      FF7F 84   5F       BADDR4  ANDA   #$5F      MASQUE LES BITS 7 ET 8

      FF81 81   41               CMPA   #$41      COMPARE A "A"

      FF83 25   07               BCS    BADDR3    TROP PETIT

      FF85 81   46               CMPA   #$46      COMPARE A "F"

      FF87 22   03               BHI    BADDR3    TROP GRAND

      FF89 80   37               SUBA   #$37      RETIRE $37 DONNE VALEUR

      FF8B 39                    RTS

      FF8C 1A   02       BADDR3  ORCC   #2        CODE OVERFLOW

      FF8E 39                    RTS

                         *******************************************************

                         * SOUS PROGRAMME ECRITURE ADRESSE 16 BITS HEXA        *

                         *******************************************************

      FF8F 34   10       MONM9   PSHS   X

      FF91 35   02               PULS   A

      FF93 8D   02               BSR    MONM2

      FF95 35   02               PULS   A

      FF97 34   02       MONM2   PSHS   A         SAUVE A

      FF99 44                    LSRA             PREND LES

      FF9A 44                    LSRA             4

      FF9B 44                    LSRA             BITS DE GAUCHE

      FF9C 44                    LSRA

      FF9D 8D   04               BSR    MONM3     SORT A L'ECRAN 1ER CARACTERE

      FF9F 35   02               PULS   A         REPREND A

      FFA1 84   0F               ANDA   #$0F      PREND LES 4 BITS DE DROITE

      FFA3 8B   30       MONM3   ADDA   #$30      AJOUTE $30 POUR CODE ASCII

      FFA5 81   39               CMPA   #$39      COMPARE A "9"

      FFA7 2F   02               BLE    MONM4     OK, ON PEUT IMPRIMER

      FFA9 8B   07               ADDA   #7        AJOUTE 7

      FFAB 7E   F9EA     MONM4   JMP    SORECR

                         *******************************************************
                         * JUMP VECTEURS D'INTERRUPTION                        *
                         *******************************************************
      FFAE 6E   9F EFF6  SWI3VE  JMP    [SWI3]
      FFB2 6E   9F EFF8  SWI2VE  JMP    [SWI2]
      FFB6 6E   9F EFFA  SWIVEC  JMP    [SWI]
      FFBA 6E   9F EFFC  NMIVEC  JMP    [NMI]
      FFBE 6E   9F EFFE  FIRQVE  JMP    [FIRQ]

                         *******************************************************
                         * INITIALISATION DES INTERRUPTIONS SYSTEME            *
                         *******************************************************
                         * TOUTES LES INTERRUPTIONS SONT INITIALISEES          *
                         * SUR LE MEME VECTEUR $FE74SUR UN RTI                 *
                         *******************************************************
      FFC2 8E   FE5C     INITIRQ LDX    #IRQVE2
      FFC5 BF   EFF2             STX    IRQUTI
      FFC8 BF   EFF4             STX    IRQFLX
      FFCB BF   EFF6             STX    SWI3
      FFCE BF   EFF8             STX    SWI2
      FFD1 BF   EFFA             STX    SWI
      FFD4 BF   EFFC             STX    NMI
      FFD7 BF   EFFE             STX    FIRQ
      FFDA 39                    RTS
                         *******************************************************
                         * ????????????????????????????????                    *
                         *******************************************************
      FFDB 17 20 D8 BD           FCB    $17,$20,$D8,$BD
      FFDF 20 29 20 D3           FCB    $20,$29,$20,$D3
      FFE3 BD 21 18 8E           FCB    $BD,$21,$18,$8E
      FFE7 32 ED BD 20           FCB    $32,$ED,$BD,$20
      FFEB 23 8E 32 46           FCB    $23,$8E,$32,$46
      FFEF BF 32 EB              FCB    $BF,$32,$EB
                         *******************************************************
                         * VECTEURS D'INTERRUPTION HARDWARE                    *
                         *******************************************************
      FFF2                       ORG    $FFF2
      FFF2 FFAE                  FDB    SWI3VE    $FFAE
      FFF4 FFB2                  FDB    SWI2VE    $FFB2
      FFF6 FFBE                  FDB    FIRQVE    $FFBE
      FFF8 FE36                  FDB    IRQVEC    $FE36
      FFFA FFB6                  FDB    SWIVEC    $FFB6
      FFFC FFBA                  FDB    NMIVEC    $FFBA
      FFFE F8B2                  FDB    START     $F8B2
                         *******************************************************
    
    0 ERREUR(S) DETECTEE(S)
    
    TABLE DES SYMBOLES :
    
    ACIAAC F506   ACIABC F50C   ACTDRV EF8C   ADCMD  C100   AFFHE1 FACD   
    AFFHE2 FE8E   AFFHE3 FE97   AFFHE4 FEA3   AFFHE5 FEA8   AFFHEU FABC   
    ASPOOL C700   BADDR  FF4E   BADDR1 FF5E   BADDR2 FF71   BADDR3 FF8C   
    BADDR4 FF7F   BUFCUH EFA5   BUFCUL EFA6   BUFOFH EFA9   BUFOFL EFAA   
    BUFUPH EFA7   BUFUPL EFA8   CALHE1 FE7D   CALHEU FE72   CARACT EFAC   
    CBLINK EFB9   CLAV1  F9E8   CLAV2  F9D8   CMDD   FEE9   CMDF   F91A   
    CMDG   FF0C   CMDG1  FF12   CMDM   FF13   CR     000D   CTRIRQ FE6E   
    CTRL07 FAF3   CTRL08 FB0A   CTRL09 FB22   CTRL10 FB2F   CTRL11 FB35   
    CTRL12 FB41   CTRL13 FB70   CTRL14 FB76   CTRL15 FB89   CTRL16 FBA6   
    CTRL17 FBB8   CTRL20 FBD7   CTRL21 FBE7   CTRL22 FBF1   CTRL23 FBF7   
    CTRL24 FBFB   CTRL25 FC09   CTRL28 FC15   CTRLNA FAF2   DELA1  FE30   
    DELA2  FE32   DELAY  FE25   DEMAND EFB2   DEMO1  FC7D   DEMO2  FC77   
    DEMOT  FC66   DR     F603   DVIDEO F200   ECRSE1 FDA7   ECRSE2 FD69   
    ECRSE3 FD6F   ECRSE4 FD73   ECRSE5 FDA2   ECRSEC FD4B   EFFDAT FBCF   
    EOT    0004   ETOILE F93F   FCURSO EFB8   FIRQ   EFFE   FIRQVE FFBE   
    FLGCU0 F000   FLGCU1 F001   HEURE  EFBA   HORLO  F640   HOTINI FC56   
    HOTMO2 F8ED   HOTMO3 F8F0   HOTMO4 F906   HOTMO5 F911   HOTMO6 F916   
    HOTMON F800   INDMOT EFB1   INIES  F992   INISER F8A3   INITAB F8AC   
    INITIR FFC2   INTERH F64F   IPIA2A F884   IRQFLX EFF4   IRQUTI EFF2   
    IRQVE1 FE5D   IRQVE2 FE5C   IRQVE3 FE6A   IRQVEC FE36   JUMP1  FA01   
    KEYCOD F943   LC8BE  C8BE   LCC34  CC34   LECIN1 FC28   LECIN2 FC31   
    LECIN3 FC4C   LECINI FC1E   LECSE1 FCE6   LECSE2 FC9C   LECSE3 FCA2   
    LECSE4 FCA6   LECSE5 FCDE   LECSE6 FCD4   LECSEC FC83   LEFCB  EFCB   
    LEFCC  EFCC   LF     000A   LF9AC  F9AE   LFB07  FB09   LFB0E  FB10   
    LFB14  FB16   LFB2A  FB2C   LFBE3  FBE5   LFBEA  FBEC   LFBF8  FBFA   
    LFCEC  FCEE   LFF2A  FF2C   LFF3F  FF41   LFF45  FF47   LIGN   EFAB   
    LOOP1  F8D7   MEMDP1 EF8E   MEMHTR EFCD   MOND1  FEF5   MOND2  FEF9   
    MONM1  FF17   MONM2  FF97   MONM3  FFA3   MONM4  FFAB   MONM5  FF3D   
    MONM6  FF32   MONM7  FF3C   MONM9  FF8F   MONM90 FF2E   NMI    EFFC   
    NMIVEC FFBA   NSECT1 EFB6   NSECT2 EFB7   PIA1CA F681   PIA1CB F683   
    PIA1DA F680   PIA1DB F682   PIA2CA F6D1   PIA2DA F6D0   PIST0  FDC0   
    PRCR   FF45   PRSPC  FF4A   PSTRN1 FAF1   PSTRNG FAE6   RESTO1 FE1D   
    SCR    F602   SCROLL EFA4   SEEK   FCEF   SEEK1  FD04   SEEK2  FD15   
    SEEK3  FD0B   SEEK4  FD1D   SEEK5  FD1F   SEEK6  FD2D   SELEC1 FDD8   
    SELEC3 FDD3   SELEC4 FE19   SELECT FDCD   SHORL1 F891   SOREC1 FA19   
    SOREC2 FA03   SOREC3 FA13   SORECR F9EA   SOUND  EFAD   STACKS EF7F   
    START  F8B2   STRCR  F600   SWI    EFFA   SWI2   EFF8   SWI2VE FFB2   
    SWI3   EFF6   SWI3VE FFAE   SWIVEC FFB6   TABLE1 F94F   TABLE2 ED80   
    TABLE3 EE80   TABLE5 F846   TBLCRT EF90   TETRDY FE03   TEXTE1 F91D   
    TMRCR1 F6C8   TMRCR2 F6C9   TMRINI FEE8   TMROFF FED8   TMRON  FEDD   
    TMRT1L F6CA   TMRT2L F6CC   TMRT3L F6CE   TR     F601   TRKBUF EF80   
    TRKJMP EF8D   TSCRO2 FA66   TSCRO3 FA74   TSCRO4 FA7B   TSCRO5 FAA5   
    TSCRO6 FAAD   TSCROL FA55   TSOUND EFAF   TSTCLA F9CF   TSTCTR FADA   
    TSTMAN F890   UPDCR1 FB68   UPDCRT FA2D   VERSEC FDAC   VLECT0 EF88   
    VLECT1 EF89   VSPOOL EFB4   WARMS  CD03   
    
    
    
    
                                                                                                                                  