X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libsrc%2Fapple2%2Fsyschdir.s;h=8afc3af0ba8280afb48264278b4c5deb163e1f9d;hb=7ebaec18024dc2a94de538637c20c5b4c65e530c;hp=48bbc2eed60e30f3f7a538418caa4d7df87de273;hpb=c732d3e360096fc8aadbb59477d25758498a2286;p=cc65 diff --git a/libsrc/apple2/syschdir.s b/libsrc/apple2/syschdir.s index 48bbc2eed..8afc3af0b 100644 --- a/libsrc/apple2/syschdir.s +++ b/libsrc/apple2/syschdir.s @@ -5,37 +5,33 @@ ; .export __syschdir - .import pushname, popname - .import __cwd + .import pushname, popname + .import initcwd - .include "zeropage.inc" - .include "mli.inc" + .include "zeropage.inc" + .include "mli.inc" __syschdir: ; Push name - jsr pushname - bne oserr + jsr pushname + bne oserr ; Set pushed name - lda sp - ldx sp+1 - sta mliparam + MLI::PREFIX::PATHNAME - stx mliparam + MLI::PREFIX::PATHNAME+1 + lda sp + ldx sp+1 + sta mliparam + MLI::PREFIX::PATHNAME + stx mliparam + MLI::PREFIX::PATHNAME+1 ; Change directory - lda #SET_PREFIX_CALL - ldx #PREFIX_COUNT - jsr callmli - bcs cleanup - - ldy #$01 -: lda (sp),y - sta __cwd-1,y - beq cleanup - iny - bne :- ; Branch always + lda #SET_PREFIX_CALL + ldx #PREFIX_COUNT + jsr callmli + bcs cleanup + + ; Update current working directory + jsr initcwd ; Returns with A = 0 ; Cleanup name -cleanup:jsr popname ; Preserves A +cleanup:jsr popname ; Preserves A -oserr: rts +oserr: rts