KERNEL:bugfix for ReadDir on directory blocks filled by deleted entries

This commit is contained in:
burniouf 2024-02-03 08:25:29 +01:00
parent f76765cb13
commit 9190fc0a94
13 changed files with 252 additions and 246 deletions

Binary file not shown.

View File

@ -110,7 +110,7 @@ CODE.PutChar lda #$A9 LDA #imm
jsr CODE.EmitByte
txa
jsr CODE.EmitByte
ldx #SYS.PutChar
ldx #_PutChar
*--------------------------------------
CODE.SYSCALL lda #$A2 LDX #imm
jsr CODE.EmitByte

View File

@ -828,85 +828,85 @@ CC.MAIN.DEF .DA #SYM.T.SINT,#0,#SYM.T.SINT,#0,#SYM.T.UCHAR,#SYM.Q.PPOINTER,0
CC.MAIN.DEF.LEN .EQ *-CC.MAIN.DEF
*--------------------------------------
CC.SYSCALL .PS "chtyp"
.DA #SYS.ChTyp
.DA #_ChTyp
.PS "chmod"
.DA #SYS.ChMod
.DA #_ChMod
.PS "fstat"
.DA #SYS.FStat
.DA #_FStat
.PS "stat"
.DA #SYS.Stat
.DA #_Stat
.PS "mkdir"
.DA #SYS.MKDir
.DA #_MKDir
.PS "mknod"
.DA #SYS.MKNod
.DA #_MKNod
.PS "mkfifo"
.DA #SYS.MKFIFO
.DA #_MKFIFO
.PS "pipe"
.DA #SYS.Pipe
.DA #_Pipe
.PS "opendir"
.DA #SYS.OpenDir
.DA #_OpenDir
.PS "readdir"
.DA #SYS.ReadDir
.DA #_ReadDir
.PS "closedir"
.DA #SYS.CloseDir
.DA #_CloseDir
.PS "open"
.DA #SYS.Open
.DA #_Open
.PS "close"
.DA #SYS.Close
.DA #_Close
.PS "read"
.DA #SYS.Read
.DA #_Read
.PS "write"
.DA #SYS.Write
.DA #_Write
.PS "chown"
.DA #SYS.ChOwn
.DA #_ChOwn
.PS "fputc"
.DA #SYS.FPutC
.DA #_FPutC
.PS "putchar"
.DA #SYS.PutChar
.DA #_PutChar
.PS "getc"
.DA #SYS.GetC
.DA #_GetC
.PS "getchar"
.DA #SYS.GetChar
.DA #_GetChar
.PS "fputs"
.DA #SYS.FPutS
.DA #_FPutS
.PS "puts"
.DA #SYS.PutS
.DA #_PutS
.PS "fgets"
.DA #SYS.FGetS
.DA #_FGetS
.PS "ungetc"
.DA #SYS.UngetC
.DA #_UngetC
.PS "fopen"
.DA #SYS.FOpen
.DA #_FOpen
.PS "fclose"
.DA #SYS.FClose
.DA #_FClose
.PS "fread"
.DA #SYS.FRead
.DA #_FRead
.PS "fwrite"
.DA #SYS.FWrite
.DA #_FWrite
.PS "fflush"
.DA #SYS.FFlush
.DA #_FFlush
.PS "fseek"
.DA #SYS.FSeek
.DA #_FSeek
.PS "ftell"
.DA #SYS.FTell
.DA #_FTell
.PS "feof"
.DA #SYS.FEOF
.DA #_FEOF
.PS "remove"
.DA #SYS.Remove
.DA #_Remove
.PS "rename"
.DA #SYS.Rename
.DA #_Rename
.PS "printf"
.DA #SYS.PrintF
.DA #_PrintF
.PS "fprintf"
.DA #SYS.FPrintF
.DA #_FPrintF
.PS "sprintf"
.DA #SYS.SPrintF
.DA #_SPrintF
.PS "scanf"
.DA #SYS.ScanF
.DA #_ScanF
.PS "fscanf"
.DA #SYS.FScanF
.DA #_FScanF
.PS "sscanf"
.DA #SYS.SScanF
.DA #_SScanF
* .PS "$50"
* .DA #0
* .PS "$52"
@ -922,7 +922,7 @@ CC.SYSCALL .PS "chtyp"
* .PS "$5C"
* .DA #0
.PS "setattr"
.DA #SYS.SetAttr
.DA #_SetAttr
* .PS "mount"
* .DA #0
* .PS "umount"
@ -940,37 +940,37 @@ CC.SYSCALL .PS "chtyp"
* .PS "geterrmsg"
* .DA #0
.PS "atof"
.DA #SYS.AToF
.DA #_AToF
.PS "atoi"
.DA #SYS.AToI
.DA #_AToI
.PS "atol"
.DA #SYS.AToL
.DA #_AToL
.PS "strtof"
.DA #SYS.StrToF
.DA #_StrToF
.PS "strtol"
.DA #SYS.StrToL
.DA #_StrToL
.PS "strtoul"
.DA #SYS.StrToUL
.DA #_StrToUL
.PS "realpath"
.DA #SYS.RealPath
.DA #_RealPath
.PS "expand"
.DA #SYS.Expand
.DA #_Expand
.PS "strlen"
.DA #SYS.StrLen
.DA #_StrLen
.PS "strcpy"
.DA #SYS.StrCpy
.DA #_StrCpy
.PS "strcat"
.DA #SYS.StrCat
.DA #_StrCat
.PS "strdup"
.DA #SYS.StrDup
.DA #_StrDup
.PS "strupr"
.DA #SYS.StrUpr
.DA #_StrUpr
.PS "strlwr"
.DA #SYS.StrLwr
.DA #_StrLwr
.PS "strcmp"
.DA #SYS.StrCmp
.DA #_StrCmp
.PS "strcasecmp"
.DA #SYS.StrCaseCmp
.DA #_StrCaseCmp
* .PS "getdevbyname"
* .DA #0
* .PS "getdevstatus"
@ -988,13 +988,13 @@ CC.SYSCALL .PS "chtyp"
* .PS "insdrv"
* .DA #0
.PS "execl"
.DA #SYS.ExecL
.DA #_ExecL
* .PS "execv"
* .DA #0
.PS "fork"
.DA #SYS.Fork
.DA #_Fork
.PS "kill"
.DA #SYS.Kill
.DA #_Kill
* .PS "loadfile"
* .DA #0
* .PS "loadtxtfile"
@ -1012,41 +1012,41 @@ CC.SYSCALL .PS "chtyp"
* .PS "strvfree"
* .DA #0
.PS "putenv"
.DA #SYS.PutEnv
.DA #_PutEnv
.PS "setenv"
.DA #SYS.SetEnv
.DA #_SetEnv
.PS "getenv"
.DA #SYS.GetEnv
.DA #_GetEnv
.PS "unsetenv"
.DA #SYS.UnsetEnv
.DA #_UnsetEnv
.PS "time"
.DA #SYS.Time
.DA #_Time
.PS "strftime"
.DA #SYS.StrFTime
.DA #_StrFTime
* .PS "ptime2time"
* .DA #0
.PS "ctime2time"
.DA #SYS.CTime2Time
.DA #_CTime2Time
.PS "md5"
.DA #SYS.MD5
.DA #_MD5
.PS "md5init"
.DA #SYS.MD5Init
.DA #_MD5Init
.PS "md5update"
.DA #SYS.MD5Update
.DA #_MD5Update
.PS "md5finalize"
.DA #SYS.MD5Finalize
.DA #_MD5Finalize
.PS "getpwuid"
.DA #SYS.GetPWUID
.DA #_GetPWUID
.PS "getpwname"
.DA #SYS.GetPWName
.DA #_GetPWName
.PS "putpw"
.DA #SYS.PutPW
.DA #_PutPW
.PS "getgrpgid"
.DA #SYS.GetGRGID
.DA #_GetGRGID
.PS "getgrpname"
.DA #SYS.GetGRName
.DA #_GetGRName
.PS "putgr"
.DA #SYS.PutGR
.DA #_PutGR
* .PS "opensession"
* .DA #0
* .PS "closesession"
@ -1068,15 +1068,15 @@ CC.SYSCALL .PS "chtyp"
* .PS "slistnew"
* .DA #0
.PS "malloc"
.DA #SYS.GetMem
.DA #_GetMem
.PS "realloc"
.DA #SYS.Realloc
.DA #_Realloc
* .PS "getmemptr"
* .DA #0
* .PS "freemem"
* .DA #SYS.FreeMem
* .DA #_FreeMem
.PS "free"
.DA #SYS.Free
.DA #_Free
* .PS "newstkobj"
* .DA #0
* .PS "getstkobjptr"

