[94nop] Resinoid
From
John Metcalf@21:1/5 to
All on Fri Dec 16 21:55:17 2022
Here's the code for the 94nop version of Resinoid. It combines a pair of mov/dat bombers inspired by Gymnosperm Trickery with a paper/imp.
;redcode-94nop
;name Resinoid
;author John Metcalf
;strategy dual resin with silk-launched imps
;assert CORESIZE==8000
org qscan
bpos equ resin+1300
warr spl 2, <729
spl 1, <1192
spl 1, >2419
mov {resin, {cboot1
mov {resin+6, {cboot2
mov {papera, {pboot
cboot1 spl bpos+4000,}3386
cboot2 spl bpos, {4399
pboot djn.f bpos-3800,<5249
; silk-launched imps
pstep equ 1064
istep equ 2667
papera spl @0+6, pstep
mov }papera, >papera
paperb spl istep+1, 0
mov >paperb, }paperb
spl >0, {istep*2
imp mov.i #1, istep
; clear inspired by GT
resin spl #0+6, <resin-100
spl #2000, <resin-100
clear mov 1, <1
mov <0, <3321
djn.f clear, <resin-100
for 50
dat 0, 0
rof
qfac equ 3067
qdec equ -3596
qa equ (qfac*(qtab0-1-qptr)+1)
qb equ (qfac*(qtab0-qptr)+1)
qc equ (qfac*(qtab1-1-qptr)+1)
qd equ (qfac*(qtab1-qptr)+1)
qe equ (qfac*(qtab1+1-qptr)+1)
qf equ (qfac*(qtab2-qptr)+1)
qtime equ 18
qstep equ -7
qgap equ 87
qdecode mul.b *q1, qptr
q0 sne <qtab0, @qptr
q1 add.b qtab1, qptr
q2 mov qtab2, @qptr
qptr mov qtab2, *qdec
add #qstep, qptr
djn q2, #qtime
jmp warr, qc
qtab1 dat 4000, qd
dat 4000, qe
qscan sne qptr+qdec*qe, qptr+qdec*qe+qe
seq <qtab1+1, qptr+qdec*(qe-1)+qe-1
jmp qdecode, }q1
sne qptr+qdec*qb, qptr+qdec*qb+qd
seq <qtab0, qptr+qdec*(qb-1)+qd
jmp qdecode, {qdecode
sne qptr+qdec*qa, qptr+qdec*qa+qd
seq <qtab0-1, qptr+qdec*(qa-1)+qd
djn.a qdecode, {qdecode
sne qptr+qdec*qf, qptr+qdec*qf+qd
seq <qtab2, qptr+qdec*(qf-1)+qd
jmp qdecode, }qdecode
sne qptr+qdec*qc, qptr+qdec*qc+qc
seq <qtab1-1, qptr+qdec*(qc-1)+qc-1
jmp qdecode, {q1
sne qptr+qdec*qd, qptr+qdec*qd+qd
seq <qtab1, qptr+qdec*(qd-1)+qd-1
jmp qdecode, qa
qtab0 jmp warr, qb
qtab2 dat qgap, qf
end
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)