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

David Ladd davidwladd at gmail.com
Sat Jan 24 01:50:08 EST 2015


Chad,
Actually the PARK command would be kinda nifty to setup, but right now
having problems just fitting the code I want to add in what little space is
left in the 8K ROM space we got now.

Parking 4 floppy drives wouldn't be that hard though, the other issue would
be is I myself would expect the park command to also park the hard drive.
Which then comes to a complete other set of code which would then need to
probably be specifically coded for the type of interface being used on
HDBDOS.

Now most of the current IDE drives and SATA connected through a SATA to IDE
adapter wouldn't need the park command.  Then also wouldn't need about the
DriveWire stuff either.

Now the MFM/RLL and earlier SCSI drives would need the PARK command for
sure.  Then again I think some of those drives you needed to park the head
at a specific cylinder before power off. So that type of command we would
have to figure out best way to deal with all of those possible items.

Hmmmm then for those that need a special cylinder to park at would probably
have to have a two byte fcb table to hold the cylinder.

See a lot of the features we want we need to find some way of finding space
to fit them in.  Plus the big thing is keeping compatibility as well.  That
was one thing that was always strived for was keeping compatibility with
any programs that tried to use the ROM routines.

Also some of the things I was thinking about is some people here have found
ways to map around the CoCo3's specific code to allow use of the 16K ROM
space, but then we go into another area.  How do we make a single set of
code work on CoCo 1,2, and 3 without breaking stuff.  This is probably the
most important part right here.

Then if we do branch into the 16K ROM space then comes the next problem,
those people that use floppy controllers to hold their EPROM's that only
support 8K ROM's.  We would then be forcing those people to hack their
controllers to use the larger EPROM's.

Now of course those who own a SuperIDE or CoCoSDC that have 16KByte Flash
banks wouldn't really have any problems with ROM space :D

This stuff is all the possible ideas that come to mind.









On Fri, Jan 23, 2015 at 5:27 PM, Chad H <chadbh74 at hotmail.com> wrote:

> 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
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
>


More information about the Coco mailing list