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 cctalk
mailing list