From dfd8ecf162e8ed29a28b7d1762a0187c0b79435d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Mon, 12 Dec 2016 12:05:47 +0100 Subject: [PATCH] Kernel version 0.8 : improved verbosity in KM.RAMWORKS --- SYS/KM.RAMWORKS.S.txt | 81 +++++++++++++++++++++---------------------- X.PRINTF.S.txt | 24 +++++++++---- 2 files changed, 57 insertions(+), 48 deletions(-) diff --git a/SYS/KM.RAMWORKS.S.txt b/SYS/KM.RAMWORKS.S.txt index 7a9c5816..cf52ec87 100644 --- a/SYS/KM.RAMWORKS.S.txt +++ b/SYS/KM.RAMWORKS.S.txt @@ -19,13 +19,13 @@ TmpPtr2 .EQ $2 RWBankSelect .EQ $C073 *-------------------------------------- RW.Init >LDAXI RW.MSG - jsr RW.Print + jsr PrintCStrAX jsr RW.Detect1 bcs .10 >LDAXI RW.MSG.OK - jsr RW.Print + jsr PrintCStrAX rts @@ -33,32 +33,42 @@ RW.Init >LDAXI RW.MSG bcc .1 >LDAXI RW.MSG.KO1 - jsr RW.Print + jsr PrintCStrAX rts -.1 jsr PRBYTE +.1 pha Push Page count + + lsr divide by 4 to compute KB size + ror .11+1 + lsr + ror .11+1 + +.11 ldx #$00 + phx Push Kbyte LO + pha Push Kbyte HI + >LDAXI RW.MSG.OK1 - jsr RW.Print + jsr PrintCStrAX jsr RW.Install bcc .2 >LDAXI RW.MSG.KO2 - jsr RW.Print + jsr PrintCStrAX rts .2 >LDAXI RW.MSG.OK2 - jsr RW.Print + jsr PrintCStrAX jsr RW.Format bcc .3 >LDAXI RW.MSG.KO3 - jsr RW.Print + jsr PrintCStrAX rts .3 >LDAXI RW.MSG.OK3 - jsr RW.Print + jsr PrintCStrAX rts *-------------------------------------- RW.Detect1 jsr MLI @@ -67,7 +77,7 @@ RW.Detect1 jsr MLI rts *-------------------------------------- RW.ONLINE .DA #2 - .DA #$30 Slot 3,Drive 1 + .DA #$B0 Slot 3,Drive 2 .DA RW.ONLINEBUFFER RW.ONLINEBUFFER .BS 16 *-------------------------------------- @@ -90,7 +100,8 @@ RW.Detect2 php *-------------------------------------- * Added after David Finnigan from macgui.com testing sessions * - sta RWBankSelect+3 + pha + pla * * to address possibly a timing issue with Accelerators *-------------------------------------- @@ -109,7 +120,8 @@ RW.Detect2 php *-------------------------------------- * Added after David Finnigan from macgui.com testing sessions * - sta RWBankSelect+3 + pha + pla * * to address possibly a timing issue with Accelerators *-------------------------------------- @@ -186,13 +198,13 @@ RW.Install lda RRAMWRAMBNK1 inc DEVCNT ldx DEVCNT - lda #$30 Slot 3,Drive 1,0=Not Removable, 0=no int, 00=1 Volume + lda #$B0 Slot 3,Drive 2,0=Not Removable, 0=no int, 00=1 Volume sta DEVLST,x lda #RWDRV.START - sta DEVPTRS3D1 + sta DEVPTRS3D2 lda /RWDRV.START - sta DEVPTRS3D1+1 + sta DEVPTRS3D2+1 clc rts *-------------------------------------- @@ -339,15 +351,11 @@ RW.BLOCK.SET ldx #0 *-------------------------------------- RW.MLIWRITEBLOCK .DA #3 - .DA #$30 Slot 3,Drive 1 + .DA #$B0 Slot 3,Drive 2 .DA RW.BLOCK RW.MLIWRITEBLOCK.BLK .DA 2 Start writing block at #2 *-------------------------------------- -RW.RAM31 .DA #$30 - .DA #5 len=5 chars - .AS 'RAM31' -*-------------------------------------- RW.PGCNT .BS 1 RW.FBITMAPCNT .BS 1 RW.BITMAPCNT .BS 1 @@ -356,9 +364,9 @@ RW.SAVEZP1 .BS 256 *-------------------------------------- RW.BLOCK2 .DA 0 pointer to previous block .DA 3 pointer to next block - .DA #$F5 $F=Vol Dir Header, 5=name len - .AS 'RAM31' - .BS 10 (RAM31 len=5, fill to 15) + .DA #$F4 $F=Vol Dir Header, 4=name len + .AS 'RAM3' + .BS 11 (RAM3 len=4, fill to 15) .HS 0000000000000000 RW.BLOCK2.CT .BS 4 Creation time .HS 0100C3270D version/min version/access/EL/EPB @@ -369,25 +377,16 @@ RW.BLOCK2.END .EQ * *-------------------------------------- RW.BLOCK .BS 512 *-------------------------------------- -RW.Print >STAX TmpPtr1 - ldy #0 - -.1 lda (TmpPtr1),y - beq .9 - ora #$80 - jsr COUT - iny - bne .1 -.9 jmp CROUT + .INB X.PRINTF.S *-------------------------------------- -RW.MSG >CSTR "RAMWorks (I,II,III,z-Ram) Driver For A2osX" -RW.MSG.OK >CSTR "/RAM31 Device Already Installed." -RW.MSG.OK1 >CSTR " Pages Detected." -RW.MSG.KO1 >CSTR "Not Detected." -RW.MSG.OK2 >CSTR "RamWorks Driver Installed." -RW.MSG.KO2 >CSTR "RamWorks Driver Install Error." -RW.MSG.OK3 >CSTR "RamWorks Drive Formatted." -RW.MSG.KO3 >CSTR "RamWorks Drive Format Error." +RW.MSG >CSTR "RAMWorks (I,II,III,z-Ram) Driver For A2osX\n" +RW.MSG.OK >CSTR "/RAM3 Device Already Installed.\n" +RW.MSG.OK1 >CSTR "%D KB (%d Pages) Available for RamDrive.\n" +RW.MSG.KO1 >CSTR "Not Detected.\n" +RW.MSG.OK2 >CSTR "RamWorks Driver Installed.\n" +RW.MSG.KO2 >CSTR "RamWorks Driver Install Error.\n" +RW.MSG.OK3 >CSTR "RamWorks Drive Formatted as /RAM3.\n" +RW.MSG.KO3 >CSTR "RamWorks Drive Format Error.\n" *-------------------------------------- * Driver for Ramworks in main LC * $FF00 -> $FF9A (Inclusive) diff --git a/X.PRINTF.S.txt b/X.PRINTF.S.txt index fb2c70e7..4dbedb7d 100644 --- a/X.PRINTF.S.txt +++ b/X.PRINTF.S.txt @@ -22,9 +22,9 @@ PrintPStrAX >STAX TmpPtr1 *-------------------------------------- PrintCStrAX >STAX TmpPtr1 pla - sta X.Save.RTS + sta .91+1 pla - sta X.Save.RTS+1 + sta .9+1 ldy #0 @@ -59,8 +59,8 @@ PrintCStrAX >STAX TmpPtr1 .2 cmp #'D' bne .3 - pla plx + pla jsr PrintAXDec bra .8 @@ -68,8 +68,17 @@ PrintCStrAX >STAX TmpPtr1 bne .4 pla jsr $FDDA PRBYTE + bra .8 -.4 cmp #'\' +.4 cmp #'H' + bne .5 + pla + jsr $FDDA PRBYTE + pla + jsr $FDDA PRBYTE + bra .8 + +.5 cmp #'\' bne .7 iny lda (TmpPtr1),y @@ -83,9 +92,9 @@ PrintCStrAX >STAX TmpPtr1 .8 iny bne .1 -.9 lda X.Save.RTS+1 +.9 lda #$ff Self modified RTS HI pha - lda X.Save.RTS +.91 lda #$ff Self modified RTS LO pha rts *-------------------------------------- @@ -166,7 +175,8 @@ PrintAXDec >STAX X.HexBuffer .9 ply rts *-------------------------------------- -X.Save.RTS .BS 2 + +*-------------------------------------- X.HexBuffer .BS 2 X.BCDBuffer .BS 3 X.b0Flag .BS 1