A2osX/SYS/KERNEL.S.PFT.txt

112 lines
2.1 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

PR#3
PREFIX /A2OSX.BUILD
LOMEM $A00
INC 1
AUTO 6
*--------------------------------------
* K.PFTAdd
* In :
* Out :
*--------------------------------------
K.PFTAdd
clc
rts
*--------------------------------------
* K.PFTRemove
* In :
* Out :
*--------------------------------------
K.PFTRemove
clc
rts
*--------------------------------------
* PFT.CheckPath___
* In :
* PULLW/Y,A = PATH (C-String)
* Out :
*--------------------------------------
PFT.CheckPathSTK
lda (pStack) read PTR.LO on top of stack
pha
ldy #1
lda (pStack),y read PTR.HI on top of stack
ply
PFT.CheckPathYA
>STYA ZPPtr1
>LDYAI Flt.Table
>STYA ZPPtr2
.1 lda (ZPPtr2) Get Filter char....
beq .9 End Of Table, Exit
ldy #0
.2 lda (ZPPtr2),y
beq .3 end of filter string....
lda (ZPPtr1),y
beq .8
cmp (ZPPtr2),y
bne .8
iny
bne .2
.3 lda (ZPPtr1),y
cmp #'/'
bne .8
ldy #S.PFT.HANDLER
lda (ZPPtr2),y get hLib
jsr K.GetMemPtr.A
>STYA .7+1
pla discard JSR return @
pla
>LDYA ZPPtr1 restore passed params
.7 jmp $ffff X unmodified
.8 lda ZPPtr2
clc
adc (ZPPtr2) Add STR len
adc #S.PFT
sta ZPPtr2
bcc .1
.9 >LDYA ZPPtr1 restore passed params
rts
*--------------------------------------
* PFT.Check___
* In :
* PULLB/A = hFILE/hDIR
* Out :
*--------------------------------------
PFT.CheckNodeSTK
lda (pStack) read hFILE on top of stack
PFT.CheckNodeA sta .9+1 save hFILE
jsr K.GetMemPtr.A X = unmodified
>STYA ZPPtr1
lda (ZPPtr1)
beq .9 Handler is 0, back to kernel....
jsr K.GetMemPtr.A
>STYA .1+1
pla discard JSR return @
pla
lda .9+1 restore passed hFILE
.1 jmp $ffff
.9 lda #$ff Self Modified
rts
*--------------------------------------
MAN
SAVE /A2OSX.SRC/SYS/KERNEL.S.PFT
LOAD /A2OSX.SRC/SYS/KERNEL.S
ASM