[net.micro.atari8] Wanted: Disk enhancement info

striepe@muscat.UUCP (06/12/86)

>Has anyone been able to use any of the disk enhancements being sold for Atari
>1050 disk drives to read/write 40-track double-density format with nine
>512-byte sectors per track (MS-DOS/PC-DOS format)?  I understand that at least
>some of the units allow the drive controller to be reprogrammed in ROM, and one
>would think that this could then be accomplished, even if you had to modify
>the SIO (easy enough with an XL; just "bank-switch" the high memory to RAM,
>copy the OS up there, and carve away!)

I currently own the ICD Doubler (256K sectors as well as standard 1050
formats,  custom sector sequences and high speed serial IO) equipped drives
as well as an ATR8000 with double-sided, double-density 40 track drives.  In
the past, I have also owned PERCOMS.

None of these have the ability to handle 512byte sectors as supplied.  The
Doubler probably does not have enough RAM to handle the buffering.  Mods
like the Happy might be able to handle it,  if they are programmable,  and
if the programmer interface is published. PERCOM,  ASTRA,  ICD,  and ATR8000 all
follow the "PERCOM" drive configuration table format,  but simply ignore
unsupported (e.g. 512 byte sector) configuration requests.  The ATR8000
is programmable via a "Z" serial IO device.  If you purchase the ROM
sources,  it is reasonably straight forward to download and execute routines
beyond those supplied in ROM (and you have plenty of RAM to do that in,  if
you have the 64K version).  A while back I implemented a simple copy utility
that copies single and double-sided double density diskettes from drive to
drive inside the ATR8000 avoiding the slow serial BUS completely.  The Z
device allows you to point to a particular memory location in the Z80 ram,
and download to as well as upload from the ATR8000.  You can also execute at
the location of your pointer. This is how serial handlers are implemented.
Unfortunately,  the ATR8000 bit bangs instead of using a UART,  so it is
impossible to bump up the serial IO rate.  The new ATR8500 should be better
in this respect. Of course,  you should have CP/M on the ATR8000 to make any
decent Z80 projects possible (hand assembly gets old fast!).  If anybody has
a Z80 cross assembler for the Atari,  I would love to know about that.

Once you have figured out,  how to make your drive read 512byte  blocks,
you still have to write programs to interpret the MS-DOS file format (FATS
etc.),  and don't forget that Atari sectors are stored in inverted format...

If anybody has done work along these lines (ATR8000 or ICD etc.)  I would be
interested in hearing about it.

It is no problem to bypass the ROM SIO routines and write your own.  If
you are running at the standard SIO rate (19200 BITS/sec),  you can use the
vectored handler.  This makes communication of arbitrary frame length to
abritrary SIO devices easy (you don't have to write your own interrupt
routines).  Note that there were serious bugs in the REV A ROMS on the 800.
Also note that SpartaDOS vectors SIO routines to (pseudo)drives to accomodate
their enhanced IO rates.  Also remember that he SIO device designation is
separate from CIO.


Harald Striepe
DEC Corporate Software Products Group, Santa Clara, CA
decwrl!muscat!striepe, decwrl!dec-rhea!dec-winery!striepe, WINERY::STRIEPE
-- 
Harald Striepe
DEC Corporate Software Products Group, Santa Clara, CA
decwrl!muscat!striepe, decwrl!dec-rhea!dec-winery!striepe, WINERY::STRIEPE

DYOUNG@USC-ISID.ARPA (C. David Young) (06/13/86)

Harald,

Is there any way to get the disk copy program that you wrote for your
ATR8000 to copy directly via ATR memory, bypassing the serial buss? I
am sure a number of us would enjoy having that program.

David Young
-------

striepe@muscat.UUCP (06/17/86)

I have had some requests for my ATR8000 disk copy utility.  It is a slightly
embarassing 'midnite hack'  that might be ATR ROM specific.  It also does
not support single density. It was written in ACTION! and M80 assembler.
This makes it difficult for most people to create the program from sources
(the M80 assembler was run on a DEC Rainbow,  and the linked file
transferred to the Atari via KERMIT).

If there is enough interest,  I will post it to the net.  However, it would
have to be posted in binary form.  Does anybody have a BINHEX type of
utility to do just that.  Another way (I guess) would be to have a BASIC
PUTter program to create the file with complete lack of error checking.

-- 
Harald Striepe
DEC Corporate Software Products Group, Santa Clara, CA
decwrl!muscat!striepe, decwrl!dec-rhea!dec-winery!striepe, WINERY::STRIEPE