[Coco] Using that 16/32/64 MB RamDrive.
Robert Gault
robert.gault at worldnet.att.net
Fri Feb 6 08:31:17 EST 2004
Paul T. Barton wrote:
> Mark,
>
> Gee, I don't know. I'll try and dsave
> my biggest partition to /r0 and see.
>
> Formatting is really a pain. For now
> I have 15.9MB and formatting counts
> from $000 to $3DF. iIt takes about
> 3-4 minutes. The actual dsave-copy is
> pretty fast.
>
> I wish that I had another version of FORMAT
> just for this ramdrive that wouldn't print
> the sector #'s and "run faster".
>
> ---
>
> Robert, could you give a detailed analysis
> of the stack math that you're doing. Maybe
> I can do it faster keeping it all in registers
> (and maybe not).
>
>
><snip>
Here is some data on a 16Meg RAM disk, the largest one I can currently
try out. Also it is being tested as emulation on J.Collyer's emulator as
I don't have a Nocan16 board.
1) Format on v1.71 (both 60 &15K sync on) took several seconds. I have
not tried it in DOS mode with sync-lock on.
2) Allocation map is $1C sectors but only because it is 1 bit per
sector. A modified format could compress this.
3) The descriptors supplied with this new rammer are set for NO VERIFY.
If format pays attention to this then no verification would be
attempted. In fact, the rammer.dr does not request a sector for a
verification buffer so no verification is possible.
4) I think Paul is running the 6309 version and if so, all sector
transfers use tfm (fast). The slowest section of code could be the
calculation of the MMU block and offest required for the LSN requested.
This is a good bit of bit shifting and could be made slightly faster on
a 6309 by using regD instead of regA and regB.
pshs b,x LSN of needed sector; 24 bit address
lsl 2,s lsn*8/$10=lsn/$20; 32 sectors per MMU block
rol 1,s
rol ,s
lsl 2,s
rol 1,s
rol ,s
lsl 2,s
rol 1,s
rol ,s
lda 2,s get MMU offset; /8*$100 for offset
lsra
lsra
lsra
clrb
tfr d,x
ldd ,s
inca make it past the 2megs of os-9
leas 3,s
ldy pd.buf,y get sector buffer address
rts
More information about the Coco
mailing list