View File

@ -42,7 +42,7 @@ CP.PRINT ldy #$ff
>LDYA ZPDataPtr
jsr CP.Emit.LDYAI
ldx #SYS.PutS
ldx #_PutS
jsr CP.Emit.SYSCALL
pla

View File

@ -173,161 +173,161 @@ SL.EndDollar .EQ %00000001
*--------------------------------------D1
* STAT
* .EQ $00
SYS.ChMod .EQ $02
SYS.FStat .EQ $04
SYS.Stat .EQ $06
SYS.MKDir .EQ $08
SYS.MKNod .EQ $0A
SYS.MKFIFO .EQ $0C
SYS.Pipe .EQ $0E
_ChMod .EQ $02
_FStat .EQ $04
_Stat .EQ $06
_MKDir .EQ $08
_MKNod .EQ $0A
_MKFIFO .EQ $0C
_Pipe .EQ $0E
* DIRENT
SYS.OpenDir .EQ $10
SYS.ReadDir .EQ $12
SYS.CloseDir .EQ $14
_OpenDir .EQ $10
_ReadDir .EQ $12
_CloseDir .EQ $14
* UNISTD
SYS.Open .EQ $16
SYS.Close .EQ $18
SYS.Read .EQ $1A
SYS.Write .EQ $1C
SYS.ChOwn .EQ $1E
_Open .EQ $16
_Close .EQ $18
_Read .EQ $1A
_Write .EQ $1C
_ChOwn .EQ $1E
* STDIO
SYS.FPutC .EQ $20
SYS.PutChar .EQ $22
SYS.GetC .EQ $24
SYS.GetChar .EQ $26
SYS.FPutS .EQ $28
SYS.PutS .EQ $2A
SYS.FGetS .EQ $2C
SYS.UngetC .EQ $2E
_FPutC .EQ $20
_PutChar .EQ $22
_GetC .EQ $24
_GetChar .EQ $26
_FPutS .EQ $28
_PutS .EQ $2A
_FGetS .EQ $2C
_UngetC .EQ $2E
SYS.FOpen .EQ $30
SYS.FClose .EQ $32
SYS.FRead .EQ $34
SYS.FWrite .EQ $36
SYS.FFlush .EQ $38
SYS.FSeek .EQ $3A
SYS.FTell .EQ $3C
SYS.FEOF .EQ $3E
_FOpen .EQ $30
_FClose .EQ $32
_FRead .EQ $34
_FWrite .EQ $36
_FFlush .EQ $38
_FSeek .EQ $3A
_FTell .EQ $3C
_FEOF .EQ $3E
SYS.Remove .EQ $40
SYS.Rename .EQ $42
SYS.PrintF .EQ $44
SYS.FPrintF .EQ $46
SYS.SPrintF .EQ $48
SYS.ScanF .EQ $4A
SYS.FScanF .EQ $4C
SYS.SScanF .EQ $4E
_Remove .EQ $40
_Rename .EQ $42
_PrintF .EQ $44
_FPrintF .EQ $46
_SPrintF .EQ $48
_ScanF .EQ $4A
_FScanF .EQ $4C
_SScanF .EQ $4E
* .EQ $50
* .EQ $52
* .EQ $54
* .EQ $56
* PRODOS
SYS.Online .EQ $58
SYS.ChTyp .EQ $5A
SYS.ChAux .EQ $5C
SYS.SetAttr .EQ $5E
_Online .EQ $58
_ChTyp .EQ $5A
_ChAux .EQ $5C
_SetAttr .EQ $5E
*--------------------------------------D2
* MOUNT
SYS.Mount .EQ $60
SYS.UMount .EQ $62
_Mount .EQ $60
_UMount .EQ $62
* STKOBJ
SYS.LoadStkObj .EQ $64
SYS.GetStkObj .EQ $66
_LoadStkObj .EQ $64
_GetStkObj .EQ $66
* ARG
SYS.Shift .EQ $68
SYS.ArgV .EQ $6A
SYS.ArgVDup .EQ $6C
_Shift .EQ $68
_ArgV .EQ $6A
_ArgVDup .EQ $6C
* ERROR
SYS.GetErrMsg .EQ $6E
_GetErrMsg .EQ $6E
* STDLIB
SYS.AToF .EQ $70
SYS.AToI .EQ $72
SYS.AToL .EQ $74
SYS.StrToF .EQ $76
SYS.StrToL .EQ $78
SYS.StrToUL .EQ $7A
SYS.RealPath .EQ $7C
SYS.Expand .EQ $7E
_AToF .EQ $70
_AToI .EQ $72
_AToL .EQ $74
_StrToF .EQ $76
_StrToL .EQ $78
_StrToUL .EQ $7A
_RealPath .EQ $7C
_Expand .EQ $7E
* STRING
SYS.StrLen .EQ $80
SYS.StrCpy .EQ $82
SYS.StrCat .EQ $84
SYS.StrDup .EQ $86
SYS.StrUpr .EQ $88
SYS.StrLwr .EQ $8A
SYS.StrCmp .EQ $8C
SYS.StrCaseCmp .EQ $8E
_StrLen .EQ $80
_StrCpy .EQ $82
_StrCat .EQ $84
_StrDup .EQ $86
_StrUpr .EQ $88
_StrLwr .EQ $8A
_StrCmp .EQ $8C
_StrCaseCmp .EQ $8E
* DEV
SYS.GetDevByName .EQ $90
_GetDevByName .EQ $90
* .EQ $92
SYS.MKDev .EQ $94
SYS.IOCTL .EQ $96
_MKDev .EQ $94
_IOCTL .EQ $96
* BIN
SYS.LoadLib .EQ $98
SYS.UnloadLib .EQ $9A
SYS.LoadDrv .EQ $9C
SYS.InsDrv .EQ $9E
_LoadLib .EQ $98
_UnloadLib .EQ $9A
_LoadDrv .EQ $9C
_InsDrv .EQ $9E
* PS
SYS.ExecL .EQ $A0
SYS.ExecV .EQ $A2
SYS.Fork .EQ $A4
SYS.Kill .EQ $A6
SYS.LoadFile .EQ $A8
SYS.LoadTxtFile .EQ $AA
SYS.FileSearch .EQ $AC
SYS.GetMemStat .EQ $AE
_ExecL .EQ $A0
_ExecV .EQ $A2
_Fork .EQ $A4
_Kill .EQ $A6
_LoadFile .EQ $A8
_LoadTxtFile .EQ $AA
_FileSearch .EQ $AC
_GetMemStat .EQ $AE
*--------------------------------------E0/AUX
* STRV / STRVX
SYS.StrVNew .EQ $B0
SYS.StrVSet .EQ $B2
SYS.StrVGet .EQ $B4
SYS.StrVFree .EQ $B6
_StrVNew .EQ $B0
_StrVSet .EQ $B2
_StrVGet .EQ $B4
_StrVFree .EQ $B6
* ENV / ENVX
SYS.PutEnv .EQ $B8
SYS.SetEnv .EQ $BA
SYS.GetEnv .EQ $BC
SYS.UnsetEnv .EQ $BE
_PutEnv .EQ $B8
_SetEnv .EQ $BA
_GetEnv .EQ $BC
_UnsetEnv .EQ $BE
* TIME / TIMEX
SYS.Time .EQ $C0
SYS.StrFTime .EQ $C2
SYS.PTime2Time .EQ $C4
SYS.CTime2Time .EQ $C6
_Time .EQ $C0
_StrFTime .EQ $C2
_PTime2Time .EQ $C4
_CTime2Time .EQ $C6
* MD5 / MD5X
SYS.MD5 .EQ $C8
SYS.MD5Init .EQ $CA
SYS.MD5Update .EQ $CC
SYS.MD5Finalize .EQ $CE
_MD5 .EQ $C8
_MD5Init .EQ $CA
_MD5Update .EQ $CC
_MD5Finalize .EQ $CE
* PWD / PWDX
SYS.GetPWUID .EQ $D0
SYS.GetPWName .EQ $D2
SYS.PutPW .EQ $D4
SYS.GetGRGID .EQ $D6
SYS.GetGRName .EQ $D8
SYS.PutGR .EQ $DA
SYS.OpenSession .EQ $DC
SYS.CloseSession .EQ $DE
_GetPWUID .EQ $D0
_GetPWName .EQ $D2
_PutPW .EQ $D4
_GetGRGID .EQ $D6
_GetGRName .EQ $D8
_PutGR .EQ $DA
_OpenSession .EQ $DC
_CloseSession .EQ $DE
* SLIST / SLISTX
SYS.SListGetData .EQ $E0
SYS.SListAddData .EQ $E2
SYS.SListSetData .EQ $E4
SYS.SListGetByID .EQ $E6
SYS.SListNewKey .EQ $E8
SYS.SListLookup .EQ $EA
SYS.SListFree .EQ $EC
SYS.SListNew .EQ $EE
_SListGetData .EQ $E0
_SListAddData .EQ $E2
_SListSetData .EQ $E4
_SListGetByID .EQ $E6
_SListNewKey .EQ $E8
_SListLookup .EQ $EA
_SListFree .EQ $EC
_SListNew .EQ $EE
*--------------------------------------F0
* MEM
SYS.GetMem .EQ $F0
SYS.Malloc .EQ $F0
SYS.Realloc .EQ $F2
SYS.GetMemPtr .EQ $F4
SYS.FreeMem .EQ $F6
SYS.Free .EQ $F8
_GetMem .EQ $F0
_Malloc .EQ $F0
_Realloc .EQ $F2
_GetMemPtr .EQ $F4
_FreeMem .EQ $F6
_Free .EQ $F8
SYS.NewStkObj .EQ $FA
SYS.GetStkObjPtr .EQ $FC
SYS.FreeStkObj .EQ $FE
_NewStkObj .EQ $FA
_GetStkObjPtr .EQ $FC
_FreeStkObj .EQ $FE
*--------------------------------------
* MEM STRUCT
*--------------------------------------

