mirror of
https://github.com/A2osX/A2osX.git
synced 2025-02-13 13:30:36 +00:00
Kernel 0.94
This commit is contained in:
parent
efab21a425
commit
9dc0c1c279
Binary file not shown.
Binary file not shown.
@ -137,13 +137,13 @@ CS.RUN.LookupName
|
||||
jsr CS.RUN.GOATLK
|
||||
.99 bcs .9
|
||||
|
||||
>LDA.G P.LookupName+$17
|
||||
beq .8
|
||||
|
||||
>LDYA L.MSG.DUMP0
|
||||
>SYSCALL PutS
|
||||
bcs .9
|
||||
|
||||
>LDA.G P.LookupName+$17
|
||||
beq .8
|
||||
|
||||
.1 >PUSHW L.MSG.DUMP
|
||||
|
||||
ldy #0
|
||||
|
@ -27,7 +27,7 @@ hSocket .BS 1
|
||||
hReqBuf .BS 1
|
||||
ZPReqBufPtr .BS 2
|
||||
ZPReqBufLen .BS 2
|
||||
bResponse .BS 1
|
||||
bHeader .BS 1
|
||||
TimeOut .BS 1
|
||||
bURI .BS 1
|
||||
|
||||
@ -75,6 +75,8 @@ L.MSG.SKTKO .DA MSG.SKTKO
|
||||
L.MSG.CONNECTED .DA MSG.CONNECTED
|
||||
L.MSG.SKTERR .DA MSG.SKTERR
|
||||
L.MSG.IOERR .DA MSG.IOERR
|
||||
L.MSG.FileLength .DA MSG.FileLength
|
||||
L.MSG.Progress .DA MSG.Progress
|
||||
L.HTTP.GET .DA HTTP.GET
|
||||
.DA 0
|
||||
*--------------------------------------
|
||||
@ -470,49 +472,25 @@ CS.RUN.RESPONSE jsr Init.TimeOut
|
||||
bcc .2
|
||||
|
||||
cmp #E.NODATA
|
||||
bne .8
|
||||
bne .80
|
||||
|
||||
lda TimeOut
|
||||
bne .1
|
||||
|
||||
bit bResponse
|
||||
bit bHeader
|
||||
bmi .1
|
||||
|
||||
bra .8
|
||||
.80 jmp .8
|
||||
|
||||
.2 jsr CS.RUN.GETRESPONSE
|
||||
|
||||
bit bResponse
|
||||
bit bHeader
|
||||
bmi .6
|
||||
|
||||
.3 ldx #0
|
||||
|
||||
.4 dex
|
||||
|
||||
lda (ZPRespBufPtr)
|
||||
inc ZPRespBufPtr
|
||||
bne .5
|
||||
|
||||
inc ZPRespBufPtr+1
|
||||
|
||||
.5 cmp #C.LF
|
||||
bne .4
|
||||
|
||||
txa
|
||||
* sec
|
||||
adc ZPRespBufLen
|
||||
sta ZPRespBufLen
|
||||
|
||||
lda ZPRespBufLen+1
|
||||
adc #$ff
|
||||
sta ZPRespBufLen+1
|
||||
|
||||
inx
|
||||
inx
|
||||
bne .3
|
||||
jsr CS.RUN.GETHEADER
|
||||
|
||||
sec
|
||||
ror bResponse
|
||||
ror bHeader
|
||||
|
||||
.6 >PUSHW ZPRespBufLen
|
||||
>PUSHW ZPRespBufPtr
|
||||
@ -530,9 +508,32 @@ CS.RUN.RESPONSE jsr Init.TimeOut
|
||||
stz hRespBuf
|
||||
>SYSCALL FreeMem
|
||||
|
||||
lda ZPRespBufLen
|
||||
clc
|
||||
adc Received
|
||||
sta Received
|
||||
|
||||
lda ZPRespBufLen+1
|
||||
adc Received+1
|
||||
sta Received+1
|
||||
|
||||
bcc .70
|
||||
|
||||
inc Received+2
|
||||
bne .70
|
||||
|
||||
inc Received+3
|
||||
|
||||
.70 >PUSHW L.MSG.Progress
|
||||
>PUSHL Received
|
||||
>PUSHL Length
|
||||
>PUSHBI 8
|
||||
|
||||
>SYSCALL PrintF
|
||||
|
||||
jmp CS.RUN.RESPONSE
|
||||
|
||||
.8 bit bResponse
|
||||
.8 bit bHeader
|
||||
bpl .99
|
||||
|
||||
clc
|
||||
@ -569,6 +570,76 @@ CS.RUN.GETRESPONSE
|
||||
|
||||
.8 rts
|
||||
*--------------------------------------
|
||||
CS.RUN.GETHEADER
|
||||
.1 ldy #$ff
|
||||
|
||||
.2 iny
|
||||
|
||||
lda (ZPRespBufPtr),y
|
||||
eor #C.CR
|
||||
bne .2
|
||||
|
||||
sta (ZPRespBufPtr),y
|
||||
|
||||
iny skip CR
|
||||
iny skip LF
|
||||
|
||||
sty ArgIndex
|
||||
|
||||
>LDYA ZPRespBufPtr
|
||||
>STYA ZPPtr
|
||||
|
||||
lda ZPRespBufLen
|
||||
sec
|
||||
sbc ArgIndex
|
||||
sta ZPRespBufLen
|
||||
bcs .3
|
||||
|
||||
dec ZPRespBufLen+1
|
||||
|
||||
.3 lda ArgIndex
|
||||
tay
|
||||
clc
|
||||
adc ZPRespBufPtr
|
||||
sta ZPRespBufPtr
|
||||
bcc .4
|
||||
|
||||
inc ZPRespBufPtr+1
|
||||
|
||||
.4 dey
|
||||
dey
|
||||
beq .8
|
||||
|
||||
ldy #$ff
|
||||
|
||||
.5 iny
|
||||
lda (ZPPtr),y
|
||||
cmp HEAD.ContentLength,y
|
||||
bne .1
|
||||
|
||||
cmp #C.SPACE
|
||||
bne .5
|
||||
|
||||
tya
|
||||
sec skip SPACE
|
||||
adc ZPPtr
|
||||
tay
|
||||
lda ZPPtr+1
|
||||
adc #0
|
||||
|
||||
>SYSCALL AToL
|
||||
>PULLL Length
|
||||
|
||||
>PUSHW L.MSG.FileLength
|
||||
>PUSHL Length
|
||||
>PUSHBI 4
|
||||
>SYSCALL PrintF
|
||||
jmp .1
|
||||
|
||||
.8 clc
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
CS.DOEVENT lda (pEvent)
|
||||
bpl .9 is it a TIMER event?
|
||||
|
||||
@ -630,6 +701,8 @@ MSG.SKTKO .AZ "Failed to Open Socket."
|
||||
MSG.CONNECTED .AZ "Connected."
|
||||
MSG.SKTERR .AZ "Socket Error : $%h\r\n"
|
||||
MSG.IOERR .AZ "I/O Error : $%h\r\n"
|
||||
MSG.FileLength .AZ "File Length : %u Bytes\r\n"
|
||||
MSG.Progress .AZ "Received %u/%u\r\n"
|
||||
*--------------------------------------
|
||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
@ -645,6 +718,8 @@ URI.ToEncode .DA #C.LF,#C.CR,#C.SPACE,#'"'
|
||||
.AS "%-.\^_`{|}~"
|
||||
URI.ToEncode.Cnt .EQ *-URI.ToEncode
|
||||
*--------------------------------------
|
||||
HEAD.ContentLength .AZ "Content-Length: "
|
||||
*--------------------------------------
|
||||
HTTP.GET .AS "GET /%s HTTP/1.1"
|
||||
.DA #C.CR,#C.LF
|
||||
.AS "User-Agent: A2osX.HTTPGET"
|
||||
@ -655,10 +730,13 @@ HTTP.GET .AS "GET /%s HTTP/1.1"
|
||||
.DA #C.CR,#C.LF
|
||||
.DA #C.CR,#C.LF
|
||||
.DA #0
|
||||
*--------------------------------------
|
||||
Received .BS 4
|
||||
Length .BS 4
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
DS.START
|
||||
DS.END .ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
|
@ -1,7 +1,8 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
IO.D2.SeekTime .EQ 85
|
||||
IO.D2.SeekTimeF .EQ 90 Track Formatter
|
||||
IO.D2.SeekTimeB .EQ 60 Boot Block
|
||||
*--------------------------------------
|
||||
IO.D2.Ph0Off .EQ $C080
|
||||
IO.D2.Ph0On .EQ $C081
|
||||
|
@ -50,13 +50,12 @@ S.RECT.Y2 .EQ 6
|
||||
S.RECT .EQ 8
|
||||
*--------------------------------------
|
||||
S.OBJ.T .EQ 0
|
||||
S.OBJ.T.SCREEN .EQ 0
|
||||
S.OBJ.T.WND .EQ 2
|
||||
S.OBJ.T.MENUBAR .EQ 4
|
||||
S.OBJ.T.MENU .EQ 6
|
||||
S.OBJ.T.MITEM .EQ 8
|
||||
S.OBJ.T.BUT .EQ 10
|
||||
S.OBJ.T.TEXT .EQ 12
|
||||
S.OBJ.T.WND .EQ 0
|
||||
S.OBJ.T.MENUBAR .EQ 2
|
||||
S.OBJ.T.MENU .EQ 4
|
||||
S.OBJ.T.MITEM .EQ 6
|
||||
S.OBJ.T.BUT .EQ 8
|
||||
S.OBJ.T.TEXT .EQ 10
|
||||
|
||||
S.OBJ.F .EQ 1
|
||||
S.OBJ.S .EQ 2
|
||||
@ -150,4 +149,4 @@ S.TEXT.TEXT .EQ S.OBJ+8
|
||||
* ...
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE inc/libgui.i
|
||||
SAVE inc/libgui.i
|
||||
|
@ -349,6 +349,8 @@ BB.Seek lda BB.HdrTrk get track we're on
|
||||
tax
|
||||
|
||||
lda IO.D2.Ph0On,y
|
||||
nop
|
||||
nop
|
||||
lda IO.D2.Ph0On,x
|
||||
|
||||
jsr BB.WaitSeekTime
|
||||
@ -365,7 +367,7 @@ BB.AllPhasesOff ldx BB.Slotn0
|
||||
bit IO.D2.Ph3Off,x
|
||||
rts
|
||||
*--------------------------------------
|
||||
BB.WaitSeekTime lda #IO.D2.SeekTime
|
||||
BB.WaitSeekTime lda #IO.D2.SeekTimeB
|
||||
.HS 2C BIT ABS
|
||||
BB.Wait25600usec
|
||||
lda #0
|
||||
|
@ -42,10 +42,10 @@ D2Recalibrate >PULLB DrvSlt
|
||||
tax
|
||||
lda IO.D2.Ph0On,x
|
||||
|
||||
lda #IO.D2.SeekTime
|
||||
lda #IO.D2.SeekTimeF
|
||||
jsr D2.Wait100usecA
|
||||
|
||||
lda #IO.D2.SeekTime
|
||||
lda #IO.D2.SeekTimeF
|
||||
jsr D2.Wait100usecA
|
||||
|
||||
tya
|
||||
@ -74,8 +74,11 @@ D2MoveHead >PULLB MoveTo
|
||||
beq .7
|
||||
|
||||
bit IO.D2.Ph0Off,x
|
||||
nop
|
||||
nop
|
||||
ldx IO.D2.Ph0Off,y
|
||||
|
||||
nop
|
||||
nop
|
||||
bcs .2
|
||||
|
||||
* Current < Target, must move in
|
||||
@ -115,17 +118,26 @@ D2MoveHead >PULLB MoveTo
|
||||
tax
|
||||
|
||||
lda IO.D2.Ph0On,y
|
||||
nop
|
||||
nop
|
||||
lda IO.D2.Ph0On,x
|
||||
|
||||
lda #IO.D2.SeekTime
|
||||
nop
|
||||
nop
|
||||
lda #IO.D2.SeekTimeF
|
||||
jsr D2.Wait100usecA
|
||||
bra .1
|
||||
|
||||
.7 jsr D2.Wait25600usec
|
||||
|
||||
lda IO.D2.Ph0Off,y
|
||||
nop
|
||||
nop
|
||||
lda IO.D2.Ph0Off,x
|
||||
|
||||
nop
|
||||
nop
|
||||
|
||||
jsr D2.Wait25600usec
|
||||
|
||||
clc
|
||||
|
||||
.9 rts
|
||||
|
@ -27,10 +27,13 @@ BUT.New >STYA ZPPtr1
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
BUT.Draw
|
||||
BUT.Paint
|
||||
|
||||
*--------------------------------------
|
||||
BUT.Close
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.s.but
|
||||
|
@ -13,7 +13,20 @@ MENU.New >STYA ZPPtr1
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.SysMenu
|
||||
MENU.Paint
|
||||
MENU.Close
|
||||
*--------------------------------------
|
||||
MENUBAR.New
|
||||
MENUBAR.Paint
|
||||
MENUBAR.Close
|
||||
|
||||
*--------------------------------------
|
||||
MENUITEM.New
|
||||
MENUITEM.Paint
|
||||
MENUITEM.Close
|
||||
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MENU.MenuEditor .AZ "File"
|
||||
.DA #02 ID
|
||||
|
14
LIB/LIBGUI.S.TEXT.txt
Normal file
14
LIB/LIBGUI.S.TEXT.txt
Normal file
@ -0,0 +1,14 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
TEXT.New
|
||||
TEXT.Paint
|
||||
|
||||
TEXT.Close
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/lib/libgui.s.text
|
||||
LOAD usr/src/lib/libgui.s
|
||||
ASM
|
@ -120,6 +120,37 @@ CS.START cld
|
||||
J.Cmds .DA DrawLine
|
||||
.DA DrawText2
|
||||
*--------------------------------------
|
||||
J.OBJ .DA J.WND
|
||||
.DA J.MENUBAR
|
||||
.DA J.MENU
|
||||
.DA J.MENUITEM
|
||||
.DA J.BUT
|
||||
.DA J.TEXT
|
||||
*--------------------------------------
|
||||
J.WND .DA WND.New
|
||||
.DA WND.Paint
|
||||
.DA WND.Close
|
||||
*--------------------------------------
|
||||
J.MENUBAR .DA MENUBAR.New
|
||||
.DA MENUBAR.Paint
|
||||
.DA MENUBAR.Close
|
||||
*--------------------------------------
|
||||
J.MENU .DA MENU.New
|
||||
.DA MENU.Paint
|
||||
.DA MENU.Close
|
||||
*--------------------------------------
|
||||
J.MENUITEM .DA MENUITEM.New
|
||||
.DA MENUITEM.Paint
|
||||
.DA MENUITEM.Close
|
||||
*--------------------------------------
|
||||
J.BUT .DA BUT.New
|
||||
.DA BUT.Paint
|
||||
.DA BUT.Close
|
||||
*--------------------------------------
|
||||
J.TEXT .DA TEXT.New
|
||||
.DA TEXT.Paint
|
||||
.DA TEXT.Close
|
||||
*--------------------------------------
|
||||
L.DEVNAME.GFX .DA DEVNAME.GFX
|
||||
L.DEVNAME.MOUSE .DA DEVNAME.MOUSE
|
||||
L.SYSX7 .DA SYSX7
|
||||
@ -289,6 +320,7 @@ GetScreenGC >LDYA L.WND.Screen
|
||||
.INB usr/src/lib/libgui.s.menu
|
||||
.INB usr/src/lib/libgui.s.mou
|
||||
.INB usr/src/lib/libgui.s.pat
|
||||
.INB usr/src/lib/libgui.s.text
|
||||
.INB usr/src/lib/libgui.s.wnd
|
||||
*--------------------------------------
|
||||
CS.END
|
||||
@ -335,7 +367,7 @@ MouseClamp .BS 8
|
||||
CB.Cache .BS S.CB
|
||||
OBJ.Cache .BS S.OBJ
|
||||
*--------------------------------------
|
||||
WND.Screen .DA #S.OBJ.T.SCREEN
|
||||
WND.Screen .DA #S.OBJ.T.WND
|
||||
.BS S.WND-1
|
||||
*--------------------------------------
|
||||
WND.Screen.Childs
|
||||
|
@ -831,17 +831,26 @@ SKT.Recv clc
|
||||
ldy #S.SOCKET.T
|
||||
lda (ZPPtrSKT),y
|
||||
cmp #S.SOCKET.T.SEQPKT
|
||||
bcc .10
|
||||
bcc .10 RAW,DGRAM
|
||||
|
||||
bne .99 STREAM
|
||||
|
||||
jsr SKT.GetFromQueue SEQPKT
|
||||
bcc .1
|
||||
|
||||
jsr SKT.CheckTCP
|
||||
bcs .91
|
||||
|
||||
lda #E.NODATA
|
||||
plp
|
||||
sec
|
||||
rts
|
||||
|
||||
.10 jsr SKT.GetFromQueue
|
||||
bcs .90
|
||||
|
||||
plp if CS, RecvFrom
|
||||
bcc .9 Exit with CC and A=hFrame
|
||||
bcs .91
|
||||
|
||||
.1 plp if CS, RecvFrom
|
||||
bcc .9 CC, Recv : Exit with CC and A=hFrame
|
||||
|
||||
pha
|
||||
>SYSCALL2 GetMemPtr
|
||||
@ -891,11 +900,6 @@ SKT.Recv clc
|
||||
.91 plp
|
||||
sec
|
||||
rts
|
||||
|
||||
.90 lda #E.NODATA
|
||||
plp
|
||||
sec
|
||||
rts
|
||||
*/--------------------------------------
|
||||
* # Send (RAW,DGRAM,SEQPKT)
|
||||
* # SendTo (RAW,DGRAM,SEQPKT)
|
||||
|
@ -192,8 +192,9 @@ TCP.IN.JMP.ESTBLSH
|
||||
|
||||
.5 lda (ZPFrameInPtr),y
|
||||
eor SKT.Cache+S.SOCKET.TCP.INSEQNUM,x
|
||||
bne .90 Missed a frame.....
|
||||
|
||||
* bne .90 Missed a frame.....
|
||||
bne .8
|
||||
|
||||
dey
|
||||
dex
|
||||
bpl .5
|
||||
@ -238,18 +239,13 @@ TCP.IN.JMP.ESTBLSH
|
||||
|
||||
.8 ldy #S.SOCKET.TCP.O
|
||||
lda (ZPPtrSKT),y
|
||||
beq .80
|
||||
|
||||
jmp TCP.OUT.SendOptA
|
||||
bne .91
|
||||
|
||||
.80 clc
|
||||
rts
|
||||
.99 rts
|
||||
|
||||
.90 lda #S.TCP.OPTIONS.ACK
|
||||
jsr TCP.OUT.SendOptA
|
||||
|
||||
.9 sec
|
||||
.99 rts
|
||||
.91 jmp TCP.OUT.SendOptA
|
||||
*--------------------------------------
|
||||
TCP.IN.JMP.LASTACK
|
||||
ldy #S.TCP.OPTIONS only accept ACK packet
|
||||
|
@ -1,7 +1,7 @@
|
||||
NEW
|
||||
AUTO 3,1
|
||||
*--------------------------------------
|
||||
XRWDBG .EQ 1
|
||||
XRWDBG .EQ 0
|
||||
*--------------------------------------
|
||||
XRW.START cld $D8 to flag language card bank 1 (main)
|
||||
|
||||
@ -777,7 +777,11 @@ XRW.Seek ldx XRW.UnitIndex
|
||||
beq .7
|
||||
|
||||
bit IO.D2.Ph0Off,x
|
||||
nop
|
||||
nop
|
||||
ldx IO.D2.Ph0Off,y
|
||||
nop
|
||||
nop
|
||||
|
||||
bcs .2
|
||||
|
||||
@ -818,14 +822,24 @@ XRW.Seek ldx XRW.UnitIndex
|
||||
tax
|
||||
|
||||
lda IO.D2.Ph0On,y
|
||||
nop
|
||||
nop
|
||||
lda IO.D2.Ph0On,x
|
||||
nop
|
||||
nop
|
||||
|
||||
jsr XRW.WaitSeekTime
|
||||
bra .1
|
||||
|
||||
.7 jsr XRW.Wait25600usec
|
||||
|
||||
lda IO.D2.Ph0Off,y
|
||||
nop
|
||||
nop
|
||||
lda IO.D2.Ph0Off,x
|
||||
nop
|
||||
nop
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
XRW.Trk2Qtrk asl x2
|
||||
|
@ -81,7 +81,9 @@ IO.WRITE.REG ldx #MLIWRITE
|
||||
bcs .9
|
||||
>LDYA K.MLI.PARAMS+6
|
||||
|
||||
.9 rts
|
||||
.9
|
||||
IO.WRITE.REG.RTS
|
||||
rts
|
||||
*--------------------------------------
|
||||
IO.CLOSE.REG
|
||||
IO.CLOSE.DIR ldy #S.FD.REG.REF
|
||||
@ -89,6 +91,7 @@ IO.CLOSE.DIR ldy #S.FD.REG.REF
|
||||
beq .1
|
||||
sta K.MLI.PARAMS+1
|
||||
>MLICALL MLICLOSE
|
||||
bcs IO.WRITE.REG.RTS
|
||||
|
||||
.1 ldy #S.FD.REG.IOBUF
|
||||
lda (pFD),y
|
||||
|
@ -123,8 +123,10 @@ PFT.CheckNodeA stx .80+1 Save SYSCALL #
|
||||
.1 jmp $ffff SELF MODIFIED
|
||||
|
||||
.8 lda (pFD) #S.FD.T
|
||||
bne .80
|
||||
ldy #S.FD.REG.REF
|
||||
cmp #S.FD.T.CDEV
|
||||
bcs .80
|
||||
|
||||
ldy #S.FD.REG.REF REG or DIR
|
||||
lda (pFD),y
|
||||
sta K.MLI.PARAMS+1
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user