mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-25 20:33:13 +00:00
Kernel version 0.9 : SHELL, enhancement in Batch mode....(Cont.)
This commit is contained in:
parent
417fcfe9aa
commit
7e0fb2e663
@ -148,6 +148,15 @@ Prints Pascal/C-Style String
|
|||||||
+ CC : success
|
+ CC : success
|
||||||
+ CS : I/O error from COut
|
+ CS : I/O error from COut
|
||||||
|
|
||||||
|
# AToI
|
||||||
|
Convert String to 32 bit int
|
||||||
|
|
||||||
|
## In:
|
||||||
|
+ PUSHW PTR to target buffer DWORD
|
||||||
|
+ PUSHW Source String (PSTR)
|
||||||
|
|
||||||
|
## Out:
|
||||||
|
|
||||||
# GetDevByIDA
|
# GetDevByIDA
|
||||||
|
|
||||||
## IN:
|
## IN:
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
PR#3
|
PR#3
|
||||||
PREFIX /A2OSX.BUILD
|
PREFIX /A2OSX.BUILD
|
||||||
LOMEM $A00
|
LOMEM $900
|
||||||
INC 1
|
INC 1
|
||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
@ -211,7 +211,7 @@ SYS.PPrintFYA .EQ $44
|
|||||||
SYS.CPrintFYA .EQ $46
|
SYS.CPrintFYA .EQ $46
|
||||||
* .EQ $48
|
* .EQ $48
|
||||||
* .EQ $4A
|
* .EQ $4A
|
||||||
* .EQ $4C
|
SYS.AToI .EQ $4C
|
||||||
* .EQ $4E
|
* .EQ $4E
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SYS.NewPStrYA .EQ $50
|
SYS.NewPStrYA .EQ $50
|
||||||
|
@ -5,6 +5,60 @@ INC 1
|
|||||||
AUTO 6
|
AUTO 6
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
* Remove extra SPACE & comment
|
||||||
|
*--------------------------------------
|
||||||
|
Cmd.Normalize >LDYA pData
|
||||||
|
>STYA ZPPtr1
|
||||||
|
|
||||||
|
lda (pData) empty line...quit
|
||||||
|
beq .9
|
||||||
|
|
||||||
|
tax Char count
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
.1 jsr Cmd.Normalize.Next
|
||||||
|
beq .8 no more char, exit
|
||||||
|
|
||||||
|
cmp #' ' skip leading spaces
|
||||||
|
beq .1
|
||||||
|
|
||||||
|
cmp #'#' Comment ?
|
||||||
|
beq .8 ignore remaining chars
|
||||||
|
|
||||||
|
.3 iny add char to buffer
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
|
jsr Cmd.Normalize.Next
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
cmp #' '
|
||||||
|
bne .3
|
||||||
|
|
||||||
|
iny add One SPACE to buffer
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
|
.5 jsr Cmd.Normalize.Next
|
||||||
|
beq .8
|
||||||
|
cmp #' '
|
||||||
|
beq .5 skip additional spaces
|
||||||
|
bne .3 no more space, add next word...
|
||||||
|
|
||||||
|
.8 tya
|
||||||
|
sta (pData)
|
||||||
|
|
||||||
|
.9 rts
|
||||||
|
|
||||||
|
Cmd.Normalize.Next
|
||||||
|
txa
|
||||||
|
beq .8
|
||||||
|
dex
|
||||||
|
inc ZPPtr1
|
||||||
|
bne .1
|
||||||
|
inc ZPPtr1+1
|
||||||
|
.1 lda (ZPPtr1)
|
||||||
|
.8 rts
|
||||||
|
*--------------------------------------
|
||||||
* Y,A -> Command line (formatted & not empty)
|
* Y,A -> Command line (formatted & not empty)
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Cmd.ExecYA stz bStartProc
|
Cmd.ExecYA stz bStartProc
|
||||||
@ -536,6 +590,24 @@ Cmd.Exec.READ lda ARGS
|
|||||||
clc
|
clc
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
Cmd.Exec.SLEEP lda ARGS
|
||||||
|
beq .9
|
||||||
|
|
||||||
|
lda #Sleep
|
||||||
|
clc
|
||||||
|
adc pData
|
||||||
|
tay
|
||||||
|
lda /Sleep
|
||||||
|
adc pData+1
|
||||||
|
>PUSHYA
|
||||||
|
>PUSHW L.ARGS
|
||||||
|
>SYSCALL AToI
|
||||||
|
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
rts
|
||||||
|
.9 jmp Cmd.Exec.ERRSYN
|
||||||
|
*--------------------------------------
|
||||||
Cmd.Exec.PAUSE ldy #bPause
|
Cmd.Exec.PAUSE ldy #bPause
|
||||||
lda #$80
|
lda #$80
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
@ -271,6 +271,64 @@ CSH.CONTINUE
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
CSH.ExpEval stz CSH.ACC
|
||||||
|
stz CSH.ACC+1
|
||||||
|
stz CSH.ACC+2
|
||||||
|
stz CSH.ACC+3
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
jsr CSH.GetCharNB
|
||||||
|
>DEBUG
|
||||||
|
bcs .9
|
||||||
|
cmp #')'
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
jsr CSH.IsLetter Fnc or Var ?
|
||||||
|
bcs .1
|
||||||
|
|
||||||
|
bra .9
|
||||||
|
|
||||||
|
.1 jsr CSH.IsDigit number ?
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
jsr CSH.GetNumInACC
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
.9 lda #CSHERR.SYNTAX
|
||||||
|
sec
|
||||||
|
.99 rts
|
||||||
|
*--------------------------------------
|
||||||
|
CSH.GetNumInACC ldy #0
|
||||||
|
|
||||||
|
.1 iny
|
||||||
|
cpy #10
|
||||||
|
beq .9
|
||||||
|
|
||||||
|
sta (pData),y
|
||||||
|
|
||||||
|
jsr CSH.GetNextChar
|
||||||
|
bcs .8
|
||||||
|
jsr CSH.IsDigit
|
||||||
|
bcc .1
|
||||||
|
|
||||||
|
.8 tya
|
||||||
|
sta (pData)
|
||||||
|
|
||||||
|
>PUSHW pData
|
||||||
|
>PUSHW L.CSH.ACC
|
||||||
|
>SYSCALL AToI
|
||||||
|
bcs .9
|
||||||
|
rts
|
||||||
|
|
||||||
|
.9 lda #CSHERR.SYNTAX
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
CSH.Push pha
|
CSH.Push pha
|
||||||
ldy #CSH.StackPtr
|
ldy #CSH.StackPtr
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
@ -325,33 +383,6 @@ CSH.CheckStack pha
|
|||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CSH.ExpEval stz CSH.ACC
|
|
||||||
stz CSH.ACC+1
|
|
||||||
stz CSH.ACC+2
|
|
||||||
stz CSH.ACC+3
|
|
||||||
|
|
||||||
jsr CSH.GetCharNB
|
|
||||||
bcs .9
|
|
||||||
cmp #')'
|
|
||||||
beq .8
|
|
||||||
|
|
||||||
jsr CSH.IsLetter Fnc or Var ?
|
|
||||||
bne .1
|
|
||||||
|
|
||||||
|
|
||||||
.1
|
|
||||||
|
|
||||||
.8 clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
.9 lda #CSHERR.SYNTAX
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
*---------------------------------------
|
|
||||||
CSH.IsLetterOrDigit
|
|
||||||
jsr CSH.IsDigit
|
|
||||||
bcc CSH.IsLetterRTS
|
|
||||||
*--------------------------------------
|
|
||||||
CSH.GetCharNB jsr CSH.GetChar
|
CSH.GetCharNB jsr CSH.GetChar
|
||||||
bcs CSH.GetNextCharNB.RTS
|
bcs CSH.GetNextCharNB.RTS
|
||||||
jsr CSH.CheckCharNB
|
jsr CSH.CheckCharNB
|
||||||
@ -410,6 +441,10 @@ CSH.GetChar lda ZPBufPtr
|
|||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*---------------------------------------
|
*---------------------------------------
|
||||||
|
CSH.IsLetterOrDigit
|
||||||
|
jsr CSH.IsDigit
|
||||||
|
bcc CSH.IsLetterRTS
|
||||||
|
*---------------------------------------
|
||||||
CSH.IsLetter cmp #'A'
|
CSH.IsLetter cmp #'A'
|
||||||
bcc .9
|
bcc .9
|
||||||
|
|
||||||
|
121
SBIN/SHELL.S.txt
121
SBIN/SHELL.S.txt
@ -70,6 +70,7 @@ J.INTCMDS .DA Cmd.Exec.CD
|
|||||||
.DA Cmd.Exec.PWD
|
.DA Cmd.Exec.PWD
|
||||||
.DA Cmd.Exec.READ
|
.DA Cmd.Exec.READ
|
||||||
.DA Cmd.Exec.SET
|
.DA Cmd.Exec.SET
|
||||||
|
.DA Cmd.Exec.SLEEP
|
||||||
.DA Cmd.Exec.STARTPROC
|
.DA Cmd.Exec.STARTPROC
|
||||||
.DA Cmd.Exec.TIME
|
.DA Cmd.Exec.TIME
|
||||||
L.CSHCMDS .DA CSHCMDS
|
L.CSHCMDS .DA CSHCMDS
|
||||||
@ -79,15 +80,16 @@ J.CSHCMDS .DA CSH.IF
|
|||||||
.DA CSH.CONTINUE
|
.DA CSH.CONTINUE
|
||||||
J.CSHCMDS.END .DA CSH.IF.END
|
J.CSHCMDS.END .DA CSH.IF.END
|
||||||
.DA CSH.WHILE.END
|
.DA CSH.WHILE.END
|
||||||
|
L.CSH.ACC .DA CSH.ACC
|
||||||
L.ERR.Codes .DA ERR.Codes
|
L.ERR.Codes .DA ERR.Codes
|
||||||
L.ERR.Messages .DA ERR.Messages
|
L.ERR.Messages .DA ERR.Messages
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.INIT jsr SetPWD
|
CS.INIT jsr SetPWD
|
||||||
|
|
||||||
* lda (pPs)
|
lda (pPs)
|
||||||
* ora #S.PS.F.EVENT Now accept events
|
ora #S.PS.F.EVENT Now accept events
|
||||||
* sta (pPs)
|
sta (pPs)
|
||||||
|
|
||||||
>SYSCALL GetArgC
|
>SYSCALL GetArgC
|
||||||
cmp #1
|
cmp #1
|
||||||
@ -130,11 +132,7 @@ CS.INIT jsr SetPWD
|
|||||||
* clc
|
* clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.RUN ldy #bPause
|
CS.RUN ldy #VarBuffer READ Command ?
|
||||||
lda (pData),y
|
|
||||||
bmi .8
|
|
||||||
|
|
||||||
ldy #VarBuffer READ Command ?
|
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
bne CS.RUN.READ
|
bne CS.RUN.READ
|
||||||
|
|
||||||
@ -145,7 +143,17 @@ CS.RUN ldy #bPause
|
|||||||
jsr ERR.Print
|
jsr ERR.Print
|
||||||
bcs CS.RUN.EXIT.RTS
|
bcs CS.RUN.EXIT.RTS
|
||||||
|
|
||||||
.11 ldy #CSH.hBuf batch mode ?
|
.11 ldy #bPause
|
||||||
|
lda (pData),y
|
||||||
|
bpl .13
|
||||||
|
|
||||||
|
>SYSCALL GetC
|
||||||
|
bcs .8
|
||||||
|
|
||||||
|
.13 jsr CheckSleep
|
||||||
|
bne .8
|
||||||
|
|
||||||
|
ldy #CSH.hBuf batch mode ?
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
beq .10
|
beq .10
|
||||||
|
|
||||||
@ -172,7 +180,7 @@ CS.RUN ldy #bPause
|
|||||||
and #$7F
|
and #$7F
|
||||||
sta (pData)
|
sta (pData)
|
||||||
|
|
||||||
jsr CmdBuffer.Normalize
|
jsr Cmd.Normalize
|
||||||
lda (pData)
|
lda (pData)
|
||||||
beq .12 Empty line
|
beq .12 Empty line
|
||||||
|
|
||||||
@ -184,11 +192,11 @@ CS.RUN ldy #bPause
|
|||||||
ldy #S.PS.RC
|
ldy #S.PS.RC
|
||||||
sta (pPs),y
|
sta (pPs),y
|
||||||
|
|
||||||
.8 ldy #bEXIT
|
ldy #bEXIT
|
||||||
lda (pData),y
|
lda (pData),y
|
||||||
bne CS.RUN.EXIT
|
bne CS.RUN.EXIT
|
||||||
|
|
||||||
clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
CS.RUN.EXIT lda #0
|
CS.RUN.EXIT lda #0
|
||||||
@ -234,7 +242,7 @@ CS.RUN.READ lda #0
|
|||||||
CS.RUN.BATCH jsr CSH.Exec
|
CS.RUN.BATCH jsr CSH.Exec
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jsr CmdBuffer.Normalize
|
jsr Cmd.Normalize
|
||||||
lda (pData)
|
lda (pData)
|
||||||
beq .8 Empty line....nothing to do....
|
beq .8 Empty line....nothing to do....
|
||||||
|
|
||||||
@ -286,7 +294,25 @@ CS.RUN.BATCH jsr CSH.Exec
|
|||||||
pla
|
pla
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.DOEVENT sec
|
CS.DOEVENT lda (pEvent)
|
||||||
|
bpl .9
|
||||||
|
|
||||||
|
|
||||||
|
jsr CheckSleep
|
||||||
|
beq .9
|
||||||
|
|
||||||
|
* ldy #Sleep already set by CheckSleep
|
||||||
|
clc
|
||||||
|
ldx #4
|
||||||
|
|
||||||
|
.1 lda (pData),y
|
||||||
|
sbc #0
|
||||||
|
sta (pData),y
|
||||||
|
iny
|
||||||
|
dex
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
.9 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.CHARIN tax
|
CS.CHARIN tax
|
||||||
@ -442,7 +468,15 @@ CS.QUIT jsr HIS.Quit
|
|||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* PRIVATE
|
CheckSleep ldy #Sleep+3
|
||||||
|
lda (pData),y
|
||||||
|
dey
|
||||||
|
ora (pData),y
|
||||||
|
dey
|
||||||
|
ora (pData),y
|
||||||
|
dey
|
||||||
|
ora (pData),y
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SetPWD ldy #S.PS.hPREFIX
|
SetPWD ldy #S.PS.hPREFIX
|
||||||
lda (pPs),y
|
lda (pPs),y
|
||||||
@ -468,61 +502,6 @@ PrintPrompt >LDYA L.ENV.PS1
|
|||||||
plp
|
plp
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
* Remove extra SPACE & comment
|
|
||||||
*--------------------------------------
|
|
||||||
CmdBuffer.Normalize
|
|
||||||
>LDYA pData
|
|
||||||
>STYA ZPPtr1
|
|
||||||
|
|
||||||
lda (pData) empty line...quit
|
|
||||||
beq .9
|
|
||||||
|
|
||||||
tax Char count
|
|
||||||
|
|
||||||
ldy #0
|
|
||||||
|
|
||||||
.1 jsr CmdBuffer.Normalize.Next
|
|
||||||
beq .8 no more char, exit
|
|
||||||
|
|
||||||
cmp #' ' skip leading spaces
|
|
||||||
beq .1
|
|
||||||
|
|
||||||
cmp #'#' Comment ?
|
|
||||||
beq .8 ignore remaining chars
|
|
||||||
|
|
||||||
.3 iny add char to buffer
|
|
||||||
sta (pData),y
|
|
||||||
|
|
||||||
jsr CmdBuffer.Normalize.Next
|
|
||||||
beq .8
|
|
||||||
|
|
||||||
cmp #' '
|
|
||||||
bne .3
|
|
||||||
|
|
||||||
iny add One SPACE to buffer
|
|
||||||
sta (pData),y
|
|
||||||
|
|
||||||
.5 jsr CmdBuffer.Normalize.Next
|
|
||||||
beq .8
|
|
||||||
cmp #' '
|
|
||||||
beq .5 skip additional spaces
|
|
||||||
bne .3 no more space, add next word...
|
|
||||||
|
|
||||||
.8 tya
|
|
||||||
sta (pData)
|
|
||||||
|
|
||||||
.9 rts
|
|
||||||
|
|
||||||
CmdBuffer.Normalize.Next
|
|
||||||
txa
|
|
||||||
beq .8
|
|
||||||
dex
|
|
||||||
inc ZPPtr1
|
|
||||||
bne .1
|
|
||||||
inc ZPPtr1+1
|
|
||||||
.1 lda (ZPPtr1)
|
|
||||||
.8 rts
|
|
||||||
*--------------------------------------
|
|
||||||
CmdBuffer.CLR jsr CmdBuffer.DEL
|
CmdBuffer.CLR jsr CmdBuffer.DEL
|
||||||
bne CmdBuffer.CLR
|
bne CmdBuffer.CLR
|
||||||
rts
|
rts
|
||||||
@ -554,6 +533,7 @@ INTCMDS >PSTR "CD"
|
|||||||
>PSTR "PWD"
|
>PSTR "PWD"
|
||||||
>PSTR "READ"
|
>PSTR "READ"
|
||||||
>PSTR "SET"
|
>PSTR "SET"
|
||||||
|
>PSTR "SLEEP"
|
||||||
>PSTR "STARTPROC"
|
>PSTR "STARTPROC"
|
||||||
>PSTR "TIME"
|
>PSTR "TIME"
|
||||||
.HS 00
|
.HS 00
|
||||||
@ -598,6 +578,7 @@ bExitOnEOF .BS 1
|
|||||||
hCmdHistory .BS 1
|
hCmdHistory .BS 1
|
||||||
CmdHistory.IDX .BS 1
|
CmdHistory.IDX .BS 1
|
||||||
CmdHistory.END .BS 1
|
CmdHistory.END .BS 1
|
||||||
|
Sleep .BS 4
|
||||||
CSH.hBuf .BS 1
|
CSH.hBuf .BS 1
|
||||||
CSH.BufPtr .BS 2
|
CSH.BufPtr .BS 2
|
||||||
CSH.BufLen .BS 2
|
CSH.BufLen .BS 2
|
||||||
|
@ -506,6 +506,52 @@ CIO.GetCharAtPtr1Y
|
|||||||
|
|
||||||
.9 clc no error, but end of string
|
.9 clc no error, but end of string
|
||||||
rts
|
rts
|
||||||
|
*/--------------------------------------
|
||||||
|
* # AToI
|
||||||
|
* Convert String to 32 bit int
|
||||||
|
* ## In:
|
||||||
|
* PUSHW PTR to target buffer DWORD
|
||||||
|
* PUSHW Source String (PSTR)
|
||||||
|
* ## Out:
|
||||||
|
*\--------------------------------------
|
||||||
|
K.AToI jsr PullPtr1Ptr2 PSTR in Ptr1,buffer in Ptr2
|
||||||
|
|
||||||
|
stz ASCBUF
|
||||||
|
|
||||||
|
lda (ZPPtr1)
|
||||||
|
beq .2
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
.1 iny
|
||||||
|
lda (ZPPtr1),y
|
||||||
|
|
||||||
|
cmp #'0'
|
||||||
|
bcc .2
|
||||||
|
cmp #'9'+1
|
||||||
|
bcs .2
|
||||||
|
|
||||||
|
inx
|
||||||
|
sta ASCBUF,x
|
||||||
|
cpx #10
|
||||||
|
beq .2
|
||||||
|
tya
|
||||||
|
cmp (ZPPtr1)
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
.2 stx ASCBUF
|
||||||
|
jsr DEC2HEX
|
||||||
|
|
||||||
|
ldy #3
|
||||||
|
|
||||||
|
.3 lda HEXBUF,y
|
||||||
|
sta (ZPPtr2),y
|
||||||
|
dey
|
||||||
|
bpl .3
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TYPES .AS "-dbclssp"
|
TYPES .AS "-dbclssp"
|
||||||
ACCESS .AS "rwxrwxrwx"
|
ACCESS .AS "rwxrwxrwx"
|
||||||
|
@ -60,6 +60,9 @@ DEC2HEX stz HEXBUF
|
|||||||
stz HEXBUF+2
|
stz HEXBUF+2
|
||||||
stz HEXBUF+3
|
stz HEXBUF+3
|
||||||
|
|
||||||
|
lda ASCBUF
|
||||||
|
beq .8
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
.1 lda HEXBUF+3 save HEXBUF for 4+1
|
.1 lda HEXBUF+3 save HEXBUF for 4+1
|
||||||
@ -109,7 +112,8 @@ DEC2HEX stz HEXBUF
|
|||||||
|
|
||||||
.2 cpx ASCBUF
|
.2 cpx ASCBUF
|
||||||
bne .1
|
bne .1
|
||||||
rts
|
|
||||||
|
.8 rts
|
||||||
|
|
||||||
*.9 pla discard saved HEXBUF
|
*.9 pla discard saved HEXBUF
|
||||||
* pla
|
* pla
|
||||||
|
@ -13,7 +13,7 @@ Kernel.Init2 sei
|
|||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
>LDYAI A2osX.SYSCALL
|
>LDYAI A2osX.SYSCALL
|
||||||
>STYA ZPPtr2
|
>STYA ZPPtr2
|
||||||
>LDYAI A2osX.GP.S^$FFFF
|
>LDYAI A2osX.D1-A2osX.GP^$FFFF
|
||||||
>STYA ZPPtr3
|
>STYA ZPPtr3
|
||||||
jsr Kernel.Move
|
jsr Kernel.Move
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ Kernel.Init2 sei
|
|||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
>LDYAI $D000
|
>LDYAI $D000
|
||||||
>STYA ZPPtr2
|
>STYA ZPPtr2
|
||||||
>LDYAI A2osX.D2.S^$FFFF
|
>LDYAI A2osX.E0-A2osX.D2^$FFFF
|
||||||
>STYA ZPPtr3
|
>STYA ZPPtr3
|
||||||
jsr Kernel.Move
|
jsr Kernel.Move
|
||||||
|
|
||||||
@ -47,7 +47,7 @@ Kernel.Init2 sei
|
|||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
>LDYAI $D000
|
>LDYAI $D000
|
||||||
>STYA ZPPtr2
|
>STYA ZPPtr2
|
||||||
>LDYAI A2osX.D1.S^$FFFF
|
>LDYAI A2osX.D2-A2osX.D1^$FFFF
|
||||||
>STYA ZPPtr3
|
>STYA ZPPtr3
|
||||||
jsr Kernel.Move
|
jsr Kernel.Move
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ Kernel.Init2 sei
|
|||||||
>STYA ZPPtr1
|
>STYA ZPPtr1
|
||||||
>LDYAI $E000
|
>LDYAI $E000
|
||||||
>STYA ZPPtr2
|
>STYA ZPPtr2
|
||||||
>LDYAI A2osX.E0.S^$FFFF
|
>LDYAI A2osX.E0.E-A2osX.E0^$FFFF
|
||||||
>STYA ZPPtr3
|
>STYA ZPPtr3
|
||||||
jsr Kernel.Move
|
jsr Kernel.Move
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ K.SYSCALL.JMP .DA K.FileSearch $00
|
|||||||
.DA K.CPrintFYA
|
.DA K.CPrintFYA
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA 0
|
||||||
.DA 0
|
.DA K.AToI
|
||||||
.DA 0
|
.DA 0
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DA K.NewPStrYA $50
|
.DA K.NewPStrYA $50
|
||||||
|
@ -34,15 +34,13 @@ ZPPtr4 .EQ ZPKERNEL+6
|
|||||||
>DEBUGOA
|
>DEBUGOA
|
||||||
jmp Kernel.Init3
|
jmp Kernel.Init3
|
||||||
|
|
||||||
.INB /A2OSX.SRC/X.PRINTF.S
|
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.INIT2
|
.INB /A2OSX.SRC/SYS/KERNEL.S.INIT2
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.INIT3
|
.INB /A2OSX.SRC/SYS/KERNEL.S.INIT3
|
||||||
|
.INB /A2OSX.SRC/X.PRINTF.S
|
||||||
|
|
||||||
A2osX.GP .PH $BD00
|
A2osX.GP .PH $BD00
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.GP
|
.INB /A2OSX.SRC/SYS/KERNEL.S.GP
|
||||||
.EP
|
.EP
|
||||||
A2osX.GP.E .EQ *
|
|
||||||
|
|
||||||
A2osX.D1 .PH $D000
|
A2osX.D1 .PH $D000
|
||||||
.DA #RRAMWRAMBNK1
|
.DA #RRAMWRAMBNK1
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.FIO
|
.INB /A2OSX.SRC/SYS/KERNEL.S.FIO
|
||||||
@ -51,12 +49,9 @@ A2osX.D1 .PH $D000
|
|||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.TIME
|
.INB /A2OSX.SRC/SYS/KERNEL.S.TIME
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.FILE
|
.INB /A2OSX.SRC/SYS/KERNEL.S.FILE
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.DIR
|
.INB /A2OSX.SRC/SYS/KERNEL.S.DIR
|
||||||
|
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.PFT
|
.INB /A2OSX.SRC/SYS/KERNEL.S.PFT
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.BIN
|
.INB /A2OSX.SRC/SYS/KERNEL.S.BIN
|
||||||
.EP
|
.EP
|
||||||
A2osX.D1.E .EQ *
|
|
||||||
|
|
||||||
A2osX.D2 .PH $D000
|
A2osX.D2 .PH $D000
|
||||||
.DA #RRAMWRAMBNK2
|
.DA #RRAMWRAMBNK2
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.CIO
|
.INB /A2OSX.SRC/SYS/KERNEL.S.CIO
|
||||||
@ -65,14 +60,11 @@ A2osX.D2 .PH $D000
|
|||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.PS
|
.INB /A2OSX.SRC/SYS/KERNEL.S.PS
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.ARG
|
.INB /A2OSX.SRC/SYS/KERNEL.S.ARG
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.ENV
|
.INB /A2OSX.SRC/SYS/KERNEL.S.ENV
|
||||||
|
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.CNV
|
.INB /A2OSX.SRC/SYS/KERNEL.S.CNV
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.RUN
|
.INB /A2OSX.SRC/SYS/KERNEL.S.RUN
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.EVT
|
.INB /A2OSX.SRC/SYS/KERNEL.S.EVT
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.TSK
|
.INB /A2OSX.SRC/SYS/KERNEL.S.TSK
|
||||||
.EP
|
.EP
|
||||||
A2osX.D2.E .EQ *
|
|
||||||
|
|
||||||
A2osX.E0 .PH $E000
|
A2osX.E0 .PH $E000
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.JMP
|
.INB /A2OSX.SRC/SYS/KERNEL.S.JMP
|
||||||
.INB /A2OSX.SRC/SYS/KERNEL.S.DAT
|
.INB /A2OSX.SRC/SYS/KERNEL.S.DAT
|
||||||
@ -84,17 +76,13 @@ A2osX.E0 .PH $E000
|
|||||||
A2osX.E0.E .EQ *
|
A2osX.E0.E .EQ *
|
||||||
* CONTROL SECTION :
|
* CONTROL SECTION :
|
||||||
.LIST ON
|
.LIST ON
|
||||||
A2osX.GP.S .EQ A2osX.GP.E-A2osX.GP
|
.DO A2osX.D1-A2osX.GP>$200
|
||||||
A2osX.D1.S .EQ A2osX.D1.E-A2osX.D1
|
|
||||||
A2osX.D2.S .EQ A2osX.D2.E-A2osX.D2
|
|
||||||
A2osX.E0.S .EQ A2osX.E0.E-A2osX.E0
|
|
||||||
.DO A2osX.GP.S>$200
|
|
||||||
* ERROR:GP too big
|
* ERROR:GP too big
|
||||||
.FIN
|
.FIN
|
||||||
.DO A2osX.D1.S>$1000
|
.DO A2osX.D2-A2osX.D1>$1000
|
||||||
* ERROR:BNK1 too big
|
* ERROR:BNK1 too big
|
||||||
.FIN
|
.FIN
|
||||||
.DO A2osX.D2.S>$1000
|
.DO A2osX.E0-A2osX.D2>$1000
|
||||||
* ERROR:BNK2 too big
|
* ERROR:BNK2 too big
|
||||||
.FIN
|
.FIN
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
|
Loading…
Reference in New Issue
Block a user