View File

@ -17,7 +17,7 @@ NEW
* SYSCALLs Macros
*--------------------------------------
.MA SYSCALL
ldx #SYS.]1
ldx #_]1
jsr A2osX.SYSCALL
.EM
*--------------------------------------
@ -32,7 +32,7 @@ NEW
.EM
*--------------------------------------
.MA SYSCALL2
ldx #SYS.]1
ldx #_]1
jsr A2osX.SYSCALL2
.EM
*--------------------------------------

View File

@ -43,7 +43,7 @@ K.ReadDir.EL .BS 1
K.ReadDir.EPB .BS 1
K.ReadDir.EC .BS 2
K.ReadDir.BufSize .BS 2
K.ReadDir.BufS .BS 2
K.ReadDir.hBuf .BS 1
.ED
*--------------------------------------
@ -94,13 +94,13 @@ K.ReadDir.ROOT ldy #S.FD.DIR.FC did we already returned something ?
.2 lda (ZPPtr2),y
sta K.MLI.PATH+1,y
jsr K.ReadDir.AddToBuf
jsr K.ReadDir.Add2B
iny
dex
bne .2
txa Add ending 0 for C String
jsr K.ReadDir.AddToBuf
jsr K.ReadDir.Add2B
jsr FS.ClrStat
@ -160,7 +160,7 @@ K.ReadDir.ROOT ldy #S.FD.DIR.FC did we already returned something ?
.7 iny
lda (ZPPtr2),y
jsr K.ReadDir.AddToBuf
jsr K.ReadDir.Add2B
eor #0
bne .7
@ -190,7 +190,7 @@ K.ReadDir.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF
lda /512
sta K.MLI.PARAMS+5
>MLICALL MLI.READ Read A block from directory
K.ReadDir.DIR0 >MLICALL MLI.READ Read A block from directory
bcs .99
ldy #S.FD.DIR.EL Check if first run....
@ -245,29 +245,33 @@ K.ReadDir.DIR sta K.MLI.PARAMS+1 A=#S.DIR.PRODOS.REF
tay
inx Any entry remaining ?
bne .5
bne K.ReadDir.DIR1
iny
bne .5
bne K.ReadDir.DIR1
lda #MLI.E.EOF
sec
rts
*--------------------------------------
* pass #1 compute BufSize...
* pass #1 compute BufS...
*--------------------------------------
.5 lda K.ReadDir.EPB
K.ReadDir.DIR1 lda K.ReadDir.EPB
sta K.ReadDir.ECIB
lda #1 For Ending 0
sta K.ReadDir.BufSize
stz K.ReadDir.BufSize+1
sta K.ReadDir.BufS
stz K.ReadDir.BufS+1
jsr K.ReadDir.P3Init
stz .8+1
K.ReadDir.DIR1 lda (ZPPtr3)
.10 lda (ZPPtr3)
beq .7 Free slot....goto next
inc .8+1
and #$F0 get storage_type
cmp #$F0 Volume header ?
beq .1
@ -285,11 +289,11 @@ K.ReadDir.DIR1 lda (ZPPtr3)
.2 lda #2+S.STAT+3+S.STAT add "1." + S.STAT + "2.." + S.STAT...
clc
adc K.ReadDir.BufSize
sta K.ReadDir.BufSize
adc K.ReadDir.BufS
sta K.ReadDir.BufS
bcc .3
inc K.ReadDir.BufSize+1
inc K.ReadDir.BufS+1
.3 inx X,Y = !Total entry Count
bne .7
@ -298,14 +302,19 @@ K.ReadDir.DIR1 lda (ZPPtr3)
beq K.ReadDir.DIR2 we reached last entry in whole DIR
.7 jsr K.ReadDir.P3Next
bne K.ReadDir.DIR1
bne .10
.8 lda #$FF
bne K.ReadDir.DIR2
jmp K.ReadDir.DIR0
*--------------------------------------
* pass #2 Fill Buffer...(ZPPtr1 & Ptr2 can now be trashed)
*--------------------------------------
K.ReadDir.DIR2 lda K.ReadDir.EPB
sta K.ReadDir.ECIB
>LDYA K.ReadDir.BufSize Get a BufSize bytes buffer for storing results
>LDYA K.ReadDir.BufS Get a BufS bytes buffer for storing results
jsr K.ReadDir.GetBuf
bcc .10
@ -327,14 +336,14 @@ K.ReadDir.DIR2 lda K.ReadDir.EPB
bne .3
jsr K.ReadDir.ADD.
jsr K.ReadDir.AddStatACL
jsr K.ReadDir.SA2B
jsr K.ReadDir.ADD..
bra .4
.3 jsr K.ReadDir.AddFNToBuf
.3 jsr K.ReadDir.FN2B
.4 jsr K.ReadDir.AddStatACL
.4 jsr K.ReadDir.SA2B
lda K.ReadDir.EC decrease global counter...
sec
@ -398,15 +407,14 @@ K.ReadDir.ADD..
ldx #2 filename="2.."
lda #'.'
.1 jsr K.ReadDir.AddToBuf Add X dot(s)
.1 jsr K.ReadDir.Add2B Add X dot(s)
dex
bne .1
txa
jmp K.ReadDir.AddToBuf Add Ending 0
jmp K.ReadDir.Add2B Add Ending 0
*--------------------------------------
K.ReadDir.AddFNToBuf
ldy #$1D version/min_version for lowercase bitmap
K.ReadDir.FN2B ldy #$1D version/min_version for lowercase bitmap
lda (ZPPtr3),y check bxxxxxxx.xxxxxxxx...
bpl .7 not set, no lowercase bitmap present
@ -445,18 +453,17 @@ K.ReadDir.AddFNToBuf
ldy #1
.8 lda (ZPPtr3),y
jsr K.ReadDir.AddToBuf
jsr K.ReadDir.Add2B
iny
dex
bne .8
txa
* jsr K.ReadDir.AddToBuf
* jsr K.ReadDir.Add2B
* rts
*--------------------------------------
K.ReadDir.AddToBuf
sta (ZPPtr4)
K.ReadDir.Add2B sta (ZPPtr4)
inc ZPPtr4
bne .8
@ -464,8 +471,7 @@ K.ReadDir.AddToBuf
.8 rts
*--------------------------------------
K.ReadDir.AddStatACL
jsr FS.DirEnt2Stat
K.ReadDir.SA2B jsr FS.DirEnt2Stat
ldy #S.FD.DIR.UID
ldx #S.STAT.UID
@ -491,7 +497,7 @@ K.ReadDir.AddStat
ldy #0
.1 lda K.S.STAT,y
jsr K.ReadDir.AddToBuf
jsr K.ReadDir.Add2B
iny
cpy #S.STAT
bne .1

