User Tools

Site Tools


extcmd.asm

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
extcmd.asm [2025/12/09 21:09] – fool-duplexextcmd.asm [2026/01/05 17:36] (current) – fool-duplex
Line 22: Line 22:
        JMP    ERRMSG          ; Affiche le message et retourne        JMP    ERRMSG          ; Affiche le message et retourne
  
-ECFNOK LDX    CNSGN+11        ; On copie le nom dans la consigne+ECFNOK LDX    #CSGNDK         ; On copie le nom dans la consigne
        LDY    #FNMBF1        LDY    #FNMBF1
        LDA    #9        LDA    #9
Line 31: Line 31:
  
        LDB    #CHBIN          ; Fichier trouvé, on lance l'exécution par une consigne CHBIN        LDB    #CHBIN          ; Fichier trouvé, on lance l'exécution par une consigne CHBIN
-       STB    CNSGN+3 +       STB    CSGNTA 
-       CLR    CNSGN+23        ; Mode de chargement : exécution automatique+       CLR    CSGND2          ; Mode de chargement : exécution automatique
        LDX    #CNSGN        LDX    #CNSGN
        JSR    RESEAU          ; Appel au central        JSR    RESEAU          ; Appel au central
Line 42: Line 42:
        BNE    ECFNE        BNE    ECFNE
  
-       JSR    OPNNRD          ; Il existe, on l'ouvre+       JSR    FOPENR          ; Il existe, on l'ouvre
        RTS        RTS
  
Line 48: Line 48:
        JSR    DSPSTR          ; On affiche le message        JSR    DSPSTR          ; On affiche le message
        RTS        RTS
-       +
 ************************************************************************************************************ ************************************************************************************************************
 * SEEKF * SEEKF
 * Cherche un fichier dans le répertoire courant et pour les .MO5 et .TO7, cherche aussi sur la racine du * Cherche un fichier dans le répertoire courant et pour les .MO5 et .TO7, cherche aussi sur la racine du
 * disque système. * disque système.
-************************************************************************************************************      +************************************************************************************************************
 SEEKF  SET    * SEEKF  SET    *
-       LDX    CNSGN+20        ; Copie le suffixe pointé par Y dans la consigne+       LDX    #CSGNFE         ; Copie le suffixe pointé par Y dans la consigne
        LDA    #3        LDA    #3
        JSR    MEMCPY        JSR    MEMCPY
        JSR    EXIST           ; Teste la présence du fichier        JSR    EXIST           ; Teste la présence du fichier
        BEQ    SFRTS           ; S'il existe, c'est super        BEQ    SFRTS           ; S'il existe, c'est super
-              +
        LDB    #'O             ; O comme dans MO5 ou TO7        LDB    #'O             ; O comme dans MO5 ou TO7
-       CMPB   CNSGN+21+       CMPB   CSGNFE+1
        BNE    SFRTS           ; Seulement les fichiers .MO5 ou .TO7        BNE    SFRTS           ; Seulement les fichiers .MO5 ou .TO7
-               + 
-       LDB    CNSGN+11        ; On va vérifier aussi sur A:\+       LDB    CSGNDK          ; On va vérifier aussi sur A:\
        PSHS   B        PSHS   B
        LDB    #1              ; Disque A:        LDB    #1              ; Disque A:
-       STB    CNSGN+11+       STB    CSGNDK
        LDX    #ROOT           ; "/"        LDX    #ROOT           ; "/"
        LBSR   SWIDIR          ; Change le répertoire vers A:\        LBSR   SWIDIR          ; Change le répertoire vers A:\
Line 77: Line 77:
        PULS   B        PULS   B
        PSHS   CC        PSHS   CC
-       STB    CNSGN+11+       STB    CSGNDK
        PULS   CC        PULS   CC
-SFRTS  RTS     +SFRTS  RTS 
-            +
 ************************************************************************************************************ ************************************************************************************************************
 * EXIST * EXIST
 * Vérifie l'existence d'un fichier dans le répertoire courant. * Vérifie l'existence d'un fichier dans le répertoire courant.
-************************************************************************************************************             +************************************************************************************************************
 EXIST  SET    * EXIST  SET    *
-       JSR    BCNSGN          ; Construit une consigne standard+       JSR    BCFPT1          ; Construit une consigne standard
        LDB    #CATP           ; Primitive de catalogue        LDB    #CATP           ; Primitive de catalogue
-       STB    CNSGN+3+       STB    CSGNTA
        LDX    #CNSGN        LDX    #CNSGN
        JSR    RESEAU          ; Exécute la consigne        JSR    RESEAU          ; Exécute la consigne
        LDX    #1        LDX    #1
-       CMPX   CRBUFF+2        ; Résultat +       CMPX   CRXT0           ; Résultat 
-       RTS     +       RTS 
-              +
 MO5    FCC    /MO5/           ; Suffixe .MO5 MO5    FCC    /MO5/           ; Suffixe .MO5
 TO7    FCC    /TO7/           ; Suffixe .TO7 TO7    FCC    /TO7/           ; Suffixe .TO7
 NRD    FCC    /NRD/           ; Suffixe .NRD NRD    FCC    /NRD/           ; Suffixe .NRD
