On 2 abr, 12:59, "Skybuck Flying" <s...@[EMAIL PROTECTED]
> wrote:
> ;redcode
> ;name MiniShootingStarV3
> ;author Skybuck Flying
> ;strategy Serial-Threaded-InSync-Super-Fast-Copy-Across-TheCore
> ;version 3
> ;date 2 april 2008
> ;history version 1 created on 9 december 2007
> ;history version 1 contains lots of comments idead etc
> ;history version 2 created on 14 december 2007
> ;history version 2 runs at same speed as version 1
> ;history version 2 shorter boot program and threads run in sync
> ;history version 2 one instruction less but still need an extra
> ;history version 2 data member so it is of same size
> ;history version 2 kinda strange and interesting though,
> ;history version 2 longer boot program does not prevent
> ;history version 2 version 1 from immediatly starting
> ;history version 3 created on 2 april 2008
> ;history version 3 the nop replaced with a dat to be a little bit more
> deadly
> ;history version 3 slightly longer bootup time because of extra jump in
bo=
ot
> program
> ;history version 3 faster execution of main because of optimized jump
> instruction
> ;history version 3 jump destructor added to prevent followers
> Target equ 131
>
> spl $1
> mov -1, 0
> jmp 2, {-3 ; {-3 =3D extra decoy near boot program
> SourceDest dat $0, $Target
> mov }SourceDest, >SourceDest
> jmp $Target-1, {-131 =A0; {-131 =3D jump destructor
Let me give you a few simple hints:
You can generate those 3 processes a little faster in this way:
spl 2
spl 1 ;this takes just 3 cycles instead of 4
So your code would be something like this:
Target equ 131
start: spl 2,<-1 ;you can use b-fields in spl to create
decoy
spl 1,<start-2
goto: djn.f go,<start-3 ;more decoy
for 50 ;blank space for safety: 50 dats
dat 0,0
rof
ptr: dat 0,Target
go: mov }ptr,>ptr
jmp Target-1,{-Target
end start
You can increase the number of proceses to bomb a small area after
your code. It take more time to execute but gives your warrior more
agresiveness. The "jumper" code does not require changes.
Target equ 131
start: spl 2,<-1 ;6 proceses, for example.
spl 1,<start-2
spl 1,<start-3
goto: djn.f go,<start-4 ;more decoy
for 50 ;blank space
dat 0,0
rof
ptr: dat 0,Target
go: mov }ptr,>ptr
jmp Target-1,{-Target
end start
Now it copies 6 instructions, the 3 of the warrior and 3 empty core
dats, wich can hit enemy code.
It takes 12 cycles to execute.
It would be very useful if your warrior makes more copies of itself,
all of them bombing the core, to use the "paper" strategy.
There are many ways to do so, it is very interesting to try it
yourself.


|