NOLIST
ORG 38000
;------------------
;- INITIALISATION -
;------------------
        CALL INIPROG
RECTSDR CALL MOTON
        CALL TST2DR
        CALL MOTOFF
        CALL OUNO
        JR NC,RECTSDR
;
;- Affichage menu -
;
MENU    LD HL,TMENU
        CALL PRT
        CALL PRTDRIV
TSTMENU CALL MOTOFF
        CALL #BB06
        PUSH AF
        CALL MOTON
RETERR  LD HL,TEFFLB1
        CALL PRT
        LD HL,TCOMMAN
        LD IY,#0218
        CALL PRTLOC
        CALL RAZINTE
        POP AF
        AND #DF
        CP "A"
        CALL Z,TST2DR
        CP "B"
        CALL Z,CHGDRIV
        CP "C"
        CALL Z,TROICON
        CP "D"
        CALL Z,GOZERO
        CP "E"
        CALL Z,GOPISTE
        CP "Q"
        JR NZ,TSTMENU
        LD HL,TQUIT
        CALL PRT
        CALL OUNO
        JP C,MOTOFF
        JR TSTMENU
;
TCOMMAN DEFB 18,24," COMMANDE : ",24," ?",7,8,8+#80
TQUIT   DEFB " Fini"," "+#80
;---------------------------
;- ROUTINE TESTER 2 DRIVES -
;---------------------------
TST2DR  LD HL,TCOMDRV
        CALL PRT
        LD A,(DRSELEC) ;Pres.Dr. en cours
        PUSH AF
        XOR A
        LD (DRSELEC),A ;DR.A
;
;- Effectuer un test pour A et 1 pour B -
;
TST2DR1 CALL CALIBRE
        CALL TSTDRIV
        LD A,1
        LD (DRSELEC),A ;Dr.B
RECALI  CALL CALIBRE ;Test si actif
        CP #80       ;Si test etat apres CALIBRE=#80
        JR NZ,BALLUME ;B connecte mais eteint
;
        LD HL,TJEVEUB ;Interdire B:ETEINT
        CALL AFFERR
        JR RECALI
;
BALLUME CALL TSTDRIV   ;ET3=1=B debranche
;
;- Afficher l'etat drives -
;
AFRESDR LD A,"A"    ;Drive A
        LD DE,ETDRA ;ET3 pour drive A
;
        LD HL,TETDRV1
BCLAFRD PUSH AF
        PUSH AF
        CALL PRT    
        POP AF
        CALL INV
        CALL #BB5A   ;A ou B
        CALL SPACE
        CALL INV
        LD A,(DE)    ;ETDRA ou B
        CP #1        ;Si 1 . B HS.
        JR Z,DRBHS
        BIT 5,A      ;BIT 5 ET3=D.Miss.
        JR NZ,DREADY
        LD HL,TMISS
        CALL PRT     ;Aff.D.Miss. et fini
        JR FINDRIV
DREADY  LD HL,TPROT
        BIT 6,A      ;BIT 6
        JR NZ,OUIPROT ;1=WP
        LD HL,TNOPROT ;0=OK
OUIPROT CALL PRT
        LD HL,TECRIT
        CALL PRT
        LD HL,TPISTZ
DRBHS   CALL PRT  
;
FINDRIV CALL CR
        POP AF
        CP "B"
        JR Z,FINDR1
        INC DE
        INC A
        LD HL,TETDRIV
        JR BCLAFRD
FINDR1  POP AF         ;Recuperer Dr.en cours
        LD (DRSELEC),A 
        RET
;
TCOMDRV DEFB " Tester Drives"," "+#80
TETDRV1 DEFB 31,1,1
TETDRIV DEFB 24," Etat lecteur : ",24,18+#80
        DEFB " Pas de lecteur",7+#80
TMISS   DEFB " Disque manque !",7+#80
TPROT   DEFB " Prot","."+#80
TNOPROT DEFB " Read","y"+#80
TECRIT  DEFB " Ecritur","e"+#80
TPISTZ  DEFB " Sur piste : &0","0"+#80
TDRSELE DEFB 31,1,3,24," Drive choisi : A ",24+#80
TJEVEUB DEFB 24," ALLUMER DRIVE B ! ",24,7,13+#80
;-----------------------------
;- Changer le drive en cours -
;-----------------------------
CHGDRIV LD A,(DRSELEC)
        DEC A
        JR Z,DR0     ;1=0
        LD A,(ETDRB) ;Test si B OK
        CP 1
        RET Z
        LD A,1
        JR DR1
