Date : Tue, 01 May 1984 08:49:16-PDT (Tue)
From : hplabs!intelca!cem@Ucb-Vax.ARPA
Subject: BIOS Techniques, a question.
This has probably been asked before however, I am writing a BIOS for CP/M.
I have 2 DSDD drives that will read technically 4 formats :
SS/SD - Definitly need this one.
SS/DD - Would be nice (cheap disks)
DS/SD - Sort of redundant
DS/DD - Main Format.
Now, I want to use all of the above formats on each physical drive as well
as logical drive. The questions are :
a.) How do I switch formats ? Do I overwrite the Parameter Block or do I
somehow change pointers to it.
b.) When is a change of formats allowed and when is it an error ? For
instance, when I read a disk, I first try the last format used, if
that fails I try double density, if that works I read it in. On
warmboot this is obviously not an error since one has no idea what
format disk has been put in the drive, but if you have previously
read a disk with one format and now it is another (like dir b: many
times while swapping in disks to find the right one.) how do you
know when it is an error ?
Does anyone have a source for information, or an example BIOS, where
such a thing is implemented? I would just like to see how it is done.
Note: I have a book written by Andy Johnson-Laird called The Programmers
CP/M Handbook. This book is an *excellent* text and a must for anyone
considering playing around with a BIOS or CP/M internals. It is published
by Osborne-McGraw-Hill and I got a copy at Crown books here in No. Calif.
Thanks for any help you can offer,
--Chuck