"MAZE-PROG for BUREAUCRACY: Copyright (C)1987 Infocom, Inc. All rights reserved." > > > > > > >>> ) N:FIX (TS >) (COLS:VECTOR ,TST) (CS <1 .COLS>)) >> >> )> 1>> .CS> > >) (> > > >) (T >)>> ) (ELSE .CH)>> > > >) (T )>> .ST>> ,TST>> " 0 ==> space, 1...26 ==> A...Z, 27...53 ==> a...z, 54 ==> . 55 ==> , 56 ==> ; 57...63 ==> 0...6 " > 0) (> >> <- .CHAR -1>) (> >> <- .CHAR -27>) (> >> <- .CHAR -57>) (<==? .CHAR > 54) (<==? .CHAR > 55) (<==? .CHAR > 56)>> TEXT.FILE"> > % %>> > > > > >> 0 0 >> ) (T )> ; "Clear written bits for appropriate quadrants" ) RT TOP (CQ 3)) > ) (<==? .CQ 1> ) (<==? .CQ 2> >) (T > >)> 255> 1> 255> .TOP>> *77*>> > > )>> > > )>> > > 0> )>> )> <+ .QN 1>>> <+ <* .QN 2> 1>>> > ; "e.g., q0 makes 1/4 screen's worth of chars; 1/4 of those (1/16 of total) will be good; q1 is 1/2 & 3/16; q2 is 3/4 & 5/16; q3 is 1 and 7/16. q0 good chars are confined to q0; q1 to q0&q1, etc. Further, a bad char may not overwrite an existing good char, but q0 clears all good bits; q1 all but q0; q2 all but q0 & q1; etc" > 0>> )> > 0>> )> > )>> <>> > )> >> > >> >> > >> > .X .Y>)>> > > *300*>> > ; "Q2 can write on stuff dumped by the Q3 and Q4 progs, but not Q1 or Q2..." <>) (.SET? > ) (T T)>> > 1>>> 1>> )> >> > >> 1>> > > > > )) ) (>> ; "Start at virtual top left (this is actual char addr last written in this mode, so OK to add 1 below" >>> 255> )> >> 255> )> > >)> > >)> ) (> > ; "End of line, so go to next" > > ; "End of quadrant, so go to next" .Y> > > .QN> )> > > > ; "255 means never touched, so make sure we get 0" > 255> )> >> 255> ) (> >)> > ) (T )> >)>> >) (T .Y>)> )>>>> > ) SW) > >> <- ,FIELD-DATA-OFFSET 1>>> > ,COMPUTER-WIDTH> ) (T >)>)> >>> >>>>)>)> 1>>) (T )>> > ) ( 1>>>) ( 27>>>) ( 57>>>) (ELSE >>)> .N> >