My intended use of my RC2014 Pro system is to be a CP/M based 'server' for my other CP/M machines; hence the two 85C30 boards I'm building out to add. My 'Server' code will still load at 0100h but will relocate and execute from CBASE minus something less than 8K. I'll call that 'new' location 'SBASE'....
As to the 'overlay', that would be some command within my server code, that may be used sporadically and not regularly. A 'regular' command/function would be along the lines of displaying status to the console of a client request, or to log the status in the log file. A 'sporadic' command would be something like the code needed to print a client requested file. So, how then to load and execute that via a 'call' within the Server program.....
Well, I think I came up with a way.... Overlays would be assembled to execute at SBASE minus 1K, and upon completion, would execute a RET back to the Server program.
1. Upon getting a client request to execute a function/command that requires an overlay, the Server program, using CP/M functions, would read the overlay from disk and into address 0100h.
2. The Server program would then relocate the overlay from 0100h to SBASE-1K.
3. The Server program would then CALL the overlay at address SBASE-1K.
4. When complete, 'return' to the Server program.
I'm sure 'overlay' isn't the most technically accurate name for what this is, but it's what is in my head, so I'll go with that for now. So, if anyone has any comments or suggestions, I'd love to hear them. This is certainly newly charted territory for me... Thanks