mirror of
https://github.com/A2osX/A2osX.git
synced 2024-09-27 11:58:54 +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
|
||||
FOOTERLEN .EQ 8
|
||||
*--------------------------------------
|
||||
ZPPTR1 .EQ ZPBIN
|
||||
ZPPTR2 .EQ ZPBIN+2
|
||||
.DUMMY
|
||||
.OR ZPBIN
|
||||
ZS.START
|
||||
MemStat .BS S.MSTAT
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
@ -25,7 +28,7 @@ CS.START cld
|
||||
.DA CS.END-CS.START CS
|
||||
.DA DS.END-DS.START DS
|
||||
.DA #16 SS
|
||||
.DA #4 ZP
|
||||
.DA #ZS.END-ZS.START Zero Page Size
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
* Relocation Table
|
||||
@ -57,16 +60,10 @@ CS.RUN >LDYA L.MemStat
|
||||
tay
|
||||
lda MemStat+S.MSTAT.MF+1
|
||||
sbc MemStat+S.MSTAT.ML+1
|
||||
>PUSHYA
|
||||
|
||||
>PUSHW MemStat+S.MSTAT.MH
|
||||
>PUSHW MemStat+S.MSTAT.MF
|
||||
>PUSHW MemStat+S.MSTAT.ML
|
||||
>PUSHBI 8
|
||||
>LDYA L.MSG.Stat
|
||||
>SYSCALL printf
|
||||
ldx #S.MSTAT.MH+1
|
||||
jsr CS.RUN.PRINT
|
||||
>SLEEP
|
||||
*--------------------------------------
|
||||
|
||||
>LDYA L.MSG.Aux
|
||||
>SYSCALL puts
|
||||
|
||||
@ -76,16 +73,10 @@ CS.RUN >LDYA L.MemStat
|
||||
tay
|
||||
lda MemStat+S.MSTAT.XF+1
|
||||
sbc MemStat+S.MSTAT.XL+1
|
||||
>PUSHYA
|
||||
|
||||
>PUSHW MemStat+S.MSTAT.XH
|
||||
>PUSHW MemStat+S.MSTAT.XF
|
||||
>PUSHW MemStat+S.MSTAT.XL
|
||||
>PUSHBI 8
|
||||
>LDYA L.MSG.Stat
|
||||
>SYSCALL printf
|
||||
ldx #S.MSTAT.XH+1
|
||||
jsr CS.RUN.PRINT
|
||||
>SLEEP
|
||||
*--------------------------------------
|
||||
|
||||
>LDYA L.MSG.Kernel
|
||||
>SYSCALL puts
|
||||
|
||||
@ -95,19 +86,28 @@ CS.RUN >LDYA L.MemStat
|
||||
tay
|
||||
lda MemStat+S.MSTAT.DH+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
|
||||
>LDYA L.MSG.Stat
|
||||
>SYSCALL printf
|
||||
|
||||
>LDYA L.MSG.End
|
||||
>SYSCALL puts
|
||||
lda #0
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT sec
|
||||
@ -125,7 +125,6 @@ MSG.Stat .AS " Low : $%H\r\n"
|
||||
.AS " High : $%H\r\n"
|
||||
.AZ " Available Memory : %05D Bytes\r\n"
|
||||
MSG.End .AZ "-------------------------------"
|
||||
MemStat .BS S.MSTAT
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.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
|
||||
bcs CMD.PWD
|
||||
|
||||
CMD.CD.1
|
||||
* >DEBUG
|
||||
>SYSCALL realpath
|
||||
CMD.CD.1 >SYSCALL realpath
|
||||
bcs CMD.POPD.RTS
|
||||
|
||||
>STYA ZPPtr1
|
||||
@ -584,7 +582,9 @@ CMD.FOR jsr CORE.StkGet
|
||||
beq FOR.FILE
|
||||
|
||||
cmp #'`'
|
||||
beq FOR.EXEC
|
||||
bne FOR.LIST
|
||||
|
||||
jmp FOR.EXEC
|
||||
*--------------------------------------
|
||||
FOR.LIST sec
|
||||
jsr CORE.StkPushPtr Push CmdPtr AFTER FOR
|
||||
@ -636,7 +636,52 @@ FOR.LIST sec
|
||||
|
||||
.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
|
||||
* lda #$ff
|
||||
@ -778,7 +823,91 @@ CMD.NEXT.LIST.1 lda (pData)
|
||||
* clc
|
||||
.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
|
||||
rts
|
||||
|
@ -318,14 +318,18 @@ CORE.ArgV.Add >LDYA ZPArgVBufPtr
|
||||
cmp #'"'
|
||||
bne .10
|
||||
sta TmpByte
|
||||
|
||||
bra .1
|
||||
|
||||
.10 cmp #'`'
|
||||
.10 cmp #'('
|
||||
bne .11
|
||||
sta TmpByte
|
||||
bra .12
|
||||
|
||||
.11 jsr CORE.ArgV.PutChar
|
||||
.11 cmp #'`'
|
||||
bne .12
|
||||
sta TmpByte
|
||||
|
||||
.12 jsr CORE.ArgV.PutChar
|
||||
|
||||
.1 jsr CORE.GetNextChar
|
||||
bcs .5
|
||||
|
Loading…
Reference in New Issue
Block a user