mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-11 00:31:06 +00:00
Kernel 0.93
This commit is contained in:
parent
26b0b2492a
commit
c29c556af8
@ -213,6 +213,75 @@ Remove an environment variable
|
||||
|
||||
## RETURN VALUE
|
||||
|
||||
# NewFIFO
|
||||
|
||||
## C
|
||||
`int getpwuid(short int uid, S.PW* passwd );`
|
||||
|
||||
## ASM
|
||||
`>PUSHW passwd`
|
||||
`>LDYA size`
|
||||
`>SYSCALL getpwuid`
|
||||
|
||||
## RETURN VALUE
|
||||
A = hFIFO
|
||||
|
||||
# GetPWName
|
||||
|
||||
## C
|
||||
`int getpwname(const char* name, S.PW* passwd );`
|
||||
|
||||
## ASM
|
||||
`>PUSHW passwd`
|
||||
`>LDYA name`
|
||||
`>SYSCALL getpwname`
|
||||
|
||||
## RETURN VALUE
|
||||
|
||||
# PutPW
|
||||
|
||||
## C
|
||||
`int putpw( S.PW* passwd );`
|
||||
|
||||
## ASM
|
||||
`>LDYA passwd`
|
||||
`>SYSCALL putpw`
|
||||
|
||||
## RETURN VALUE
|
||||
|
||||
# PutPW
|
||||
|
||||
## C
|
||||
`int putpw( S.PW* passwd );`
|
||||
|
||||
## ASM
|
||||
`>LDYA passwd`
|
||||
`>SYSCALL putpw`
|
||||
|
||||
## RETURN VALUE
|
||||
|
||||
# PutPW
|
||||
|
||||
## C
|
||||
`int putpw( S.PW* passwd );`
|
||||
|
||||
## ASM
|
||||
`>LDYA passwd`
|
||||
`>SYSCALL putpw`
|
||||
|
||||
## RETURN VALUE
|
||||
|
||||
# PutPW
|
||||
|
||||
## C
|
||||
`int putpw( S.PW* passwd );`
|
||||
|
||||
## ASM
|
||||
`>LDYA passwd`
|
||||
`>SYSCALL putpw`
|
||||
|
||||
## RETURN VALUE
|
||||
|
||||
# LoadTxtFile
|
||||
Load TXT a file in memory (with ending 0)
|
||||
|
||||
@ -458,6 +527,7 @@ Y,A = PTR to MemBlock
|
||||
|
||||
## RETURN VALUE
|
||||
Y,A = Byte Count
|
||||
X = hMem (if DataPtr = 0)
|
||||
|
||||
# SListAddData
|
||||
|
||||
|
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
NEW
|
||||
PREFIX
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
DIR.Reset lda #$80
|
||||
@ -492,10 +492,11 @@ DIR.MA >LDA.G ASM.MA.ON
|
||||
jsr SRC.GetNextCharNB
|
||||
beq DIR.OP.SYNERR
|
||||
|
||||
jsr SYM.GetName
|
||||
>PUSHW ZPLinePtr
|
||||
>LDA.G MAC.hMacroList
|
||||
>SYSCALL SListNewKey
|
||||
bcs .99
|
||||
|
||||
jsr MAC.New
|
||||
>STYA MAC.MacroID
|
||||
|
||||
.8 lda #$ff
|
||||
>STA.G ASM.MA.ON
|
||||
|
@ -1,5 +1,5 @@
|
||||
NEW
|
||||
PREFIX
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
* EXP.Modifiers:
|
||||
|
@ -1,5 +1,5 @@
|
||||
NEW
|
||||
PREFIX
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
FIO.Init >LDYA L.ASM.6502
|
||||
@ -14,7 +14,7 @@ FIO.LOAD.ASM.T >STYA ZPPtr2
|
||||
ldy #$ff
|
||||
ldx #$ff
|
||||
|
||||
.1 iny
|
||||
.1 iny
|
||||
inx
|
||||
lda (ZPPtr1),y
|
||||
sta ASM.T.FILENAME,x
|
||||
|
@ -1,5 +1,5 @@
|
||||
NEW
|
||||
PREFIX
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
MAC.Init >SYSCALL SListNew
|
||||
@ -56,69 +56,41 @@ MAC.Quit >LDA.G MAC.hCtxBuf
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAC.New lda #0
|
||||
MAC.AddChar tax
|
||||
|
||||
phy
|
||||
|
||||
>LDA.G MAC.BufPtr
|
||||
tay
|
||||
|
||||
.1 sta (ZPMacroBuf),y
|
||||
iny
|
||||
bne .1
|
||||
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAC.AddChar >LDA.G ASM.PASS If Pass#2, ignore
|
||||
bne .8
|
||||
|
||||
tax
|
||||
lda (ZPMacroBuf)
|
||||
cmp #254
|
||||
beq .9 CS if EQ
|
||||
|
||||
inc
|
||||
sta (ZPMacroBuf)
|
||||
|
||||
tay
|
||||
txa
|
||||
|
||||
sta (ZPMacroBuf),y
|
||||
>INC.G MAC.BufPtr
|
||||
ply
|
||||
|
||||
tax
|
||||
beq .1
|
||||
|
||||
* >SYSCALL PutChar
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.1
|
||||
* lda #13
|
||||
* >SYSCALL PutChar
|
||||
* lda #10
|
||||
* >SYSCALL PutChar
|
||||
|
||||
|
||||
clc
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
MAC.Store >LDA.G ASM.PASS If Pass#2, ignore
|
||||
txa
|
||||
bne .8
|
||||
|
||||
lda (ZPMacroBuf)
|
||||
beq .8
|
||||
|
||||
>PUSHB.G MAC.hMacroList
|
||||
>PUSHW ZPNameBuf
|
||||
>LDA.G MAC.BufPtr
|
||||
tay
|
||||
lda #0
|
||||
|
||||
>PUSHYA
|
||||
>PUSHW ZPMacroBuf
|
||||
>SYSCALL SListAdd
|
||||
>PUSHW.G MAC.MacroID
|
||||
>LDA.G MAC.hMacroList
|
||||
>SYSCALL SListAddData
|
||||
rts
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*---------------------------------------
|
||||
MAC.Lookup >PUSHB.G MAC.hMacroList
|
||||
MAC.Lookup >PUSHW ZPMacroBuf
|
||||
>PUSHW ZPLinePtr
|
||||
>PUSHW ZPMacroBuf
|
||||
>LDA.G MAC.hMacroList
|
||||
>SYSCALL SListLookup
|
||||
bcs .9
|
||||
|
||||
txa
|
||||
adc ZPLinePtr
|
||||
sta ZPLinePtr
|
||||
bcc .8
|
||||
@ -128,7 +100,8 @@ MAC.Lookup >PUSHB.G MAC.hMacroList
|
||||
.8
|
||||
.9 rts
|
||||
*---------------------------------------
|
||||
MAC.NewOrGetCtx
|
||||
MAC.NewOrGetCtx sec
|
||||
rts
|
||||
*---------------------------------------
|
||||
*---------------------------------------
|
||||
MAN
|
||||
|
@ -1,5 +1,5 @@
|
||||
NEW
|
||||
PREFIX
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
OUT.Init lda #20
|
||||
|
@ -1,5 +1,5 @@
|
||||
NEW
|
||||
PREFIX
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
SRC.ParseLine jsr OUT.Reset
|
||||
@ -30,6 +30,12 @@ SRC.ParseLine jsr OUT.Reset
|
||||
rts
|
||||
*---------------------------------------
|
||||
SRC.ParseLine.Macro
|
||||
>LDA.G ASM.PASS If Pass#2, ignore
|
||||
bne .8
|
||||
|
||||
>STZ.G MAC.BufPtr
|
||||
sta (ZPMacroBuf)
|
||||
|
||||
lda (ZPLinePtr)
|
||||
cmp #' ' No label, scan to DIR/OP if any
|
||||
bne .1
|
||||
@ -77,10 +83,7 @@ SRC.ParseLine.Macro
|
||||
cmp #'m'
|
||||
bne .3
|
||||
|
||||
.22 jsr MAC.Store
|
||||
bcs SRC.ParseLine.RTS
|
||||
|
||||
>STZ.G ASM.MA.ON
|
||||
.22 >STZ.G ASM.MA.ON
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
@ -118,15 +121,10 @@ SRC.ParseLine.Macro
|
||||
bcs .80
|
||||
cmp #' '
|
||||
bne .5
|
||||
|
||||
lda #0
|
||||
jmp MAC.AddChar End of Line
|
||||
clc
|
||||
rts
|
||||
|
||||
.99 lda #ERR.MACRO.TOO.BIG
|
||||
sec
|
||||
bra .80 End of Line
|
||||
|
||||
.99
|
||||
SRC.ParseLine.RTS
|
||||
rts
|
||||
*---------------------------------------
|
||||
|
@ -1,5 +1,5 @@
|
||||
NEW
|
||||
PREFIX
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
* Global Symbol Record: (6+ bytes)
|
||||
@ -80,25 +80,23 @@ SYM.Dump stz ZPLinePtr
|
||||
>LDYA L.MSG.SYMBOLS
|
||||
>SYSCALL puts
|
||||
|
||||
.1 >PUSHB.G SYM.hGlobalList
|
||||
.1 >PUSHW ZPNameBuf
|
||||
>PUSHW ZPLinePtr
|
||||
>PUSHW ZPGlobalBuf
|
||||
>PUSHW ZPNameBuf
|
||||
>LDA.G SYM.hGlobalList
|
||||
>SYSCALL SListGetByID
|
||||
bcc .10
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
.10 stx ZPLinePtr Save Next ID
|
||||
sty ZPLinePtr+1
|
||||
.10 >STYA ZPLinePtr Save Next ID
|
||||
|
||||
>LDA.G ASM.LI.ON
|
||||
bpl .1
|
||||
|
||||
ldy #SYMG.F Get Symbol Size
|
||||
lda (ZPGlobalBuf),y
|
||||
and #SYMG.F.SIZE
|
||||
* and #SYMG.F.SIZE
|
||||
|
||||
>PUSHA Byte Count
|
||||
tax
|
||||
@ -207,12 +205,12 @@ SYM.GetGlobal >PUSHB.G SYM.hGlobalList
|
||||
rts
|
||||
*---------------------------------------
|
||||
SYM.LookupGlobal
|
||||
>PUSHB.G SYM.hGlobalList
|
||||
>PUSHW ZPLinePtr
|
||||
>PUSHW ZPLookupBuf
|
||||
>LDA.G SYM.hGlobalList
|
||||
>SYSCALL SListLookup
|
||||
bcs .9
|
||||
|
||||
>STYA.G SYM.GlobalID
|
||||
txa
|
||||
adc ZPLinePtr
|
||||
sta ZPLinePtr
|
||||
bcc .8
|
||||
@ -225,19 +223,21 @@ SYM.LookupGlobal
|
||||
SYM.FlushGlobal lda (ZPGlobalBuf)
|
||||
beq .8
|
||||
|
||||
>PUSHB.G SYM.hGlobalList
|
||||
|
||||
>LDA.G ASM.PASS
|
||||
bne .2
|
||||
|
||||
>PUSHW ZPNameBuf
|
||||
>PUSHW ZPGlobalBuf
|
||||
>SYSCALL SListAdd
|
||||
>PUSHW.G SYM.GlobalID
|
||||
>LDA.G SYM.hGlobalList
|
||||
>SYSCALL SListAddData
|
||||
bra .3
|
||||
|
||||
.2 >PUSHW.G SYM.GlobalID
|
||||
>PUSHW ZPGlobalBuf
|
||||
>SYSCALL SListUpdateByID
|
||||
.2 >PUSHW ZPGlobalBuf
|
||||
>PUSHW.G SYM.GlobalID
|
||||
>LDA.G SYM.hGlobalList
|
||||
>SYSCALL SListSetData
|
||||
|
||||
.3 bcs .9
|
||||
lda #0
|
||||
@ -333,7 +333,7 @@ SYM.Lookup2Acc ldy #SYMG.F+4
|
||||
bne .1
|
||||
|
||||
lda (ZPLookupBuf),y
|
||||
and #SYMG.F.SIZE
|
||||
* and #SYMG.F.SIZE
|
||||
sta SRC.ACC.SIZE
|
||||
|
||||
clc
|
||||
|
@ -1,5 +1,5 @@
|
||||
NEW
|
||||
PREFIX
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
.LIST OFF
|
||||
.OP 65C02
|
||||
@ -26,7 +26,7 @@ ZPRPtr .EQ ZPBIN+20
|
||||
ZPOpsPtr .EQ ZPBIN+22
|
||||
ZPOpDefPtr .EQ ZPBIN+24
|
||||
|
||||
ZPTmpBuf .EQ ZPBIN+16
|
||||
ZPTmpBuf .EQ ZPBIN+26
|
||||
*---------------------------------------
|
||||
* Symbols
|
||||
*---------------------------------------
|
||||
@ -246,10 +246,18 @@ CS.INIT ldy #S.PS.ARGC
|
||||
>SYSCALL printf
|
||||
lda #ERR.INV.ARGS
|
||||
sec
|
||||
.9 rts
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN >SYSCALL GetChar
|
||||
bcs .13 no char
|
||||
CS.RUN ldy #S.PS.hStdIn
|
||||
lda (pPS),y
|
||||
>SYSCALL feof
|
||||
bcs .99
|
||||
|
||||
tay
|
||||
beq .13
|
||||
|
||||
>SYSCALL GetChar
|
||||
bcs .99
|
||||
|
||||
cmp #$03 Ctrl-C
|
||||
beq .99 Abort....beq=CS
|
||||
@ -268,7 +276,7 @@ CS.RUN >SYSCALL GetChar
|
||||
.13 >LDA.G bPause
|
||||
bpl .11
|
||||
clc
|
||||
rts
|
||||
.99 rts
|
||||
|
||||
.11 >STZ.G bPause
|
||||
|
||||
@ -313,7 +321,7 @@ CS.RUN >SYSCALL GetChar
|
||||
inc
|
||||
sta (pData),y
|
||||
clc
|
||||
.99 rts
|
||||
rts
|
||||
|
||||
.1 jsr SYM.Dump
|
||||
>PUSHW ZPLinePtr
|
||||
@ -539,6 +547,8 @@ MAC.hMacroList .BS 1
|
||||
MAC.hMacroBuf .BS 1
|
||||
MAC.hCtxList .BS 1
|
||||
MAC.hCtxBuf .BS 1
|
||||
MAC.MacroID .BS 2
|
||||
MAC.BufPtr .BS 1
|
||||
MAC.CtxID .BS 2
|
||||
|
||||
OUT.PC .BS 4
|
||||
|
@ -1,5 +1,5 @@
|
||||
NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
T.ADDR.MODES .EQ *
|
||||
|
@ -1,5 +1,5 @@
|
||||
NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
*---------------------------------------
|
||||
T.OPCODES .EQ *
|
||||
|
@ -1,5 +1,5 @@
|
||||
NEW
|
||||
PREFIX /A2OSX.BUILD
|
||||
PREFIX
|
||||
AUTO 4,1
|
||||
.LIST OFF
|
||||
.OR $0
|
||||
|
@ -41,7 +41,7 @@ CMD.PUSHD >LDA.G PUSHD.STACK
|
||||
sta (pData),y
|
||||
|
||||
lda (ZPArgVBufPtr)
|
||||
bne CMD.CD.1
|
||||
bne CMD.CD.0
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
@ -70,7 +70,7 @@ CMD.PWD ldy #S.PS.hPREFIX
|
||||
CMD.CD lda (ZPArgVBufPtr)
|
||||
beq CMD.CD.HOME
|
||||
|
||||
>LDYA ZPArgVBufPtr
|
||||
CMD.CD.0 >LDYA ZPArgVBufPtr
|
||||
bra CMD.CD.1
|
||||
|
||||
CMD.CD.HOME >LDYA L.ENV.HOME
|
||||
|
@ -346,12 +346,13 @@ CORE.ExecFunc >STYA TmpWord KeyID
|
||||
|
||||
jsr CORE.SkipLine
|
||||
|
||||
|
||||
|
||||
>PUSHWI 0 From Start
|
||||
>PUSHWI 0 TextMode
|
||||
>PUSHWI $ffff all
|
||||
>PUSHWI 0 Allocate..
|
||||
>PUSHW TmpWord KeyID
|
||||
>LDA.G hFuncList
|
||||
>DEBUG
|
||||
>SYSCALL SListGetData
|
||||
bcs .9
|
||||
txa
|
||||
|
@ -110,6 +110,7 @@ E.IUSR .EQ $F2 Invalid User
|
||||
E.NOKEY .EQ $EF Undefined Key
|
||||
E.DUPKEY .EQ $EE Duplicate Key
|
||||
E.NODATA .EQ $ED No Data
|
||||
E.DATALEN .EQ $EC Data Length Mismatch
|
||||
*--------------------------------------
|
||||
* A2osX.SYSCALL Constants
|
||||
*--------------------------------------
|
||||
|
@ -14,34 +14,9 @@ X.SLIST jmp (.1-SYS.SListGetData,x)
|
||||
*--------------------------------------
|
||||
SLIST.GetData jsr SLIST.Select
|
||||
jsr SLIST.SkipKey
|
||||
|
||||
jsr SLIST.GetDataLen
|
||||
|
||||
lda ZPSListDataPtr
|
||||
ora ZPSListDataPtr+1
|
||||
bne .10
|
||||
|
||||
>LDYA SLIST.DataLen
|
||||
>STYA ZPSListDataLen
|
||||
jsr MEM.GetMainBuf
|
||||
bcs .9
|
||||
stx .82+1
|
||||
>STYA ZPSListDataPtr
|
||||
bra .12
|
||||
|
||||
.10 lda ZPMemMgrSize Get Offset
|
||||
cmp SLIST.DataLen
|
||||
lda ZPMemMgrSize+1
|
||||
sbc SLIST.DataLen+1
|
||||
bcc .11
|
||||
lda #E.NODATA
|
||||
.9 rts
|
||||
|
||||
.11 lda ZPMemMgrSize
|
||||
ldx ZPMemMgrSize+1
|
||||
jsr SLIST.SkipDataAX
|
||||
|
||||
.12 lda SLIST.DataLen
|
||||
lda SLIST.DataLen
|
||||
sec
|
||||
sbc ZPMemMgrSize
|
||||
eor #$ff
|
||||
@ -50,9 +25,25 @@ SLIST.GetData jsr SLIST.Select
|
||||
sbc ZPMemMgrSize
|
||||
eor #$ff
|
||||
sta SLIST.nDataCnt+1 Data remaining
|
||||
|
||||
bcc .99
|
||||
|
||||
.10 lda ZPMemMgrSize
|
||||
ldx ZPMemMgrSize+1
|
||||
jsr SLIST.SkipDataAX
|
||||
|
||||
lda ZPSListDataPtr
|
||||
ora ZPSListDataPtr+1
|
||||
bne .12
|
||||
|
||||
lda ZPSListDataLen
|
||||
ora ZPSListDataLen
|
||||
>LDYA SLIST.DataLen
|
||||
jsr MEM.GetMainBuf
|
||||
bcs .9
|
||||
stx .82+1
|
||||
>STYA ZPSListDataPtr
|
||||
|
||||
.12 lda ZPSListDataLen
|
||||
ora ZPSListDataLen+1
|
||||
sec
|
||||
beq .1 String Mode
|
||||
|
||||
@ -94,7 +85,7 @@ SLIST.GetData jsr SLIST.Select
|
||||
|
||||
.99 lda #E.NODATA
|
||||
sec
|
||||
rts
|
||||
.9 rts
|
||||
|
||||
.7 jsr SLIST.GetNextByte
|
||||
|
||||
@ -148,7 +139,11 @@ SLIST.AddData jsr SLIST.Select
|
||||
bcc .1
|
||||
rts
|
||||
|
||||
.8 jsr SLIST.Select.I go back to DataLen Location
|
||||
.8 lda #0
|
||||
jsr SLIST.AddBlockByte Make sure 0 follow DATA
|
||||
bcs .9
|
||||
|
||||
jsr SLIST.Select.I go back to DataLen Location
|
||||
|
||||
lda SLIST.DataLen
|
||||
jsr SLIST.SetBlockByte
|
||||
@ -158,45 +153,66 @@ SLIST.AddData jsr SLIST.Select
|
||||
clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
SLIST.SetData
|
||||
clc
|
||||
SLIST.SetData jsr SLIST.Select
|
||||
jsr SLIST.SkipKey
|
||||
jsr SLIST.GetDataLen
|
||||
|
||||
lda SLIST.DataLen
|
||||
cmp ZPSListDataLen
|
||||
bne .9
|
||||
|
||||
ldx SLIST.DataLen+1
|
||||
cpx ZPSListDataLen+1
|
||||
bne .9
|
||||
|
||||
eor #$ff
|
||||
sta SLIST.nDataCnt
|
||||
txa
|
||||
eor #$ff
|
||||
sta SLIST.nDataCnt+1
|
||||
|
||||
.1 inc SLIST.nDataCnt
|
||||
bne .2
|
||||
inc SLIST.nDataCnt+1
|
||||
beq .8
|
||||
|
||||
.2 jsr MEM.GetDataByte
|
||||
jsr SLIST.SetBlockByte
|
||||
bra .1
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
|
||||
.9 lda #E.DATALEN
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
SLIST.GetByID jsr SLIST.Select
|
||||
|
||||
jsr SLIST.GetBlockByte
|
||||
jsr SLIST.GetNextByte
|
||||
|
||||
tax
|
||||
beq .9
|
||||
|
||||
ldy #0
|
||||
|
||||
.1 jsr SLIST.GetNextByte
|
||||
jsr MEM.SetKeyCharY
|
||||
|
||||
.1 jsr SLIST.GetNextBlockByte
|
||||
iny
|
||||
jsr MEM.SetKeyCharY
|
||||
dex
|
||||
bne .1
|
||||
|
||||
jsr SLIST.GetNextBlockByte
|
||||
|
||||
tax
|
||||
|
||||
jsr MEM.SetDataByte
|
||||
|
||||
.2 jsr SLIST.GetNextBlockByte
|
||||
jsr MEM.SetDataByte
|
||||
dex
|
||||
bne .2
|
||||
|
||||
jsr SLIST.GetNextBlockByte
|
||||
|
||||
clc
|
||||
.HS B0 BCS
|
||||
.9 sec
|
||||
txa lda #0
|
||||
jsr MEM.SetKeyCharY
|
||||
|
||||
jsr SLIST.SkipData
|
||||
|
||||
>LDYA SLIST.KeyID
|
||||
clc
|
||||
rts
|
||||
|
||||
.9 lda #E.NOKEY
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
SLIST.NewKey jsr SLIST.Search
|
||||
@ -305,16 +321,15 @@ SLIST.Search jsr K.GetMemPtr
|
||||
bcc .1
|
||||
|
||||
sty SLIST.KeyLen
|
||||
|
||||
ldy SLIST.BlockPtr
|
||||
lda (ZPSListDBlkPtr),y
|
||||
beq .9
|
||||
|
||||
>DEBUG
|
||||
|
||||
.2 >LDYA SLIST.KeyID
|
||||
>STYA ZPSListKeyID
|
||||
|
||||
ldy SLIST.BlockPtr
|
||||
ldy SLIST.BytePtr
|
||||
lda (ZPSListDBlkPtr),y
|
||||
beq .9
|
||||
|
||||
cmp SLIST.KeyLen
|
||||
bne .5
|
||||
|
||||
@ -401,39 +416,6 @@ SLIST.GetNextByte
|
||||
pla
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
SLIST.GetNextBlockByte
|
||||
phy
|
||||
ldy SLIST.BytePtr
|
||||
iny
|
||||
beq .1
|
||||
|
||||
lda (ZPSListDBlkPtr),y
|
||||
sty SLIST.BlockPtr
|
||||
ply
|
||||
rts
|
||||
|
||||
.1 ldy SLIST.BytePtr
|
||||
iny
|
||||
lda (ZPSListIBlkPtr),y
|
||||
beq .9 Exit with A=0
|
||||
|
||||
sty SLIST.BytePtr
|
||||
|
||||
jsr K.GetMemPtr
|
||||
>STYA ZPSListDBlkPtr
|
||||
stz SLIST.BlockPtr
|
||||
|
||||
lda (ZPSListDBlkPtr)
|
||||
.9 ply
|
||||
rts
|
||||
|
||||
SLIST.GetBlockByte
|
||||
phy
|
||||
ldy SLIST.BlockPtr
|
||||
lda (ZPSListDBlkPtr),y
|
||||
ply
|
||||
rts
|
||||
*--------------------------------------
|
||||
SLIST.AddBlockByte
|
||||
phy
|
||||
|
Loading…
x
Reference in New Issue
Block a user