• Tolypeutes

    From Roy van Rijn@21:1/5 to All on Mon Jun 19 03:29:38 2023
    Migrating to a new laptop and found the source code of Tolypeutes, I don't think I've posted this warrior yet, and it would be a shame to lose it.

    If I remember correctly it was mostly a testbed of my than new qscanner, which I'd written from scratch (but ended up looking very familiar). As a warrior I noticed Armadillo was always pretty high in my benchmarks, so I decided to take that as a base
    and create my own version. The stone is almost identical, different constants of course and an extra indirection in the DJN, also the imp-launcher has some slight changes in the loop part. Submitted to koth.org on my cake-day.

    Don't remember all the details of the qscan, but I think I've posted about it on r.g.c. when I created it.

    Roy

    -----

    ;redcode-94nop quiet
    ;name Tolypeutes
    ;author Roy van Rijn
    ;strategy submitted on 22/02/2022 🎂
    ;strategy stone/imp
    ;strategy uses new qscan with 34 scan locations in 27 lines
    ;strategy all scan locations spaced >100 apart
    ;strategy based on Armadillo
    ;assert 1

    base z for 0
    rof

    qb1 equ 7165
    qb2 equ 1749
    qb3 equ 2719
    qa1 equ 4489
    qa2 equ 5294
    qc1 equ 3618
    qgap equ 5609
    qz equ 5714

    ; qscan positions (sorted):
    ; 105, 261, 366, 545, 1147, 1252, 1681, 1786, 1916, 2041, 2146, 2419, 2534, 2652, 2979, 3538, 3967, 4072, 4432, 4705, 4810, 4925, 5239, 5370, 5714, 5975, 6154, 6358, 6861, 7096, 7395, 7525, 7630, 7755
    ; all gaps are between 105 and 602

    qgo
    sne.i qptr + 1252 , qptr+6861
    seq.i <tab , qptr+1147
    jmp dec , }dec ;tab*qz
    sne.i qptr+2146 , qptr+7755
    seq.i <(tab2-1) , qptr+2041
    djn.a dec , {dec ;(tab2-1)*qz
    sne.i qptr+1916 , qptr+7525
    seq.i >(tab2) , qptr+7630
    jmp dec , {dec ;tab2*qz
    sne.i qptr+4810 , qptr+2419
    seq.i <(qbomb-1) , qptr+4705
    jmp dec , {qptr ; (qbomb-1)*qz
    sne.i qptr+366 , qptr+5975
    seq.i <(qbomb+1) , qptr+261
    jmp dec , }qptr ; (qbomb+1)*qz
    sne.i qptr+1786 , qptr+7395
    seq.i <(qbomb) , qptr+4072
    tab jmp *-6 , qc1 ; also used as qstep
    sne.i qptr+6358 , qptr+3967
    seq.i >qptr , qptr+105
    jmp dec,<qbomb
    seq.i qptr+5370 , qptr+2979
    jmp dec , }qptr
    seq.i qptr+545 , qptr+6154
    djn.b dec,{qptr
    seq.i qptr+4925 , qptr+2534
    jmp dec ,{dec

    sOff equ (7116+base)
    iOff equ (6886+base)

    wGo mov.i imp , iOff + iAway - 3
    spl iBoot , }qb1
    qbomb spl 1 , }qb2
    spl 1 , }qb3
    mov.i <sPtr , {sPtr
    mov.i <sPtr , {sPtr
    sPtr jmp sOff + 1 , sBomb + 1

    for 6
    dat 0 , 0
    rof

    dat }qoff , qa1
    tab2 dat }qoff , qa2

    for 4
    dat 0 , 0
    rof

    iBoot mov.i imp - 1 , {iPtr
    mov.i {iBoot , {iPtr
    mov.i {iBoot , {iPtr
    mov.i {iBoot , {iPtr
    iPtr jmp iOff - 1

    for 4
    dat 0 , 0
    rof

    sStep equ 2090
    sHop equ 46

    sGate equ sInc-6

    sInc spl #sStep , <-sStep
    mov.i {sStep , <(sLoop-sStep-sHop)
    mov.i sBomb , @-1
    add.f sInc , -2
    sLoop djn.f @-1 , *-3
    mov.i sBomb , >sGate
    djn.f -1 , >sGate
    sBomb dat <1 , sHop + 1

    for 4
    dat 0 , 0
    rof

    iGap equ 7377
    iAway equ 2216

    spl #imp + iGap , {-2667-1
    sub.x -1 , 2
    mov.i iAway , }-2
    djn.f imp + iGap - 5336 , <2768
    imp mov.i #1 , 2667

    for 20
    dat 0 , 0
    rof

    qoff equ -87
    qstep equ -7
    qtime equ 19
    zero equ qgo-1

    dec mul.b *qptr , qptr
    sne.i zero , @qptr
    add.ab #qgap , qptr
    mov.i tab2 , @1
    qptr mov.i >qbomb , }qz
    sub.ab tab , qptr
    djn -3 , #qtime
    jmp wGo

    end qgo

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From John Metcalf@21:1/5 to Roy van Rijn on Sun Jun 25 08:13:01 2023
    On Monday, June 19, 2023 at 11:29:40 AM UTC+1, Roy van Rijn wrote:
    Migrating to a new laptop and found the source code of Tolypeutes, I don't think I've posted this warrior yet, and it would be a shame to lose it.

    The current king of the hill, thanks :-) I'm looking forward to seeing how it scores on Koenigstuhl - it's higher against my benchmark than Armadillo and the Elven Kings.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Christoph Birk@21:1/5 to John Metcalf on Tue Jun 27 16:22:17 2023
    On Sunday, June 25, 2023 at 8:13:03 AM UTC-7, John Metcalf wrote:
    On Monday, June 19, 2023 at 11:29:40 AM UTC+1, Roy van Rijn wrote:
    Migrating to a new laptop and found the source code of Tolypeutes, I don't think I've posted this warrior yet, and it would be a shame to lose it.
    The current king of the hill, thanks :-) I'm looking forward to seeing how it scores on Koenigstuhl - it's higher against my benchmark than Armadillo and the Elven Kings.

    Congratulations to Roy; Tolypeutes is the new KotH of the 94nop-Koenigstuhl:

    https://users.obs.carnegiescience.edu/birk/COREWAR/koenigstuhl.html#94

    Christoph

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)