;redcode-94nop ;name Hyperscan ;author Roy van Rijn ;strategy Rethinking what a qscan can be ;strategy Scans 160 positions in 170 cycles ;assert 1 zero equ wGo-80 bDist equ 4011 bPtr equ wPtr + bDist n for 80 dat zero - (43*n) , zero + 50 + (49*n) rof ; Boot the code using least possible lines: wGo mov.i wPtr + 8 , bPtr + 9 mov.i wPtr + 7 , bPtr + 8 mov.i wPtr + 7 , bPtr + 7 mov.i wPtr + 6 , bPtr + 6 mov.i wPtr + 5 , bPtr + 5 mov.i wPtr + 4 , bPtr + 4 mov.i wPtr + 3 , bPtr + 3 mov.i wPtr + 2 , bPtr + 2 mov.i wPtr + 1 , bPtr + 1 mov.i wPtr , bPtr boot djn.f bPtr , bPtr + 8 ; small scanner wPtr sne.i *wGo-1-bDist , @wGo-1-bDist djn.f {0 , }0 ; set up the clear: add.f *-2 , *0 ; move pointer over for clear jmz.f 3 , *wPtr ; compare and mov.x wPtr , wPtr ; swap ; simple SD clear: div.ab #1 , #13 ; attack from Table Scan spl #224 , 13 mov *-2 , >-7 ; mov *-3 , >ptr ;generated by boot djn.f -2 , }-3 end wGo