Stack Depth requirements for CP/M 2.2 CBIOS
cclist at sydex.com
Fri Jan 30 18:28:52 CST 2009
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
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.
More information about the cctalk