Yes, it was a "beginner" mistake to not already know that the DMA couldn't span a 64K boundary.
It is obvious.  Once you've already run into it.

I have no difficulty admitting that I didn't, and don't, have Chuck's level of experience and knowledge.
My entire venture into microcomputers was a hobby that got out of hand.


> I'm learning a lot these days that would have been handy back then!
There are numerous people here whose posts present significant information.

--
Grumpy Ol' Fred                 [email protected]


On Wed, 18 Apr 2018, Chuck Guzis via cctalk wrote:

Really?  64K boundary issues cropping up in MS-DOS?

Egad, that would have been known in DOS 1.0.  Certainly, for anyone
writing his/her own low-level disk I/O, it was obvious.

Now, I'll add that if you wrote your own specialized device driver, DOS
did not guarantee handing your driver a buffer that obeyed the 64K
boundary rule.  I suspect that some DOS errors were reported to MS
because of third-party driver bugs.

And if you wrote a low-level driver that used 16-bit I/O, the magic
number was 128K.

But even in the earlies DOS 2.0 device drivers that I wrote, I included
code to split the transfer up to get around the 64K problem if needed.

--Chuck

Reply via email to