View difference between Paste ID: sFfRXSyy and n5Z5wXDq
SHOW: | | - or go back to the newest paste.
1
'' -------------------------------------------
2
'' Defcon 20 Badge POV
3
''       
4
'' Written by YakPiMP 2012
5
''
6
'' yakhack.wordpress.com
7
'' -------------------------------------------
8
VAR
9
10
  byte count
11
  byte A[10]
12
  byte B[10]
13
  byte C[10]
14
  byte D[10]
15
  byte E[10]
16
  byte F[10]
17
  byte G[10]
18
  byte H[10]
19
  byte I[10]
20
  byte J[10]
21
  byte K[10]
22
  byte L[10]
23
  byte M[10]
24
  byte N[10]
25
  byte O[10]
26
  byte P[10]
27
  byte Q[10]
28
  byte R[10]
29
  byte S[10]
30
  byte T[10]
31
  byte U[10]
32
  byte V[10]
33
  byte W[10]
34
  byte X[10]
35
  byte Y[10]
36
  byte Z[10]
37
  byte SPACE[8]
38
  byte APOSTROPHE[8]
39
  byte SMILE[10]
40
  byte PERIOD[10]
41
  byte SIN[15]
42
  byte ZIGZAG[15]
43
  byte DICK[25]                    
44
45
CON        
46
  LED1 = 16
47
  LED2 = 17
48
  LED3 = 18
49
  LED4 = 19
50
  LED5 = 20
51
  LED6 = 21
52
  LED7 = 22
53
  LED8 = 23
54
55
  DELAY = 800
56
                                              
57
PUB main         
58
  InitLetters
59
  
60
repeat 600
61
  'DrawFUCKYOU
62
  'DrawDEFCONXX
63
  'DrawYAKHACK
64
  'DrawSIN
65
  'DrawZIGZAG
66
  'DrawDONTFUCKITUP
67
   DrawDICK                                           
68
PUB DrawLetter(letter)
69
  count := 1
70
  outa[LED1..LED8] := %00000000
71
    
72
  repeat byte[letter]
73
      outa[LED1..LED8] := byte[letter + count]
74
      waitcnt(clkfreq/DELAY + cnt)
75
      count += 1
76
77
PUB DrawLetterBackward(letter)
78
  count := 0
79
  outa[LED1..LED8] := %00000000
80
    
81
  repeat byte[letter]
82
      outa[LED1..LED8] := byte[letter + (byte[letter] - count)]
83
      waitcnt(clkfreq/DELAY + cnt)
84
      count += 1
85
86
PUB Wait(waitDelay)
87
  waitcnt(clkfreq/DELAY * waitDelay + cnt)
88
  
89
PUB InitLetters
90
  dira[LED1..LED8] := %11111111    
91
92
  A[0] := 6
93
  A[1] := %11111111
94
  A[2] := %11111111
95
  A[3] := %11101100
96
  A[4] := %11111111
97
  A[5] := %11111111
98
  A[6] := %0000000
99
100
  B[0] := 5
101
  B[1] := %11111111
102
  B[2] := %11011011
103
  B[3] := %11011011
104
  B[4] := %01100110
105
  B[5] := %00000000
106
  
107
  C[0] := 6
108
  C[1] := %11111111
109
  C[2] := %11111111
110
  C[3] := %11000011
111
  C[4] := %11000011
112
  C[5] := %11000011
113
  C[6] := %00000000
114
  
115
  D[0] := 6
116
  D[1] := %11111111
117
  D[2] := %11111111
118
  D[3] := %11000011
119
  D[4] := %01100110
120
  D[5] := %00111100
121
  D[6] := %00000000
122
123
  E[0] := 6
124
  E[1] := %11111111
125
  E[2] := %11111111
126
  E[3] := %11011011
127
  E[4] := %11011011
128
  E[5] := %11000011
129
  E[6] := %00000000
130
  
131
  F[0] := 6
132
  F[1] := %11111111
133
  F[2] := %11111111
134
  F[3] := %11011000
135
  F[4] := %11011000
136
  F[5] := %11000000
137
  F[6] := %00000000
138
139
  G[0] := 6
140
  G[1] := %11111111
141
  G[2] := %11111111
142
  G[3] := %11000011
143
  G[4] := %11011011
144
  G[5] := %11011011
145
  G[6] := %01011111
