Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site intelca.UUCP Path: utzoo!watmath!clyde!burl!ulysses!harpo!seismo!hao!hplabs!intelca!cem From: cem@intelca.UUCP (Chuck McManis) Newsgroups: net.micro.cpm,net.micro Subject: BIOS Techniques, a question. Message-ID: <256@intelca.UUCP> Date: Tue, 1-May-84 11:49:16 EDT Article-I.D.: intelca.256 Posted: Tue May 1 11:49:16 1984 Date-Received: Thu, 3-May-84 19:46:52 EDT Organization: Intel, Santa Clara, Ca. Lines: 31 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