Dave's message gave me enough hints to (finally)
get ImageDisk running
with the Compaticard IV:
1. Disable on-board FDC in BIOS
2. Jumper CC4 to port address 370h
These steps *may* not be necessary - ImageDisk has a /S(address)
option to select a secondary controller - it does not however currently
support use of a different IRQ or DMA (mainly because I have no
controllers which allow me to change these so I would have no way to
test that functionality).
3. Disable CC4 ROM
4. Remove CC4.SYS from CONFIG.SYS
Since IMD talks directly to the floppy controller, it makes sense to
remove other software which may try to communicate with the controller
at the same time. If the compaticard software is well behaved it may
not be necessary to remove it, but I don't know this.
5. Reference the 8" drives (units 2 and 3 on the
controller) as 'C:'
and 'D:', even though C: is my hard disk and D: is the CD-ROM
drive (as far as the BIOS is concerned anyway).
Actually, as far as BIOS is concerned, floppy drives are 0x00-0x7F and
hard drive are 0x80-0xFF - check the INT 0x13 functions - there is a clear
distinction between floppy and hard drives. Also BIOS does NOT know about
DOS mappings - the above reference physical controllers and physical
units in the order encountered by BIOS.
I had tried various subsets, but never all those
things together. In
particular (5) is a bit unintuitive. It's more than a little scary to
invoke write or format operations with drive C: specified to ImageDisk.
IMHO, it would be much clearer to reference them by unit number. But
maybe that's just me...
The trouble is that many PC users don't know what a unit number is, and
this means more questions for me.
"in the beginning" ImageDisk only supported the two standard drives defined
by IBM and calling them A and B made sense, BIOS setup program and many DISK
utilities which work through BIOS do this all the time and people rarely get
confused - on 99+% of systems with one controller and only 1 or 2 physical
drives, DOS maps them to A and B and everything matches up. This is by far
still the most common ImageDisk configuration.
Then someone asked for support for a common extension which allows two more
drives on a controller by making use of free bits in the control registers
which line-up nicely with were two more drives "should be". - This made sense
to me so I added it, although you have to either explicitly specify one of
the extended drives or tell ImageDisk that you have 4 drives to be able to
select it - it made sense (to me) to call these C and D.
To be honest it never occured to me that someone would confuse this with
DOS mappings - I've tried to be very clear that ImageDisk works with the
physical disk controller and NOT though DOS or BIOS. ImageDisk cannot and
never could perform direct or destructive operations to a hard drive.
The help clarify this point, I've added the following section to the help
file with links from the "Settings" drive selection and the command line
drive selections:
-------------------------------------------------------------------
ImageDisk works by directly accessing the floppy disk controller.
It does NOT know or care about DOS "drive mappings". Drive letters
A-D refer to the physical drive unit numbers 0-3 on the the floppy
disk controller, NOT drives A-D as mapped by DOS.
For most systems having two drives on the primary controller, drive
A and B will happen refer to the same drives as DOS - a few floppy
controllers support a non-standard extension allowing up to four
drives, and on these C and D will refer to the additional drives.
Drive C is *NOT* your hard drive.
-------------------------------------------------------------------
The testfdc program still fails everything when
targeting the 8" drives
and I believe I know why. From the sound of things, it tries to do
everything on the last tracks (lowest linear velocity) and has it in it's
head that there are 80 available. I can hear it slapping against the stop
on the 8" drives - at least that's what it sounds like. Be that as it
may, all tests fail with "Data not found".
TestFDC doesn't support 8" drives - it's not intended to test drives,
it's
intended to test FDC's (Floppy Disk Controllers) - to make it easy, it gets
information about the drive from BIOS (and BIOS cannot report an 8" drive)
- the idea is that you can test a PC before ever taking it apart (with
standard drives) to determine if it's worth hauling home and using as a drive
station.
Either an 5.25" HD (best choice since it's the same RPM as 8") or a
3.5" HD
drive will allow you to test the FDC capabilities at a 500khz data rate
which is what you need to run 8" drives.
Once I began to suspect this was a red-herring, I
tried some real read and
write operations. Lo and behold: Everything is just fine! I'm able to
create bootable diskettes from the .imd files.
Life is Good. I hope this helps others in the same boat as me
hardware-wise.
I'm glad you got it working ... Hopefully it will prove useful to you, even
though you may not agree with the particular path on which has evolved.
Dave
--
dave09 (at) Dave Dunfield
dunfield (dot) Firmware development services & tools:
www.dunfield.com
com Collector of vintage computing equipment:
http://www.classiccmp.org/dunfield/index.html