Kernel 0.93+

This commit is contained in:
Rémy GIBERT 2019-12-17 13:28:49 +01:00
parent 1cb031ad86
commit 76c32dc2d8
9 changed files with 159 additions and 140 deletions

Binary file not shown.

View File

@ -27,10 +27,7 @@ BUF.InsertA sta TmpByte
bne .3
inc FileLen+1
.3 lda #$ff
>STA.G bUpdateStatus
jmp SCRN.Unsaved
.3 jmp SCRN.Unsaved
.8 clc
.9 rts
@ -82,8 +79,7 @@ BUF.InsertTAB >LDA.G FileX
inc FileLen+1
.5 lda #$ff
>STA.G bUpdateStatus
.5 jsr SCRN.UpdateStatusBar
jmp SCRN.Unsaved
@ -198,6 +194,10 @@ BUF.InsertClipboard
adc FileLen+1
sta FileLen+1
jsr SCRN.UpdateStatusBar
jmp SCRN.Unsaved
.8 clc
.9 rts
*--------------------------------------
@ -233,6 +233,10 @@ BUF.DelSel jsr BUF.GetSelLen
sbc SelLen+1
sta FileLen+1
jsr SCRN.UpdateStatusBar
jsr SCRN.Unsaved
jsr BUF.ResetSel
jmp SCRN.CursorAdjust

View File

@ -46,7 +46,9 @@ Ctrl.Invalid
Ctrl.Invalid.RTS
rts
*--------------------------------------
Ctrl.A >LDYA L.MSG.HELP
Ctrl.A >STZ.G bUpdateStatus
>LDYA L.MSG.HELP
>STYA ZPPTR1
stz TmpByte
@ -88,30 +90,27 @@ Ctrl.A >LDYA L.MSG.HELP
>SYSCALL getchar
bcs .9
lda #$ff
>STA.G bUpdateStatus
jmp SCRN.UpDateMain
jmp SCRN.UpdateMainAndStatus
.9 rts
*--------------------------------------
Ctrl.C jmp BUF.SelToClipboard
*--------------------------------------
Ctrl.B jsr BUF.ComputeCOffset
lda BUF.COffset
ldy #SelStart
sta (pData),y
>STA.G SelStart
lda BUF.COffset+1
iny
sta (pData),y
jmp SCRN.UpdateMain
*--------------------------------------
Ctrl.C jmp BUF.SelToClipboard
*--------------------------------------
Ctrl.E jsr BUF.ComputeCOffset
lda BUF.COffset
ldy #SelEnd
sta (pData),y
>STA.G SelEnd
lda BUF.COffset+1
iny
sta (pData),y
@ -181,14 +180,14 @@ Ctrl.TAB jsr BUF.InsertTAB
jsr SCRN.UpdateCurrentLine
bcs .9
lda #$ff
>STA.G bUpdateStatus
.8 clc
>ADC.G ScreenX
inc
sta (pData),y
jsr SCRN.UpdateStatusBar
jmp SCRN.UpdateViewPort
.9 rts
@ -317,12 +316,12 @@ Ctrl.O ldy #FileY+1
>STZ.G FileX
jmp SCRN.UpdateMain
jmp SCRN.UpdateMainAndStatus
.8 pla
*--------------------------------------
Ctrl.T jsr SCRN.Home
jmp SCRN.UpdateMain
jmp SCRN.UpdateMainAndStatus
*--------------------------------------
Ctrl.P ldy #FileY+1
lda (pData),y
@ -362,7 +361,7 @@ Ctrl.P ldy #FileY+1
adc #0
sta (pData),y
jmp SCRN.UpdateMain
jmp SCRN.UpdateMainAndStatus
.8 pla
pla
@ -397,7 +396,7 @@ Ctrl.Y jsr BUF.GetNextLine
txa
sta (pData),y
jmp SCRN.UpdateMain
jmp SCRN.UpdateMainAndStatus
*--------------------------------------
Ctrl.F >LDYA L.DLG.FIND
jsr DLG.Open
@ -421,6 +420,8 @@ Ctrl.R clc
*--------------------------------------
Ctrl.Q >LDA.G bUnSaved
beq .8
>STZ.G bUpdateStatus
jsr SCRN.ResetStatusBar
@ -453,24 +454,50 @@ Ctrl.Q >LDA.G bUnSaved
.8 lda #$ff
>STA.G bExit
.80 lda #$ff
>STA.G bUpdateStatus
.80 jmp SCRN.UpdateStatusBar
clc
.9 rts
*--------------------------------------
Ctrl.S >LDYA L.DLG.SAVE
jsr DLG.Open
jsr DLG.Run
pha
jsr DLG.Close
pla
cmp #C.CR
bne .8
jsr FILE.Save
.8 jsr DLG.Close
clc
rts
jsr FILE.Save
bcc .1
>PUSHA ERROR CODE
jsr SCRN.ResetStatusBar
>PUSHBI 1
>PUSHW L.MSG.STATUSBAR.E
bra .2
.1 jsr SCRN.UpdateTopBar
jsr SCRN.ResetStatusBar
>LDA.G hFileName
>SYSCALL GetMemPtr
>PUSHYA
>PUSHBI 2
>PUSHW L.MSG.STATUSBAR.S
.2 jsr SCRN.LineBufSprintf
jmp SCRN.LineBufOut
.8 clc
.9 rts
*--------------------------------------
Ctrl.FS jsr BUF.GetLine
bcs .8
@ -499,8 +526,7 @@ Ctrl.FS jsr BUF.GetLine
Ctrl.V jsr BUF.InsertClipboard
bcs .9
jsr SCRN.Unsaved
lda #$ff
>STA.G bUpdateStatus
jmp SCRN.UpdateStatusBar
.9 rts
*--------------------------------------
@ -537,12 +563,9 @@ Ctrl.X jsr BUF.SelToClipboard
Ctrl.D jsr BUF.DelSel
bcs Ctrl.W.RTS
jsr SCRN.CursorAdjust
jsr SCRN.UpdateMain
jsr SCRN.Unsaved
lda #$ff
>STA.G bUpdateStatus
rts
jsr SCRN.CursorAdjust
jmp SCRN.UpdateMainAndStatus
*--------------------------------------
Ctrl.Z jsr BUF.ComputeCOffset
@ -598,9 +621,7 @@ Ctrl.Z jsr BUF.ComputeCOffset
.80 jsr SCRN.Unsaved
jsr SCRN.GotoCurXCurY
lda #$ff
>STA.G bUpdateStatus
rts
jmp SCRN.UpdateStatusBar
*--------------------------------------
MAN
SAVE USR/SRC/BIN/EDIT.S.CTRL

