Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-09-07 22:40:50 +02:00
parent efab21a425
commit 9dc0c1c279
17 changed files with 252 additions and 79 deletions

Binary file not shown.

Binary file not shown.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
View 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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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