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
no problems.
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.
Cheers,
Chuck