Kernel 0.93

This commit is contained in:
Rémy GIBERT 2019-05-02 11:52:32 +02:00
parent e200a9539b
commit 20ebfb7954
29 changed files with 137 additions and 128 deletions

Binary file not shown.

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
@ -257,7 +256,7 @@ CS.RUN ldy #S.PS.hStdIn
bcs .99 bcs .99
tay tay
beq .13 bne .13
>SYSCALL GetChar >SYSCALL GetChar
bcs .99 bcs .99

View File

@ -1,10 +1,9 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
.TF BIN/ATK/ATBROWSE .TF BIN/ATBROWSE
*-------------------------------------- *--------------------------------------
.INB INC/MACROS.I .INB INC/MACROS.I
.INB INC/A2OSX.I .INB INC/A2OSX.I

View File

@ -1,10 +1,9 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
.TF BIN/ATK/ATLOGON .TF BIN/ATLOGON
*-------------------------------------- *--------------------------------------
.INB INC/MACROS.I .INB INC/MACROS.I
.INB INC/A2OSX.I .INB INC/A2OSX.I

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
@ -111,8 +110,9 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
lda (pPS),y lda (pPS),y
>SYSCALL feof >SYSCALL feof
bcs .90 IO error bcs .90 IO error
tay tay
beq .10 no char bne .10 no char
>SYSCALL GetChar >SYSCALL GetChar
bcs .9 IO error bcs .9 IO error

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
@ -123,7 +122,7 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
bcs .99 bcs .99
tay tay
beq .1 bne .1
>SYSCALL GetChar >SYSCALL GetChar
bcs .99 bcs .99

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
@ -120,7 +119,7 @@ CS.RUN ldy #S.PS.hStdIn
bcs .99 bcs .99
tay tay
beq .10 bne .10
>SYSCALL GetChar >SYSCALL GetChar
bcs .99 bcs .99

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 4,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
@ -110,7 +109,7 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
bcs .99 I/O error bcs .99 I/O error
tay tay
beq .2 no char bne .2 no char
>SYSCALL GetChar >SYSCALL GetChar

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
@ -119,7 +118,7 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
bcs .99 bcs .99
tay tay
beq .1 bne .1
>SYSCALL GetChar >SYSCALL GetChar
bcs .99 bcs .99

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
@ -215,8 +214,9 @@ CS.RUN.WAIT.REPLY
lda (pPS),y lda (pPS),y
>SYSCALL feof >SYSCALL feof
bcs CS.RUN.ERR bcs CS.RUN.ERR
tay tay
beq .1 bne .1
>SYSCALL GetChar >SYSCALL GetChar
bcs CS.RUN.ERR bcs CS.RUN.ERR

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000

View File

@ -404,8 +404,9 @@ CMD.GETKEY lda (ZPArgVBufPtr)
lda (pPS),y lda (pPS),y
>SYSCALL feof >SYSCALL feof
bcs .9 bcs .9
tay tay
beq .1 bne .1
>SYSCALL getchar >SYSCALL getchar
bcs .9 bcs .9

View File

