Rumor has it that Tony Duell may have mentioned these words:
Another
factor, the sectors for DOS formatted disk are
512 bytes long. Any loop that only does 256 won't make it.
It would need to be formatted with more wasteful 256 byte
sectors. This has been a good line of thought ;)
Is this a problem? Firstly, who says you'd use an MS-DOS format -- the
CoCo uses 256 byte sectors for virtually everything, and I'd suggest
keeping to that on the HD disks, just having more of them. As to being
more wasteful, well, MS-DOS 360K (and 720K) disks fit 9 512byte sectors
on a track, the CoCo fits 18 256byte sectors. Looks the same to me.
And the 6809 index registers (X, Y, etc) are 16 bit registers. The loop I
posted (and the ones others have posted) will transfer 512 bytes if you
want them to. Whether there's a speed penalty when you cross a 256 byte
boundary I don't know -- I don't remember anything like that in the 6809
instruction set, but it's been many years.
The only time you'd see any type of a speed drop from crossing a 256-byte
boundary w/the 6809 is if you were using Direct Page addressing and had set
the DP register... once you got ready to cross a boundary, you'd have to
re-load the DP reg. to continue using the DP addressing. X & Y (& U & S)
are all 16-bit index regs (yes, U & S are stack pointers, but they can also
be used as index regs) so the DP reg doesn't come into play here.
512 byte MS-DOS sectors shouldn't be too hard to implement in software...
if, of course, you had the nitty-gritties to programming the FDC (which the
disk Basic unravelled would provide) and MS-DOS's track format layout...
(anybody got that handy?)
Thanks, and this *has* been fun reading... ;-)
I've learned a lot!
Roger "Merch" Merchberger
--
Roger "Merch" Merchberger --- sysadmin, Iceberg Computers
Recycling is good, right??? Ok, so I'll recycle an old .sig.
If at first you don't succeed, nuclear warhead
disarmament should *not* be your first career choice.