Fill in the far_call and cpm_entry values for each new PSP.
cpm_entry is an alias to the Int 30 vector located at 0:c0,
and the alias is adjusted so that the offset part is also
the maximum amount of program space available to a .com type
of program.
The Int 30 and 31 vectors are occupied by a far jmp to the
callback routine.
The callback routine pushes the flags and rearranges the stack
to resemble an ordinary Int 21 call. It checks the value of
cl and if it is in range, copies it to ah and invokes the
regular Int 21 callback.
Believe it or not, people still run programs that use this mechanism.