@ -291,7 +291,7 @@ CS.RUN.LOOP >SLEEP
beq .8 beq .8
bra .61 bra .61
.60 cmp #C.CR .60 cmp #19 Ctrl-S
bne .4 bne .4
.61 >STZ.G bPause .61 >STZ.G bPause
@ -404,7 +404,7 @@ CS.RUN.BATCH >LDA.G bSET.C
bcs .2 unsupported bcs .2 unsupported
tay tay
beq .2 bne .2
>SYSCALL GetChar >SYSCALL GetChar
bcs CS.RUN.READ.9 bcs CS.RUN.READ.9

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
@ -171,15 +170,18 @@ CS.RUN.OPENSKT >PUSHBI 0 no protocol
CS.RUN.LOOP >SLEEP CS.RUN.LOOP >SLEEP
>LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.EOF
bcs .99
tay
bne .2 EOF, no char
>PUSHWI BUFSIZE >PUSHWI BUFSIZE
>PUSHW ZPBufPtr >PUSHW ZPBufPtr
>LDA.G hSocket >LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.Read >LIBCALL hLIBTCPIP,LIBTCPIP.Read
bcc .1 .99 bcs .9
tay
beq .2 no char
jmp CS.RUN.SKTERR
.1 >PUSHYA len .1 >PUSHYA len
>PUSHW ZPBufPtr >PUSHW ZPBufPtr
@ -193,8 +195,9 @@ CS.RUN.LOOP >SLEEP
>SYSCALL feof >SYSCALL feof
bcs .11 CS.RUN.IOERR bcs .11 CS.RUN.IOERR
tay tay
beq CS.RUN.LOOP no char from STDIN bne CS.RUN.LOOP EOF = true, no char from STDIN
>PUSHWI BUFSIZE >PUSHWI BUFSIZE
>PUSHW ZPBufPtr >PUSHW ZPBufPtr
@ -208,24 +211,14 @@ CS.RUN.LOOP >SLEEP
cmp #$14 Ctrl-T cmp #$14 Ctrl-T
beq CS.RUN.USER beq CS.RUN.USER
.4 >PUSHW ZPBufLen >PUSHW ZPBufLen
>PUSHW ZPBufPtr >PUSHW ZPBufPtr
>LDA.G hSocket >LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.Write >LIBCALL hLIBTCPIP,LIBTCPIP.Write
bcc .8 .9 bcs CS.RUN.SKTERR
tay jmp CS.RUN.LOOP
bne CS.RUN.SKTERR
>SLEEP
bra .4
.8 jmp CS.RUN.LOOP
.9 lda #0
sec
rts
*-------------------------------------- *--------------------------------------
CS.RUN.SKTERR pha CS.RUN.SKTERR pha
>PUSHA >PUSHA

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
@ -109,7 +108,7 @@ CS.RUN.LOOP ldy #S.PS.hStdIn
bcs .99 bcs .99
tay tay
beq .10 bne .10
>SYSCALL GetChar >SYSCALL GetChar
bcs .99 bcs .99

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 4,1
AUTO 4,1
.LIST OFF .LIST OFF
*-------------------------------------- *--------------------------------------
X.COPY.BUF.SIZE .EQ 4096 X.COPY.BUF.SIZE .EQ 4096
@ -137,7 +136,7 @@ CS.RUN ldy #S.PS.hStdIn
bcs CS.INIT.RTS I/O error bcs CS.INIT.RTS I/O error
tay tay
beq .15 bne .15
>SYSCALL GetChar >SYSCALL GetChar
bcs CS.INIT.RTS I/O error bcs CS.INIT.RTS I/O error
@ -263,7 +262,7 @@ CS.RUN.LEAVE jsr LeaveSubDir exit this sub dir....
jsr BasePath.. jsr BasePath..
.DO X.DELETE.SOURCE=1 .DO X.DELETE.SOURCE=1
.DO X.COPY.TO.DEST=0 * .DO X.COPY.TO.DEST=0
jsr GetEntry jsr GetEntry
bcs * bcs *
@ -279,7 +278,7 @@ CS.RUN.LEAVE jsr LeaveSubDir exit this sub dir....
>SYSCALL remove >SYSCALL remove
jsr CS.RUN.CheckErr jsr CS.RUN.CheckErr
bcs .99 bcs .99
.FIN * .FIN
.FIN .FIN
jmp CS.RUN.NEXT jmp CS.RUN.NEXT
@ -760,5 +759,5 @@ CS.QUIT.FREE lda (pData),y
*-------------------------------------- *--------------------------------------
MAN MAN
SAVE USR/SRC/BIN/X.CPMVRM.S SAVE USR/SRC/BIN/X.CPMVRM.S
LOAD USR/SRC/BIN/CP.S LOAD USR/SRC/BIN/MV.S
ASM ASM

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
@ -243,7 +242,11 @@ STATUS.9 lda #MLI.E.BADCTL
sec sec
rts rts
*-------------------------------------- *--------------------------------------
OPEN jsr CLOSE OPEN lda #S.DIB.S.OPENED
bit DIB+S.DIB.S
bne .9
jsr CLOSE
* ldx DEVSLOTx0 Done by CLOSE * ldx DEVSLOTx0 Done by CLOSE
@ -292,6 +295,10 @@ OPEN jsr CLOSE
clc clc
rts rts
.9 lda #MLI.E.OPEN
sec
rts
*-------------------------------------- *--------------------------------------
CLOSE ldx DEVSLOTx0 CLOSE ldx DEVSLOTx0
stz L91C96.BSR,x stz L91C96.BSR,x

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
*-------------------------------------- *--------------------------------------
U2AI .EQ 1 U2AI .EQ 1

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
*-------------------------------------- *--------------------------------------
U2AI .EQ 0 U2AI .EQ 0

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
*-------------------------------------- *--------------------------------------
@ -199,7 +198,6 @@ DRV.CS.START cld
.DA CLOSE .DA CLOSE
.DA READ .DA READ
.DA WRITE .DA WRITE
.DA A2osX.BADCALL IRQ
.DA 0 end or relocation .DA 0 end or relocation
*-------------------------------------- *--------------------------------------
STATUS >STYA ZPIOCTL STATUS >STYA ZPIOCTL
@ -278,7 +276,15 @@ CONTROL >STYA ZPIOCTL
.FIN .FIN
*-------------------------------------- *--------------------------------------
OPEN jsr CLOSE OPEN lda #S.DIB.S.OPENED
bit DIB+S.DIB.S
beq .10
lda #MLI.E.OPEN
sec
rts
.10 jsr CLOSE
* ldx DEVSLOTx0 Done by CLOSE * ldx DEVSLOTx0 Done by CLOSE

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
*-------------------------------------- *--------------------------------------

