mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-12 22:30:57 +00:00
Kernel 0.94
This commit is contained in:
parent
987ae82bcd
commit
643d2b816c
Binary file not shown.
Binary file not shown.
@ -357,9 +357,9 @@ CB.RECT .DA #S.CB.CMD.FILLRECT
|
||||
.DA #S.CB.OP.SET
|
||||
.DA #S.CB.M.C16
|
||||
.DA #11 Color
|
||||
.DA 20
|
||||
.DA 28
|
||||
.DA 10
|
||||
.DA 540
|
||||
.DA 532
|
||||
.DA 182
|
||||
|
||||
CB.RECT2 .DA #S.CB.CMD.FILLRECT
|
||||
|
@ -472,23 +472,20 @@ CS.RUN.RESPONSE jsr Init.TimeOut
|
||||
cmp #E.NODATA
|
||||
bne .8
|
||||
|
||||
lda #"."
|
||||
>SYSCALL putchar
|
||||
|
||||
lda TimeOut
|
||||
bne .1
|
||||
|
||||
bra .80
|
||||
bit bResponse
|
||||
bmi .1
|
||||
|
||||
bra .8
|
||||
|
||||
.2 jsr CS.RUN.GETRESPONSE
|
||||
|
||||
lda #"!"
|
||||
>SYSCALL putchar
|
||||
|
||||
.3 bit bResponse
|
||||
bit bResponse
|
||||
bmi .6
|
||||
|
||||
.30 ldx #0
|
||||
.3 ldx #0
|
||||
|
||||
.4 dex
|
||||
|
||||
@ -512,7 +509,7 @@ CS.RUN.RESPONSE jsr Init.TimeOut
|
||||
|
||||
inx
|
||||
inx
|
||||
bne .30
|
||||
bne .3
|
||||
|
||||
sec
|
||||
ror bResponse
|
||||
@ -535,13 +532,10 @@ CS.RUN.RESPONSE jsr Init.TimeOut
|
||||
|
||||
jmp CS.RUN.RESPONSE
|
||||
|
||||
.8 cmp #MLI.E.IO SKT Close ?
|
||||
bne .9
|
||||
|
||||
.80 lda bResponse
|
||||
.8 bit bResponse
|
||||
bpl .99
|
||||
|
||||
.81 clc
|
||||
clc
|
||||
rts
|
||||
|
||||
.99 lda #MLI.E.IO
|
||||
@ -589,7 +583,7 @@ CS.DOEVENT lda (pEvent)
|
||||
CS.QUIT lda hSocket
|
||||
beq .1
|
||||
|
||||
* >LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Shutdown
|
||||
|
||||
.1 lda hReqBuf
|
||||
beq .2
|
||||
|
@ -113,6 +113,7 @@ CS.RUN >LDYA L.MSG0
|
||||
ldy SocketIndex
|
||||
cpy #K.SKTTABLE.SIZE
|
||||
bne .1
|
||||
|
||||
lda #0 tell TSKMGR that all done ok, but
|
||||
sec we do not want to stay in memory
|
||||
.9 rts
|
||||
|
@ -109,12 +109,10 @@ Dev.Detect >LDYA L.MSG.DETECT
|
||||
>STYA $800
|
||||
sta CLRWRITEAUX
|
||||
|
||||
sta SETHIRES
|
||||
sta SET80STORE
|
||||
|
||||
jsr ClrScr
|
||||
|
||||
jsr OSD.install
|
||||
|
||||
jsr ClrScr
|
||||
plp
|
||||
|
||||
.9 rts
|
||||
@ -239,6 +237,9 @@ OSD.install >LDYA L.OSD
|
||||
ClrScr lda #$55
|
||||
|
||||
ldx #0
|
||||
|
||||
sta SETHIRES
|
||||
sta SET80STORE
|
||||
|
||||
.1 ldy BASEL,x
|
||||
sty ZPPtr1
|
||||
|
@ -68,8 +68,7 @@ Dev.Detect >LDYA L.MSG.DETECT
|
||||
rts
|
||||
|
||||
.8 lda ZPSlotPtr+1
|
||||
sta GOMOUSE+2
|
||||
sta GOMOUSE.Cn+1
|
||||
sta GOMOUSE.LDX+2
|
||||
sta GOMOUSE.JMP+2
|
||||
and #$0F
|
||||
sta DEVSLOT0n
|
||||
@ -116,7 +115,7 @@ FD.DEV .DA #S.FD.T.CDEV
|
||||
.BS 2 DRVPTR
|
||||
.DA 0 DCBPTR
|
||||
.DA 0 BUFPTR
|
||||
FD.DEV.NAME .AZ "moux"
|
||||
FD.DEV.NAME .AZ "mou1"
|
||||
*--------------------------------------
|
||||
* Driver Code
|
||||
*--------------------------------------
|
||||
@ -185,11 +184,11 @@ CONTROL >STYA ZPBufPtr NON STANDARD
|
||||
jsr SETCLAMP
|
||||
|
||||
ldy #HOMEMOUSE
|
||||
bra EXIT
|
||||
bra EXIT1
|
||||
*--------------------------------------
|
||||
OPEN php
|
||||
sei
|
||||
|
||||
|
||||
lda #S.DIB.S.OPENED
|
||||
tsb DIB+S.DIB.S
|
||||
|
||||
@ -197,11 +196,14 @@ OPEN php
|
||||
lda MOUSEMODx,x keep if VBLInt already activated by kernel
|
||||
and #MOUSEMODx.INTVBL
|
||||
ora #MOUSEMODx.ACTIVE Enable, Polling mode
|
||||
ldy #SETMOUSE
|
||||
jsr GOMOUSE
|
||||
bra EXIT0
|
||||
|
||||
* jsr GOMOUSE
|
||||
|
||||
ldy #INITMOUSE Reset
|
||||
bra EXIT
|
||||
* ldy #INITMOUSE Already called by IRQManager
|
||||
* jsr GOMOUSE CLEAR $2000-3FFF AND MESS SETHIRES
|
||||
* plp
|
||||
* rts
|
||||
*--------------------------------------
|
||||
CLOSE php
|
||||
sei
|
||||
@ -212,9 +214,10 @@ CLOSE php
|
||||
ldx DEVSLOT0n
|
||||
lda MOUSEMODx,x keep if VBLInt already activated by kernel
|
||||
and #MOUSEMODx.INTVBL Disable ALL but VBLInt if previously active
|
||||
ldy #SETMOUSE
|
||||
|
||||
EXIT jsr GOMOUSE
|
||||
EXIT0 ldy #SETMOUSE
|
||||
|
||||
EXIT1 jsr GOMOUSE
|
||||
|
||||
plp
|
||||
clc
|
||||
@ -226,8 +229,7 @@ READ >STYA ZPBufPtr NON STANDARD
|
||||
|
||||
php
|
||||
sei
|
||||
|
||||
* sta SET80STORE
|
||||
|
||||
sta CLRPAGE2
|
||||
|
||||
* ldy #READMOUSE DONE BY IRQ MANAGER
|
||||
@ -344,11 +346,12 @@ SETCLAMP lda (ZPBufPtr),y
|
||||
txa
|
||||
ldy #CLAMPMOUSE
|
||||
*--------------------------------------
|
||||
GOMOUSE ldx $FF00,y SELF MODIFIED
|
||||
GOMOUSE
|
||||
GOMOUSE.LDX ldx $C100,y SELF MODIFIED
|
||||
stx GOMOUSE.JMP+1
|
||||
GOMOUSE.Cn ldx #$ff SELF MODIFIED
|
||||
GOMOUSE.n0 ldy #$ff SELF MODIFIED
|
||||
GOMOUSE.JMP jmp $FFFF SELF MODIFIED
|
||||
ldx GOMOUSE.JMP+2
|
||||
GOMOUSE.n0 ldy #$10 SELF MODIFIED
|
||||
GOMOUSE.JMP jmp $C100 SELF MODIFIED
|
||||
*--------------------------------------
|
||||
DRV.CS.END
|
||||
DEVSLOT0n .BS 1
|
||||
|
@ -2,7 +2,7 @@ NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
* CLIPPING Functions:
|
||||
* In:
|
||||
* In:
|
||||
* Graphic Context in OBJ.Cache
|
||||
* YA = Control Block
|
||||
* Out:
|
||||
@ -31,7 +31,7 @@ CLIP.HLine
|
||||
CLIP.VLine
|
||||
clc
|
||||
rts
|
||||
|
||||
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -58,9 +58,12 @@ CLIP.Rect jsr CB.Cache.Overlap
|
||||
*--------------------------------------
|
||||
CLIP.Text
|
||||
clc
|
||||
rts
|
||||
|
||||
CLIP.Text.9 sec
|
||||
CLIP.Text.RTS rts
|
||||
*--------------------------------------
|
||||
* BitBlt :
|
||||
* BitBlt :
|
||||
*--------------------------------------
|
||||
CLIP.BitBlt jsr CB.Cache.SetX2Y2 set X2=X1+W-1 Y2=X1+H-1
|
||||
|
||||
@ -71,18 +74,18 @@ CLIP.BitBlt jsr CB.Cache.SetX2Y2 set X2=X1+W-1 Y2=X1+H-1
|
||||
sec
|
||||
sbc CB.Cache+S.CB.X1
|
||||
sta DX
|
||||
|
||||
|
||||
lda OBJ.Cache+S.OBJ.X1+1
|
||||
sbc CB.Cache+S.CB.X1+1
|
||||
sta DX+1
|
||||
bvc .1
|
||||
eor #$80
|
||||
.1 bmi .2
|
||||
>DEBUG
|
||||
lda S.CB.X1
|
||||
|
||||
lda CB.Cache+S.CB.X1
|
||||
clc
|
||||
adc DX
|
||||
sta S.CB.X1
|
||||
sta CB.Cache+S.CB.X1
|
||||
|
||||
lda CB.Cache+S.CB.X1+1
|
||||
adc DX+1
|
||||
@ -96,7 +99,7 @@ CLIP.BitBlt jsr CB.Cache.SetX2Y2 set X2=X1+W-1 Y2=X1+H-1
|
||||
lda CB.Cache+S.CB.SrcX+1
|
||||
adc DX+1
|
||||
sta CB.Cache+S.CB.SrcX+1
|
||||
|
||||
|
||||
lda CB.Cache+S.CB.SrcW
|
||||
sec
|
||||
sbc DX
|
||||
@ -105,21 +108,20 @@ CLIP.BitBlt jsr CB.Cache.SetX2Y2 set X2=X1+W-1 Y2=X1+H-1
|
||||
lda CB.Cache+S.CB.SrcW+1
|
||||
sbc DX+1
|
||||
sta CB.Cache+S.CB.SrcW+1
|
||||
bcc .9
|
||||
bcc CLIP.Text.9
|
||||
|
||||
.2 lda CB.Cache+S.CB.X2
|
||||
sec
|
||||
sbc OBJ.Cache+S.OBJ.X2
|
||||
sta DX
|
||||
|
||||
|
||||
lda CB.Cache+S.CB.X2+1
|
||||
sbc OBJ.Cache+S.OBJ.X2+1
|
||||
sta DX+1
|
||||
bvc .3
|
||||
eor #$80
|
||||
.3 bmi .4
|
||||
>DEBUG
|
||||
|
||||
|
||||
lda CB.Cache+S.CB.SrcW
|
||||
sec
|
||||
sbc DX
|
||||
@ -128,14 +130,73 @@ CLIP.BitBlt jsr CB.Cache.SetX2Y2 set X2=X1+W-1 Y2=X1+H-1
|
||||
lda CB.Cache+S.CB.SrcW+1
|
||||
sbc DX+1
|
||||
sta CB.Cache+S.CB.SrcW+1
|
||||
bcc .9
|
||||
bcc .9
|
||||
|
||||
.4 lda OBJ.Cache+S.OBJ.Y1
|
||||
sec
|
||||
sbc CB.Cache+S.CB.Y1
|
||||
sta DX
|
||||
|
||||
lda OBJ.Cache+S.OBJ.Y1+1
|
||||
sbc CB.Cache+S.CB.Y1+1
|
||||
sta DX+1
|
||||
bvc .5
|
||||
eor #$80
|
||||
.5 bmi .6
|
||||
|
||||
|
||||
.4 clc
|
||||
lda CB.Cache+S.CB.Y1
|
||||
clc
|
||||
adc DX
|
||||
sta CB.Cache+S.CB.Y1
|
||||
|
||||
lda CB.Cache+S.CB.Y1+1
|
||||
adc DX+1
|
||||
sta CB.Cache+S.CB.Y1+1
|
||||
|
||||
lda CB.Cache+S.CB.SrcY
|
||||
clc
|
||||
adc DX
|
||||
sta CB.Cache+S.CB.SrcY
|
||||
|
||||
lda CB.Cache+S.CB.SrcY+1
|
||||
adc DX+1
|
||||
sta CB.Cache+S.CB.SrcY+1
|
||||
|
||||
lda CB.Cache+S.CB.SrcH
|
||||
sec
|
||||
sbc DX
|
||||
sta CB.Cache+S.CB.SrcH
|
||||
|
||||
lda CB.Cache+S.CB.SrcH+1
|
||||
sbc DX+1
|
||||
sta CB.Cache+S.CB.SrcH+1
|
||||
bcc .9
|
||||
|
||||
.6 lda CB.Cache+S.CB.Y2
|
||||
sec
|
||||
sbc OBJ.Cache+S.OBJ.Y2
|
||||
sta DX
|
||||
|
||||
lda CB.Cache+S.CB.Y2+1
|
||||
sbc OBJ.Cache+S.OBJ.Y2+1
|
||||
sta DX+1
|
||||
bvc .7
|
||||
eor #$80
|
||||
.7 bmi .8
|
||||
|
||||
lda CB.Cache+S.CB.SrcH
|
||||
sec
|
||||
sbc DX
|
||||
sta CB.Cache+S.CB.SrcH
|
||||
|
||||
lda CB.Cache+S.CB.SrcH+1
|
||||
sbc DX+1
|
||||
sta CB.Cache+S.CB.SrcH+1
|
||||
bcc .9
|
||||
|
||||
.8 clc
|
||||
.99 rts
|
||||
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -156,17 +217,17 @@ CLIP.Line jsr CLIP.Line.EncodeP1
|
||||
beq .5
|
||||
bit #CLIP.Line.TOP
|
||||
beq .2
|
||||
* Y1 is above S.CB.Y1....
|
||||
* Y1 is above S.CB.Y1....
|
||||
* DY=Y2-Y1;
|
||||
jsr CLIP.Line.EncodeP1
|
||||
bra .1
|
||||
.2 bit #CLIP.Line.BOTTOM
|
||||
beq .3
|
||||
beq .3
|
||||
* Y1 is below S.CB.Y2....
|
||||
jsr CLIP.Line.EncodeP1
|
||||
bra .1
|
||||
.3 bit #CLIP.Line.RIGHT
|
||||
beq .4
|
||||
beq .4
|
||||
* X1 is after S.CB.X2....
|
||||
jsr CLIP.Line.EncodeP1
|
||||
bra .1
|
||||
@ -183,12 +244,12 @@ CLIP.Line jsr CLIP.Line.EncodeP1
|
||||
jsr CLIP.Line.EncodeP2
|
||||
bra .1
|
||||
.6 bit #CLIP.Line.BOTTOM
|
||||
beq .7
|
||||
beq .7
|
||||
* Y2 is below S.CB.Y2....
|
||||
jsr CLIP.Line.EncodeP2
|
||||
bra .1
|
||||
.7 bit #CLIP.Line.RIGHT
|
||||
beq .8
|
||||
beq .8
|
||||
* X2 is after S.CB.X2....
|
||||
jsr CLIP.Line.EncodeP2
|
||||
bra .1
|
||||
@ -241,9 +302,9 @@ CLIP.Line.EncodeX.AX
|
||||
bpl .8
|
||||
tya
|
||||
ora #CLIP.Line.RIGHT
|
||||
.8 rts
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CLIP.Line.EncodeY.AX
|
||||
CLIP.Line.EncodeY.AX
|
||||
pha
|
||||
>SCMPAX OBJ.Cache+S.OBJ.Y1
|
||||
bmi .1
|
||||
@ -271,13 +332,13 @@ CB.Cache.SetX2Y2
|
||||
bne .2
|
||||
|
||||
dex
|
||||
|
||||
.2 dec
|
||||
|
||||
.2 dec
|
||||
sta CB.Cache+S.CB.X2
|
||||
stx CB.Cache+S.CB.X2+1
|
||||
|
||||
|
||||
lda CB.Cache+S.CB.SrcH
|
||||
|
||||
|
||||
clc
|
||||
adc CB.Cache+S.CB.Y1
|
||||
pha
|
||||
@ -289,8 +350,8 @@ CB.Cache.SetX2Y2
|
||||
bne .3
|
||||
|
||||
dex
|
||||
|
||||
.3 dec
|
||||
|
||||
.3 dec
|
||||
sta CB.Cache+S.CB.Y2
|
||||
stx CB.Cache+S.CB.Y2+1
|
||||
rts
|
||||
@ -311,10 +372,10 @@ CB.Cache.Overlap
|
||||
>LDYA CB.Cache+S.CB.Y2
|
||||
>SCMPYA OBJ.Cache+S.OBJ.Y1
|
||||
bmi .9
|
||||
|
||||
|
||||
clc
|
||||
rts
|
||||
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -6,13 +6,16 @@ MOU.Init
|
||||
>LDYA L.DEVNAME.MOUSE
|
||||
>SYSCALL2 open
|
||||
bcc .2
|
||||
|
||||
inc DEVNAME.MOUSE+8
|
||||
lda DEVNAME.MOUSE+8
|
||||
cmp #'8'
|
||||
bne .1
|
||||
|
||||
rts
|
||||
|
||||
.2 sta hDevMouse
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -47,15 +47,14 @@ WND.Setup >LDYA DCB.GFX+S.DCB.GFX.W
|
||||
jsr OBJ.SetX2Y2
|
||||
|
||||
>LDYA L.WND.SysBar
|
||||
jsr OBJ.SetX2Y2
|
||||
>STYA SCR.Childs+2
|
||||
jsr OBJ.SetX2Y2
|
||||
|
||||
>LDYA L.WND.Desktop
|
||||
lda #CUR.T.ARROW
|
||||
sta WND.Desktop+S.WND.hCUR
|
||||
sta WND.SysBar+S.WND.hCUR
|
||||
|
||||
sta $C057
|
||||
* sta $C057
|
||||
rts
|
||||
*--------------------------------------
|
||||
WND.Quit lda SCR+S.SCREEN.hDEV
|
||||
|
@ -72,12 +72,25 @@ WND.MAX .EQ 64
|
||||
:1 .EQ *
|
||||
.EM
|
||||
*--------------------------------------
|
||||
ZPPtr1 .EQ ZPLIB
|
||||
.DUMMY
|
||||
.OR ZPLIB
|
||||
ZPPtr1 .BS 2
|
||||
ZPObjPtr .BS 2
|
||||
ZPCBPtr .BS 2
|
||||
ZPWNDPtr .BS 2
|
||||
|
||||
ZPObjPtr .EQ ZPLIB+4
|
||||
ZPCBPtr .EQ ZPLIB+6
|
||||
ZPWNDPtr .EQ ZPLIB+8
|
||||
DX .BS 2
|
||||
DY .BS 2
|
||||
IY .BS 1
|
||||
|
||||
IE .BS 2
|
||||
D .BS 2
|
||||
INE .BS 2
|
||||
Counter .BS 2
|
||||
|
||||
CLIP.Line.P1 .BS 1
|
||||
CLIP.Line.P2 .BS 1
|
||||
.ED
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
*--------------------------------------
|
||||
@ -288,22 +301,12 @@ CS.END
|
||||
DEVNAME.GFX .AZ "/dev/gfx"
|
||||
DEVNAME.MOUSE .AZ "/dev/mou1"
|
||||
*--------------------------------------
|
||||
SYSX7 .AZ "/A2OSX.BUILD/sbin/sysx7"
|
||||
SYSX7B .AZ "/A2OSX.BUILD/sbin/sysx7b"
|
||||
SYSX7 .AZ "${ROOT}sbin/sysx7"
|
||||
SYSX7B .AZ "${ROOT}sbin/sysx7b"
|
||||
*--------------------------------------
|
||||
LibCount .BS 1
|
||||
hDevMouse .BS 1
|
||||
*--------------------------------------
|
||||
DX .BS 2
|
||||
DY .BS 2
|
||||
IY .BS 1
|
||||
IE .BS 2
|
||||
D .BS 2
|
||||
INE .BS 2
|
||||
Counter .BS 2
|
||||
CLIP.Line.P1 .BS 1
|
||||
CLIP.Line.P2 .BS 1
|
||||
*--------------------------------------
|
||||
CB.CmdLen .DA #S.CB.Y1+1 SETPIXEL
|
||||
.DA #S.CB.Y1+1 GETPIXEL
|
||||
.DA #S.CB.X2+1 HLINE
|
||||
|
@ -42,7 +42,7 @@ CFG.SET >PULLW ZPTmpPtr1 IPCFG
|
||||
|
||||
ldx #IOCTL.STATUS
|
||||
jsr CFG.SET.IOCTL
|
||||
bcs .99
|
||||
bcs .9
|
||||
|
||||
ldx #11 IP/MASK/GW
|
||||
|
||||
@ -58,37 +58,15 @@ CFG.SET >PULLW ZPTmpPtr1 IPCFG
|
||||
jsr CFG.SET.IOCTL
|
||||
bcs .9
|
||||
|
||||
.5 lda hDNSSocket
|
||||
beq .6
|
||||
|
||||
jsr SKT.Shutdown
|
||||
stz hDNSSocket
|
||||
|
||||
.6 lda IPCFG+S.IPCFG.IP no IP address yes...so no DNS socket
|
||||
.5 lda IPCFG+S.IPCFG.IP no IP address yes...so no DNS socket
|
||||
beq .8
|
||||
|
||||
lda IPCFG+S.IPCFG.DNS1
|
||||
beq .8
|
||||
|
||||
>PUSHBI 0 no protocol
|
||||
lda #S.SOCKET.T.DGRAM
|
||||
jsr SKT.Socket
|
||||
.99 bcs .9
|
||||
|
||||
sta hDNSSocket
|
||||
stz SA.LOCAL+S.SOCKADDR.PORT
|
||||
stz SA.LOCAL+S.SOCKADDR.PORT+1
|
||||
|
||||
>PUSHW L.SA.LOCAL
|
||||
lda hDNSSocket
|
||||
jsr SKT.Bind
|
||||
bcs .9
|
||||
|
||||
>LDYAI UDP.PORT.DNS
|
||||
>STYA SA.REMOTE+S.SOCKADDR.PORT
|
||||
>PUSHW L.SA.REMOTE
|
||||
lda hDNSSocket
|
||||
jmp SKT.Connect
|
||||
jmp SKT.Bind
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
|
@ -39,6 +39,7 @@ DNS.Query.I jsr DNS.FIND.BY.NAME
|
||||
adc #S.DNSCACHE.IP
|
||||
sta ZPCachePtr
|
||||
bcc .1
|
||||
|
||||
inc ZPCachePtr+1
|
||||
|
||||
.1 ldy #3
|
||||
@ -115,10 +116,12 @@ DNS.REQUEST.SEND
|
||||
|
||||
jsr .4
|
||||
|
||||
lda IPCFG+S.IPCFG.DNS2
|
||||
beq .8
|
||||
|
||||
ldy #3
|
||||
|
||||
.2 lda IPCFG+S.IPCFG.DNS2,y
|
||||
beq .8
|
||||
sta SA.REMOTE+S.SOCKADDR.ADDR,y
|
||||
dey
|
||||
bpl .2
|
||||
@ -143,10 +146,12 @@ DNS.CSTR2DNS lda (ZPPtrDNS)
|
||||
|
||||
cpy #K.DNS.MAXLEN-1
|
||||
bcs .9
|
||||
|
||||
lda #0 Ending 0
|
||||
sta DNS.MSG.NAME+1,y
|
||||
|
||||
phy save len for later
|
||||
|
||||
ldx #0
|
||||
dey
|
||||
|
||||
@ -194,6 +199,7 @@ DNS.Add >PULLW ZPPtrDNS Get host string
|
||||
>PULLW ZPPtrIP Get host IP address
|
||||
|
||||
ldy #3
|
||||
|
||||
.1 lda (ZPPtrIP),y
|
||||
sta DNS.TmpCache+S.DNSCACHE.IP,y
|
||||
dey
|
||||
@ -250,6 +256,7 @@ DNS.FIND.BY.NAME
|
||||
jsr DNS.GetCAche
|
||||
|
||||
ldx #K.DNSCACHE.SIZE
|
||||
|
||||
.1 lda (ZPCachePtr)
|
||||
beq .6 empty DNS cache entry?
|
||||
|
||||
@ -274,6 +281,7 @@ DNS.UPDATE.BY.ID
|
||||
jsr DNS.GetCAche
|
||||
|
||||
ldx #K.DNSCACHE.SIZE
|
||||
|
||||
.1 lda (ZPCachePtr)
|
||||
beq .6 empty DNS cache entry?
|
||||
bmi .6 resolved ?
|
||||
@ -304,6 +312,7 @@ DNS.UPDATE.BY.ID
|
||||
|
||||
dex
|
||||
bne .1
|
||||
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
@ -330,16 +339,21 @@ DNS.FIND.FREE jsr DNS.GetCAche
|
||||
iny
|
||||
dex
|
||||
bpl .2
|
||||
|
||||
bcc .6 no,
|
||||
|
||||
ldy #S.DNSCACHE.TTL
|
||||
ldx #3
|
||||
|
||||
.3 lda (ZPCachePtr),y Save new lowest TTL
|
||||
sta TmpDWord,x
|
||||
iny
|
||||
dex
|
||||
bpl .3
|
||||
|
||||
>LDYA ZPCachePtr
|
||||
>STYA ZPTmpPtr1 save lowest TTL slot ...
|
||||
|
||||
.6 plx
|
||||
|
||||
.7 jsr DNS.NextCache
|
||||
@ -391,7 +405,9 @@ DNS.EXPIRE jsr DNS.GetCAche
|
||||
DNS.FREE ldy #S.DNSCACHE.hNAME
|
||||
lda (ZPCachePtr),y
|
||||
beq .1
|
||||
|
||||
>SYSCALL2 FreeMem
|
||||
|
||||
.1 lda #0
|
||||
sta (ZPCachePtr)
|
||||
DNS.FREE.RTS rts
|
||||
@ -420,6 +436,7 @@ DNS.POLL lda hDNSSocket
|
||||
ldy #S.DNS.ANCOUNT+1
|
||||
lda (ZPFrameInPtr),y
|
||||
beq .9
|
||||
|
||||
pha save Answer count...
|
||||
ldy #S.DNS.QDCOUNT+1
|
||||
lda (ZPFrameInPtr),y
|
||||
@ -428,17 +445,21 @@ DNS.POLL lda hDNSSocket
|
||||
|
||||
tax
|
||||
beq .3 no QUERY to skip
|
||||
|
||||
.1 lda (ZPFrameInPtr),y
|
||||
beq .2
|
||||
bpl .11 Pointer ?
|
||||
|
||||
iny yes, skip 2 bytes
|
||||
iny
|
||||
bra .2
|
||||
|
||||
.11 tya
|
||||
sec
|
||||
adc (ZPFrameInPtr),y Skip LEN+1 bytes
|
||||
tay
|
||||
bra .1
|
||||
|
||||
.2 iny
|
||||
iny
|
||||
iny Skip QTYPE & QCLASS
|
||||
@ -446,7 +467,9 @@ DNS.POLL lda hDNSSocket
|
||||
iny next pos
|
||||
.21 dex skip another QUERY ?
|
||||
bne .1
|
||||
|
||||
plx get back answer count
|
||||
|
||||
.3 lda (ZPFrameInPtr),y
|
||||
beq .32
|
||||
bpl .31 Pointer ?
|
||||
@ -459,6 +482,7 @@ DNS.POLL lda hDNSSocket
|
||||
adc (ZPFrameInPtr),y Skip LEN+1 bytes
|
||||
tay
|
||||
bra .3
|
||||
|
||||
.32 iny skip S.DNS.QTYPE HIGH
|
||||
lda (ZPFrameInPtr),y
|
||||
cmp #S.DNS.QTYPE.A
|
||||
@ -473,10 +497,13 @@ DNS.POLL lda hDNSSocket
|
||||
dex
|
||||
bne .3
|
||||
bra .9
|
||||
|
||||
.40 iny skip QCLASS
|
||||
iny
|
||||
iny next pos
|
||||
|
||||
ldx #3
|
||||
|
||||
.4 lda (ZPFrameInPtr),y
|
||||
sta DNS.TmpCache+S.DNSCACHE.TTL,x
|
||||
iny
|
||||
@ -486,12 +513,14 @@ DNS.POLL lda hDNSSocket
|
||||
iny skip DATALEN
|
||||
iny
|
||||
ldx #0
|
||||
|
||||
.5 lda (ZPFrameInPtr),y
|
||||
sta DNS.TmpCache+S.DNSCACHE.IP,x
|
||||
iny
|
||||
inx
|
||||
cpx #4
|
||||
bne .5
|
||||
|
||||
jsr DNS.UPDATE.BY.ID
|
||||
|
||||
.9 jmp FRM.DiscardIn
|
||||
|
@ -192,7 +192,7 @@ TCP.IN.JMP.ESTBLSH
|
||||
|
||||
.5 lda (ZPFrameInPtr),y
|
||||
eor SKT.Cache+S.SOCKET.TCP.INSEQNUM,x
|
||||
bne .9 Missed a frame.....
|
||||
bne .90 Missed a frame.....
|
||||
|
||||
dey
|
||||
dex
|
||||
@ -210,7 +210,7 @@ TCP.IN.JMP.ESTBLSH
|
||||
|
||||
.52 lda hFrameIn
|
||||
jsr SKT.AddToQueueA
|
||||
bcs .9
|
||||
bcs .99
|
||||
|
||||
stz hFrameIn DON'T DISCARD
|
||||
|
||||
@ -244,9 +244,12 @@ TCP.IN.JMP.ESTBLSH
|
||||
|
||||
.80 clc
|
||||
rts
|
||||
|
||||
|
||||
.90 lda #S.TCP.OPTIONS.ACK
|
||||
jsr TCP.OUT.SendOptA
|
||||
|
||||
.9 sec
|
||||
rts
|
||||
.99 rts
|
||||
*--------------------------------------
|
||||
TCP.IN.JMP.LASTACK
|
||||
ldy #S.TCP.OPTIONS only accept ACK packet
|
||||
|
@ -167,7 +167,23 @@ LIB.LOAD ldx RefCount
|
||||
|
||||
jsr ARP.Clear.I
|
||||
|
||||
>PUSHBI 0 no protocol
|
||||
lda #S.SOCKET.T.DGRAM
|
||||
jsr SKT.Socket
|
||||
bcs .9
|
||||
|
||||
sta hDNSSocket
|
||||
pha
|
||||
|
||||
>LDYAI UDP.PORT.DNS
|
||||
>STYA SA.REMOTE+S.SOCKADDR.PORT
|
||||
>PUSHW L.SA.REMOTE
|
||||
pla
|
||||
jsr SKT.Connect
|
||||
bcs .9
|
||||
|
||||
jsr DNS.CLEAR
|
||||
|
||||
.8 inc RefCount
|
||||
|
||||
clc
|
||||
@ -176,7 +192,11 @@ LIB.LOAD ldx RefCount
|
||||
LIB.UNLOAD dec RefCount
|
||||
bne .8
|
||||
|
||||
lda hARPCache
|
||||
lda hDNSSocket
|
||||
beq .1
|
||||
jsr SKT.Shutdown
|
||||
|
||||
.1 lda hARPCache
|
||||
beq .8
|
||||
|
||||
>SYSCALL2 freemem
|
||||
|
@ -54,7 +54,7 @@ CS.INIT >LDYA L.LIBGUI
|
||||
* clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.RUN jsr Destop.Paint
|
||||
CS.RUN
|
||||
|
||||
CS.RUN.LOOP >SLEEP
|
||||
|
||||
|
@ -272,6 +272,10 @@ PS.CreateChild ldx #0
|
||||
ldy #S.PS.hENV
|
||||
sta (PS.NewPSPtr),y
|
||||
|
||||
sta SETWRITEAUX
|
||||
jsr Mem.SetOwner Set Ownership
|
||||
sta CLRWRITEAUX
|
||||
|
||||
ldy #S.PS.hStdIn
|
||||
|
||||
.7 lda (ZPPtr1),y
|
||||
|
Loading…
x
Reference in New Issue
Block a user