MYIDE.ASM This page contains links to software that interfaces with the IDE drive/CF
card S100 Bus board. The board itself is described
here.
The above menu is that of the most recent version (V3.1) of this software
and can be downloaded from the bottom of this page. The CPM Program MYIDE.ASM now has a fairly long history. It was
originally written for the V1 version of the IDE/CF card board with only one
IDE slot back in 2009. It was modified for the two slot version of the board
later.
HISTORY
In all cases the program assumes a sector size as 512 bytes/sector. The
original software assumed a CPM3 "disk" format of
61 (3DH) sectors/track with each sector on a
track starting 0,1,2, 3 etc. This format was chosen for a Seagate 6531 IDE
drive (a once common HD at the time). The Seagate 6531 had
62 sectors/track, one sector was used as a spare for R/W sector errors --
thus I used a 61 sectors/track format. With CF cards I retained this CPM3
format and have used it ever since. This avoids having different CPM
disks/CF cards with different/incompatible CPM.SYS
files on them.
In retrospect the choice of 61 sectors/track was a
less than optimum choice for CF cards. This is due to the fact that IDE
disk hardware utilized the
LBA mode of sector addressing rather than the raw CP/M track and sector
values. Sectors are simply numbered 0,1,2,3... FFFFFFH,
no heads tracks etc. are involved. So sectors go 0..3DH
then 100H...13DH, then
200H...23DH etc. Clearly the wasted space ("holes") is not an
issue. The maximum capacity of a disk for CPM3 was 8MB,
most CF cards are in the GB range.
However if does create a problem when trying to build a CP/M disk image by disk
sector map editing software. It is quite difficult to calculate where to
locate data on the disk. Worse, common software like
CPMTOOLS will
not work. The solution was made by David Fry was to make some changes to the
‘wrlba’ code sequences in the CP/M bios files to calculate the true LBA address
(without holes) from the track and sector requests, then we can predictably
locate data into the correct disk sector locations and ensure compatibility with
the CPMTOOLS toolset. Please see David's write-up
board build info,
CPM installation infoand the
corresponding .zip files for more information.
Jay Jaege corrected and enlarged upon the
original MYIDE.ASM version yielding
a V3.0 version that allows the user to work with the "Holes" or "No Holes" CPM
disk Formats.
The only thing the user has to be careful with is to not mix disk formats.
Here is the signon menu of that version.
Before Dave Fry's and Jay Jaege's modifications I incorporated some elements of
MYIDE into the Z80 Master Monitor, the
8086 Monitorand 80386 monitor as well as the FPGA Z80
and FPGA 80286 monitors. One day I hope
to double back and make these IDE modules more generalized. However they all
work fine for testing the IDE/CF card board and CPUs for individual sector
read/writes etc. as they are.
At the start or 2021 I started writing a version for the
68000 and 68030 CPU
Boards to incorporate into their onboard ROM monitors. This time I
tackled the Sectors/track issue by making it completely flexible. Since
we are now dealing CF Cards in LBA mode we can have any number of CPM
sectors/track we like. The IDE program now has a menu option (M)
to set this value dynamically. There is a slight speed advantage in having
0FFH sectors/track. Normally the user would
choose between options:-
1. 0....3DH sectors/track.
This is the original "with holes" disk format. The
CPM.SYS file works on my system with all 'old' disks
2. 0....3FH sectors/track
This is the "no holes" format. This format allows for easy use of CPMTools
and other CPM disk image software.
3. 0....FFH sectors/track
This is also a "no holes" format. It makes a CPM BIOS easier to write and
operate. It will not work with most "real" Hard Disks
4. 0....XXH sectors/track
This format could be used for a specific "real" Hard Disk with predefined
sectors/track.
While I was at it I made other improvements to the MYIDE menu. The Menu
letters and options arrangement are now a little better arranged. As far as
possible the letter corresponds with the command.
There was one other correction/change. Sectors on a track can be accessed with
a numbering scheme of 0,1,2,3... or 1,2,3 4.... The former is usually used for
CF cards, the latter for "real" Hard Disks. In writing a
CPM3 BIOS you can have either option. The
Digital Research CPM3
SKEW Macro defines which. See
here.
All of this is now incorporated in the V3.1 version of
MYIDE.ASM. This is the version I recommend for most users.
You can download the MYIDE.COM file to a CPM disk from your PC with
PCGET.COM