mirror of
https://github.com/A2osX/A2osX.git
synced 2024-08-10 00:29:09 +00:00
Kernel 0.93+
This commit is contained in:
parent
ee1dce2ce6
commit
7966543112
Binary file not shown.
@ -3,22 +3,18 @@ NEW
|
|||||||
.LIST OFF
|
.LIST OFF
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BUF.InsertA sta TmpByte
|
BUF.InsertA sta TmpByte
|
||||||
jsr BUF.ComputeCOffset
|
|
||||||
cpy #255
|
cpy #255
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
lda BUF.COffset
|
>LDYAI 1
|
||||||
clc
|
jsr BUF.BufPtrSetup
|
||||||
>ADC.G BufBase
|
bcs .9
|
||||||
tax
|
|
||||||
|
|
||||||
lda BUF.COffset+1
|
|
||||||
>ADC.G BufBase+1
|
|
||||||
sta BufPtr+1
|
|
||||||
|
|
||||||
inx
|
inx
|
||||||
bne .1
|
bne .1
|
||||||
inc
|
inc
|
||||||
|
|
||||||
.1 stx BufPtrDst
|
.1 stx BufPtrDst
|
||||||
sta BufPtrDst+1
|
sta BufPtrDst+1
|
||||||
|
|
||||||
@ -34,18 +30,76 @@ BUF.InsertA sta TmpByte
|
|||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BUF.DelCharAtCursor
|
BUF.InsertTAB >LDA.G FileX
|
||||||
lda (BufPtr)
|
and #TABMASK
|
||||||
pha Save deleted char for later
|
bne .1
|
||||||
|
|
||||||
>LDYA BufPtr
|
lda #TABLEN
|
||||||
>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
|
iny
|
||||||
bne .1
|
bne .1
|
||||||
inc
|
inc
|
||||||
|
|
||||||
.1 >STYA BufPtr
|
.1 >STYA BufPtr
|
||||||
|
|
||||||
|
lda (BufPtr)
|
||||||
|
pha Save deleted char for later
|
||||||
|
|
||||||
jsr BUF.MoveBackTail
|
jsr BUF.MoveBackTail
|
||||||
|
|
||||||
lda FileLen
|
lda FileLen
|
||||||
@ -65,27 +119,65 @@ BUF.InsertClipboard
|
|||||||
|
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
>STYA ClipboardPtr
|
>STYA ClipboardPtr
|
||||||
|
|
||||||
jsr BUF.ComputeCOffset
|
jsr BUF.ComputeCOffset
|
||||||
|
|
||||||
lda FileLen
|
lda FileLen
|
||||||
sec
|
sec
|
||||||
ldy #ClipboardLen
|
>ADC.G ClipboardLen
|
||||||
adc (pData),y
|
|
||||||
pha
|
pha
|
||||||
lda FileLen+1
|
lda FileLen+1
|
||||||
iny
|
iny
|
||||||
adc (pData),y
|
adc (pData),y
|
||||||
ply
|
ply
|
||||||
jsr BUF.GetNewYA
|
|
||||||
|
cpy BufLen
|
||||||
|
sbc BufLen+1
|
||||||
|
bcc .8
|
||||||
|
|
||||||
|
>LDYA.G ClipboardLen
|
||||||
|
jsr BUF.BufPtrSetup
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
>LDYA BUF.COffset
|
pha
|
||||||
jsr BUF.Start2YA
|
txa
|
||||||
|
clc
|
||||||
|
>ADC.G ClipboardLen
|
||||||
|
sta BufPtrDst
|
||||||
|
pla
|
||||||
|
>ADC.G ClipboardLen+1
|
||||||
|
sta BufPtrDst+1
|
||||||
|
|
||||||
jsr BUF.CopyClipboard
|
jsr BUF.MoveForwardTail
|
||||||
jsr BUF.CopyTail
|
|
||||||
|
|
||||||
>LDA.G ClipboardLen
|
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
|
clc
|
||||||
adc FileLen
|
adc FileLen
|
||||||
sta FileLen
|
sta FileLen
|
||||||
@ -95,86 +187,44 @@ BUF.InsertClipboard
|
|||||||
adc FileLen+1
|
adc FileLen+1
|
||||||
sta FileLen+1
|
sta FileLen+1
|
||||||
|
|
||||||
.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
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BUF.DelSel jsr BUF.GetSelLen
|
BUF.DelSel jsr BUF.GetSelLen
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
lda FileLen
|
lda SelStart
|
||||||
sec
|
clc
|
||||||
sbc SelLen
|
>ADC.G BufBase
|
||||||
tay
|
sta BufPtrDst
|
||||||
lda FileLen+1
|
|
||||||
sbc SelLen+1
|
|
||||||
iny
|
|
||||||
bne .1
|
|
||||||
inc
|
|
||||||
|
|
||||||
.1 jsr BUF.GetNewYA
|
lda SelStart+1
|
||||||
bcs .9
|
>ADC.G BufBase+1
|
||||||
|
sta BufPtrDst+1
|
||||||
|
|
||||||
>LDYA.G SelStart
|
lda BufPtrDst
|
||||||
jsr BUF.Start2YA
|
|
||||||
lda BufPtrBackup
|
|
||||||
clc
|
clc
|
||||||
adc SelLen
|
adc SelLen
|
||||||
sta BufPtrBackup
|
sta BufPtr
|
||||||
lda BufPtrBackup+1
|
|
||||||
|
lda BufPtrDst+1
|
||||||
adc SelLen+1
|
adc SelLen+1
|
||||||
sta BufPtrBackup+1
|
sta BufPtr+1
|
||||||
jsr BUF.CopyTail
|
|
||||||
|
jsr BUF.MoveBackTail
|
||||||
|
|
||||||
lda FileLen
|
lda FileLen
|
||||||
sec
|
sec
|
||||||
sbc SelLen
|
sbc SelLen
|
||||||
sta FileLen
|
sta FileLen
|
||||||
|
|
||||||
lda FileLen+1
|
lda FileLen+1
|
||||||
sbc SelLen+1
|
sbc SelLen+1
|
||||||
sta FileLen+1
|
sta FileLen+1
|
||||||
|
|
||||||
jsr BUF.ResetSel
|
jsr BUF.ResetSel
|
||||||
|
jmp SCRN.CursorAdjust
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -289,54 +339,6 @@ BUF.CopyAddY tya
|
|||||||
inc BufPtr+1
|
inc BufPtr+1
|
||||||
.2 rts
|
.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
|
BUF.MoveBackTail
|
||||||
ldy #0
|
ldy #0
|
||||||
|
|
||||||
@ -366,7 +368,7 @@ BUF.MoveForwardTail
|
|||||||
phx
|
phx
|
||||||
|
|
||||||
.1 lda (BufPtr),y
|
.1 lda (BufPtr),y
|
||||||
beq .4
|
beq .3
|
||||||
dex
|
dex
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
@ -380,25 +382,27 @@ BUF.MoveForwardTail
|
|||||||
inc BufPtrDst+1
|
inc BufPtrDst+1
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.4 lda (BufPtr),y
|
.3 lda (BufPtr),y
|
||||||
sta (BufPtrDst),y
|
sta (BufPtrDst),y
|
||||||
|
|
||||||
tya
|
|
||||||
bne .5
|
|
||||||
|
|
||||||
dec BufPtr+1
|
|
||||||
dec BufPtrDst+1
|
|
||||||
|
|
||||||
.5 dey
|
|
||||||
|
|
||||||
inx
|
inx
|
||||||
bne .4
|
bne .4
|
||||||
|
|
||||||
pla
|
pla
|
||||||
inc
|
inc
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
pha
|
pha
|
||||||
bra .4
|
|
||||||
|
.4 tya
|
||||||
|
bne .5
|
||||||
|
|
||||||
|
dec BufPtr+1
|
||||||
|
dec BufPtrDst+1
|
||||||
|
|
||||||
|
.5 dey
|
||||||
|
|
||||||
|
bra .3
|
||||||
|
|
||||||
.8 rts
|
.8 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
@ -446,8 +450,7 @@ BUF.GetLineAX sta BUF.TmpLine1 Requested Line
|
|||||||
stz BUF.LOffset
|
stz BUF.LOffset
|
||||||
stz BUF.LOffset+1
|
stz BUF.LOffset+1
|
||||||
|
|
||||||
>LDA.G hBuffer
|
>LDYA.G BufBase
|
||||||
>SYSCALL GetMemPtr
|
|
||||||
>STYA BufPtr
|
>STYA BufPtr
|
||||||
|
|
||||||
.1 ldy #0
|
.1 ldy #0
|
||||||
@ -501,48 +504,6 @@ BUF.GetLineAX sta BUF.TmpLine1 Requested Line
|
|||||||
.9 sec
|
.9 sec
|
||||||
rts
|
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
|
BUF.ResetSel lda #$ff
|
||||||
ldy #SelStart
|
ldy #SelStart
|
||||||
|
|
||||||
@ -601,6 +562,18 @@ BUF.GetSelLen ldy #SelEnd
|
|||||||
.9 sec
|
.9 sec
|
||||||
rts
|
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
|
MAN
|
||||||
SAVE USR/SRC/BIN/EDIT.S.BUF
|
SAVE USR/SRC/BIN/EDIT.S.BUF
|
||||||
LOAD USR/SRC/BIN/EDIT.S
|
LOAD USR/SRC/BIN/EDIT.S
|
||||||
|
@ -34,6 +34,9 @@ Prompt.Editor cmp #C.DEL
|
|||||||
cmp #C.SPACE
|
cmp #C.SPACE
|
||||||
bcc .3
|
bcc .3
|
||||||
|
|
||||||
|
pha
|
||||||
|
jsr BUF.ComputeCOffset
|
||||||
|
pla
|
||||||
jsr BUF.InsertA
|
jsr BUF.InsertA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
@ -66,22 +69,28 @@ Ctrl.Invalid
|
|||||||
Ctrl.Invalid.RTS
|
Ctrl.Invalid.RTS
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Ctrl.A lda #PromptModeHelp
|
Ctrl.A >LDYA L.MSG.HELP
|
||||||
>STA.G PromptMode
|
|
||||||
>LDYA L.MSG.HELP
|
|
||||||
>STYA ZPPTR1
|
>STYA ZPPTR1
|
||||||
stz .1+1
|
|
||||||
.1 ldy #0
|
stz TmpByte
|
||||||
|
|
||||||
|
.1
|
||||||
ldx #0
|
ldx #0
|
||||||
|
ldy TmpByte
|
||||||
jsr SCRN.GotoXY
|
jsr SCRN.GotoXY
|
||||||
|
bcs .9
|
||||||
|
|
||||||
lda (ZPPTR1)
|
lda (ZPPTR1)
|
||||||
beq .8
|
beq .8
|
||||||
|
|
||||||
>PUSHW ZPPTR1
|
>PUSHW ZPPTR1
|
||||||
>PUSHBI 2
|
>PUSHBI 2
|
||||||
>LDYA L.MSG.HELPLINE
|
>LDYA L.MSG.HELPLINE
|
||||||
>SYSCALL printf
|
>SYSCALL printf
|
||||||
bcs Ctrl.Invalid.RTS
|
bcs .9
|
||||||
inc .1+1
|
|
||||||
|
inc TmpByte
|
||||||
|
|
||||||
lda (ZPPTR1)
|
lda (ZPPTR1)
|
||||||
sec
|
sec
|
||||||
adc ZPPTR1
|
adc ZPPTR1
|
||||||
@ -90,7 +99,18 @@ Ctrl.A lda #PromptModeHelp
|
|||||||
inc ZPPTR1+1
|
inc ZPPTR1+1
|
||||||
bra .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
|
Ctrl.B jsr BUF.ComputeCOffset
|
||||||
|
|
||||||
@ -162,20 +182,20 @@ Ctrl.TAB jsr BUF.InsertTAB
|
|||||||
|
|
||||||
>LDA.G FileX
|
>LDA.G FileX
|
||||||
clc
|
clc
|
||||||
adc #TABLEN
|
adc TmpByte
|
||||||
and #$FC
|
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
>LDA.G CurX
|
>LDA.G CurX
|
||||||
clc
|
clc
|
||||||
adc #TABLEN
|
adc TmpByte
|
||||||
and #$FC
|
|
||||||
sta (pData),y
|
sta (pData),y
|
||||||
|
|
||||||
|
sec
|
||||||
>SBC.G ScreenX
|
>SBC.G ScreenX
|
||||||
|
sec
|
||||||
>SBC.G ScreenW
|
>SBC.G ScreenW
|
||||||
|
|
||||||
bcs .8
|
bcs .8
|
||||||
|
|
||||||
jsr SCRN.UpdateCurrentLine
|
jsr SCRN.UpdateCurrentLine
|
||||||
bcs .9
|
bcs .9
|
||||||
jmp SCRN.UpdateStatusBar
|
jmp SCRN.UpdateStatusBar
|
||||||
@ -241,13 +261,41 @@ Ctrl.L jsr BUF.GetLine
|
|||||||
|
|
||||||
jmp SCRN.UpdateViewPort
|
jmp SCRN.UpdateViewPort
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
Ctrl.CR lda #C.CR
|
Ctrl.CR jsr BUF.ComputeCOffset
|
||||||
|
|
||||||
|
lda #C.CR
|
||||||
jsr BUF.InsertA
|
jsr BUF.InsertA
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
>PUSHBI 0
|
||||||
|
>LDYA L.SEQ.CEOL
|
||||||
|
>SYSCALL printf
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
>INCW.G FileY
|
||||||
>STZ.G FileX
|
>STZ.G FileX
|
||||||
|
|
||||||
jmp SCRN.UpdateMain
|
>LDA.G ScreenH
|
||||||
|
dec
|
||||||
|
>PUSHA
|
||||||
|
>LDA.G CurY
|
||||||
|
inc
|
||||||
|
inc
|
||||||
|
>PUSHA
|
||||||
|
>PUSHBI 2
|
||||||
|
>LDYA L.SEQ.SCROLLCURDN
|
||||||
|
>SYSCALL printf
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
jsr SCRN.UpdateCurrentLine
|
||||||
|
|
||||||
|
>LDA.G ScreenH
|
||||||
|
dec
|
||||||
|
>PUSHA
|
||||||
|
>PUSHBI 1
|
||||||
|
>LDYA L.SEQ.SCROLLRGN
|
||||||
|
>SYSCALL printf
|
||||||
|
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -7,6 +7,7 @@ FILE.New >LDYAI 4096
|
|||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
>STYA BufPtr
|
||||||
>STYA.G BufBase
|
>STYA.G BufBase
|
||||||
|
|
||||||
txa
|
txa
|
||||||
@ -51,7 +52,7 @@ FILE.Load.TXT stz FileLen
|
|||||||
jsr FILE.GetBuffer
|
jsr FILE.GetBuffer
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
>LDYA 256
|
>LDYAI 256
|
||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
@ -72,97 +73,147 @@ FILE.Load.TXT stz FileLen
|
|||||||
>PUSHW ZPPTR1
|
>PUSHW ZPPTR1
|
||||||
lda TmpIndex
|
lda TmpIndex
|
||||||
>SYSCALL fread
|
>SYSCALL fread
|
||||||
bcs .8
|
bcs .7
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta (ZPPTR1),y Y = line len
|
sta (ZPPTR1),y Y = line len
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
ldy #0
|
||||||
lda (ZPPTR1)
|
lda (ZPPTR1)
|
||||||
|
beq .8
|
||||||
|
|
||||||
clc
|
|
||||||
eor #C.LF
|
eor #C.LF
|
||||||
bne .2
|
bne .2
|
||||||
|
|
||||||
|
phy
|
||||||
|
|
||||||
lda #2
|
lda #2
|
||||||
>STA.G FileType
|
>STA.G FileType
|
||||||
sec
|
|
||||||
|
|
||||||
.2 lda ZPPTR1
|
ply
|
||||||
adc #0
|
iny
|
||||||
tay
|
|
||||||
|
|
||||||
lda ZPPTR1+1
|
.2 lda (ZPPTR1),y
|
||||||
adc #0
|
beq .4
|
||||||
>PUSHYA
|
|
||||||
>LDYA BufPtr
|
sta (BufPtr)
|
||||||
>SYSCALL strcat
|
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
|
bra .1
|
||||||
|
|
||||||
.8 cmp #MLI.E.EOF
|
.7 cmp #MLI.E.EOF
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
>LDYA BufPtr
|
.8 lda #0
|
||||||
>SYSCALL strlen
|
sta (BufPtr)
|
||||||
>STYA FileLen
|
|
||||||
|
|
||||||
clc
|
clc
|
||||||
.9 jmp FILE.Load.Cleanup
|
.HS B0 BCS
|
||||||
|
.9 sec
|
||||||
|
jmp FILE.Close
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FILE.Load.ASM
|
FILE.Load.ASM
|
||||||
lda #MLI.E.INCFF
|
lda #MLI.E.INCFF
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FILE.Load.Cleanup
|
FILE.Save >LDYAI 256
|
||||||
php
|
>SYSCALL GetMem
|
||||||
pha
|
bcs .9
|
||||||
lda TmpByte
|
|
||||||
beq .1
|
|
||||||
>SYSCALL freemem
|
|
||||||
|
|
||||||
.1 lda TmpIndex
|
>STYA ZPPTR1
|
||||||
beq .2
|
stx TmpByte
|
||||||
|
|
||||||
>SYSCALL fclose
|
>LDA.G FileType
|
||||||
|
tax
|
||||||
|
|
||||||
.2 pla
|
jmp (J.SAVE,x)
|
||||||
plp
|
.9 rts
|
||||||
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 S.FI.T.TXT
|
||||||
>PUSHBI O.CREATE+O.WRONLY
|
>PUSHBI O.CREATE+O.WRONLY
|
||||||
>LDA.G hFileName
|
>LDA.G hFileName
|
||||||
>SYSCALL GetMemPtr
|
>SYSCALL GetMemPtr
|
||||||
|
|
||||||
>SYSCALL FOpen
|
>SYSCALL FOpen
|
||||||
bcs .9
|
bcs .9
|
||||||
pha
|
|
||||||
>PUSHW FileLen
|
sta TmpIndex
|
||||||
>LDA.G hBuffer
|
|
||||||
>SYSCALL GetMemPtr
|
>LDYA.G BufBase
|
||||||
|
>STYA BufPtr
|
||||||
|
|
||||||
|
.1 lda (BufPtr)
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
ldy #$ff
|
||||||
|
|
||||||
|
.2 iny
|
||||||
|
lda (BufPtr),y
|
||||||
|
sta (ZPPTR1),y
|
||||||
|
beq .3
|
||||||
|
|
||||||
|
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
|
>PUSHYA
|
||||||
pla
|
>PUSHW ZPPTR1
|
||||||
pha
|
lda TmpIndex
|
||||||
|
|
||||||
>SYSCALL FWrite
|
>SYSCALL FWrite
|
||||||
bcc .1
|
bcs .9
|
||||||
|
|
||||||
tax
|
bra .1
|
||||||
pla
|
|
||||||
phx
|
|
||||||
>SYSCALL FClose
|
|
||||||
pla
|
|
||||||
sec
|
|
||||||
rts
|
|
||||||
|
|
||||||
.1 pla
|
.8 lda #$80
|
||||||
>SYSCALL FClose
|
|
||||||
|
|
||||||
lda #$80
|
|
||||||
>STA.G bSaved
|
>STA.G bSaved
|
||||||
jsr SCRN.UpdateTopBar
|
jsr SCRN.UpdateTopBar
|
||||||
.9 rts
|
clc
|
||||||
|
.9 jmp FILE.Close
|
||||||
|
*--------------------------------------
|
||||||
|
FILE.Save.ASM
|
||||||
|
clc
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
FILE.GetBuffer >LDA.G STATBUF+S.STAT.SIZE+3
|
FILE.GetBuffer >LDA.G STATBUF+S.STAT.SIZE+3
|
||||||
dey
|
dey
|
||||||
@ -183,6 +234,7 @@ FILE.GetBuffer >LDA.G STATBUF+S.STAT.SIZE+3
|
|||||||
>SYSCALL GetMem
|
>SYSCALL GetMem
|
||||||
bcs .99
|
bcs .99
|
||||||
|
|
||||||
|
>STYA BufPtr
|
||||||
>STYA.G BufBase
|
>STYA.G BufBase
|
||||||
txa
|
txa
|
||||||
>STA.G hBuffer
|
>STA.G hBuffer
|
||||||
@ -196,6 +248,21 @@ FILE.GetBuffer >LDA.G STATBUF+S.STAT.SIZE+3
|
|||||||
sec
|
sec
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
FILE.Close php
|
||||||
|
pha
|
||||||
|
lda TmpByte
|
||||||
|
beq .1
|
||||||
|
>SYSCALL freemem
|
||||||
|
|
||||||
|
.1 lda TmpIndex
|
||||||
|
beq .2
|
||||||
|
|
||||||
|
>SYSCALL fclose
|
||||||
|
|
||||||
|
.2 pla
|
||||||
|
plp
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/BIN/EDIT.S.FILE
|
SAVE USR/SRC/BIN/EDIT.S.FILE
|
||||||
LOAD USR/SRC/BIN/EDIT.S
|
LOAD USR/SRC/BIN/EDIT.S
|
||||||
|
@ -14,12 +14,13 @@ SCRN.Init >LDA.G ScreenH
|
|||||||
|
|
||||||
jsr SCRN.UpdateTopBar
|
jsr SCRN.UpdateTopBar
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
jmp SCRN.UpdateMain
|
jmp SCRN.UpdateMain
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
SCRN.Home lda #0
|
SCRN.Home lda #0
|
||||||
|
|
||||||
ldy #FileX Zero all
|
ldy #FileX Zero FileXY,ScreenXY & CurXY
|
||||||
|
|
||||||
.1 sta (pData),y
|
.1 sta (pData),y
|
||||||
iny
|
iny
|
||||||
@ -89,6 +90,7 @@ SCRN.UpdateMain >LDA.G ScreenY
|
|||||||
|
|
||||||
.1 lda TmpIndex
|
.1 lda TmpIndex
|
||||||
ldx TmpIndex+1
|
ldx TmpIndex+1
|
||||||
|
|
||||||
jsr BUF.GetLineAX Y = line length
|
jsr BUF.GetLineAX Y = line length
|
||||||
bcs .5
|
bcs .5
|
||||||
|
|
||||||
@ -167,9 +169,7 @@ SCRN.UpdateLineAtALenY
|
|||||||
jsr SCRN.ToLineBuf
|
jsr SCRN.ToLineBuf
|
||||||
bra .10
|
bra .10
|
||||||
|
|
||||||
.11 ldy #0
|
.11 >LDA.G ScreenW
|
||||||
|
|
||||||
>LDA.G ScreenW
|
|
||||||
tax
|
tax
|
||||||
>LDA.G ScreenX
|
>LDA.G ScreenX
|
||||||
cmp TmpLen
|
cmp TmpLen
|
||||||
|
@ -3,12 +3,16 @@ NEW
|
|||||||
.LIST OFF
|
.LIST OFF
|
||||||
.OP 65C02
|
.OP 65C02
|
||||||
.OR $2000
|
.OR $2000
|
||||||
.TF BIN/EDIT2
|
.TF BIN/EDIT
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB INC/MACROS.I
|
.INB INC/MACROS.I
|
||||||
.INB INC/A2OSX.I
|
.INB INC/A2OSX.I
|
||||||
.INB INC/MLI.I
|
.INB INC/MLI.I
|
||||||
.INB INC/MLI.E.I
|
.INB INC/MLI.E.I
|
||||||
|
*--------------------------------------
|
||||||
|
PROMPTBUFMAX .EQ 64
|
||||||
|
TABLEN .EQ 4
|
||||||
|
TABMASK .EQ 3
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.DUMMY
|
.DUMMY
|
||||||
.OR ZPBIN
|
.OR ZPBIN
|
||||||
@ -40,9 +44,6 @@ bSelected .BS 1
|
|||||||
|
|
||||||
ZS.END .ED
|
ZS.END .ED
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
PROMPTBUFMAX .EQ 64
|
|
||||||
TABLEN .EQ 4
|
|
||||||
*--------------------------------------
|
|
||||||
PromptModeHelp .EQ 2
|
PromptModeHelp .EQ 2
|
||||||
PromptModeFind .EQ 4
|
PromptModeFind .EQ 4
|
||||||
PromptModeReplace .EQ 6
|
PromptModeReplace .EQ 6
|
||||||
@ -70,9 +71,11 @@ CS.START cld
|
|||||||
.DA CS.QUIT
|
.DA CS.QUIT
|
||||||
L.SEQ.DETECT .DA SEQ.DETECT
|
L.SEQ.DETECT .DA SEQ.DETECT
|
||||||
L.SEQ.INIT .DA SEQ.INIT
|
L.SEQ.INIT .DA SEQ.INIT
|
||||||
|
L.SEQ.SCROLLRGN .DA SEQ.SCROLLRGN
|
||||||
L.SEQ.RESET .DA SEQ.RESET
|
L.SEQ.RESET .DA SEQ.RESET
|
||||||
L.SEQ.SCROLLUP .DA SEQ.SCROLLUP
|
L.SEQ.SCROLLUP .DA SEQ.SCROLLUP
|
||||||
L.SEQ.SCROLLDN .DA SEQ.SCROLLDN
|
L.SEQ.SCROLLDN .DA SEQ.SCROLLDN
|
||||||
|
L.SEQ.SCROLLCURDN .DA SEQ.SCROLLCURDN
|
||||||
L.SEQ.CEOL .DA SEQ.CEOL
|
L.SEQ.CEOL .DA SEQ.CEOL
|
||||||
L.SEQ.BAR .DA SEQ.BAR
|
L.SEQ.BAR .DA SEQ.BAR
|
||||||
L.MSG.TOPBAR .DA MSG.TOPBAR
|
L.MSG.TOPBAR .DA MSG.TOPBAR
|
||||||
@ -89,6 +92,9 @@ L.MSG.NEWFILE .DA MSG.NEWFILE
|
|||||||
L.MSG.GOTOXY .DA MSG.GOTOXY
|
L.MSG.GOTOXY .DA MSG.GOTOXY
|
||||||
L.MSG.HELPLINE .DA MSG.HELPLINE
|
L.MSG.HELPLINE .DA MSG.HELPLINE
|
||||||
L.MSG.HELP .DA MSG.HELP
|
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
|
J.PROMPT .DA Prompt.Editor
|
||||||
.DA Prompt.Help
|
.DA Prompt.Help
|
||||||
.DA Prompt.Find
|
.DA Prompt.Find
|
||||||
@ -357,10 +363,12 @@ CharIn.Esc >STZ.G bEscMode
|
|||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CS.END
|
CS.END
|
||||||
SEQ.DETECT .AZ "Querying terminal capabilities...\e[999;999H\e[6n"
|
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.RESET .AZ "\ec"
|
||||||
|
SEQ.INIT .AS "\ec"
|
||||||
|
SEQ.SCROLLRGN .AZ "\e[?7l\e[2;%dr"
|
||||||
SEQ.SCROLLUP .AZ "\eD"
|
SEQ.SCROLLUP .AZ "\eD"
|
||||||
SEQ.SCROLLDN .AZ "\eM"
|
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.BAR .AS "\e[40;37m\e[7m%s" +SEQ.NORM
|
||||||
SEQ.NORM .AZ "\e[0m"
|
SEQ.NORM .AZ "\e[0m"
|
||||||
SEQ.INV .AZ "\e[7m"
|
SEQ.INV .AZ "\e[7m"
|
||||||
@ -370,7 +378,7 @@ MSG.TOPBAR .AZ "A2osX Edit:%s %s"
|
|||||||
MSG.TXTCR .AZ "TXT/CR"
|
MSG.TXTCR .AZ "TXT/CR"
|
||||||
MSG.TXTCRLF .AZ "TXT/CRLF"
|
MSG.TXTCRLF .AZ "TXT/CRLF"
|
||||||
MSG.TXTASM .AZ "S-C/ASM"
|
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.H .AZ "Press any key to exit this screen:"
|
||||||
MSG.STATUSBAR.F .AZ "Find:%s"
|
MSG.STATUSBAR.F .AZ "Find:%s"
|
||||||
MSG.STATUSBAR.R .AZ "Replace:%s"
|
MSG.STATUSBAR.R .AZ "Replace:%s"
|
||||||
|
@ -117,13 +117,7 @@ ARP.IN ldy #S.ARP.TPA+3
|
|||||||
cmp #S.ARP.OPERATION.REP
|
cmp #S.ARP.OPERATION.REP
|
||||||
beq ARP.IN.REP
|
beq ARP.IN.REP
|
||||||
|
|
||||||
ARP.IN.EXIT lda hFrameIn
|
ARP.IN.EXIT jmp FRM.DiscardIn
|
||||||
beq .8
|
|
||||||
|
|
||||||
stz hFrameIn
|
|
||||||
>SYSCALL2 FreeMem
|
|
||||||
.8 clc
|
|
||||||
rts
|
|
||||||
|
|
||||||
ARP.IN.REQ ldy #S.ARP.SPA+3
|
ARP.IN.REQ ldy #S.ARP.SPA+3
|
||||||
ldx #3
|
ldx #3
|
||||||
|
@ -493,10 +493,8 @@ DNS.POLL lda hDNSSocket
|
|||||||
cpx #4
|
cpx #4
|
||||||
bne .5
|
bne .5
|
||||||
jsr DNS.UPDATE.BY.ID
|
jsr DNS.UPDATE.BY.ID
|
||||||
.9 lda hFrameIn
|
|
||||||
>SYSCALL2 FreeMem
|
.9 jmp FRM.DiscardIn
|
||||||
clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
DNS.NextCache lda ZPCachePtr
|
DNS.NextCache lda ZPCachePtr
|
||||||
clc
|
clc
|
||||||
|
@ -275,8 +275,8 @@ FRM.Queue plp
|
|||||||
FRM.Discard lda hFrameOut
|
FRM.Discard lda hFrameOut
|
||||||
beq FRM.Discard.9
|
beq FRM.Discard.9
|
||||||
|
|
||||||
>SYSCALL2 FreeMem
|
|
||||||
stz hFrameOut
|
stz hFrameOut
|
||||||
|
>SYSCALL2 FreeMem
|
||||||
|
|
||||||
FRM.Discard.9 sec
|
FRM.Discard.9 sec
|
||||||
rts
|
rts
|
||||||
@ -313,6 +313,7 @@ FRM.Retry ldx FRM.QUEUE.Tail
|
|||||||
inx
|
inx
|
||||||
cpx #K.FRMQUEUE.SIZE
|
cpx #K.FRMQUEUE.SIZE
|
||||||
bne .5
|
bne .5
|
||||||
|
|
||||||
ldx #0
|
ldx #0
|
||||||
.5 stx FRM.QUEUE.Tail
|
.5 stx FRM.QUEUE.Tail
|
||||||
>SYSCALL2 FreeMem
|
>SYSCALL2 FreeMem
|
||||||
@ -333,6 +334,14 @@ FRM.Send.IOCTL >PUSHW L.IOCTL
|
|||||||
>SYSCALL2 IOCTL
|
>SYSCALL2 IOCTL
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
FRM.DiscardIn lda hFrameIn
|
||||||
|
beq .8
|
||||||
|
stz hFrameIn
|
||||||
|
|
||||||
|
>SYSCALL2 FreeMem
|
||||||
|
.8 clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE USR/SRC/LIB/LIBTCPIP.S.FRM
|
SAVE USR/SRC/LIB/LIBTCPIP.S.FRM
|
||||||
LOAD USR/SRC/LIB/LIBTCPIP.S
|
LOAD USR/SRC/LIB/LIBTCPIP.S
|
||||||
|
@ -37,11 +37,8 @@ ICMP.IN.ECHOREQ ldy #S.IP.DST+3
|
|||||||
bpl .3
|
bpl .3
|
||||||
clc Queue if fail
|
clc Queue if fail
|
||||||
jmp FRM.SendIP
|
jmp FRM.SendIP
|
||||||
ICMP.IN.EXIT lda hFrameIn
|
|
||||||
beq .8
|
ICMP.IN.EXIT jmp FRM.DiscardIn
|
||||||
>SYSCALL2 FreeMem
|
|
||||||
stz hFrameIn
|
|
||||||
.8 rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
ICMP.IN.ECHOREP jsr FRM.GetTargetSKT.RAW
|
ICMP.IN.ECHOREP jsr FRM.GetTargetSKT.RAW
|
||||||
ldy #S.ICMP.IDENTIFIER
|
ldy #S.ICMP.IDENTIFIER
|
||||||
@ -53,9 +50,12 @@ ICMP.IN.ECHOREP jsr FRM.GetTargetSKT.RAW
|
|||||||
|
|
||||||
jsr SKT.FindMatchingLocRem
|
jsr SKT.FindMatchingLocRem
|
||||||
bcs ICMP.IN.EXIT
|
bcs ICMP.IN.EXIT
|
||||||
|
|
||||||
ldy #S.SOCKET.PROTO
|
ldy #S.SOCKET.PROTO
|
||||||
lda (ZPPtrSKT),y
|
lda (ZPPtrSKT),y
|
||||||
cmp #S.IP.PROTOCOL.ICMP bne ICMP.IN.EXIT
|
cmp #S.IP.PROTOCOL.ICMP
|
||||||
|
bne ICMP.IN.EXIT
|
||||||
|
|
||||||
lda hFrameIn
|
lda hFrameIn
|
||||||
jsr SKT.AddToQueueA
|
jsr SKT.AddToQueueA
|
||||||
bcs ICMP.IN.EXIT Q full, discard...
|
bcs ICMP.IN.EXIT Q full, discard...
|
||||||
|
@ -18,15 +18,15 @@ IP.IN ldy #S.IP.PROTOCOL
|
|||||||
lda hFrameIn
|
lda hFrameIn
|
||||||
jsr SKT.AddToQueueA
|
jsr SKT.AddToQueueA
|
||||||
bcs .9 Q full, discard...
|
bcs .9 Q full, discard...
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.3 cmp #S.IP.PROTOCOL.TCP
|
.3 cmp #S.IP.PROTOCOL.TCP
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
jsr TCP.IN TCP may NOT discard FrameIn
|
jsr TCP.IN TCP may NOT discard FrameIn
|
||||||
.9 lda hFrameIn
|
|
||||||
beq .8
|
.9 jmp FRM.DiscardIn
|
||||||
>SYSCALL2 FreeMem
|
|
||||||
.8 clc
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IP.ComputeICMPChecksum
|
IP.ComputeICMPChecksum
|
||||||
stz IP.CHECKSUM
|
stz IP.CHECKSUM
|
||||||
|
@ -340,7 +340,7 @@ SKT.shutdown.SEQPACKET
|
|||||||
pla
|
pla
|
||||||
inc
|
inc
|
||||||
cmp #S.SOCKET.HQ.MAX
|
cmp #S.SOCKET.HQ.MAX
|
||||||
beq .2
|
bne .2
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
|
|
||||||
@ -954,6 +954,7 @@ SKT.Send clc
|
|||||||
jsr SKT.PullhFDDataInPtrLen
|
jsr SKT.PullhFDDataInPtrLen
|
||||||
plp
|
plp
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
jsr SKT.PullRemAddr
|
jsr SKT.PullRemAddr
|
||||||
|
|
||||||
.1 ldy #S.SOCKET.T
|
.1 ldy #S.SOCKET.T
|
||||||
@ -993,9 +994,14 @@ SKT.Send.SEQPACKET
|
|||||||
|
|
||||||
jsr SKT.CopyDataInToOut
|
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
|
* # GetSockOpt
|
||||||
* Set Socket Options
|
* Set Socket Options
|
||||||
|
@ -23,10 +23,7 @@ TCP.IN.RST lda SKT.TABLE,x
|
|||||||
TCP.IN.JMP.OPENED
|
TCP.IN.JMP.OPENED
|
||||||
TCP.IN.JMP.CLOSED
|
TCP.IN.JMP.CLOSED
|
||||||
TCP.IN.JMP.DISCARD
|
TCP.IN.JMP.DISCARD
|
||||||
lda hFrameIn
|
jmp FRM.DiscardIn
|
||||||
stz hFrameIn
|
|
||||||
>SYSCALL2 FreeMem
|
|
||||||
rts
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TCP.IN.JMP.LISTEN
|
TCP.IN.JMP.LISTEN
|
||||||
ldy #S.SOCKET.T Create a new client socket
|
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
|
bcs .9
|
||||||
|
|
||||||
jsr SKT.GetDataFromSktOut
|
jsr SKT.GetDataFromSktOut
|
||||||
|
|
||||||
ldy #S.TCP.WINDOW
|
ldy #S.TCP.WINDOW
|
||||||
lda SKT.Cache+S.SOCKET.TCP.INFREE+1
|
lda SKT.Cache+S.SOCKET.TCP.INFREE+1
|
||||||
sta (ZPFrameOutPtr),y
|
sta (ZPFrameOutPtr),y
|
||||||
iny
|
iny
|
||||||
lda SKT.Cache+S.SOCKET.TCP.INFREE
|
lda SKT.Cache+S.SOCKET.TCP.INFREE
|
||||||
sta (ZPFrameOutPtr),y
|
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
|
jsr TCP.OUT.Send
|
||||||
bcs .9
|
bcs TCP.OUT.Send.RTS
|
||||||
|
|
||||||
lda ZPDataOutLen
|
lda ZPDataOutLen
|
||||||
ldy ZPDataOutLen+1
|
ldy ZPDataOutLen+1
|
||||||
ldx #S.SOCKET.TCP.OUTNEXTSEQ
|
ldx #S.SOCKET.TCP.OUTNEXTSEQ
|
||||||
@ -486,7 +486,7 @@ TCP.OUT.SendOptA
|
|||||||
|
|
||||||
>LDYAI 0
|
>LDYAI 0
|
||||||
jsr TCP.NewFrame
|
jsr TCP.NewFrame
|
||||||
bcs TCP.OUT.Send.9
|
bcs TCP.OUT.Send.RTS
|
||||||
|
|
||||||
ldy #S.SOCKET.TCP.INFREE+1
|
ldy #S.SOCKET.TCP.INFREE+1
|
||||||
lda (ZPPtrSKT),y
|
lda (ZPPtrSKT),y
|
||||||
@ -528,13 +528,14 @@ TCP.OUT.Send ldy #S.TCP.OPTIONS
|
|||||||
sec DONT Queue if fail
|
sec DONT Queue if fail
|
||||||
|
|
||||||
jsr FRM.SendIP
|
jsr FRM.SendIP
|
||||||
bcs TCP.OUT.Send.9
|
bcs TCP.OUT.Send.RTS
|
||||||
ldy #S.SOCKET.TCP.O
|
ldy #S.SOCKET.TCP.O
|
||||||
lda #0
|
lda #0
|
||||||
sta (ZPPtrSKT),y
|
sta (ZPPtrSKT),y
|
||||||
|
|
||||||
* clc
|
* clc
|
||||||
TCP.OUT.Send.9 rts
|
TCP.OUT.Send.RTS
|
||||||
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
TCP.SetSocketTCPO.ACK
|
TCP.SetSocketTCPO.ACK
|
||||||
lda #S.TCP.OPTIONS.ACK
|
lda #S.TCP.OPTIONS.ACK
|
||||||
|
@ -225,6 +225,7 @@ CS.RUN.CLIENT
|
|||||||
.3 jsr CS.RUN.MSG.GetStr
|
.3 jsr CS.RUN.MSG.GetStr
|
||||||
bcs .7
|
bcs .7
|
||||||
|
|
||||||
|
>PUSHYA
|
||||||
>PUSHW ZPStrPtr
|
>PUSHW ZPStrPtr
|
||||||
ldy #S.PS.hStdOut
|
ldy #S.PS.hStdOut
|
||||||
lda (pPS),y
|
lda (pPS),y
|
||||||
@ -305,7 +306,7 @@ CS.RUN.MSG.GetStr
|
|||||||
.31 eor #C.LF
|
.31 eor #C.LF
|
||||||
bne .9
|
bne .9
|
||||||
|
|
||||||
sta (ZPStrPtr),y
|
sta (ZPStrPtr),y Y,A = StrLen
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@ -359,7 +360,7 @@ HTTP.200OK .AS "HTTP/1.1 200 OK"
|
|||||||
.AS "Connection: Close"
|
.AS "Connection: Close"
|
||||||
.DA #C.CR,#C.LF
|
.DA #C.CR,#C.LF
|
||||||
.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
|
.DA #C.CR,#C.LF
|
||||||
HTTP.200OK.len .EQ *-HTTP.200OK
|
HTTP.200OK.len .EQ *-HTTP.200OK
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -1197,7 +1197,7 @@ DOWILL.CNT .EQ *-DOWILL
|
|||||||
DOWONT .DA #TELOPT.ECHO,#TELOPT.NEWENVIRON,#TELOPT.XDISPLOC,#TELOPT.TSPEED,#TELOPT.LFLOW
|
DOWONT .DA #TELOPT.ECHO,#TELOPT.NEWENVIRON,#TELOPT.XDISPLOC,#TELOPT.TSPEED,#TELOPT.LFLOW
|
||||||
DOWONT.CNT .EQ *-DOWONT
|
DOWONT.CNT .EQ *-DOWONT
|
||||||
SB.IS.TTYPE .DA #IAC,#SB,#TELOPT.TTYPE,#SB.IS
|
SB.IS.TTYPE .DA #IAC,#SB,#TELOPT.TTYPE,#SB.IS
|
||||||
ENQ.String .AS "xterm"
|
ENQ.String .AS "vt100"
|
||||||
ENQ.String.Len .EQ *-ENQ.String
|
ENQ.String.Len .EQ *-ENQ.String
|
||||||
.DA #IAC,#SE
|
.DA #IAC,#SE
|
||||||
SB.IS.TTYPE.LEN .EQ *-SB.IS.TTYPE
|
SB.IS.TTYPE.LEN .EQ *-SB.IS.TTYPE
|
||||||
|
Loading…
Reference in New Issue
Block a user