; Etablissement d'un nom de fichier pour la routine OPEN lda #(sNomFichierFin-sNomFichier) ldx #<sNomFichier ldy #>sNomFichier jsr SETNAM ; Etablissement d'un fichier logique lda #1 ldx+1 $ba ; périphérique courant ldy #0 ; lecture jsr SETLFS ; Ouverture du fichier logique jsr OPEN jsr iLOADER_lireCanalErreur ; ERROR code in A (error channel) .si05 bne .sinon05 .alors05 ; Association du fichier logique à un canal d'entrée ldx #1 jsr CHKIN lda #<adresseChargement sta+1 wAdresseDestination lda #>adresseChargement sta+1 wAdresseDestination+1 ldy #0 .tantQue05 jsr CHRIN ldx+1 $90 sta+1 (wAdresseDestination),y inc+1 wAdresseDestination .si10 bne .finSi10 .alors10 inc+1 wAdresseDestination+1 .finSi10 txa and #64 beq .tantQue05 .finTantQue05 lda+1 wAdresseDestination sta wAdresseFinChargement lda+1 wAdresseDestination+1 sta wAdresseFinChargement+1 lda #1 jsr CLOSE jmp .finSi05 .sinon05 lda #2 ; erreur sta $d021 .finSi05 ; Fermeture des canaux d'entrée/sortie et restauration des canaux standards jsr CLRCHN rts sNomFichier !tx "test" sNomFichierFin wAdresseFinChargement !wo 0 ;--------------------------------------------------------------------------- iLOADER_lireCanalErreur !zn ; Lecture du canal d'erreur pour savoir si la dernière opération ; d'entrée/sortie s'est bien déroulée. ; ; Sortie : ; .s_bCodeErreur : code d'erreur, ; 0 si aucune erreur ne s'est produite ;--------------------------------------------------------------------------- ; Variables locales .s_bCodeErreur = $02 ; Sauvegarde des @ de page 0 ; utilisées comme variables locales lda+1 .s_bCodeErreur pha ;--------------------------------------------------------------------------- ; Ouverture du canal d'erreur lda #0 jsr SETNAM lda #15 ldx+1 $ba ; périphérique courant tay ; canal d'erreur jsr SETLFS jsr OPEN ldx #15 jsr CHKIN ; Récupération du numéro d'erreur jsr CHRIN asl asl asl asl sta+1 .s_bCodeErreur jsr CHRIN and #15 ora+1 .s_bCodeErreur sta+1 .s_bCodeErreur .repeter05 jsr CHRIN .jusqua05 cmp #13 bne .repeter05 .finRepeter05 ; Fermeture du canal d'erreur lda #15 jsr CLOSE ;--------------------------------------------------------------------------- lda+1 .s_bCodeErreur sta ._bResultat+1 ; Restauration des @ de page 0 pla sta+1 .s_bCodeErreur ; Transmission du résultat ._bResultat lda #0 rts ;--------------------------------------------------------------------------- adresseChargement