( ROUTINE TO LINK TO VGER WRITE ROUTINE )                       SUBR XOR-FLIP VOXPAND Y B LDX, VOMAGIC Y C LDX,                 VOPATH Y H LDX,                                                   VOPAT Y L LDX, H INX, H INX, ( pat off set) H PUSH, X POPX,     VOSCRADRH Y H LDX, VOSCRADR Y L LDX,                            writep JMP, ( erase it )                                      SUBR WRITE-LINK                                                   VBNOWRITE VLOGICSTAT Y BITX, 0=, IF, VWRITE CALL,               ELSE, VBNOWRITE VLOGICSTAT Y RESX, THEN, RET,                 ( CHECK:NEAR )                                                  DATA PCON PLYRV , MONV1 , MONV2 , XC? IFTRUE MONV3 , JAWSV ,    MONV4 , IFEND KEY , HOSV1 , ARV , XC? IFTRUE TRSV ,             HOSV2 , HOSV3 , IFEND 0 , -->                                                                                                                                                                                                                                   ( SPECIAL WRITE ROUTINE FOR REVEALS )                           DECIMAL                                                         F= REML F= RESL F= LISTEND                                      SUBR REVEALWRITE <ASSEMBLE 0 H LXI, H PUSH, ( MARK STACK )      ( Y PUSHX, H POP, CONFTAB D LXI, D DAD, )                       PCON H LXI,                                                     LABEL REML M E MOV, H INX, M D MOV, H INX, D A MOV, E ORA,      LISTEND JRZ,                                                    Y PUSHX, B POP, B A MOV, D CMP, 0=, IF, C A MOV, E CMP,         REML JRZ, THEN, D PUSH, X POPX,                                  VBON-SCR VLOGICSTAT X BITX, REML JRZ,                             VBNOERASE VLOGICSTAT X BITX, REML JRNZ,                        VOPATH X A LDX, VOPAT X ORAX, REML JRZ,                                                                                       -->                                                                                                                             ( MORE OF SPECIAL WRITE ROUTINE FOR REVEALS )                   VOSCRADRH X A LDX, VSCRADRH Y SUBX, 10 ADI, 20 CPI, REML JRNC,  X PUSHX, H PUSH, Y PUSHX, X PUSHX, Y POPX, XOR-FLIP CALL,       Y POPX, H POP, REML JMPR,                                       LABEL LISTEND WRITE-LINK CALL,                                  LABEL RESL D POP, D A MOV, E ORA, transition JZ,                Y PUSHX, D PUSH, Y POPX,                                        XOR-FLIP CALL, Y POPX, RESL JMPR,                               ASSEMBLE>                                                                                                                       HEX                                                             ( 4 C= HDST ) 800 C= REVVEL                                     DECIMAL -->                                                                                                                                                                                                                                                     ( CHANGE PLAYERS PERSPECTIVE INDEX ROUTINE )                    SUBR C-PX H PUSH, B PUSH, 1 ANI, A C MOV, ( C= WHAT TO GO TO )  VPERINX PLYRV + H LXI, M A MOV, 1 ANI, C CMP,                   0<>, IF, M A MOV, 2 ANI, C ORA, A M MOV,                        A XRA, VANIMINX PLYRV + STA,                                    A INR, VANIMTIMER PLYRV + STA, D PUSH,                          M A MOV, 1 ANI, 0<>, IF, dig-s CALL, ELSE, walk-s CALL, THEN,   D POP, THEN, B POP, H POP, RET,                                 -->                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ( REVEALER SLAVE TO PLAYER ROUTINE )                            F= ruk F= JCXY F= SAM F= DIX                                    SUBR SLV! .ABS <ASSEMBLE PSW PUSH, B PUSH,                      DIRFLAG LDA, A ANA, 0<>, IF, A XRA, C-PX CALL, JCXY JMP,        THEN, O-M LDA, A ANA, JCXY JZ,                                  PLYRV NOWD + LDA, NOWD Y CMPX, DIX JRNZ,                        NOWR PLYRV + LDED, NOWR REVV + LHLD, A ANA, D DSBC, SAM JRZ,    LABEL DIX PLYRV NOWR + LHLD, REVV NOWR + SHLD,                  PLYRV NOWD + LDA, REVV NOWD + STA, NEWPATH CALL,                -->                                                                                                                                                                                                                                                                                                                                                                                                                                                             ( FETCH R,C,D )                                                 LABEL SAM NOWC Y E LDX, NOWR Y D LDX, NOWD Y C LDX,             noder^ CALL, M B MOV, B DISTANCE 1+ Y STX,                      DISTANCE 1+ PLYRV + LDA, A L MOV, B A MOV,                      L SUB, 0>=, IF, 12 CPI, CY~, IF, A XRA, C-PX CALL, THEN,        ( WE ARE AHEAD OF THE PLAYER - ARE WE NEAR MAX? )               noded^ CALL, M A MOV, B SUB, JCXY JZ, 8 CPI, JCXY JNC,          THEN,                                                           -->                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ( BUMP MUNCH CTR ) DIGSCR H LXI, M INR, 1 A MVI,                C-PX CALL, 1 A MVI, DISTPA CALL,                                NOWC Y E LDX, NOWR Y D LDX, NOWD Y C LDX,                       TBDEST TCHGSTAT Y BITX, ruk JRNZ,                               B PUSH, D PUSH, move:node CALL, C A MOV, CMA, 3 ANI, A C MOV,   noder^ CALL, D POP, M B MOV,                                    REVV DISTANCE 1+ + LDA, B ADD, B POP, MAXDIST Y CMPX, ruk JRNC, noder^ CALL, REVV DISTANCE 1+ + LDA, A M MOV, JCXY JMPR,        LABEL ruk noded^ CALL, M B MOV, noder^ CALL, B M MOV,           move:node CALL,                                                 C A MOV, CMA, 3 ANI, A C MOV, noder^ CALL, B M MOV, ( BOTH )    TBDEST TCHGSTAT Y RESX, A XRA, C-PX CALL,                       LABEL JCXY CALCXY CALL, B POP, PSW POP, RET, ASSEMBLE> .REL     -->                                                                                                                                                                                             ( CHAMBER REVEALER )                                                                                                            HEX                                                             : CH:R DIVG                                                     ESTPOS DVECT-ON PUSH:CCR G-D? NOT IF                            ( PUSH:CCR WALDO )                                              gr-p ANIM! 1STWRITE 0C XPAND!-ON OR-ON                          1 TIMER!-ON REVEALWRITE ZGO DIVG                                XPAND-OFF XOR-ON                                                PUSH:CCR S-GD THEN COGO ;                                                                                                       CODE RVECT-ON Y PUSHX, vaddr LIYD, SLV! H LXI,                  L CUSVEC Y STX, H CUSVEC 1+ Y STX,                              TB-DVECT TVMROPT2 Y SETX, Y POPX, NEXT                                                                                          DECIMAL -->                                                     ( BIZARRE REVEALER FUNCTION )                                   HEX : H:R ;TASK: DIVG                                           BEGIN PLYRV GRCD                                                ESTPOS                                                          rv-p ANIM! 0C XPAND!-ON OR-ON 1STWRITE 1 TIMEBMAX!              BEGIN REVVEL DELTADIST V!                                       ( HOTROD THE REVEALER )                                         RVECT-ON REVEALWRITE ZGO DIVG 0 END ;                           -->                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ( CHAMBER REVEALER TASK )                                       : C:RT ;TASK: DIVG PLYRV GRCD ' CH:R SETCO COGO ;               DECIMAL -->                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     