[Coco] [COCO] HDBDOS yet another real FDC patch idea
David Ladd
davidwladd at gmail.com
Fri Jan 23 17:26:23 EST 2015
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.
More information about the Coco
mailing list