From 50320afccb840005e31a8a839f04c46bef66398f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Mon, 25 Jun 2018 07:59:43 +0200 Subject: [PATCH] Kernel 0.9.2 --- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes INC/KERNEL.I.txt | 4 +-- SYS/KERNEL.S.CORE.txt | 3 +- SYS/KERNEL.S.DEV.txt | 58 +++++++++++++++++++++------------------ SYS/KERNEL.S.DRV.txt | 18 ++---------- SYS/KERNEL.S.INIT.txt | 5 ++-- 7 files changed, 42 insertions(+), 46 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 76f0979219ef3f3bfbb29663ffc3b494cb323360..8e134ba853578ee77e0f1e387b39be64f622ff13 100644 GIT binary patch delta 1121 zcmYjOZA=_R7~YxPy|OfSUAT|k)KsU?7D@rhmY6FRYid>6T+$YkHqjc_rfs11!%)*2 zQsFdrN+WB;i&B#_uG?^78x9ZdyiJT3i9ZxbYZnD<0==DxA4DsHA4MAVoV_#Jojmit z@4WLo&zqfKPzna6M2KasZ>aZ1y4W+&=S%*@KGe^HN2wRes$AvN9EI#=a^IlE-u0pW zN0<#UXnDO}t5u@+wy4c|eYi2SU0sUoNv#D-k)x>^P#cM)YD$*$9bpinR7y9)bO@@S zL?%+}z&**IQ!h*4P~`0QJ!CJM{|QV+Zq4uSbc=%?5q&G5-9r0qQI5OCvArf6b&J8( z3vN+H&j=)!$sH^#Zd~x>Q(YZ!iz9m%9fUV(-jWr1WT>nMb@3|-9FaAEip2ShR}7bB zYQ%84=FD^m??5olFRK*_JAxokm=U!iPdUJ^V8Ogb7`mG8_8`)*N8Gl2WRIpZvLk)_>) zNp4}8=3r@=w6pne+e_LneuJw58s$~W`jfUF#t5<$@TD(gBzax zZZ=GjJyr>MgY&~jV4&%82Dlb?enh!s`<*n(E~`mtzt%7mTZ_Vs3Wi}T6=v1k=nyr* zn9dT${JoFayx8Bzit_yY%^PlWPOtR$_B24T=xWyXQLgn4HNb{W7e>1#6CKJLj3QQ| zbHIn=0HH77*YIqIKZ4i;&;^)u09H5vGAf(lS9JOS zeANNBN``U>p7Db2bQ{dk>9f%P1gP%aHUSYQHExxvq{jQ|ds`;pMaSuLr(S&SbnFW# z1NAM5K3?9JO=cK(sf`V ytie~m@mhBF<@nb-sL(^3X4Oh4AbcTD4XK?j~@qdhu4?EG5=*5CkMsk2NZOHz^f9J|m@7_T$G7Yk7r z`N%b+uCX>`5LpA$k6toOA4}kpx@Q`gXz;*rYr=j{R@@`>lO92@Pf|7G?q9A!^d`1^ zXuoE+I@rFlyvjv?^IGtI1)j&6TYN7kOJS9ZRRFd$j;0zvOUd9(R_aI9P+@s<2=zK| z&!~&Z7FdPkacF9DUbds%g_RaIqo$Md+o~PPbDzUI&6YMe4*PLEZch??7+_F&YAb%v z6f4F~%aw)e3n9d8(u<$K{yHmL!?L3d33o?@^if5Tl$jbsb6B+8})pGN$ep6vlX-lcU|so0^#eOiZ&ik(^{ zlac(at!Rc98sgm=dHSc;hB#|v$9$_-h?r<3hepgaVxe+2t8B`4jtr#)Ucn%fqv@e&gXT7JeX1_vzj&b1j!1>DkaVMTMqh?NAPPVTvelp&*C#174YE<2U7AZ_8tY#!0tIrHXN>~-*=>Tm#4I< zruLyK&p^u@9*lj3g#qwzrwZRn%V~rze2v(8L-naaRgVz5m7YmEXqCQ|iyqDgN@f?g zWskC@llu{1Io8EhDj;zgfU;PWGbj*av66Y8gB_;RFLb`teLDFC_cy$XRgS^HU}P{c R{SEDTl!tG0hH{|CYO;;8@t diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index 0f024fffb573ab52aadcaa5ad0ebbee2be3c6580..5ca625cf9f2f36cbe16dc048fbbd16ec4e48e673 100644 GIT binary patch delta 2657 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 LHuW-h>$(2{Di;%* diff --git a/INC/KERNEL.I.txt b/INC/KERNEL.I.txt index a0dbc5d0..baaef7fc 100644 --- a/INC/KERNEL.I.txt +++ b/INC/KERNEL.I.txt @@ -8,7 +8,7 @@ AUTO 4,1 K.ENV.SIZE .EQ 256 K.FLT.MAX .EQ 4 K.EVT.MAX .EQ 4 -K.DEV.MAX .EQ 16 +K.DEV.MAX .EQ 32 K.PS.MAX .EQ 32 *-------------------------------------- H.BIN.T .EQ 0 @@ -121,7 +121,7 @@ Evt.Table .EQ $0D60 K.EVT.MAX*S.EVT.SIZE=4*8=32b *-------------------------------------- Flt.Table .EQ $0D80 K.FLT.MAX*S.FLT.SIZE=4*32=128b *-------------------------------------- -Dev.Table .EQ $0E00 K.DEV.MAX*S.DEV=32*16=512b +Dev.Table .EQ $0E00 K.DEV.MAX*2=32*2=64b *-------------------------------------- K.IOBuf .EQ $0F00 *-------------------------------------- diff --git a/SYS/KERNEL.S.CORE.txt b/SYS/KERNEL.S.CORE.txt index 3a204707..fdaa0d91 100644 --- a/SYS/KERNEL.S.CORE.txt +++ b/SYS/KERNEL.S.CORE.txt @@ -525,7 +525,8 @@ CORE.PSResume sei DevMgr.Stat .DA DevMgr.FreeMem DevMgr.Free .DA DevMgr.FreeMem .DA DevMgr.HiMem -DevMgr.Count .DA 0 +DevMgr.Count .DA #0 + .BS 1 *-------------------------------------- CORE.VBLState .BS 1 CORE.IRQMode .BS 1 diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index 0350b40f..c035fbc5 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -8,20 +8,19 @@ AUTO 4,1 * **Out:** * CC = OK, CS = ERROR * Y,A = DEVSLOT -* note: X Unmodified *\-------------------------------------- K.GetDevByID cmp DevMgr.Count - bcs K.GetDevDNF + bcs K.GetDev.NODEV - asl - asl - asl - asl - tay + tax - lda /Dev.Table - adc #0 - rts CC + lda Dev.Table+1,x + beq K.GetDev.NODEV + ldy Dev.Table,x + +* clc + +.9 rts CC */-------------------------------------- * # GetDevByName * **In:** @@ -32,41 +31,48 @@ K.GetDevByID cmp DevMgr.Count * Y,A = DEVSLOT *\-------------------------------------- K.GetDevByName >STYA ZPPtr1 - >LDYAI Dev.Table+S.DEV.NAME - >STYA ZPPtr2 ldx #0 + lda Dev.Table+1,x + beq .4 + ldy Dev.Table,x + + >STYA ZPPtr2 + + lda (ZPPtr2) + clc + adc #S.NODE.DEV.NAME + sta ZPPtr3 + ldy #1 + lda (ZPPtr2) + adc #0 + sta ZPPtr3+1 + .1 ldy #$ff .2 iny lda (ZPPtr1),y - cmp (ZPPtr2),y - bne .3 + cmp (ZPPtr3),y + bne .4 - ora (ZPPtr2),y Both char are 0 ? + ora (ZPPtr3),y Both char are 0 ? bne .2 no....loop - lda ZPPtr2 + lda ZPPtr3 and #$F0 tay - lda ZPPtr2+1 + lda ZPPtr3+1 clc rts -.3 lda ZPPtr2 - clc - adc #S.DEV - sta ZPPtr2 - bcc .4 - - inc ZPPtr2+1 - .4 inx + inx cpx DevMgr.Count bne .1 -K.GetDevDNF lda #MLI.E.NODEV CS from cpx/beq +K.GetDev.NODEV lda #MLI.E.NODEV + sec rts */-------------------------------------- * # GetDevStatus diff --git a/SYS/KERNEL.S.DRV.txt b/SYS/KERNEL.S.DRV.txt index 1225a07f..687b8d5c 100644 --- a/SYS/KERNEL.S.DRV.txt +++ b/SYS/KERNEL.S.DRV.txt @@ -111,7 +111,7 @@ DRV.RamDrive.Stat >PSTR "ProDOS /RAM Disk" .DA #S.DSTAT.T.RAM .DA #0 - .DA #0,#91 + .DA KVER *-------------------------------------- * DRV.BlkDevice * X = IOCTL @@ -209,7 +209,7 @@ DRV.BlkDevice.Stat >PSTR "ProDOS Block Dev" .DA #S.DSTAT.T.PRODOS .DA #0 - .DA #0,#91 + .DA KVER *-------------------------------------- * Smartport Driver *-------------------------------------- @@ -445,9 +445,6 @@ DRV.SYS.Scroll ldx #1 lda DRV.SYS.BASEH,x sta ZPDRV+3 - php - sei - ldx #DRV.SYS.Scroll-DRV.SYS.ScrollAux-1 .2 lda DRV.SYS.ScrollAux,x @@ -461,8 +458,6 @@ DRV.SYS.Scroll ldx #1 jsr $102 sta CLRWRITEAUX - plp - ldy #39 .3 lda (ZPDRV+2),y @@ -479,9 +474,6 @@ DRV.SYS.ClrLineAtX lda #$A0 ldy #39 - php - sei - .1 sta SETWRITEAUX sta (ZPDRV),y sta CLRWRITEAUX @@ -489,8 +481,6 @@ DRV.SYS.ClrLineAtX dey bpl .1 - plp - rts *-------------------------------------- DRV.SYS.Home ldx #23 @@ -523,12 +513,10 @@ DRV.SYS.SetCharAtYX bcs .2 - php - sei sta SETWRITEAUX sta (ZPDRV),y sta CLRWRITEAUX - plp + ply rts diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index 75963a63..8d774fc7 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -939,8 +939,9 @@ DevMgrInit.AddNode sta Dev.Table+1,x tya sta Dev.Table,x - inc DevMgr.Count - inc DevMgr.Count + inx + inx + stx DevMgr.Count clc rts