DR0     XOR A
DR1     LD HL,TCHGDR
        CALL PRT
        LD (DRSELEC),A
        ADD A,#41        ;Dec.ASC
        LD HL,TDRSELE+20
        LD (HL),A        ;Modif. text Dr.
        SUB #41  ;Aff.
        JP PRTDRIV
TCHGDR  DEFB " Change drive"," "+#80
;--------------------
;- ALLER EN PISTE 0 -
;--------------------
GOZERO  LD A,"0"
        CALL PRTGO
        CALL CALIBRE
PRTRES1 PUSH AF       ;Preserver flag RESULT
        CALL PRTBIN   ;Aff.ET0
        LD HL,TPSFIND
        CALL PRT
        LD A,(ET1)    ;Piste
        CALL PRTHEX1
        CALL AFFPIST
        POP AF        ;Recuperer flag
        JR NC,ERRPIST
;
INCPTPIS LD HL,PISTDRA ;Avance
        LD A,(ET1)     ;piste B
        JR INCPTR
INCPTET3 LD HL,ETDRA
INCPTR  PUSH AF
        CALL QUELDRV
        POP AF
        LD (HL),A
        RET
;
AFFPIST PUSH HL      ;Aff.P.face Dr.
        PUSH AF
        LD HL,#3001
        CALL QUELDRV
        CALL #BB75
        POP AF
        POP HL
        JP PRTHEX1
;
QUELDRV LD A,(DRSELEC) ;Inc. HL si B select.
        OR A
        RET Z
        INC HL
        RET
;
PRTGO   LD HL,TGOZERO
        CALL PRT
        CALL #BB5A
        JP SPACE
;
ERRPIST LD HL,TERRPIS
        JP PRTLOC2
;
TERRPIS DEFB 24,"  ERREUR  : ",24," Pas trouve piste ",7,13+#80
TGOZERO DEFB " Aller en piste : ","&"+#80
TPSFIND DEFB " Sur piste : " ,"&"+#80
;---------------------------
;- PLACER TETE SUR PISTE N -
;---------------------------
GOPISTE LD A,"N"       ;Aff.
        CALL PRTGO
        CALL #BB78     ;Memo.Pos.Cur.
        PUSH HL
NEWNUM  LD HL,TQUELPS  ;Input P.
        CALL INPUPRT2
        LD A,(PISTMAX) ;Test. > maxi
        LD B,A
        LD A,(VALEUR)
        CP B
        JR NC,NEWNUM   ;Oui
        CALL EFFLIN1   ;Non Eff.Input
        LD (PISTSEL),A
        POP HL         ;Pos.Cur.
        DEC H          ;Reculer de 2
        DEC H
        CALL #BB75
        LD A,(PISTSEL) 
        CALL PRTHEX1   ;Aff.Num.
;
        LD A,(NBTENT)
        LD B,A
BCLPIST CALL GOPISTN
        JR C,SURPIST   ;Si CARRY OK
        DEC B
        JR Z,FINPIS1   ;Echec apres N tent.Fini
        CALL RAZINTE
        CALL CALIBRE
        JR BCLPIST
;
SURPIST PUSH AF
        LD A,(PISTSEL) ;Pas erreur FDC
        PUSH BC
        LD B,A         ;Verifier piste
        LD A,(ET1)
        CP B
        POP BC
        JR Z,FINPIST   ;OK
        POP AF
        DEC B
        JR NZ,BCLPIST ;Si Z fini et erreur
FINPIST POP AF
FINPIS1 PUSH AF
        LD HL,TRETRY
        CALL PRT
        LD A,(NBTENT)
        DEC B
        SUB B
        CALL PRTHEX1
        POP AF
        JP PRTRES1
;
TQUELPS DEFB 18,"Numero de piste ?"," "+#80
TRETRY  DEFB " Tentatives : ","&"+#80
;
;***************************
;*** ANALYSE DES ERREURS ***
;***************************
;
;
;******************
;*** DIVERS FDC ***
;******************
;----------------------------------------------
;- TEMPORISATION DE A*27 Ms . STANDARD AMSDOS -
;----------------------------------------------
TEMPAMS PUSH AF
        LD A,12
        CALL TEMPMIL
        POP AF
        DEC A
        JR NZ,TEMPAMS
        LD A,15
        CALL TEMPMIL
        JR LITSTAT
