From 262c2803865ae82dc37cb267eeefe93a86fddd0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 12 Feb 2020 15:42:07 +0100 Subject: [PATCH] Kernel 0.93++ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/EDIT.S.CTRL.txt | 25 +++++++++++------ BIN/EDIT.S.FILE.txt | 58 ++++++++++++++++++++++----------------- SYS/KERNEL.S.MEM.txt | 29 ++++++++++++-------- 4 files changed, 66 insertions(+), 46 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index daf2512790b3f2498eb97a968cf8ed04f943652b..5a423c3d8ca04d389026b4d74c210fa1475195ba 100644 GIT binary patch delta 22061 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 delta 21771 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.G FileX + >INCW.G FileY + + >STZ.G CurX >LDA.G CurY >CMP.G ViewPortHm1 - beq .8 Bottom line, all done + bne .1 - dec + jsr SCRN.LineBufOut Bottom line, all done, just CEOL + bcs .99 + jmp SCRN.GotoCurXCurY + +.1 dec >CMP.G ViewPortHm1 bne .6 No scroll needed @@ -270,7 +277,7 @@ Ctrl.CR lda #C.CR >PUSHA >PUSHBI 2 jsr SCRN.LineBufSprintf - bcs .9 +.99 bcs .9 >PUSHW L.SEQ.SCROLLRGN >LDA.G ScreenH @@ -283,10 +290,10 @@ Ctrl.CR lda #C.CR .6 jsr SCRN.LineBufOut bcs .9 -.7 >INC.G CurY - jmp SCRN.UpdateCurrentLine - -.8 jmp SCRN.LineBufOut + >INC.G CurY + jsr BUF.ComputeCOffset + jsr SCRN.UpdateCurrentLine + jmp SCRN.GotoCurXCurY .9 rts *-------------------------------------- diff --git a/BIN/EDIT.S.FILE.txt b/BIN/EDIT.S.FILE.txt index 1fad3a15..53ae140a 100644 --- a/BIN/EDIT.S.FILE.txt +++ b/BIN/EDIT.S.FILE.txt @@ -48,35 +48,46 @@ FILE.Load jsr BUF.ResetSel >SYSCALL GetMemPtr bra FILE.New.1 -.1 >LDA.G STATBUF+S.STAT.P.TYPE - cmp #S.FI.T.TXT - beq FILE.Load.TXT - cmp #$FA S-C/ASM? - bne .9 +.1 >LDYAI 256 + >SYSCALL GetMem + bcs .9 - jmp FILE.Load.ASM + >STYA ZPPTR1 + stx TmpByte + + >LDA.G STATBUF+S.STAT.P.TYPE + cmp #S.FI.T.TXT + bne .2 + jsr FILE.Load.TXT + bra .8 -.9 lda #MLI.E.INCFF +.2 cmp #$FA S-C/ASM? + beq .3 + + lda #MLI.E.INCFF sec rts + +.3 jsr FILE.Load.ASM + +.8 php + pha + lda TmpByte + >SYSCALL freemem + pla + plp + +.9 rts *-------------------------------------- FILE.Load.TXT stz FileLen stz FileLen+1 jsr SCRN.Home - stz TmpByte hLineBuffer stz TmpIndex hFile >STZ.G FileType - >LDYAI 256 - >SYSCALL GetMem - bcs .99 - - >STYA ZPPTR1 - stx TmpByte - ldx #S.FI.T.TXT jsr FILE.OpenTypeX bcs .99 @@ -159,13 +170,6 @@ FILE.Load.ASM stz FileLen jsr FILE.GetBufferA 2k buffer bcs .9 - >LDYAI 256 - >SYSCALL GetMem - bcs .99 - - >STYA ZPPTR1 - stx TmpByte - ldx #$FA jsr FILE.OpenTypeX bcs .99 @@ -218,7 +222,8 @@ FILE.Load.ASM.Decode jsr FILE.Load.ASM.2Buf bcc .1 - rts + +.9 rts .2 cmp #$C0 REPEAT char? bne .5 @@ -231,6 +236,8 @@ FILE.Load.ASM.Decode iny .4 jsr FILE.Load.ASM.2Buf + bcs .9 + dex bne .4 @@ -241,11 +248,12 @@ FILE.Load.ASM.Decode lda #C.SPACE .6 jsr FILE.Load.ASM.2Buf + bcs .9 + dex bne .6 bra .1 -.9 rts .8 lda #C.CR *-------------------------------------- @@ -264,7 +272,7 @@ FILE.Load.ASM.2Buf lda FileLen+1 cmp BufLen+1 bne .8 - + jsr BUF.BufPtr.Realloc bcs .9 diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index d054eb62..bf399fd6 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -21,6 +21,7 @@ MEM.BestScore .EQ ZPMemMgrTmp1 * YA = ptr * X = hMem *\-------------------------------------- +MEM.OldSize .BS 2 MEM.NewSize .BS 2 *-------------------------------------- K.Realloc >PULLW MEM.NewSize @@ -37,30 +38,34 @@ K.Realloc.I tax lda (ZPMemMgrSPtr),y ply - sty .2+1 - sta .3+1 + >STYA MEM.OldSize - jsr MEM.MoveToAux x = Src hMem, YA = LEN + jsr MEM.MoveToAux x = Src hMem, YA = Old size bcs .99 - stx .1+1 + stx .7+1 Aux hMem >LDYA MEM.NewSize + >STYA A2L size for MoveSetupA1A2 jsr K.getmem bcs .99 - stx .8+1 new main hMem + stx .8+1 new main hMem to return + >STYA A4L Save MAIN Ptr + + lda .7+1 + >SYSCALL2 GetStkObjPtr + jsr MEM.MoveSetupA1A2 Setup AUX base & End Ptrs + + clc Aux To Main + jsr AuxMove -.1 ldx #$ff SELF MODIFIED hMem AUX -.2 ldy #$ff SELF MODIFIED src LEN -.3 lda #$ff SELF MODIFIED src LEN - - jsr MEM.MoveToMain - bcs .99 +.7 lda #$ff SELF MODIFIED + >SYSCALL2 FreeStkObj .8 lda #$ff SELF MODIFIED - tax + tax X = new hMem jmp k.GetMemPtr YA = new ptr .99 rts