mirror of
https://github.com/cc65/cc65.git
synced 2026-04-25 06:17:58 +00:00
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:
@@ -0,0 +1,55 @@
|
||||
;
|
||||
; Oliver Schmidt, 15.04.2005
|
||||
;
|
||||
; unsigned char _sysmkdir (const char* name, ...);
|
||||
;
|
||||
|
||||
.export __sysmkdir
|
||||
.import pushname, popname
|
||||
.import addysp, popax
|
||||
|
||||
.include "zeropage.inc"
|
||||
.include "mli.inc"
|
||||
|
||||
__sysmkdir:
|
||||
; Throw away all parameters except the name
|
||||
dey
|
||||
dey
|
||||
jsr addysp
|
||||
|
||||
; Get and push name
|
||||
jsr popax
|
||||
jsr pushname
|
||||
bne oserr
|
||||
|
||||
; Set pushed name
|
||||
lda sp
|
||||
ldx sp+1
|
||||
sta mliparam + MLI::CREATE::PATHNAME
|
||||
stx mliparam + MLI::CREATE::PATHNAME+1
|
||||
|
||||
; Set all other parameters from template
|
||||
ldx #(MLI::CREATE::CREATE_TIME+1) - (MLI::CREATE::PATHNAME+1) - 1
|
||||
: lda CREATE,x
|
||||
sta mliparam + MLI::CREATE::ACCESS,x
|
||||
dex
|
||||
bpl :-
|
||||
|
||||
; Make directory
|
||||
lda #CREATE_CALL
|
||||
ldx #CREATE_COUNT
|
||||
jsr callmli
|
||||
|
||||
; Cleanup name
|
||||
jsr popname ; Preserves A
|
||||
|
||||
oserr: rts
|
||||
|
||||
.rodata
|
||||
|
||||
CREATE: .byte %11000011 ; ACCESS: Standard full access
|
||||
.byte $0F ; FILE_TYPE: Directory file
|
||||
.word $0000 ; AUX_TYPE: N/A
|
||||
.byte $0D ; STORAGE_TYPE: Linked directory file
|
||||
.word $0000 ; CREATE_DATE: Current date
|
||||
.word $0000 ; CREATE_TIME: Current time
|
||||
Reference in New Issue
Block a user