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:24] 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    $6036 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 469: Line 467:
        LDD    #$0008                     LDD    #$0008             
        STD    OCTAVE                      STD    OCTAVE              
-   LDD    #$0024              +       LDD    #$0024              
-   STD    $6033               +       STD    DUREE               
-   LDD    #$0005              +       LDD    #$0005              
-   STD    $6031               +       STD    TEMPO               
-   LDB    #$03                +       LDB    #$03                
-   STB    $6035               +       STB    TIMBRE               
-   LDB    #$31                +       LDB    #$31                
-   JSR    $9509               +       JSR    PLAY 
-   PULS   CC,A,B,PC           +       PULS   CC,A,B,PC           
-   JMP    $E81E               +PLAY   EQU    *    
-   PSHS                     +       JMP    NOTEH 
-   LEAU   $9562,PCR           +                  
-   BRA    $951A               +* Convertit un nombre 16 bits non signe en hexadecimal 
-   PSHS                     +* D = nombreX = pointeur sur buffer caractere 
-   LEAU   $9557,PCR           +CV16   EQU    *                      
-   PSHS   B,                +       PSHS                     
-   LDA    ,U+                 +       LEAU   BASE16,PCR           
-   STA    $01,S               +       BRA    CONVRT 
-   PULS                     +     
-   BSR    $9548               +* Convertit un nombre 16 bits non signe en decimal 
-   BNE    $9532               +* D = nombre, X = pointeur sur buffer caractere 
-   DEC    ,S                  +CV10   EQU    *                  
-   BNE    $9522               +       PSHS                     
-   LDB    #$30                +       LEAU   BASE10,PCR           
-   STB    ,X+                 +        
-   BRA    $9546               +CONVRT EQU    *        
-   BSR    $9548               +       PSHS   B,A                 
-   PSHS                     +       LDA    ,U+                             ; Nombre de chiffres              
-   LDB    ,X                  +       STA    1,              
-   ADDB   #$30                +       PULS   A       
-   CMPB   #$39                +    
-   BLS    $953E               +LOOP2  EQU                   
-   ADDB   #$07                +       BSR    DIVIZ               
-   STB    ,X+                 +       BNE    BEGNB                           ; Dividende non nul -> debut du nombre          
-   PULS   B                   +       DEC    ,S                              ; Chiffre suivant          
-   DEC    ,S                  +       BNE    LOOP2              
-   BNE    $9530               +
-   PULS   A,U,PC              +
-   CLR    ,X                  +
-   SUBD   ,                 +
-   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,             +
-   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                     +
-   LBSR   $950C               +
-   CLR    ,X                  +
-   PULS                     +
-   LBRA   $94C4              +
  
-...+       LDB    #'                            ; D valait 0 en fait         
 +       STB    ,X+                 
 +       BRA    CVEXIT               
 + 
 +CONTDV EQU    * 
 +       BSR    DIVIZ                           ; Continue la division 
 +               
 +BEGNB  EQU    *               
 +       PSHS                     
 +       LDB    ,X                              ; Chiffre courant                
 +       ADDB   #'               
 +       CMPB   #'               
 +       BLS    NOTHEX                          ; $A-$F ?            
 +       ADDB   #$07                            ; Correction 
 +         
 +NOTHEX EQU    *             
 +       STB    ,X+                             ; Stocke le caractere            
 +       PULS                     
 +       DEC    ,S                              ; Chiffre suivant                  
 +       BNE    CONTDV               
 + 
 +CVEXIT EQU    * 
 +       PULS   A,U,PC    
 +           
 +* Division de D par ,U 
 +* D = reste, ,X = dividende (0..9 ou 0..F) 
 +DIVIZ  EQU    *           
 +       CLR    ,X       
 + 
 +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,                
 +       LBRA   PMSG  
 +     
 +* Affiche un nombre contenu dans D (inutilise) 
 +DISP10 EQU    *              
 +       BSR    CONV10               
 +       LEAX   -5,                     
 +       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.1685190245.txt.gz · Last modified: 2023/05/27 14:24 by fool-duplex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki