home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / kaypro / kpdev.lbr / DEVICE.DQC / DEVICE.DOC
Text File  |  1986-11-10  |  9KB  |  198 lines

  1. *** NOTE ***   12/11/84   DEVICE.DOC
  2.  
  3.      The  December  issue of BYTE magazine contains an  excellent 
  4. article  by Steve Ciarcia (as usual) on using micros  to  control 
  5. the real world.
  6.                                         --J.F.
  7.  
  8. *** NOTE ***   11/25/84
  9.  
  10.      I   just  glanced  through  the  December/January  issue  of 
  11. Profiles  and saw a "home control system" for your Kaypro in  the 
  12. "New Products" column.   While the DEVICE setup described in this 
  13. file  is no where near as complex as the system described in  the 
  14. magazine,  it doesn't carry a $1500.00 price tag either.  I think 
  15. that every computer owner,  at one time or another,  dreams of  a 
  16. "computerized" household. DEVICE is just my way of automating the 
  17. troublesome  task  of  hooking  up  various  printers  and  other 
  18. peripherals  while,  in a rather small fashion,  fulfilling  this 
  19. dream.   If  you  are of the more ambitious sort and  plan  on  a 
  20. similar,  but  more  extensive  system,  I  hope DEVICE can be of 
  21. some  small help to you,  possibly as a starting point.   In  any 
  22. case, good luck and happy computing!     
  23.                                         --J.F.
  24.  
  25. DEVICE.DOC -- Documentation for DEVICE vers 1.1
  26.               November 21, 1984
  27.               (for use with pre-'84 Kaypro IIs and 4s only)
  28.  
  29.      The longer that I own a computer,  the more gizmos, gadgets, 
  30. and do-hickeys I accumulate for it.  Of course, every time I want 
  31. to  use one of these assorted goodies,  I have to swap a  zillion 
  32. cables and extension cords.  
  33.  
  34.      I looked at various RS-232 switchers, etc,  but none of them
  35. seemed to satisfy my (or my wallet's) requirements.  Some digging 
  36. around (my favorite pastime!) showed that my Kaypro 4 had two Z80 
  37. PIOs,   but   only used one side of each.   I decided that one of 
  38. these would satisfy my "switching" needs nicely.
  39.  
  40. HARDWARE
  41. --------
  42.      I selected the unused B side of the general purpose PIO (the 
  43. A  side  is used for the Centronics printer port) as  my  victim.  
  44. Bits 0-7 of this spare parallel port are available at solder pads 
  45. E7-E14 on the main board (next to U54) of older (pre-'84) Kaypros 
  46. (see  the  table below),  and can be brought to the back of  your 
  47. Kaypro,  along with +5 volts D.C.  and supply ground,  using some 
  48. ribbon cable and a small "D" type connector.
  49.  
  50.           bit #  - solder pad
  51.           -----    ----------
  52.             0         E14
  53.             1         E13
  54.             2         E12 
  55.             3         E11
  56.             4         E10
  57.             5         E9
  58.             6         E8
  59.             7         E7
  60.  
  61.      Each  of  these eight lines can be used to  control  various 
  62. peripherals,  etc.  in a variety of ways.  The following circuit, 
  63. for  example,  allows  your Kaypro to control the  flow  of  A.C. 
  64. current to a given load.
  65.                                                   
  66.           inverter        +5              ----------+------->120
  67.                            |    ______    |         |M2   __>VAC
  68.              |\            ---1| MOC  |6---         |     |  
  69.              | \    200 ohm    | 3010 |           TRIAC   |
  70. cntrl line---|  >O--/\/\/\----2|      |   r2*   G / |     |
  71.              | /               |      |4--/\/\/\-/  |M1   |
  72.              |/                 ------              |     |
  73.                   * - value depends on triac's      -LOAD--
  74.                       gate current
  75.  
  76.      The  inverter  allows the PIO to drive the  LED  inside  the 
  77. opto-coupler,  which, by the way, provides a very comforting 7500 
  78. volts  of isolation between your computer and the 120 volts A.C..  
  79. You could substitute a relay for the triac or use the circuit  to 
  80. control  a  lower A.C.  voltage (for low voltage  lamps,  motors, 
  81. etc.).
  82.  
  83.      The  following  two examples show how to control  either  an 
  84. analog or digital signal buss.
  85.  
  86.                            ----- 
  87.       8 digital lines in->|     |>-8 digital lines out (buffered)
  88.                           |     |                                
  89.                         e2|     |
  90.              |\       ----|     |
  91.              | \      | e1|     |  74LS244      
  92. cntrl line---|  >O----+---|     |               Digital "Switch"
  93.              | /           ----- 
  94.              |/ inverter
  95.  
  96.                            ----------
  97.           4 lines analog  |          |  4 lines analog 
  98.           data in-------->|          |>-data out
  99.                           |          |
  100.                  |\        ----------  4066
  101.                  | \      A| B| C| D|           Analog "Switch"
  102.     cntrl line---|  >------+--+--+--+
  103.                  | /
  104.                  |/ buffer
  105.  
  106.      By using variations of the above techniques,  I have set  up 
  107. my  work  station  so  that I can manipulate  or  enable  various 
  108. peripherals,  including my  printers,  an  EPROM  programmer,   a 
  109. modem, and a speech synthesizer without leaving the keyboard.  
  110.  
  111. SOFTWARE
  112. --------
  113.      Using  the  spare parallel port is quite  straight  forward.  
  114. The data address is 0AH.  The control address is 0BH.  If you are 
  115. not  familiar  with programming the Z80 PIO I would suggest  that 
  116. you  pick  up a copy of the Mostek data book,  it seems to  be  a 
  117. little easier to decipher than the one available from Zilog.  The 
  118. following   partial   Z80  listing  sets  up  the  PIO   in   the 
  119. bidirectional mode and then sets up all 8 bits as outputs. 
  120.  
  121. PORT    EQU     0AH    ;SPARE parallel port
  122. CPORT   EQU     0BH    ;PIO control port
  123. CWORD   EQU     0CFH   ;control word to set spare port to 
  124. ;                       bidirectional mode.  the PIO expects 
  125. ;                       another word after this one to set the 
  126. ;                       individual bits to either INPUT or OUTPUT
  127. ;                              0 in bit pos. = OUTPUT
  128. ;                              1 in bit pos. = INPUT
  129. ;    initialization 
  130.         LD      A,CWORD     ;cntrl word in A
  131.         OUT     (CPORT),A   ;output to cntrl port
  132.         LD      A,00H       ;ALL outputs
  133.         OUT     (CPORT),A
  134. ;
  135. ;    output info to port
  136.         LD      A,byte 1        ;first byte to output
  137.         OUT     (PORT),A        
  138.         LD      A,byte 2        ;second byte to output
  139.         OUT     (PORT),A
  140.          .        .  
  141.          .        .
  142.          .        .
  143.           and so on
  144.  
  145.      DEVICE.COM is a simple  menu driven program  that allows you 
  146. to  toggle  "devices" 1 thru 8 ON or  OFF (bits 0 thru 7  of  the 
  147. spare  port  HI  or  LOW)  from  the  keyboard.    Simply  enter:    
  148. DEVICE<cr>  to enter the program and either ^C or <ESC> to  exit.  
  149.  
  150.      Any  settings  that  you make using DEVICE  will  remain  in 
  151. effect until you either change them with DEVICE,  press the reset 
  152. button (Cold Boot), or turn your computer OFF.
  153.  
  154.      You can strike any key to cancel the pause after the sign-on 
  155. message  (striking  any key also cancels the pause  after  DEVICE 
  156. informs  you of an improper  entry).   You can also remove either 
  157. the sign-on message or the improper entry message (or both)  with 
  158. the patches listed at the end of this file.
  159.  
  160.      I  have  been using the same basic setup for close to  eight 
  161. months now,  and have had no problems with it.   For me at least, 
  162. the  convenience provided has been well worth the effort it  took 
  163. to get everything "up and running".   I would enjoy hearing  from 
  164. you  if  you set up a similar system or are using your  micro  in 
  165. some other type of "real world" control.  Just leave me a message 
  166. on the Downey RCPM  (213) 806-2226.
  167.  
  168.                                    ENJOY!
  169.                                      Joe Fitzpatrick
  170.    
  171. DEVICE.COM PATCHES
  172. ---------- -------
  173.   Remove sign-on message:  
  174.  
  175.                    change  0169 from 11H to 18H
  176.                            016A from CAH to 07H
  177.  
  178.   Remove improper entry message:
  179.                    
  180.                    change  020E from 11H to 18H
  181.                            020F from 07H to 0EH
  182.  
  183.      If  you  simply want to change the pause length (default  is 
  184. approximately  2 seconds on a 5 Mhz Kaypro) change the hex  value 
  185. at 027A (currently 07H) to a lower value to shorten the pause, or 
  186. a higher value to lengthen it.
  187.  
  188. Note about DEVICE on PRO8 systems:
  189.  
  190.      If you are using the PRO8 monitor ROM from Micro  Cornucopia 
  191. (a great magazine!),  DEVICE changes  your cursor  to   invisible 
  192. (SPACE) until you exit the program,  at which time your cursor is 
  193. restored.   This  operation should have no nasty side effects  on 
  194. non-PRO8  systems.  If  one  should  turn  up  however,  you  may 
  195. remove this feature by changing the ten bytes from  015F  to 0168 
  196. to 00H and the seven bytes from 023B to 0241 to 00H.6.
  197.  
  198.