;LAST UPDATE 5/12/85 22:00 BY MTM ; ; ;*********************************************************** ;OPTION CONSTANT TABLE - MSN CONTAINS THE STANDARD OPTION ; LSN CONTAINS THE MAXIMUM NUMBER OF COMBINATIONS OF THAT OPTION ;*********************************************************** ; ; ROMOPT: DB 00H ;OPTION 0 DB 12H ;OPTION 1 NO OPTIONS ; 1 = ROM OPTIONS ; 2 = RAM OPTIONS DB 12H ;OPTION 2 DATA FORMAT ; 1 = ASYC MODE ; 2 = SYNC MODE DB 12H ;OPTION 3 DATA RATE SEL (TERM) ; 1 = MODEM SELECTS RATE ; 2 = DTE SELECTS RATE DB 12H ;OPTION 4 103 MODE ; 1 = ANSWERS IN 103/212 MODE ; 2 = ANSWERS IN 212 MODE ONLY DB 34H ;OPTION 5 CHAR LENGTH ; 1 = 8 BIT, 2 = 9 BIT ; 3 = 10 BIT, 4 = 11 BIT DB 12H ;OPTION 6 ORIG/ANS MODE ; 1 = ORIG/ANSWER ; 2 = ANSWER ONLY DB 22H ;OPTION 7 SLAVE CLOCK ; 1 = SLAVE CLOCK ENABLED ; 2 = DISABLED DB 22H ;OPTION 8 FORCE DTR ; 1 = FORCE DTR ON ; 2 = NO FORCE DB 22H ;OPTION 9 UNNATTENDED DISCONNECT ; 1 = DISABLED ; 2 = ENABLED DB 12H ;OPTION 10 CARRIER DISCONNECT ; 1 = ENABLED ; 2 = DISABLED DB 22H ;OPTION 11 RECEIVE SPACE DISCONNECT ; 1 = ENABLED ; 2 = DISABLED DB 22H ;OPTION 12 SEND SPACE ON DISCONNECT ; 1 = ENABLED ; 2 = DISABLED DB 12H ;OPTION 13 ABORT TIMER DISCONNECT ; 1 = ENABLED ; 2 = DISABLED DB 12H ;OPTION 14 RESPONSE TO REMOTE TEST ; 1 = ENABLED ; 2 = DISABLED DB 33H ;OPTION 15 DSR CONTROL ; 1 = DSR ON IN TEST ; 2 = DSR OFF IN TEST ; 3 = DSR ALWAYS ON DB 12H ;OPTION 16 CTS CONTROL ; 1 = CTS FOLLOW CXR ; 2 = CTS FOLLOWS RTS DB 12H ;OPTION 17 CXR CONTROL ; 1 = FORCE ON ; 2 = NORMAL DB 33H ;OPTION 18 ALB TEST CONTROL ; 1 = BUSY OUT ; 2 = BUSY OUT AND ALB ; 3 = DISABLED DB 1AH ;OPTION 19 AUTO ANSWER ; 1-8 = # OF RINGS BEFORE ANSWER ; 9 = NO ANSWER DB 12H ;OPTION 20 ?????????? ; 1 = DUMB BELL ON ; 2 = DUMB BELL OFF DB 12H ;OPTION 21 LOCAL COPY ; 1 = ENABLED ; 2 = DISABLED DB 33H ;OPTION 22 DIAL MODE ; 1 = PULSE ; 2 = TONE ; 3 = AUTO SELECT DB 22H ;OPTION 23 BLIND DIALING ; 1 = ENABLED ; 2 = DISABLED DB 12H ;OPTION 24 CALL PROGRESS CONTROL ; 1 = CALL PROGRESS MESSAGES ENABLED ; 2 = NO CALL PROGRESS MESSAGES DB 12H ;OPTION 25 FAILED CALL TIMER ; 1 = 30 SEC ; 2 = 60 SEC DB 1AH ;OPTION 26 REDIAL CYCLES ; 1-9 = NUMBER OF REDIAL CYCLES DB 22H ;OPTION 27 LINKING ; 1 = ENABLED ; 2 = DISABLED $EJECT ;********************************************************************** ;SLAVE OPTIONS - THIS ROUTINE READS THE OPTIONS OUT OF AN OPTION TABLE ; IN ROM AND INITS THE APPROPRIATE STATUS BITS ; DESTROYS A,B,R1,R3,DPTR ; CALLS CALOFF, GDOPT ; RETURNS WITH PACKED OPTIONS IN R1 ; BIT 0 = FORCE DSR ON ; BIT 1 = NO OPTIONS ; BIT 2 = 0 ; BIT 3 = 0 ; BIT 4 = RESPONSE TO REMOTE TEST ; BIT 5 = UNATTENDED DISCONNECT ; BIT 6 = DSR OFF DURING TEST ; BIT 7 = FORCE DTR ON ;********************************************************************** ; SLVOPT: MOV B,#00 CLR A MOV 2CH,A ;CLEAR OPTION BITS MOV 2DH,A ; MOV 2EH,A ; MOV DPTR,#ROMOPT SETB B.1 ;SET NO OPTIONS SLVOP2: MOV R3,#02 CALL CALOFF ;POINT TO OPTION 2 CALL GDOPT CJNE A,#02,SLVOP8 ;BRANCH IF NOT IN SYNC MODE SETB SYN_FLG SLVOP8: CALL GDOPT ;GET OPTION 3 CJNE A,#02,SLVP10 ;BRANCH IF MODEM RATE SELECT SETB DATSEL ;SET DTE RATE SELECT SLVP10: CALL GDOPT ;GET OPTION 4 CJNE A,#02,SLVP11 ;BRANCH IF 103/212 OPERATION SETB ANS_SEL ;SET 212 ANSWER ONLY SLVP11: CALL GDOPT ;OPTION 5 DATA CHAR LENGTH MOV BITCNT,A ;SAVE IN RAM FOR MODEM SECTION SLVP12: CALL GDOPT ;OPTION 6 ORIG/ANS OR ANS ONLY CJNE A,#02,SLVP13 ;BRANCH IF ORIG/ANS SETB ORG_ANS ;SET ASN ONLY SLVP13: CALL GDOPT ;OPTION 7 SLAVE CLOCK CJNE A,#01,SLVP14 ;BRANCH IF NO SLAVE CLOK SETB SLAV_FLG ;SET SLAVE CLOCK SLVP14: CALL GDOPT ;OPTION 8 FORCE DTR SLVP15: CALL GDOPT ;OPTION 9 UNATTENDED DISCONNECT CJNE A,#02,SLVP16 ;BRANCH IF NO UNATTENDED DISCONNECT SETB UNATTD ;SET UNATTENDED SLVP16: CALL GDOPT ;OPTION 10 LOSS OF CARRIER DISCONNECT CJNE A,#01,SLVP17 ;BRANCH IF DISABLED SETB LOST_CAR ;ENABLE SLVP17: CALL GDOPT ;OPTION 11 RECIEVE SPACE DISCONNECT CJNE A,#01,SLVP18 ;BRANCH IF DISABLED SETB RCV_DIS ;ENABLED SLVP18: CALL GDOPT ;OPTION 12 SEND SPACE DISCONNECT CJNE A,#01,SLVP19 ;BRANCH IF DISABLED SETB SND_DIS ;ENABLED SLVP19: CALL GDOPT ;OPTION 13 ABORT TIMER DISCONNECT CJNE A,#01,SLVP20 ;BRANCH IF DISABLED SETB TIME_DIS ;ENABLED SLVP20: CALL GDOPT ;OPTION 14 RTRT CJNE A,#01,SLVP21 ;BRANCH IF DISABLED SETB RTRT_BIT ;SET RTRT ENABLED SLVP21: CALL GDOPT ;OPTION 15 DSR CONTROL SLVP23: CALL GDOPT ;SKIP OPTION 16 SLVP24: CALL GDOPT ;OPTION 17 CXR CONTROL SLVP25: CALL GDOPT ;OPTION 18 TERMINAL CONTROL OF ALB CJNE A,#02,SLVP26 ;BRANCH IF NO ALB BUSY-OUT SETB ALB_TST ;ENABLE ALB SLVP26: CJNE A,#01,SLVP29 ;BRANCH IF NO BUSY-OUT SETB ALB_TST2 ;ENABLE BUSY-OUT SLVP29: CALL GDOPT ;OPTION 19 AUTO ANSWER CJNE A,#09,SLVP30 ;BRANCH IF ANSWER OK SETB NO_ANSW ;SET NO ANSWER SLVP30: NOP NOP SLVP31: CALL GDOPT ;OPTION 20 TERMINAL BELL SLVP32: CALL GDOPT ;OPTION 21 LOCAL COPY CJNE A,#01,SLVP34 ;BRANCH IF NO LOCAL COPY SETB LOC_COPY SLVP34: CALL GDOPT ;OPTION 22 DIAL MODE CJNE A,#02,SLVP34X SETB DIAL_M SLVP34X:CJNE A,#03,SLVP35 ;AUTO SELECT SETB DIAL_M SLVP35: CALL GDOPT ;OPTION 23 BLIND DIAL CJNE A,#01,SLVP36 SETB BLND_DIL SLVP36: CALL GDOPT ;OPTION 24 CALL PROGRESS CJNE A,#02,SLVP37 SETB CAL_PRGS SLVP37: CALL GDOPT ;OPTION 25 FAILED CALL TIMER CJNE A,#02,SLVP38 SETB FAL_CAL SLVP38: CALL GDOPT ;OPTION 26 REDIAL CYCLES CJNE A,#09,SLVP50 SETB NO_RED SLVP50: MOV R1,B ;SAVE OPTIONS RET CALOFF: MOV A,R3 ;ADD R3 OFFSET TO DPTR ADD A,DPL MOV DPL,A CLR A ADDC A,DPH MOV DPH,A RET ; GDOPT: CLR A MOVC A,@A+DPTR ;GET OPTION SWAP A GDOPT2: ANL A,#0FH INC DPTR RET $EJECT ;