Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-08-06 09:14:22 +02:00
parent df3fb7bea4
commit 01f29acdd7
4 changed files with 143 additions and 53 deletions

Binary file not shown.

View File

@ -15,6 +15,7 @@ NEW
ZS.START ZS.START
hDevGFX .BS 1 hDevGFX .BS 1
hFont .BS 1 hFont .BS 1
hFontB .BS 1
ZS.END ZS.END
.ED .ED
*-------------------------------------- *--------------------------------------
@ -38,8 +39,10 @@ CS.START cld
.DA CS.QUIT .DA CS.QUIT
L.DEVNAME.GFX .DA DEVNAME.GFX L.DEVNAME.GFX .DA DEVNAME.GFX
L.FONTFILE .DA FONTFILE L.FONTFILE .DA FONTFILE
L.PIXFILE .DA PIXFILE
L.CB.RECT .DA CB.RECT L.CB.RECT .DA CB.RECT
L.CB.TEXT .DA CB.TEXT L.CB.TEXT .DA CB.TEXT
L.CB.PIX .DA CB.PIX
L.CB.Apple .DA CB.Apple L.CB.Apple .DA CB.Apple
L.BM.Apple .DA BM.Apple L.BM.Apple .DA BM.Apple
L.MESSAGE .DA MESSAGE L.MESSAGE .DA MESSAGE
@ -50,37 +53,48 @@ CS.INIT clc
rts rts
*-------------------------------------- *--------------------------------------
CS.RUN jsr GFX.Open CS.RUN jsr GFX.Open
bcs .9 bcs .99
* >LDYA L.FONTFILE >PUSHWZ Aux type
* >SYSCALL LoadStkObj >PUSHBI $CC Type
* bcs .9 >PUSHBI O.RDONLY
* stx hFont >LDYA L.FONTFILE
>SYSCALL LoadStkObj
bcs .99
stx hFont
>PUSHWZ Aux type
>PUSHBI $CB Type
>PUSHBI O.RDONLY
>LDYA L.PIXFILE
>SYSCALL LoadStkObj
.99 bcs .9
stx CB.PIX+S.CB.SrcPtr
>LDYA L.CB.RECT >LDYA L.CB.RECT
jsr GFX.Write.YA jsr GFX.Write.YA
>DEBUG
* lda hFont
* sta CB.TEXT+S.CB.hFont
* >LDYA L.MESSAGE
* >STYA CB.TEXT+S.CB.TxtPtr
* >LDYA L.CB.TEXT
* >SYSCALL OSD
* bcs .9
* >LDYA L.CB.TEXT
* jsr GFX.Write.YA
>LDYA L.BM.Apple >LDYA L.BM.Apple
>STYA CB.Apple+S.CB.SrcPtr >STYA CB.Apple+S.CB.SrcPtr
>LDYA L.CB.PIX
jsr GFX.Write.YA
>LDYA L.CB.Apple >LDYA L.CB.Apple
jsr GFX.Write.YA jsr GFX.Write.YA
>DEBUG lda hFont
sta CB.TEXT+S.CB.hFont
>LDYA L.MESSAGE
>STYA CB.TEXT+S.CB.TxtPtr
>LDYA L.CB.TEXT
>SYSCALL OSD
bcs .9
>LDYA L.CB.TEXT
jsr GFX.Write.YA
lda #0 lda #0
sec sec
@ -94,12 +108,24 @@ CS.QUIT lda hFont
>SYSCALL FreeStkObj >SYSCALL FreeStkObj
.1 lda hDevGFX .1 lda hFontB
beq .2 beq .1
>SYSCALL FreeStkObj
lda CB.PIX+S.CB.SrcPtr
beq .3
>SYSCALL FreeStkObj
.3
lda hDevGFX
beq .8
* >DEBUG * >DEBUG
* >SYSCALL close * >SYSCALL close
* >DEBUG * >DEBUG
.2 .8
clc clc
rts rts
*-------------------------------------- *--------------------------------------
@ -120,7 +146,8 @@ GFX.Write.YA >PUSHYA
CS.END CS.END
DEVNAME.GFX .AZ "/DEV/GFX" DEVNAME.GFX .AZ "/DEV/GFX"
FONTFILE .AZ "${ROOT}SBIN/GUI/SYSX7B" FONTFILE .AZ "${ROOT}SBIN/GUI/SYSX7B"
MESSAGE .AZ " DHGR & OSD Drivers Test " PIXFILE .AZ "${ROOT}ROOT/GUITEST/MARILYN"
MESSAGE .AZ " @@@ DHGR & OSD Drivers Test @@@ "
CB.RECT .DA #S.CB.CMD.FILLRECT CB.RECT .DA #S.CB.CMD.FILLRECT
.DA #S.CB.OP.SET .DA #S.CB.OP.SET
@ -131,6 +158,32 @@ CB.RECT .DA #S.CB.CMD.FILLRECT
.DA 540 .DA 540
.DA 182 .DA 182
CB.Apple .DA #S.CB.CMD.BITBLT
.DA #S.CB.OP.ORA+S.CB.OP.MASK+S.CB.OP.COLOR
.DA #S.CB.M.C16
.DA #0
.DA 0 X1
.DA 0 Y1
.DA 16 SrcW
.DA 7 SrcH
.DA 20 DstX
.DA 184 DstY
.BS 2 SrcPtr
.DA 0 DSTPTR
CB.PIX .DA #S.CB.CMD.BITBLT
.DA #S.CB.OP.SET+S.CB.OP.COLOR
.DA #S.CB.M.MONO
.DA #0
.DA 10 X1
.DA 20 Y1
.DA 120 SrcW
.DA 100 SrcH
.DA 60 DstX
.DA 50 DstY
.BS 2 SrcPtr
.DA 0 DSTPTR
CB.TEXT .DA #S.CB.CMD.DRAWTEXT CB.TEXT .DA #S.CB.CMD.DRAWTEXT
.DA #S.CB.OP.SET .DA #S.CB.OP.SET
.DA #S.CB.M.MONO .DA #S.CB.M.MONO
@ -140,37 +193,32 @@ CB.TEXT .DA #S.CB.CMD.DRAWTEXT
.DA 0 X2 .DA 0 X2
.DA 0 Y2 .DA 0 Y2
.DA 60 DstX .DA 60 DstX
.DA 60 DstY .DA 1 DstY
.BS 2 TXTPTR .BS 2 TXTPTR
.DA 0 DSTPTR .DA 0 DSTPTR
CB.Apple .DA #S.CB.CMD.BITBLT
.DA #S.CB.OP.SET+S.CB.OP.COLOR
.DA #S.CB.M.C16
.DA #0
.DA 0 X1
.DA 0 Y1
.DA 16 SrcW
.DA 7 SrcH
.DA 60 DstX
.DA 80 DstY
.BS 2 SrcPtr
.DA 0 DSTPTR
*-------------------------------------- *--------------------------------------
BM.Apple .DA #S.BM.F.BBP4 BM.Apple .DA #S.BM.F.BBP4
.DA #2 RowBytes .DA #2 RowBytes
.DA 16 W .DA 16 W
.DA 7 H .DA 7 H
.DA 0 no MASK.OFS .DA BM.Apple.AND-BM.Apple
.HS FFF6 green (8) .HS 0006 green (8)
.HS 6FF6 green (8) .HS 6006 green (8)
.HS EEEE yellow (15) .HS EEEE yellow (15)
.HS CCFC orange (14) .HS CC0C orange (14)
.HS 88F8 magenta (10) .HS 8808 magenta (10)
.HS 9999 violet (11) .HS 9999 violet (11)
.HS 1FF1 Dark blue (4) .HS 1001 Dark blue (4)
BM.Apple.AND .HS FFF0
.HS 0FF0
.HS 0000
.HS 00F0
.HS 00F0
.HS 0000
.HS 0FF0
*-------------------------------------- *--------------------------------------
.DUMMY .DUMMY
.OR 0 .OR 0

View File

@ -207,6 +207,7 @@ CS.RUN.SEND.ECHO
>PUSHWI ICMP.RequestLen >PUSHWI ICMP.RequestLen
>PUSHW L.ICMP.Request >PUSHW L.ICMP.Request
>LDA.G hSocket >LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.send >LIBCALL hLIBTCPIP,LIBTCPIP.send
bcs CS.RUN.ERR bcs CS.RUN.ERR
@ -228,6 +229,7 @@ CS.RUN.WAIT.REPLY
beq CS.RUN.ERR CS beq CS.RUN.ERR CS
.1 >LDA.G hSocket .1 >LDA.G hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.Recv >LIBCALL hLIBTCPIP,LIBTCPIP.Recv
bcc .2 bcc .2
jsr Wait.Timeout jsr Wait.Timeout

View File

@ -491,8 +491,13 @@ SKT.GetDataFromSktIn
.8 sty SKT.Cache+S.SOCKET.TCP.INTAIL .8 sty SKT.Cache+S.SOCKET.TCP.INTAIL
>ADC16 SKT.Cache+S.SOCKET.TCP.INFREE,ZPDataInLen * >ADC16 SKT.Cache+S.SOCKET.TCP.INFREE,ZPDataInLen
>SBC16 SKT.Cache+S.SOCKET.TCP.INUSED,ZPDataInLen ldx #S.SOCKET.TCP.INFREE
jsr SKT.AddDataInLenAtSktX
* >SBC16 SKT.Cache+S.SOCKET.TCP.INUSED,ZPDataInLen
ldx #S.SOCKET.TCP.INUSED
jsr SKT.SubDataInLenAtSktX
jsr SKT.StoreTCB jsr SKT.StoreTCB
@ -587,7 +592,9 @@ SKT.AddDataToSktIn
sty SKT.Cache+S.SOCKET.TCP.INHEAD sty SKT.Cache+S.SOCKET.TCP.INHEAD
>ADC16 SKT.Cache+S.SOCKET.TCP.INUSED,ZPDataInLen * >ADC16 SKT.Cache+S.SOCKET.TCP.INUSED,ZPDataInLen
ldx #S.SOCKET.TCP.INUSED
jsr SKT.AddDataInLenAtSktX
clc clc
rts rts
@ -695,15 +702,46 @@ SKT.AddDataToSktOut
sty SKT.Cache+S.SOCKET.TCP.OUTHEAD sty SKT.Cache+S.SOCKET.TCP.OUTHEAD
>SBC16 SKT.Cache+S.SOCKET.TCP.OUTFREE,ZPDataInLen * >SBC16 SKT.Cache+S.SOCKET.TCP.OUTFREE,ZPDataInLen
>ADC16 SKT.Cache+S.SOCKET.TCP.OUTUSED,ZPDataInLen ldx #S.SOCKET.TCP.OUTFREE
>ADC16 SKT.Cache+S.SOCKET.TCP.OUTTOSEND,ZPDataInLen jsr SKT.SubDataInLenAtSktX
* >ADC16 SKT.Cache+S.SOCKET.TCP.OUTUSED,ZPDataInLen
ldx #S.SOCKET.TCP.OUTUSED
jsr SKT.AddDataInLenAtSktX
* >ADC16 SKT.Cache+S.SOCKET.TCP.OUTTOSEND,ZPDataInLen
ldx #S.SOCKET.TCP.OUTTOSEND
jsr SKT.AddDataInLenAtSktX
jsr SKT.StoreTCB jsr SKT.StoreTCB
>LDYA ZPDataInLen >LDYA ZPDataInLen
clc clc
rts rts
*-------------------------------------- *--------------------------------------
SKT.AddDataInLenAtSktX
clc
lda SKT.Cache,x
adc ZPDataInLen
sta SKT.Cache,x
inx
lda SKT.Cache,x
adc ZPDataInLen+1
sta SKT.Cache,x
rts
*--------------------------------------
SKT.SubDataInLenAtSktX
sec
lda SKT.Cache,x
sbc ZPDataInLen
sta SKT.Cache,x
inx
lda SKT.Cache,x
sbc ZPDataInLen+1
sta SKT.Cache,x
rts
*--------------------------------------
* From TCP.OUT * From TCP.OUT
* Src : hOutMem/OUTTAIL * Src : hOutMem/OUTTAIL
* Dst : ZPDataOutPtr/ZPDataOutLen * Dst : ZPDataOutPtr/ZPDataOutLen
@ -1290,11 +1328,13 @@ SKT.StoreTCB ldy #S.SOCKET.TCP.INSEQNUM
rts rts
*-------------------------------------- *--------------------------------------
SKT.SetFrameOutDstIP SKT.SetFrameOutDstIP
ldy #S.SOCKET.REM.ADDR
ldx #3 ldx #3
ldy #S.SOCKET.REM.ADDR
lda (ZPPtrSKT),y
beq .3 Socket Bound to 0.0.0.0...
.1 lda (ZPPtrSKT),y .1 lda (ZPPtrSKT),y
beq .3
pha pha
iny iny
dex dex
@ -1311,7 +1351,7 @@ SKT.SetFrameOutDstIP
rts rts
.3 ldy #S.IP.DST+3 .3 ldy #S.IP.DST+3 ...sent to provided SentTo ADDR
.4 lda SKT.REM.ADDR+S.SOCKADDR.ADDR,x .4 lda SKT.REM.ADDR+S.SOCKADDR.ADDR,x
sta (ZPFrameOutPtr),y sta (ZPFrameOutPtr),y