View File

@ -183,7 +183,7 @@ ENVX.GetEnv sta ENVX.hEnv
bne .2
inc
.2 ldx #SYS.GetMem
.2 ldx #_GetMem
jsr JMP.M !!! Get a buffer In MAIN Mem !!!
bcs .99

View File

@ -1,7 +1,7 @@
NEW
AUTO 3,1
*--------------------------------------
JMPX jmp (.1-SYS.StrVNew,x)
JMPX jmp (.1-_StrVNew,x)
.1 .DA STRVX.StrVNew
.DA STRVX.StrVSet

View File

@ -52,7 +52,7 @@ SLISTX.GetData jsr SLISTX.Select
sec
ror SLISTX.b0
.11 ldx #SYS.GetMem
.11 ldx #_GetMem
jsr JMP.M !!! Get a buffer In MAIN Mem !!!
bcs .9

View File

@ -306,7 +306,7 @@ STDIO.Get1 >PUSHA
>PUSHA
inc read 1 byte
>PUSHA
ldx #SYS.FRead
ldx #_FRead
jmp K.FRead
*/--------------------------------------
* # ungetc
@ -465,7 +465,7 @@ K.FRead.RTS rts
* ## RETURN VALUE
* Y,A = Bytes Written
*\--------------------------------------
K.FWrite.PFT ldx #SYS.FWrite Needed by PFT
K.FWrite.PFT ldx #_FWrite Needed by PFT
K.FWrite jsr PFT.CheckNode4
bcs K.FWrite.RET5

View File

@ -387,7 +387,7 @@ K.Expand ldy #2
lda /K.Buf256
>STYA FORPNT
ldx #SYS.GetEnv
ldx #_GetEnv
jsr K.GetEnv.I
bcs .70

View File

@ -15,7 +15,7 @@ K.Time >PULLW FORPNT
>MLICALL MLI.GETTIME
>LDYAI GP.DATE
>STYA TXTPTR
ldx #SYS.PTime2Time
ldx #_PTime2Time
jmp JMP.X
*/--------------------------------------
* # StrFTime