From a225b5fe6622b7bd8437a1e7f4a11b7e72e52cd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 19 Feb 2019 14:51:33 +0000 Subject: [PATCH] Kernel 0.92+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/MORE.S.txt | 7 +++- BIN/SH.S.IO.txt | 1 + SYS/KERNEL.S.GP.txt | 80 ++++++++++++++++++++------------------- SYS/KERNEL.S.IO.txt | 4 +- SYS/KERNEL.S.MEM.txt | 6 +++ 6 files changed, 55 insertions(+), 43 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 4b548a9810830ccc3c78aa8bc7ed12d64852b601..5c1926fffd4b8d0854bd11dbccf2650b8921c2c9 100644 GIT binary patch delta 12368 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 L-hubyJn#KKelpB` delta 12442 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.G hFILE ldy #S.PS.hStdErr lda (pPS),y >SYSCALL GetC - bra .2 + rts .1 >SYSCALL GetChar .2 rts @@ -269,7 +269,10 @@ CS.RUN.GETLINE >PUSHWI 256 .8 sta (ZPBufPtr),y clc -.9 rts + rts + +.9 >DEBUG + rts *-------------------------------------- CS.RUN.PRINT >LDA.G bLineNum bpl .1 diff --git a/BIN/SH.S.IO.txt b/BIN/SH.S.IO.txt index bbdbca16..1511b8f2 100644 --- a/BIN/SH.S.IO.txt +++ b/BIN/SH.S.IO.txt @@ -38,6 +38,7 @@ IO.Reset.In >LDA.G IO.hIn ldy #S.PS.hStdIn lda (pPS),y + >SYSCALL fclose pla diff --git a/SYS/KERNEL.S.GP.txt b/SYS/KERNEL.S.GP.txt index bb595093..005215ff 100644 --- a/SYS/KERNEL.S.GP.txt +++ b/SYS/KERNEL.S.GP.txt @@ -42,7 +42,7 @@ GP.CodeStart jmp GP.SysCall *-------------------------------------- * SLEEP *-------------------------------------- - php +GP.Sleep php sei phy @@ -112,49 +112,60 @@ GP.CodeStart jmp GP.SysCall * *** MUST BE REINTRANT *** *-------------------------------------- GP.SysCall dec IRQ.InKernel + sty .5+1 save Y (Func Arg) + sta .6+1 save A (Func Arg) + stx .7+1 save X (Func ID) - bit K.SYSCALL.BANK,x - bmi .1 - - jsr .8 in $E000, no BNK change - - inc IRQ.InKernel - rts - -.1 sta .7+1 save A (Func Arg) - lda K.SYSCALL.BANK,x Get Target BNK + bpl .1 0, E000, no BNK change cmp $D000 #RRAMWRAMBNK1 or #RRAMWRAMBNK2 - bne .2 - - jsr .7 same as actual BNK...go restore A and JMP - - inc IRQ.InKernel - rts - -.2 stx .6+1 save X (Func ID) + beq .1 same as actual BNK...go restore A and JMP tax set Target BNK in x lda $D000 get source BNK bit $C000,x switch to Target BNK bit $C000,x - pha - jsr .6 go to kernel..... +.1 pha remember source BNK + + jsr .5 go to kernel..... - stx .5+1 save X + stx .4+1 save X + plx get back Source BNK + + bit $C000,x switch to Target BNK bit $C000,x - bit $C000,x -.5 ldx #$FF Self Modified + bcc .4 no error quit... + + tax CS,A=0 ? + bne .4 no, return error to caller + pla get PC LO + plx get PC HI + sec + sbc #3 move back JSR GP.SysCall + bcs .2 + + dex + +.2 phx + pha + + ldy .5+1 + lda .6+1 + ldx .7+1 + jmp GP.Sleep + +.4 ldx #$FF Self Modified inc IRQ.InKernel rts Unmodified Carry - -.6 ldx #$FF Self Modified -.7 lda #$FF Self Modified -.8 jmp (K.SYSCALL.JMP,x) + +.5 ldy #$FF Self Modified +.6 lda #$FF Self Modified +.7 ldx #$FF Self Modified + jmp (K.SYSCALL.JMP,x) *-------------------------------------- GP.LibCall dec IRQ.InKernel @@ -193,10 +204,6 @@ GP.RomCallPushFAC sta FORPNT+1 ldx #ROM.GETFAC - jsr GP.ROMCALL - - clc - rts *-------------------------------------- GP.RomCall dec IRQ.InKernel @@ -214,7 +221,8 @@ GP.RomCall dec IRQ.InKernel bit $C000,x inc IRQ.InKernel - + + clc rts .1 jmp (.2,x) @@ -352,12 +360,6 @@ CORE.Tick10t .BS 1 CORE.CPUStatCnt .DA #100 CORE.LastPSID .DA #0 *-------------------------------------- -DevMgr.Stat .DA DevMgr.FreeMem -DevMgr.Free .DA DevMgr.FreeMem - .DA DevMgr.HiMem -DevMgr.DevCnt .DA #0 -DevMgr.NodCnt .DA #0 -*-------------------------------------- IRQ.Mode .BS 1 IRQ.SkipA2osX .BS 1 IRQ.Tick .BS 1 diff --git a/SYS/KERNEL.S.IO.txt b/SYS/KERNEL.S.IO.txt index 5f4c632a..2a19bda3 100644 --- a/SYS/KERNEL.S.IO.txt +++ b/SYS/KERNEL.S.IO.txt @@ -438,7 +438,7 @@ IO.READ.PIPE >PULLW .3+1 S.IOCTL.BUFPTR sec rts -.99 lda #C.EOF +.99 lda #MLI.E.EOF sec rts *-------------------------------------- @@ -494,7 +494,7 @@ IO.WRITE.PIPE >PULLW .2+1 S.IOCTL.BUFPTR sec rts -.99 lda #C.EOF +.99 lda #MLI.E.EOF sec rts */-------------------------------------- diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index d3b60baf..61dd2a1d 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -745,6 +745,12 @@ MEM.NextCharPtr2 inc ZPPtr2+1 .8 rts *-------------------------------------- +DevMgr.Stat .DA DevMgr.FreeMem +DevMgr.Free .DA DevMgr.FreeMem + .DA DevMgr.HiMem +DevMgr.DevCnt .DA #0 +DevMgr.NodCnt .DA #0 +*-------------------------------------- MAN SAVE USR/SRC/SYS/KERNEL.S.MEM LOAD USR/SRC/SYS/KERNEL.S