Stack Depth requirements for CP/M 2.2 CBIOS
ajp166 at bellatlantic.net
Sat Jan 31 11:01:05 CST 2009
>Subject: Re: Stack Depth requirements for CP/M 2.2 CBIOS
> From: "Chuck Guzis" <cclist at sydex.com>
> Date: Fri, 30 Jan 2009 16:28:52 -0800
> To: "General Discussion: On-Topic and Off-Topic Posts" <cctalk at classiccmp.org>
>On 30 Jan 2009 at 19:08, ROBO5.8 wrote:
>> I have rewritten my old systems CP/M 2.2 CBIOS to add an IDE Drive.
>> I've run into a problem that has me stumped. Everything works as long as I
>> don't try and copy or assemble a large Assembly file (>80KB).
>> I will be going along fine and then out of nowhere I will see CP/M request
>> access to Drive "T". My debug info says SELDSK is requesting Drive 0FF00h.
>> I have added debug code to all the CBIOS routines so that they report what
>> they are doing to the console (slow but nice).
>> I've gone through my code many times and tested each routine via an embedded
>> debug monitor. I believe I have added every CP/M 2.2 patch (1-6 and 9)that
>> is specific to the CBIOS including those dealing with Blocking/Deblocking.
>What do you mean by "large"? I've run 2.2 with disks up to 20MB with
I have many systems with a minimum of 10mb drives and one has a
two 32mb and the other has 45mb SCSI/ However partitions are
limited to 8Mb as its' CP/M2.2.
>CP/M's stack can't be depended upon for much space at all. Since my
>BIOS code was interrupt driven, every interrupt service routine
>started with a change to a private "system" stack. I recall having a
>lot of problems before doing that.
Nominally one should preserve the stack and have one locally for that reason.
Howeer if the BIOS is using the minimal IO drivers (no interrupts) the stack
should be fine. Hoever is acc to drive "T" says he either has more than 16
partitions or he is crushing drive select.
More information about the cctalk