From ea26b4cfdcfa11b1f01b9ac41b0cbc60623a6fa1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 22 May 2018 08:01:05 +0200 Subject: [PATCH] Kernel 0.9.1 : TCPIP, code reorg --- .Floppies/A2OSX.BOOT.po | Bin 143360 -> 143360 bytes .Floppies/A2OSX.BUILD.po | Bin 819200 -> 819200 bytes .Floppies/A2OSX.SRC.po | Bin 819200 -> 819200 bytes INC/GUI.I.txt | 12 +- INC/KERNEL.I.txt | 6 +- LIB/LIBGUI.S.EVT.txt | 11 ++ LIB/LIBGUI.S.MOU.txt | 2 +- LIB/LIBGUI.S.txt | 12 -- SBIN/GUI.S.txt | 5 - SBIN/TELNETD.S.txt | 15 +-- SYS/KERNEL.S.STDIO.txt | 249 +++++++++++++++++++-------------------- 11 files changed, 157 insertions(+), 155 deletions(-) create mode 100644 LIB/LIBGUI.S.EVT.txt diff --git a/.Floppies/A2OSX.BOOT.po b/.Floppies/A2OSX.BOOT.po index 88731e9805c5ce4925fbae12d7a25a0b9554bcaa..22ef0e6c299fef080090b2f6c25788aec7a40063 100644 GIT binary patch delta 3110 zcmZuzdu&rx82`@g?OAz@m5s+315UfANGcFeLe#Kz9lO$X%~}u;lJXdA5n3!$BO1Ct zhVL11h6#ydcG@u0n!Vf*7(T$tOPFGaR+I?{iU{K&k1?6wy|<6`&Zfyd_k7>)cfQy8 zzFXC!sp`=*r}KP!<_t|O<1-S)MFyM$kanzm+N{WqOPk4EiN42LixJ`XW$L ztF7nLJPP0swtT@d7})qfK;)0tf}|jl10TCmwKl?~ zkXGv*4bisUUF@8WkMh^rr-u#PGsM6>3ImtJc&lJE49X^5g$a2g7J;yVLxIy4+KWu3 z7Lz@Urse2aw<_Mi+RH#-poQt_ z@xaY;KJKR%h3o!6PND`Ym*!;IicDs6tXAnqFcO{~8xL=U9J|SkAuWg~(iV&juZT?} zj1w$a8nGKl+c0T6z6+M7Il?5g+?|TfoYHsLT zPYvVVIhE>QmvsJg7MR4mi&5aeq4!dz>S~_6<+tjd)}HBEOxwk->E6EJ%|>zanZv5? zpUpoqKVt!%3~4$s$Kmm+8j@Oi-oK-N^@#R%U?K~ie&=)`O?rrwOr)Ijdc)|gA^&6+ zm?9%Z>Wi#d$L8s(Zus>qkP&0_XR<(6_!Z_j8b-H-M50`gNGNImueK%Bn{?<%_nmUw z_jvUvsG3o}HB@8JiHh0yzU5r?Su`xM<*aB9T6U{xKwSB=Ss+K|PIWXO(Jth2)NIz( zY?H7LBlhj&k9&&`cXbPrya~33svfVY)=BVO7I+|Rn#9*M;Ca9^Eb8n`gv$ptJtXO) zIpUtkly+F#&53NOjyVpmwgK?uk)frc#i9qB`p~1xqO-l4$X)z6Ms1YX*Q&?P;F`BZ~Y=hgiq0GJR1yR=%C6hUr z$?bNz<5(7MEOWEGl`eN>+3Glf;9TWeFPdv~Ih|#zDl1%0_LOab{jsd_<*d-{TF>UP ztks6dU&20xGMuX%PBr|Ehc*t^J_q5s_Kr@nj@&1{HH31z_h93}wUbbO-~P|Pz_)(V z@f@k9gzMb$5_ysEUmiI4wY*(LI6C=HIHwq~&t?F2E4hc%v6o4@=MZ**35qTdgz*Iy zn_wx7G*F;NunX)}42&QoTW#TcEkEc{R9ihnO9 zn>{bmD}a87bk~Q_Wm*MGwA&#oJ&8VCRrJpwplH+PXu`uKFVykLLN(y+F-+|&iq%&e!_ioSSpu}H_2=+Dth!Sa!}15JAR^D zE|YB}PeZu6{Cbi}Ms=>OC)wCC@IF62cVQ9!7?Oy5pAcUC^Dn=i>FFe2kbA_} zPDXNP&&#r}us$#RA+L`Rjs)w-F*3&U7v}jwg3_m4!5TNQXfF<|4`bhb;cCb<6$sH% z5F>OGM!=zDC7a%8jRsp>&;g(jl0N(5iYvnyD=bM*O;qrVq8x%SI$AF>E1!TLi<4q` zk&X{Sc40|r@gPDv4B4s`Y&n=eW08HyAOq=0q6Vgze|6+_67(G>9DnKZ-&dr}_`W9^ z)zxd)rI2=#(_}zB{Kh}GZr{1vcd!3n+`UD7=gAoUK4AJVN&jw3;RbwtWH`suT5J+=%}G8pTX! delta 2323 zcmZuyZERCz6h7ze?c1^sHum90sifIgmr0hzxR@AC?AmU-(%#+lmW7!tacYF1!I)tD zp;^%YiSgqHB`z8>G@Up8Fa)=`>W27H&?$aQAp}uyG66*tMa2PSc<#MzZ+lDs+_&#N z&-0%1oaelE>%4R8ymPNx5XPHYD&iiYv0Pg;!UBN4BMYwEvO9{lU~o7P>4&^u#ULO6 z)8jRu9u^-JTrmsqh|(oW`M|^tfW%)I1r;eG2ceLk!h%tM9vM`Wqa}?tJ>50FTl4TcGDy#hJBvMfjE(d!(tSJ%`K!4}ND&=+yv{j1`YEQXE=WG8Uk>F&-*C7Dtg z6tZMWrSEv5Wo@`!Qp_}Y1Z;4-DU|^nm0X=!sWQMe0`@C`h}a+0YvlKm026j745O5) zaa>+>qG#gr`pq5m*!b*ZM<&7Pq6DWc2@XP?Ec)B?`pF-lmfT}%kV&u@xMp3nHyDwE z(F~ezq{`-Og$c&b7Xxnz`6Pd^N6DVbHxux6EAWmPSI&q=4ns4p}Xxh?`VQ3>@)Gv#22FiCqC3Lt8fx|{W zmfXD==cl~o4)QMdHY>fsP{?#Ee*?bW^wd@prlw=s#@Wa&yIz`NGp zCv}TGSw22a=1Aw8BSy|oKyyzp8Xd?+0q`l3y4K>p1k{H5dh+Lzzk34@B%npFKaiv2 z)1=)Fi*^ZU4fOhDk3S?uGm-oQiaTV98yV`s-85I;sa|x}C!G)BqRsa9#3U(r4b?}G zvv-oTUP5&Xa^bz1eecu1G)_H*+c-Lt+n>QFQP}_CM;{y8JCO0!XJEl{b3EP%)B;1l z5zq7JjvXWgR$3HDL0v#nM5#OL3gDlT0yCB=NI{jXSlq3``2VbkD4diaC?r-h=0Yn92a7jZwb1E1)2nc9h+Ecfcp zU3kDQe0J!IFAbZ#iasYgN4mza2`iHu#_(liUw@+m)i+U4Rb=WOdcH-^Nfh|8q z;v~Jlg6cGuu^)djVrR*p3#X0s95PIe;I~*4`-S>^#$m0gRg??HmH$rDI%a;(GHz%J z2E?2dG==_xQkbo>vNibSoY>ler-8$9{cBcWu13FUEIp2)4IZ=DAq6XPelb`Dfxdw^ zn|;xbPeDs}UnHDI$T_iXv#_;N|NOntfxHCyGPHxoGW)4GvV-aoWWw2B&;3R!rcphH zPTToEF6fdb@f2RSm;8D0?|=Ti^xxv;E3|tF)pJ;5yLxRY{&by-E{?PDN9$M9^W+#S zL5%wbw9V6MDRVHpgAQ0ytC?MJmXwy!pY+s9=62}ciKNHF=56-nl`E>M>CIKOnU$*T Oj1hWMa#I_7$@V|;Ee-+z diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 496b82d470225ca25fe824b0d35d10484ff4f9dd..3085fcf9c4707ca3e9e5af4e796dc7950a0a44d8 100644 GIT binary patch delta 4725 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 delta 4129 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 CFW8{~ diff --git a/.Floppies/A2OSX.SRC.po b/.Floppies/A2OSX.SRC.po index 6ea750b5666017a210e04e48acf4c5fb961e9593..e5a0e491c9b9c34b2aebb401613cdcda48cdd551 100644 GIT binary patch delta 11547 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 I^kdTh0#pqN_y7O^ diff --git a/INC/GUI.I.txt b/INC/GUI.I.txt index 1f156936..719a30de 100644 --- a/INC/GUI.I.txt +++ b/INC/GUI.I.txt @@ -86,11 +86,15 @@ S.MOUSE.S .EQ 8 S.MOUSE.S.UP .EQ %00000001 S.MOUSE.S.DOWN .EQ %00000010 S.MOUSE.S.MOVE .EQ %00000100 -S.MOUSE.S.DRAG .EQ %00001000 -S.MOUSE.S.CLK .EQ %00010000 -S.MOUSE.S.DCLK .EQ %00100000 +S.MOUSE.S.DRAGSTART .EQ %00001000 +S.MOUSE.S.DRAGEND .EQ %00010000 +S.MOUSE.S.CLK .EQ %00100000 +S.MOUSE.S.DCLK .EQ %01000000 +S.MOUSE.KEYMOD .EQ 9 +S.MOUSE.KEYMOD.OA .EQ %00000001 +S.MOUSE.KEYMOD.CA .EQ %00000010 * -S.MOUSE .EQ 9 +S.MOUSE .EQ 10 *-------------------------------------- S.POINT.X .EQ 0 S.POINT.Y .EQ 2 diff --git a/INC/KERNEL.I.txt b/INC/KERNEL.I.txt index 136f9016..1235204c 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 32 +K.DEV.MAX .EQ 16 K.PS.MAX .EQ 32 *-------------------------------------- H.BIN.T .EQ 0 @@ -55,6 +55,8 @@ INDEX .EQ $5E ->$5F FORPNT .EQ $85 ->$86 FAC .EQ $9D ->$A1 FAC.SIGN .EQ $A2 +ARG .EQ $A5 -> $A9 (5 bytes) +ARG.SIGN .EQ $AA *FAC.EXTENSION .EQ $AC TXTPTR .EQ $B8 *-------------------------------------- @@ -121,6 +123,8 @@ 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 *-------------------------------------- +K.IOBuf .EQ $0F00 +*-------------------------------------- *** Z80 Reserved $1000-10FF*** *-------------------------------------- Z80JMP .EQ $1000 (00000h) Up To $10FF diff --git a/LIB/LIBGUI.S.EVT.txt b/LIB/LIBGUI.S.EVT.txt new file mode 100644 index 00000000..8e420964 --- /dev/null +++ b/LIB/LIBGUI.S.EVT.txt @@ -0,0 +1,11 @@ +NEW +PREFIX /A2OSX.BUILD +AUTO 4,1 +*-------------------------------------- +EVT.Get + +*-------------------------------------- +MAN +SAVE /A2OSX.SRC/LIB/LIBGUI.S.EVT +LOAD /A2OSX.SRC/LIB/LIBGUI.S +ASM diff --git a/LIB/LIBGUI.S.MOU.txt b/LIB/LIBGUI.S.MOU.txt index b5d5204d..88deb1b3 100644 --- a/LIB/LIBGUI.S.MOU.txt +++ b/LIB/LIBGUI.S.MOU.txt @@ -75,7 +75,7 @@ MOU.Read >STYA ZPPtr1 >PUSHA >PUSHBI DEVMGR.READBLOCK - >PUSHWI 0 + >PUSHW ZPPtr1 >SYSCALL IOCTL bcs .9 diff --git a/LIB/LIBGUI.S.txt b/LIB/LIBGUI.S.txt index fa423ec3..3b1cf14f 100644 --- a/LIB/LIBGUI.S.txt +++ b/LIB/LIBGUI.S.txt @@ -71,7 +71,6 @@ CS.START cld .DA HideCursor .DA ShowCursor .DA UpdateCursor - .DA ReadMouse .DA GetScreenGC J.Cmds .DA DrawLine .DA DrawText @@ -151,17 +150,6 @@ CB.Get >STYA .1+1 rts *-------------------------------------- -ReadMouse >PULLYA - - ldx hDevMouse Mouse is active ? - beq .9 - - ldx #DEVMGR.READBLOCK - jmp GoDevMouse - -.9 sec - rts -*-------------------------------------- GetScreenGC >LDYA L.GC.Screen rts *-------------------------------------- diff --git a/SBIN/GUI.S.txt b/SBIN/GUI.S.txt index 4a7ce635..8442c8d3 100644 --- a/SBIN/GUI.S.txt +++ b/SBIN/GUI.S.txt @@ -80,11 +80,6 @@ CS.RUN lda A2osX.ASCREEN GUI screen active ? .2 >STA.G CUR.T >LIBCALL hLIBGUI,LIBGUI.SetCursor.A - lda MouseData+S.MOUSE.X1 - lda MouseData+S.MOUSE.X1+1 - - lda MouseData+S.MOUSE.Y1 - lda MouseData+S.MOUSE.Y1+1 jsr Destop.Paint diff --git a/SBIN/TELNETD.S.txt b/SBIN/TELNETD.S.txt index abafe713..adc7a7e3 100644 --- a/SBIN/TELNETD.S.txt +++ b/SBIN/TELNETD.S.txt @@ -25,9 +25,10 @@ CS.START cld .DA #$61 6502,Level 1 (65c02) .DA #1 BIN Layout Version 1 .DA 0 - .DA CS.END-CS.START Code Length To Relocate - .DA DS.END-DS.START Data Segment to Allocate - .DA 0 + .DA CS.END-CS.START CS + .DA DS.END-DS.START DS + .DA #64 SS + .DA #4 ZP SS .DA 0 *-------------------------------------- * Relocation Table @@ -48,7 +49,7 @@ L.MSG.BYTE .DA MSG.BYTE .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBTCPIP - >SYSCALL LoadLibYA + >SYSCALL LoadLib.YA sta hLIBTCPIP lda (pPs) @@ -72,7 +73,7 @@ CS.RUN jsr Init.Timeout >SLEEP jsr Wait.Timeout bcc .1 - >SYSCALL GetC + >SYSCALL GetChar bcs .1 cmp #$03 bne .1 @@ -249,7 +250,7 @@ CS.QUIT ldx #CONN.MAX >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.CLOSEA .3 lda hLIBTCPIP - >SYSCALL UnloadLibA + >SYSCALL UnloadLib.A clc rts *-------------------------------------- @@ -267,7 +268,7 @@ Wait.TimeOut sec *-------------------------------------- CS.END *-------------------------------------- -LIBTCPIP >PSTR "libtcpip.o" +LIBTCPIP .AZ "libtcpip.o" MSG.TCPWAIT .AZ "TELNETD:Waiting for TCP/IP initializing...\r\n" MSG.INITOK .AZ "TELNETD:Init Ok, Listening.\r\n" MSG.TCPIPERR .AZ "TELNETD:TCP/IP Not initialized properly\r\n" diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index 8f358d3d..a0bc446c 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -617,14 +617,22 @@ K.Rename jsr PFT.CheckPathSTK >MLICALL MLIRENAME rts +*-------------------------------------- +K.PrintF.PadL .BS 1 +K.PrintF.PadC .BS 1 +*-------------------------------------- +*HEXBUF .BS 4 +*BCDBUF .BS 5 5, enough to handle 10 digits (32bits) +HEXBUF .EQ FAC +BCDBUF .EQ ARG */-------------------------------------- * # SScanF * Scan a C-String (in progress) * ## In: * PUSHW PTR to target buffer -* PUSHW PSTR pattern (ex: "%d.%d.%d.%d") +* PUSHW PTR pattern (ex: "%d.%d.%d.%d") * %d : byte -* PUSHW PSTR to scan (ex: "192.168.1.5") +* PUSHW PTR to String to scan (ex: "192.168.1.5") * ## Out: *\-------------------------------------- K.SScanF jsr MEM.PullP1P2P3 @@ -762,7 +770,7 @@ K.SScanF.IncPtr1 *\-------------------------------------- K.SPrintF.YA * >STYA ZPPtr1 -* >PULLW Printf.Cout.Ptr+1 +* >PULLW STDIO.COut.Ptr+1 K.FPrintF.YA * >STYA ZPPtr1 @@ -777,9 +785,9 @@ K.PrintF.YA >STYA ZPPtr1 cmp #'%' bne .10 - stz PADLEN + stz K.PrintF.PadL lda #' ' - sta PADCHAR + sta K.PrintF.PadC .2 ldx #PrintFTBL2-PrintFTBL1-1 lda (ZPPtr1),y @@ -794,11 +802,11 @@ K.PrintF.YA >STYA ZPPtr1 cmp #'0' ...a 0...mmm... padding char? bne .4 - ldx PADLEN PADLEN is not nul, so this 0 is second digit + ldx K.PrintF.PadL K.PrintF.PadL is not nul, so this 0 is second digit bne .5 * lda #'0' - sta PADCHAR no, this is the first 0, so make it PADCHAR + sta K.PrintF.PadC no, this is the first 0, so make it K.PrintF.PadC bra .2 .4 jsr MEM.IsDigit @@ -806,16 +814,16 @@ K.PrintF.YA >STYA ZPPtr1 .5 and #$0F we have a digit pha save it... - lda PADLEN starts PADLEN * 10 + lda K.PrintF.PadL starts K.PrintF.PadL * 10 asl asl A=times 4 - adc PADLEN CC by ASL, A=times 5 + adc K.PrintF.PadL CC by ASL, A=times 5 asl times 10 - sta PADLEN + sta K.PrintF.PadL pla get back digit - adc PADLEN - sta PADLEN + adc K.PrintF.PadL + sta K.PrintF.PadL bra .2 go get next char... .8 phy @@ -843,7 +851,7 @@ K.PrintF.YA >STYA ZPPtr1 .13 lda PrintFTBL2.OUT,x -.20 jsr Printf.Cout +.20 jsr STDIO.COut bcc .1 .99 rts *-------------------------------------- @@ -877,7 +885,7 @@ PrintF.B.1 ldx #8 pha lda #'0' adc #0 add Carry - jsr Printf.Cout + jsr STDIO.COut pla bcs PrintF.BB.RTS dex @@ -918,11 +926,10 @@ PrintF.U clc unsigned long (DWORD) dey bpl .1 -PrintF.U.1 bcc .8 unsigned, nothing to check - - +PrintF.U.1 bcc PrintF.Hex2Dec unsigned, nothing to check + lda HEXBUF,x get sign - bpl .8 + bpl PrintF.Hex2Dec * sec @@ -937,8 +944,94 @@ PrintF.U.1 bcc .8 unsigned, nothing to check bpl .1 sec tell to print a "-" sign.... +*-------------------------------------- +* Convert HEXBUF to ASCBUF decimal padded with 0 +*-------------------------------------- +PrintF.Hex2Dec ror .31+1 + + ldx #4 + +.1 stz BCDBUF,x Clear all 5 bytes + dex + bpl .1 -.8 jmp HEX2DEC + sed switch to BCD mode + + ldx #32 let's roll 32 bits + +.2 asl HEXBUF + rol HEXBUF+1 + rol HEXBUF+2 + rol HEXBUF+3 + + ldy #4 + +.3 lda BCDBUF,y + adc BCDBUF,y + sta BCDBUF,y + dey + bpl .3 + + dex + bne .2 + + cld + +.31 bit #$ff SELF MODIFIED -sign to print before digits ? + bpl .9 + lda #'-' + jsr STDIO.COut + +.9 lda K.PrintF.PadL any Len format ? + beq .4 no + + lda #10 + sec yes, Print only digits starting at pos 10-K.PrintF.PadL + sbc K.PrintF.PadL + +.4 tax x=0 if no K.PrintF.PadL, or x=10-K.PrintF.PadL + +.5 txa X range 0 to 9 + lsr CS if lo nibble (1,3,5,7,9) + tay + + lda BCDBUF,y + + bcs .6 + + lsr + lsr + lsr + lsr + +.6 and #$0F + ora #$30 + cmp #$30 + + beq .7 a zero? + + inc K.PrintF.PadL found a non zero, Print all digits, even if 0, next time + ldy #'0' + sty K.PrintF.PadC + bra .8 + +.7 cpx #9 last digit ? + beq .8 Print always + + ldy K.PrintF.PadL no pad to fill, do not Print 0 + beq .10 + + lda K.PrintF.PadC fill with K.PrintF.PadC + +.8 jsr STDIO.COut + bcs .99 + +.10 inx + cpx #10 + bne .5 + + clc +.99 rts *-------------------------------------- * EXP(8) 1(s) 1significants(31) * http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/GS.TECH.INFO/AppleSoft/ @@ -958,7 +1051,7 @@ PrintF.F clc beq .8 phx - jsr Printf.Cout + jsr STDIO.COut plx inx bne .2 @@ -993,7 +1086,7 @@ PrintF.NN.2 ora #$30 cmp #$3A bcc .1 adc #6 -.1 jmp Printf.Cout +.1 jmp STDIO.COut *-------------------------------------- PrintF.S ldy #$ff CSTR .HS 2C bit abs @@ -1018,25 +1111,25 @@ PrintF.SS ldy #$00 PSTR lda (ZPPtr2),y beq .2 - jsr Printf.Cout + jsr STDIO.COut bcs .9 - lda PADLEN + lda K.PrintF.PadL beq .1 - cpy PADLEN + cpy K.PrintF.PadL bne .1 clc rts -.2 lda PADLEN +.2 lda K.PrintF.PadL beq .8 -.3 cpy PADLEN +.3 cpy K.PrintF.PadL beq .8 - lda PADCHAR - jsr Printf.Cout + lda K.PrintF.PadC + jsr STDIO.COut bcs .9 iny bne .3 @@ -1044,9 +1137,9 @@ PrintF.SS ldy #$00 PSTR .8 clc .9 rts *-------------------------------------- -Printf.Cout jmp K.PutChar.A +STDIO.COut jmp K.PutChar.A -*Printf.Cout.Ptr sta $ffff Self modified +*STDIO.COut.Ptr sta $ffff Self modified *-------------------------------------- STDIO.PullMLIPath >PULLYA @@ -1067,7 +1160,7 @@ STDIO.SetMLIPathYA >STYA K.MLI.PARAMS+1 rts *-------------------------------------- -STDIO.SetIOBUF >LDYAI 1024 get a ProDOS IOBUF +STDIO.SetIOBUF >LDYAI 1024 get a ProDOS IOBUF ldx #S.MEM.F.ALIGN+S.MEM.F.NOMOVE jsr MEM.GetMem.YAX bcs .9 @@ -1089,100 +1182,6 @@ STDIO.IOERR lda #MLI.E.IO sec rts *-------------------------------------- -PADLEN .BS 1 -PADCHAR .BS 1 -*-------------------------------------- -HEXBUF .BS 4 -BCDBUF .BS 5 5, enough to handle 10 digits (32bits) -*-------------------------------------- -* Convert HEXBUF to ASCBUF decimal padded with 0 -*-------------------------------------- -HEX2DEC ror .31+1 - - ldx #4 - -.1 stz BCDBUF,x Clear all 5 bytes - dex - bpl .1 - - sed switch to BCD mode - - ldx #32 let's roll 32 bits - -.2 asl HEXBUF - rol HEXBUF+1 - rol HEXBUF+2 - rol HEXBUF+3 - - ldy #4 - -.3 lda BCDBUF,y - adc BCDBUF,y - sta BCDBUF,y - dey - bpl .3 - - dex - bne .2 - - cld - -.31 bit #$ff SELF MODIFIED -sign to print before digits ? - bpl .9 - lda #'-' - jsr Printf.Cout - -.9 lda PADLEN any Len format ? - beq .4 no - - lda #10 - sec yes, Print only digits starting at pos 10-padlen - sbc PADLEN - -.4 tax x=0 if no padlen, or x=10-padlen - -.5 txa X range 0 to 9 - lsr CS if lo nibble (1,3,5,7,9) - tay - - lda BCDBUF,y - - bcs .6 - - lsr - lsr - lsr - lsr - -.6 and #$0F - ora #$30 - cmp #$30 - - beq .7 a zero? - - inc PADLEN found a non zero, Print all digits, even if 0, next time - ldy #'0' - sty PADCHAR - bra .8 - -.7 cpx #9 last digit ? - beq .8 Print always - - ldy PADLEN no pad to fill, do not Print 0 - beq .10 - - lda PADCHAR fill with PADCHAR - -.8 jsr Printf.Cout - bcs .99 - -.10 inx - cpx #10 - bne .5 - - clc -.99 rts -*-------------------------------------- MAN SAVE /A2OSX.SRC/SYS/KERNEL.S.STDIO LOAD /A2OSX.SRC/SYS/KERNEL.S