[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Vulcan GS/OS Driver



Steven Hirsch wrote:
Rusty wrote:

Also, if any of you happen to know exactly what this driver does, I'd
be interested to know. My working theory was that it allows the GS/OS
to address the Vulcan in a more efficient / faster manner than is
possible by whatever generic block device interface the GS uses by
default. However, I have also seen an old post on usenet where someone
was saying something vague about the Vulcan GS/OS driver having
something to do with caching. Any info will be appreciated.


At a minimum it probably supports multi-sector transfers on a single IO call. IIRC, the P8 compatible ROM-based drivers were typically sector-at-a-time.

IIRC, the Vulcan drive(s) were all geometrically addressed, rather than
logically, so the driver had to do some divides to convert the block
addresses to CHS.  A 65816 could do that much faster in 16-bit mode
than in 8-bit mode.  This would also be a prime target for consecutive
block optimizations.

I don't recall how the data registers of the card are laid out, but if
they were consecutive addresses, then a 16-bit load could have speeded
the data move loop as well.  In 8-bit mode, the move "loops" were
significantly unrolled for speed.

Being able to allocate system RAM for caching and for the partition
table, instead of using the bank-switched on-card SRAM, would also
have allowed some speedups in 65816 mode.

I wonder if Bob S-C did the GSOS driver as well as the firmware?

Directory caching is a possibility as well.

Caching of any kind would be a big win--index blocks come to mind.

-michael

NadaNet file server for Apple II computers!
Home page:  http://members.aol.com/MJMahon/

"The wastebasket is our most important design
tool--and it's seriously underused."