To: opendos AT delorie DOT com Date: Fri, 16 Feb 2001 02:34:50 5 Subject: Re: CP/M Question Message-ID: <20010216.024044.-4038533.0.editor@juno.com> X-Mailer: Juno 5.0.27 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Juno-Line-Breaks: 0,2-49 From: Bruce Morgen Reply-To: opendos AT delorie DOT com On Fri, 16 Feb 2001 12:43:59 +1100 "da Silva, Joe" writes: > I hope a question about DR-DOS' predecessor is not too > "out of place" here ... ? . > > Anyway, I have read information about CP/M 1.4 and > 2.2 (or was that 2.0?) that said the command processor > (CCP) occupies 2K of memory ... > > Now, my question is this : Were there any versions of > CP/M (or CP/M clones), in which the command processor > (CCP) was larger than 2K? CP/M v3.x, aka CP/M+, had a larger CCP implemented as a disk file, just like CP/M-86 and DOS. Hal Bower's fancy version of Z-System also has no fixed CCP size limitation. > > BTW, the recent question about "total memory" is what > has reminded me to ask about this, because, as far as > I can tell, the only way to work out how much memory is > available/free on a CP/M system, is to subtract the CCP > size from the BDOS starting address ... > Actually, you just use the BDOS call vector at 0005h and round down to the closest page boundary -- that's as high in RAM as you can write to without impinging on BDOS -- as long as you terminate your program with a warm boot (e.g. CALL 0 or RST 0), you can safely overwrite the CCP's address space because that warm boot will reload the CCP from disk and then jump to it. You only have to subtract the CCP size if you plan to use or restore the CCP stack and end the program with a RET instruction instead of a warm boot. > Joe. > > ________________________________________________________________ GET INTERNET ACCESS FROM JUNO! Juno offers FREE or PREMIUM Internet access for less! Join Juno today! For your FREE software, visit: http://dl.www.juno.com/get/tagj.