146
147
  H[0] := 7
148
  H[1] := %11111111
149
  H[2] := %11111111
150
  H[3] := %00011000
151
  H[4] := %00011000
152
  H[5] := %11111111
153
  H[6] := %11111111
154
  H[7] := %00000000
155
156
  I[0] := 7
157
  I[1] := %11000011
158
  I[2] := %11000011
159
  I[3] := %11111111
160
  I[4] := %11111111
161
  I[5] := %11000011
162
  I[6] := %11000011
163
  I[7] := %00000000
164
165
  J[0] := 7
166
  J[1] := %11000000
167
  J[2] := %11000000
168
  J[3] := %11111110
169
  J[4] := %11111111
170
  J[5] := %11000011
171
  J[6] := %11000111
172
  J[7] := %00000000
173
174
  K[0] := 6
175
  K[1] := %11111111
176
  K[2] := %11111111
177
  K[3] := %00111100
178
  K[4] := %01100110
179
  K[5] := %11000011
180
  K[6] := %00000000
181
182
  L[0] := 6
183
  L[1] := %11111111
184
  L[2] := %11111111
185
  L[3] := %00000011
186
  L[4] := %00000011
187
  L[5] := %00000011
188
  L[6] := %00000000
189
190
  M[0] := 8
191
  M[1] := %11111111
192
  M[2] := %11111111
193
  M[3] := %01100000
194
  M[4] := %00111000
195
  M[5] := %01100000
196
  M[6] := %11111111
197
  M[7] := %11111111
198
  M[8] := %00000000
199
200
  N[0] := 8
201
  N[1] := %11111111
202
  N[2] := %11111111
203
  N[3] := %01110000
204
  N[4] := %00011000
205
  N[5] := %00011100
206
  N[6] := %11111111
207
  N[7] := %11111111
208
  N[8] := %00000000
209
210
  O[0] := 7
211
  O[1] := %11111111
212
  O[2] := %11111111
213
  O[3] := %11000011
214
  O[4] := %11000011
215
  O[5] := %11111111
216
  O[6] := %11111111
217
  O[7] := %00000000
218
219
  P[0] := 6
220
  P[1] := %11111111
221
  P[2] := %11111111
222
  P[3] := %11001100
223
  P[4] := %11001100
224
  P[5] := %01111000
225
  P[6] := %00000000
226
227
  Q[0] := 8
228
  Q[1] := %00000110
229
  Q[2] := %11111111
230
  Q[3] := %11111111
231
  Q[4] := %11001011
232
  Q[5] := %11000011
233
  Q[6] := %11111111
234
  Q[7] := %11111111
235
  Q[8] := %00000000
236
237
  R[0] := 6
238
  R[1] := %11111111
239
  R[2] := %11111111
240
  R[3] := %11001100
241
  R[4] := %11001111
242
  R[5] := %01111001
243
  R[6] := %00000000
244
             
245
  S[0] := 5
246
  S[1] := %01100011
247
  S[2] := %11110011
248
  S[3] := %11010011
249
  S[4] := %11001110
250
  S[5] := %00000000
251
           
252
  T[0] := 7
253
  T[1] := %11000000
254
  T[2] := %11000000
255
  T[3] := %11111111
256
  T[4] := %11111111
257
  T[5] := %11000000
258
  T[6] := %11000000
259
  T[7] := %00000000
260
         
261
  U[0] := 7
262
  U[1] := %11111111
263
  U[2] := %11111111
264
  U[3] := %00000011
265
  U[4] := %00000011
266
  U[5] := %11111111
267
  U[6] := %11111111
268
  U[7] := %00000000
269
270
  V[0] := 7
271
  V[1] := %11111000
272
  V[2] := %11111110
273
  V[3] := %00000011
274
  V[4] := %00000011
275
  V[5] := %11111110
276
  V[6] := %11111000
277
  V[7] := %00000000
278
  
279
  W[0] := 8
280
  W[1] := %11111111
281
  W[2] := %11111111
282
  W[3] := %00000110
283
  W[4] := %00011100
284
  W[5] := %00000110
285
  W[6] := %11111111
286
  W[7] := %11111111
287
  W[8] := %00000000
288
289
  X[0] := 6
290
  X[1] := %11100111
291
  X[2] := %01111110
292
  X[3] := %00011000
293
  X[4] := %01111110
294
  X[5] := %11100111
295
  X[6] := %00000000
296
           
297
  Y[0] := 7
298
  Y[1] := %11100000
299
  Y[2] := %01111000
300
  Y[3] := %00011111
301
  Y[4] := %00011111
302
  Y[5] := %01111000
303
  Y[6] := %11100000
304
  Y[7] := %00000000
305
306
  Z[0] := 6
307
  Z[1] := %11000011
308
  Z[2] := %11001111
309
  Z[3] := %11011011
310
  Z[4] := %11110011
311
  Z[5] := %11000011
312
  Z[6] := %00000000 
313
  
314
  SPACE[0] := 5        
315
  SPACE[1] := %00000000
316
  SPACE[2] := %00000000
317
  SPACE[3] := %00000000
318
  SPACE[4] := %00000000
319
  SPACE[5] := %00000000
320
321
  APOSTROPHE[0] := 3
322
  APOSTROPHE[1] := %11100000
323
  APOSTROPHE[2] := %11100000
324
  APOSTROPHE[3] := %00000000
325
326
  SMILE[0] := 8        
327
  SMILE[1] := %01111110
328
  SMILE[2] := %10000001 
329
  SMILE[3] := %10110101
330
  SMILE[4] := %10000101
331
  SMILE[5] := %10110101
332
  SMILE[6] := %10000001
333
  SMILE[7] := %01111110
334
  SMILE[8] := %00000000
335
336
  Period[0] := 3        
337
  Period[1] := %00000111
338
  Period[2] := %00000111
339
  Period[3] := %00000000
340
341
  ZIGZAG[0] :=  12             
342
  ZIGZAG[1] :=  %11000000
343
  ZIGZAG[2] :=  %01100000
344
  ZIGZAG[3] :=  %00110000
345
  ZIGZAG[4] :=  %00011000
346
  ZIGZAG[5] :=  %00001100
347
  ZIGZAG[6] :=  %00000110
348
  ZIGZAG[7] :=  %00000011
349
  ZIGZAG[8] :=  %00000110
350
  ZIGZAG[9] :=  %00001100
351
  ZIGZAG[10] := %00011000
352
  ZIGZAG[11] := %00110000
353
  ZIGZAG[12] := %01100000
354
355
  SIN[0] :=  8             
356
  SIN[1] :=  %11100000
357
  SIN[2] :=  %11100000
358
  SIN[3] :=  %00111000
359
  SIN[4] :=  %00011100
360
  SIN[5] :=  %00000111
361
  SIN[6] :=  %00000111
362
  SIN[7] :=  %00011100
363
  SIN[8] :=  %00111000
364
365
  DICK[0]  := 23        
366
  DICK[1]  := %11100111        
367
  DICK[2]  := %11100111
368
  DICK[3]  := %10011001
369
  DICK[4]  := %10011001
370
  DICK[5]  := %11100111
371
  DICK[6]  := %11100111 
372
  DICK[7]  := %01100110
373
  DICK[8]  := %01100110
374
  DICK[9]  := %01100110
375
  DICK[10] := %01100110
376
  DICK[11] := %01100110
377
  DICK[12] := %01100110
378
  DICK[13] := %01100110
379
  DICK[14] := %01100110
380
  DICK[15] := %11111111
381
  DICK[16] := %11000011
382
  DICK[17] := %01100110
383
  DICK[18] := %00111100
384
  DICK[19] := %00000000
385
  DICK[20] := %00010000
386
  DICK[21] := %00001000
387
  DICK[22] := %00010000
388
  DICK[23] := %00000000                 
389
  
390
PUB DrawFUCKYOU
391
  DrawLetter(@F)
392
  DrawLetter(@U)
393
  DrawLetter(@C)
394
  DrawLetter(@K)    
395
  DrawLetter(@SPACE)
396
  DrawLetter(@Y)
397
  DrawLetter(@O)
398
  DrawLetter(@U)    
399
  DrawLetter(@SPACE)
400
  DrawLetter(@SPACE)
401
  Wait(40)          
402
  DrawLetterBackward(@U)
403
  DrawLetterBackward(@O)
404
  DrawLetterBackward(@Y)    
405
  DrawLetter(@SPACE)
406
  DrawLetterBackward(@K)
407
  DrawLetterBackward(@C)
408
  DrawLetterBackward(@U)
409
  DrawLetterBackward(@F)    
410
  DrawLetter(@SPACE)
411
  DrawLetter(@SPACE)
412
  Wait(40)
413
414
PUB DrawDEFCONXX
415
  DrawLetter(@D)
416
  DrawLetter(@E)
417
  DrawLetter(@F)
418
  DrawLetter(@C)
419
  DrawLetter(@O)
420
  DrawLetter(@N)      
421
  DrawLetter(@SPACE)
422
  DrawLetter(@X)
423
  DrawLetter(@X)
424
  DrawLetter(@SPACE)
425
  DrawLetter(@SPACE)    
426
  Wait(40)              
427
  DrawLetterBackward(@X)
428
  DrawLetterBackward(@X)
429
  DrawLetter(@SPACE)
430
  DrawLetterBackward(@N)
431
  DrawLetterBackward(@O)
432
  DrawLetterBackward(@C)
433
  DrawLetterBackward(@F)
434
  DrawLetterBackward(@E)
435
  DrawLetterBackward(@D)
436
  DrawLetter(@SPACE)
437
  DrawLetter(@SPACE)  
438
  Wait(40)
439
440
PUB DrawYAKHACK
441
  DrawLetter(@Y)
442
  DrawLetter(@A)
443
  DrawLetter(@K)
444
  DrawLetter(@H)
445
  DrawLetter(@A)
446
  DrawLetter(@C)
447
  DrawLetter(@K)  
448
  DrawLetter(@SPACE)
449
  DrawLetter(@SPACE)    
450
  Wait(40)       
451
  DrawLetter(@K)
452
  DrawLetter(@C)
453
  DrawLetter(@A)
454
  DrawLetter(@Y)
455
  DrawLetter(@K)
456
  DrawLetter(@A)
457
  DrawLetter(@Y)   
458
  DrawLetter(@SPACE)
459
  DrawLetter(@SPACE)    
460
  Wait(40)
461
462
PUB DrawZIGZAG
463
 repeat 10
464
  DrawLetter(@ZIGZAG)
465
466
PUB DrawSIN
467
 repeat 10
468
  DrawLetter(@SIN)   
469
470
PUB DrawDONTFUCKITUP
471
  repeat 10
472
    DrawLetter(@D)
473
    DrawLetter(@O)
474
    DrawLetter(@N)
475
    DrawLetter(@APOSTROPHE)
476
    DrawLetter(@T)
477
    Wait(40)
478
    DrawLetter(@T)
479
    DrawLetter(@APOSTROPHE)
480
    DrawLetter(@N)
481
    DrawLetter(@O)
482
    DrawLetter(@D)
483
    Wait(40)
484
        
485
  repeat 10     
486
    DrawLetter(@F)
487
    DrawLetter(@U)
488
    DrawLetter(@C)
489
    DrawLetter(@K)
490
    DrawLetter(@SPACE)    
491
    Wait(40)
492
    DrawLetter(@K)
493
    DrawLetter(@C)
494
    DrawLetter(@U)
495
    DrawLetter(@F)    
496
    DrawLetter(@SPACE)
497
    Wait(40)
498
    
499
  repeat 10      
500
    DrawLetter(@I)
501
    DrawLetter(@T)    
502
    DrawLetter(@SPACE)
503
    DrawLetter(@SPACE)
504
    DrawLetter(@SPACE)
505
    Wait(40)
506
    DrawLetter(@T)
507
    DrawLetter(@I)    
508
    DrawLetter(@SPACE)
509
    DrawLetter(@SPACE)
510
    DrawLetter(@SPACE)
511
    Wait(40)
512
    
513
  repeat 10      
514
    DrawLetter(@U)
515
    DrawLetter(@P)    
516
    DrawLetter(@SPACE)
517
    DrawLetter(@SPACE)
518
    DrawLetter(@SPACE)
519
    Wait(40) 
520
    DrawLetter(@P)
521
    DrawLetter(@U)    
522
    DrawLetter(@SPACE)
523
    DrawLetter(@SPACE)
524
    DrawLetter(@SPACE)
525
    Wait(40) 
526
527
PUB DrawDICK
528
  DrawLetter(@DICK)
529
  DrawLetter(@SPACE)
530
  DrawLetter(@SPACE)
531
  Wait(40)