Kernel Rewrite #6.2

This commit is contained in:
Rémy GIBERT 2016-06-24 08:02:32 +02:00
parent 1de9550760
commit 448a4c2133
10 changed files with 19 additions and 25 deletions

Binary file not shown.

Binary file not shown.

View File

@ -86,7 +86,8 @@ CS.INIT ldy #S.PS.hARGS
>SYSCALL SYS.PStrCat >SYSCALL SYS.PStrCat
sta hDIRPATH sta hDIRPATH
.3 >SYSCALL SYS.ListDirInitA .3 >SYSCALL SYS.GetMemPtrA
>SYSCALL SYS.ListDirInitYA
bcs .99 bcs .99
ldy #hS.LISTDIR ldy #hS.LISTDIR
sta (pData),y sta (pData),y

View File

@ -86,14 +86,11 @@ CS.INIT >LDYA L.LIBSTR
.1 ldy #S.PS.hPREFIX .1 ldy #S.PS.hPREFIX
lda (pPs),y lda (pPs),y
.3 pha .3 >SYSCALL SYS.GetMemPtrA
>SYSCALL SYS.CheckPrefixA is it a existing directory?
bcs .4 no, let ListDirInitA extract pattern
pla
pha
>SYSCALL SYS.GetMemPtrA
>STYA ZPPtr1 >STYA ZPPtr1
>SYSCALL SYS.CheckPrefixYA is it a existing directory?
bcs .4 no, let ListDirInitYA extract pattern
lda (ZPPtr1) lda (ZPPtr1)
tay tay
lda #'/' lda #'/'
@ -106,8 +103,8 @@ CS.INIT >LDYA L.LIBSTR
lda #'*' lda #'*'
sta (ZPPtr1),y sta (ZPPtr1),y
.4 pla .4 >LDYA ZPPtr1
>SYSCALL SYS.ListDirInitA >SYSCALL SYS.ListDirInitYA
bcs .9 bcs .9
ldy #hS.LISTDIR ldy #hS.LISTDIR
sta (pData),y sta (pData),y

View File

@ -65,7 +65,8 @@ CS.INIT ldy #S.PS.hARGS
ldy #hDirPath ldy #hDirPath
sta (pData),y sta (pData),y
.3 >SYSCALL SYS.ListDirInitA .3 >SYSCALL SYS.GetMemPtrA
>SYSCALL SYS.ListDirInitYA
bcs .99 bcs .99
ldy #hS.LISTDIR ldy #hS.LISTDIR
sta (pData),y sta (pData),y

View File

@ -236,12 +236,11 @@ SYS.GetPSByIDA .EQ $98
SYS.Sleep .EQ $9C SYS.Sleep .EQ $9C
*-------------------------------------- *--------------------------------------
SYS.CheckPrefixA .EQ $A0 SYS.CheckPrefixYA .EQ $A0
SYS.FileSearch .EQ $A2 SYS.FileSearch .EQ $A2
SYS.LoadFileYA .EQ $A6 SYS.LoadFileYA .EQ $A6
SYS.ListDirInitA .EQ $A8
SYS.ListDirInitYA .EQ $AA SYS.ListDirInitYA .EQ $AA
SYS.ListDirNextA .EQ $AC SYS.ListDirNextA .EQ $AC
SYS.ListDirCloseA .EQ $AE SYS.ListDirCloseA .EQ $AE

View File

@ -243,8 +243,8 @@ EXEC.CMD.CD.C >SYSCALL SYS.GetMemPtrA
sta (ZPPTR3),y sta (ZPPTR3),y
tya tya
sta (ZPPTR3) sta (ZPPTR3)
.4 lda hNEWPATH .4 >LDYA ZPPTR3
>SYSCALL SYS.CheckPrefixA >SYSCALL SYS.CheckPrefixYA
bcs .98 bcs .98
ldy #S.PS.hPREFIX ldy #S.PS.hPREFIX
lda (pPs),y lda (pPs),y

View File

@ -7,7 +7,6 @@ AUTO 6
*-------------------------------------- *--------------------------------------
* PUBLIC * PUBLIC
*-------------------------------------- *--------------------------------------
S.CheckPrefixA jsr S.GetMemPtrA
S.CheckPrefixYA >STYA MLICALL.PARAMS+1 S.CheckPrefixYA >STYA MLICALL.PARAMS+1
>STYA ZPQuickPtr1 >STYA ZPQuickPtr1
lda (ZPQuickPtr1) lda (ZPQuickPtr1)
@ -183,16 +182,13 @@ S.LoadFile.hExp .BS 1
S.LoadFile.hMem .BS 1 S.LoadFile.hMem .BS 1
S.LoadFile.Len .BS 2 S.LoadFile.Len .BS 2
*-------------------------------------- *--------------------------------------
* S.ListDirInitA * S.ListDirInitYA
* in : * in :
* A = PATH (PSTR) /DIR,/DIR/*.?s * Y,A = PSTR /DIR,/DIR/*.?s
* out : * out :
* A = hMem of Dir Listing * A = hMem of Dir Listing
*-------------------------------------- *--------------------------------------
S.ListDirInitA S.ListDirInitYA >STYA R.BX Store path
jsr S.GetMemPtrA
S.ListDirInitYA
>STYA R.BX Store path
stz TmpFileName Reset File.Pattern stz TmpFileName Reset File.Pattern

View File

@ -97,11 +97,11 @@ KERNEL.SYSCALL .DA S.GetMem $00
.DA S.Sleep .DA S.Sleep
.DA 0 .DA 0
*-------------------------------------- *--------------------------------------
.DA S.CheckPrefixA $A0 .DA S.CheckPrefixYA $A0
.DA S.FileSearch .DA S.FileSearch
.DA 0 .DA 0
.DA S.LoadFileYA .DA S.LoadFileYA
.DA S.ListDirInitA .DA 0
.DA S.ListDirInitYA .DA S.ListDirInitYA
.DA S.ListDirNextA .DA S.ListDirNextA
.DA S.ListDirCloseA .DA S.ListDirCloseA

View File

@ -217,6 +217,7 @@ A2osX.BE00.END .EQ *
A2osX.D001 .EQ * A2osX.D001 .EQ *
.PH $D000 .PH $D000
.INB SYS/KERNEL.S.JMP .INB SYS/KERNEL.S.JMP
.INB SYS/KERNEL.S.RUN
.INB SYS/KERNEL.S.STR .INB SYS/KERNEL.S.STR
.INB SYS/KERNEL.S.CIO .INB SYS/KERNEL.S.CIO
.INB SYS/KERNEL.S.FIO .INB SYS/KERNEL.S.FIO
@ -238,7 +239,6 @@ A2osX.D002.END .EQ *
*-------------------------------------- *--------------------------------------
A2osX.E000 .EQ * A2osX.E000 .EQ *
.PH $E000 .PH $E000
.INB SYS/KERNEL.S.RUN
.INB SYS/KERNEL.S.IRQ .INB SYS/KERNEL.S.IRQ
.INB SYS/KERNEL.S.MEM .INB SYS/KERNEL.S.MEM
.INB SYS/KERNEL.S.BIN .INB SYS/KERNEL.S.BIN