Tom's Hardware > Forum > Games General > Games General Discussions > 94nop hill warrior: Ikarus II

94nop hill warrior: Ikarus II

Forum Games General : Games General Discussions - 94nop hill warrior: Ikarus II

Tom's Hardware: Over 1.4 million members in 6 different countries available to answer all your high-tech questions. Sign up now! Its free!
Word :    Username :           
 

Archived from groups: rec.games.corewar (More info?)

 

Hi all,

below is the code of Ikarus II, which is basically a highly
tuned version of Joonas Pihlaja's Blurstone. Some tiny snippets
and a Q^4.5 scanner are added for a further improvement.

Fizmo


;redcode-94nop
;name Ikarus II
;author Christian Schmidt
;strategy qscanner -> scanner/stone-clone
;assert 1

STEP equ 4729
gate equ (cptr-2)
sStrt equ 5516

pBoot equ 427

zero equ qbomb

qtab3 equ qbomb
qbomb dat >qoff , >qc2
dat 0 , 0

bPtr dat bdat+1 , <qb1
qtab2 dat bdat+pBoot , <qb2
pGo spl 1 , <qb3

for 5
mov.i {bPtr , {qtab2
rof
djn sptr+pBoot-1 , #1
mov.i 1 , -1

for 5
dat 0 , 0
rof

dat zero-1 , qa1
qtab1 dat zero-1 , qa2

cptr mov.ab @scan , #1064
mov step , >cptr
sp sub step , @scan
sptr mov sStrt , <sStrt+8
scan jmz.f -3 , <sptr
jmn.a @sp-1 , @scan
step spl #-STEP , -STEP-1
mov bdat , >gate
djn.f -1 , >gate
bdat dat >5335 , bdat+3-gate

for 36
dat 0 , 0
rof

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 <qtab3, qptr + qz*(qc2-1) + qb2
jmp q0, }q0
sne qptr + qz*qa2, qptr + qz*qa2 + qb2
seq <qtab1, qptr + qz*(qa2-1) + qb2
jmp q0, {q0
sne qptr + qz*qa1, qptr + qz*qa1 + qb2
seq <(qtab1-1), qptr + qz*(qa1-1) + qb2
djn.a q0, {q0
sne qptr + qz*qb3, qptr + qz*qb3 + qb3
seq <(qtab2+1), qptr + qz*(qb3-1) + (qb3-1)
jmp q0, }q1
sne qptr + qz*qb1, qptr + qz*qb1 + qb1
seq <(qtab2-1), qptr + qz*(qb1-1) + (qb1-1)
jmp q0, {q1
sne qptr + qz*qb2, qptr + qz*qb2 + qb2
seq <qtab2, qptr + qz*(qb2-1) + (qb2-1)
jmp q0
seq >qptr, qptr + qz + (qb2-1)
jmp q2, <qptr
seq qptr+(qz+1)*(qc2-1),qptr+(qz+1)*(qc2-1)+(qb2-1)
jmp q0, }q0
seq qptr+(qz+1)*(qa2-1),qptr+(qz+1)*(qa2-1)+(qb2-1)
jmp q0, {q0
seq qptr+(qz+1)*(qa1-1),qptr+(qz+1)*(qa1-1)+(qb2-1)
djn.a q0, {q0
jmz.f pGo, qptr+(qz+1)*(qb2-1)+(qb2-1)

qoff equ -86
qstep equ -7
qtime equ 19

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
djn.f pGo , 0

end qgo

Sponsored Links
Register or log in to remove.
Tom's Hardware > Forum > Games General > Games General Discussions > 94nop hill warrior: Ikarus II
Go to:

There are 1047 identified and unidentified users. To see the list of identified users, Click here.

Please mind

You are about to answer a thread that has been inactive for more than 6 months.
If you still wish to proceed, please ensure that your posting is original and does not duplicate or overlap any prior responses to this thread.

Add a reply Cancel
Sponsored links
  • Ask the community now
  • Publish
Ad
They won a badge
Join us in greeting them