Path: arbroath!rossd Newsgroups: rec.games.corewar Message-ID: <190@arbroath.win-uk.net> References: <1995Jul14.162510.2805@rhodes> <1995Jul18.103712@acad.drake.edu><1995Jul20.174932.2808@rhodes> Reply-To: rossd@arbroath.win-uk.net (Derek Ross) From: rossd@arbroath.win-uk.net (Derek Ross) Date: Fri, 21 Jul 1995 19:42:21 GMT Subject: Re: Swing source Lines: 120 In article <1995Jul20.174932.2808@rhodes>, Randy Graham (graham@hal.mathcs.rhodes.edu) writes: RG> pk6811s@acad.drake.edu wrote: <> PK>> Some people may have picked up on the fact that this form of multi-pass sweep can be implemented in decrement mode under '88 rules. At least some of the recent comments on the Standard and ICWS Hills indicates people are trying multipass clears there. RG> Great! Well, as you saw in my posting of Illusion, I have found a workable multi-pass spl/spl/dat... clear that works. However, I keep thinking there must be a more efficient way (I have to have two lines for sweep pointers and three for the actual sweep lines). Have you found a better way, and if so, could you give me a hint? Here are two methods I used to implement multipass core clears. As Paul suggests I based the '88 one on his code fragment. I haven't received the post of Illusion yet so I don't know if it's more efficent or not compared to the code you designed, Randy. The first method is '94 code but not so effective as Paul's method. ;redcode-b ;kill Mr Hospitable ;name Mr Hospitable ;author Derek Ross ;strategy .75c scan, bomb, coreclear ... ;strategy Written in '94 code ;strategy submitted: ;assert 1 offset equ -100 gap equ 11 for 29 dat 0, 0 rof split dat target djn part2, <-gap*4-shift clear3 dat clear1-target, finish-target clear2 spl #clear3-target, finish-target clear1 spl #clear2-target, finish-target finish dat 0, 0 end start Coreclear code is from the line before shift up to the finish line. Each of the lines clear1 to 3 contain the address of the next clear to use in the A-Field. The djn in this section is only there to conserve processes, gate and mess up core a bit. Even if it is removed or dat bombed the core clear still works. Just not as well as Paul's :< The second method is the one I use in Miss Treatment and Miss Carry. Originally I used the first method in Miss Treatment but the djn method improves things *considerably*. ;redcode verbose ;kill Miss Treatment ;name Miss Treatment ;author Derek Ross ;strategy B-scan once through core. ;strategy DAT bomb, SPL carpet, then SPL/DAT coreclear ... ;strategy Written in '88 code ;strategy Submitted: ;assert 1 gap equ 36 gap1st equ 100 multipl equ ((CORESIZE-gap1st)-((CORESIZE-gap1st)%gap)) gate dat #0, #-gap-gap1st kill dat #0, #-gap spl 0, -gap stun spl 0, -gap clear mov @bomb,