[Coco] [COCO] Proposed HDBDOS Patch
William Astle
lost at l-w.ca
Mon Jan 26 19:56:32 EST 2015
There is one problem when doing this:
After the first DSKINI pass, DSKCON's notion of which track the drive is
on is wrong. The drive will be at 34 but DSKCON will think it's at 0
(from the reset to 0 at the start of formatting). Thus, with the
modification below, the first read in this case will bang the head.
The saved track value also has to be set TRKMAX-1 which isn't quite as
simple. This is the part that doesn't fit in the existing code space.
For those confused: I'm not referring to DCTRK which is the requested
track. I'm referring to the drive track table at DR0TRK.
On 15-01-26 05:01 PM, Darren A wrote:
> On Mon, Jan 26, 2015 at 4:36 PM, David Ladd <davidwladd at gmail.com> wrote:
>
>> On Mon, Jan 26, 2015 at 5:20 PM, Darren A <mechacoco at gmail.com> wrote:
>>>
>>> A better way to do this might be to have the verify loop work its way
>>> backwards through tracks so it finishes on track 0. Looking at the code
>> in
>>> Disk Basic Unravelled, I think the loop could be modified to do this
>>> without requiring any additional code space.
>>>
>>
>> Darren, thanks for the info. I will look at that option and see how best
>> to work that in.
>>
>>
> I figured the simplest approach would be:
>
> 1. Change the CLRA preceding LD66F to LDA #TRKMAX-1
>
> 2. Change:
> INCA
> CMPA #TRKMAX
> BLO LD66F
> to:
> NOP
> DECA
> BPL LD66F
>
>
> This will change the actual location of labels LD66F and LD672 to $D670 and
> $D673.
>
> - Darren
>
More information about the Coco
mailing list