1 ; Native: Shawn Jefferson, December 2005
2 ; POSIX: Stefan Haubenthal, April 2008
5 .export _opendir, _readdir, _closedir
6 .import findfreeiocb, clriocb
7 .import __oserror, return0, __do_oserror
23 ldy #0 ; '.' -> "D:*.*"
28 ; "." was given as parameter, use default device/dir
31 ; construct a "Dn:*.*" like string from the default drive
33 sta dddefdev+1 ; copy drive number (overwrite 2nd 'D')
89 @next: iny ; remove trailing spaces
101 @break: lda #'.' ; extension dot
110 ; no extension present: remove the trailing dot and be done
115 @hasext: jsr copychar
123 @done: lda #0 ; end of string
130 copychar: lda (ptr1),y ; src=y dest=tmp1
147 stx __oserror ; clear system specific error code
150 @cioerr: jmp __do_oserror
154 .ifdef DEFAULT_DEVICE
157 defdev: .asciiz "D:*.*"