Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-12-12 15:13:32 +01:00
parent 85102b35d7
commit c9110f3298
3 changed files with 54 additions and 12 deletions

Binary file not shown.

View File

@ -867,8 +867,6 @@ CMD.FOR jsr CORE.StkGetCtx
lda #8 Make sure 8 bytes free on stack lda #8 Make sure 8 bytes free on stack
jsr CORE.StkCheck jsr CORE.StkCheck
bcs .9 bcs .9
>LDYA ZPInputBufPtr
jsr CORE.StkPushYA Push CmdPtr AFTER FOR
lda (ZPArgVBufPtr) lda (ZPArgVBufPtr)
cmp #'(' cmp #'('
@ -876,15 +874,26 @@ CMD.FOR jsr CORE.StkGetCtx
cmp #'`' cmp #'`'
bne CMD.FOR.LIST bne CMD.FOR.LIST
jmp CMD.FOR.EXEC bra CMD.FOR.EXEC
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
CMD.FOR.LIST >LDYA ZPArgVBufPtr CMD.FOR.LIST >LDYA ZPArgVBufPtr
>SYSCALL strdup >SYSCALL strdup
bcs FOR.FILE.9 bcs FOR.FILE.9
phy
pha
>LDYA ZPInputBufPtr
jsr CORE.StkPushYA Push CmdPtr AFTER FOR
pla
ply
jsr CORE.StkPushYAX Push listPtr,hList jsr CORE.StkPushYAX Push listPtr,hList
jsr CORE.PushVarName Push hVARNAME jsr CORE.PushVarName Push hVARNAME
bcs FOR.FILE.9
lda #C.FOR.LIST lda #C.FOR.LIST
jsr CORE.StkPush jsr CORE.StkPush
lda #C.FOR lda #C.FOR
@ -918,9 +927,16 @@ CMD.FOR.EXEC jsr CORE.ArgV.NextChar skip "`"
bcs FOR.FILE.9 bcs FOR.FILE.9
CMD.FOR.PUSH jsr CORE.StkPush push hPIPE for read CMD.FOR.PUSH pha save hFILE/hPIPE
>LDYA ZPInputBufPtr
jsr CORE.StkPushYA Push CmdPtr AFTER FOR
pla
jsr CORE.StkPush push hPIPE for read
jsr CORE.PushVarName Push hVARNAME jsr CORE.PushVarName Push hVARNAME
bcs FOR.FILE.9 * bcs FOR.FILE.9
lda #C.FOR.FILEEXEC lda #C.FOR.FILEEXEC
jsr CORE.StkPush jsr CORE.StkPush
@ -1072,11 +1088,12 @@ CMD.NEXT.LIST.TOKEN
*-------------------------------------- *--------------------------------------
CMD.NEXT.FILEEXEC CMD.NEXT.FILEEXEC
lda (pData),y Y = StkPtr lda (pData),y Y = StkPtr
bpl .1 bpl CMD.NEXT.FILEEXEC.POP
jsr CMD.NEXT.LINE jsr CMD.NEXT.LINE
bcs .9 bcs .9
bpl .1 end of file/pipe bpl CMD.NEXT.FILEEXEC.POP end of file/pipe
lda (pData) lda (pData)
sec sec
sbc #4 sbc #4
@ -1088,9 +1105,10 @@ CMD.NEXT.FILEEXEC
lda (pData),y lda (pData),y
sta ZPInputBufPtr+1 sta ZPInputBufPtr+1
clc clc
rts .9 rts
.1 lda (pData) CMD.NEXT.FILEEXEC.POP
lda (pData)
tay tay
sec sec
sbc #6 sbc #6
@ -1106,7 +1124,7 @@ CMD.NEXT.FILEEXEC
pla pla
>SYSCALL freemem >SYSCALL freemem
* clc * clc
.9 rts rts
*-------------------------------------- *--------------------------------------
CMD.NEXT.LINE lda (pData) CMD.NEXT.LINE lda (pData)
dec skip FOR dec skip FOR

View File

@ -624,16 +624,40 @@ CORE.StkPopCtxA and #$3F
cmp #C.CASE CASE : C.CASE + hValue cmp #C.CASE CASE : C.CASE + hValue
beq .1 beq .1
cmp #C.FOR
beq .3
cmp #C.DEFAULT DEFAULT : C.DEFAULT + hValue cmp #C.DEFAULT DEFAULT : C.DEFAULT + hValue
bne .9 bne .9
.1 jsr CORE.StkPopX .1 jsr CORE.StkPopX
.2 jsr CORE.StkPull .2 jsr CORE.StkPull
>SYSCALL freemem >SYSCALL freemem
.8 clc .8 clc
rts rts
.3 jsr CORE.StkPull Get FOR sub cmd
beq .4 FOR List
jsr CORE.StkPull hVARNAME
>SYSCALL freemem
jsr CORE.StkPull hFILE/hPIPE
>SYSCALL fclose
ldx #2 CmdPtr
jmp CORE.StkPopX
.4 jsr CORE.StkPull hVARNAME
>SYSCALL freemem
jsr CORE.StkPull hFILE/hPIPE
>SYSCALL fclose
ldx #4 ListPtr,CmdPtr
jmp CORE.StkPopX
.9 lda #E.STACKERROR .9 lda #E.STACKERROR
sec sec
rts rts