mirror of
https://github.com/A2osX/A2osX.git
synced 2024-09-30 15:57:29 +00:00
Kernel 0.94
This commit is contained in:
parent
c1371cc7c6
commit
ce05365ef3
Binary file not shown.
@ -53,7 +53,7 @@ FILE.Load jsr BUF.ResetSel
|
|||||||
|
|
||||||
.1 >LDYAI 256
|
.1 >LDYAI 256
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .9
|
bcs .99
|
||||||
|
|
||||||
>STYA ZPPTR1
|
>STYA ZPPTR1
|
||||||
stx TmpByte
|
stx TmpByte
|
||||||
@ -61,26 +61,22 @@ FILE.Load jsr BUF.ResetSel
|
|||||||
>LDA.G STATBUF+S.STAT.P.TYPE
|
>LDA.G STATBUF+S.STAT.P.TYPE
|
||||||
cmp #S.FI.T.TXT
|
cmp #S.FI.T.TXT
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
jsr FILE.Load.TXT
|
jsr FILE.Load.TXT
|
||||||
bra .8
|
jmp FILE.Close
|
||||||
|
|
||||||
.2 cmp #$FA S-C/ASM?
|
.2 cmp #$FA S-C/ASM?
|
||||||
beq .3
|
bne .9
|
||||||
|
|
||||||
|
jsr FILE.Load.ASM
|
||||||
|
jmp FILE.Close
|
||||||
|
|
||||||
|
.9 lda TmpByte
|
||||||
|
>SYSCALL FreeMem
|
||||||
|
|
||||||
lda #MLI.E.INCFF
|
lda #MLI.E.INCFF
|
||||||
sec
|
sec
|
||||||
rts
|
.99 rts
|
||||||
|
|
||||||
.3 jsr FILE.Load.ASM
|
|
||||||
|
|
||||||
.8 php
|
|
||||||
pha
|
|
||||||
lda TmpByte
|
|
||||||
>SYSCALL FreeMem
|
|
||||||
pla
|
|
||||||
plp
|
|
||||||
|
|
||||||
.9 rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FILE.Load.TXT stz FileLen
|
FILE.Load.TXT stz FileLen
|
||||||
stz FileLen+1
|
stz FileLen+1
|
||||||
@ -162,7 +158,7 @@ FILE.Load.TXT stz FileLen
|
|||||||
clc
|
clc
|
||||||
.HS B0 BCS
|
.HS B0 BCS
|
||||||
.9 sec
|
.9 sec
|
||||||
jmp FILE.Close
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FILE.Load.ASM stz FileLen
|
FILE.Load.ASM stz FileLen
|
||||||
stz FileLen+1
|
stz FileLen+1
|
||||||
@ -211,7 +207,6 @@ FILE.Load.ASM stz FileLen
|
|||||||
clc
|
clc
|
||||||
.HS B0 BCS
|
.HS B0 BCS
|
||||||
.9 sec
|
.9 sec
|
||||||
jmp FILE.Close
|
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FILE.Load.ASM.Decode
|
FILE.Load.ASM.Decode
|
||||||
|
@ -113,9 +113,10 @@ CS.RUN.SETUP jsr CS.RUN.PROBE
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.DUMP >PUSHEA.G DIB
|
CS.RUN.DUMP >PUSHB ETKCFG+S.NETCFG.DevID
|
||||||
lda ETKCFG+S.NETCFG.DevID
|
>PUSHEA.G DIB
|
||||||
>SYSCALL GetDevStatus
|
>SYSCALL GetDevStatus
|
||||||
|
|
||||||
>LEA.G DCB.NIC
|
>LEA.G DCB.NIC
|
||||||
>STYA IOCTL+S.IOCTL.BUFPTR
|
>STYA IOCTL+S.IOCTL.BUFPTR
|
||||||
lda #S.IOCTL.STATCODE.GETDCB
|
lda #S.IOCTL.STATCODE.GETDCB
|
||||||
|
@ -192,17 +192,18 @@ CS.RUN.SETUP
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.DUMP >PUSHEA.G DIB
|
CS.RUN.DUMP >PUSHB IPCFG+S.NETCFG.DevID
|
||||||
lda IPCFG+S.NETCFG.DevID
|
>PUSHEA.G DIB
|
||||||
>SYSCALL GetDevStatus
|
>SYSCALL GetDevStatus
|
||||||
|
|
||||||
>LEA.G DCB.NIC
|
>LEA.G DCB.NIC
|
||||||
>STYA.G IOCTL+S.IOCTL.BUFPTR
|
>STYA.G IOCTL+S.IOCTL.BUFPTR
|
||||||
lda #S.IOCTL.STATCODE.GETDCB
|
lda #S.IOCTL.STATCODE.GETDCB
|
||||||
>STA.G IOCTL+S.IOCTL.STATCODE
|
>STA.G IOCTL+S.IOCTL.STATCODE
|
||||||
|
|
||||||
>PUSHEA.G IOCTL
|
>PUSHB IPCFG+S.NETCFG.DevID
|
||||||
>PUSHBI IOCTL.STATUS
|
>PUSHBI IOCTL.STATUS
|
||||||
lda IPCFG+S.NETCFG.DevID
|
>PUSHEA.G IOCTL
|
||||||
>SYSCALL IOCTL
|
>SYSCALL IOCTL
|
||||||
|
|
||||||
CS.RUN.DUMPNIC >PUSHW L.MSG1.DEV
|
CS.RUN.DUMPNIC >PUSHW L.MSG1.DEV
|
||||||
|
28
BIN/LS.S.txt
28
BIN/LS.S.txt
@ -223,11 +223,9 @@ CS.RUN.PRINT.REG
|
|||||||
jmp CS.RUN.UpdateColCnt
|
jmp CS.RUN.UpdateColCnt
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.1 >PUSHW L.MSG.REGEXT
|
.1 >PUSHW L.MSG.REGEXT
|
||||||
|
|
||||||
jsr Mod2CSTR
|
jsr Mod2CSTR (2)
|
||||||
>PUSHEA.G MOD File Mod
|
jsr CS.RUN.PushGidUid (4)
|
||||||
|
|
||||||
jsr CS.RUN.PushGidUid
|
|
||||||
|
|
||||||
ldy #S.STAT.SIZE+3
|
ldy #S.STAT.SIZE+3
|
||||||
ldx #4
|
ldx #4
|
||||||
@ -236,23 +234,23 @@ CS.RUN.PRINT.REG
|
|||||||
>PUSHA
|
>PUSHA
|
||||||
dey
|
dey
|
||||||
dex
|
dex
|
||||||
bne .2
|
bne .2 (4)
|
||||||
|
|
||||||
jsr CS.RUN.PUSHDATES
|
jsr CS.RUN.PUSHDATES (4)
|
||||||
|
|
||||||
ldy #S.STAT.P.TYPE
|
ldy #S.STAT.P.TYPE
|
||||||
lda (ZPFileStat),y
|
lda (ZPFileStat),y
|
||||||
jsr FileType2PSTR
|
jsr FileType2PSTR
|
||||||
>PUSHYA
|
>PUSHYA (2)
|
||||||
|
|
||||||
ldy #S.STAT.P.AUXTYPE+1
|
ldy #S.STAT.P.AUXTYPE+1
|
||||||
lda (ZPFileStat),y
|
lda (ZPFileStat),y
|
||||||
>PUSHA
|
>PUSHA
|
||||||
dey
|
dey
|
||||||
lda (ZPFileStat),y
|
lda (ZPFileStat),y
|
||||||
>PUSHA
|
>PUSHA (2)
|
||||||
|
|
||||||
>PUSHW ZPFileName
|
>PUSHW ZPFileName (2)
|
||||||
|
|
||||||
>PUSHBI 20
|
>PUSHBI 20
|
||||||
>SYSCALL PrintF
|
>SYSCALL PrintF
|
||||||
@ -311,9 +309,9 @@ CS.RUN.PRINT.DIR
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.4 >PUSHW L.MSG.DIREXT
|
.4 >PUSHW L.MSG.DIREXT
|
||||||
|
|
||||||
jsr Mod2CSTR
|
jsr Mod2CSTR
|
||||||
>PUSHEA.G MOD File Mod
|
|
||||||
jsr CS.RUN.PushGidUid
|
jsr CS.RUN.PushGidUid
|
||||||
jsr CS.RUN.PUSHDATES
|
jsr CS.RUN.PUSHDATES
|
||||||
>PUSHW ZPFileName
|
>PUSHW ZPFileName
|
||||||
@ -435,6 +433,11 @@ CS.RUN.PRINT.SRCPATH
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN.PushGidUid
|
CS.RUN.PushGidUid
|
||||||
|
>PUSHW L.MSG.Root
|
||||||
|
>PUSHW L.MSG.Root
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
ldy #S.STAT.GID
|
ldy #S.STAT.GID
|
||||||
lda (ZPFileStat),y
|
lda (ZPFileStat),y
|
||||||
beq .1
|
beq .1
|
||||||
@ -674,6 +677,7 @@ Mod2CSTR ldy #S.STAT.MODE+1
|
|||||||
lda ACCESS,x
|
lda ACCESS,x
|
||||||
.4 >STA.G MOD+9
|
.4 >STA.G MOD+9
|
||||||
|
|
||||||
|
>PUSHEA.G MOD
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB USR/SRC/BIN/X.FILEENUM.S
|
.INB USR/SRC/BIN/X.FILEENUM.S
|
||||||
|
@ -134,10 +134,7 @@ Dev.ParseArgs lda (ZPArgPTR)
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.1 >LDYA ZPArgPtr
|
.1 >PUSHW ZPArgPtr
|
||||||
>SYSCALL puts
|
|
||||||
|
|
||||||
>PUSHW ZPArgPtr
|
|
||||||
>PUSHW L.SSCANF.MAC
|
>PUSHW L.SSCANF.MAC
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
@ -104,8 +104,8 @@ CS.INIT.DEV >PUSHBI 0
|
|||||||
sta IOCTL+S.IOCTL.STATCODE
|
sta IOCTL+S.IOCTL.STATCODE
|
||||||
|
|
||||||
>PUSHB DevID
|
>PUSHB DevID
|
||||||
>PUSHW L.IOCTL
|
|
||||||
>PUSHBI IOCTL.STATUS
|
>PUSHBI IOCTL.STATUS
|
||||||
|
>PUSHW L.IOCTL
|
||||||
>SYSCALL IOCTL
|
>SYSCALL IOCTL
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -226,8 +226,8 @@ CS.INIT.CONF >LDYAI 64
|
|||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN >PUSHB DevID
|
CS.RUN >PUSHB DevID
|
||||||
>PUSHW L.IOCTL
|
|
||||||
>PUSHBI IOCTL.READ
|
>PUSHBI IOCTL.READ
|
||||||
|
>PUSHW L.IOCTL
|
||||||
|
|
||||||
>SYSCALL IOCTL
|
>SYSCALL IOCTL
|
||||||
bcs .8 No Frame
|
bcs .8 No Frame
|
||||||
@ -292,8 +292,8 @@ CS.QUIT ldx #0
|
|||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
>PUSHA
|
>PUSHA
|
||||||
>PUSHWZ
|
|
||||||
>PUSHBI IOCTL.CLOSE
|
>PUSHBI IOCTL.CLOSE
|
||||||
|
>PUSHWZ
|
||||||
>SYSCALL IOCTL
|
>SYSCALL IOCTL
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
|
@ -87,7 +87,7 @@ K.FPrintf ldx #2
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.SPrintf ldx #3
|
K.SPrintf ldx #3
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.PrintF.1 jsr STDIO.GetParams
|
K.PrintF.1 jsr PrintF.GetParams
|
||||||
sty STDIO.Exit.Cnt+1 Total bytes to POP
|
sty STDIO.Exit.Cnt+1 Total bytes to POP
|
||||||
|
|
||||||
.1 jsr SHARED.GetCharPtr2
|
.1 jsr SHARED.GetCharPtr2
|
||||||
@ -392,6 +392,57 @@ PrintF.PutC phy
|
|||||||
.9 lda #E.BUF
|
.9 lda #E.BUF
|
||||||
sec
|
sec
|
||||||
PrintF.PutC.RTS rts
|
PrintF.PutC.RTS rts
|
||||||
|
*--------------------------------------
|
||||||
|
* Y = Bytecount
|
||||||
|
* X = 3 : get format & buffer
|
||||||
|
* X = 2 : get format & hFile
|
||||||
|
* X = 1 : get format only
|
||||||
|
*--------------------------------------
|
||||||
|
PrintF.GetParams
|
||||||
|
stz PrintF.Cnt
|
||||||
|
stz PrintF.Cnt+1
|
||||||
|
|
||||||
|
lda (pStack) Bytecount
|
||||||
|
|
||||||
|
tay
|
||||||
|
sty STDIO.GetStackByte.ptr+1
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (pStack),y format LO
|
||||||
|
sta ZPPtr2
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (pStack),y format HI
|
||||||
|
sta ZPPtr2+1
|
||||||
|
|
||||||
|
dex
|
||||||
|
beq .1
|
||||||
|
|
||||||
|
dex
|
||||||
|
beq .2
|
||||||
|
|
||||||
|
.3 stz PrintF.hFILE
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (pStack),y str LO
|
||||||
|
sta pIOBuf
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (pStack),y str HI
|
||||||
|
sta pIOBuf+1
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
.2 iny
|
||||||
|
lda (pStack),y hFILE
|
||||||
|
sta PrintF.hFILE
|
||||||
|
|
||||||
|
.1 lda #K.IOBuf
|
||||||
|
sta pIOBuf
|
||||||
|
lda /K.IOBuf
|
||||||
|
sta pIOBuf+1
|
||||||
|
|
||||||
|
rts
|
||||||
*/--------------------------------------
|
*/--------------------------------------
|
||||||
* # ScanF (BLOCKING)
|
* # ScanF (BLOCKING)
|
||||||
* # FScanF (BLOCKING)
|
* # FScanF (BLOCKING)
|
||||||
@ -449,9 +500,9 @@ K.FScanF ldx #2
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.SScanF ldx #3
|
K.SScanF ldx #3
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
K.SScanF.1 jsr STDIO.GetParams
|
K.SScanF.1 jsr ScanF.GetParams Ptr1=format, ptr2=buffer
|
||||||
sty STDIO.Exit.Cnt+1 Total bytes to POP
|
sty STDIO.Exit.Cnt+1 Total bytes to POP
|
||||||
|
|
||||||
ldx PrintF.hFILE
|
ldx PrintF.hFILE
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
@ -465,7 +516,7 @@ K.SScanF.1 jsr STDIO.GetParams
|
|||||||
bne PrintF.PutC.RTS
|
bne PrintF.PutC.RTS
|
||||||
>RET 4
|
>RET 4
|
||||||
|
|
||||||
.1 jsr SHARED.GetCharPtr2 End Of format?
|
.1 jsr SHARED.GetCharPtr1 End Of format?
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
cmp #'%' Escape ?
|
cmp #'%' Escape ?
|
||||||
@ -476,23 +527,26 @@ K.SScanF.1 jsr STDIO.GetParams
|
|||||||
|
|
||||||
sta .11+1
|
sta .11+1
|
||||||
|
|
||||||
jsr Scanf.GetC
|
jsr SHARED.GetCharPtr2
|
||||||
bcs .9
|
beq .9
|
||||||
|
|
||||||
.11 cmp #$ff Same char in string?
|
.11 cmp #$ff Same char in string?
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
bra .9
|
bra .9
|
||||||
|
|
||||||
.12 jsr Scanf.GetC
|
.12 jsr SHARED.GetCharPtr2
|
||||||
bcs .9
|
beq .9
|
||||||
|
cmp #C.SPACE
|
||||||
|
bne .9
|
||||||
|
|
||||||
|
.13 jsr SHARED.GetCharPtr2
|
||||||
cmp #C.SPACE another space ?
|
cmp #C.SPACE another space ?
|
||||||
beq .12
|
beq .13
|
||||||
|
|
||||||
bne .1
|
bra .1
|
||||||
|
|
||||||
.2 jsr SHARED.GetCharPtr2 Get specifier after %
|
.2 jsr SHARED.GetCharPtr1 Get specifier after %
|
||||||
beq .9 unexpected End of format after "%" ?
|
beq .9 unexpected End of format after "%" ?
|
||||||
|
|
||||||
ldx #K.SScanFJMP-K.SScanFTBL-2
|
ldx #K.SScanFJMP-K.SScanFTBL-2
|
||||||
@ -554,7 +608,7 @@ K.SScanF.H lda K.SScanFTBL+1,x Get VAR size
|
|||||||
|
|
||||||
jsr MATH32.Hex2ACC32
|
jsr MATH32.Hex2ACC32
|
||||||
|
|
||||||
K.SScanF.GetVAL jsr SHARED.AddYToPtr1 Y=char count parsed
|
K.SScanF.GetVAL jsr SHARED.AddYToPtr2 Y=char count parsed
|
||||||
|
|
||||||
.1 ply get back VAL size
|
.1 ply get back VAL size
|
||||||
|
|
||||||
@ -568,11 +622,11 @@ K.SScanF.GetVAL jsr SHARED.AddYToPtr1 Y=char count parsed
|
|||||||
K.SScanF.S ldy #$ff
|
K.SScanF.S ldy #$ff
|
||||||
|
|
||||||
.1 iny
|
.1 iny
|
||||||
lda (ZPPtr1),y Get char in string to scan
|
lda (ZPPtr2),y Get char in string to scan
|
||||||
sta (ZPPtr3),y store in param ptr
|
sta (ZPPtr3),y store in param ptr
|
||||||
beq K.SScanF.Fwd end of string to scan ?
|
beq K.SScanF.Fwd end of string to scan ?
|
||||||
|
|
||||||
cmp (ZPPtr2) match format next char ?
|
cmp (ZPPtr1) match format next char ?
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
cmp #C.SPACE is it a space ?
|
cmp #C.SPACE is it a space ?
|
||||||
@ -581,28 +635,14 @@ K.SScanF.S ldy #$ff
|
|||||||
.2 lda #0 add \0 to param ptr
|
.2 lda #0 add \0 to param ptr
|
||||||
sta (ZPPtr3),y
|
sta (ZPPtr3),y
|
||||||
|
|
||||||
K.SScanF.Fwd jmp SHARED.AddYToPtr1 Y=char count parsed
|
K.SScanF.Fwd jmp SHARED.AddYToPtr2 Y=char count parsed
|
||||||
*--------------------------------------
|
|
||||||
Scanf.GetC phy
|
|
||||||
ldy PrintF.Cnt
|
|
||||||
lda (pIOBuf),y
|
|
||||||
ply
|
|
||||||
inc PrintF.Cnt
|
|
||||||
beq .9
|
|
||||||
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.9 lda #E.BUF
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Y = Bytecount
|
* Y = Bytecount
|
||||||
* X = 3 : get format & buffer
|
* X = 3 : get format & buffer
|
||||||
* X = 2 : get format & hFile
|
* X = 2 : get format & hFile
|
||||||
* X = 1 : get format only
|
* X = 1 : get format only
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
STDIO.GetParams stz PrintF.Cnt
|
ScanF.GetParams stz PrintF.Cnt
|
||||||
stz PrintF.Cnt+1
|
stz PrintF.Cnt+1
|
||||||
|
|
||||||
lda (pStack) Bytecount
|
lda (pStack) Bytecount
|
||||||
@ -612,11 +652,11 @@ STDIO.GetParams stz PrintF.Cnt
|
|||||||
|
|
||||||
iny
|
iny
|
||||||
lda (pStack),y format LO
|
lda (pStack),y format LO
|
||||||
sta ZPPtr2
|
sta ZPPtr1
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (pStack),y format HI
|
lda (pStack),y format HI
|
||||||
sta ZPPtr2+1
|
sta ZPPtr1+1
|
||||||
|
|
||||||
dex
|
dex
|
||||||
beq .1
|
beq .1
|
||||||
@ -628,11 +668,11 @@ STDIO.GetParams stz PrintF.Cnt
|
|||||||
|
|
||||||
iny
|
iny
|
||||||
lda (pStack),y str LO
|
lda (pStack),y str LO
|
||||||
sta pIOBuf
|
sta ZPPtr2
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda (pStack),y str HI
|
lda (pStack),y str HI
|
||||||
sta pIOBuf+1
|
sta ZPPtr2+1
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@ -641,9 +681,9 @@ STDIO.GetParams stz PrintF.Cnt
|
|||||||
sta PrintF.hFILE
|
sta PrintF.hFILE
|
||||||
|
|
||||||
.1 lda #K.IOBuf
|
.1 lda #K.IOBuf
|
||||||
sta pIOBuf
|
sta ZPPtr2
|
||||||
lda /K.IOBuf
|
lda /K.IOBuf
|
||||||
sta pIOBuf+1
|
sta ZPPtr2+1
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user