From aa032994d896a5062bc46026a19431f8960cbdd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Wed, 12 Apr 2017 17:46:03 +0200 Subject: [PATCH] Kernel version 0.9 : KCONFIG, bugfix in Stat and Loadfile....#1 --- Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes SBIN/KCONFIG.S.txt | 64 +++++++++++++++++++++++++++++----------- SYS/KERNEL.S.DIR.txt | 2 +- SYS/KERNEL.S.FILE.txt | 59 ++++++++++++++++++++---------------- SYS/KERNEL.S.FIO.txt | 2 +- _Docs/KERNEL.md | 2 +- 7 files changed, 83 insertions(+), 46 deletions(-) diff --git a/Floppies/A2OSX.BUILD.po b/Floppies/A2OSX.BUILD.po index 02203efad8ca18fa2c529b6156e3de1da04ae61c..7ababe85727a236cb021f938a71f4def95cf6727 100644 GIT binary patch delta 2063 zcmYjSeQ*=U72my+Ea4bgwlOF`=vq1($u+icgsVEt#1tAtYCejYP9~+P2=O2X3!F5a zX`wBGV#NrH+CFAvG9=Ncg+U&jBgsRincxlq>_{@0GaqJcov%2gfWNQUGo}C%T*pORKT3BBE^rOqFE2K**!`Faf))fnv^0X1$vW!SUQvRRdbC*1Kyufvp3q^a z{f7noQD2;@BT+)JqtmK_KVVN>tb#O~xQO8Xu8E6k4Ro+`SNFm>_Kj;Mm}HM#`#GHJ zx^wL$MF9KPC!mcT|N0Q@VQXW>+8!a0aH&y`(EQP0pbzb5KaHWBt8!3@i0O+m4;d2W zVe~lRVS^ve^pX?Br2%%gH|d)U)q4b0Gdmia4VJIpV$@349mI- zc5|YfLJjOEiPi8C+nX>fwc&7nAQq%$<}6OB@l&mUd&JHs@|W}o-bWa%`L+=r2YxC7 zBvthT*4S6PV;rBIz-MQ$A4Diqwv;nHgRON{&T;G=$1U{q1a8;WX)m;VgSI5YH=}aO z-VT%{EcfPWf@R)3jUPs+GkF>kiY53tG{Xk^HZ31Yo})-vBh^AZr2A(u|Diu4s3l^? z+O8w`m@T+ov0(}~CA3co9lvZ^!meCYm9*OZssJ4UA1`3s4Bj%|!AWGj@R+A#lE6)4 z?<5XFqV4Pi+kSo3k>@()3|9`}bxz?l@g(N2$hz$dby0=1(ImwsUWwjKy7ck;yqY-3 znRG2h-zCvZGO8djPvAc#T{Q9}i2&;u^v+SKx%omb6V%A9g7394 z!2*=eKD$w*&JxIbQJ^f=*l&Ri?63MO;4FK(-}KgJLUX6U%?j4Bl^qVpIrukFJwH!| z_C8gI$keXMkU^2#0cu?c861l*i6*1~$*1KXXVw8CYMef*WnvnbR=mI5oPfUddL=KB` z=$4$Na}J2!+u{Y1=Da0(@361)cGWF$%e;*nU?Y6F3jCA1BZh9XemZ7_11Q6<$<(|oVvWvxV zwue+UrTccd2cBhZ(KF_Pi|8b*)ssuXdC)M z|D|5kPwQ72-Y}dtTroT~EMY2`QpQ;LDs!^%FNHgqx0rgy!+gYWOdoTfnPoBxUn=yy zW~33^=G$kai;h(3xiu(Mf&!b!+&KdZ=@(pb==6cpB!;T=fqG&CpUW?1E}kP*#Pj$Z z^rWC=O)t~Na4(}!IdZLzFCn)rv%vLboF>ky0#`J?wxuU-4S!|IMwSBCU%9m?WL{_< z1mydWBJeFS(R?zF!KQ-(sN3pIygm$iIMXJ6Qe@6A#&QpR_< zlwJ>C@%_D&UY(DgKf7yxX?E^@fA@h`d}9Ri?LSGq;M11T^|qC0>z=)ix&yUnSDmx& zz&?a3QQdtm^*(v1 delta 1892 zcmYjQe{2&+7M|H%$0iBJN%-M%1x@S?#JP|-smoauwW(SOmr^N55$fHc%7}|dT1;qF zofNnVwI=35VMBsFsW+iP{OdOjRa6*sw(1@KJ;c zt`KN#fYM%Iw06>$6bBQ}R(47pr5%7;@8#wCgZ$&fCSqt~(pbWvy;yJO-%d8yklMu8 zBI8p#OH8mp`BWY-M0qLC)+nPLqI#0L$9B}of12D3XZfp1<60I6*LdSTS`jW6R9X); z1cce)u{En>5;u#{mhZaZ3E-hZprGD$hc}JYwPx{|d3+|1Js?DxRuwApd2H=yabz)< z#e;Ny9*^idbms@}AX_GQBdnwx@S`$mJy)sqHF8y24-8SKtF#1)C&fo7&;Nbw<@Gpo zmLg@{)F3rWkLR&?(o^Eo5ifH*yoTWSyy4o`7ZD8uey~0c#d=c}zTH0e2s- z%;SQ7JckQaXPKhTTg;$;R^>cbG%x&r#9rE?jxOLKpd68K!W{PR+VY)E_#UGpciZiw ztT2y#fi(a04b!jiOz~uC63~z7V6)Jx4fJTaTk^mZZ@=->@n7<@V(^_) z(=)aa$CS*apg;Fx&0o&r)7^O1oUm7n~H}(8|)|J{I~a(ezcf7xtN2O7IV~!?av>kC^8ZNY-lIiW7uoxGV~fQ z8RiU68Fv`}Y;+q(*w2km*#ELujN?Yh_{3PsZeX8dTiFBbpIDA{@2sT}-0gn5mfm!{ zP%W5HpcZ*wCci{5qJUv(OYWn=`!T^#q1t-$>tD~8+qA`zVlnt5PM;hqWn-3cbbW;4!@B2#q zqinPZDYrLjCZXMC&5}G){c9AcbN{1(w!j+qw+-}mXm)RCq&JuDYx{%QvG3h|ht2Na zk#Bc@BYo(Z_2{+z2iiLhx1l{-7mgYq!ir! zf|<_3{cckeT~}t?wx{#p!9#7xcGPWeqHCbh-Q7eV<8{>KOSL*$gf0v1vM?@-%4I2W WS=26z#${RIvXr_kW#=sAyZ#6MRbq_* diff --git a/Floppies/A2OSX.SRC.po b/Floppies/A2OSX.SRC.po index ea9ca48fb14c0423508426ee4797f1e13afb4706..3f72d7ae038cb50c1276030f83b2a1aa9524b6bd 100644 GIT binary patch delta 5094 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 diff --git a/SBIN/KCONFIG.S.txt b/SBIN/KCONFIG.S.txt index b06991f7..de4cd64f 100644 --- a/SBIN/KCONFIG.S.txt +++ b/SBIN/KCONFIG.S.txt @@ -40,6 +40,8 @@ L.MSG.KCONF .DA MSG.KCONF L.MSG.FCONF .DA MSG.FCONF L.MSG.HZ .DA MSG.HZ L.MSG.CHROOT .DA MSG.CHROOT +L.MSG.DISABLED .DA MSG.DISABLED +L.MSG.ENABLED .DA MSG.ENABLED L.MSG.STATUSBAR .DA MSG.STATUSBAR L.MSG.SLOT .DA MSG.SLOT L.MSG.QUIT .DA MSG.QUIT @@ -97,6 +99,7 @@ CS.RUN.REPaint >LDYA L.MSG.FCONF CS.RUN.Loop >SYSCALL Sleep >SYSCALL GetC bcs CS.RUN.Loop + cmp #17 Ctrl-Q beq .8 @@ -109,16 +112,16 @@ CS.RUN.Loop >SYSCALL Sleep >LDYA L.MSG.QUIT.ERR bra .9 -.1 cmp #8 Ctrl-H +.1 cmp #20 Ctrl-T bne .2 - >DEBUG - jsr CS.RUN.HZ + + jsr CS.RUN.ToggleHZ bra CS.RUN.REPaint .2 cmp #3 Ctrl-C bne .3 - jsr CS.RUN.CHRoot + jsr CS.RUN.ToggleCHRoot bra CS.RUN.REPaint .3 cmp #'1' @@ -126,7 +129,7 @@ CS.RUN.Loop >SYSCALL Sleep cmp #'8' bcs CS.RUN.Loop and #$0f - jsr CS.RUN.Slot + jsr CS.RUN.ToggleSlotA bra CS.RUN.REPaint .8 >LDYA L.MSG.QUIT @@ -135,7 +138,7 @@ CS.RUN.Loop >SYSCALL Sleep sec rts *-------------------------------------- -CS.RUN.HZ ldy #hFileBuf +CS.RUN.ToggleHZ ldy #hFileBuf lda (pData),y >SYSCALL GetMemPtrA >STYA ZPTmp1 @@ -145,7 +148,8 @@ CS.RUN.HZ ldy #hFileBuf sta (ZPTmp1) rts *-------------------------------------- -CS.RUN.CHRoot ldy #hFileBuf +CS.RUN.ToggleCHRoot + ldy #hFileBuf lda (pData),y >SYSCALL GetMemPtrA >STYA ZPTmp1 @@ -156,7 +160,8 @@ CS.RUN.CHRoot ldy #hFileBuf sta (ZPTmp1),y rts *-------------------------------------- -CS.RUN.Slot pha +CS.RUN.ToggleSlotA + pha ldy #hFileBuf lda (pData),y @@ -178,6 +183,7 @@ CS.RUN.Load >PUSHWI UsrBuf256 >SYSCALL GetMemPtrA >PUSHYA >SYSCALL Stat + >DEBUG bcs .99 sec @@ -226,8 +232,25 @@ CS.RUN.Load >PUSHWI UsrBuf256 sec rts *-------------------------------------- -CS.RUN.Save - sec +CS.RUN.Save ldy #hFileBuf + lda (pData),y + >SYSCALL GetMemPtrA + >PUSHYA ptr + + >PUSHWI 16 LEN + + >PUSHWI 0 AUXTYPE + >PUSHBI 6 S.FILEINFO.TYPE.BIN + >PUSHBI SYS.FOpen.W+SYS.FOpen.X + + ldy #hFileName + lda (pData),y + + >SYSCALL GetMemPtrA + + >PUSHYA + + >SYSCALL SaveFile rts *-------------------------------------- CS.RUN.DumpConfYA @@ -239,8 +262,13 @@ CS.RUN.DumpConfYA >SYSCALL PPrintFYA ldy #8 - >PUSHB (ZPTmp1),y + lda (ZPTmp1),y + beq .10 + >LDYA L.MSG.ENABLED + bra .12 +.10 >LDYA L.MSG.DISABLED +.12 >PUSHYA >LDYA L.MSG.CHROOT >SYSCALL PPrintFYA @@ -311,14 +339,16 @@ SLOTS .DA #0 .DA #A2osX.SLOTS.NET .DA #A2osX.SLOTS.DISABLE SLOTS.MAX .EQ *-SLOTS -FILENAME >PSTR "%{A2OSX}KCONFIG" +FILENAME >PSTR "${A2OSX}KCONFIG" MSG.TOPBAR >PSTR "\ec\e[7m\e[1;1HA2osX Kernel Config Utility : " -MSG.TOPBAR.OK >PSTR "KCONFIG File Successfully Loaded. \e[0m\r\n" -MSG.TOPBAR.KO >PSTR "Invalid/missing KCONFIG File. \e[0m\r\n" +MSG.TOPBAR.OK >PSTR "KCONFIG File Successfully Loaded. \e[0m\r\n" +MSG.TOPBAR.KO >PSTR "Invalid/missing KCONFIG File. \e[0m\r\n" MSG.KCONF >PSTR "------ Actual Kernel Configuration ------\r\n" MSG.FCONF >PSTR "\e[13;1H------ KCONFIG File Configuration ------\r\n" -MSG.HZ >PSTR " Machine Type : %d0Hz\r\n" -MSG.CHROOT >PSTR " CHRoot to RAM : %d\r\n" +MSG.HZ >PSTR " Machine Timing : %d0Hz\r\n" +MSG.CHROOT >PSTR " CHRoot to /RAMx : %S\r\n" +MSG.ENABLED >PSTR "Enabled" +MSG.DISABLED >PSTR "Disabled" MSG.SLOT >PSTR " Slot #%d : %S\r\n" MSG.SLOT.NODEV >PSTR "" MSG.SLOT.Z80 >PSTR "Z80 CPU Board" @@ -331,7 +361,7 @@ MSG.SLOT.COM >PSTR "Communication Card" MSG.SLOT.XY >PSTR "XY Pointing Device" MSG.SLOT.NET >PSTR "Network Interface Card" MSG.SLOT.DIS >PSTR "" -MSG.STATUSBAR >PSTR "\e[7m\e[24;1HCtrl-Q:Quit,Ctrl-S:Save,Ctrl-H:Toggle Hz,Ctrl-C:Toggle CHRoot,1-7:En/Dis Slot# \e[0m" +MSG.STATUSBAR >PSTR "\e[7m\e[24;1HCtrl-Q:Quit,Ctrl-S:Save,Ctrl-T:Toggle Time,Ctrl-C:Toggle CHRoot,1-7:En/Dis Slot \e[0m" MSG.QUIT >PSTR "\ec" MSG.QUIT.ERR >PSTR "\ecError [$%h] While Writing KCONFIG File.\r\n\r\n" *-------------------------------------- diff --git a/SYS/KERNEL.S.DIR.txt b/SYS/KERNEL.S.DIR.txt index 595ebcc5..e50d1ad4 100644 --- a/SYS/KERNEL.S.DIR.txt +++ b/SYS/KERNEL.S.DIR.txt @@ -476,7 +476,7 @@ K.ReadDirA.ADDF lda /S.STAT.MODE.REG ldy ADDF.DST-1,x sta K.S.STAT,y dex - bpl .1 + bne .1 *-------------------------------------- K.ReadDirA.AddAccess ldy #$1E ProDOS Access diff --git a/SYS/KERNEL.S.FILE.txt b/SYS/KERNEL.S.FILE.txt index 883981b3..c5c0ea2d 100644 --- a/SYS/KERNEL.S.FILE.txt +++ b/SYS/KERNEL.S.FILE.txt @@ -364,10 +364,41 @@ K.Stat jsr PFT.CheckPathSTK >PULLW ZPPtr2 >MLICALL MLIGETFILEINFO bcs .9 - jsr FILE.MLI2STAT - clc + + lda #S.STAT.MODE.XO+S.STAT.MODE.WO+S.STAT.MODE.RO + + ldx K.MLI.PARAMS+S.FILEINFO.ACCESS + cpx #S.FILEINFO.ACCESS.FULL + beq .2 + +* cpx #S.FILEINFO.ACCESS.R + txa + beq .2 + lda #S.STAT.MODE.XO+S.STAT.MODE.RO + +.2 ldy #S.STAT.MODE + sta (ZPPtr2),y + + ldx #K.Stat.DST-K.Stat.SRC + +.3 ldy K.Stat.SRC-1,x + lda K.MLI.PARAMS,y + ldy K.Stat.DST-1,x + sta (ZPPtr2),y + dex + bne .3 + .9 rts *-------------------------------------- +K.Stat.SRC .DA #S.FILEINFO.TYPE +* .DA #S.FILEINFO.BLOCKSUSED,#S.FILEINFO.BLOCKSUSED+1 +* .DA # + .DA #S.FILEINFO.AUXTYPE,#S.FILEINFO.AUXTYPE+1 +K.Stat.DST .DA #S.STAT.P.TYPE +* .DA #S.STAT.BLOCKS,#S.STAT.BLOCKS+1 +* .DA #S.STAT.SIZE,#S.STAT.SIZE+1,#S.STAT.SIZE+2 + .DA #S.STAT.P.AUXTYPE,#S.STAT.P.AUXTYPE+1 +*-------------------------------------- FILE.SetIOBUF >PUSHWI 1024 get a ProDOS IOBUF >PUSHBI S.MEM.F.ALIGN+S.MEM.F.NOMOVE jsr K.GetMem @@ -386,30 +417,6 @@ FILE.SetupPrt1A jsr K.GetMemPtrA sta K.MLI.PARAMS+1 rts *-------------------------------------- -FILE.MLI2STAT lda K.MLI.PARAMS+S.FILEINFO.ACCESS - cmp #S.FILEINFO.ACCESS.FULL - bne .1 - - lda #S.STAT.MODE.XO+S.STAT.MODE.WO+S.STAT.MODE.RO - bra .2 - -.1 and #S.FILEINFO.ACCESS.R - beq .2 - lda #S.STAT.MODE.XO+S.STAT.MODE.RO - -.2 ldy #S.STAT.MODE - sta (ZPPtr2),y - - ldx #2 - ldy #S.STAT.P.TYPE+2 - -.3 lda K.MLI.PARAMS+S.FILEINFO.TYPE,x - sta (ZPPtr2),y - dey - dex - bpl .3 - rts -*-------------------------------------- MAN SAVE /A2OSX.SRC/SYS/KERNEL.S.FILE LOAD /A2OSX.SRC/SYS/KERNEL.S diff --git a/SYS/KERNEL.S.FIO.txt b/SYS/KERNEL.S.FIO.txt index d53315a2..ad14cb0e 100644 --- a/SYS/KERNEL.S.FIO.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -192,8 +192,8 @@ K.LoadFile.Seek >PUSHWI 0 */-------------------------------------- * # SaveFile * ## In: -* PUSHW = SrcLen * PUSHW = SrcPtr +* PUSHW = SrcLen * PUSHW = AUXTYPE (Handled by.... * PUSHB = TYPE ... * PUSHB = MODE ... diff --git a/_Docs/KERNEL.md b/_Docs/KERNEL.md index 2ea38f17..a7178415 100644 --- a/_Docs/KERNEL.md +++ b/_Docs/KERNEL.md @@ -446,8 +446,8 @@ And return, if found, the full path to it. # SaveFile ## In: -+ PUSHW = SrcLen + PUSHW = SrcPtr ++ PUSHW = SrcLen + PUSHW = AUXTYPE (Handled by.... + PUSHB = TYPE ... + PUSHB = MODE ...