User Tools

Site Tools


code_source_de_menu.to7_v3.2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
code_source_de_menu.to7_v3.2 [2023/05/27 14:22] fool-duplexcode_source_de_menu.to7_v3.2 [2023/05/27 15:19] (current) fool-duplex
Line 3: Line 3:
 <code>* MENU.TO7 version 3.1 <code>* MENU.TO7 version 3.1
  
-RESET  EQU    $FFFE 
 BEGRAM EQU    $6100 BEGRAM EQU    $6100
 ENDRAM EQU    $E000 ENDRAM EQU    $E000
Line 13: Line 12:
 RELACH EQU    $E02B RELACH EQU    $E02B
 RESEAU EQU    $E025 RESEAU EQU    $E025
-M5VCT  EQU    $EFFE 
 ADCNTC EQU    $5FFE ADCNTC EQU    $5FFE
 ADCRDU EQU    $5FF4 ADCRDU EQU    $5FF4
 ADTRCR EQU    $5FFA ADTRCR EQU    $5FFA
  
-TEMPO  EQU    $2039 +TEMPO  EQU    $6031 
-DUREE  EQU    $203B +DUREE  EQU    $6033 
-TIMBRE EQU    $203D +TIMBRE EQU    $6035 
-OCTAVE EQU    $203E+OCTAVE EQU    $6036
  
 KTSTH  EQU    $E806 KTSTH  EQU    $E806
 PUTCH  EQU    $E803 PUTCH  EQU    $E803
-JNOTEH EQU    $9E+NOTEH  EQU    $E81E
  
 SIZITM EQU    44 SIZITM EQU    44
Line 445: Line 443:
 * Retour a la ligne * Retour a la ligne
 CRLF   EQU    *          CRLF   EQU    *         
