Re: gunzip.c64

From: Marko Mäkelä (msmakela_at_cc.hut.fi)
Date: 1999-03-01 20:31:08

On Mon, 1 Mar 1999, Andre Fachat wrote:

> Why not build in a mode to use the "b-w" floppy commands to 
> directly write it to a disk (or did I miss something and it does
> so already?)

B-W is a bit problematic, since it can mess up with the buffer pointer
(set with B-P), but U2 should work properly.  You can get the example code
from prlink's prdisk.  It supports up to 999 tracks and sectors and uses
the ILLEGAL TRACK OR SECTOR error for stepping tracks.

But using sector interleave 1 is not optimal.  You should try to use a
better interleave (maybe try making the interleave smaller until the time
between sector writes increases).  This requires a table of flags, for
determining which sectors have already been written, and of course a
buffer for the whole track (not a problem on the C64, but on the VIC-20
it could be).

Also, the check whether all sectors on the track have been written becomes
a bit more tricky, since you can get the ILLEGAL TRACK OR SECTOR message
e.g. for sector 25 if using interleave 5, while the track has sectors
0..21, and you've written everything but sector 21.

In order to speed up the transfer further, you should have fully custom
track-write routines.  In this case the write would only work on 1541
compatible drives, but this shouldn't be a problem, since you typically
want to extract the files to 1541 disks.  Besides, the slow but compatible
method could be provided as an alternative.

	Marko

-
This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail cbm-hackers-request@dot.tcm.hut.fi.

Archive generated by hypermail 2.1.1.