mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-27 00:29:29 +00:00
Kernel 0.92+
This commit is contained in:
parent
aab92e3631
commit
1f9ed98c6a
Binary file not shown.
|
@ -12,8 +12,11 @@ AUTO 4,1
|
||||||
PAGELEN .EQ 22
|
PAGELEN .EQ 22
|
||||||
FOOTERLEN .EQ 8
|
FOOTERLEN .EQ 8
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ZPPTR1 .EQ ZPBIN
|
.DUMMY
|
||||||
ZPPTR2 .EQ ZPBIN+2
|
.OR ZPBIN
|
||||||
|
ZS.START
|
||||||
|
MemStat .BS S.MSTAT
|
||||||
|
ZS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* File Header (16 Bytes)
|
* File Header (16 Bytes)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -25,7 +28,7 @@ CS.START cld
|
||||||
.DA CS.END-CS.START CS
|
.DA CS.END-CS.START CS
|
||||||
.DA DS.END-DS.START DS
|
.DA DS.END-DS.START DS
|
||||||
.DA #16 SS
|
.DA #16 SS
|
||||||
.DA #4 ZP
|
.DA #ZS.END-ZS.START Zero Page Size
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Relocation Table
|
* Relocation Table
|
||||||
|
@ -57,16 +60,10 @@ CS.RUN >LDYA L.MemStat
|
||||||
tay
|
tay
|
||||||
lda MemStat+S.MSTAT.MF+1
|
lda MemStat+S.MSTAT.MF+1
|
||||||
sbc MemStat+S.MSTAT.ML+1
|
sbc MemStat+S.MSTAT.ML+1
|
||||||
>PUSHYA
|
ldx #S.MSTAT.MH+1
|
||||||
|
jsr CS.RUN.PRINT
|
||||||
>PUSHW MemStat+S.MSTAT.MH
|
|
||||||
>PUSHW MemStat+S.MSTAT.MF
|
|
||||||
>PUSHW MemStat+S.MSTAT.ML
|
|
||||||
>PUSHBI 8
|
|
||||||
>LDYA L.MSG.Stat
|
|
||||||
>SYSCALL printf
|
|
||||||
>SLEEP
|
>SLEEP
|
||||||
*--------------------------------------
|
|
||||||
>LDYA L.MSG.Aux
|
>LDYA L.MSG.Aux
|
||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
|
|
||||||
|
@ -76,16 +73,10 @@ CS.RUN >LDYA L.MemStat
|
||||||
tay
|
tay
|
||||||
lda MemStat+S.MSTAT.XF+1
|
lda MemStat+S.MSTAT.XF+1
|
||||||
sbc MemStat+S.MSTAT.XL+1
|
sbc MemStat+S.MSTAT.XL+1
|
||||||
>PUSHYA
|
ldx #S.MSTAT.XH+1
|
||||||
|
jsr CS.RUN.PRINT
|
||||||
>PUSHW MemStat+S.MSTAT.XH
|
|
||||||
>PUSHW MemStat+S.MSTAT.XF
|
|
||||||
>PUSHW MemStat+S.MSTAT.XL
|
|
||||||
>PUSHBI 8
|
|
||||||
>LDYA L.MSG.Stat
|
|
||||||
>SYSCALL printf
|
|
||||||
>SLEEP
|
>SLEEP
|
||||||
*--------------------------------------
|
|
||||||
>LDYA L.MSG.Kernel
|
>LDYA L.MSG.Kernel
|
||||||
>SYSCALL puts
|
>SYSCALL puts
|
||||||
|
|
||||||
|
@ -95,19 +86,28 @@ CS.RUN >LDYA L.MemStat
|
||||||
tay
|
tay
|
||||||
lda MemStat+S.MSTAT.DH+1
|
lda MemStat+S.MSTAT.DH+1
|
||||||
sbc MemStat+S.MSTAT.DF+1
|
sbc MemStat+S.MSTAT.DF+1
|
||||||
>PUSHYA
|
ldx #S.MSTAT.DH+1
|
||||||
|
jsr CS.RUN.PRINT
|
||||||
|
|
||||||
|
>LDYA L.MSG.END
|
||||||
|
>SYSCALL puts
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
CS.RUN.PRINT >PUSHYA
|
||||||
|
|
||||||
|
ldy #6
|
||||||
|
|
||||||
|
.1 >PUSHB MemStat,x
|
||||||
|
dex
|
||||||
|
dey
|
||||||
|
bne .1
|
||||||
|
|
||||||
>PUSHW MemStat+S.MSTAT.DH
|
|
||||||
>PUSHW MemStat+S.MSTAT.DF
|
|
||||||
>PUSHW MemStat+S.MSTAT.DL
|
|
||||||
>PUSHBI 8
|
>PUSHBI 8
|
||||||
>LDYA L.MSG.Stat
|
>LDYA L.MSG.Stat
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
|
|
||||||
>LDYA L.MSG.End
|
|
||||||
>SYSCALL puts
|
|
||||||
lda #0
|
|
||||||
sec
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.DOEVENT sec
|
CS.DOEVENT sec
|
||||||
|
@ -125,7 +125,6 @@ MSG.Stat .AS " Low : $%H\r\n"
|
||||||
.AS " High : $%H\r\n"
|
.AS " High : $%H\r\n"
|
||||||
.AZ " Available Memory : %05D Bytes\r\n"
|
.AZ " Available Memory : %05D Bytes\r\n"
|
||||||
MSG.End .AZ "-------------------------------"
|
MSG.End .AZ "-------------------------------"
|
||||||
MemStat .BS S.MSTAT
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR 0
|
.OR 0
|
||||||
|
|
141
BIN/SH.S.CMD.txt
141
BIN/SH.S.CMD.txt
|
@ -81,9 +81,7 @@ CMD.CD.HOME >LDYA L.ENV.HOME
|
||||||
>SYSCALL GetEnv
|
>SYSCALL GetEnv
|
||||||
bcs CMD.PWD
|
bcs CMD.PWD
|
||||||
|
|
||||||
CMD.CD.1
|
CMD.CD.1 >SYSCALL realpath
|
||||||
* >DEBUG
|
|
||||||
>SYSCALL realpath
|
|
||||||
bcs CMD.POPD.RTS
|
bcs CMD.POPD.RTS
|
||||||
|
|
||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
|
@ -584,7 +582,9 @@ CMD.FOR jsr CORE.StkGet
|
||||||
beq FOR.FILE
|
beq FOR.FILE
|
||||||
|
|
||||||
cmp #'`'
|
cmp #'`'
|
||||||
beq FOR.EXEC
|
bne FOR.LIST
|
||||||
|
|
||||||
|
jmp FOR.EXEC
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FOR.LIST sec
|
FOR.LIST sec
|
||||||
jsr CORE.StkPushPtr Push CmdPtr AFTER FOR
|
jsr CORE.StkPushPtr Push CmdPtr AFTER FOR
|
||||||
|
@ -636,7 +636,52 @@ FOR.LIST sec
|
||||||
|
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FOR.FILE
|
FOR.FILE sec
|
||||||
|
jsr CORE.StkPushPtr Push CmdPtr AFTER FOR
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
jsr CORE.ArgV.NextChar skip "("
|
||||||
|
|
||||||
|
>PUSHWI 0 Aux type
|
||||||
|
>PUSHBI S.FI.T.TXT
|
||||||
|
>PUSHBI O.RDONLY+O.TEXT
|
||||||
|
|
||||||
|
>LDYA ZPArgVBufPtr
|
||||||
|
>SYSCALL fopen
|
||||||
|
bcs .99
|
||||||
|
jsr CORE.StkPush push hFILE
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
>LDYA ZPVarNamePtr
|
||||||
|
>SYSCALL strdup
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
txa
|
||||||
|
jsr CORE.StkPush Push hVARNAME
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
lda #C.FOR.FILE
|
||||||
|
jsr CORE.StkPush
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
lda #C.FOR
|
||||||
|
jsr CORE.StkPush
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
jsr CMD.NEXT.FILE.1
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
>ORA.G CORE.Test
|
||||||
|
ora #C.FOR Push FOR
|
||||||
|
pha
|
||||||
|
lda (pData)
|
||||||
|
tay
|
||||||
|
pla
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
|
* clc
|
||||||
|
|
||||||
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FOR.EXEC
|
FOR.EXEC
|
||||||
* lda #$ff
|
* lda #$ff
|
||||||
|
@ -778,7 +823,91 @@ CMD.NEXT.LIST.1 lda (pData)
|
||||||
* clc
|
* clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.NEXT.FILE
|
* stack-4 CmdPtr
|
||||||
|
* stack-3 hFILE
|
||||||
|
* stack-2 hVARNAME
|
||||||
|
* stack-1 FOR SUB TOKEN
|
||||||
|
* stack FOR TOKEN
|
||||||
|
*--------------------------------------
|
||||||
|
CMD.NEXT.FILE lda (pData),y Y = StkPtr
|
||||||
|
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
jsr CMD.NEXT.FILE.1
|
||||||
|
bcs .9
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
lda (pData)
|
||||||
|
sec
|
||||||
|
sbc #4
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda (pData),y
|
||||||
|
sta ZPInputBufPtr+1
|
||||||
|
dey
|
||||||
|
lda (pData),y
|
||||||
|
sta ZPInputBufPtr
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.1 lda (pData)
|
||||||
|
tay
|
||||||
|
sec
|
||||||
|
sbc #6
|
||||||
|
sta (pData)
|
||||||
|
|
||||||
|
dey
|
||||||
|
dey
|
||||||
|
lda (pData),y hVARNAME
|
||||||
|
pha
|
||||||
|
dey
|
||||||
|
lda (pData),y hFILE
|
||||||
|
>SYSCALL fclose
|
||||||
|
pla
|
||||||
|
>SYSCALL freemem
|
||||||
|
|
||||||
|
* clc
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
CMD.NEXT.FILE.1 lda (pData)
|
||||||
|
dec skip FOR
|
||||||
|
dec skip SUB TOKEN
|
||||||
|
|
||||||
|
tay
|
||||||
|
lda (pData),y
|
||||||
|
phy
|
||||||
|
>SYSCALL GetMemPtr hVARNAME
|
||||||
|
>STYA ZPVarNamePtr
|
||||||
|
ply
|
||||||
|
|
||||||
|
|
||||||
|
dey
|
||||||
|
lda (pData),y hFILE
|
||||||
|
pha
|
||||||
|
>PUSHWI 256
|
||||||
|
>PUSHW ZPCLBuf
|
||||||
|
pla
|
||||||
|
pha
|
||||||
|
>SYSCALL fgets
|
||||||
|
bcs .8
|
||||||
|
|
||||||
|
>PUSHW ZPCLBuf
|
||||||
|
>LDYA ZPVarNamePtr
|
||||||
|
>SYSCALL SetEnv
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
lda #$80
|
||||||
|
* clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.8 >LDYA ZPVarNamePtr
|
||||||
|
>SYSCALL UnSetEnv
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
* clc
|
||||||
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.NEXT.EXEC clc
|
CMD.NEXT.EXEC clc
|
||||||
rts
|
rts
|
||||||
|
|
|
@ -318,14 +318,18 @@ CORE.ArgV.Add >LDYA ZPArgVBufPtr
|
||||||
cmp #'"'
|
cmp #'"'
|
||||||
bne .10
|
bne .10
|
||||||
sta TmpByte
|
sta TmpByte
|
||||||
|
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.10 cmp #'`'
|
.10 cmp #'('
|
||||||
bne .11
|
bne .11
|
||||||
sta TmpByte
|
sta TmpByte
|
||||||
|
bra .12
|
||||||
|
|
||||||
.11 jsr CORE.ArgV.PutChar
|
.11 cmp #'`'
|
||||||
|
bne .12
|
||||||
|
sta TmpByte
|
||||||
|
|
||||||
|
.12 jsr CORE.ArgV.PutChar
|
||||||
|
|
||||||
.1 jsr CORE.GetNextChar
|
.1 jsr CORE.GetNextChar
|
||||||
bcs .5
|
bcs .5
|
||||||
|
|
Loading…
Reference in New Issue
Block a user