View File

@ -626,7 +626,19 @@ SKT.setsockopt >SYSCALL GetMemPtr
sta (ZPPtrSKT),y sta (ZPPtrSKT),y
* clc * clc
rts rts
*-------------------------------------- */--------------------------------------
* # EOF
* End Of File
* ## C
* `int eof(hFD fd);`
* ## ASM
* **In:**
* `lda fd`
* `>LIBCALL hLIBTCPIP,LIBTCPIP.EOF`
* ## RETURN VALUE
* CC : A = 0 if some data, A = $ff if EOF
* CS : A = Socket Error
*\--------------------------------------
SKT.EOF >SYSCALL GetMemPtr SKT.EOF >SYSCALL GetMemPtr
>STYA ZPPtrSKT >STYA ZPPtrSKT
@ -634,16 +646,17 @@ SKT.EOF.I ldy #S.SOCKET.TCP.INUSED
lda (ZPPtrSKT),y lda (ZPPtrSKT),y
iny iny
ora (ZPPtrSKT),y ora (ZPPtrSKT),y
bne .8 some DATA bne .8 some DATA...
jsr SKT.CheckStream jsr SKT.CheckStream
bcs .9 bcs .9
lda #0 no DATA lda #$ff no DATA, EOF = true
sec clc
rts rts
.8 clc .8 lda #0 ...EOF = false
clc
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
SKT.CheckStream ldy #S.SOCKET.T SKT.CheckStream ldy #S.SOCKET.T

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
@ -130,7 +129,7 @@ CS.RUN.LOOP1 >SLEEP
bcs CS.RUN.9 I/O error bcs CS.RUN.9 I/O error
tay tay
beq .1 no char bne .1 no char
>SYSCALL GetChar >SYSCALL GetChar
bcs CS.RUN.9 bcs CS.RUN.9

View File

@ -1,6 +1,5 @@
NEW NEW
PREFIX AUTO 3,1
AUTO 4,1
.LIST OFF .LIST OFF
.OP 65C02 .OP 65C02
.OR $2000 .OR $2000
@ -80,8 +79,9 @@ CS.RUN jsr Init.Timeout
lda (pPs),y lda (pPs),y
>SYSCALL feof >SYSCALL feof
bcs CS.RUN.RTS I/O err bcs CS.RUN.RTS I/O err
tay tay
beq .1 bne .1
>SYSCALL GetChar >SYSCALL GetChar
bcs CS.RUN.RTS bcs CS.RUN.RTS

View File

