mirror of https://github.com/A2osX/A2osX.git
Kernel 0.93 #141
This commit is contained in:
parent
f796f9a665
commit
cf5348bf1e
Binary file not shown.
|
@ -223,29 +223,36 @@ CS.RUN.OUT.MN ldy #0
|
|||
ldx StartChar
|
||||
beq .2
|
||||
|
||||
.1 lda (ZPBufPtr),y
|
||||
.1 dex
|
||||
beq .2
|
||||
|
||||
lda (ZPBufPtr),y
|
||||
beq CS.RUN.PRINTCR
|
||||
|
||||
iny
|
||||
dex
|
||||
bne .1
|
||||
bra .1
|
||||
|
||||
.2 lda (ZPBufPtr),y
|
||||
.2 lda EndChar
|
||||
beq .8
|
||||
|
||||
.3 lda (ZPBufPtr),y
|
||||
beq .8
|
||||
|
||||
cpy EndChar
|
||||
beq .3
|
||||
beq .4
|
||||
|
||||
iny
|
||||
bra .2
|
||||
bra .3
|
||||
|
||||
.3 lda #0
|
||||
.4 lda #0
|
||||
sta (ZPBufPtr),y
|
||||
|
||||
.8 ldy StartChar
|
||||
beq .80
|
||||
dey
|
||||
beq .80
|
||||
jsr CS.RUN.AddYToBufPtr
|
||||
|
||||
>LDYA ZPBufPtr
|
||||
.80 >LDYA ZPBufPtr
|
||||
>SYSCALL puts
|
||||
|
||||
rts
|
||||
|
|
|
@ -24,9 +24,14 @@ BUF.InsertA sta TmpByte
|
|||
sta (BufPtr)
|
||||
|
||||
inc FileLen
|
||||
bne .8
|
||||
bne .3
|
||||
inc FileLen+1
|
||||
|
||||
.3 lda #$ff
|
||||
>STA.G bUpdateStatus
|
||||
|
||||
jmp SCRN.Unsaved
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -73,10 +78,15 @@ BUF.InsertTAB >LDA.G FileX
|
|||
clc
|
||||
adc TmpByte
|
||||
sta FileLen
|
||||
bcc .8
|
||||
bcc .5
|
||||
|
||||
inc FileLen+1
|
||||
|
||||
.5 lda #$ff
|
||||
>STA.G bUpdateStatus
|
||||
|
||||
jmp SCRN.Unsaved
|
||||
|
||||
.8 clc
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
|
|
@ -51,8 +51,7 @@ Ctrl.A >LDYA L.MSG.HELP
|
|||
|
||||
stz TmpByte
|
||||
|
||||
.1
|
||||
ldx #0
|
||||
.1 ldx #0
|
||||
ldy TmpByte
|
||||
jsr SCRN.GotoXY
|
||||
bcs .9
|
||||
|
@ -79,12 +78,19 @@ Ctrl.A >LDYA L.MSG.HELP
|
|||
.8 jsr SCRN.ResetStatusBar
|
||||
|
||||
>PUSHBI 0
|
||||
>LDYA L.MSG.STATUSBAR.H
|
||||
>SYSCALL printf
|
||||
>PUSHW L.MSG.STATUSBAR.H
|
||||
jsr SCRN.LineBufSprintf
|
||||
bcs .9
|
||||
|
||||
jsr SCRN.LineBufOut
|
||||
bcs .9
|
||||
|
||||
>SYSCALL getchar
|
||||
bcs .9
|
||||
|
||||
lda #$ff
|
||||
>STA.G bUpdateStatus
|
||||
|
||||
jmp SCRN.UpDateMain
|
||||
|
||||
.9 rts
|
||||
|
@ -175,7 +181,8 @@ Ctrl.TAB jsr BUF.InsertTAB
|
|||
|
||||
jsr SCRN.UpdateCurrentLine
|
||||
bcs .9
|
||||
jmp SCRN.UpdateStatusBar
|
||||
lda #$ff
|
||||
>STA.G bUpdateStatus
|
||||
|
||||
.8 clc
|
||||
>ADC.G ScreenX
|
||||
|
@ -412,13 +419,45 @@ Ctrl.N
|
|||
Ctrl.R clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
Ctrl.Q lda #$FF
|
||||
Ctrl.Q >LDA.G bUnSaved
|
||||
beq .8
|
||||
|
||||
jsr SCRN.ResetStatusBar
|
||||
|
||||
>PUSHBI 0
|
||||
>PUSHW L.MSG.STATUSBAR.U
|
||||
jsr SCRN.LineBufSprintf
|
||||
bcs .9
|
||||
|
||||
jsr SCRN.LineBufOut
|
||||
bcs .9
|
||||
|
||||
.1 >SYSCALL getchar
|
||||
bcs .9
|
||||
|
||||
cmp #'a
|
||||
bcc .2
|
||||
cmp #'z'+1
|
||||
bcs .2
|
||||
|
||||
eor #$20
|
||||
|
||||
.2 cmp #'Y'
|
||||
beq .8
|
||||
|
||||
cmp #'N'
|
||||
beq .80
|
||||
|
||||
bra .1
|
||||
|
||||
.8 lda #$ff
|
||||
>STA.G bExit
|
||||
|
||||
>LDA.G bSaved
|
||||
beq Ctrl.S
|
||||
.80 lda #$ff
|
||||
>STA.G bUpdateStatus
|
||||
|
||||
clc
|
||||
rts
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
Ctrl.S >LDYA L.DLG.SAVE
|
||||
jsr DLG.Open
|
||||
|
@ -459,7 +498,9 @@ Ctrl.FS jsr BUF.GetLine
|
|||
*--------------------------------------
|
||||
Ctrl.V jsr BUF.InsertClipboard
|
||||
bcs .9
|
||||
jmp SCRN.UpdateMain
|
||||
jsr SCRN.Unsaved
|
||||
lda #$ff
|
||||
>STA.G bUpdateStatus
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
@ -497,7 +538,11 @@ Ctrl.X jsr BUF.SelToClipboard
|
|||
Ctrl.D jsr BUF.DelSel
|
||||
bcs Ctrl.W.RTS
|
||||
jsr SCRN.CursorAdjust
|
||||
jmp SCRN.UpdateMain
|
||||
jsr SCRN.UpdateMain
|
||||
jsr SCRN.Unsaved
|
||||
lda #$ff
|
||||
>STA.G bUpdateStatus
|
||||
rts
|
||||
*--------------------------------------
|
||||
Ctrl.Z jsr BUF.ComputeCOffset
|
||||
|
||||
|
@ -551,8 +596,11 @@ Ctrl.Z jsr BUF.ComputeCOffset
|
|||
.8 jsr SCRN.UpdateCurrentLine
|
||||
bcs .9
|
||||
|
||||
.80 jsr SCRN.GotoCurXCurY
|
||||
jmp SCRN.UpdateStatusBar
|
||||
.80 jsr SCRN.Unsaved
|
||||
jsr SCRN.GotoCurXCurY
|
||||
lda #$ff
|
||||
>STA.G bUpdateStatus
|
||||
rts
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/BIN/EDIT.S.CTRL
|
||||
|
|
|
@ -172,7 +172,7 @@ DLG.Close ldy #S.DLG.Y
|
|||
|
||||
sta TmpByte
|
||||
|
||||
.1 >LDA.G ScreenY
|
||||
>LDA.G ScreenY
|
||||
clc
|
||||
ldy #S.DLG.Y
|
||||
adc (ZPPTR1),y
|
||||
|
@ -339,8 +339,7 @@ DLG.CTRL.Draw.OL
|
|||
.4 lda #C.SPACE
|
||||
jsr SCRN.ToLineBuf
|
||||
|
||||
.8 jsr SCRN.LineBufOut
|
||||
* >DEBUG
|
||||
.8 jmp SCRN.LineBufOut
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
|
|
|
@ -2,7 +2,19 @@ NEW
|
|||
AUTO 3,1
|
||||
.LIST OFF
|
||||
*--------------------------------------
|
||||
FILE.New >LDYAI 4096
|
||||
FILE.New jsr BUF.ResetSel
|
||||
lda #$ff
|
||||
>STA.G bUpdateStatus
|
||||
|
||||
>LDYA L.MSG.NEWFILE
|
||||
|
||||
FILE.New.1 >SYSCALL RealPath
|
||||
bcs .9
|
||||
|
||||
txa
|
||||
>STA.G hFileName
|
||||
|
||||
>LDYAI 4096
|
||||
>STYA BufLen
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
|
@ -19,24 +31,23 @@ FILE.New >LDYAI 4096
|
|||
stz FileLen
|
||||
stz FileLen+1
|
||||
|
||||
>LDYA L.MSG.NEWFILE
|
||||
>SYSCALL RealPath
|
||||
bcs .9
|
||||
|
||||
txa
|
||||
>STA.G hFileName
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
FILE.Load jsr BUF.ResetSel
|
||||
|
||||
lda #$ff
|
||||
>STA.G bUpdateStatus
|
||||
|
||||
>PUSHEA.G STATBUF
|
||||
>LDA.G hFileName
|
||||
>SYSCALL GetMemPtr
|
||||
>SYSCALL stat
|
||||
bcs FILE.New
|
||||
bcc .1
|
||||
|
||||
>LDA.G hFileName
|
||||
>SYSCALL GetMemPtr
|
||||
bra FILE.New.1
|
||||
|
||||
>LDA.G STATBUF+S.STAT.P.TYPE
|
||||
.1 >LDA.G STATBUF+S.STAT.P.TYPE
|
||||
cmp #S.FI.T.TXT
|
||||
beq FILE.Load.TXT
|
||||
cmp #$FA S-C/ASM?
|
||||
|
@ -141,7 +152,7 @@ FILE.Load.ASM
|
|||
*--------------------------------------
|
||||
FILE.Save >LDYAI 256
|
||||
>SYSCALL GetMem
|
||||
bcs .9
|
||||
bcs FILE.Save.9
|
||||
|
||||
>STYA ZPPTR1
|
||||
stx TmpByte
|
||||
|
@ -150,12 +161,13 @@ FILE.Save >LDYAI 256
|
|||
tax
|
||||
|
||||
jmp (J.SAVE,x)
|
||||
.9 rts
|
||||
FILE.Save.9 rts
|
||||
*--------------------------------------
|
||||
FILE.Save.CR clc
|
||||
.HS B0 BCS
|
||||
FILE.Save.CRLF sec
|
||||
ror TmpIndex+1
|
||||
stz TmpIndex hFile
|
||||
|
||||
>PUSHWZ Aux type
|
||||
>PUSHBI S.FI.T.TXT
|
||||
|
@ -163,7 +175,7 @@ FILE.Save.CRLF sec
|
|||
>LDA.G hFileName
|
||||
>SYSCALL GetMemPtr
|
||||
>SYSCALL FOpen
|
||||
bcs .9
|
||||
bcs FILE.Save.9
|
||||
|
||||
sta TmpIndex
|
||||
|
||||
|
@ -212,11 +224,32 @@ FILE.Save.CRLF sec
|
|||
|
||||
bra .1
|
||||
|
||||
.8 lda #$80
|
||||
>STA.G bSaved
|
||||
.8 jsr FILE.Close
|
||||
|
||||
>STZ.G bUnSaved
|
||||
jsr SCRN.UpdateTopBar
|
||||
clc
|
||||
.9 jmp FILE.Close
|
||||
|
||||
jsr SCRN.ResetStatusBar
|
||||
|
||||
>LDA.G hFileName
|
||||
>SYSCALL GetMemPtr
|
||||
>PUSHYA
|
||||
|
||||
>PUSHBI 2
|
||||
>PUSHW L.MSG.STATUSBAR.S
|
||||
bra .90
|
||||
|
||||
.9 jsr FILE.Close
|
||||
|
||||
>PUSHA ERROR CODE
|
||||
|
||||
jsr SCRN.ResetStatusBar
|
||||
|
||||
>PUSHBI 1
|
||||
>PUSHW L.MSG.STATUSBAR.E
|
||||
.90 jsr SCRN.LineBufSprintf
|
||||
|
||||
jmp SCRN.LineBufOut
|
||||
*--------------------------------------
|
||||
FILE.Save.ASM
|
||||
clc
|
||||
|
|
|
@ -38,6 +38,16 @@ SCRN.ResetScrollRgn
|
|||
>SYSCALL printf
|
||||
rts
|
||||
*--------------------------------------
|
||||
SCRN.Unsaved >LDA.G bUnSaved
|
||||
bne .8
|
||||
|
||||
dec
|
||||
sta (pData),y
|
||||
bra SCRN.UpdateTopBar
|
||||
|
||||
.8 clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
SCRN.UpdateTopBar
|
||||
jsr SCRN.LineBufInitBar
|
||||
|
||||
|
@ -71,11 +81,11 @@ SCRN.UpdateTopBar
|
|||
>PUSHW L.MSG.TOPBAR
|
||||
jsr SCRN.LineBufSprintf
|
||||
bcs .9
|
||||
|
||||
>LDA.G bUnSaved
|
||||
beq .8
|
||||
|
||||
>LDA.G bSaved
|
||||
bne .8
|
||||
|
||||
lda #'!'
|
||||
lda #'*'
|
||||
jsr SCRN.ToLineBuf
|
||||
|
||||
.8 jmp SCRN.LineBufOut
|
||||
|
@ -176,10 +186,7 @@ SCRN.UpdateViewPort
|
|||
|
||||
.7 jsr BUF.ComputeCOffset
|
||||
|
||||
jsr SCRN.GotoCurXCurY
|
||||
bcs .9
|
||||
|
||||
jmp SCRN.UpdateStatusBar
|
||||
jmp SCRN.GotoCurXCurY
|
||||
*--------------------------------------
|
||||
SCRN.UpdateMain >LDA.G ScreenY
|
||||
sta TmpIndex
|
||||
|
@ -239,11 +246,8 @@ SCRN.UpdateMain.1
|
|||
dec TmpCount
|
||||
bne .5
|
||||
|
||||
.8 jsr SCRN.GotoCurXCurY
|
||||
bcs SCRN.UpdateMain.9
|
||||
>DEBUG
|
||||
jmp SCRN.UpdateStatusBar
|
||||
|
||||
.8 jsr BUF.ComputeCOffset
|
||||
jmp SCRN.GotoCurXCurY
|
||||
SCRN.UpdateMain.9
|
||||
rts
|
||||
*--------------------------------------
|
||||
|
@ -364,12 +368,6 @@ SCRN.ToggleSel.RTS
|
|||
rts
|
||||
*--------------------------------------
|
||||
SCRN.UpdateStatusBar
|
||||
lda #$ff
|
||||
>STA.G bUpdateStatus
|
||||
clc
|
||||
rts
|
||||
*--------------------------------------
|
||||
SCRN.DrawStatusBar
|
||||
jsr SCRN.ResetStatusBar
|
||||
|
||||
>LDA.G FileY
|
||||
|
@ -400,15 +398,12 @@ SCRN.DrawStatusBar
|
|||
jsr SCRN.SEQS.ToLineBuf
|
||||
|
||||
jmp SCRN.LineBufOut
|
||||
|
||||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
SCRN.ResetStatusBar
|
||||
jsr SCRN.LineBufInitBar
|
||||
|
||||
ldx #SEQ.CURSAVE-SEQS
|
||||
jsr SCRN.SEQS.ToLineBuf
|
||||
|
||||
>PUSHBI 1
|
||||
>PUSHB.G ScreenH
|
||||
>PUSHBI 2
|
||||
|
|
|
@ -73,17 +73,15 @@ L.SEQ.SCROLLDN .DA SEQ.SCROLLDN
|
|||
L.SEQ.SCROLLCURUP .DA SEQ.SCROLLCURUP
|
||||
L.SEQ.SCROLLCURDN .DA SEQ.SCROLLCURDN
|
||||
L.SEQ.CEOL .DA SEQ.CEOL
|
||||
L.SEQ.BAR .DA SEQ.BAR
|
||||
L.MSG.TOPBAR .DA MSG.TOPBAR
|
||||
L.MSG.FILETYPES .DA MSG.TXTCR
|
||||
.DA MSG.TXTCRLF
|
||||
.DA MSG.TXTASM
|
||||
L.MSG.STATUSBAR .DA MSG.STATUSBAR
|
||||
L.MSG.STATUSBAR.H .DA MSG.STATUSBAR.H
|
||||
.DA MSG.STATUSBAR.F
|
||||
.DA MSG.STATUSBAR.R
|
||||
.DA MSG.STATUSBAR.S
|
||||
.DA MSG.STATUSBAR.E
|
||||
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
|
||||
L.MSG.GOTOXY .DA MSG.GOTOXY
|
||||
L.MSG.HELPLINE .DA MSG.HELPLINE
|
||||
|
@ -173,6 +171,7 @@ CS.RUN >PUSHBI 0
|
|||
bcs .2 No arg, new file....
|
||||
|
||||
>SYSCALL RealPath
|
||||
bcs CS.INIT.RTS
|
||||
txa
|
||||
>STA.G hFileName
|
||||
jsr FILE.Load
|
||||
|
@ -184,10 +183,7 @@ CS.RUN >PUSHBI 0
|
|||
.2 jsr FILE.New
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
.3 lda #$ff
|
||||
>STA.G bSaved
|
||||
|
||||
jsr SCRN.Init
|
||||
.3 jsr SCRN.Init
|
||||
bcs CS.RUN.RTS
|
||||
|
||||
>LDYAI 65
|
||||
|
@ -204,6 +200,7 @@ CS.RUN >PUSHBI 0
|
|||
|
||||
CS.RUN.LOOP >SYSCALL GetChar
|
||||
bcs CS.RUN.RTS I/O error
|
||||
|
||||
jsr CharIn
|
||||
bcs .9
|
||||
|
||||
|
@ -222,12 +219,14 @@ CS.RUN.RTS rts
|
|||
*--------------------------------------
|
||||
CS.DOEVENT lda (pEvent)
|
||||
bpl .9 is it a TIMER event?
|
||||
|
||||
asl
|
||||
bpl .9
|
||||
|
||||
>LDA.G bUpdateStatus
|
||||
bpl .9
|
||||
|
||||
jsr SCRN.DrawStatusBar
|
||||
jsr SCRN.UpdateStatusBar
|
||||
|
||||
>STZ.G bUpdateStatus
|
||||
|
||||
|
@ -253,7 +252,6 @@ CS.QUIT ldy #hLineBuffer
|
|||
jsr .8
|
||||
|
||||
ldy #hReplace
|
||||
jsr .8
|
||||
|
||||
.8 lda (pData),y
|
||||
beq .9
|
||||
|
@ -424,7 +422,7 @@ CharIn.Esc >STZ.G bEscMode
|
|||
CS.END
|
||||
*--------------------------------------
|
||||
SEQS .EQ *
|
||||
SEQ.BAR .AZ "\e[37;40m\e[7m"
|
||||
SEQ.BAR .AZ "\e7\e[37;40m\e[7m"
|
||||
SEQ.DLG .AS "\e[30;46m"
|
||||
.DA #C.SO,#'x',#C.SI
|
||||
.DA #0
|
||||
|
@ -454,11 +452,10 @@ 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.H .AZ "Press any key to exit this screen"
|
||||
MSG.STATUSBAR.F .AZ "Find:%s"
|
||||
MSG.STATUSBAR.R .AZ "Replace:%s"
|
||||
MSG.STATUSBAR.S .AZ "Save (Ctrl-C):%s"
|
||||
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.U .AZ "Quit without Saving [Y/N] ? "
|
||||
MSG.STATUSBAR.S .AZ "%s Saved."
|
||||
MSG.STATUSBAR.E .AZ "Error:%h"
|
||||
MSG.GOTOXY .AZ "\e[%d;%dH"
|
||||
MSG.HELPLINE .AZ "\e[0m\e[93;44m%S\e[K"
|
||||
|
@ -609,7 +606,7 @@ DLG.FIND.LEN .EQ *-DLG.FIND
|
|||
DS.START
|
||||
bUpdateStatus .BS 1
|
||||
bExit .BS 1
|
||||
bSaved .BS 1
|
||||
bUnSaved .BS 1
|
||||
bEscMode .BS 1
|
||||
EscBuffer .BS 16
|
||||
FileType .BS 1
|
||||
|
@ -618,8 +615,8 @@ hFind .BS 1
|
|||
hReplace .BS 1
|
||||
hLineBuffer .BS 1
|
||||
LineBufBase .BS 2
|
||||
BufBase .BS 2
|
||||
hBuffer .BS 1
|
||||
BufBase .BS 2
|
||||
hBufferBackup .BS 1
|
||||
hClipBoard .BS 1
|
||||
ClipBoardLen .BS 2
|
||||
|
|
Loading…
Reference in New Issue