Hi. I'm totally new to CP/M. I'm asking myself a question: What would I need to take into account to enshure, that a program developed for/on one CP/M 2.2 system will run on another?
Say, I'd develop on Linux/RunCpm with 60 K of free RAM and have another Z80-MBC with 56 K. Is this a problem? The code is not position independant? What do I need to take care of?
CP/M was written for the 8080. Depending on the intended audience you may wish to avoid
using Z80-specific instructions.
Programs always run at location 0100H, so the code need not be position-independent or relocatable (unless you need that for the program itself).
Ah, great. So it seems, that this was the most unknown/important point
for me. So if only using BDOS, not manipulating the FCB after
initialization and using standard vt100 capabilities should produce
portable executables than.
There is no terminal abstraction layer, like termcap/terminfo or such?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (2 / 14) |
Uptime: | 01:13:39 |
Calls: | 10,387 |
Calls today: | 2 |
Files: | 14,061 |
Messages: | 6,416,728 |