-   PSHS   B,CC                +       PSHS   B,CC                
-   LDB    #$0D                +       LDB    #CR                
-   JSR    $94B0               +       JSR    PUTC            
-   LDB    #$0A                +       LDB    #LF                
-   JSR    $94B0               +       JSR    PUTC               
-   PULS   CC,B,PC             +       PULS   CC,B,PC             
-   PSHS                     + 
-   LDB    $E7C3               +* Passe la video en page forme 
-   ORB    #$01                +FORM   EQU    * 
-   STB    $E7C3               +       PSHS                     
-   PULS   B,PC                +       LDB    SYSPRC               
-   RTS                        +       ORB    #$01                
-   PSHS   B,A,CC              +       STB    SYSPRC               
-   LDD    #$0008              +       PULS   B,PC 
-   STD    $6036               +         
-   LDD    #$0024              +* Routine de traitement code reseau inconnu           
-   STD    $6033               +INCON  EQU    *                
-   LDD    #$0005              +       RTS                        
-   STD    $6031               + 
-   LDB    #$03                +* Joue un pouet 
-   STB    $6035               +BEEP   EQU    *     
-   LDB    #$31                +       PSHS   B,A,CC              
-   JSR    $9509               +       LDD    #$0008              
-   PULS   CC,A,B,PC           +       STD    OCTAVE               
-   JMP    $E81E               +       LDD    #$0024              
-   PSHS                     +       STD    DUREE               
-   LEAU   $9562,PCR           +       LDD    #$0005              
-   BRA    $951A               +       STD    TEMPO               
-   PSHS                     +       LDB    #$03                
-   LEAU   $9557,PCR           +       STB    TIMBRE               
-   PSHS   B,                +       LDB    #$31                
-   LDA    ,U+                 +       JSR    PLAY 
-   STA    $01,S               +       PULS   CC,A,B,PC           
-   PULS                     +PLAY   EQU    *    
-   BSR    $9548               +       JMP    NOTEH 
-   BNE    $9532               +                  
-   DEC    ,S                  +* Convertit un nombre 16 bits non signe en hexadecimal 
-   BNE    $9522               +* D = nombre, X = pointeur sur buffer caractere 
-   LDB    #$30                +CV16   EQU    *                      
-   STB    ,X+                 +       PSHS                     
-   BRA    $9546               +       LEAU   BASE16,PCR           
-   BSR    $9548               +       BRA    CONVRT 
-   PSHS                     +     
-   LDB    ,X                  +* Convertit un nombre 16 bits non signe en decimal 
-   ADDB   #$30                +* D = nombre, X = pointeur sur buffer caractere 
-   CMPB   #$39                +CV10   EQU    *                  
-   BLS    $953E               +       PSHS                     
-   ADDB   #$07                +       LEAU   BASE10,PCR           
-   STB    ,X+                 +        
-   PULS                     +CONVRT EQU    *        
-   DEC    ,S                  +       PSHS   B,                
-   BNE    $9530               +       LDA    ,U+                             ; Nombre de chiffres              
-   PULS   A,U,PC              +       STA    1,S               
-   CLR    ,X                  +       PULS         
-   SUBD   ,                 +    
-   BCS    $9552               +LOOP2  EQU    *                
-   INC    ,X                  +       BSR    DIVIZ               
-   BRA    $954A               +       BNE    BEGNB                           ; Dividende non nul -> debut du nombre          
-   ADDD   ,U++                +       DEC    ,S                              ; Chiffre suivant          
-   TST    ,X                  +       BNE    LOOP2               
-   RTS                        + 
-   ???                        +       LDB    #'                            ; D valait 0 en fait         
-   BEQ    $956A               +       STB    ,X+                 
-   COM    <$E8                +       BRA    CVEXIT               
-   NEG    <$64                + 
-   NEG    <$0A                +CONTDV EQU    * 
-   NEG    <$01                +       BSR    DIVIZ                           ; Continue la division 
-   LSR    <$10                +               
-   NEG    <$01                +BEGNB  EQU    *               
-   NEG    <$00                +       PSHS                     
-   ???                        +       LDB    ,X                              ; Chiffre courant                
-   NEG    <$4F                +       ADDB   #'               
-   BSR    $9583               +       CMPB   #'               
-   LEAX   -$02,X              +       BLS    NOTHEX                          ; $A-$F ?            
-   LBRA   $94C4               +       ADDB   #$07                            ; Correction 
-   BSR    $9583               +         
-   LEAX   -$05,X              +NOTHEX EQU    *             
-   LBRA   $94C4               +       STB    ,X+                             ; Stocke le caractere            
-   BSR    $9583               +       PULS                     
-   LEAX   $95A0,PCR           +       DEC    ,S                              ; Chiffre suivant                  
-   LBRA   $94C4               +       BNE    CONTDV               
-   LEAX   $95A0,PCR           + 
-   BSR    $9514               +CVEXIT EQU    * 
-   CLR    ,X                  +       PULS   A,U,PC    
-   RTS                        +           
-   LEAX   $95A0,PCR           +* Division de D par ,U 
-   PSHS                     +* D = reste, ,X = dividende (0..9 ou 0..F) 
-   LBSR   $950C               +DIVIZ  EQU    *           
-   CLR    ,X                  +       CLR    ,X       
-   PULS                     + 
-   LBRA   $94C4              +DVLOOP EQU    *            
 +       SUBD   ,                 
 +       BCS    DVEXIT               
 +       INC    ,X                  
 +       BRA    DVLOOP 
 + 
 +DVEXIT EQU    *               
 +       ADDD   ,U++                
 +       TST    ,X                  
 +       RTS                        
 + 
 +BASE10 EQU     
 +       FCB    5                               ; 5 chiffres 
 +       FDB    &10000 
 +       FDB    &1000 
 +       FDB    &100 
 +       FDB    &10 
 +       FDB    &1 
 +                 
 +BASE16 EQU    * 
 +       FCB    4                               ; 4 chiffres 
 +       FDB    $1000 
 +       FDB    $0100 
 +       FDB    $0010 
 +       FDB    $0001 
 + 
 +* Affiche no. poste contenu dans B 
 +DISPO  EQU     * 
 +       CLRA                       
 +       BSR    CONV10               
 +       LEAX   -2,X                 
 +       LBRA   PMSG  
 +     
 +* Affiche un nombre contenu dans D (inutilise) 
 +DISP10 EQU    *              
 +       BSR    CONV10               
 +       LEAX   -5,X                      
 +       LBRA   PMSG 
 +              
 +* Affiche un nombre contenu dans D (inutilise) 
 +DSP10B EQU    *                
 +       BSR    CONV10               
 +       LEAX   STRBUF,PCR               
 +       LBRA   PMSG               
 + 
 +* Convertit un nombre 16 bits non signe en chaîne de caracteres (decimal) 
 +* D = nombre, resultat dans STRBUF 
 +CONV10 EQU    *        
 +       LEAX   STRBUF,PCR           
 +       BSR    CV10               
 +       CLR    ,X                              ; Termine la chaine                  
 +       RTS                        
 + 
 +* Affiche un nombre en hexadecimal 16 bits (inutilise) 
 +DISP16 EQU    *            
 +       LEAX   STRBUF,PCR 
 +       PSHS                     
 +       LBSR   CV16               
 +       CLR    ,X                  
 +       PULS                     
 +       LBRA   PMSG      
 +              
 +       FCB    SPACE,SPACE,SPACE,SPACE               
 + 
 +STRBUF EQU    *            
 +       FCB    $00,$00,$00,$00,$00,$00         ; Buffer pour conversion numerique     
 +       
 +MAXLEN FCB    $00                             ; Longueur du plus grand titre 
 +ALINEA FCB    $00                             ; Alignement a gauche       
 +             
 +MSG1   FCB    $1F,$20,$20 
 +       FCB    $1F,$12,$14 
 +       FCB    $1B,$44,$1B,$56,$1B,$66 
 +       FCB    $0C 
 +       FCB    $00 
 +        
 +MSG1B  FCB    $11 
 +       FCC    /NANORESEAU                     poste / 
 +       FCB    $00 
 +         
 +MSG2   FCC    /                / 
 +       FCB    $1B,$4F 
 +       FCC    /MENU/ 
 +       FCB    $1B,$4C 
 +       FCB    $00         
 +         
 +MSG3   FCB    $1F,$58,$4D 
 +       FCC    /Votre choix : / 
 +       FCB    $00                
  
-...+* Zone de consigne reseau     
 +CONSIG FCB    $18                             ; Longueur = 24 
 +       FCB    $00                             ; DEST = serveur 
 +       FCB    $09,$37                         ; Tache R = 09, Tache A = 55 (CHBIN) 
 +       FDB    $0000                           ; Nb octets 
 +       FCB    $00                             ; Page 
 +       FDB    $0000                           ; Adresse 
 +       FCB    $00                             ; Ordinateur 
 +       FCB    $00                             ; Application 
 +FILE   FCB    $00                             ; Disque  
 +       FCB    $00,$00,$00,$00,$00,$00,$00,$00 ; Nom du fichier 
 +       FCB    $00,$00,$00                     ; Suffixe 
 +       FCB    $00                             ; Mode de chargement 
 +         
 +* Zone de compte-rendu reseau         
 +CPTRD  FCB    $08                             ; Longueur = 8 
 +       FCB    $00,$00,$00,$00,$00,$00,$00,$00      
  
 ENDPRG EQU    * ENDPRG EQU    *
code_source_de_menu.to7_v3.2.1685190121.txt.gz · Last modified: 2023/05/27 14:22 by fool-duplex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki