Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-11-17 15:39:55 +01:00
parent ee1dce2ce6
commit 7966543112
15 changed files with 413 additions and 308 deletions

Binary file not shown.

View File

@ -3,22 +3,18 @@ NEW
.LIST OFF
*--------------------------------------
BUF.InsertA sta TmpByte
jsr BUF.ComputeCOffset
cpy #255
beq .8
lda BUF.COffset
clc
>ADC.G BufBase
tax
lda BUF.COffset+1
>ADC.G BufBase+1
sta BufPtr+1
>LDYAI 1
jsr BUF.BufPtrSetup
bcs .9
inx
bne .1
inc
.1 stx BufPtrDst
sta BufPtrDst+1
@ -34,18 +30,76 @@ BUF.InsertA sta TmpByte
.8 clc
.9 rts
*--------------------------------------
BUF.DelCharAtCursor
lda (BufPtr)
pha Save deleted char for later
BUF.InsertTAB >LDA.G FileX
and #TABMASK
bne .1
lda #TABLEN
>LDYA BufPtr
>STYA BufPtrDst
.1 sta TmpByte
jsr BUF.ComputeCOffset
tya
sec
adc TmpByte
bcs .8
ldy TmpByte
lda #0
jsr BUF.BufPtrSetup
bcs .9
pha
txa
clc
adc TmpByte
sta BufPtrDst
pla
adc #0
sta BufPtrDst+1
jsr BUF.MoveForwardTail
lda #C.SPACE
ldy TmpByte
dey
.2 sta (BufPtr),y
dey
bpl .2
.4 lda FileLen
clc
adc TmpByte
sta FileLen
bcc .8
inc FileLen+1
.8 clc
.9 rts
*--------------------------------------
BUF.DelCharAtCursor
lda BUF.COffset
clc
>ADC.G BufBase
sta BufPtrDst
lda BUF.COffset+1
>ADC.G BufBase+1
sta BufPtrDst+1
>LDYA BufPtrDst
iny
bne .1
inc
.1 >STYA BufPtr
lda (BufPtr)
pha Save deleted char for later
jsr BUF.MoveBackTail
lda FileLen
@ -65,27 +119,65 @@ BUF.InsertClipboard
>SYSCALL GetMemPtr
>STYA ClipboardPtr
jsr BUF.ComputeCOffset
lda FileLen
sec
ldy #ClipboardLen
adc (pData),y
>ADC.G ClipboardLen
pha
lda FileLen+1
iny
adc (pData),y
ply
jsr BUF.GetNewYA
cpy BufLen
sbc BufLen+1
bcc .8
>LDYA.G ClipboardLen
jsr BUF.BufPtrSetup
bcs .9
>LDYA BUF.COffset
jsr BUF.Start2YA
jsr BUF.CopyClipboard
jsr BUF.CopyTail
>LDA.G ClipboardLen
pha
txa
clc
>ADC.G ClipboardLen
sta BufPtrDst
pla
>ADC.G ClipboardLen+1
sta BufPtrDst+1
jsr BUF.MoveForwardTail
lda ClipboardLen
eor #$ff
tax
lda ClipboardLen+1
eor #$ff
pha
ldy #0
.1 inx
bne .2
pla
inc
beq .3
pha
.2 lda (ClipboardPtr),y
sta (BufPtr),y
iny
bne .1
inc ClipboardPtr+1
inc BufPtr+1
bra .1
.3 >LDA.G ClipboardLen
clc
adc FileLen
sta FileLen
@ -98,83 +190,41 @@ BUF.InsertClipboard
.8 clc
.9 rts
*--------------------------------------
BUF.InsertTAB jsr BUF.ComputeCOffset
cpy #256-TABLEN
beq .8
lda FileLen
sec
adc #TABLEN
tay
lda FileLen+1
adc #0
jsr BUF.GetNewYA
bcs .9
>LDYA BUF.COffset
jsr BUF.Start2YA
ldy #TABLEN
lda #C.SPACE
.1 sta (BufPtr)
inc BufPtr
bne .2
inc BufPtr+1
.2 dey
bne .1
.3 jsr BUF.CopyTail
.4 lda FileLen
clc
adc #TABLEN
sta FileLen
bcc .8
inc FileLen+1
.8 clc
.9 rts
*--------------------------------------
BUF.DelSel jsr BUF.GetSelLen
bcs .8
lda FileLen
sec
sbc SelLen
tay
lda FileLen+1
sbc SelLen+1
iny
bne .1
inc
lda SelStart
clc
>ADC.G BufBase
sta BufPtrDst
.1 jsr BUF.GetNewYA
bcs .9
>LDYA.G SelStart
jsr BUF.Start2YA
lda BufPtrBackup
lda SelStart+1
>ADC.G BufBase+1
sta BufPtrDst+1
lda BufPtrDst
clc
adc SelLen
sta BufPtrBackup
lda BufPtrBackup+1
sta BufPtr
lda BufPtrDst+1
adc SelLen+1
sta BufPtrBackup+1
jsr BUF.CopyTail
sta BufPtr+1
jsr BUF.MoveBackTail
lda FileLen
sec
sbc SelLen
sta FileLen
lda FileLen+1
sbc SelLen+1
sta FileLen+1
jsr BUF.ResetSel
jmp SCRN.CursorAdjust
.8 clc
.9 rts
*--------------------------------------
@ -289,54 +339,6 @@ BUF.CopyAddY tya
inc BufPtr+1
.2 rts
*--------------------------------------
BUF.Start2YA eor #$ff
pha
tya
eor #$ff
tax
ldy #0
.1 inx
bne .2
pla
inc
beq .3
pha
.2 lda (BufPtrBackup),y
sta (BufPtr),y
iny
bne .1
inc BufPtrBackup+1
inc BufPtr+1
bra .1
.3 tya
clc
adc BufPtrBackup
sta BufPtrBackup
bcc BUF.CopyAddY
inc BufPtrBackup+1
bra BUF.CopyAddY
*--------------------------------------
BUF.CopyTail ldy #0
.1 lda (BufPtrBackup),y
sta (BufPtr),y
beq .8
iny
bne .1
inc BufPtrBackup+1
inc BufPtr+1
bra .1
.8 rts
*--------------------------------------
BUF.MoveBackTail
ldy #0
@ -366,7 +368,7 @@ BUF.MoveForwardTail
phx
.1 lda (BufPtr),y
beq .4
beq .3
dex
bne .2
@ -380,25 +382,27 @@ BUF.MoveForwardTail
inc BufPtrDst+1
bra .1
.4 lda (BufPtr),y
.3 lda (BufPtr),y
sta (BufPtrDst),y
tya
bne .5
dec BufPtr+1
dec BufPtrDst+1
.5 dey
inx
bne .4
pla
inc
beq .8
pha
bra .4
.4 tya
bne .5
dec BufPtr+1
dec BufPtrDst+1
.5 dey
bra .3
.8 rts
*--------------------------------------
@ -446,8 +450,7 @@ BUF.GetLineAX sta BUF.TmpLine1 Requested Line
stz BUF.LOffset
stz BUF.LOffset+1
>LDA.G hBuffer
>SYSCALL GetMemPtr
>LDYA.G BufBase
>STYA BufPtr
.1 ldy #0
@ -501,48 +504,6 @@ BUF.GetLineAX sta BUF.TmpLine1 Requested Line
.9 sec
rts
*--------------------------------------
BUF.GetNewYA tax In 256 bytes page to avoid fragmentation
tya
beq .10
inx
.10 phx
>LDA.G hBufferBackup
beq .1
>SYSCALL FreeMem
.1 >LDA.G hBuffer
>STA.G hBufferBackup
>SYSCALL GetMemPtr
>STYA BufPtrBackup
>STZ.G hBuffer
pla
ldy #0
>SYSCALL GetMem
bcs .9
>STYA.G BufBase
txa
>STA.G hBuffer
>LDA.G bSaved
beq .8
lda #0
sta (pData),y
jsr SCRN.UpdateTopBar
bcs .9
.8
* clc
.9 rts
*--------------------------------------
BUF.ResetSel lda #$ff
ldy #SelStart
@ -601,6 +562,18 @@ BUF.GetSelLen ldy #SelEnd
.9 sec
rts
*--------------------------------------
BUF.BufPtrSetup lda BUF.COffset
clc
>ADC.G BufBase
sta BufPtr
tax
lda BUF.COffset+1
>ADC.G BufBase+1
sta BufPtr+1
clc
rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/EDIT.S.BUF
LOAD USR/SRC/BIN/EDIT.S

View File

@ -34,6 +34,9 @@ Prompt.Editor cmp #C.DEL
cmp #C.SPACE
bcc .3
pha
jsr BUF.ComputeCOffset
pla
jsr BUF.InsertA
bcs .9
@ -66,22 +69,28 @@ Ctrl.Invalid
Ctrl.Invalid.RTS
rts
*--------------------------------------
Ctrl.A lda #PromptModeHelp
>STA.G PromptMode
>LDYA L.MSG.HELP
Ctrl.A >LDYA L.MSG.HELP
>STYA ZPPTR1
stz .1+1
.1 ldy #0
stz TmpByte
.1
ldx #0
ldy TmpByte
jsr SCRN.GotoXY
bcs .9
lda (ZPPTR1)
beq .8
>PUSHW ZPPTR1
>PUSHBI 2
>LDYA L.MSG.HELPLINE
>SYSCALL printf
bcs Ctrl.Invalid.RTS
inc .1+1
bcs .9
inc TmpByte
lda (ZPPTR1)
sec
adc ZPPTR1
@ -90,7 +99,18 @@ Ctrl.A lda #PromptModeHelp
inc ZPPTR1+1
bra .1
.8 jmp SCRN.UpdateStatusBar
.8 lda #PromptModeHelp
>STA.G PromptMode
jsr SCRN.UpdateStatusBar
bcs .9
>SYSCALL getchar
bcs .9
>STZ.G PromptMode
jmp SCRN.UpDateMain
.9 rts
*--------------------------------------
Ctrl.B jsr BUF.ComputeCOffset
@ -162,20 +182,20 @@ Ctrl.TAB jsr BUF.InsertTAB
>LDA.G FileX
clc
adc #TABLEN
and #$FC
adc TmpByte
sta (pData),y
>LDA.G CurX
clc
adc #TABLEN
and #$FC
adc TmpByte
sta (pData),y
sec
>SBC.G ScreenX
sec
>SBC.G ScreenW
bcs .8
jsr SCRN.UpdateCurrentLine
bcs .9
jmp SCRN.UpdateStatusBar
@ -241,13 +261,41 @@ Ctrl.L jsr BUF.GetLine
jmp SCRN.UpdateViewPort
*--------------------------------------
Ctrl.CR lda #C.CR
Ctrl.CR jsr BUF.ComputeCOffset
lda #C.CR
jsr BUF.InsertA
bcs .9
>PUSHBI 0
>LDYA L.SEQ.CEOL
>SYSCALL printf
bcs .9
>INCW.G FileY
>STZ.G FileX
>LDA.G ScreenH
dec
>PUSHA
>LDA.G CurY
inc
inc
>PUSHA
>PUSHBI 2
>LDYA L.SEQ.SCROLLCURDN
>SYSCALL printf
bcs .9
jmp SCRN.UpdateMain
jsr SCRN.UpdateCurrentLine
>LDA.G ScreenH
dec
>PUSHA
>PUSHBI 1
>LDYA L.SEQ.SCROLLRGN
>SYSCALL printf
.9 rts
*--------------------------------------

View File

@ -7,6 +7,7 @@ FILE.New >LDYAI 4096
>SYSCALL GetMem
bcs .9
>STYA BufPtr
>STYA.G BufBase
txa
@ -51,7 +52,7 @@ FILE.Load.TXT stz FileLen
jsr FILE.GetBuffer
bcs .99
>LDYA 256
>LDYAI 256
>SYSCALL GetMem
bcs .99
@ -67,102 +68,152 @@ FILE.Load.TXT stz FileLen
.99 bcs .9
sta TmpIndex
.1 >PUSHWI 254
>PUSHW ZPPTR1
lda TmpIndex
>SYSCALL fread
bcs .8
bcs .7
lda #0
sta (ZPPTR1),y Y = line len
ldx #0
ldy #0
lda (ZPPTR1)
clc
beq .8
eor #C.LF
bne .2
phy
lda #2
>STA.G FileType
sec
.2 lda ZPPTR1
adc #0
tay
ply
iny
lda ZPPTR1+1
adc #0
>PUSHYA
>LDYA BufPtr
>SYSCALL strcat
.2 lda (ZPPTR1),y
beq .4
sta (BufPtr)
inc BufPtr
bne .3
inc BufPtr+1
.3 inx
iny
bra .2
.4 txa
clc
adc FileLen
sta FileLen
bcc .1
inc FileLen+1
bra .1
.8 cmp #MLI.E.EOF
.7 cmp #MLI.E.EOF
bne .9
>LDYA BufPtr
>SYSCALL strlen
>STYA FileLen
.8 lda #0
sta (BufPtr)
clc
.9 jmp FILE.Load.Cleanup
.HS B0 BCS
.9 sec
jmp FILE.Close
*--------------------------------------
FILE.Load.ASM
lda #MLI.E.INCFF
sec
rts
*--------------------------------------
FILE.Load.Cleanup
php
pha
lda TmpByte
beq .1
>SYSCALL freemem
FILE.Save >LDYAI 256
>SYSCALL GetMem
bcs .9
>STYA ZPPTR1
stx TmpByte
.1 lda TmpIndex
beq .2
>LDA.G FileType
tax
>SYSCALL fclose
.2 pla
plp
rts
jmp (J.SAVE,x)
.9 rts
*--------------------------------------
FILE.Save >PUSHWZ Aux type
FILE.Save.CR clc
.HS B0 BCS
FILE.Save.CRLF sec
ror TmpIndex+1
>PUSHWZ Aux type
>PUSHBI S.FI.T.TXT
>PUSHBI O.CREATE+O.WRONLY
>LDA.G hFileName
>SYSCALL GetMemPtr
>SYSCALL FOpen
bcs .9
pha
>PUSHW FileLen
>LDA.G hBuffer
>SYSCALL GetMemPtr
>PUSHYA
pla
pha
>SYSCALL FWrite
bcc .1
tax
pla
phx
>SYSCALL FClose
pla
sec
rts
sta TmpIndex
.1 pla
>SYSCALL FClose
>LDYA.G BufBase
>STYA BufPtr
.1 lda (BufPtr)
beq .8
ldy #$ff
.2 iny
lda (BufPtr),y
sta (ZPPTR1),y
beq .3
lda #$80
cmp #C.CR
bne .2
iny
bit TmpIndex+1
bpl .3
iny
lda #C.LF
sta (ZPPTR1),y
.3 tya
beq .8
clc
adc BufPtr
sta BufPtr
bcc .4
inc BufPtr+1
.4 lda #0
>PUSHYA
>PUSHW ZPPTR1
lda TmpIndex
>SYSCALL FWrite
bcs .9
bra .1
.8 lda #$80
>STA.G bSaved
jsr SCRN.UpdateTopBar
.9 rts
clc
.9 jmp FILE.Close
*--------------------------------------
FILE.Save.ASM
clc
rts
*--------------------------------------
FILE.GetBuffer >LDA.G STATBUF+S.STAT.SIZE+3
dey
@ -183,7 +234,8 @@ FILE.GetBuffer >LDA.G STATBUF+S.STAT.SIZE+3
>SYSCALL GetMem
bcs .99
>STYA.G BufBase
>STYA BufPtr
>STYA.G BufBase
txa
>STA.G hBuffer
@ -196,6 +248,21 @@ FILE.GetBuffer >LDA.G STATBUF+S.STAT.SIZE+3
sec
.99 rts
*--------------------------------------
FILE.Close php
pha
lda TmpByte
beq .1
>SYSCALL freemem
.1 lda TmpIndex
beq .2
>SYSCALL fclose
.2 pla
plp
rts
*--------------------------------------
MAN
SAVE USR/SRC/BIN/EDIT.S.FILE
LOAD USR/SRC/BIN/EDIT.S

View File

@ -14,12 +14,13 @@ SCRN.Init >LDA.G ScreenH
jsr SCRN.UpdateTopBar
bcs .9
jmp SCRN.UpdateMain
.9 rts
*--------------------------------------
SCRN.Home lda #0
ldy #FileX Zero all
ldy #FileX Zero FileXY,ScreenXY & CurXY
.1 sta (pData),y
iny
@ -89,6 +90,7 @@ SCRN.UpdateMain >LDA.G ScreenY
.1 lda TmpIndex
ldx TmpIndex+1
jsr BUF.GetLineAX Y = line length
bcs .5
@ -167,9 +169,7 @@ SCRN.UpdateLineAtALenY
jsr SCRN.ToLineBuf
bra .10
.11 ldy #0
>LDA.G ScreenW
.11 >LDA.G ScreenW
tax
>LDA.G ScreenX
cmp TmpLen

View File

@ -3,12 +3,16 @@ NEW
.LIST OFF
.OP 65C02
.OR $2000
.TF BIN/EDIT2
.TF BIN/EDIT
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
.INB INC/MLI.I
.INB INC/MLI.E.I
*--------------------------------------
PROMPTBUFMAX .EQ 64
TABLEN .EQ 4
TABMASK .EQ 3
*--------------------------------------
.DUMMY
.OR ZPBIN
@ -40,9 +44,6 @@ bSelected .BS 1
ZS.END .ED
*--------------------------------------
PROMPTBUFMAX .EQ 64
TABLEN .EQ 4
*--------------------------------------
PromptModeHelp .EQ 2
PromptModeFind .EQ 4
PromptModeReplace .EQ 6
@ -70,9 +71,11 @@ CS.START cld
.DA CS.QUIT
L.SEQ.DETECT .DA SEQ.DETECT
L.SEQ.INIT .DA SEQ.INIT
L.SEQ.SCROLLRGN .DA SEQ.SCROLLRGN
L.SEQ.RESET .DA SEQ.RESET
L.SEQ.SCROLLUP .DA SEQ.SCROLLUP
L.SEQ.SCROLLDN .DA SEQ.SCROLLDN
L.SEQ.SCROLLCURDN .DA SEQ.SCROLLCURDN
L.SEQ.CEOL .DA SEQ.CEOL
L.SEQ.BAR .DA SEQ.BAR
L.MSG.TOPBAR .DA MSG.TOPBAR
@ -89,6 +92,9 @@ L.MSG.NEWFILE .DA MSG.NEWFILE
L.MSG.GOTOXY .DA MSG.GOTOXY
L.MSG.HELPLINE .DA MSG.HELPLINE
L.MSG.HELP .DA MSG.HELP
J.SAVE .DA FILE.Save.CR
.DA FILE.Save.CRLF
.DA FILE.Save.ASM
J.PROMPT .DA Prompt.Editor
.DA Prompt.Help
.DA Prompt.Find
@ -357,10 +363,12 @@ CharIn.Esc >STZ.G bEscMode
*--------------------------------------
CS.END
SEQ.DETECT .AZ "Querying terminal capabilities...\e[999;999H\e[6n"
SEQ.INIT .AZ "\ec\e[?7l\e[2;%dr"
SEQ.RESET .AZ "\ec"
SEQ.INIT .AS "\ec"
SEQ.SCROLLRGN .AZ "\e[?7l\e[2;%dr"
SEQ.SCROLLUP .AZ "\eD"
SEQ.SCROLLDN .AZ "\eM"
SEQ.SCROLLCURDN .AZ "\e[?7l\e[%d;%dr\eM"
SEQ.BAR .AS "\e[40;37m\e[7m%s" +SEQ.NORM
SEQ.NORM .AZ "\e[0m"
SEQ.INV .AZ "\e[7m"
@ -370,7 +378,7 @@ MSG.TOPBAR .AZ "A2osX Edit:%s %s"
MSG.TXTCR .AZ "TXT/CR"
MSG.TXTCRLF .AZ "TXT/CRLF"
MSG.TXTASM .AZ "S-C/ASM"
MSG.STATUSBAR .AZ "(Press Ctrl-A For Help) Len: %5D Pos: %5D Col: %3d Line: %5D"
MSG.STATUSBAR .AZ "Press Ctrl-A For Help Len: %5D Pos: %5D Col: %3d Line: %5D"
MSG.STATUSBAR.H .AZ "Press any key to exit this screen:"
MSG.STATUSBAR.F .AZ "Find:%s"
MSG.STATUSBAR.R .AZ "Replace:%s"

View File

@ -117,13 +117,7 @@ ARP.IN ldy #S.ARP.TPA+3
cmp #S.ARP.OPERATION.REP
beq ARP.IN.REP
ARP.IN.EXIT lda hFrameIn
beq .8
stz hFrameIn
>SYSCALL2 FreeMem
.8 clc
rts
ARP.IN.EXIT jmp FRM.DiscardIn
ARP.IN.REQ ldy #S.ARP.SPA+3
ldx #3

View File

@ -493,10 +493,8 @@ DNS.POLL lda hDNSSocket
cpx #4
bne .5
jsr DNS.UPDATE.BY.ID
.9 lda hFrameIn
>SYSCALL2 FreeMem
clc
rts
.9 jmp FRM.DiscardIn
*--------------------------------------
DNS.NextCache lda ZPCachePtr
clc

View File

@ -275,8 +275,8 @@ FRM.Queue plp
FRM.Discard lda hFrameOut
beq FRM.Discard.9
>SYSCALL2 FreeMem
stz hFrameOut
>SYSCALL2 FreeMem
FRM.Discard.9 sec
rts
@ -313,6 +313,7 @@ FRM.Retry ldx FRM.QUEUE.Tail
inx
cpx #K.FRMQUEUE.SIZE
bne .5
ldx #0
.5 stx FRM.QUEUE.Tail
>SYSCALL2 FreeMem
@ -333,6 +334,14 @@ FRM.Send.IOCTL >PUSHW L.IOCTL
>SYSCALL2 IOCTL
rts
*--------------------------------------
FRM.DiscardIn lda hFrameIn
beq .8
stz hFrameIn
>SYSCALL2 FreeMem
.8 clc
rts
*--------------------------------------
MAN
SAVE USR/SRC/LIB/LIBTCPIP.S.FRM
LOAD USR/SRC/LIB/LIBTCPIP.S

View File

@ -37,11 +37,8 @@ ICMP.IN.ECHOREQ ldy #S.IP.DST+3
bpl .3
clc Queue if fail
jmp FRM.SendIP
ICMP.IN.EXIT lda hFrameIn
beq .8
>SYSCALL2 FreeMem
stz hFrameIn
.8 rts
ICMP.IN.EXIT jmp FRM.DiscardIn
*--------------------------------------
ICMP.IN.ECHOREP jsr FRM.GetTargetSKT.RAW
ldy #S.ICMP.IDENTIFIER
@ -53,9 +50,12 @@ ICMP.IN.ECHOREP jsr FRM.GetTargetSKT.RAW
jsr SKT.FindMatchingLocRem
bcs ICMP.IN.EXIT
ldy #S.SOCKET.PROTO
lda (ZPPtrSKT),y
cmp #S.IP.PROTOCOL.ICMP bne ICMP.IN.EXIT
cmp #S.IP.PROTOCOL.ICMP
bne ICMP.IN.EXIT
lda hFrameIn
jsr SKT.AddToQueueA
bcs ICMP.IN.EXIT Q full, discard...

View File

@ -18,15 +18,15 @@ IP.IN ldy #S.IP.PROTOCOL
lda hFrameIn
jsr SKT.AddToQueueA
bcs .9 Q full, discard...
rts
.3 cmp #S.IP.PROTOCOL.TCP
bne .9
jsr TCP.IN TCP may NOT discard FrameIn
.9 lda hFrameIn
beq .8
>SYSCALL2 FreeMem
.8 clc
rts
.9 jmp FRM.DiscardIn
*--------------------------------------
IP.ComputeICMPChecksum
stz IP.CHECKSUM

View File

@ -340,7 +340,7 @@ SKT.shutdown.SEQPACKET
pla
inc
cmp #S.SOCKET.HQ.MAX
beq .2
bne .2
lda #0
@ -954,6 +954,7 @@ SKT.Send clc
jsr SKT.PullhFDDataInPtrLen
plp
bcc .1
jsr SKT.PullRemAddr
.1 ldy #S.SOCKET.T
@ -993,9 +994,14 @@ SKT.Send.SEQPACKET
jsr SKT.CopyDataInToOut
jmp TCP.OUT.Send
ldy #S.TCP.WINDOW
lda /K.TCP.WSIZE
sta (ZPFrameOutPtr),y
iny
lda #K.TCP.WSIZE
sta (ZPFrameOutPtr),y
* TODO add ZPDataInLen to SEQ
jmp TCP.OUT.SEQSEND
*/--------------------------------------
* # GetSockOpt
* Set Socket Options

View File

@ -23,10 +23,7 @@ TCP.IN.RST lda SKT.TABLE,x
TCP.IN.JMP.OPENED
TCP.IN.JMP.CLOSED
TCP.IN.JMP.DISCARD
lda hFrameIn
stz hFrameIn
>SYSCALL2 FreeMem
rts
jmp FRM.DiscardIn
*--------------------------------------
TCP.IN.JMP.LISTEN
ldy #S.SOCKET.T Create a new client socket
@ -465,15 +462,18 @@ TCP.OUT lda SKT.Cache+S.SOCKET.TCP.OUTTOSEND+1
bcs .9
jsr SKT.GetDataFromSktOut
ldy #S.TCP.WINDOW
lda SKT.Cache+S.SOCKET.TCP.INFREE+1
sta (ZPFrameOutPtr),y
iny
lda SKT.Cache+S.SOCKET.TCP.INFREE
sta (ZPFrameOutPtr),y
lda #S.TCP.OPTIONS.ACK+S.TCP.OPTIONS.PSH
TCP.OUT.SEQSEND lda #S.TCP.OPTIONS.ACK+S.TCP.OPTIONS.PSH
jsr TCP.OUT.Send
bcs .9
bcs TCP.OUT.Send.RTS
lda ZPDataOutLen
ldy ZPDataOutLen+1
ldx #S.SOCKET.TCP.OUTNEXTSEQ
@ -486,7 +486,7 @@ TCP.OUT.SendOptA
>LDYAI 0
jsr TCP.NewFrame
bcs TCP.OUT.Send.9
bcs TCP.OUT.Send.RTS
ldy #S.SOCKET.TCP.INFREE+1
lda (ZPPtrSKT),y
@ -528,13 +528,14 @@ TCP.OUT.Send ldy #S.TCP.OPTIONS
sec DONT Queue if fail
jsr FRM.SendIP
bcs TCP.OUT.Send.9
bcs TCP.OUT.Send.RTS
ldy #S.SOCKET.TCP.O
lda #0
sta (ZPPtrSKT),y
* clc
TCP.OUT.Send.9 rts
TCP.OUT.Send.RTS
rts
*--------------------------------------
TCP.SetSocketTCPO.ACK
lda #S.TCP.OPTIONS.ACK

View File

@ -225,6 +225,7 @@ CS.RUN.CLIENT
.3 jsr CS.RUN.MSG.GetStr
bcs .7
>PUSHYA
>PUSHW ZPStrPtr
ldy #S.PS.hStdOut
lda (pPS),y
@ -305,7 +306,7 @@ CS.RUN.MSG.GetStr
.31 eor #C.LF
bne .9
sta (ZPStrPtr),y
sta (ZPStrPtr),y Y,A = StrLen
clc
rts
@ -359,7 +360,7 @@ HTTP.200OK .AS "HTTP/1.1 200 OK"
.AS "Connection: Close"
.DA #C.CR,#C.LF
.DA #C.CR,#C.LF
.AS "<HTML><BODY>Hello!</BODY></HTML>"
.AS "<HTML><BODY>Hello From A2osX-HTTPD 0.93 !</BODY></HTML>"
.DA #C.CR,#C.LF
HTTP.200OK.len .EQ *-HTTP.200OK
*--------------------------------------

View File

@ -1197,7 +1197,7 @@ DOWILL.CNT .EQ *-DOWILL
DOWONT .DA #TELOPT.ECHO,#TELOPT.NEWENVIRON,#TELOPT.XDISPLOC,#TELOPT.TSPEED,#TELOPT.LFLOW
DOWONT.CNT .EQ *-DOWONT
SB.IS.TTYPE .DA #IAC,#SB,#TELOPT.TTYPE,#SB.IS
ENQ.String .AS "xterm"
ENQ.String .AS "vt100"
ENQ.String.Len .EQ *-ENQ.String
.DA #IAC,#SE
SB.IS.TTYPE.LEN .EQ *-SB.IS.TTYPE