From: cuz Date: Tue, 19 Apr 2005 14:28:15 +0000 (+0000) Subject: Update from Oliver Schmidt X-Git-Tag: V2.12.0~371 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=94b11e7a734f0f92dba1ecee57b6fa33d3a4fd70;p=cc65 Update from Oliver Schmidt git-svn-id: svn://svn.cc65.org/cc65/trunk@3470 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/libsrc/apple2/initcwd.s b/libsrc/apple2/initcwd.s index c17e081e3..77aa1442f 100644 --- a/libsrc/apple2/initcwd.s +++ b/libsrc/apple2/initcwd.s @@ -4,16 +4,21 @@ .export initcwd .import __cwd + .import subysp, addysp .include "zeropage.inc" .include "mli.inc" - .segment "INIT" - + .segment "INIT" + initcwd: - ; Use imported buffer - lda #<__cwd - ldx #>__cwd + ; Alloc prefix buffer + ldy #1 + 64+1 ; Length byte + max pathname length+trailing slash + jsr subysp + + ; Use allocated prefix buffer + lda sp + ldx sp+1 sta mliparam + MLI::PREFIX::PATHNAME stx mliparam + MLI::PREFIX::PATHNAME+1 @@ -21,19 +26,24 @@ initcwd: lda #GET_PREFIX_CALL ldx #PREFIX_COUNT jsr callmli + bcs done - ; Check length byte - ldx __cwd + ; Check for null prefix + ldy #$00 + lda (sp),y beq done - ; Replace trailing slash with zero - sta __cwd,x ; A = 0 - - ; Remove length byte - tax -: inx - lda __cwd,x - sta __cwd-1,x + ; Set current working directory + ; - omit trailing slash and length byte + ; - terminating zero already in place + tay + dey +: lda (sp),y + sta __cwd-1,y + dey bne :- -done: rts + ; Cleanup stack +done: ldy #1 + 64+1 ; Length byte + max pathname length+trailing slash + jmp addysp +