User Tools

Site Tools


codes_d_amorcage

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
codes_d_amorcage [2022/02/04 09:56] fool-duplexcodes_d_amorcage [2022/09/01 18:05] (current) fool-duplex
Line 2: Line 2:
 Les codes d'amorçage sont de petites séquences de code exécutable envoyées aux postes avec les applications pour configurer et relancer le poste avant de passer la main à l'application. Les codes d'amorçage sont de petites séquences de code exécutable envoyées aux postes avec les applications pour configurer et relancer le poste avant de passer la main à l'application.
  
-Code d'amorçage pour MO5 standard et application type MEMO5 :+== Code d'amorçage pour MO5 standard à l'initialisation et pour CHBIN ==
  
-<code>9F80 1AFF       ORCC   #$FF               Pas d'interruptions    +| Machines cibles | MO5 clavier gomme, clavier mécanique, MO5E. | 
 +| Machines compatibles | MO5NR, MO6.  | 
 + 
 +Avant d'envoyer le menu ou l'application, le code suivant est exécuté : 
 + 
 +<code>9000 3452       PSHS   U,X,              
 +9002 118C2080   CMPS   #$2080    Pile saturée ?          
 +9006 2306       BLS    $900E               
 + 
 +9008 118C20CC   CMPS   #$20CC    Pile vide ?          
 +900C 2314       BLS    $9022               
 + 
 +900E 1AFF       ORCC   #$FF      On masque les interruptions          
 +9010 CE20AC     LDU    #$20AC              
 +9013 8610       LDA    #$10      Copie de 32 octets          
 + 
 +9015 AEE1       LDX    ,S++                
 +9017 AFC1       STX    ,U++                
 +9019 4A         DECA                       
 +901A 26F9       BNE    $9015               
 + 
 +901C 10CE20AC   LDS    #$20AC              
 +9020 1C00       ANDCC  #$00      On rétablit les interruptions de manière un peu brutale          
 + 
 +9022 35D2       PULS   A,X,U,PC  Retour</code>    
 + 
 +Après avoir envoyé le menu, le code suivant est exécuté en différé, où xxxx est l'adresse du point d'entrée du menu, usuellement $5000 pour MENU.MO5 : 
 + 
 +<code>9000 10CE20CC   LDS    #$20CC 
 +9004 7Exxxx     JMP    $xxxx</code> 
 + 
 + 
 +== Code d'amorçage pour MO5 standard, changement d'application == 
 + 
 +| Machines cibles | MO5 clavier gomme, clavier mécanique, MO5E. | 
 +| Machines compatibles | MO5NR, MO6.  | 
 + 
 +Pour changer l'application courante dans le poste, où xx = code de l'application (e.g. $01 pour le BASIC, $02 pour le LOGO) 
 + 
 +<code>9000 8601       LDA    #$xx 
 +9002 B71FF7     STA    $1FF7               
 +9005 39         RTS                        
 +</code> 
 + 
 +== Test de la présence cartouche RAM sur un MO5 == 
 + 
 +Ce code permet au serveur de déterminer si la cartouche RAM 64 Ko est présente. 
 + 
 +| Machines cibles | MO5 clavier gomme, clavier mécanique, MO5E. | 
 +| Machines compatibles | MO5NR, MO6.                            | 
 + 
 +<code>9000 860C       LDA    #$0C               On active la cartouche en lecture/écriture 
 +9002 B7A7CB     STA    $A7CB               
 +9005 108E1F6C   LDY    #$1F6C              
 +9009 8EEFFA     LDX    #$EFFA             Touillons un octet pour voir 
 +900C A684       LDA    ,X                  
 +900E 6384       COM    ,X                  
 +9010 A184       CMPA   ,                 
 +9012 2604       BNE    $9018              Super, ça fonctionne 
 + 
 +9014 6FA4       CLR    ,Y                 Mince, la valeur ne change pas, flag présence = 0 
 +9016 2004       BRA    $901C               
 + 
 +9018 6FA4       CLR    ,Y                 flag présence = $FF 
 +901A 6AA4       DEC    ,Y                  
 +901C 7FA7CB     CLR    $A7CB               
 +901F 39         RTS              
 +</code> 
 + 
 +== Code d'amorçage pour MO5 standard et application type MEMO5 == 
 + 
 +| Machines cibles | MO5 clavier gomme, clavier mécanique, MO5E. Extension 64K obligatoire. | 
 +| Machines compatibles | MO5NR, MO6. Sur ces machines, ce code provoque un retour au menu principal de la machine et l'application apparaît en choix 0. | 
 + 
 +<code>9F80 1AFF       ORCC   #$FF               Pas d'interruption   
 9F82 8E2000     LDX    #$2000             Effacement de toute la RAM utilisateur 9F82 8E2000     LDX    #$2000             Effacement de toute la RAM utilisateur
 9F85 CC0000     LDD    #$0000             Page 0 moniteur incluse 9F85 CC0000     LDD    #$0000             Page 0 moniteur incluse
codes_d_amorcage.1643964962.txt.gz · Last modified: 2022/02/04 09:56 by fool-duplex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki