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
hDevGFX .BS 1
hFont .BS 1
hFontB .BS 1
ZS.END
.ED
*--------------------------------------
@ -38,8 +39,10 @@ CS.START cld
.DA CS.QUIT
L.DEVNAME.GFX .DA DEVNAME.GFX
L.FONTFILE .DA FONTFILE
L.PIXFILE .DA PIXFILE
L.CB.RECT .DA CB.RECT
L.CB.TEXT .DA CB.TEXT
L.CB.PIX .DA CB.PIX
L.CB.Apple .DA CB.Apple
L.BM.Apple .DA BM.Apple
L.MESSAGE .DA MESSAGE
@ -50,38 +53,49 @@ CS.INIT clc
rts
*--------------------------------------
CS.RUN jsr GFX.Open
bcs .9
bcs .99
* >LDYA L.FONTFILE
* >SYSCALL LoadStkObj
* bcs .9
* stx hFont
>PUSHWZ Aux type
>PUSHBI $CC Type
>PUSHBI O.RDONLY
>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
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
>STYA CB.Apple+S.CB.SrcPtr
>LDYA L.CB.PIX
jsr GFX.Write.YA
>LDYA L.CB.Apple
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
sec
.9 rts
@ -94,12 +108,24 @@ CS.QUIT lda hFont
>SYSCALL FreeStkObj
.1 lda hDevGFX
beq .2
.1 lda hFontB
beq .1
>SYSCALL FreeStkObj
lda CB.PIX+S.CB.SrcPtr
beq .3
>SYSCALL FreeStkObj
.3
lda hDevGFX
beq .8
* >DEBUG
* >SYSCALL close
* >DEBUG
.2
.8
clc
rts
*--------------------------------------
@ -120,7 +146,8 @@ GFX.Write.YA >PUSHYA
CS.END
DEVNAME.GFX .AZ "/DEV/GFX"
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
.DA #S.CB.OP.SET
@ -131,6 +158,32 @@ CB.RECT .DA #S.CB.CMD.FILLRECT
.DA 540
.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
.DA #S.CB.OP.SET
.DA #S.CB.M.MONO
@ -140,37 +193,32 @@ CB.TEXT .DA #S.CB.CMD.DRAWTEXT
.DA 0 X2
.DA 0 Y2
.DA 60 DstX
.DA 60 DstY
.DA 1 DstY
.BS 2 TXTPTR
.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
.DA #2 RowBytes
.DA 16 W
.DA 7 H
.DA 0 no MASK.OFS
.DA BM.Apple.AND-BM.Apple
.HS FFF6 green (8)
.HS 6FF6 green (8)
.HS 0006 green (8)
.HS 6006 green (8)
.HS EEEE yellow (15)
.HS CCFC orange (14)
.HS 88F8 magenta (10)
.HS CC0C orange (14)
.HS 8808 magenta (10)
.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
.OR 0

View File

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

View File

@ -491,8 +491,13 @@ SKT.GetDataFromSktIn
.8 sty SKT.Cache+S.SOCKET.TCP.INTAIL
>ADC16 SKT.Cache+S.SOCKET.TCP.INFREE,ZPDataInLen
>SBC16 SKT.Cache+S.SOCKET.TCP.INUSED,ZPDataInLen
* >ADC16 SKT.Cache+S.SOCKET.TCP.INFREE,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
@ -587,7 +592,9 @@ SKT.AddDataToSktIn
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
rts
@ -695,15 +702,46 @@ SKT.AddDataToSktOut
sty SKT.Cache+S.SOCKET.TCP.OUTHEAD
>SBC16 SKT.Cache+S.SOCKET.TCP.OUTFREE,ZPDataInLen
>ADC16 SKT.Cache+S.SOCKET.TCP.OUTUSED,ZPDataInLen
>ADC16 SKT.Cache+S.SOCKET.TCP.OUTTOSEND,ZPDataInLen
* >SBC16 SKT.Cache+S.SOCKET.TCP.OUTFREE,ZPDataInLen
ldx #S.SOCKET.TCP.OUTFREE
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
>LDYA ZPDataInLen
clc
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
* Src : hOutMem/OUTTAIL
* Dst : ZPDataOutPtr/ZPDataOutLen
@ -1290,11 +1328,13 @@ SKT.StoreTCB ldy #S.SOCKET.TCP.INSEQNUM
rts
*--------------------------------------
SKT.SetFrameOutDstIP
ldy #S.SOCKET.REM.ADDR
ldx #3
ldy #S.SOCKET.REM.ADDR
lda (ZPPtrSKT),y
beq .3 Socket Bound to 0.0.0.0...
.1 lda (ZPPtrSKT),y
beq .3
pha
iny
dex
@ -1311,7 +1351,7 @@ SKT.SetFrameOutDstIP
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
sta (ZPFrameOutPtr),y