View File

@ -3,8 +3,7 @@ NEW
.LIST OFF
*--------------------------------------
FILE.New jsr BUF.ResetSel
lda #$ff
>STA.G bUpdateStatus
jsr SCRN.UpdateStatusBar
>LDYA L.MSG.NEWFILE
@ -31,11 +30,13 @@ FILE.New.1 >SYSCALL RealPath
stz FileLen
stz FileLen+1
jsr SCRN.Home
clc
.9 rts
*--------------------------------------
FILE.Load jsr BUF.ResetSel
lda #$ff
>STA.G bUpdateStatus
jsr SCRN.UpdateStatusBar
>PUSHEA.G STATBUF
>LDA.G hFileName
@ -62,6 +63,8 @@ FILE.Load jsr BUF.ResetSel
FILE.Load.TXT stz FileLen
stz FileLen+1
jsr SCRN.Home
stz TmpByte hLineBuffer
stz TmpIndex hFile
@ -220,36 +223,26 @@ FILE.Save.CRLF sec
>PUSHW ZPPTR1
lda TmpIndex
>SYSCALL FWrite
bcs .9
bcs FILE.Close
bra .1
.8 jsr FILE.Close
>STZ.G bUnSaved
jsr SCRN.UpdateTopBar
.8 >STZ.G bUnSaved
*--------------------------------------
FILE.Close php
pha
lda TmpByte
beq .1
>SYSCALL freemem
jsr SCRN.ResetStatusBar
.1 lda TmpIndex
beq .2
>LDA.G hFileName
>SYSCALL GetMemPtr
>PUSHYA
>SYSCALL fclose
>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
.2 pla
plp
rts
*--------------------------------------
FILE.Save.ASM
clc
@ -288,21 +281,6 @@ 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

View File