@ -78,8 +78,9 @@ CS.RUN jsr Init.Timeout
lda (pPs),y lda (pPs),y
>SYSCALL feof >SYSCALL feof
bcs .9 I/O err bcs .9 I/O err
tay tay
beq .1 bne .1
>SYSCALL GetChar >SYSCALL GetChar
bcs .9 bcs .9

View File

@ -690,10 +690,11 @@ IO.MLIOPEN >LDYAI 1024 get a ProDOS IOBUF
* clc * clc
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
IO.EOF tax IO.EOF lda (pFD)
tax
jmp (.1,x) jmp (.1,x)
.1 .DA STDIO.IOERR REG .1 .DA IO.EOF.REG
.DA STDIO.IOERR DIR .DA STDIO.IOERR DIR
.DA IO.EOF.CDEV .DA IO.EOF.CDEV
.DA STDIO.IOERR BDEV .DA STDIO.IOERR BDEV
@ -701,6 +702,36 @@ IO.EOF tax
.DA STDIO.IOERR DSOCK .DA STDIO.IOERR DSOCK
.DA IO.EOF.SSOCK .DA IO.EOF.SSOCK
.DA IO.EOF.PIPE .DA IO.EOF.PIPE
*--------------------------------------
.DUMMY
.OR ZPTMP
K.EOF.MARK .BS 3
.ED
*--------------------------------------
IO.EOF.REG >MLICALL MLIGETMARK
bcs IO.EOF.REG.RTS
ldy #2
.1 lda K.MLI.PARAMS+2,y
sta K.EOF.MARK,y
dey
bpl .1
>MLICALL MLIGETEOF
bcs IO.EOF.REG.RTS
ldy #2
.2 lda K.MLI.PARAMS+2,y
eor K.EOF.MARK,y
bne IO.EOF.CDEV.80 MARK != EOF -> false
dey
bpl .2
IO.EOF.REG.88 lda #$ff
* clc
IO.EOF.REG.RTS rts
*-------------------------------------- *--------------------------------------
IO.EOF.CDEV >LDYAI K.IOBuf IO.EOF.CDEV >LDYAI K.IOBuf
>STYA K.S.IOCTL+S.IOCTL.BUFPTR >STYA K.S.IOCTL+S.IOCTL.BUFPTR
@ -708,11 +739,15 @@ IO.EOF.CDEV >LDYAI K.IOBuf
lda #S.IOCTL.STATCODE.GETRC lda #S.IOCTL.STATCODE.GETRC
jsr K.GetDevStatus.I jsr K.GetDevStatus.I
bcs .9 bcs IO.EOF.REG.RTS
lda K.IOBuf lda K.IOBuf
ora K.IOBuf+1 ora K.IOBuf+1
.9 rts beq IO.EOF.REG.88
IO.EOF.CDEV.80 lda #0
* clc
rts
*-------------------------------------- *--------------------------------------
IO.EOF.SSOCK ldy #S.FD.SSOCK.EOF IO.EOF.SSOCK ldy #S.FD.SSOCK.EOF

View File

@ -1271,46 +1271,15 @@ K.FSeek jsr PFT.CheckNodeA
* `>SYSCALL feof` * `>SYSCALL feof`
* ## RETURN VALUE * ## RETURN VALUE
* CC : * CC :
* A=0 EOF * A = $ff EOF
* A !=0 NOT EOF * A = 0 NOT EOF
* CS : * CS :
*\-------------------------------------- *\--------------------------------------
.DUMMY
.OR ZPTMP
K.FEOF.MARK .BS 3
.ED
*--------------------------------------
K.FEOF jsr PFT.CheckNodeA K.FEOF jsr PFT.CheckNodeA
bcs .9 bcs .9
lda (pFD)
beq .10
jmp IO.EOF jmp IO.EOF
.10 >MLICALL MLIGETMARK
bcs .9
ldy #2
.1 lda K.MLI.PARAMS+2,y
sta K.FEOF.MARK,y
dey
bpl .1
>MLICALL MLIGETEOF
bcs .9
ldy #2
.2 lda K.MLI.PARAMS+2,y
eor K.FEOF.MARK,y
bne .8
dey
bpl .2
.8
* clc
.9 rts .9 rts
*/-------------------------------------- */--------------------------------------
* # FTell * # FTell