A2osX/BIN/EDIT.S.txt

688 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
*--------------------------------------
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
2020-01-23 14:48:22 +00:00
L.MSG.DETECT .DA MSG.DETECT
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.TXTASM
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
*--------------------------------------
2020-02-05 16:35:04 +00:00
CS.RUN >PUSHW L.MSG.DETECT
>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
2019-02-20 16:07:43 +00:00
.1 >SYSCALL GetChar
2019-12-07 09:54:33 +00:00
bcs CS.INIT.RTS
2019-11-04 07:21:40 +00:00
jsr CharIn
2018-08-23 20:38:32 +00:00
>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
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
2020-01-28 10:40:54 +00:00
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
2020-02-14 07:21:56 +00:00
>PUSHYA
>PUSHWI 0 Allocate
2018-10-29 08:41:10 +00:00
>SYSCALL RealPath
2019-12-16 13:14:11 +00:00
bcs CS.INIT.RTS
2018-10-29 08:41:10 +00:00
txa
>STA.G hFileName
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
2019-12-16 13:14:11 +00:00
.3 jsr SCRN.Init
2019-05-27 06:01:59 +00:00
bcs CS.RUN.RTS
2019-12-07 09:54:33 +00:00
>LDYAI 65
2020-02-28 07:21:46 +00:00
>SYSCALL GetMem
2019-12-07 09:54:33 +00:00
bcs CS.RUN.RTS
2020-01-28 10:40:54 +00:00
>STYA ZPPTR1
2019-12-07 09:54:33 +00:00
txa
>STA.G hFind
2020-01-28 10:40:54 +00:00
lda #0
sta (ZPPTR1)
2019-12-07 09:54:33 +00:00
>LDYAI 65
2020-02-28 07:21:46 +00:00
>SYSCALL GetMem
2019-12-07 09:54:33 +00:00
bcs CS.RUN.RTS
2020-01-28 10:40:54 +00:00
>STYA ZPPTR1
2019-12-07 09:54:33 +00:00
txa
>STA.G hReplace
2019-11-04 07:21:40 +00:00
2020-01-28 10:40:54 +00:00
lda #0
sta (ZPPTR1)
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
2019-05-27 15:37:31 +00:00
jsr CharIn
2019-05-29 15:21:14 +00:00
bcs .9
2019-11-04 07:21:40 +00:00
2019-11-04 13:41:58 +00:00
>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.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
2019-05-27 06:01:59 +00:00
jsr .8
2020-01-23 14:48:22 +00:00
ldy #hBuf
2018-08-23 20:38:32 +00:00
jsr .8
2019-11-04 13:41:58 +00:00
2020-01-23 14:48:22 +00:00
ldy #hBufBackup
2018-08-23 20:38:32 +00:00
jsr .8
2019-11-04 13:41:58 +00:00
2018-08-23 20:38:32 +00:00
ldy #hClipBoard
jsr .8
2018-08-23 20:38:32 +00:00
ldy #hFileName
2019-12-07 09:54:33 +00:00
jsr .8
ldy #hFind
jsr .8
ldy #hReplace
2019-11-04 13:41:58 +00:00
2018-08-24 12:40:19 +00:00
.8 lda (pData),y
beq .9
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
2020-02-10 16:24:49 +00:00
.9
CS.QUIT.CLCRTS 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
cmp #C.CR
bne CS.QUIT.CLCRTS
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
tay
bne .8
>SYSCALL GetChar
bcs .9
.8 lda #C.CR
.9 rts
*--------------------------------------
CharIn tax
2018-11-15 15:04:14 +00:00
>LDA.G bEscMode
2020-01-27 15:09:00 +00:00
bpl .1 Not in ESC mode
2018-11-15 15:04:14 +00:00
2020-01-27 15:09:00 +00:00
cpx #'[' \e[ ?
bne .11
lda (pData) #EscBufferPtr
bne .19 buffer not empty...bad SEQ
clc
rts
.11 lda (pData) #EscBufferPtr
cmp #16
bne .10
2019-12-17 12:28:49 +00:00
2020-01-27 15:09:00 +00:00
.19 >STZ.G bEscMode
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
2019-12-17 12:28:49 +00:00
2016-01-04 07:25:43 +00:00
txa
sta (pData),y
2016-01-04 07:25:43 +00:00
cmp #64
2020-01-27 15:09:00 +00:00
bcc .8 not a letter...SEQ is incomplete
2019-12-17 12:28:49 +00:00
jsr CharIn.Esc
2016-01-04 07:25:43 +00:00
bcs .8 Not translated, exit
2020-01-27 15:09:00 +00:00
.HS B0 BCS
*--------------------------------------
.1 txa
cmp #C.ESC
bne .2
lda #$ff
2018-11-15 15:04:14 +00:00
>STA.G bEscMode
inc
2020-01-27 15:09:00 +00:00
sta (pData) #EscBufferPtr
.8 clc
.9 rts
2019-11-04 07:21:40 +00:00
.2 cmp #C.DEL
bne .22
jmp Ctrl.DEL
.22 cmp #C.SPACE
bcc .3
jsr BUF.InsertA
bcs .9
2019-12-18 07:57:47 +00:00
jsr SCRN.UpdateCurrentEOL
bcs .9
jmp Ctrl.FS
.3 asl
tax
jmp (J.CTRL,x)
*--------------------------------------
2018-11-15 15:04:14 +00:00
CharIn.Esc >STZ.G bEscMode
2019-11-04 07:21:40 +00:00
2020-01-27 15:09:00 +00:00
lda (pData) #EscBufferPtr
2016-01-04 07:25:43 +00:00
tay
2020-01-27 15:09:00 +00:00
lda #0
sta (pData)
lda (pData),y
2020-01-27 15:09:00 +00:00
cpy #1
bne .10
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
dex
2019-11-18 16:40:32 +00:00
bpl .1
2020-01-27 15:09:00 +00:00
sec
rts
2019-11-04 07:21:40 +00:00
2020-01-27 15:09:00 +00:00
.10 cmp #'R' Response to cursor position query?
2016-01-04 07:25:43 +00:00
beq .3
2019-11-04 07:21:40 +00:00
2016-01-04 07:25:43 +00:00
sec
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[xx;yyR
*--------------------------------------
.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
2020-01-27 15:09:00 +00:00
jsr CharIn.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
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 #'R'
beq .7
2019-11-04 07:21:40 +00:00
2020-01-27 15:09:00 +00:00
jsr CharIn.TmpByte10pA
bra .6
.7 lda TmpByte
>STA.G ScreenW
sec
rts
*--------------------------------------
CharIn.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 *
2019-12-17 12:28:49 +00:00
SEQ.BAR .AZ "\e[7m\e[37;40m"
2019-12-09 07:12:14 +00:00
SEQ.DLG .AS "\e[30;46m"
.DA #C.SO,#'x',#C.SI
.DA #0
SEQ.DLG.RIGHT .AS "\e[37;40m"
.DA #C.SO,#'x',#C.SI
.DA #0
2019-12-12 07:09:44 +00:00
SEQ.DLG.LBL .AZ "\e[0m\e[30;46m"
2019-12-11 16:54:41 +00:00
SEQ.DLG.TB .AZ "\e[0m\e[93;44m"
2019-12-12 07:09:44 +00:00
SEQ.DLG.BUT .AZ "\e[7m\e[93;44m"
2019-12-11 13:14:56 +00:00
SEQ.EDIT .AS "\e[0m\e[93;44m" +CEOL
2019-12-09 07:12:14 +00:00
SEQ.CEOL .AZ "\e[K"
SEQ.NORM .AZ "\e[0m"
SEQ.INV .AZ "\e[7m"
SEQ.CURSAVE .AZ "\e7"
SEQ.CURRESTORE .AZ "\e8"
2019-12-09 07:12:14 +00:00
*--------------------------------------
SEQ.RESET .AZ "\ec"
2019-12-09 07:12:14 +00:00
SEQ.INIT .AS "\ec\e(B\e)0"
2019-11-17 14:39:55 +00:00
SEQ.SCROLLRGN .AZ "\e[?7l\e[2;%dr"
2019-12-18 07:57:47 +00:00
SEQ.SCROLLCURUP .AS "\e[?7l\e[%d;%dr"
2019-11-13 16:33:29 +00:00
SEQ.SCROLLUP .AZ "\eD"
2019-12-18 07:57:47 +00:00
SEQ.SCROLLCURDN .AS "\e[?7l\e[%d;%dr"
2019-11-13 16:33:29 +00:00
SEQ.SCROLLDN .AZ "\eM"
2019-12-09 07:12:14 +00:00
*--------------------------------------
2020-01-23 14:48:22 +00:00
MSG.DETECT .AZ "Querying term caps...\e[999;999H\e[6n"
2020-02-14 16:32:52 +00:00
MSG.TOPBAR .AZ "A2osX Edit %d.%d:%s (%s)"
2019-11-12 16:39:22 +00:00
MSG.TXTCR .AZ "TXT/CR"
MSG.TXTCRLF .AZ "TXT/CRLF"
MSG.TXTASM .AZ "S-C/ASM"
2020-02-10 16:24:49 +00:00
MSG.STATUSBAR .AZ "Press Ctrl-A For Help Len:%5D Pos:%5D Col:%3d Line:%5D"
2019-12-16 13:14:11 +00:00
MSG.STATUSBAR.H .AZ "Press any key to exit this screen "
MSG.STATUSBAR.U .AZ "Quit without Saving [Y/N] ? "
MSG.STATUSBAR.S .AZ "%s Saved."
2019-05-29 15:21:14 +00:00
MSG.STATUSBAR.E .AZ "Error:%h"
MSG.GOTOXY .AZ "\e[%d;%dH"
2019-12-11 13:14:56 +00:00
MSG.HELPLINE .AZ "\e[0m\e[93;44m%S\e[K"
MSG.HELP >PSTR "All commands:"
>PSTR "-------------"
>PSTR " Ctrl-A : This help screen"
>PSTR " Ctrl-B : Mark beginning of selection"
>PSTR " Ctrl-C : Copy selection to clipboard"
>PSTR " Ctrl-D : Delete selection"
>PSTR " Ctrl-E : Mark end of selection"
2019-11-28 16:50:08 +00:00
>PSTR " Ctrl-F : Find/Replace..."
>PSTR " Ctrl-G : Go to start of current line"
>PSTR " Ctrl-L : Go to end of current line"
2019-11-28 16:50:08 +00:00
>PSTR " Ctrl-N : Find next"
>PSTR " Ctrl-O : Page up"
>PSTR " Ctrl-P : Page down"
>PSTR " Ctrl-Q : Quit"
2019-11-28 16:50:08 +00:00
>PSTR " Ctrl-R : Replace next"
2019-11-18 16:40:32 +00:00
>PSTR " Ctrl-S : Save file..."
>PSTR " Ctrl-T : Go to top of file"
2021-04-11 19:47:48 +00:00
>PSTR " Ctrl-V : Paste clipboard at cursor position"
>PSTR " Ctrl-W : Erase current line"
>PSTR " Ctrl-X : Cut block to clipboard"
>PSTR " Ctrl-Y : Go to end of file"
2019-08-26 09:26:42 +00:00
>PSTR " 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"
2019-11-18 16:40:32 +00:00
EscChars .AS "DBAC"
EscChars.Cnt .EQ *-EscChars
EscAscii .HS 080A0B15
*--------------------------------------
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-19 16:41:07 +00:00
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-19 16:41:07 +00:00
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 #2
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 #4
2019-11-27 16:47:13 +00:00
.AZ "S-C/ASM"
2019-11-20 16:37:09 +00:00
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,#64,#hFind
DLG.FIND.3 .DA #S.DLG.Ctrl.LBL,#2,#5
.AZ "Replace :"
DLG.FIND.4 .DA #S.DLG.Ctrl.TB,#2,#6
.DA #0,#64,#hReplace
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 "
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
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