home *** CD-ROM | disk | FTP | other *** search
- ;
- ;
- ;PROCEDURE ACREMO(HCODE,UCODE,OPCODE,TIME: BYTE);
- ;
- ; THIS PROCEDURE WILL OUTPUT TO THE HOUSE CODE (HCODE) AND
- ; UNIT CODE (UCODE) THE OPERATION DENOTED BY OPCODE.
- ; THESE CODES ARE RECOGNIZED BY A SCITRONICS BSR INTERFACE
- ; BOARD AND THE BSR REMOTE COMMAND MODULES. UPON RECEIPT
- ; OF ONE OF THE CODE TYPES NOTED:
- ; ON= 18
- ; OFF= 50
- ; ALL LIGHTS OFF= 34
- ; ALL OFF= 2
- ; BRIGHT= 42
- ; DIM= 10
- ; AND= 26
- ; STOP= 0
- ;
- ; AN OPERATION WILL BE EXECUTED. WHEN PERFORMING A DIM FUNCTION
- ; THE TIME VALUE WILL BE USED. IN THIS CASE A TIME VALUE OF 255 MEANS
- ; THAT THE DIM WILL BE EXECUTED FOR 4 SECS. TIME VALUES ARE
- ; THEN LINEAR DOWN TO ZERO, WHERE ZERO MEANS NO OUTPUT.
- ;
- ;
- ; CONSTANTS:
- SCIADDR EQU 20H; SCITRONICS CONTROLLER ADDRESS
- DIM EQU 10; DIM FUNCTION = 10
- BRIGHT EQU 42; BRIGHTENING FUNCTION
- STOP EQU 0; CLEAR FUNCTION
- BUSY EQU 128; BUSY BIT FOR SCI CONTROLLER
- ;
- ; STACK OFFSETS FOR VARIABLE ENTRY
- TIME EQU 8;
- OPCODE EQU 9;
- UCODE EQU 10;
- HCODE EQU 11;
- ;
- ; START OF PROCEDURE
- ;
- NAME REMOTE
- ENTRY ACREMO
- ACREMO: ENTR D,2,0; MACRO SETUP ROUTINE
- MVI A,STOP
- OUT SCIADDR; CLEAR CONTROLLER
- MOV A,HCODE(IX); GET HOUSE CODE
- OUT SCIADDR
- MOV A,UCODE(IX); GET USER CODE
- OUT SCIADDR
- MOV A,OPCODE(IX); OUTPUT OPERATION
- OUT SCIADDR
- CPI DIM; SEE IF IT IS THE DIM FUNCTION
- JZ DIMCHK
- CPI BRIGHT; SEE IF IT IS BRIGHTEN FUNCTION
- JZ DIMCHK
- FIN: IN SCIADDR
- ANI BUSY ;SEE IF CONTROLLER IS FINISHED
- JZ FIN
- EXIT D,4; IF FINISHED DO EXIT MACRO
- DIMCHK: MOV D,TIME(IX); STORE TIME VALUE
- LP1: MVI C,09H; FIRST LOOP
- LP2: MVI B,0FFH; SECOND LOOP
- LP3: DCR B; THIRD LOOP
- JNZ LP3
- DCR C
- JNZ LP2
- DCR D
- JNZ LP1
- MVI A,STOP; TURNING OFF DIM FUNCTION
- OUT SCIADDR;
- JMP FIN; IF FINISHED GO TO FIN ROUTINE
-