[comp.sys.m6809] RAM disk bug fix

ingoldsby@calgary.UUCP (Terry Ingoldsby) (11/22/86)

A few weeks ago I posted a RAMdisk driver for use with the CoCoIII
and OS9 (level 1).  The author reports a small bug when used with
512K CoCos.  Here follows the complete description and fix.

 There is a bug in the ramdisk driver ccrdisk as posted recently.
 There is no problem on 128K coco's, but after installing my 512K
 upgrade a few hours ago, i realized that the ramdisk doesn't
 work if you put more than 64K on the ramdisk.

 The problem was that i was ignoring the top 3 bits when computing
 the phys address of a secotor.  Anyway, to correct the problem,
 simply replace the function 'doseek' in the driver "ccrdisk" with
 the one below, and you are all set (finally) for up to 440K of
 ram disk space!

 You get around 75K/sec IO rate at 1.8 Mhz!  Let's see your
 favorite hard disk do that on a continuous basis!  NO,
 eagles don't count... unless you have one on your coco3!?


doseek
    pshs d
    tstb
    bne  e.lsn
    cmpx dd.tot+1,u
    bhs  e.lsn
    tfr  x,d
    lslb
    rola
    lslb
    rola
    lslb
    rola
    adda physbase
    cmpa #MAGICPG   (skip over this one!)
    blo  doseek.2
    inca
doseek.2
    sta  track
    tfr  x,d
    tfr  b,a
    anda #$1f
    adda #RAMBASE/256
    clrb
    std  rdbuf
    puls d,pc

e.lsn
*this last label for reference


-----------------------------------------------------------------------------
Refer all comments and inquiries to me and I will pass them on to the author.

		Terry Ingoldsby

...ihnp4!alberta!calgary!ingoldsby