home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol136 / modemh.doc < prev    next >
Encoding:
Text File  |  1984-04-29  |  4.0 KB  |  88 lines

  1. MODEMH.DOC - documentation file for MODEMH.
  2.  
  3.  
  4. MODEMH is an augmented version of MODEM7A, permitting
  5. handover of control to a remote computer or data terminal. 
  6. It operates by intercepting console i/o at the bios, so that
  7. input can be taken indefferently from the console or the
  8. line, and is output both to line and screen.
  9.  
  10. The existing MODEM7A facilities are unaffected.     An 'H'
  11. command hands over control; the remote computer should be in
  12. terminal mode (without echo) to get message and prompt. 
  13. After that the remote operator can feed in MODEMH commands,
  14. cause exit to CPM for other programs, recall MODEMH, and so
  15. on.  Control codes can be sent, but the alternative form with
  16. preceding '^' is available when he doesn't want them to be
  17. recognised by his own computer; in particular, he uses '^E'
  18. if he has put the handed-over computer in terminal mode to
  19. type a message, and wants to leave it again.  He exits his own
  20. terminal mode - for example, to type in his own 'Send' or
  21. 'Receive' command - with a genuine 'Ctrl E'.  Similarly, he
  22. can turn YOUR disk-write off with a '^Y' (when he wants to be
  23. off the record!), his own with 'Ctrl Y'.
  24.  
  25. Typing an 'escape' cancels handover and gets you back in
  26. exclusive control of your machine - UNLESS the remote
  27. operator has crashed it, in which case you do a cold boot in
  28. the same way as when you've crashed it yourself, and start
  29. again.    Note that, although your own keyboard is still active
  30. while you are handed over, it is effective only when the
  31. running program makes a standard (CPM) console i/o call; so
  32. you may have to wait for results.  No message is sent to the
  33. remote operator when you cancel; he may not be listening
  34. anyway, and you can always send him a manual one if he is.
  35.  
  36. There are no special 'anti-crash' provisions.  I use this
  37. program mainly when I have two computers strapped together
  38. (for transfer of files from one disk format to another) on
  39. the same bench, simply to avoid having to hop between
  40. keyboards.  But it can also be useful over the phone.
  41. (Operator A needs to relieve nature, has back-up copies of 
  42. all his valuable files, and might as well let operator B
  43. carry on meanwhile.  Or an expert gets a novice to hand over
  44. to him to show him how it's done.  Or--)
  45.  
  46. CONFIGURATION
  47.  
  48. SORMODH is a version for the Sorcerer; DATMODH is for the
  49. Australian Datamax computer; and I'm going to have to make an
  50. APMODH soon.  The ASM files are tailored for assembly on RMAC
  51. and LINK; they assume you have MODEM.LIB on the same disk in
  52. the same way as for other members of the MODEM7 family.
  53.  
  54. The sensitive bit of the added program is a 100h block that
  55. needs to be stashed somewhere it won't be overwritten by
  56. other programs the remote operator might want to run.  On the
  57. Sorcerer I have a cunning hole between CPM and the Monitor;
  58. generally, a spot just below CPM will be the best place, or
  59. below the base of DDT (Shh!), ZSID or some other debugger if
  60. you run them.  Put its address at HAVEN in the added equates
  61. near the start of the listing.
  62.  
  63. Also put the code of an escape character at ESCHAR;
  64. presumably this will be ESC, 1bh, but you can alter it if you
  65. have to.
  66.  
  67. The remainder of the configuration is as for MODEM7A, EXCEPT
  68. that, because the stashed 100h block needs to be independent,
  69. there are four small subroutines in it, called MINST, MOUST,
  70. MIN and MOUT, that need to be considered as well.  These are
  71. right at the end of the listing; the first two return z-flags
  72. when modem input and output (respectively) are ready, and the
  73. others (respectively) receive or send bytes.  Note also that
  74. if (improbably) you need to insert symbolic addresses when
  75. rewriting these programs, references to these addresses need
  76. to take into account the fact that the program is to be
  77. relocated; the offset is 'HAVEN minus RCAN', and should be
  78. added to jump, call, load and store addresses in the same way
  79. as it is elsewhere in the segment.
  80.  
  81. If you DO need to rewrite anything here, there are about 30
  82. bytes spare.
  83.  
  84. Leave me a message on RCPM if you have any troubles, or helpful
  85. suggestions.
  86.  
  87.                 Charles Hamblin
  88.