mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-19 20:29:34 +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
|
||||
*--------------------------------------
|
||||
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
|
||||
|
||||
>LDYA BufPtr
|
||||
>STYA BufPtrDst
|
||||
lda #TABLEN
|
||||
|
||||
.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
|
||||
pha
|
||||
txa
|
||||
clc
|
||||
>ADC.G ClipboardLen
|
||||
sta BufPtrDst
|
||||
pla
|
||||
>ADC.G ClipboardLen+1
|
||||
sta BufPtrDst+1
|
||||
|
||||
jsr BUF.CopyClipboard
|
||||
jsr BUF.CopyTail
|
||||
jsr BUF.MoveForwardTail
|
||||
|
||||
>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
|
||||
adc FileLen
|
||||
sta FileLen
|
||||
|
@ -95,86 +187,44 @@ BUF.InsertClipboard
|
|||
adc 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
|
||||
.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
|
||||
lda SelStart+1
|
||||
>ADC.G BufBase+1
|
||||
sta BufPtrDst+1
|
||||
|
||||
>LDYA.G SelStart
|
||||
jsr BUF.Start2YA
|
||||
lda BufPtrBackup
|
||||
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
|
||||
|
|
|
@ -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
|
||||
|
||||
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
|
||||
*--------------------------------------
|
||||
|
|
|
@ -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
|
||||
|
||||
|
@ -72,97 +73,147 @@ FILE.Load.TXT stz FileLen
|
|||
>PUSHW ZPPTR1
|
||||
lda TmpIndex
|
||||
>SYSCALL fread
|
||||
bcs .8
|
||||
bcs .7
|
||||
|
||||
lda #0
|
||||
sta (ZPPTR1),y Y = line len
|
||||
|
||||
ldx #0
|
||||
ldy #0
|
||||
lda (ZPPTR1)
|
||||
beq .8
|
||||
|
||||
clc
|
||||
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
|
||||
|
||||
.1 lda TmpIndex
|
||||
beq .2
|
||||
>STYA ZPPTR1
|
||||
stx TmpByte
|
||||
|
||||
>SYSCALL fclose
|
||||
>LDA.G FileType
|
||||
tax
|
||||
|
||||
.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
|
||||
|
||||
sta TmpIndex
|
||||
|
||||
>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
|
||||
pla
|
||||
pha
|
||||
|
||||
>PUSHW ZPPTR1
|
||||
lda TmpIndex
|
||||
>SYSCALL FWrite
|
||||
bcc .1
|
||||
bcs .9
|
||||
|
||||
tax
|
||||
pla
|
||||
phx
|
||||
>SYSCALL FClose
|
||||
pla
|
||||
sec
|
||||
rts
|
||||
bra .1
|
||||
|
||||
.1 pla
|
||||
>SYSCALL FClose
|
||||
|
||||
lda #$80
|
||||
.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,6 +234,7 @@ FILE.GetBuffer >LDA.G STATBUF+S.STAT.SIZE+3
|
|||
>SYSCALL GetMem
|
||||
bcs .99
|
||||
|
||||
>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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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...
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
*--------------------------------------
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue
Block a user