I vaguely remember that the ZCPR3 CP/M CCP-enhancement
package delivered some functionality for this.....
ZCPR3 is a must for any serious CP/M 2.2 user anyway
The only way to make the USR-function usable and
valuable (the CP/M USR-function was kinda directory-kludge
but ZCPR3 made it workable without copying all those
utils to every USR)
Sipke de Wal
----------------------------------------
http://xgistor.ath.cx
----------------------------------------
----- Original Message -----
From: "Pat Finnegan" <pat(a)purdueriots.com>
To: <cctalk(a)classiccmp.org>
Sent: Tuesday, May 28, 2002 11:56 PM
Subject: CP/M coding question
I'm working on writing a program for CP/M 2.2, and
would like to make it
stay 'resident' in the system memory. Is there any way I can locate
to bottom of the CCP so I don't overwrite it, without doing it at compile
time? I'm planning on using only Z-80 based systems (so I can use an
offset-based jump) so I should be able to pretty easily make the code
re-locatable. All I need to do is be able to figure out where the CCP is
so I don't overwrite it.
Alternatively, would it be a better idea to write something that loads its
own replacement CCP under it, and overloads the old CCP just under the
BDOS? I would probably need to intercept the 'JMP WBOOT' and 'JMP BDOS'
vectors at address 0 and 5, and keep the old BIOS from overwriting my
resident program. Or, would it be better to just modify and re-compile
the BIOS for each machine I want to run this on (most of the code would
probably remain the same...)?
What I'm looking to do is provide a (small) SLIP or PPP based TCP/IP stack
for a machine that will stay resident and can be used by CP/M 2.2 [or
perhaps MP/M II] user programs.
Thanks for any suggestions.
-- Pat