mirror of https://github.com/A2osX/A2osX.git
Kernel 0.92+
This commit is contained in:
parent
dfed36d689
commit
5847f53366
Binary file not shown.
Binary file not shown.
37
BIN/LS.S.txt
37
BIN/LS.S.txt
|
@ -52,6 +52,7 @@ L.MSG.ENTER .DA MSG.ENTER
|
||||||
L.MSG.DIREXT .DA MSG.DIREXT
|
L.MSG.DIREXT .DA MSG.DIREXT
|
||||||
L.MSG.FILE .DA MSG.FILE
|
L.MSG.FILE .DA MSG.FILE
|
||||||
L.MSG.FILEEXT .DA MSG.FILEEXT
|
L.MSG.FILEEXT .DA MSG.FILEEXT
|
||||||
|
L.MSG.CRLF .DA MSG.CRLF
|
||||||
L.PRODOS.FT.TXT .DA PRODOS.FT.TXT
|
L.PRODOS.FT.TXT .DA PRODOS.FT.TXT
|
||||||
L.FMT.DateTime .DA FMT.DateTime
|
L.FMT.DateTime .DA FMT.DateTime
|
||||||
.DA 0
|
.DA 0
|
||||||
|
@ -229,12 +230,20 @@ CS.RUN.PRINT.DIR
|
||||||
|
|
||||||
lda (ZPFileName)
|
lda (ZPFileName)
|
||||||
cmp #'.'
|
cmp #'.'
|
||||||
beq .5
|
bne .10
|
||||||
|
jmp .5
|
||||||
|
|
||||||
.10 >LDA.G bLong
|
.10 >LDA.G bLong
|
||||||
bmi .4
|
bmi .4
|
||||||
|
|
||||||
>PUSHW ZPFileName
|
>LDA.G bColumn
|
||||||
|
bpl .22
|
||||||
|
|
||||||
|
>LDYA ZPFileName
|
||||||
|
>SYSCALL puts
|
||||||
|
rts
|
||||||
|
|
||||||
|
.22 >PUSHW ZPFileName
|
||||||
>PUSHBI 2
|
>PUSHBI 2
|
||||||
>LDYA L.MSG.DIR
|
>LDYA L.MSG.DIR
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
|
@ -297,7 +306,14 @@ CS.RUN.PRINT.FILE
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
bmi .1
|
bmi .1
|
||||||
|
|
||||||
>PUSHW ZPFileName
|
>LDA.G bColumn
|
||||||
|
bpl .22
|
||||||
|
|
||||||
|
>LDYA ZPFileName
|
||||||
|
>SYSCALL puts
|
||||||
|
rts
|
||||||
|
|
||||||
|
.22 >PUSHW ZPFileName
|
||||||
>PUSHBI 2
|
>PUSHBI 2
|
||||||
>LDYA L.MSG.FILE
|
>LDYA L.MSG.FILE
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
|
@ -404,10 +420,9 @@ CS.RUN.UpdateColCnt
|
||||||
CS.RUN.NewLine >LDA.G ColCount
|
CS.RUN.NewLine >LDA.G ColCount
|
||||||
beq CS.RUN.NewLine.8
|
beq CS.RUN.NewLine.8
|
||||||
CS.RUN.NewLine.1
|
CS.RUN.NewLine.1
|
||||||
lda #13
|
>PUSHBI 0
|
||||||
>SYSCALL PutChar
|
>LDYA L.MSG.CRLF
|
||||||
lda #10
|
>SYSCALL printf
|
||||||
>SYSCALL PutChar
|
|
||||||
rts
|
rts
|
||||||
CS.RUN.NewLine.8
|
CS.RUN.NewLine.8
|
||||||
clc
|
clc
|
||||||
|
@ -523,15 +538,16 @@ Mod2CSTR ldy #S.STAT.MODE+1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
OptionList >PSTR "ALRalr"
|
OptionList >PSTR "ACLRalr"
|
||||||
OptionVars .DA #bAllmostAll,#bLong,#bRecurse,#bAllmostAll,#bLong,#bRecurse
|
OptionVars .DA #bAllmostAll,#bColumn,#bLong,#bRecurse,#bAllmostAll,#bColumn,#bLong,#bRecurse
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MSG.DEVEXT .AZ "/%15s S%dD%d Blocks Used:%5D Total:%5D\r\n"
|
MSG.DEVEXT .AZ "/%15s S%dD%d Blocks Used:%5D Total:%5D\r\n"
|
||||||
MSG.DIR .AZ "\e[32m%s/\e[0m"
|
MSG.DIR .AZ "\e[32m%s/\e[0m"
|
||||||
MSG.ENTER .AZ "Directory:%s\r\n"
|
MSG.ENTER .AZ "Directory:%s\r\n"
|
||||||
MSG.DIREXT .AZ "\e[32m%16s\e[0m <dir> %s %s %s\r\n"
|
MSG.DIREXT .AZ "\e[32m%16s\e[0m <dir> %s %s %s\r\n"
|
||||||
MSG.FILE .AZ "%19s"
|
MSG.FILE .AZ "%19s"
|
||||||
MSG.FILEEXT .AZ "%15s %S $%H %s %10u %s %s\r\n"
|
MSG.FILEEXT .AS "%15s %S $%H %s %10u %s %s"
|
||||||
|
MSG.CRLF .AZ "\r\n"
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PRODOS.FT.HEX .HS 0406FAFCFDE2CBCCFF
|
PRODOS.FT.HEX .HS 0406FAFCFDE2CBCCFF
|
||||||
PRODOS.FT.TXT >PSTR "TXT"
|
PRODOS.FT.TXT >PSTR "TXT"
|
||||||
|
@ -561,6 +577,7 @@ TIME.Mod .BS 20
|
||||||
hFilter .BS 1
|
hFilter .BS 1
|
||||||
bPause .BS 1
|
bPause .BS 1
|
||||||
bAllmostAll .BS 1
|
bAllmostAll .BS 1
|
||||||
|
bColumn .BS 1
|
||||||
bLong .BS 1
|
bLong .BS 1
|
||||||
bRecurse .BS 1
|
bRecurse .BS 1
|
||||||
|
|
||||||
|
|
|
@ -778,7 +778,7 @@ FOR.FILE sec
|
||||||
jsr CORE.StkPush
|
jsr CORE.StkPush
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jsr CMD.NEXT.FILE.1
|
jsr CMD.NEXT.LINE
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
>ORA.G CORE.Test
|
>ORA.G CORE.Test
|
||||||
|
@ -817,9 +817,9 @@ FOR.EXEC sec
|
||||||
>PUSHBI 0 type
|
>PUSHBI 0 type
|
||||||
>PUSHBI O.RDONLY+O.TEXT
|
>PUSHBI O.RDONLY+O.TEXT
|
||||||
>LEA.G IO.NodBuf
|
>LEA.G IO.NodBuf
|
||||||
|
|
||||||
>SYSCALL fopen
|
>SYSCALL fopen
|
||||||
.9 bcs .99
|
.9 bcs .99
|
||||||
|
|
||||||
jsr CORE.StkPush push hPIPE
|
jsr CORE.StkPush push hPIPE
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
|
@ -839,7 +839,7 @@ FOR.EXEC sec
|
||||||
jsr CORE.StkPush
|
jsr CORE.StkPush
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
jsr CMD.NEXT.EXEC.1
|
jsr CMD.NEXT.LINE
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
>ORA.G CORE.Test
|
>ORA.G CORE.Test
|
||||||
|
@ -1007,85 +1007,7 @@ CMD.NEXT.LIST.1 lda (pData)
|
||||||
* stack-1 FOR SUB TOKEN
|
* stack-1 FOR SUB TOKEN
|
||||||
* stack FOR TOKEN
|
* stack FOR TOKEN
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.NEXT.FILE lda (pData),y Y = StkPtr
|
CMD.NEXT.FILE
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
>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
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* stack-4 CmdPtr
|
* stack-4 CmdPtr
|
||||||
* stack-3 hPIPE
|
* stack-3 hPIPE
|
||||||
|
@ -1097,7 +1019,7 @@ CMD.NEXT.EXEC lda (pData),y Y = StkPtr
|
||||||
|
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
jsr CMD.NEXT.FILE.1
|
jsr CMD.NEXT.LINE
|
||||||
bcs .9
|
bcs .9
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
|
@ -1126,14 +1048,14 @@ CMD.NEXT.EXEC lda (pData),y Y = StkPtr
|
||||||
lda (pData),y hVARNAME
|
lda (pData),y hVARNAME
|
||||||
pha
|
pha
|
||||||
dey
|
dey
|
||||||
lda (pData),y hPIPE
|
lda (pData),y hFILE/hPIPE
|
||||||
>SYSCALL fclose
|
>SYSCALL fclose
|
||||||
pla
|
pla
|
||||||
>SYSCALL freemem
|
>SYSCALL freemem
|
||||||
* clc
|
* clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.NEXT.EXEC.1 lda (pData)
|
CMD.NEXT.LINE lda (pData)
|
||||||
dec skip FOR
|
dec skip FOR
|
||||||
dec skip SUB TOKEN
|
dec skip SUB TOKEN
|
||||||
|
|
||||||
|
|
|
@ -196,52 +196,56 @@ EXP.OP.UNARY.Z lda (ZPArgVBufPtr) [ -Z ] ?
|
||||||
bra EXP.OP.UNARY.DEF.9 FALSE
|
bra EXP.OP.UNARY.DEF.9 FALSE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
EXP.TEST.BINARY >LDA.G CORE.Operator
|
EXP.TEST.BINARY >LDA.G CORE.Operator
|
||||||
beq .1 =
|
cmp #12 =, !=, <= <, >=, >
|
||||||
|
bcs EXP.TEST.BINARY.NUM
|
||||||
cmp #2 !=
|
|
||||||
bne EXP.TEST.BINARY.NUM
|
|
||||||
lda #$80
|
|
||||||
|
|
||||||
.1 >STA.G CORE.Operator
|
|
||||||
|
|
||||||
>LDYA ZPArgVBufPrev
|
>LDYA ZPArgVBufPrev
|
||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
|
|
||||||
jsr CORE.ArgV.Next
|
jsr CORE.ArgV.Next
|
||||||
beq .9
|
beq EXP.TEST.BINARY.ESYN
|
||||||
|
|
||||||
>PUSHW ZPPtr1
|
>PUSHW ZPPtr1
|
||||||
>LDYA ZPArgVBufPtr
|
>LDYA ZPArgVBufPtr
|
||||||
>SYSCALL strcmp
|
>SYSCALL strcmp
|
||||||
|
bcs .1 CS if !=
|
||||||
ror CS if !=
|
|
||||||
and #$80
|
|
||||||
eor #$80
|
|
||||||
>EOR.G CORE.Operator
|
|
||||||
clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.9 lda #E.ESYN
|
lda #%010 010 str1 = str2
|
||||||
|
bra EXP.TEST.BINARY.END
|
||||||
|
|
||||||
|
.1 asl CS if <
|
||||||
|
bcs .2
|
||||||
|
|
||||||
|
lda #%100 010 str1 < str2
|
||||||
|
bra EXP.TEST.BINARY.END
|
||||||
|
|
||||||
|
.2 lda #%001 010 str1 > str2
|
||||||
|
bra EXP.TEST.BINARY.END
|
||||||
|
|
||||||
|
EXP.TEST.BINARY.ESYN
|
||||||
|
lda #E.ESYN
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
EXP.TEST.BINARY.NUM
|
EXP.TEST.BINARY.NUM
|
||||||
>LDYA ZPArgVBufPrev
|
>LDYA ZPArgVBufPrev
|
||||||
>SYSCALL AToL
|
>SYSCALL AToL
|
||||||
bcs .9
|
bcs EXP.TEST.BINARY.ESYN
|
||||||
|
|
||||||
>PULLL.G M32.ACC
|
>PULLL.G M32.ACC
|
||||||
|
|
||||||
jsr CORE.ArgV.Next
|
jsr CORE.ArgV.Next
|
||||||
beq .9
|
beq EXP.TEST.BINARY.ESYN
|
||||||
|
|
||||||
>LDYA ZPArgVBufPtr
|
>LDYA ZPArgVBufPtr
|
||||||
>SYSCALL AToL
|
>SYSCALL AToL
|
||||||
bcs .9
|
bcs EXP.TEST.BINARY.ESYN
|
||||||
|
|
||||||
>PULLL.G M32.ARG
|
>PULLL.G M32.ARG
|
||||||
|
|
||||||
jsr M32.Cmp
|
jsr M32.Cmp
|
||||||
|
|
||||||
|
EXP.TEST.BINARY.END
|
||||||
pha
|
pha
|
||||||
|
|
||||||
>LDA.G CORE.Operator
|
>LDA.G CORE.Operator
|
||||||
|
@ -257,11 +261,7 @@ EXP.TEST.BINARY.NUM
|
||||||
|
|
||||||
.80 lda #0 false
|
.80 lda #0 false
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.9 lda #E.ESYN
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/BIN/SH.S.EXP
|
SAVE USR/SRC/BIN/SH.S.EXP
|
||||||
|
|
|
@ -73,7 +73,7 @@ IO.Pipe.Out >SYSCALL pipe
|
||||||
|
|
||||||
>SYSCALL fopen
|
>SYSCALL fopen
|
||||||
bcc IO.Set.Out
|
bcc IO.Set.Out
|
||||||
|
|
||||||
.99 pha
|
.99 pha
|
||||||
>LDA.G IO.hPipe
|
>LDA.G IO.hPipe
|
||||||
>SYSCALL close
|
>SYSCALL close
|
||||||
|
|
13
BIN/SH.S.txt
13
BIN/SH.S.txt
|
@ -639,6 +639,10 @@ EXP.OP.UNARY .AZ "-D"
|
||||||
.HS 00
|
.HS 00
|
||||||
EXP.OP.BINARY .AZ "="
|
EXP.OP.BINARY .AZ "="
|
||||||
.AZ "!="
|
.AZ "!="
|
||||||
|
.AZ ".<"
|
||||||
|
.AZ "<="
|
||||||
|
.AZ ".>"
|
||||||
|
.AZ ">="
|
||||||
.AZ "-EQ"
|
.AZ "-EQ"
|
||||||
.AZ "-NE"
|
.AZ "-NE"
|
||||||
.AZ "-LT"
|
.AZ "-LT"
|
||||||
|
@ -647,8 +651,13 @@ EXP.OP.BINARY .AZ "="
|
||||||
.AZ "-GE"
|
.AZ "-GE"
|
||||||
.HS 00
|
.HS 00
|
||||||
EXP.OP.BINARY.BITS
|
EXP.OP.BINARY.BITS
|
||||||
.DA #%000
|
.DA #%010
|
||||||
.DA #%000
|
.DA #%101
|
||||||
|
.DA #%100
|
||||||
|
.DA #%110
|
||||||
|
.DA #%001
|
||||||
|
.DA #%011
|
||||||
|
|
||||||
.DA #%010
|
.DA #%010
|
||||||
.DA #%101
|
.DA #%101
|
||||||
.DA #%100
|
.DA #%100
|
||||||
|
|
|
@ -274,6 +274,10 @@ OApple+1,OApple+2,OApple+3 to switch between screens : Kernel Log, text, DHGR.
|
||||||
| | | [ -z $VAR variable is empty ] |
|
| | | [ -z $VAR variable is empty ] |
|
||||||
| | | [ string1 = string2 ] |
|
| | | [ string1 = string2 ] |
|
||||||
| | | [ string1 != string2 ] |
|
| | | [ string1 != string2 ] |
|
||||||
|
| | | [ string1 .< string2 ] |
|
||||||
|
| | | [ string1 <= string2 ] |
|
||||||
|
| | | [ string1 .> string2 ] |
|
||||||
|
| | | [ string1 >= string2 ] |
|
||||||
| | | [ int32 -eq int32 ] |
|
| | | [ int32 -eq int32 ] |
|
||||||
| | | [ int32 -ne int32 ] |
|
| | | [ int32 -ne int32 ] |
|
||||||
| | | [ int32 -lt int32 ] |
|
| | | [ int32 -lt int32 ] |
|
||||||
|
@ -330,7 +334,7 @@ note : '$VAR' does NOT expand Variable
|
||||||
| ---- | ------ | ------- |
|
| ---- | ------ | ------- |
|
||||||
| . | Working | use same env |
|
| . | Working | use same env |
|
||||||
| & | Working | start proc |
|
| & | Working | start proc |
|
||||||
| \| | | pipe |
|
| \| | Working | pipe |
|
||||||
| < | Working | StdIn redirection |
|
| < | Working | StdIn redirection |
|
||||||
| > | Working | StdOut redirection |
|
| > | Working | StdOut redirection |
|
||||||
| >> | Working | Append StdOut |
|
| >> | Working | Append StdOut |
|
||||||
|
@ -380,6 +384,7 @@ note : '$VAR' does NOT expand Variable
|
||||||
| | | -0 : No Signal | |
|
| | | -0 : No Signal | |
|
||||||
| | | -1 : SIGQUIT | |
|
| | | -1 : SIGQUIT | |
|
||||||
| LS | Working | -A : Print . & .. | 0.92 |
|
| LS | Working | -A : Print . & .. | 0.92 |
|
||||||
|
| | | -C : Single column listing | |
|
||||||
| | | -L : long listing with size/date... | |
|
| | | -L : long listing with size/date... | |
|
||||||
| | | -R : Recurse subdirectories | |
|
| | | -R : Recurse subdirectories | |
|
||||||
| LSDEV | Working | Dump device Drivers | 0.92 |
|
| LSDEV | Working | Dump device Drivers | 0.92 |
|
||||||
|
|
|
@ -544,11 +544,11 @@ CORE.PSFree sta .10+1 Save PS ID
|
||||||
ldy #S.PS.hStdOut
|
ldy #S.PS.hStdOut
|
||||||
lda (ZPPtr1),y
|
lda (ZPPtr1),y
|
||||||
tax
|
tax
|
||||||
lda OF.Table.hFD-1,x
|
lda OF.Table.hPath-1,x
|
||||||
bit #1 hDev ?
|
beq .10 hDEV
|
||||||
bne .10
|
|
||||||
|
|
||||||
jsr K.GetMemPtr hNod, get FD
|
lda OF.Table.hFD-1,x hNod
|
||||||
|
jsr K.GetMemPtr get FD
|
||||||
>STYA pFD
|
>STYA pFD
|
||||||
lda (pFD)
|
lda (pFD)
|
||||||
cmp #S.FD.T.PIPE
|
cmp #S.FD.T.PIPE
|
||||||
|
|
|
@ -930,10 +930,11 @@ CLRLINE ldy #0 Start
|
||||||
ldx #80 End
|
ldx #80 End
|
||||||
bra CLR
|
bra CLR
|
||||||
|
|
||||||
CLRSOL ldy #0
|
CLRSOL ldy #S.DCB.TTY.CH
|
||||||
ldy #S.DCB.TTY.CH
|
lda (ZPDCBPtr),y
|
||||||
lda (ZPDCBPtr),y Start
|
|
||||||
tax End
|
tax End
|
||||||
|
ldy #0 Start
|
||||||
|
|
||||||
bra CLR
|
bra CLR
|
||||||
|
|
||||||
CLREOL ldy #S.DCB.TTY.CH
|
CLREOL ldy #S.DCB.TTY.CH
|
||||||
|
|
Loading…
Reference in New Issue