From 6a46705d346014adc1efbb7c69c9f8f7f725cc6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 26 Sep 2017 08:27:34 +0200 Subject: [PATCH] Kernel 0.9.1 : Code reorganization & move to CSTR : new MACROS set for DS access --- .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes INC/MACROS.I.txt | 39 +++++++++++++-------------------------- SBIN/SHELL.S.HIS.txt | 27 +++++++++++++++------------ 4 files changed, 28 insertions(+), 38 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index c27c0ced3f3cbe9d2c909a657cb3072247ae984e..2425a654af463ec7ad7cbe2f342960f16144b507 100644 GIT binary patch delta 6212 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

F;c z-N8%yg8|ueM&J(~XV9}h=>Bl}`9S=o1HteQ18b&Fgfp0p!9fMYfu%D82ZElqpgS3& z+p6%$g|;9bau1z81S4VbYi+?@Om*Xt9pb)P71;1stNxHS{pqb4t6mNTLca|CD)j46 zFf>YGP8!bPa%@-wd4L^Usb<3RQN{%Yg?hrM`}g4J2>Rx(P0dWi!f@cvFk$nlbUwMx zN9laD&KEP0JbXViJR2GjKT4<=ojZ6xs zD;y`uBO!eB;x0iMHt+FUm%V{4bW(EvEy&4zr@)4*fR7)9OuzT>7W&}|_U8EQiknAn zBJ_OlouDpM6uR}1{@%lTkME`2U3B+c5xq_}o4f0LfscAl;~ZqYrA2g_%XeTxQ+P(> z{z;01ImHapcUSr5rY17ZFoDme&M>~VGa8K0oYB~PtrMCsJMtq2T|KqxB%?!q)nkv! zkEg?neQgt(KrAPQIm~RXdppng?C&#viy0c9{J<|X0eTeiq{&-FbRuG0>P6u zSQ+VRxZjDZpbH+eBSp0^&UL{W+}gMe9zts3Ni~?H`Vs`C z#=i7ILyk7bfaK3YEQrW#RODNtomb)dsrSPVV%9@l#{2y-{r=c~zo_3I*YA(-_lx`e Ml74@}MZeVl{}+qKRsaA1 delta 5989 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 V&Y9A=(sYhb=XRxY=JlNL=YPNR^$!35 delta 1739 zcmZuy+fx%~6hCD7Vo0zgvqk|?!FU70nnbk3R@%tj0*#PXv9&fN%WX)4n+1uzgypi@ zR6)pwZzat~%|i1}z+oC@rz*`N^SiF+OMfHzZ05ehtebu&)NR!AL|A zd<$YcF*!V4QpP=Stu0CChrQ@Q4 z$3W^3VyOpBPKCkhhPsuc7@3E%21CG=U@+9@g)#xOq#RcCPail=vU0gkZ@m|69s}<3 zfWx~Pig(1v2%gFlY;Ok#X~ZMzY2-y2E&mz%>oV8me$j|LVHB-(r@+>fX9~p6h@J(F zMKry{B5G(m<@R2Cd1u(ULRd3~IbXqVDU5+>ah?L z{017Rt9OfmfV>GAuwDYePbE1CmdjB0^jHHN8USXp4p9zD;?!bucWWT$yAdP>d#+%4 z@j5eN==Ht&J$OzDkC-(VW2w*U;rmK2*aio1!IEj_`_4*}TT+vt+*eZxbz zcjN<1R{kMt3yvc{LOtCakTmPS%(f0x5(SU>StH%1KAf4O4_3{m)ANRQ`$FC!fje>- z$D|rf5SoD8!VI?Cx#ji%|Ivo2*~6jl@W(l{AIK+&w%*C_J%4v6cyU7;xyMLbJ_Sv; z#%G0^pR@BNV-xuMJ9B(d$gzyjD#|R6tE{%;LmE}Y+=jD9z_J1w8#B=uvkVALG%_9m z%L8^?ic9j)Xu-i%`fSa7pkWPRyT8oI#m5#%7Ehdym?XA{o8B(xS2R4mi}%>RF3|Y~ z!F#{OF~la=Z$tNJToi(RUA-Z&tQ&=@zM~Ua^ZwHBb8`K#?=k&n(d;a>{;;vRKT_{( X(N#5TRDEBUG +:1 .EQ * .EM *-------------------------------------- * SYSCALLs Macros @@ -125,18 +123,8 @@ AUTO 6 .EM *-------------------------------------- .MA PUSHEA.G - clc - lda pData - adc #]1 - tay - lda pData+1 - adc /]1 - - dec pStack - sta (pStack) - tya - dec pStack - sta (pStack) + >LEA.G ]1 + >PUSHYA .EM *-------------------------------------- .MA LDA.G @@ -153,6 +141,11 @@ AUTO 6 ldy #]1 cmp (pData),y .EM +*-------------------------------------- + .MA ADC.G + ldy #]1 + adc (pData),y + .EM *-------------------------------------- .MA SBC.G ldy #]1 @@ -160,24 +153,19 @@ AUTO 6 .EM *-------------------------------------- .MA DEC.G - ldy #]1 - lda (pData),y + >LDA.G ]1 dec sta (pData),y .EM *-------------------------------------- .MA INC.G - ldy #]1 - lda (pData),y + >LDA.G ]1 inc sta (pData),y .EM *-------------------------------------- .MA INCW.G - ldy #]1 - lda (pData),y - inc - sta (pData),y + >INC.G ]1 bne :1 iny @@ -189,8 +177,7 @@ AUTO 6 .EM *-------------------------------------- .MA LDYA.G - ldy #]1 - lda (pData),y + >LDA.G ]1 pha iny lda (pData),y diff --git a/SBIN/SHELL.S.HIS.txt b/SBIN/SHELL.S.HIS.txt index 360d7515..c44611b0 100644 --- a/SBIN/SHELL.S.HIS.txt +++ b/SBIN/SHELL.S.HIS.txt @@ -25,16 +25,15 @@ HIS.Add >LDA.G HIS.hBuf .10 lda #$ff jsr HIS.GetA Y=ending 0 - + phy tya sec add len+1 - adc CmdBuflen CmdBuffer length + >ADC.G CmdBuflen CmdBuffer length + pla bcc .2 enough room - >DEC.G HIS.Count we must remove oldest - - ldy #$ff + ldy #$ff we must remove oldest .12 iny lda (ZPPTR1),y get len of oldest string @@ -60,16 +59,16 @@ HIS.Add >LDA.G HIS.hBuf sta (ZPPTR1),y bne .1 + >DEC.G HIS.Count + bra .10 retry.... -.2 tya Y=Array Ending 0 - sec +.2 clc A = ending O offset adc ZPPTR1 - sta ZPPTR2 - lda ZPPTR1+1 - adc #0 - sta ZPPTR2+1 - + sta ZPPTR1 + bcc .3 + inc ZPPTR1+1 + .3 ldy #$ff .4 iny @@ -92,6 +91,8 @@ HIS.GetPrev >LDA.G HIS.hBuf >SYSCALL GetMemPtr.A >STYA ZPPTR1 + >DEBUG + >LDA.G HIS.Count beq HISTORY.RTS empty history,nothing to do @@ -114,6 +115,8 @@ HIS.GetNext >LDA.G HIS.hBuf >SYSCALL GetMemPtr.A >STYA ZPPTR1 + >DEBUG + >LDA.G HIS.Count beq HISTORY.RTS empty history,nothing to do