home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol028 / remote.src < prev    next >
Text File  |  1984-04-29  |  2KB  |  71 lines

  1. ;
  2. ;
  3. ;PROCEDURE ACREMO(HCODE,UCODE,OPCODE,TIME: BYTE);
  4. ;
  5. ; THIS PROCEDURE WILL OUTPUT TO THE HOUSE CODE (HCODE) AND
  6. ; UNIT CODE (UCODE) THE OPERATION DENOTED BY OPCODE.
  7. ; THESE CODES ARE RECOGNIZED BY A SCITRONICS BSR INTERFACE
  8. ; BOARD AND THE BSR REMOTE COMMAND MODULES. UPON RECEIPT
  9. ; OF ONE OF THE CODE TYPES NOTED:
  10. ;    ON=        18
  11. ;    OFF=        50
  12. ;    ALL LIGHTS OFF=    34
  13. ;    ALL OFF=    2
  14. ;    BRIGHT=        42
  15. ;    DIM=        10
  16. ;    AND=        26
  17. ;    STOP=        0
  18. ;
  19. ; AN OPERATION WILL BE EXECUTED. WHEN PERFORMING A DIM FUNCTION
  20. ; THE TIME VALUE WILL BE USED. IN THIS CASE A TIME VALUE OF 255 MEANS
  21. ; THAT THE DIM WILL BE EXECUTED FOR 4 SECS. TIME VALUES ARE
  22. ; THEN LINEAR DOWN TO ZERO, WHERE ZERO MEANS NO OUTPUT.
  23. ;
  24. ;
  25. ; CONSTANTS:
  26. SCIADDR    EQU    20H;    SCITRONICS CONTROLLER ADDRESS
  27. DIM    EQU    10;    DIM FUNCTION = 10
  28. BRIGHT    EQU    42;    BRIGHTENING FUNCTION
  29. STOP    EQU    0;    CLEAR FUNCTION
  30. BUSY    EQU    128;    BUSY BIT FOR SCI CONTROLLER
  31. ;
  32. ; STACK OFFSETS FOR VARIABLE ENTRY
  33. TIME    EQU    8;
  34. OPCODE    EQU    9;
  35. UCODE    EQU    10;
  36. HCODE    EQU    11;
  37. ;
  38. ; START OF PROCEDURE
  39. ;
  40.     NAME    REMOTE
  41.     ENTRY    ACREMO
  42. ACREMO:    ENTR    D,2,0;    MACRO SETUP ROUTINE
  43.     MVI    A,STOP
  44.     OUT    SCIADDR;    CLEAR CONTROLLER
  45.     MOV    A,HCODE(IX);    GET HOUSE CODE
  46.     OUT    SCIADDR
  47.     MOV    A,UCODE(IX);    GET USER CODE
  48.     OUT    SCIADDR
  49.     MOV    A,OPCODE(IX);    OUTPUT OPERATION
  50.     OUT    SCIADDR
  51.     CPI    DIM;    SEE IF IT IS THE DIM FUNCTION
  52.     JZ    DIMCHK
  53.     CPI    BRIGHT;    SEE IF IT IS BRIGHTEN FUNCTION
  54.     JZ    DIMCHK
  55. FIN:    IN    SCIADDR
  56.     ANI    BUSY    ;SEE IF CONTROLLER IS FINISHED
  57.     JZ    FIN
  58.     EXIT    D,4;    IF FINISHED DO EXIT MACRO
  59. DIMCHK:    MOV    D,TIME(IX);    STORE TIME VALUE
  60. LP1:    MVI    C,09H;    FIRST LOOP
  61. LP2:    MVI    B,0FFH;    SECOND LOOP
  62. LP3:    DCR    B;    THIRD LOOP
  63.     JNZ    LP3
  64.     DCR    C
  65.     JNZ    LP2
  66.     DCR    D
  67.     JNZ    LP1
  68.     MVI    A,STOP;    TURNING OFF DIM FUNCTION
  69.     OUT    SCIADDR;
  70.     JMP    FIN;    IF FINISHED GO TO FIN ROUTINE
  71.