;
TEMPMIL PUSH AF
        LD A,#F6
BCLTEMP DEC A
        JR NZ,BCLTEMP
        POP AF
        DEC A
        JR NZ,TEMPMIL
        RET
;---------------------------
;- RAZ CAUSES INTERRUPTION -
;---------------------------
RAZINTE CALL LITSTAT
        CP #80
        JR NZ,RAZINTE
        RET
;
;*****************************
;*** COMMANDES POUR LE FDC ***
;*****************************
;---------------------
;- TESTER ETAT DRIVE -
;---------------------
TSTDRIV CALL RAZINTE
        LD A,4
        CALL INSTRU1 ;Ins.+ dr.
        CALL RESULT
        JP INCPTET3
;----------------------------
;- LIRE CAUSE INTERRUPTIONS -
;----------------------------
LITSTAT LD A,#08
        CALL ENVOFDC
        JP RESULT
;---------------------------
;- PLACER TETE SUR PISTE 0 -
;---------------------------
CALIBRE LD A,7
        CALL INSTRU1
TEMP1   LD A,(WAITPIS)
        JP TEMPAMS
;-----------------------
;- PLACER TETE PISTE N -
;-----------------------
GOPISTN LD A,#F
        CALL INSTRU ;Ins.Dr.Ps.
        JR TEMP1
;***************************
;*** ROUTINES E/S DU FDC ***
;***************************
;- Ins.Dr.P.-
;
INSTRU  CALL ENVOFDC
        LD DE,(DRSELEC) ;E=Dr.D=P.
        LD A,E
        CALL ENVOFDC
        LD A,D
HOP     JP ENVOFDC
;
;- Idem drive -
;
INSTRU1 CALL ENVOFDC
        LD A,(DRSELEC)
        JR HOP
;-----------------------------------------------------------------------------
;- PHASE INSTRUCTION DU FDC . Attendre que le FDC soit pret et envoyer octet -
;-----------------------------------------------------------------------------
;--- Attendre que le FDC soit pret ---
;
ENVOFDC PUSH BC
        LD BC,#FB7E
        PUSH AF
        PUSH AF
        DI
WAITFDC IN A,(C)
        ADD A,A
        JR NC,WAITFDC
        ADD A,A
        JR NC,VEUTOCT
        EI
        POP AF
        POP AF
        POP BC
        RET
;
;--- Transmettre un octet instruction au FDC ---
;
VEUTOCT POP AF
        INC C
        OUT (C),A
        DEC C
        LD A,5
DIGERE  DEC A
        NOP
        JR NZ,DIGERE
        EI
        POP AF
        POP BC
        RET
;-----------------------------------------------------------------------------
;- PHASE EXECUTION ECRITURE . ENVOYER TOUS LES OCTETS DE DONNEES NECESSAIRES -
;-----------------------------------------------------------------------------
;
;--- Envoyer un octet de donnee au FDC ---
;
WRITFDC LD HL,(ADBUFF)
WRITFDC1 LD BC,#FB7E
        DI
        JR TESTFDC
;
BCLWRT  INC C
        LD A,(HL)
        OUT (C),A
        DEC C
        INC HL
;
;--- Tester si FDC Ready on est ici sur #FB7E registre d'etat ---
;
TESTFDC IN A,(C)
        JP P,TESTFDC
        AND #20
        JR NZ,BCLWRT
        EI
        RET
;--------------------------------------------------------------------
;- PHASE EXECUTION LECTURE . LIRE TOUS LES OCTETS DE DONNEES VOULUS -
;--------------------------------------------------------------------
LITFDC  LD HL,(ADBUFF)
LITFDC1 LD DE,(NBALIRE)
        LD BC,#FB7E
        DI
        JR TSTFDC1
;
BCLLITF DEC DE
        LD A,E
        OR D
        JR Z,TSTFDC1
        INC C
        IN A,(C)
        LD (HL),A
        DEC C
        INC HL
TSTFDC1 IN A,(C)
        JP P,TSTFDC1
        AND #20
        JR NZ,BCLLITF
        EI
        RET
;------------------------------------------------------
;- EXTRAIRE ET RANGER LES OCTETS DE LA PHASE RESULTAT -
;------------------------------------------------------
RESULT  PUSH BC
        LD BC,#FB7E
        PUSH HL
        PUSH DE
        LD D,0
        LD HL,ET0
        PUSH HL
        DI
