New stuff contributed by Oliver Schmidt

git-svn-id: svn://svn.cc65.org/cc65/trunk@3608 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2005-08-31 20:11:45 +00:00
parent 476e3f9acc
commit c732d3e360
17 changed files with 719 additions and 6 deletions

41
libsrc/apple2/syschdir.s Normal file
View File

@@ -0,0 +1,41 @@
;
; Oliver Schmidt, 17.04.2005
;
; unsigned char __fastcall__ _syschdir (const char* name);
;
.export __syschdir
.import pushname, popname
.import __cwd
.include "zeropage.inc"
.include "mli.inc"
__syschdir:
; Push name
jsr pushname
bne oserr
; Set pushed name
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
; Cleanup name
cleanup:jsr popname ; Preserves A
oserr: rts