@ -10,12 +10,12 @@ SCRN.Init >LDA.G ScreenH
>SYSCALL printf
bcs .9
jsr SCRN.Home
jsr SCRN.UpdateTopBar
bcs .9
jmp SCRN.UpdateMain
jsr SCRN.Home
jmp SCRN.UpdateMainAndStatus
.9 rts
*--------------------------------------
SCRN.Home lda #0
@ -38,7 +38,7 @@ SCRN.ResetScrollRgn
>SYSCALL printf
rts
*--------------------------------------
SCRN.Unsaved >LDA.G bUnSaved
SCRN.UnSaved >LDA.G bUnSaved
bne .8
dec
@ -178,15 +178,16 @@ SCRN.UpdateViewPort
>SBC.G ScreenY
>STA.G CurY
jsr BUF.ComputeCOffset
jsr SCRN.GotoCurXCurY
bit bRepaint
bpl .7
bmi SCRN.UpdateMain
jsr SCRN.UpdateMain
bcs .9
.7 jsr BUF.ComputeCOffset
jmp SCRN.GotoCurXCurY
jmp SCRN.UpdateStatusBar
*--------------------------------------
SCRN.UpdateMainAndStatus
jsr SCRN.UpdateStatusBar
*--------------------------------------
SCRN.UpdateMain >LDA.G ScreenY
sta TmpIndex
@ -368,6 +369,18 @@ SCRN.ToggleSel.RTS
rts
*--------------------------------------
SCRN.UpdateStatusBar
lda #$ff
>STA.G bUpdateStatus
clc
rts
*--------------------------------------
SCRN.UpdateStatusBarAsync
>LDA.G bUpdateStatus
bpl .8
lda #0
sta (pData),y
jsr SCRN.ResetStatusBar
>LDA.G FileY
@ -399,11 +412,15 @@ SCRN.UpdateStatusBar
jmp SCRN.LineBufOut
.8 clc
.9 rts
*--------------------------------------
SCRN.ResetStatusBar
jsr SCRN.LineBufInitBar
ldx #SEQ.CURSAVE-SEQS
jsr SCRN.SEQS.ToLineBuf
>PUSHBI 1
>PUSHB.G ScreenH
>PUSHBI 2
@ -420,9 +437,7 @@ SCRN.ResetStatusBar
bne .1
lda #C.CR
jsr SCRN.ToLineBuf
jmp SCRN.LineBufOut
jmp SCRN.ToLineBuf
*--------------------------------------
SCRN.CursorAdjust
.1 jsr BUF.ComputeCOffset

View File

@ -10,7 +10,6 @@ NEW
.INB INC/MLI.I
.INB INC/MLI.E.I
*--------------------------------------
PROMPTBUFMAX .EQ 64
TABLEN .EQ 4
TABMASK .EQ 3
*--------------------------------------
@ -220,15 +219,10 @@ CS.RUN.RTS rts
CS.DOEVENT lda (pEvent)
bpl .9 is it a TIMER event?
asl
bpl .9
and #S.EVT.F.T1SEC
beq .9
>LDA.G bUpdateStatus
bpl .9
jsr SCRN.UpdateStatusBar
>STZ.G bUpdateStatus
jsr SCRN.UpdateStatusBarAsync
.9 sec
rts
@ -268,21 +262,21 @@ CharIn tax
asl
txa
bcc .1 Not in ESC mode
cmp #'['
beq .8
ldy #EscBuffer
lda (pData),y
lda (pData) #EscBuffer
inc
sta (pData),y
clc
adc #EscBuffer
sta (pData)
tay
txa
sta (pData),y
cmp #64
bcc .8
jsr CharIn.Esc
bcs .8 Not translated, exit
@ -292,7 +286,7 @@ CharIn tax
lda #$ff
>STA.G bEscMode
inc
>STA.G EscBuffer
sta (pData) #EscBuffer
.8 clc
.9 rts
@ -322,10 +316,7 @@ CharIn tax
*--------------------------------------
CharIn.Esc >STZ.G bEscMode
ldy #EscBuffer
lda (pData),y
clc
adc #EscBuffer
lda (pData) #EscBuffer
tay
lda (pData),y
ldx #EscChars.Cnt-1
@ -422,7 +413,7 @@ CharIn.Esc >STZ.G bEscMode
CS.END
*--------------------------------------
SEQS .EQ *
SEQ.BAR .AZ "\e7\e[37;40m\e[7m"
SEQ.BAR .AZ "\e[7m\e[37;40m"
SEQ.DLG .AS "\e[30;46m"
.DA #C.SO,#'x',#C.SI
.DA #0
@ -452,7 +443,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.U .AZ "Quit without Saving [Y/N] ? "
MSG.STATUSBAR.S .AZ "%s Saved."
@ -604,13 +595,16 @@ DLG.FIND.LEN .EQ *-DLG.FIND
.DUMMY
.OR 0
DS.START
bUpdateStatus .BS 1
EscBuffer .BS 16
bEscMode .BS 1
bExit .BS 1
bUnSaved .BS 1
bEscMode .BS 1
EscBuffer .BS 16
FileType .BS 1
bUpdateStatus .BS 1
hFileName .BS 1
FileType .BS 1
hFind .BS 1
hReplace .BS 1
hLineBuffer .BS 1
@ -620,8 +614,10 @@ BufBase .BS 2
hBufferBackup .BS 1
hClipBoard .BS 1
ClipBoardLen .BS 2
SelStart .BS 2
SelEnd .BS 2
ScreenW .BS 1
ScreenH .BS 1
ViewPortH .BS 1
@ -632,7 +628,9 @@ ScreenX .BS 1
ScreenY .BS 2
CurX .BS 1
CurY .BS 1
hDLG .BS 1
STATBUF .BS S.STAT
DS.END
.ED

