[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [N8VEM-S100:1507] IDE board BIOS question

Yes the current implementation leaves big gaps.  I had to hack a dd script so I could dd cpm images cpmtools onto a CF card.  This definitely needs to be fixed but I have not had the time to do it.  The current implementation makes if very non straightforward to transfer images from a PC to CF and from a CF back to a PC.

On Tuesday, March 12, 2013 4:25:10 PM UTC-5, Bob wrote:

On Mar 9, 2013, at 6:33 PM, John Monahan <mon...@vitasoft.org> wrote:

> Bob, I have been traveling all week and have gotten back to a ton of backed
> dup stuff here.
> Before I dig into this, two things.
> What CF card you using. I and others have found that some behave strangely
> with the MYIDE software.  I have no ideas why, perhaps others have
> suggestions.   If you are not using one,  could you try working with the
> Kingston, Maxell or Patriot  4GB  CF cards. They are very common.  For
> example had reliability problems with the SCANDISK cards.
> Second the reset initialization pulse width to these cards is very critical.
> Are you using a Z80 (10Mhz) CPU, if not adjust the software delay.
> The software should work for both the dual and single IDE boards.  
> I'm assuming you are using the "MYIDE.COM" program BTW, without
> modifications. Right?

I'm still unsure about some of what MYIDE is doing.  It almost appears it is not really using LBA, or at least not to the full potential.

In wrlba, the track and sector are converted to an LBA and put into the LBA registers to select the next logical sector to access, but there appears to be big gaps in sectors that are not used.  Your BIOS uses 3Dh sectors, so watching MYIDE format, it goes from track 0, sector 1 to track 0 sector 3D, then wraps to track 1.  The LBA displayed starts at 000001, goes to 00003D, then the next LBA is 000100.  Wouldn't the next logical block address be 000041?

Looking at MYIDE and the CP/M 3 BIOS, it appears there is no code to shift the track number over by two bits and merge with the two unused bits of the sector number.  The current method is definitely easier, but maybe I don't understand something about how LBA mode works.

Granted, a 4GB CF card represents 512 CP/M 8 MB drives, which is a tad more than I'll probably ever need, but I'm trying to better understand what's going on.