: CHECKBAR ADR4 C@ HTD > IF BEGIN UPDATE0-3 ADR4 C@ LTD > EXT @ AND WHILE 1 FLAG ! ADR1 C@ HT > IF CNT @ 0= IF 1 VBIT0 ! 0 EXT ! ELSE CNT @ 1 = IF 1 VBIT1 ! 0 EXT ! ELSE CNT @ 2 = IF 1 VBIT2 ! 0 EXT ! THEN THEN THEN THEN REPEAT 1 EXT ! BEGIN UPDATE0-3 ADR4 C@ LTD > WHILE REPEAT FLAG @ 1 = IF 0 FLAG ! CNT @ 1 + CNT ! CNT @ 3 = IF 0 CNT ! S 4 GLOBALFLAG ! VBIT0 @ 1 = IF 1 20 BUZZ 0 VBIT0 ! ELSE 10 20 BUZZ THEN VBIT1 @ 1 = IF 500 DELAY2 1 20 BUZZ 0 VBIT1 ! ELSE 500 DELAY2 10 20 BUZZ THEN VBIT2 @ 1 = IF 500 DELAY2 1 20 BUZZ 0 VBIT2 ! ELSE 500 DELAY2 10 20 BUZZ THEN HALFL @ HALFR @ 1 1 MOVE THEN THEN THEN ; : GETL1 PORTA C@ 1 AND IF 0 ELSE 1 THEN ; : GETL2 PORTA C@ 2 AND IF 0 ELSE 1 THEN ; : CHECKLEVEL ( CHECKS THE LEVELS. INITIAL STATE IS ONLY CHECKING L2 ) LVCNT1 @ 1 + LVCNT1 ! LEVELFLAG @ 0= IF ( LOOK FOR INCLINE ) GETL2 NOT GETL1 AND IF ( L2 ON AND L1 OFF ) LVCNT2 @ 1 + LVCNT2 ! THEN LVCNT1 @ 50 = IF LVCNT2 @ 50 = IF 0 LVCNT1 ! 0 LVCNT2 ! S UP 1 LEVELFLAG ! HALFL @ HALFR @ 1 1 MOVE ." MOVING NOW: UP. " LEVELFLAG @ . ELSE 0 LVCNT1 ! 0 LVCNT2 ! THEN THEN ELSE LEVELFLAG @ 1 = IF ( LOOK FOR FLAT ) GETL1 GETL2 AND IF ( L2 OFF L1 OFF ) LVCNT2 @ 1 + LVCNT2 ! THEN LVCNT1 @ 30 = IF LVCNT2 @ 30 = IF 0 LVCNT1 ! 0 LVCNT2 ! S FLAT 2 LEVELFLAG ! HALFL @ HALFR @ 1 1 MOVE ." MOVING NOW: FLAT. " LEVELFLAG @ . ELSE 0 LVCNT1 ! 0 LVCNT2 ! THEN THEN ELSE LEVELFLAG @ 2 = IF ( LOOK FOR DECLINE ) GETL1 NOT GETL2 AND IF ( L1 ON AND L2 OFF ) LVCNT2 @ 1 + LVCNT2 ! THEN LVCNT1 @ 50 = IF LVCNT2 @ 50 = IF 0 LVCNT1 ! 0 LVCNT2 ! S DOWN 0 LEVELFLAG ! 2 GLOBALFLAG ! QTRL @ QTRR @ 1 1 MOVE ." MOVING NOW: DOWN. " ELSE 0 LVCNT1 ! 0 LVCNT2 ! THEN THEN THEN THEN THEN ; : CHECKLIGHTS 3 GLOBALFLAG ! UPDATE4-7 ADR1 C@ LIGHTHT @ > IF ." LEFTCELL SAW LIGHT" 1 LEFTON ! THEN ADR2 C@ LIGHTHT @ > IF ." RIGHTCELL SAW LIGHT" 1 RIGHTON ! THEN RIGHTON @ LEFTON @ OR IF ADR1 C@ LIGHTMT @ < ADR2 C@ LIGHTMT @ < AND IF LEFTON @ IF S 2 150 BUZZ HALFL @ HALFR @ 1 1 MOVE THEN RIGHTON @ IF S 5 100 BUZZ HALFL @ HALFR @ 1 1 MOVE THEN 0 LEFTON ! 0 RIGHTON ! 3 GLOBALFLAG ! THEN THEN ; : CHECKFLASH UPDATE4-7 ADR2 C@ LIGHTHT @ > RIGHTON @ 0= AND IF LIGHTCOUNT @ 1 + LIGHTCOUNT ! 1 RIGHTON ! THEN ADR2 C@ LIGHTMT @ < RIGHTON @ AND IF 0 RIGHTON ! THEN UPDATE0-3 ADR4 C@ HTD > IF S 0 RIGHTON ! LIGHTCOUNT @ 0 > IF LIGHTCOUNT @ 0 DO 1000 DELAY2 2 40 BUZZ LOOP THEN 0 LIGHTCOUNT ! 5 GLOBALFLAG ! 0 LVCNT1 ! 0 LVCNT2 ! 0 LEVELFLAG ! HALFL @ HALFR @ 1 1 MOVE THEN ; : CHECKBUMP BUMPCNT @ 1 > IF 4 GLOBALFLAG ! 0 BUMPCNT ! ELSE PORTC C@ 2 AND IF ( IF BUMPER IS ON... ) HALFL @ HALFR @ 1 1 MOVE ( WE HIT NOW SQUARE UP ) 4000 DELAY2 1 20 BUZZ BUMPCNT @ CURCNT ! BEGIN BUMPCNT @ CURCNT @ = WHILE UPDATE4-7 ADR3 C@ 43 > IF 3 40 BUZZ BUMPCNT @ 1 + BUMPCNT ! ELSE HALFL @ HALFR @ 0 0 MOVE 1000 DELAY2 1 1 1 1 MOVE 1000 DELAY2 HALFL @ HALFR @ 1 1 MOVE 1800 DELAY2 1 1 1 1 MOVE 1000 DELAY2 THEN REPEAT BACKNTURN THEN THEN ; : SENSORCHECK GLOBALFLAG @ 1 = IF ( START THE CASE STATEMENT TO CHECK FOR THE STATES ) CHECKLEVEL ( WEDGE ) ELSE GLOBALFLAG @ 2 = IF CHECKLIGHTS ( LIGHT CHANNEL ) ELSE GLOBALFLAG @ 3 = IF CHECKBAR ( BARCODES ) ELSE GLOBALFLAG @ 4 = IF CHECKFLASH ( FLASHLIGHT CORRIDORE ) ELSE GLOBALFLAG @ 5 = IF CHECKBUMP ( PINBALL BUMPER ) THEN THEN THEN THEN THEN ;