JEBOSSE IN A,(C)
        CP #C0
        JR C,JEBOSSE
        INC C
        IN A,(C)
        LD (HL),A
        INC HL
        INC D
        DEC C
        LD A,5
TEMPRES DEC A
        JR NZ,TEMPRES
        IN A,(C)
        AND #10
        JR NZ,JEBOSSE
        POP HL
        LD A,(HL)
        AND #C0
        DEC HL
        LD (HL),D
        POP DE
        POP HL
        POP BC
        EI
        LD A,(ET0)
        RET NZ
        SCF
        RET
;--------------------
;- COMMANDE  MOTEUR -
;--------------------
MOTON   LD A,(FLAGMOT)
        CP 1
        RET Z
        LD A,1
        CALL MOTCOM
        LD A,(TEMPMOT) ;Mini 55
        JP TEMPAMS
MOTCOM  LD (FLAGMOT),A
        LD BC,#FA7E
        OUT (C),A
        RET
MOTOFF  XOR A
        JR MOTCOM
;--------------------------
;- SOUS PROGRAMMES DIVERS -
;--------------------------
;- Initialisation programme -
;
INIPROG LD BC,#0000
        CALL #BC38
        LD BC,0
        XOR A
        CALL #BC32
        LD A,1
        LD BC,#0F0F
        CALL #BC32
        XOR A
        CALL #BB96
        LD A,1
        CALL #BB90
        LD A,2
        CALL #BC0E
        XOR A
        LD (DRSELEC),A
        ADD A,#41
        LD HL,TDRSELE+20
        LD (HL),A
