;redcode-94 ;name Shapeshifter ;author Anton Marsden ;assert CORESIZE==8000 ;kill Shapeshifter ;Not sure where this paper is from pStep equ (7*3754) pStep2 equ (1303+7*1021) pGo mov pStep mov }pPap ,>pPap mov {pPap ,<1 spl @0 ,>pStep2 mov.i #6000-1-2667 ,}2667 mov.i >0 ,}0 null dat 0 ,0 for 6 dat 0, 0 rof for 22 dat 0, 0 rof ;-------qscan constants---------------------- zero equ qbomb qtab3 equ qbomb qbomb dat >qoff, >qc2 dat zero-1, qa1 qtab1 dat zero-1, qa2 space equ (4-40*127) boot equ (30*127+50) dv equ (c0+58) dvins mov 101,{1 ; pretty good bomb qc2 equ ((1 + (qtab3-qptr)*qy) % CORESIZE) qb1 equ ((1 + (qtab2-1-qptr)*qy) % CORESIZE) qb2 equ ((1 + (qtab2-qptr)*qy) % CORESIZE) qb3 equ ((1 + (qtab2+1-qptr)*qy) % CORESIZE) qa1 equ ((1 + (qtab1-1-qptr)*qy) % CORESIZE) qa2 equ ((1 + (qtab1-qptr)*qy) % CORESIZE) qz equ 2108 qy equ 243 qgo sne qptr + qz*qc2, qptr + qz*qc2 + qb2 seq qptr, qptr + qz + (qb2-1) jmp q2, gate cp djn.f clr,>gate wipe dat <2667,wipe-gate+2 ; not sure if <2667 is used in the Hill dat 0,0 ; version sm mov step+1,>step+1 ; mov half of the incendiary qoff equ -87 qstep equ -7 qtime equ 14 q0 mul.b *2, qptr q2 sne {qtab1, @qptr q1 add.b qtab2, qptr mov qtab3, @qptr qptr mov qbomb, }qz sub #qstep, qptr djn -3, #qtime jmp pGo, <400 END qgo