HEX SUBR SLEZR2A ( does pat offset and relabs )                  ( in- BC= magic/exp , HL= y , DE= x , IX= pattern addr )        ( out- HL= new vscradr , C= new vmagic )                         invertxy? CALL, invert? CALL, L SLAR, H RALR, L SLAR, H RALR,   H PUSH, XCHG, 0 X D LDX, 0 E MVI, ( x offset )                  D SRAR, E RARR, D SRAR, E RARR, ( /4 for x offset )             MRFLOP C BIT, 0<>, IF, D DAD, ELSE, A ORA, D DSBC, THEN,        XTHL, ( push X+off, HL<-Y ) 1 X D LDX, 0 E MVI, ( y offset )    MRFLIP C BIT, 0<>, IF, D DAD, H DCX,                            ELSE, A ORA, D DSBC, THEN,                                      D POP,                                                          H A MOV, 0 H MVI, A L MOV, H DAD, H DAD, H DAD,                 H DAD, D PUSH, L E MOV, H D MOV, H DAD, H DAD, ( *64 )          D DAD, ( *80 ) XCHG, H POP, ( x )                               L A MOV,  ( SAVE BIT CNT ) H L MOV, 0 H MVI, D DAD, ( x+y )   -->                                                             ( VMR )                                                           ( y can not get here larger then 256 )                          RLC, RLC, 3 ANI,                                                MRFLOP C BIT, 0<>, IF, NEG, 0=, IF, H DCX, THEN, THEN,          3 ANI, A E MOV,                                                 invert? CALL, ( FLIPPER BACK )                                  C A MOV, FC ANI, E ORA,                                       A C MOV,   ( HL= screen address ) RET,                          CODE WRITEP DI,                                                 X PUSHX, D POP, EXX, X POPX, B POP, H POP, yadj CALL, XTHL,     xadj CALL, XCHG, H POP, ( HL= Y DE= X )                         SLEZR2A CALL, X INXX, X INXX, 0 X E LDX, X INXX, 0 X D LDX,     X INXX, write CALL, EXX,                                        D PUSH, X POPX, NEXT                                            DECIMAL -->                                                                                                                     