lda (ptr1),y ; Get next char from filename
beq namedone ; Jump if end of name reached
-; Check for valid chars in the file name. We allow letters, digits, plus some
-; additional chars from a table.
-
- ldx #fncharcount-1
-namecheck:
- cmp fnchars,x
- beq nameok
- dex
- bpl namecheck
- tax
- lda __ctype,x
- and #CT_ALNUM
- beq invalidname
-
; Check the maximum length, store the character
-nameok: ldx tmp1
+ ldx tmp1
cpx #16 ; Maximum length reached?
bcs invalidname
lda (ptr1),y ; Reload char
fncmd: .byte 's' ; Use as scratch command
fnbuf: .res 35 ; Either 0:0123456789012345,t,m
; Or 0:0123456789012345=0123456789012345
-.rodata
-; Characters that are ok in filenames besides digits and letters
-fnchars:.byte ".,-_+()"
-fncharcount = *-fnchars
-
-
-