;redcode-94 ;name Invisigoth ;author Anders Rosendal ;assert CORESIZE==8000 PSTATE EQU 250 ; pspace location containing current state STATES EQU 9 ; maximum number of states (for brainwash protection) ;NOTE: state values go from 0 to STATES-1 w0 EQU cleanboot ; THE CORE CLEAR (Clean) anti-paper w1 EQU boot9 ; THE SCANNER (scan) anti-scissor w2 EQU bootptr4 ; THE ANTI-STONE (dd-clear) anti-stone w3 EQU catch ; THE STONE (catch) anti-scissor ;bdist equ (3312) ; multi-boot distance bdist equ (-150) ; multi-boot distance ;---------The Scanner------------------------------- step9 EQU 1388 ;leep9 EQU -80 ;step9 EQU 8*257 boot9 MOV.A #(ptr9-1)-boot,boot ; Set component boot pointer JMP.B mboot+1, #1 ; Jump to multi-boot routine add.F bomb9,ptr9 ptr9 seq -2+step9*2,-2+4*3+step9*2 slt #boot+bdist+ending+145,ptr9 jmp ptr9-1 loop9 mov.I bomb9, }ptr9 ; and use the decrement in the b-field mov.I bomb9, -stepc ;>-step used as gate cc mov.i @bombp , }cnt djn.f cc , 0,4000 dat 0,0 start spl #0,>ptr4 mov.i bomb,>ptr4 djn.f -1,>ptr4 bomb dat >2667,bomb-ptr4+last+1 start2 spl #0,>ptr4 mov.i bomb,>ptr4 djn.f -1,>ptr4 last bb4 spl start2+bdist-(boff-17) bootptr4 MOV.I bb4, boff+2 ;----------ANTI-STONE: Double d-clear ------------------ mboot z for 8 MOV.I }boot, >boot rof boot MOV.I ptr4, bdist ; fast boot away tail first boff SUB.AB #6, boot SPL.B @boot, #1 ; split to main program MOV.I 0, boot ; obliterate boot pointer MOV.I 0, boot ; obliterate boot pointer ending dat 0,0 END think