TYPE    CALL #B900
        LD A,(#DE01)
        CP #71
        JR Z,L464
        CP #C9
        JR NZ,L664
L6128   LD HL,#BD5E
        JR INIT
L664    LD HL,#BD5B
        JR INIT
L464    LD HL,#BD3A
INIT    LD (EDIT1+1),HL
        CALL #B903
        LD A,41
        LD (WAITPIS),A
        LD HL,TUS
        JP PRT
;
INPUPRT2 CALL PRTLOC2 ;Inp.Nb.5 Ch.Hex("&")
INPUNB  PUSH HL
        PUSH DE
        PUSH BC
        PUSH AF
        LD HL,0
        LD (VALEUR),HL
        LD HL,BUFFNB   ;RAZ BUFFNB
        LD B,5
RAZBNB  LD (HL),"0"
        INC HL
        DJNZ RAZBNB
        LD HL,TTXEDIT
        LD (HL),0
        CALL EDITNB
;
DECI    LD HL,TTXEDIT
        LD A,(LENEDIT) ;Tst.non deci
        LD B,A
BCLDECI LD A,(HL)
        INC HL
        CP "&"
        JR Z,HEXA
        CP "0"
        JR C,RECNB
        CP "@"
        JR NC,RECNB
        DJNZ BCLDECI
        JR OKDECI
RECNB   CALL CHVIDE
        JR DECI
OKDECI  CALL RANGENB
        LDIR
;
ASCDECI LD C,5
        LD HL,BUFFNB
        LD IX,DIXMILL
SUIVANT LD A,(HL)
        CP "0"
        JR NZ,PASZERO
CONT    INC IX
        INC IX
        INC HL
        DEC C 
        JR Z,EXITNB
        JR SUIVANT
PASZERO LD E,(IX+0)
        LD D,(IX+1)
        SUB #30
        LD B,A
        PUSH HL
        LD HL,(VALEUR)
ADDI    ADD HL,DE
        DJNZ ADDI
        LD (VALEUR),HL
        POP HL
        JR CONT
;
DIXMILL DEFW 10000
MILLE   DEFW 1000
CENT    DEFW 100
DIX     DEFW 10
UN      DEFW 1
;
HEXA    DEC B
BCLHEXA LD A,(HL)
        CP "0"
        JR C,RECNB
        CP "G"
        JR NC,RECNB
        INC HL
        DJNZ BCLHEXA
        CALL RANGENB
        INC HL
        DEC C
        LDIR
;
HEXVAL  LD IX,BUFFNB
        LD DE,4096
        LD HL,0
        LD B,4
BCLHXVA LD A,(IX+0)
        SUB #30
        CP 10
        JR C,BCLCALC
        SUB 7
BCLCALC OR A
        JR Z,FINCALC
        ADD HL,DE
        DEC A
        JR BCLCALC
FINCALC PUSH BC
        LD B,4
DIVIS   SRL D
        RR E    
        DJNZ DIVIS
        POP BC
        INC IX
        DJNZ  BCLHXVA
        LD (VALEUR),HL
EXITNB  POP AF
        POP BC
        POP DE
        POP HL
        RET
;
RANGENB LD A,(LENEDIT) ;NB dans BUF compl.vides par 0
        LD C,A
        LD B,0
        LD A,5
        SUB C
        LD D,0
        LD E,A
        LD HL,BUFFNB
        ADD HL,DE
        EX DE,HL
        LD HL,TTXEDIT
        RET
;
EDITNB  LD A,5
        LD (MAXEDIT),A
EDIT    CALL #BB78
        LD (CURPOS),HL
REFAIRE LD HL,TTXEDIT
        CALL #B900
EDIT1   CALL #BD3A
        CALL #B903
        LD B,0
        LD HL,TTXEDIT
COMPTE  LD A,(HL)
        OR A
        JR Z,FINI
        INC B
        INC HL
        JR COMPTE
FINI    LD A,B
        LD (LENEDIT),A
        OR A
        JR Z,CHVIDE
        LD A,(MAXEDIT)
        CP B
        RET NC
CHVIDE  LD A,7
        CALL #BB5A
        LD HL,(CURPOS)
        CALL #BB75
        JR REFAIRE
;
PRTBIN2 LD A,H      ;16B
        CALL PRTBIN
        LD A,L
;
PRTBIN  PUSH BC    ;8B
        PUSH AF
        LD C,A
        LD B,8
BCLBIN  LD A,#30
        RLC C
        JR NC,BINZERO
        INC A
BINZERO CALL #BB5A
        DJNZ BCLBIN
        POP AF
        POP BC
        JP SPACE
;
PRTHEX2 LD A,"&"
        CALL #BB5A
        LD A,H
        CALL PRTHEX1 ;16B
        LD A,8
        CALL #BB5A
        LD A,L
;
PRTHEX1 PUSH AF ;8B
        PUSH AF
        RRCA
        RRCA
        RRCA
        RRCA
        CALL AFFHEX
        POP AF
        CALL AFFHEX
        POP AF
        JP SPACE
;
AFFHEX  AND #F
        ADD A,#30
        CP #3A
        JR C,OKHEX
        ADD A,7
OKHEX   JP #BB5A
;
PRTDECI PUSH HL
        PUSH DE
        PUSH BC
        PUSH AF
        LD HL,(VALEUR)
DEC1    LD B,5
DEC2    LD IY,DIXMILL
CONDEC  LD E,(IY+0)
        LD D,(IY+1)
        LD A,#30
CALCUL  AND  A
        SBC HL,DE
        JR C,CARRY
        INC A
        JR CALCUL
CARRY   CALL #BB5A
        ADD HL,DE
        INC IY
        INC IY
        DJNZ CONDEC
FINCONV POP AF
        POP BC
        POP DE
        POP HL
        JP SPACE
;
TROICON LD HL,TCONVER
        CALL PRT
        CALL INPUNB
        LD HL,TCON2
        CALL PRT
        LD HL,(VALEUR)
        CALL PRTBIN2
        CALL PRTHEX2
        CALL PRTDECI
        RET
;        
TCONVER DEFB " CONVERTIR ?"," "+#80
TCON2   DEFB " ="," "+#80
;
LIST
VALEUR  DEFW 0
NOLIST
BUFFNB  DEFS 5
TTXEDIT DEFS 256,0
MAXEDIT DEFB 0
LENEDIT DEFB 0
CURPOS  DEFW 0
;
;- Affichage -
;
PRTCR   CALL PRT   ;SL+CR
        JR CR
;
PRTLOC2 LD IY,#0217 ;Aff.Av.Der.L.
PRTLOC  PUSH AF
        PUSH HL
        PUSH IY
        POP HL
        CALL #BB75
        POP HL
        JR BCLPRT
;
PRTDRIV PUSH HL    ;Aff.drive
        LD HL,TDRSELE
        CALL PRT
        POP HL
        RET
;
PRT     PUSH AF
BCLPRT  LD A,(HL)
        CP #80
        JR NC,FINPRT
        CALL #BB5A
        INC HL
        JR BCLPRT
FINPRT  AND %01111111
        INC HL
PRT2    CALL #BB5A
        POP AF
        RET
;
CR      PUSH AF
        LD A,10
        CALL #BB5A
        LD A,13
        JR PRT2
;
SPACE   PUSH AF
        LD A,32
        JR PRT2
;
INV     PUSH AF
        LD A,24
        JR PRT2
;
EFFLIN1 PUSH AF
        LD A,13
        CALL #BB5A
        JR EF1
EFFLINE PUSH AF
EF1     LD A,18
        JR PRT2
;
OUNO    PUSH HL
        LD HL,TOUNO
        CALL PRT
        POP HL
        CALL #BB06
        CALL EFFLINE
        AND #DF    ;Majuscules
        CP "N"
        RET Z
        CP "O"     ;Oui = CARRY mis
        JR NZ,OUNO
        SCF
        RET
;
TOUNO   DEFB 24," OK ? (O/N) ",24,7,13+#80
;
AFFERR  LD IY,#0218
        CALL PRTLOC
        CALL #BB06
        XOR A
        JP EFFLINE
;
CALE    DEFS 40000-CALE
;
LIST
FLAGMOT DEFB 0
NOLIST
ADBUFF  DEFW 0
NBALIRE DEFW 0  ;Nb.oct. a lire
ROMANT  DEFW 0
;
;- Resultat -
;
ETOCLUS DEFB 0
ET0     DEFB 0
ET1     DEFB 0
ET2     DEFB 0
ETPIST  DEFB 0
ETHEAD  DEFB 0
ETNUMSEC DEFB 0
ETLENSEC DEFB 0
;
DRSELEC DEFB 0
PISTSEL DEFB 0 ;Ne rien inserer entre les 2 !
DERPIST DEFB 0 ;P.fin pour op. multipi.
PISTMAX DEFB 42 ;P. a pas dep.
WAITPIS DEFB 41 ;Temp.Dep.Head
NBTENT  DEFB 4 ;Nb.Retry
TEMPMOT DEFB 55
;
LIST
ETDRA   DEFB 0  ;ET3 A et B
ETDRB   DEFB 0  ;Ne rien inserer
;
PISTDRA DEFB 0  ;P. A et B     
PISTDRB DEFB 0  ;Ne rien inserer
NOLIST
;
TUS     DEFB 24," SOS PROGRAMMEURS - Etude du FDC - (C) M.MAIGROT Nov 88 "
        DEFB 24,26,0,79,1,24+#80
TEFFLB1 DEFB 31,1,23,18+#80
;
TMENU   DEFB 31,1,5," [A] Tester etat drive ",10,13
        DEFB " [B] Bascule drive A/B ",10,13
        DEFB " [C] Convers.numerique ",10,13
        DEFB " [D] Aller  en piste 0 ",10,13
        DEFB " [E] Aller  en piste ? ",10,13
        DEFB " [Q] Quitter programme ",10,13+#80
LIST
DEFB 0--------------
;- INITIALISATION -
;------------------
        CALL INIPROG
RECTSDR CALL MOTON
     - Etude du FDC - (C) M.MAIGROT Nov 88 "
        DEFB 24,26,0,79,1,24+#80
TEFFLB1 DEFB 31,1,23,18+#80
;
TMENU   DEFB 31,1,5," [A] Tester etat drive ",10,13
        DEFB " [B] Bascule drive A/B ",10,13
        DEFB " [C] Convers.numerique ",10,13
        DEFB " [D] Aller  en piste 0 ",10,13
        DEFB " [E] Aller  en piste ? ",10,13
        DEFB " [Q] Quitter programme ",tre ces 2 DEFB
NOLIST
;--------------------------
;- TEXTES DE PRESENTATION -
;--------------------------
TUS     DEFB 24," SOS PROGRAMMEURS - Etude du FDC - (C) M.MAIGROT Nov 88 "
        DEFB 24,26,0,79,1,24+#80
TEFFLB1 DEFB 31,1,23,18+#80
;
;- Textes du menu principal -
;
TMENU   DEFB 31,1,5," [A] Tester etat drive ",10,13
        DEFB " [B] Bascule drive A/B ",10,13
        DEFB " [C] Convers.numerique ",10,13
        DEFB " [D] Aller  en piste 0 ",10,13
        DEFB " [E] Aller  en piste