; Linkage to ANSWER.PCD via ENDCALL. ; ; This program prevents the user from using i/o redirection. ; It also avoids the present glitch in CCPXTEND that causes the ; path to be cut short of RUNPCD after some programs have run. ; ENDCALL is responsible for ensuring that the caller has ; been properly disconnected. This operation allows normal ; call termination operations to be injected, and a message to ; the departing user. ; cr equ 0dh lf equ 0ah tstr equ 9 setdma equ 26 chain equ 47 bdos equ 5 boot equ 0 ; aseg org 0100h lxi sp,stack lxi d,msg1 mvi c,tstr call bdos; last words to user mvi c,87 mvi e,65; hang up modem call bdos mvi e,0 mvi c,84 call bdos; set state back to 0, remoff lxi d,endcal mvi c,setdma call bdos mvi c,chain; run the endcall program call bdos; should never return lxi d,norsx mvi c,tstr; if it does BYERSX is not up call bdos jmp boot ; msg1: db cr,lf,cr,lf db 'Goodbye, call again',cr,lf,cr,lf,cr,lf,'$' norsx: db cr,lf,'BYERSX not running, can''t chain$' ; endcal: db 'ENDCALL',0; put at end for easy patching ds 64 stack: end