code_source_de_menu.to7_v3.2
This is an old revision of the document!
Code source de MENU.TO7 v3.1, 3.2, 3.3
* MENU.TO7 version 3.1 RESET EQU $FFFE BEGRAM EQU $6100 ENDRAM EQU $E000 IRQRE EQU $E041 IRQPT EQU $6064 SYSPRC EQU $E7C3 NUPOST EQU $E7D8 NUPO EQU $6052 RELACH EQU $E02B RESEAU EQU $E025 M5VCT EQU $EFFE ADCNTC EQU $5FFE ADCRDU EQU $5FF4 ADTRCR EQU $5FFA TEMPO EQU $2039 DUREE EQU $203B TIMBRE EQU $203D OCTAVE EQU $203E KTSTH EQU $0A JPUTCH EQU $82 JNOTEH EQU $9E SIZITM EQU 44 SIZFIL EQU 12 CR EQU $0D LF EQU $0A SPACE EQU $20 HYPHN EQU '- ORG $9000 START JMP MAIN * Table des entrees de menu * Maximum 20 elements, 1 element = 44 octets, soit 880 octets au total NBITM FCB 2 ; 2 elements dans le menu ELEM1 FCC /BASIC/ ; Titre 1 (32 octets max) FCB $00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 OFEL1 FCB $01 ; Disque source FILE1 FCC /BASIC TO7/ ; Fichier correspondant, 11 caracteres ELEM2 FCC /NRDOS/ ; Titre 2 (32 octets max) FCB $00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE2 FCC /NRDOS TO7/ ; Fichier correspondant, 11 caracteres ELEM3 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 3 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE3 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM4 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 4 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE4 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM5 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 5 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE5 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM6 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 6 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE6 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM7 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 7 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE7 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM8 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 8 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE8 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM9 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 9 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE9 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM10 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 10 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE10 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM11 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 11 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE11 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM12 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 12 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE12 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM13 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 13 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE13 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM14 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 14 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE14 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM15 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 15 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE15 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM16 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 16 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE16 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM17 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 17 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE17 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM18 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 18 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE18 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM19 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 19 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE19 FCC /12345678123/ ; Fichier correspondant, 11 caracteres ELEM20 FCB $00,$00,$00,$00,$00,$00,$00,$00 ; Titre 20 (32 octets max) FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $00,$00,$00,$00,$00,$00,$00,$00 FCB $01 ; Disque source FILE20 FCC /12345678123/ ; Fichier correspondant, 11 caracteres * ORG $9374 MAIN EQU * LDX #MSG1 ; Affiche entete JSR PMSG ORCC #$FF ; Pas d'interruptions LDX #BEGRAM ZMEM1 EQU * ; Efface la memoire de $6100 à $9002 CLR ,X+ CMPX #NBITM BCS ZMEM1 LDX #ENDPRG ZMEM2 EQU * ; Efface la memoire de $9629 à $DFFF CLR ,X+ CMPX #ENDRAM BCS ZMEM2 LDS #BEGRAM+$100 ; Fixe la pile en $6200 LDX #IRQRE ; Fixe le vecteur IRQ du NR STX IRQPT LDA NUPOST ; Lit no de poste ANDA #$1F ; de 0 à 31 STA NUPO ; et le stocke JSR RELACH ; Libere la ligne JSR FORM ; Acces aux variables NR dans la video LDX #MAIN STX ADCNTC ; Reprise en main apres un CTRL-C LDX #CPTRD STX ADCRDU ; Zone de compte-rendu LDX #INCON STX ADTRCR ; Routine de traitement code inconnu LDX #MSG1B JSR PMSG LDB NUPOST ; Lit numero de poste ANDB #$1F ; de 0 à 31 CLRA JSR DISPO ; Affiche numero de poste LDX #MSG2 ; Affiche "MENU" JSR PMSG LDB #&24 ; Calcule le nb de lignes SUBB $9003 LSRB BEQ $93DD JSR $94CE DECB BNE $93D7 CLR $95A6 LDX #$9003 LDB ,X+ PSHS B PSHS X CLRA LDB ,X+ BEQ $93F1 INCA BRA $93EA CMPA #$20 BLS $93F7 LDA #$20 CMPA $95A6 BLS $93FF STA $95A6 PULS X LEAX $2C,X DEC ,S BNE $93E7 PULS B LDA #$27 SUBA $95A6 SUBA #$04 LSRA STA $95A7 LDA #$41 PSHS A LDX #$9003 LDA ,X+ PSHS A JSR $94B3 LDB $01,S JSR $94B0 LDB #$20 JSR $94B0 LDB #$2D JSR $94B0 LDB #$20 JSR $94B0 LDA #$20 LDB ,X+ JSR $94B0 DECA BNE $9439 LEAX $0C,X JSR $94CE INC $01,S DEC ,S BNE $9420 LEAS $02,S LDX #$95F6 JSR $94C4 JSR $9493 JSR $94A5 TFR B,A CMPB #$41 BCS $948D SUBB #$41 CMPB $9003 BCC $948D PSHS B TFR A,B JSR $94B0 PULS B LDA #$2C MUL LDX #$9024 LEAX D,X LDA #$0C LDY #$9613 LDB ,X+ STB ,Y+ DECA BNE $947E LDX #$9608 JSR RESEAU BRA $948B JSR $94E9 JMP $9454 LDB $94A4,PCR BEQ $949E CLR $94A4,PCR RTS JSR $E806 BEQ $949E RTS NEG <$C1 ??? BCS $94AF CMPB #$7A BHI $94AF SUBB #$20 RTS JMP $E803 PSHS B,A LDA $95A7 BEQ $94C2 LDB #$20 JSR $94B0 DECA BNE $94BA PULS A,B,PC LDB ,X+ BNE $94C9 RTS JSR $94B0 BRA $94C4 PSHS B,CC LDB #$0D JSR $94B0 LDB #$0A JSR $94B0 PULS CC,B,PC PSHS B LDB $E7C3 ORB #$01 STB $E7C3 PULS B,PC RTS PSHS B,A,CC LDD #$0008 STD $6036 LDD #$0024 STD $6033 LDD #$0005 STD $6031 LDB #$03 STB $6035 LDB #$31 JSR $9509 PULS CC,A,B,PC JMP $E81E PSHS U LEAU $9562,PCR BRA $951A PSHS U LEAU $9557,PCR PSHS B,A LDA ,U+ STA $01,S PULS A BSR $9548 BNE $9532 DEC ,S BNE $9522 LDB #$30 STB ,X+ BRA $9546 BSR $9548 PSHS B LDB ,X ADDB #$30 CMPB #$39 BLS $953E ADDB #$07 STB ,X+ PULS B DEC ,S BNE $9530 PULS A,U,PC CLR ,X SUBD ,U BCS $9552 INC ,X BRA $954A ADDD ,U++ TST ,X RTS ??? BEQ $956A COM <$E8 NEG <$64 NEG <$0A NEG <$01 LSR <$10 NEG <$01 NEG <$00 ??? NEG <$4F BSR $9583 LEAX -$02,X LBRA $94C4 BSR $9583 LEAX -$05,X LBRA $94C4 BSR $9583 LEAX $95A0,PCR LBRA $94C4 LEAX $95A0,PCR BSR $9514 CLR ,X RTS LEAX $95A0,PCR PSHS X LBSR $950C CLR ,X PULS X LBRA $94C4 ... ENDPRG EQU * END
code_source_de_menu.to7_v3.2.1685188490.txt.gz · Last modified: 2023/05/27 13:54 by fool-duplex