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