Would someone (hydrophilic?) with a copy of 1571 Internals or similar, or experience to draw from, be so kind as to recommend some locations/ranges within the 1571's zero page which are unused by any ROM routines?
On a related note, does JiffyDOS appropriate any extra zero page locations for itself?
There are some ZP-Adresses reserved for "Drive #1". And we know that is not implemented ;)
I can't guarantee that these locations are really free but I would try those at first.
$14/15 = ID1 and ID2 of the disk (ASCII) in Drive #1
$1d = Flag disk change (photo sensor) for Drive #1
$1f = Status photo sensor for Drive #1
$21 = Drive status for Drive #1
$70 = Number of jobs for Drive #1
WTE
Thanks, WTE, that'll be very helpful!
Quote from: Michael Hart on January 20, 2008, 03:21 PM
On a related note, does JiffyDOS appropriate any extra zero page locations for itself?
I forgot your second question: Ask Jochen Adler: http://www.nlq.de/ he should know (he is the autor of SJiffyDos).
WTE
My copy of 1571 Internals also lists the following locations:
$2C-$2D unused
$74 unused
There are also several locations listed as being for CP/M or relative file use that you could probably hijack.
Quote from: airship on January 21, 2008, 08:29 AM
My copy of 1571 Internals also lists the following locations:
$2C-$2D unused
$74 unused
Thanks!
QuoteThere are also several locations listed as being for CP/M or relative file use that you could probably hijack.
The more the merrier. :) Would you mind posting those too when you have time? At least if I know where they are, that'll help me look through the ROM to see when they're used and whether they can be safely appropriated.
Does the CP/M stuff apply to all MFM disks?
Many texts use the term 'CP/M' format to refer to MFM (even though MFM can be used for non-CP/M stuff like MS-DOS) so you'll need to read between the lines to figure out what the author really means! BTW, the native C128 CP/M format is actually GCR!
Here's some more locations to try. If not using MFM (err, CP/M) then:
$44 = sector size flag
$60 = smallest sector number
$61 = largest sector number
$96 = first sector number
$97 = number of sectors/track
If you're not using REL files you can try:
$8b~8e = math register 1
$8f~93 = math register 2
$c7~cc = record length for internal channels
$d5 = side-sector number
$d6 = pointer in side-sector
$d7 = pointer to REL file data
Can you give us a hint what you are scheming at?
*bump*
Michael, any progress? And what the heck is it you're thinking of here, anyway?