Stack Depth requirements for CP/M 2.2 CBIOS

Allison ajp166 at bellatlantic.net
Sat Jan 31 10:56:56 CST 2009


>
>Subject: Stack Depth requirements for CP/M 2.2 CBIOS
>   From: "ROBO5.8" <robo58 at optonline.net>
>   Date: Fri, 30 Jan 2009 19:08:49 -0500
>     To: "'General Discussion: On-Topic Posts Only'" <cctech at classiccmp.org>
>
>Hello,
>
>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.
>

Ok this is easy.  CP/M 2.x (2.2 nominal) can only address 16 logical drives
so that's limitation one.  Each drive is limited to 8Mb (65525sectors*128bytes).


If you use one of the CP/M like imperoved work a likes this is less an issue 
and logical drives can be much larger (up to 1gb).

>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.

Good but likely not the problem itself.

>
>In the back of my mind I kept wondering if I was exceeding CP/M's Stack
>Depth.  I can find no information on the web or in my doc's that specifies
>what the maximum Stack usage is for a CBIOS.

This does not could like a stack size issue. That tends to be very static 
for any disk size.  


>Do any of you have any thoughts on my Stack Question?  Are there other
>issues with Blocking/Deblocking that become visible with large Disk Drives,
>and that are not covered in any of the published DRI patches?

Wrong plase to look.

Likely areas of breakage:

  More than 16 drives

  Alloc storage areas inadaquately sized or overlapping

  BIOS local variables being trashed.

  Bios logic in error  (deblock, sector addressing other??)


Allison



>Thanks for your assistance.
>Robo



More information about the cctech mailing list