1;redcode-94 test 2;name RotF Copy 3;author Robert Macrae 4;strategy q^4 -> silkish/imp after David Moore / Ben Ford 5;assert (CORESIZE==8000) 6 7; Endless agonising, and I came back to the first version. Oh well, at 8; least I learned to code a P^3, though it never quite beat this 8-/ 9 10 11iHOP equ (2667) 12iINC equ (-iHOP-1) 13iORG equ (spin+630) 14iOFF equ (iORG+iINC) 15 16qf equ qptr 17qs1 equ (-120) 18qs2 equ (-240) 19qd equ 4000 20qi equ 7 21qr equ 13 22qo equ (qi*qr-(qi/2)) 23 24 25wimp jmp #0, #0 26 27 for 10 28 dat 0,0 29 rof 30 31 dat # 15, # 10 ; A, D 32qtab dat # 7, # 4 ; B, E 33 dat # 13, # 11 ; C, F 34qbmb dat < 1, < qo 35qinc dat # qd, # qd 36 37qfas mul.f qtab, qptr ; decode 38qfnd sne *qptr, @qptr 39 add qinc, qptr 40 sne >3456, @qptr 41 mov.x qptr, qptr 42qloo mov qbmb, @qptr ; .5c negative bomber 43qptr mov < qs2, @ qs1 44 sub.x # qi, qptr 45 djn qloo, # qr 46 jmp boot, >1234 47 48qscan sne qf+ 1*qs2, qf+ 1*qs1 49 seq qf+ 1*qs2+qd, qf+ 1*qs1+qd ; 1, 1 50 jmp qfnd, {qf+ 1*qs2+qd+qi 51 sne qf+ 8*qs2, qf+ 4*qs1 52 seq qf+ 8*qs2+qd, qf+ 4*qs1+qd ; B+1, E 53 jmp qfas, }qtab 54 sne qf+ 7*qs2, qf+ 5*qs1 55 seq qf+ 7*qs2+qd, qf+ 5*qs1+qd ; B, E+1 56 jmp qfas, >qtab 57 sne qf+ 6*qs2, qf+ 3*qs1 58 seq qf+ 6*qs2+qd, qf+ 3*qs1+qd ; B-1, E-1 59 djn.f qfas, qtab 60 sne qf+13*qs2, qf+11*qs1 61 seq qf+13*qs2+qd, qf+11*qs1+qd ; C, F 62 jmp qfas, }qfas 63 sne qf+15*qs2, qf+10*qs1 64 seq qf+15*qs2+qd, qf+10*qs1+qd ; A, D 65 jmp qfas, {qfas 66 sne qf+14*qs2, qf+ 9*qs1 67 seq qf+14*qs2+qd, qf+ 9*qs1+qd ; A-1, D-1 68 djn.f qfas, {qfas 69 jmp boot 70 71 for 25 72 dat 0,0 73 rof 74 75d2 equ 1143 76TSTEP equ 1751 77bstep equ 1819 ;2283 ;1997 78bootto equ 1700-(80+15)*4-1 79 80boot spl wimp, }-500 81 82;------------------------- 83; Silk with Imps from ROTF 84;------------------------- 85 86impy equ 2667 87aaa equ 1880 88bbb equ 2050 89ccc equ 240 90 91 spl 1, >-600 92table2 spl 1, >-700 93 spl 1, >-800 94 mov <1, {1 95 spl ccc+paper+8, paper+8 96 97paper spl @0, >aaa 98 mov }-1, >-1 99 spl @0, >bbb 100 mov }-1, >-1 101 spl @0, <2668 102 mov }-1, >-1 103 mov.i #2*aaa, }-aaa 104 mov.i #bbb, impy 105 106 107 end qscan 108 109