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
Last revisionBoth sides next revision
codes_d_amorcage [2022/02/04 10:04] fool-duplexcodes_d_amorcage [2022/09/01 18:02] fool-duplex
Line 1: Line 1:
 ===== Codes d'amorçage ===== ===== Codes d'amorçage =====
 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 à l'initialisation ==
 +
 +| Machines cibles | MO5 clavier gomme, clavier mécanique, MO5E. |
 +| Machines compatibles | MO5NR, MO6.  |
 +
 +Avant d'envoyer le menu, 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 == == Code d'amorçage pour MO5 standard et application type MEMO5 ==
  
 | Machines cibles | MO5 clavier gomme, clavier mécanique, MO5E. Extension 64K obligatoire. | | Machines cibles | MO5 clavier gomme, clavier mécanique, MO5E. Extension 64K obligatoire. |
-| Machines compatibles | MO5NR, MO6. Sur MO5NR et MO6, ce code provoque un retour au menu principal de la machine et l'application apparaît en choix 0. |+| 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    <code>9F80 1AFF       ORCC   #$FF               Pas d'interruption   
codes_d_amorcage.txt · Last modified: 2022/09/01 18:05 by fool-duplex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki