[Coco] [COCO] HDBDOS yet another real FDC patch idea

Chad H chadbh74 at hotmail.com
Fri Jan 23 18:27:52 EST 2015


I REALLY like this idea but might I add a suggestion. . Package the code under a new command, say "PARK"  and have the DSKINI call into it.  That way we coulf also manually PARK before shutting down the system to avoid the head chatter after next power up when we first attempt to access a disk.

Sent from my Galaxy S4

-------- Original Message --------
From: David Ladd <davidwladd at gmail.com>
Sent: Friday, January 23, 2015 04:26 PM
To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
Subject: [Coco] [COCO] HDBDOS yet another real FDC patch idea

​Now my idea for the next HDBDOS real floppy drive patch is related to the
DSKINI command again.  This one I am wanting to add a force track 0 reset
to the floppy drive that was just DSKINI'ed.  This helps to prevent
problems where people do the following examples might get into trouble.
Plus this is using the two double sided floppy drives with DRIVE #2 is back
side of DRIVE 0 and DRIVE #3 is back side of DRIVE 1

Example 1:
DSKINI 0
DIR 2

Example 2:
DSKINI 1
DIR 3

Now what I have found there are times if you do a DSKINI on one side of the
floppy disk and then do a DIR the heads will attempt to move forward and
smack.  This could lead to potential misalignment of the floppy drive
heads.  So I was sitting here thinking and came up with this idea.

So the code that follows is where I want to patch the current verify
routine.

This code is found starting at line# 3324
               jmp       >BEEP
changing it to
               jmp       >FDPAT1

The next part of the code that is needed to force the reset to track 0 is
as follows:
FDPAT1         CLR       DCOPC   RESTORE HEAD TO TRACK ZERO DSKCON OP CODE
               CLR       DCTRK   SET DSKCON TRACK VARIABLE TO TRACK ZERO
               JSR       LD6F2  RESTORE HEAD TO TRACK ZERO
               JMP       BEEP

The problem I am having is finding a workable place to stick it as the last
bit of free space in the 8K ROM is running out.  This added piece of code I
wanted to add right right before ZZLAST which is basically at the end of
HDBDOS.ASM file.  So far the build process stops at HDBDOSDW4CC3.ROM.

So the next thing I am throwing out there is to see what people think of
the patch idea and also what ideas could be done to fit it into HDBDOS
without moving any routines addresses to protect compatibility with those
programs that like to call ROM routines.

​

--
Coco mailing list
Coco at maltedmedia.com
https://pairlist5.pair.net/mailman/listinfo/coco


More information about the Coco mailing list