-              +
 ROOT   FCS    %/%             ; Répertoire à chercher sur le disque système ROOT   FCS    %/%             ; Répertoire à chercher sur le disque système
-              +
 AUTOST FCB    $FF             ; Flag d'autostart (recherche et exécution de DEPART.NRD) AUTOST FCB    $FF             ; Flag d'autostart (recherche et exécution de DEPART.NRD)
                               ; 0 = Ignorer DEPART.NRD                               ; 0 = Ignorer DEPART.NRD
-              +
 FILENE FCB    CR, LF FILENE FCB    CR, LF
        FCS    /Fichier inexistant./        FCS    /Fichier inexistant./
Line 113: Line 113:
 SWIDIR SET    * SWIDIR SET    *
        PSHS   X               ; On sauve X        PSHS   X               ; On sauve X
-       LDB    CNSGN+11+       LDB    CSGNDK
        STB    SVDDSK          ; On sauve le numéro de disque dans SVDDSK        STB    SVDDSK          ; On sauve le numéro de disque dans SVDDSK
-       LDX    #SVDPTH          +       LDX    #SVDPTH 
-       STX    CNSGN+7+       STX    CSGNAD
        LDX    #64             ; Taille maximum        LDX    #64             ; Taille maximum
-       STX    CNSGN+4+       STX    CSGNSZ
        LDA    #GETDIR         ; Consigne GETDIR        LDA    #GETDIR         ; Consigne GETDIR
-       STA    CNSGN+3+       STA    CSGNTA
        LDX    #CNSGN        LDX    #CNSGN
        JSR    RESEAU          ; On récupère le chemin courant dans SVDPTH        JSR    RESEAU          ; On récupère le chemin courant dans SVDPTH
Line 127: Line 127:
 ************************************************************************************************************ ************************************************************************************************************
 * CHGDIR * CHGDIR
-* Change de répertoire. +* Change de répertoire.
 ************************************************************************************************************ ************************************************************************************************************
 CHGDIR SET    * CHGDIR SET    *
-       STX    CNSGN+7+       STX    CSGNAD
        LDB    SVDDSK        LDB    SVDDSK
-       STB    CNSGN+11+       STB    CSGNDK
        LDA    #SETDIR         ; Consigne SETDIR        LDA    #SETDIR         ; Consigne SETDIR
-       STA    CNSGN+3+       STA    CSGNTA
        LDX    #CNSGN        LDX    #CNSGN
        JSR    RESEAU          ; On change de répertoire        JSR    RESEAU          ; On change de répertoire
        LDA    #0        LDA    #0
        STA    CDSUCS          ; Flag de succès        STA    CDSUCS          ; Flag de succès
-       LDA    CRBUFF+1+       LDA    CRERR
        CMPA   #0        CMPA   #0
-       BEQ    CDRTS +       BEQ    CHDRTS 
-       +
        LDA    #$FF        LDA    #$FF
        STA    CDSUCS        STA    CDSUCS
-CDRTS  RTS+CHDRTS RTS
  
 ************************************************************************************************************ ************************************************************************************************************
Line 151: Line 151:
 * Restaure le disque et répertoire qui avait été sauvés dans SVDDSK et SVDPTH. * Restaure le disque et répertoire qui avait été sauvés dans SVDDSK et SVDPTH.
 ************************************************************************************************************ ************************************************************************************************************
-RSTDIR SET    *               +RSTDIR SET    *
        LDX    #SVDPTH        LDX    #SVDPTH
-       STX    CNSGN+7+       STX    CSGNAD
        LDB    SVDDSK        LDB    SVDDSK
-       STB    CNSGN+11+       STB    CSGNDK
        LDX    #64             ; Taille maximum        LDX    #64             ; Taille maximum
-       STX    CNSGN+4+       STX    CSGNSZ
        LDA    #SETDIR         ; Consigne SETDIR        LDA    #SETDIR         ; Consigne SETDIR
-       STA    CNSGN+3+       STA    CSGNTA
        LDX    #CNSGN        LDX    #CNSGN
        JSR    RESEAU          ; Change de répertoire        JSR    RESEAU          ; Change de répertoire
Line 165: Line 165:
  
 SVDDSK RMB    1               ; Numéro de disque à conserver SVDDSK RMB    1               ; Numéro de disque à conserver
-SVDPTH RMB    65              ; Chemin à conserver +SVDPTH RMB    65              ; Chemin à conserver
  
 </code> </code>
  
 [[code_source_de_nrdos.mo5_version_3.5|Retourner à la liste des fichiers]] [[code_source_de_nrdos.mo5_version_3.5|Retourner à la liste des fichiers]]
 +
extcmd.asm.1765310956.txt.gz · Last modified: by fool-duplex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki