-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcakeb.red
More file actions
177 lines (142 loc) · 3.74 KB
/
cakeb.red
File metadata and controls
177 lines (142 loc) · 3.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
;redcode
;Name CAKE B
;Author S. Halvorsen
;Address snh@flipper.pvv.unit.no
;Strategy Cripple And Kill (the) Enemy.
;Strategy
;Strategy This program drops a lot of JMP 0 bombs, and when
;Strategy the enemy execute it, he gets stuck.
;Strategy After he is stuck, I have all the time i need to
;Strategy kill him off.
;Strategy
;Strategy Version B is better against scanners.
;Strategy (Only a few B-fields are non-zero.)
;assert 1
;****************************************
;
; Dersom motstanderen har rukket aa splitte opp
; en god del, kan han ta knekken paa meg lenge
; foer jeg rekker aa ta knekken paa ham.
;
; Versjon B setter ut killers FOER den bomber minnet
; det betyr at scanners har mindre sjangse til aa
; finne programmet ( Killers har kun #0 i B-felt !)
; Etter aa ha satt ut JMP 0's saa hopper jeg blindt
; til de killerne jeg har satt ut.
;
;****************************************
; Versjon C skal gaa over fra aa bombe med JMP 0 til JMP trap
; Dette vil antagelig gi bedre uttelling mot splitters.
step equ 35 ; (Treffer hver 5. lokasjon.)
init equ (step+2+0) ; Dette gir spredt og tett bombing.
repeat equ 910 ; Gaar rundt helt til hver 5. er bombet.
bs equ 1600 ; bigstep = Avstand mellom killer dwarfs.
;stepnrs equ 5 ; Antall killer dwarfs.
kill1 equ (dropbomb - s1 + ( bs * 1 ) - 32) ; Places selected so
kill2 equ (dropbomb - s2 + ( bs * 2 ) - 22) ; that kill1 is the
kill3 equ (dropbomb - s3 + ( bs * 3 ) - 12) ; last one to die.
kill4 equ (dropbomb - s4 + ( bs * 4 ) - 2) ;(Just before kill5.)
cleanit dat #0 ; Deletes code that copies the
CleanCnt dat #endinit ; kill-routine out to five
cleanup mov cleanit, <CleanCnt ; different places in memory
jmp cleanup
start mov kill, dropbomb + kill1
mov killjmp, dropbomb + kill1 + 1
mov kill, dropbomb + kill2
mov killjmp, dropbomb + kill2 + 1
mov kill, dropbomb + kill3
mov killjmp, dropbomb + kill3 + 1
mov kill, dropbomb + kill4
mov killjmp, dropbomb + kill4 + 1
spl cleanup
jmp stophim
endinit dat #0
dat #0 ; bombed with JMP 0
kbomb dat #0
kcount dat #0
kill mov kbomb, <kill ; Invisible to scanners until it
killjmp jmp kill ; starts dropping bombs
; (Impossible to trace back since)
; (kcount contains the offset to)
; (where kbomb is to be placed. )
endkill dat #0 ; bombed with JMP 0
dat #0
dat #0
dat #0
dat #0
dat #0 ; bombed with JMP 0
dat #0
dat #0
dat #0
dat #0
dat #0 ; bombed with JMP 0
dat #0
dat #0
dat #0
dat #0
dat #0 ; bombed with JMP 0
dat #0
dat #0
dat #0
dat #0
dat #0 ; bombed with JMP 0
dat #0
dat #0
dat #0
dat #0
dat #0 ; bombed with JMP 0
dat #0
dat #0
dat #0
dat #0
dat #0 ; bombed with JMP 0
dat #0
dat #0
dat #0
dat #0
dat #0 ; bombed with JMP 0
dat #0
dat #0
dat #0
dat #0
jbomb jmp jbomb, #5 ; This spot will be bombed
; (Give false clue to fool scanners)
dat #0
stophim add #step, dropbomb
dropbomb mov jbomb, init ; Bomber minnet med JMP 0.
djn stophim, #repeat ; Etter at alle er bombet, vil
; programmet gaa over i KILL-fasen.
; dropbomb + 2 is bombed, but not
; until after this code has been run.
spl stophim ; Keep bombing with JMP 0's.
s1 spl kill1 + dropbomb ; Killer routine 1.
s2 spl kill2 + dropbomb ; Killer routine 2.
s3 spl kill3 + dropbomb ; Killer routine 3.
s4 spl kill4 + dropbomb ; Killer routine 4
jmp kill ; Killer routine 5 (last to die.)
dat #0
dat #0
dat #0 ; 5 bombes med JMP 0
dat #0
dat #0
dat #0
dat #0
dat #0 ; 10 bombes med JMP 0
dat #0
dat #0
dat #0
dat #0
dat #0 ; 15 bombes med JMP 0
dat #0
dat #0
dat #0
dat #0
dat #0 ; 20 bombes med JMP 0
dat #0
end start
; jmp 1
; jmp 1
; jmp 1
; jmp 1
; jmp 1
; jmp stophim