View File

@ -1,10 +1,9 @@
NEW
PREFIX
AUTO 4,1
AUTO 3,1
.LIST OFF
.OP 65C02
.OR $2000
.TF BIN/MD5
.TF bin/md5
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
@ -65,7 +64,8 @@ CS.RUN ldy #S.PS.ARGC
lda (ZPPtr1),y
beq .99
ldx OptionList
ldx #OptionVars-OptionList-1
.2 cmp OptionList,x
beq .3
dex
@ -77,10 +77,12 @@ CS.RUN ldy #S.PS.ARGC
lda #E.SYN
sec
rts
.3 ldy OptionVars-1,x
.3 ldy OptionVars,x
lda #$80
sta (pData),y
bra .1
.4 >LDA.G Arg
bne .99
>LDA.G ArgIndex
@ -157,7 +159,7 @@ CS.QUIT >LDA.G hDataBuf
*--------------------------------------
CS.END
*--------------------------------------
OptionList >PSTR "Dd"
OptionList .AZ "Dd"
OptionVars .DA #bText,#bText
*--------------------------------------
MSG.USAGE .AZ "Usage : MD5 [ -d input text | input file ]\r\n"

View File

@ -3,7 +3,7 @@ NEW
.LIST OFF
.OP 65C02
.OR $2000
.TF BIN/PS
.TF bin/ps
*--------------------------------------
.INB INC/MACROS.I
.INB INC/A2OSX.I
@ -127,14 +127,13 @@ CS.RUN.DUMP >SYSCALL GetMemPtr
>PUSHA CPU%
ldy #S.PS.CPID
lda (ZPPSPtr),y
>PUSHA
dey S.PS.PID
lda (ZPPSPtr),y
>PUSHA
dey S.PS.CPID
lda (ZPPSPtr),y
.1 lda (ZPPSPtr),y
>PUSHA
dey
cpy #S.PS.PPID-1
bne .1
lda PS.Table.hPS,x
>PUSHA
>PUSHBI 10
@ -184,6 +183,7 @@ CS.RUN.PrintArgs
bne .1
inc ZPArgV+1
bra .1
.8 >PUSHBI 0
>LDYA L.MSG3
>SYSCALL printf
@ -196,10 +196,10 @@ CS.QUIT clc
rts
*--------------------------------------
CS.END
MSG0 .AZ "\e[?7lhPS pPID PID cPID CPU\% Status Flags UID Command Line\r\n"
MSG0 .AS "\e[?7lhPS pPID PID cPID CPU\% Status Flags UID Cmd Line"
MSG3 .AZ "\r\n"
MSG1 .AZ "%3d %3d %3d %3d %3d\% %6s %s %3d"
MSG2 .AZ " %s"
MSG3 .AZ "\r\n"
MSG.FLAGS .AS "HS???XEN"
MSG.INIT .AZ "Init"
MSG.RUN .AZ "Run"

View File

@ -203,7 +203,8 @@ KConfigLoad >LDYAI MSG.KCREAD
ror CORE.FSID Bad file, but ProDOS.FX detected
bra .9
.1 ror CORE.FSID File Present & ProDOS.FX detected
.1 sec
ror CORE.FSID File Present & ProDOS.FX detected
.2 jsr MLI
.DA #MLIOPEN