A2osX/BIN/EDIT.S.txt

716 lines
14 KiB
Plaintext
Raw Normal View History

NEW
2019-05-27 06:01:59 +00:00
AUTO 3,1
.LIST OFF
.OP 65C02
.OR $2000
2020-07-27 14:09:19 +00:00
.TF bin/edit
2021-07-03 17:18:58 +00:00
*--------------------------------------
FILEBUF.SIZE .EQ 2048
*--------------------------------------
2020-07-27 14:09:19 +00:00
.INB inc/macros.i
.INB inc/a2osx.i
.INB inc/mli.i
.INB inc/mli.e.i
*--------------------------------------
2019-03-26 12:17:47 +00:00
.DUMMY
.OR ZPBIN
ZS.START
BufPtr .BS 2
2019-11-18 16:40:32 +00:00
BufPtrDst .BS 2
2019-03-26 12:17:47 +00:00
ClipboardPtr .BS 2
2019-05-27 06:01:59 +00:00
LineBufPtr .BS 2
2019-05-24 15:26:07 +00:00
2019-03-26 12:17:47 +00:00
BUF.LOffset .BS 2
BUF.COffset .BS 2
BUF.TmpLine1 .BS 2
BUF.TmpLine2 .BS 2
2019-05-27 06:01:59 +00:00
2019-11-06 13:14:42 +00:00
FileLen .BS 2
2019-05-27 15:37:31 +00:00
BufLen .BS 2
2019-05-27 06:01:59 +00:00
SelLen .BS 2
2019-11-20 16:37:09 +00:00
ZPPTR1 .BS 2
2019-11-12 16:39:22 +00:00
2019-11-20 16:37:09 +00:00
bRepaint .BS 1
2020-02-28 16:30:16 +00:00
bSelected .BS 1
2019-11-04 07:21:40 +00:00
2019-11-20 16:37:09 +00:00
ZPPTR2 .EQ *
TmpLen .BS 2
2019-11-04 07:21:40 +00:00
2019-11-20 16:37:09 +00:00
TmpIndex .BS 2
2019-05-27 15:37:31 +00:00
TmpCount .BS 1
2019-05-27 06:01:59 +00:00
TmpByte .BS 1
2019-03-26 12:17:47 +00:00
ZS.END .ED
2016-01-04 07:25:43 +00:00
*--------------------------------------
* File Header (16 Bytes)
*--------------------------------------
CS.START cld
jmp (.1,x)
.DA #$61 6502,Level 1 (65c02)
.DA #1 BIN Layout Version 1
.DA #S.PS.F.EVENT S.PS.F
2018-10-29 08:41:10 +00:00
.DA #0
.DA CS.END-CS.START CS
.DA DS.END-DS.START DS
2019-05-24 15:26:07 +00:00
.DA #64 SS
2019-03-26 12:17:47 +00:00
.DA #ZS.END-ZS.START Zero Page Size
.DA 0
*--------------------------------------
* Relocation Table
2019-10-03 06:25:27 +00:00
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.QUIT
2016-01-04 07:25:43 +00:00
L.SEQ.INIT .DA SEQ.INIT
2019-11-17 14:39:55 +00:00
L.SEQ.SCROLLRGN .DA SEQ.SCROLLRGN
2016-01-04 07:25:43 +00:00
L.SEQ.RESET .DA SEQ.RESET
L.SEQ.SCROLLUP .DA SEQ.SCROLLUP
L.SEQ.SCROLLDN .DA SEQ.SCROLLDN
2019-11-18 16:40:32 +00:00
L.SEQ.SCROLLCURUP .DA SEQ.SCROLLCURUP
2019-11-17 14:39:55 +00:00
L.SEQ.SCROLLCURDN .DA SEQ.SCROLLCURDN
2016-01-04 07:25:43 +00:00
L.SEQ.CEOL .DA SEQ.CEOL
2021-07-03 17:18:58 +00:00
L.MSG.TERMCAP .DA MSG.TERMCAP
L.MSG.TOPBAR .DA MSG.TOPBAR
2019-11-12 16:39:22 +00:00
L.MSG.FILETYPES .DA MSG.TXTCR
.DA MSG.TXTCRLF
.DA MSG.ASM
2016-01-04 07:25:43 +00:00
L.MSG.STATUSBAR .DA MSG.STATUSBAR
L.MSG.STATUSBAR.H .DA MSG.STATUSBAR.H
2019-12-16 13:14:11 +00:00
L.MSG.STATUSBAR.U .DA MSG.STATUSBAR.U
L.MSG.STATUSBAR.S .DA MSG.STATUSBAR.S
L.MSG.STATUSBAR.E .DA MSG.STATUSBAR.E
L.MSG.NEWFILE .DA MSG.NEWFILE
2016-01-04 07:25:43 +00:00
L.MSG.GOTOXY .DA MSG.GOTOXY
L.MSG.HELPLINE .DA MSG.HELPLINE
2016-01-04 07:25:43 +00:00
L.MSG.HELP .DA MSG.HELP
2019-11-17 14:39:55 +00:00
J.SAVE .DA FILE.Save.CR
.DA FILE.Save.CRLF
.DA FILE.Save.ASM
2016-01-04 07:25:43 +00:00
J.CTRL .DA Ctrl.Invalid
.DA Ctrl.A
.DA Ctrl.B
.DA Ctrl.C
.DA Ctrl.D
.DA Ctrl.E
.DA Ctrl.F
.DA Ctrl.G
.DA Ctrl.BS
.DA Ctrl.TAB
.DA Ctrl.LF
.DA Ctrl.VT
.DA Ctrl.L
.DA Ctrl.CR
.DA Ctrl.N
.DA Ctrl.O
.DA Ctrl.P
.DA Ctrl.Q
.DA Ctrl.R
.DA Ctrl.S
.DA Ctrl.T
.DA Ctrl.FS
.DA Ctrl.V
.DA Ctrl.W
.DA Ctrl.X
.DA Ctrl.Y
.DA Ctrl.Z
2019-05-27 15:37:31 +00:00
.DA Ctrl.Invalid
2016-01-04 07:25:43 +00:00
.DA Ctrl.Invalid
.DA Ctrl.Invalid
.DA Ctrl.Invalid
.DA Ctrl.Invalid
2019-11-19 16:41:07 +00:00
L.DLG.SAVE .DA DLG.SAVE
2019-12-07 09:54:33 +00:00
L.DLG.FIND .DA DLG.FIND
2019-11-25 07:05:07 +00:00
J.DLG.CTRL.Draw .DA DLG.CTRL.Draw.LBL
.DA DLG.CTRL.Draw.TB
.DA DLG.CTRL.Draw.OL
.DA DLG.CTRL.Draw.BUT
J.DLG.CTRL.Focus
.DA DLG.CTRL.Focus.LBL
.DA DLG.CTRL.Focus.TB
.DA DLG.CTRL.Focus.OL
.DA DLG.CTRL.Focus.BUT
2019-11-27 16:47:13 +00:00
J.DLG.CTRL.GetWitdh
.DA DLG.CTRL.GetWitdh.LBL
.DA DLG.CTRL.GetWitdh.TB
.DA DLG.CTRL.GetWitdh.OL
.DA DLG.CTRL.GetWitdh.BUT
2019-11-28 16:50:08 +00:00
J.DLG.CTRL.CharIn
.DA DLG.CTRL.CharIn.LBL
.DA DLG.CTRL.CharIn.TB
.DA DLG.CTRL.CharIn.OL
.DA DLG.CTRL.CharIn.BUT
.DA 0
*--------------------------------------
2018-10-29 08:41:10 +00:00
CS.INIT clc
2019-11-12 16:39:22 +00:00
CS.INIT.RTS rts
*--------------------------------------
2021-07-03 17:18:58 +00:00
CS.RUN >PUSHW L.MSG.TERMCAP
2020-02-05 16:35:04 +00:00
>PUSHBI 0
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF Send Query for term W & H
2019-11-12 16:39:22 +00:00
bcs CS.INIT.RTS
2019-11-04 07:21:40 +00:00
.1 jsr GetCh
2019-12-07 09:54:33 +00:00
bcs CS.INIT.RTS
* beq .11
* >SYSCALL PutChar
* bcs CS.INIT.RTS
.11 >LDA.G ScreenW Wait for Response from terminal for W & H
2016-01-04 07:25:43 +00:00
beq .1
2019-11-04 07:21:40 +00:00
2021-07-03 17:18:58 +00:00
jsr SCRN.Init
2019-11-06 16:25:00 +00:00
>LDYAI 510+5+5+4+1 potentially 255*\\ NORM,INV,CEOL & \0
2020-02-28 07:21:46 +00:00
>SYSCALL GetMem
2019-12-07 09:54:33 +00:00
bcs CS.INIT.RTS
2020-02-05 16:35:04 +00:00
>STYA.G LineBufBase
2019-11-06 16:25:00 +00:00
txa
2020-01-23 14:48:22 +00:00
>STA.G hLineBuf
2018-10-29 08:41:10 +00:00
lda #1
>SYSCALL ArgV
bcs .2 No arg, new file....
2019-11-27 16:47:13 +00:00
2019-11-12 16:39:22 +00:00
jsr FILE.Load
2018-10-29 08:41:10 +00:00
bcc .3 if CS, Failed to load file, keep name, but new file....
2019-05-27 06:01:59 +00:00
cmp #E.OOM
beq CS.RUN.RTS
2019-11-04 07:21:40 +00:00
2019-11-12 16:39:22 +00:00
.2 jsr FILE.New
2018-10-29 08:41:10 +00:00
bcs CS.RUN.RTS
2019-11-04 07:21:40 +00:00
2021-07-03 17:18:58 +00:00
.3 jsr SCRN.Repaint
2019-05-27 06:01:59 +00:00
bcs CS.RUN.RTS
jsr CS.RUN.GetBuf64
2019-12-07 09:54:33 +00:00
bcs CS.RUN.RTS
>STA.G hFind
jsr CS.RUN.GetBuf64
2019-12-07 09:54:33 +00:00
bcs CS.RUN.RTS
2019-11-04 07:21:40 +00:00
>STA.G hReplace
2021-07-03 17:18:58 +00:00
*--------------------------------------
2020-02-10 16:24:49 +00:00
CS.RUN.LOOP jsr GetCh
2019-05-27 06:01:59 +00:00
bcs CS.RUN.RTS I/O error
2019-12-16 13:14:11 +00:00
beq .8
jsr CS.RUN.LOOP.CharIn
2019-05-29 15:21:14 +00:00
bcs .9
2019-11-04 07:21:40 +00:00
.8 >LDA.G bExit
2018-10-29 08:41:10 +00:00
bpl CS.RUN.LOOP
2019-05-29 15:21:14 +00:00
lda #0
2019-11-04 07:21:40 +00:00
2019-05-29 15:21:14 +00:00
.9 pha
2020-02-05 16:35:04 +00:00
>PUSHW L.SEQ.RESET
2018-10-29 08:41:10 +00:00
>PUSHBI 0
2020-02-28 07:21:46 +00:00
>SYSCALL PrintF
2019-05-29 15:21:14 +00:00
pla
2019-02-20 16:07:43 +00:00
sec
2018-10-29 08:41:10 +00:00
CS.RUN.RTS rts
*--------------------------------------
CS.RUN.LOOP.CharIn
cmp #C.DEL
bne .1
jmp Ctrl.DEL
.1 cmp #C.SPACE
bcc .2
jsr BUF.InsertA
bcs .9
jsr SCRN.UpdateCurrentEOL
bcs .9
jmp Ctrl.FS
.2 asl
tax
jmp (J.CTRL,x)
.9 rts
*--------------------------------------
CS.RUN.GetBuf64 >LDYAI 64
>SYSCALL GetMem
bcs .9
>STYA ZPPTR1
lda #0
sta (ZPPTR1)
txa
.9 rts
*--------------------------------------
CS.DOEVENT lda (pEvent)
bpl .9 is it a TIMER event?
2019-12-16 13:14:11 +00:00
2020-02-06 10:14:50 +00:00
asl
bpl .9
2020-02-06 10:14:50 +00:00
>STA.G bUpdateTop
>STA.G bUpdateStatus
.9 sec
rts
*--------------------------------------
2020-01-23 14:48:22 +00:00
CS.QUIT ldy #hLineBuf
jsr .7
2019-05-27 06:01:59 +00:00
2020-01-23 14:48:22 +00:00
ldy #hBuf
jsr .7
2019-11-04 13:41:58 +00:00
2020-01-23 14:48:22 +00:00
ldy #hBufBackup
jsr .7
2019-11-04 13:41:58 +00:00
2018-08-23 20:38:32 +00:00
ldy #hClipBoard
jsr .7
2018-08-23 20:38:32 +00:00
ldy #hFileName
jsr .7
2019-12-07 09:54:33 +00:00
ldy #hFind
jsr .7
2019-12-07 09:54:33 +00:00
ldy #hReplace
2019-11-04 13:41:58 +00:00
.7 lda (pData),y
beq .8
2019-11-04 13:41:58 +00:00
2018-08-24 12:40:19 +00:00
>SYSCALL FreeMem
2019-11-04 13:41:58 +00:00
.8 clc
2019-05-31 20:04:41 +00:00
rts
*--------------------------------------
2020-02-28 07:21:46 +00:00
GetCh >SYSCALL GetChar
2020-02-10 16:24:49 +00:00
bcs .9
2020-02-10 16:24:49 +00:00
cmp #C.CR
bne GetCh.1
2020-02-10 16:24:49 +00:00
ldy #S.PS.hStdIn Check for any extra LF
lda (pPS),y
2020-02-28 07:21:46 +00:00
>SYSCALL FEOF
2020-02-10 16:24:49 +00:00
bcs .9
2020-02-10 16:24:49 +00:00
tay
bne .8
2020-02-10 16:24:49 +00:00
>SYSCALL GetChar
bcs .9
2020-02-10 16:24:49 +00:00
.8 lda #C.CR
* clc
2020-02-10 16:24:49 +00:00
.9 rts
*--------------------------------------
GetCh.1 tax
2018-11-15 15:04:14 +00:00
>LDA.G bEscMode
bmi .1
cpx #C.ESC
bne .8
lda #$ff
>STA.G bEscMode
inc
clc
rts
.1 >LDA.G bCSIMode
bmi .11
2018-11-15 15:04:14 +00:00
2020-01-27 15:09:00 +00:00
cpx #'[' \e[ ?
bne GetCh.Esc
lda #$ff
>STA.G bCSIMode
inc
sta (pData) #EscBufferPtr
2020-01-27 15:09:00 +00:00
clc
rts
*--------------------------------------
2020-01-27 15:09:00 +00:00
.11 lda (pData) #EscBufferPtr
cmp #15
bcc .10
2019-12-17 12:28:49 +00:00
2020-01-27 15:09:00 +00:00
.19 >STZ.G bEscMode
>STA.G bCSIMode
2016-01-04 07:25:43 +00:00
2020-01-22 16:31:48 +00:00
clc
rts
2020-01-27 15:09:00 +00:00
.10 inc
sta (pData)
tay
2016-01-04 07:25:43 +00:00
txa
sta (pData),y
2016-01-04 07:25:43 +00:00
cmp #64
bcs GetCh.CSI
2019-12-17 12:28:49 +00:00
ldx #0
.8 txa
clc
rts
*--------------------------------------
GetCh.Esc >STZ.G bEscMode
2019-11-04 07:21:40 +00:00
GetCh.Esc1 txa
2019-11-18 16:40:32 +00:00
ldx #EscChars.Cnt-1
2019-11-04 07:21:40 +00:00
.1 cmp EscChars,x
2016-01-04 07:25:43 +00:00
beq .2
2016-01-04 07:25:43 +00:00
dex
2019-11-18 16:40:32 +00:00
bpl .1
2019-11-04 07:21:40 +00:00
lda #0
clc
rts
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
.2 lda EscAscii,x
clc
rts
2020-01-27 15:09:00 +00:00
*--------------------------------------
* \e[A UP
* \e[B DOWN
* \e[C FOWARD
* \e[D BACK
* \e[xxx;yyyR DSR ("\e[I6n" reply)
2020-01-27 15:09:00 +00:00
*--------------------------------------
GetCh.CSI >STZ.G bEscMode
>STA.G bCSIMode
cpx #'R' Response to cursor position query?
beq .3
>DEBUG
bra GetCh.Esc1
.3 stz TmpByte
2019-11-04 07:21:40 +00:00
2020-01-27 15:09:00 +00:00
ldy #0
.4 iny
2019-11-04 07:21:40 +00:00
2020-01-27 15:09:00 +00:00
lda (pData),y
2016-01-04 07:25:43 +00:00
cmp #';'
beq .5
2019-11-04 07:21:40 +00:00
jsr GetCh.TmpByte10pA
2016-01-04 07:25:43 +00:00
bra .4
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
.5 phy
lda TmpByte
2019-11-04 07:21:40 +00:00
>STA.G ScreenH
dec Remove 2 (top & status bar) for viewportH
dec
2019-11-04 07:21:40 +00:00
>STA.G ViewPortH
dec
2019-11-04 07:21:40 +00:00
>STA.G ViewPortHm1 Remove 1 more to store offsert to last line of viewport
2016-01-04 07:25:43 +00:00
ply
stz TmpByte
2019-11-04 07:21:40 +00:00
2020-01-27 15:09:00 +00:00
.6 iny
2020-01-27 15:09:00 +00:00
lda (pData),y
2016-01-04 07:25:43 +00:00
cmp #'R'
beq .7
2019-11-04 07:21:40 +00:00
jsr GetCh.TmpByte10pA
2020-01-27 15:09:00 +00:00
bra .6
.7 lda TmpByte
>STA.G ScreenW
.8 lda #0
clc
2020-01-27 15:09:00 +00:00
rts
*--------------------------------------
GetCh.TmpByte10pA
2016-01-04 07:25:43 +00:00
and #$0f
pha
lda TmpByte
2016-01-04 07:25:43 +00:00
asl
asl
clc
adc TmpByte
2016-01-04 07:25:43 +00:00
asl
sta TmpByte
2016-01-04 07:25:43 +00:00
pla
clc
adc TmpByte
sta TmpByte
2016-01-04 07:25:43 +00:00
rts
*--------------------------------------
2020-07-27 14:09:19 +00:00
.INB usr/src/bin/edit.s.buf
.INB usr/src/bin/edit.s.ctrl
.INB usr/src/bin/edit.s.dlg
.INB usr/src/bin/edit.s.file
.INB usr/src/bin/edit.s.scrn
2019-12-09 07:12:14 +00:00
*--------------------------------------
2020-01-27 15:09:00 +00:00
CS.END
2019-12-09 07:12:14 +00:00
SEQS .EQ *
SEQ.BAR .CZ "\e[7m\e[37;40m"
SEQ.DLG.BAR .CS "\e[0m\e[37;40m"
.DA #C.SO,#'x',#C.SI
.CZ "\e[7m\e[37;40m"
SEQ.DLG .CS "\e[30;46m"
2019-12-09 07:12:14 +00:00
.DA #C.SO,#'x',#C.SI
.DA #0
SEQ.DLG.VBAR .CS "\e[37;40m"
2019-12-09 07:12:14 +00:00
.DA #C.SO,#'x',#C.SI
.DA #0
SEQ.DLG.LBL .CZ "\e[0m\e[30;46m"
SEQ.DLG.TB .CZ "\e[0m\e[93;44m"
SEQ.DLG.BUT .CZ "\e[7m\e[93;44m"
SEQ.EDIT .CS "\e[0m\e[93;44m" +CEOL
SEQ.CEOL .CZ "\e[K"
SEQ.NORM .CZ "\e[0m"
SEQ.INV .CZ "\e[7m"
SEQ.CURSAVE .CZ "\e7"
SEQ.CURRESTORE .CZ "\e8"
2019-12-09 07:12:14 +00:00
*--------------------------------------
SEQ.RESET .CZ "\ec"
SEQ.INIT .CS "\ec\e(B\e)0"
SEQ.SCROLLRGN .CZ "\e[?7l\e[2;%dr"
SEQ.SCROLLCURUP .CS "\e[?7l\e[%d;%dr"
SEQ.SCROLLUP .CZ "\eD"
SEQ.SCROLLCURDN .CS "\e[?7l\e[%d;%dr"
SEQ.SCROLLDN .CZ "\eM"
2019-12-09 07:12:14 +00:00
*--------------------------------------
MSG.TERMCAP .CZ "\r\n\e[999;999H\e[6n"
MSG.TOPBAR .CZ "A2osX Edit %d.%d:%s (%s)"
MSG.TXTCR .CZ "TXT/CR"
MSG.TXTCRLF .CZ "TXT/CRLF"
MSG.ASM .CZ "ASM"
MSG.STATUSBAR .CZ "Press Ctrl-A For Help Len:%5D Pos:%5D Col:%3d Line:%5D"
MSG.STATUSBAR.H .CZ "Press any key to exit this screen "
MSG.STATUSBAR.U .CZ "Quit without Saving [Y/N] ? "
MSG.STATUSBAR.S .CZ "%s Saved."
MSG.STATUSBAR.E .CZ "Error:%h"
MSG.GOTOXY .CZ "\e[%d;%dH"
MSG.HELPLINE .CZ "\e[0m\e[93;44m%S\e[K"
2021-07-03 17:18:58 +00:00
*--------------------------------------
MSG.HELP .PS "All commands:"
.PS "-------------"
.PS " Ctrl-A : This help screen"
.PS " Ctrl-B : Mark beginning of selection"
.PS " Ctrl-C : Copy selection to clipboard"
.PS " Ctrl-D : Delete selection"
.PS " Ctrl-E : Mark end of selection"
.PS " Ctrl-F : Find/Replace..."
.PS " Ctrl-G : Go to start of current line"
.PS " Ctrl-L : Go to end of current line"
.PS " Ctrl-N : Find next"
.PS " Ctrl-O : Page up"
.PS " Ctrl-P : Page down"
.PS " Ctrl-Q : Quit"
.PS " Ctrl-R : Replace next"
.PS " Ctrl-S : Save file..."
.PS " Ctrl-T : Go to top of file"
.PS " Ctrl-V : Paste clipboard at cursor position"
.PS " Ctrl-W : Erase current line"
.PS " Ctrl-X : Cut block to clipboard"
.PS " Ctrl-Y : Go to end of file"
.PS " Ctrl-Z : Erase char under cursor"
2016-01-04 07:25:43 +00:00
.HS 00
*--------------------------------------
2019-11-12 16:39:22 +00:00
MSG.NEWFILE .AZ "newfile"
EscChars .AS "DABC"
2019-11-18 16:40:32 +00:00
EscChars.Cnt .EQ *-EscChars
EscAscii .DA #C.BS,#C.VT,#C.LF,#C.FS
2019-11-18 16:40:32 +00:00
*--------------------------------------
2019-11-20 16:37:09 +00:00
S.DLG.Size .EQ 0
S.DLG.X .EQ 1
S.DLG.Y .EQ 2
S.DLG.W .EQ 3
S.DLG.H .EQ 4
S.DLG.Title .EQ 5
S.DLG.Status .EQ 6
S.DLG.Focus .EQ 7
S.DLG.Ctrls .EQ 8
S.DLG.Ctrl.LBL .EQ 0
S.DLG.Ctrl.TB .EQ 2
S.DLG.Ctrl.OL .EQ 4
2019-11-22 14:05:37 +00:00
S.DLG.Ctrl.BUT .EQ 6
2019-11-20 16:37:09 +00:00
*--------------------------------------
DLG.SAVE .DA #DLG.SAVE.LEN Size
.DA #0 X
2019-11-18 16:40:32 +00:00
.DA #0 Y
.DA #70 W
2019-11-22 14:05:37 +00:00
.DA #11 H
2019-11-18 16:40:32 +00:00
.DA #DLG.SAVE.T-DLG.SAVE Title
.DA #DLG.SAVE.S-DLG.SAVE Status
2019-11-19 16:41:07 +00:00
2019-11-25 07:05:07 +00:00
.DA #9 Focus
2019-11-20 16:37:09 +00:00
.DA #DLG.SAVE.1-DLG.SAVE
.DA #DLG.SAVE.2-DLG.SAVE
.DA #DLG.SAVE.3-DLG.SAVE
.DA #DLG.SAVE.4-DLG.SAVE
2019-11-22 14:05:37 +00:00
.DA #DLG.SAVE.5-DLG.SAVE
.DA #DLG.SAVE.6-DLG.SAVE
2019-11-27 16:47:13 +00:00
.DA #DLG.SAVE.7-DLG.SAVE
.DA #DLG.SAVE.8-DLG.SAVE
2019-11-20 16:37:09 +00:00
.DA #0
2019-11-19 16:41:07 +00:00
2019-11-21 15:59:09 +00:00
DLG.SAVE.1 .DA #S.DLG.Ctrl.LBL,#2,#2
2019-11-20 16:37:09 +00:00
.AZ "Filename :"
2019-11-19 16:41:07 +00:00
2019-11-21 15:59:09 +00:00
DLG.SAVE.2 .DA #S.DLG.Ctrl.TB,#2,#3
2019-11-20 16:37:09 +00:00
.DA #0,#64,#hFileName CURPOS,MAXCHAR,hMem
2019-11-22 14:05:37 +00:00
DLG.SAVE.3 .DA #S.DLG.Ctrl.LBL,#2,#5
2019-11-20 16:37:09 +00:00
.AZ "Filetype :"
2019-11-22 14:05:37 +00:00
DLG.SAVE.4 .DA #S.DLG.Ctrl.OL,#2,#6
2019-11-27 16:47:13 +00:00
.DA #18 Ctrl-R
2019-11-28 16:50:08 +00:00
.DA #FileType
2019-11-27 16:47:13 +00:00
.DA #0
2019-11-21 15:59:09 +00:00
.AZ "TXT/CR"
2019-11-27 16:47:13 +00:00
DLG.SAVE.5 .DA #S.DLG.Ctrl.OL,#13,#6
.DA #12 Ctrl-L
2019-11-28 16:50:08 +00:00
.DA #FileType
.DA #1
2019-11-21 15:59:09 +00:00
.AZ "TXT/CRLF"
2019-11-27 16:47:13 +00:00
DLG.SAVE.6 .DA #S.DLG.Ctrl.OL,#26,#6
.DA #1 Ctrl-A
2019-11-28 16:50:08 +00:00
.DA #FileType
.DA #2
.AZ "ASM"
2019-11-27 16:47:13 +00:00
DLG.SAVE.7 .DA #S.DLG.Ctrl.BUT,#40,#8
2019-11-22 14:05:37 +00:00
.DA #C.CR
.AZ " Save "
2019-11-27 16:47:13 +00:00
DLG.SAVE.8 .DA #S.DLG.Ctrl.BUT,#52,#8
2019-11-22 14:05:37 +00:00
.DA #3 Ctrl-C
.AZ " Cancel "
2019-11-19 16:41:07 +00:00
DLG.SAVE.T .AZ "Save As..." Title
2019-11-28 16:50:08 +00:00
DLG.SAVE.S .AZ "CR:Save, Ctrl-R/L/A:Change Type, Ctrl-C:Cancel"
2019-11-20 16:37:09 +00:00
DLG.SAVE.LEN .EQ *-DLG.SAVE
2019-12-07 09:54:33 +00:00
*--------------------------------------
DLG.FIND .DA #DLG.FIND.LEN Size
.DA #0 X
.DA #0 Y
.DA #70 W
.DA #11 H
.DA #DLG.FIND.T-DLG.FIND Title
.DA #DLG.FIND.S-DLG.FIND Status
.DA #9 Focus
.DA #DLG.FIND.1-DLG.FIND
.DA #DLG.FIND.2-DLG.FIND
.DA #DLG.FIND.3-DLG.FIND
.DA #DLG.FIND.4-DLG.FIND
.DA #DLG.FIND.5-DLG.FIND
.DA #DLG.FIND.6-DLG.FIND
.DA #0
DLG.FIND.1 .DA #S.DLG.Ctrl.LBL,#2,#2
.AZ "Find :"
DLG.FIND.2 .DA #S.DLG.Ctrl.TB,#2,#3
.DA #0,#63,#hFind
2019-12-07 09:54:33 +00:00
DLG.FIND.3 .DA #S.DLG.Ctrl.LBL,#2,#5
.AZ "Replace :"
2019-12-07 09:54:33 +00:00
DLG.FIND.4 .DA #S.DLG.Ctrl.TB,#2,#6
.DA #0,#63,#hReplace
2019-12-07 09:54:33 +00:00
DLG.FIND.5 .DA #S.DLG.Ctrl.BUT,#40,#8
.DA #C.CR
.AZ " Find "
DLG.FIND.6 .DA #S.DLG.Ctrl.BUT,#52,#8
.DA #3 Ctrl-C
.AZ " Cancel "
2019-12-07 09:54:33 +00:00
DLG.FIND.T .AZ "Find/Replace..." Title
DLG.FIND.S .AZ "CR:Find, Ctrl-C:Cancel"
DLG.FIND.LEN .EQ *-DLG.FIND
*--------------------------------------
.DUMMY
.OR 0
DS.START
2020-01-27 15:09:00 +00:00
EscBuffer .BS 16
2019-12-17 12:28:49 +00:00
bEscMode .BS 1
bCSIMode .BS 1
2019-11-04 13:41:58 +00:00
bExit .BS 1
2019-12-16 13:14:11 +00:00
bUnSaved .BS 1
2019-12-18 07:57:47 +00:00
bUpdateTop .BS 1
2019-12-17 12:28:49 +00:00
bUpdateStatus .BS 1
hFileName .BS 1
2019-12-17 12:28:49 +00:00
FileType .BS 1
2016-01-04 07:25:43 +00:00
hFind .BS 1
hReplace .BS 1
2020-01-23 14:48:22 +00:00
hLineBuf .BS 1
2020-02-05 16:35:04 +00:00
LineBufBase .BS 2
2020-01-23 14:48:22 +00:00
hBuf .BS 1
2019-12-16 13:14:11 +00:00
BufBase .BS 2
2020-01-23 14:48:22 +00:00
hBufBackup .BS 1
2016-01-29 17:05:08 +00:00
hClipBoard .BS 1
ClipBoardLen .BS 2
2019-12-17 12:28:49 +00:00
2019-11-04 13:41:58 +00:00
SelStart .BS 2
SelEnd .BS 2
2019-12-17 12:28:49 +00:00
2016-01-04 07:25:43 +00:00
ScreenW .BS 1
ScreenH .BS 1
ViewPortH .BS 1
ViewPortHm1 .BS 1
2019-11-04 13:41:58 +00:00
FileX .BS 1
FileY .BS 2
2016-01-04 07:25:43 +00:00
ScreenX .BS 1
ScreenY .BS 2
CurX .BS 1
CurY .BS 1
2019-12-17 12:28:49 +00:00
2019-11-20 16:37:09 +00:00
hDLG .BS 1
2019-12-17 12:28:49 +00:00
2019-11-06 13:14:42 +00:00
STATBUF .BS S.STAT
DS.END
.ED
*--------------------------------------
MAN
2020-07-27 14:09:19 +00:00
SAVE usr/src/bin/edit.s
ASM