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 cisin at
xenosoft.com
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