CP/M coding question

From: Pat Finnegan <pat_at_purdueriots.com>
Date: Tue May 28 16:56:04 2002

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
Received on Tue May 28 2002 - 16:56:04 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:35:18 BST