diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 95bfdff7..acced127 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/EDIT.S.BUF.txt b/BIN/EDIT.S.BUF.txt index 8fe7a62b..2e7fa4ed 100644 --- a/BIN/EDIT.S.BUF.txt +++ b/BIN/EDIT.S.BUF.txt @@ -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 diff --git a/BIN/EDIT.S.CTRL.txt b/BIN/EDIT.S.CTRL.txt index 8dbed0c7..0235ca13 100644 --- a/BIN/EDIT.S.CTRL.txt +++ b/BIN/EDIT.S.CTRL.txt @@ -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 diff --git a/BIN/EDIT.S.FILE.txt b/BIN/EDIT.S.FILE.txt index 3dd12fd1..344ca3a5 100644 --- a/BIN/EDIT.S.FILE.txt +++ b/BIN/EDIT.S.FILE.txt @@ -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 diff --git a/BIN/EDIT.S.SCRN.txt b/BIN/EDIT.S.SCRN.txt index 3d804e03..e7f3be56 100644 --- a/BIN/EDIT.S.SCRN.txt +++ b/BIN/EDIT.S.SCRN.txt @@ -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 diff --git a/BIN/EDIT.S.txt b/BIN/EDIT.S.txt index 050e88e4..c08db89c 100644 --- a/BIN/EDIT.S.txt +++ b/BIN/EDIT.S.txt @@ -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 diff --git a/BIN/MD5.S.txt b/BIN/MD5.S.txt index 55aad874..69d6d763 100644 --- a/BIN/MD5.S.txt +++ b/BIN/MD5.S.txt @@ -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" diff --git a/BIN/PS.S.txt b/BIN/PS.S.txt index 9dc23b28..9f224c41 100644 --- a/BIN/PS.S.txt +++ b/BIN/PS.S.txt @@ -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" diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index 7d11df03..b3c27aea 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -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