From news-rocq!jussieu.fr!uvsq.fr!nntp-out.monmouth.com!newspeer.monmouth.com!news.new-york.net!news.ttsg.com!liporati@brhs.com.br Wed Sep 29 19:49:51 1999 Article: 10701 of rec.games.corewar Path: news-rocq!jussieu.fr!uvsq.fr!nntp-out.monmouth.com!newspeer.monmouth.com!news.new-york.net!news.ttsg.com!liporati@brhs.com.br From: "Leonardo H. Liporati" Newsgroups: rec.games.corewar Subject: No More Innocuous Date: 25 Sep 1999 23:13:39 -0400 Organization: TTSG Lines: 137 Distribution: world Message-ID: <005701bf078a$4d98bd00$ccbbfbc8@ispent> Reply-To: liporati@brhs.com.br NNTP-Posting-Host: odin.ttsg.com X-Trace: odin.ttsg.com 938315619 15657 204.141.84.29 (26 Sep 1999 03:13:39 GMT) X-Complaints-To: abuse@news.ttsg.com NNTP-Posting-Date: 26 Sep 1999 03:13:39 GMT Originator: corewar-l@koth.org X-Mailer: Microsoft Outlook Express 4.72.3110.5 Xref: news-rocq rec.games.corewar:10701 > How about everyone just publish the source of their on-hill warriors? > > Paul Kline > pk6811s@acad.drake.edu Ok! Below is the source for "No More Innocuous". As the strategy lines says, it is just the paper from Innocuous by John Metcalf with a new quickscan. After a first look at the Q^4 scans of RotF and Jade, I have to say that my supposed Q^4 doesn't qualify as a Q^4. In fact it is something like a Q^3.5. It appears that Ben Ford's Q^4 also can't be called a Q^4 because it needs one extra SNE instruction in the decode phase. Please, fix me and forgive me if I am wrong. I think only David Moore's code qualifies as Q^4. My code mixes SEQ with SNE/SEQ in the scanning phase. It is shorter and faster that Q^3 but it is bigger and slower than Moore's code. It also suffers from what I call "approximate decoding". One of the four addresses in a SNE/SEQ sequence is not exactly decoded but a near address is calculated. In practice, I think this isn't a penalty since the quickbomber is blind. I mean, it supposes that it found the center of a big enemy and bombs for a distance of about 50 positions to the left and to the right of the target. I haven't a probability theory background, so forgive me again if I am telling something nonsense, but I feel that maybe the only advantage of mine code and Ben's code over David's code is that the scanned addresses are more evenly distributed across core. Without further comments the code follows... ;redcode-94 ;name No More Innocuous ;author Leonardo H. Liporati ;strategy Independently developed Q^4 -> Paper from Innocuous by John Metcalf ;strategy HINT: ;strategy 9 address pairs decoded in one extra cycle, ;strategy against 6 pairs of Q^3. ;assert CORESIZE==8000 org qGo qf equ qKil qs equ 200 qd equ 4000 qi equ 7 qr equ 8 for 24 dat 0,0 rof qBmb:dat {qi*qr-10, {1 ; -+)>] 0/1 cycles [(<+- qGo seq qd+qf+qs, qf+qs ; 1 jmp qSki, {qd+qf+qs+qi+2 sne qd+qf+5*qs, qf+5*qs ; B+1 seq qf+4*qs, {qTab ; B jmp qFas, }qTab sne qd+qf+8*qs, qf+8*qs ; A seq qf+7*qs, {qTab-1 ; A-1 jmp qFas, {qFas sne qd+qf+10*qs, qf+10*qs ; C seq qf+9*qs, {qTab+1 ; C-1 jmp qFas, }qFas seq qd+qf+2*qs, qf+2*qs ; B-2 jmp qFas, {qTab seq qd+qf+6*qs, qf+6*qs ; A-2 djn.a qFas, {qFas seq qd+qf+3*qs, qf+3*qs ; B-1 jmp qFas, {qd+qf+3*qs+qi+2 ; -+>)] 2 cycles [(<+- sne qd+qf+14*qs, qf+14*qs ; E+1 seq qf+13*qs, qTab sne qd+qf+17*qs, qf+17*qs ; D seq qf+16*qs, pap1 mov }pap1, >pap1 pap2:spl @0, {pstep2 mov }pap2, >pap2 mov {pap2, {pap3 pap3:jmp pstep3+1,>pstep3-3 dat >1, }1 for 24 dat 0,0 rof end