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 10:04] fool-duplexcodes_d_amorcage [2022/09/01 18:05] (current) 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 et pour CHBIN ==
 +
 +| 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 == == Code d'amorçage pour MO5 standard et application type MEMO5 ==
codes_d_amorcage.1643965494.txt.gz · Last modified: 2022/02/04 10:04 by fool-duplex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki