
 1000  *SAVE S.RAMFILL ADAM
 1010  *--------------------------------
 1020  *   ADAM LEVIN'S SOLUTION TO THE PUZZLE
 1030  *--------------------------------
 1040         .OR $9966    MUST START HERE
 1050         .TF B.PAINTER
 1060  *--------------------------------
 1070  PAINTER
 1080         LDY #END-1
 1090         LDA #$99     STORE $99 FROM END OF PROGRAM
 1100  COAT1  STA $9900,Y  THROUGH $BFFF
 1110         INY
 1120         BNE COAT1
 1130         INC COAT1+2  NEXT PAGE
 1140         LDX COAT1+2
 1150         CPX #$C0     REACHED $BFFF YET?
 1160         BNE .2       ...NOT YET
 1170         LDX #0       WRAP AROUND AND STORE FROM
 1180         STX COAT1+2  $0000 THRU $HERE
 1190  .2     CPX #$99     HAVE WE COME FULL CIRCLE?
 1200         BNE COAT1    ...NO, KEEP PAINTING
 1210         LDY #$EA     ...YES, NOW PATCH END OF RAM
 1220         STY $BFFB    FOR WRAPPING AROUND
 1230         STY $BFFC
 1240         LDY #$4C     NOP, JMP $0000
 1250         STY $BFFD
 1260         LDY #0
 1270         STY $BFFE
 1280         STY $BFFF
 1290  *--------------------------------
 1300  *   PAINT $9900-HERE
 1310  *--------------------------------
 1320  COAT2  STA $9900,Y
 1330         INY
 1340         CPY #COAT2+2
 1350         BCC COAT2
 1360  *--------------------------------
 1370  *   TRY TO GET OUT WITHOUT LEAVING FOOTPRINTS!
 1380  *--------------------------------
 1390         LDY #2       SET INDEX TO POINT TO $999B
 1400         STA $9999,Y
 1410         INY          $999C
 1420         STA $9999,Y
 1430         INY          $999D
 1440         STA $9999,Y
 1450         INY          $999E
 1460         STA $9999,Y
 1470         INY          $999F
 1480         STA $9999,Y
 1490         INY          $99A0
 1500         STA $9999,Y
 1510         INY          $99A1
 1520         STA $9999,Y
 1530         INY          $99A2
 1540         STA $9999,Y
 1550         INY          $99A3
 1560         STA $9999,Y
 1570         INY          $99A4
 1580         INY          $99A5
 1590  END    STA $9999,Y
 1600  *--------------------------------

