From 1615bb2ef80ead51e5a4efb9e4ac2c40d9ce7e02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Thu, 17 Oct 2019 22:21:22 +0200 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes ProDOS.FX/ProDOS.S.TCLK.txt | 31 ++++++++++++++++++++++--------- ProDOS.FX/ProDOS.S.XRW.txt | 22 ++++++++++++++++------ ProDOS.FX/ProDOS.S.txt | 2 +- SYS/KERNEL.S.INIT.txt | 8 +++++--- 5 files changed, 44 insertions(+), 19 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 2dd359544becea636b3c0b4ac3fdda7ec2cda66d..87e299fca2b5d9b1a92746cf598a301c061d33d5 100644 GIT binary patch delta 10545 zcmZvh30zdgAHe6m2kde`*n{O*Sng|i?xM0_UR(+TD6(j2Wgx6Va>-%fg_|&$x|W$v zl-Wj#Ze`-%imWus4z&xr4=pn_D>Lo1lmGAS+eNJW_~pI#o8NEd_kQ!6c{8)C{~Qin z4fN0OV0{()OFbTAScQ7?U!Ey!pn7w%S3EmLxxduweXjxjN$YuL>!*gv`-=io1zB*2 zTBTGf_OG0DxQ`#6hoTb{idgg|(#=X#sP~ti`I~_X_LrV}pJCGWC!9aCH|FGLpP%~T z^q1dW`0nEOmoESC<4-^TYIJkuWZ3biXtKqDohJ9eRWf#$1yB^LBWA3B4b0BAp>mB;l@eaLs?|97lmvzeLT&wmNv}hMwjB?p^ zP`@2a46~4q*}){33{IzY=!GNC>HA~%4C-w|dfP{O5FC43FE4=W8z1UxlKSQL8BWa# zyV?1E8+I^Foj>VqKkIcj$GW`u#o7Kh(BKTQ!R#k4ANu6tclwJ=+EtyuuhIFvKjPTX zr;q=n-}AHH<~g{*LvHhwZ(!v%PHyuU)Ku(w;F9eJy=`Tzrgp0BflGU~U9$bCx2=k; zMYe61dQDTd4-X&Xf8XopC9-jee%Zx3W54Z+Hzc+77+_li=;2qEl|qQ!xef&pI|-o|R}1 zc6jTuXjDC`Ru(3{_2!`@O+`{>MZrE~o1R$nL;)?VXLZaA^wxSdoEf5|o}I$v(x^3g zYM}u7AJ(naY7pKjwbOc#lh& zoH8w?C}r-zlAm+i8QK2S1F3_luMJcN=ld|si&VQdFNU6LW+yJ#m1f(WR%3evu&3<_ z8nkUn+Y>x!v!(4>H@Ii`?QN@sZJmOyFYVIwqwzy&;?3lvh9S>}Rl@2Y?)E)8pYae8GSk`~Ajr?n)ctF78gNsLrb?Fdt5P zHLXM_6v~BOH1vCotwY$jOxU(u*tSC0wo>TjuLN`m!ZJZ_M@a{k3mwaap5=o4$RIa# zDe2hImmfg_c^+IY6eI_F_xG$8*4AM7=e#|?mOrL! z2Kehg=y}Q8Vb`w`c$uSrp6%Ooj5w1$7n_R4%)Kww%91gVH z5h^P;6Q_&UyIj11D{oosDqT0ZIB#xtp|!+3T_`sfA;sK(Ii7kWh>GdlHdBJ{O7h9|?ZOs-dy?Lq0o4J)PT58g^AO*7ZF@0I^yE@gG_!;bFEy#6n@0!BY-!DJSc-gGMkz)mM#f|A$dt*&L)=^B*nwbOm!l7Io%Sw=1Uzy)&4PNV#LQx-;!n zYe7^x+gxz{ysqrFc57=#lLdv`$n{dz7oNcX# zbX9D28#S3NEiJW;4Jh!DE*S*iulC>_ZGvolZc<9ezs zkgq+UTUUwr`>!qceZZBIMx@wwO-7juA)_9=Ry$%louuT$Lm%RVbSh3-rMFeX*c8MZ zfkC0N(uB zqxHK3HS8XajyXIolzDs2lja>l=}nl_<`$2c=*t4~?oq$XeSXeh^-8 z1$q!-mtTsaUcCBpf_bADg%nlV$onGsOHvT7J4}5;_zBF*bXo`>74ZsK7nrSM(+znB z11Zk4CQU2Oo}R4FMk%jSYY3mryha}j;lngXBt?UvTU3}}g;8KNptz&-WC$PYeN3u6 z;&tk+;lmT&;7S_XS}ZXCPG9e=KGT?KFhUy{$ooyFsuhiWi((C*&b&=mYWO5rD)njj z81Lg!MU&s5$2I&U=3N>X3eLVqaVT$O-lr=<`Ecd~dS56%EAT^3{FsOz=X7Ca(b~Q@ z*g0E&S9sEkU3sB?F-ZQAR8`8yG$st*;}cpO#uqT3(k)?p40D1$6UJvTC+QDie4OSp zcsa;UvA&$*qP+Y$LSA7Z3i+H0;k>%@)W1qW38}yMm)Km2Vop1~a@A6nT|%6RJqGTq zd9^KzW03C4(HhW>q#+hsZ@w`GY0r!r#FeK~@UW-ick5xkE1j>@zkyh!z0K7;w5 zR%!W6<`Uhe<;O6W=^Icc|H0Y1xwS8eYo}MVd@S=Ljfmt;K0is}jQ*LUQ#VhDWFvl| zD9_^`fS&Vz5YRD-dc^KdSb zVm!9UmC-6s4~TyI-6I{*9)m)?woF!P!eky-Ka}gP&Oj(#zNJZNWW1@Bm|_^8Ew3nJ z7~d`D;jbU{Wt4G@KQ%DQB<}#J9c3V`WR!|{-ou$ju&fIVl5XR23u*P)R=>$-|^tRpDZ-xy3Wh`3A!}XSGJ;6XC8_u9egxB0Z+%2{UFF7vJO5F$?fm zF62V~BSnZbXzbTl~ZXMSJv^otB1fun{FOl8T`lG{ku{C{_}{ zH{RJ03W{@UPAM{-nAD zMz=fqt9486q)7tNo$~y$5)>qW06HeU+wIO6x4`9&+~D+sL(xXM@j<1INvC@sREBzw zb;WQTJ^r9FymP!%@o4ulMno?6Od|qUv@)-@CApX77J!4!;7pKAAil0>UFR0K+zX#5 z_F+z>IA@99&9%-fHXHMdFbpQSe4I?{)|tY!Q#{P|mCdcCjm@p%%zTG9Gp7%F7{(&` zRF47UWY)wC$X2nxF@5*3Y~OCyqwfe1!?7|;_@+qRpP_w6xPSp!0{0t3i;quSKd|1; zwK08t96RvU`xBGcfuv`+&;9!@z_aXCP?8;nL#m(+jeVE6Rl8&#a4c!^c)H2+Z~^PB zpszgR*#hTncT70oIWXaX*Q+ab$v)yd$OKv61UbJ;b^^4E<)qk~6#MiQ`#!x(_8G_a zdH9{$B|8O0=lsYy|EJFdEIPu!Rg9LzC&}R?FFkQqVxW59wkHC2B>PP%E}va(*|d4+ z-A_+!X8bzsYUmTp~W3XQl;)Vih) zc{}UeJ|%ZhD+8atWpw^RQ>4G|a#wwsD0BtgxX`5WSt-?|Ud7Uft4#_vrjz=yFrBZa z0t+8PE4^irDTEKWot2ipIfd47NWF$GVR@Ch3xrp9hRwANtqW0Tw`ieBB2Xr66vX5a z$Gh^5(ds2d5E&G9Cw&O&S0MR1R@!{7m;6cHK#wglr7$*XKA)K8m=PT5C+<6Ss`GRV2XHy8zbl#kq*z zDpn{iz9ntNeIshqVWkCnD71&A*0Y&Pk8~9J0KHUW(oEULy0%>g6!M_d1w{hPib82N zd=1R7x>9ThZ(x^RST;*2oKZewb_tT(!O^-V6!tKkRci`O>2+0NME;LRb;QQx#-N}b zS1n5#t1T#WCwAGzHxdUaT*923VifVeQ9kS!eF*7%azxR&VuJS- zH5E_&+oh*nE)7U7X`f+*Oe*fg|KlXY|5>+prQqFj|L{)p{79p8ju#(r%fWxQcF5J* z3sP&oFS0_GVXN2yJ}<#7b*^&{yK?VkDa%x^u%mn_&#h~OLmB<6EcI(Nh0&8#;0|@Beg%$r2o58t+8>i8S#71Rh!X@%UMV3};Ty6vM`)Vn1 zOV{8%BRX4)lF!n6<$O}-IY}|D%8+S*Cg3CB#9MXK}GIbxGm0Fs`6EM}qYvih`#iG>jdzYorh%}d2y068g zF1mb;rgZ$K`a$fvD(P4ZhP-p!%72u`yZk3tCjRV7wqK-VQ~pZ#dGiYPiZi{EqkeP0 zqnKI0ORc!O3Pt}x1AJhS{TChM!>h{vmUKsDmvUIjgOR-vytyxuHkx8`G2-4EL@bD0 z$;H8~E4e&4xI|TUW|K;sL<1?~&#OAqkw4G5^3JdjDS{+*amEz$M$ElnC>L{2;kqhaSCw>C zgj{O^sU{B<&pzO55GMLpi>8Nz&$X@Ava*>aIWvmV*OXZr#B)b$8GYTC7t$kKXB&kx z3d>7o&Nk;GKdp4sA{Y%QIMRLek?$%^jiRZ3e2TyBs#07GeSL{3c2canrR*Br4|n_MfRI zh^IObg)!1us@x#;l8;e5^KzD?i}8W}8!MIgj_2Tow>H&OB1Oi(nhY>Wfflt@M@wK142`B<=GCWT&~`y!$S~s;j|+ z?aPpP$k?5o74Rz$(eXqV)Tay19AI_?4l{QQ&kY_Jo~wYbpFTA*W*`~MKV)Qyo8)%6 zZdo6zynjH(`u)bhucY!jnC(hH1*m}#Km&vhFx$i0Sq9N%_As5tti&l#x zETf`J&uVpyn$ok{6h=e$`pi%9ii(bjjnl)D_xG*7>7JBX%>Tj0hSE=c=EpGbyY6{y zBoj^z=e6p{2;>~PepX3J&Q)Wf_C~$awDx;%!pV!6&M5CUT1y%6%$$>MU z7&>@f8_UGf5Ci&5ej`uNw{1jaxI z{pLq8MtaI`ekg3n{J+s^nXxqW8;HVqI_Dd0@^}-1ue&&U0<(}XmP*bWOelN;_$404 zkL|8&Y;3Z^ZzHvJ)`?bwfKn#XhyCX#Gn43N-)QyBWa|4ZR6CU>f2&RQ%Rw-A!Z-AG zq|K%CzlC1Rqszb5rh4a#-qxYeX>{+mTFuM?cp32*A!Bi>v8$%Btr>+DLhN9f*_7E@ zTW?7(yy!GNyd0`n{aY0+anCUAQv{}q-I($JJ+BpYF=dW?bX&!=dbf0JPFG1~b5#ve+~5|C&+f`@YObwAL374N$ z@QrRs&Uld2bs*(UZb{x)IFFYtYHMi~f56%PomQ=z?=CZr>zY~B+PJ{dY)vYenP*KO zpOK8zx6l{)`Kpi#x7K)LSDvNHQV(iq`hu+&wbPg?I$gX}(~aWALf;oJ3u(mn+OW2jq56}X=`o~r6KjBq}N-j8!Rp1qFmK5A|KmT-ez$sYntd#VS0$?5^>xUoKEmq zg2xd&p5P3EO$28WoJH^ig0CZZBEgdgo=or*f~OLkO>hpuxdi7CoKNsHf~ON)KyV?! znBXFUiwQ0vcm}~U2`(jg7Qtl%n+Yx_cs9Xv2)>@+8wj3D@H~QVB={zRZzgy?!M6}x zL2xC(3ka?vxSC)K!3zmqL~sqkwFKWv@M41N2(Bl%f#61hn+RS)a5KRz1h*30M(|RC zZzH&!;0}V95xkt>6$Gy&coo5&1g|F8O7QIjuOYaL;BJBm!FLe6mf$-HUPthHf;SLs zBX}dhcM*Iy!J7!ahv3Zw-%Icog0~V(3BHfu9)j;D_yK~q5&R&*+X;S%U^~GN6WmMi zBLwdtcqhSq1n(kvH^B~qA0_xPf*&V%55Z3myqDm9g7*>pKZ5rY{3O9o5&Sg40|Y-q z@BxCKCHOglpC|Yr!G{Qbf#5-cUnKY?f)5k?GQqD9{3^k(5qyN;qXZu#_;rHcAoxv! z-y-;Jf`y!T^8|lQ@HYg1OYjAPza#h}!QT^niQvlw|3L7M1ph?v&jkNM@UH}4 zA^10fe<%14g8wA=FM|Ijcz7LVHev=~0S@p0JOM922FL+#zz6UJ`~ZI-00;zlAP5Ks z6o3*?0cs!w&;X%87!VFb09qgthyrv#G!O&C0&ze*kN_kCNkB4?0;B?ZAPo?JF@OOu z0_nh5U>q(m;2vNza4)b0*a}eKKA;D~mJz|+70@C~-%fKtZtH5i(5#T6r40s)Q19%g73wRqC0*(Xk0Ph0t0q+AJ03QM$ z0UraO0G|RUfRn&yz~{gz;0xe1@Fj2tI18Kuz5>nzUjyF&-vSqa?|_TI_rN9KGVlZN hBk&XOGw=)WD{uw)4fq}S1Nam83;3IP0uM7!{vRi;($N3_ delta 9806 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 diff --git a/ProDOS.FX/ProDOS.S.TCLK.txt b/ProDOS.FX/ProDOS.S.TCLK.txt index 653eb518..112fc8af 100644 --- a/ProDOS.FX/ProDOS.S.TCLK.txt +++ b/ProDOS.FX/ProDOS.S.TCLK.txt @@ -1,10 +1,11 @@ NEW AUTO 3,1 -* object code = tclock_0 +*-------------------------------------- * Thunderclock driver * hard coded for slot 1 - * $2F00-2F7C moved to $D742 +*-------------------------------------- +clkmode .EQ $0538 clock mode TCLK.START ldx TCLK.Cx2+2 clock slot = $C1. @@ -15,9 +16,11 @@ TCLK.START ldx TCLK.Cx2+2 clock slot = $C1. TCLK.Cx1 jsr wttcp TCLK.Cx2 jsr rdtcp read month, day of week, day of month + clc and time into input buffer. ldx #$04 index for 5 values. ldy #$0C read minutes 1st, month last. + .1 lda inbuf,y convert values to binary. and #$07 no value > 5 decimal. sta pcl 'tens' place value @@ -34,6 +37,7 @@ TCLK.Cx2 jsr rdtcp read month, day of week, day of month dey dex are there more values? bpl .1 if yes. + tay contains month lsr ror @@ -45,23 +49,31 @@ TCLK.Cx2 jsr rdtcp read month, day of week, day of month and #$1F isolate day. adc tdays-1,y (y = month) bcc .2 branch if not Sept 13 thru 30th + adc #$03 adj for mod 7 when day > 256 + .2 sec + .3 sbc #$07 bcs .3 loop until < 0. + adc #$07 make it in the range of 0-6. sbc pch the delta provides years offset. bcs .4 branch if positive + adc #$07 else make it positive again. + .4 tay lda yradj,y look up year plp and combine it with hi bit of month rol sta p8date+1 P8 date + lda A1L+1 hour sta p8time+1 P8 time lda A2L minute sta p8time + pla restore previous mode. ldx TCLK.Cx2+2 clock slot = $C1 sta clkmode,x @@ -89,13 +101,14 @@ tdays .DA #$00 January * is the year which January 1st is Sunday, and so on backwards thru * the days of the week. -yradj .DA #$07 Monday - .DA #$0C Sunday - .DA #$0B Saturday - .DA #$0A Friday - .DA #$09 Thursday - .DA #$08 Wednesday - .DA #$08 Tuesday +yradj .DA #$12 Monday + .DA #$17 Sunday + .DA #$16 Saturday + .DA #$15 Friday + .DA #$14 Thursday + .DA #$14 Wednesday + .DA #$13 Tuesday + TCLK.END .HS 000000 pad *-------------------------------------- MAN diff --git a/ProDOS.FX/ProDOS.S.XRW.txt b/ProDOS.FX/ProDOS.S.XRW.txt index f3d9b72a..db36053b 100644 --- a/ProDOS.FX/ProDOS.S.XRW.txt +++ b/ProDOS.FX/ProDOS.S.XRW.txt @@ -804,6 +804,7 @@ L595F sta pch iny if even, then pre-xor with byte 1. eor (buf),y L596D sta A1L save result for write routine. + L596F ldy #$FF index to last byte of data to write. lda (buf),y to be used as a checksum. and #$FC strip extra bits @@ -822,11 +823,13 @@ L596F ldy #$FF index to last byte of data to write. stx wrefd4+1 stx wrefd5+1 rts + chkprev eor iobpdn same slot as last ? asl beq L59BD lda #$01 sta montimeh + L59A6 lda iobpdn and #$70 tax @@ -849,21 +852,28 @@ rsetphse lda unitnum get unit number. lda phaseoff+4,x lda phaseoff+6,x rts + docheck lda A4L command #. cmp #$04 is the command allowed ? - bcs L59E6 if not. + bcs .9 if not. + lda bloknml ldx bloknml+1 stx ibtrk calculate block's track and sector. - beq L59E8 branch if block # is in range, + beq .8 branch if block # is in range, + dex else test further. - bne L59E6 taken if bad range. + bne .9 taken if bad range. + cmp #$18 must be < $118 - bcc L59E8 then ok. -L59E6 sec error. + bcc .8 then ok. + +.9 sec error. rts -L59E8 clc + +.8 clc rts end of obj xrw_0 + .LIST ON XRW.FREE .EQ $D6EC-* (ProDOS 2.0.3 = $02) .LIST OFF diff --git a/ProDOS.FX/ProDOS.S.txt b/ProDOS.FX/ProDOS.S.txt index ad8ea0d8..db336f95 100644 --- a/ProDOS.FX/ProDOS.S.txt +++ b/ProDOS.FX/ProDOS.S.txt @@ -113,7 +113,7 @@ pwredup .EQ $03F4 power up byte nmivect .EQ $03FB nmi handler txtp2 .EQ $0400 test location for aux card vmode .EQ $04FB video firmware operating mode -clkmode .EQ $0538 clock mode + ch80col .EQ $057B 80 column ch position vline5 .EQ $0600 line 5 of display vline10 .EQ $04A8 line 10 of display diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index fe4fa45e..37333675 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -618,9 +618,11 @@ DevMgrInit.USR ldx #4 >LDYAI DRV.BlkDevice bra DevMgrInit.AddBDev *-------------------------------------- -DevMgrInit.BLK ldy #$ff - lda (ZPPtr1),y - sta FD.BDEV+S.FD.DEV.BUSPTR +DevMgrInit.BLK +* ldy #$ff +* lda (ZPPtr1),y +* sta FD.BDEV+S.FD.DEV.BUSPTR + ldx #6 >LDYAI DRV.BlkDevice bra DevMgrInit.AddBDev