Last active
October 7, 2015 22:08
-
-
Save h3xstream/3232399 to your computer and use it in GitHub Desktop.
Playing with Parallax controller - Defcon 2012 badge (Modification of http://pastebin.com/raw.php?i=XVQ4yKkG)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
VAR | |
byte count | |
byte A[10] | |
byte B[10] | |
byte C[10] | |
byte D[10] | |
byte E[10] | |
byte F[10] | |
byte G[10] | |
byte H[10] | |
byte I[10] | |
byte J[10] | |
byte K[10] | |
byte L[10] | |
byte M[10] | |
byte N[10] | |
byte O[10] | |
byte P[10] | |
byte Q[10] | |
byte R[10] | |
byte S[10] | |
byte T[10] | |
byte U[10] | |
byte V[10] | |
byte W[10] | |
byte X[10] | |
byte Y[10] | |
byte Z[10] | |
byte SPACE[8] | |
byte APOSTROPHE[8] | |
byte SMILE[10] | |
byte PERIOD[10] | |
CON | |
LED1 = 16 | |
LED2 = 17 | |
LED3 = 18 | |
LED4 = 19 | |
LED5 = 20 | |
LED6 = 21 | |
LED7 = 22 | |
LED8 = 23 | |
DELAY = 800 | |
PUB main | |
InitLetters | |
repeat 600 | |
DrawHEX | |
'DrawDEFCONXX | |
PUB DrawLetter(letter) | |
count := 1 | |
outa[LED1..LED8] := %00000000 | |
repeat byte[letter] | |
outa[LED1..LED8] := byte[letter + count] | |
waitcnt(clkfreq/DELAY + cnt) | |
count += 1 | |
PUB DrawLetterBackward(letter) | |
count := 0 | |
outa[LED1..LED8] := %00000000 | |
repeat byte[letter] | |
outa[LED1..LED8] := byte[letter + (byte[letter] - count)] | |
waitcnt(clkfreq/DELAY + cnt) | |
count += 1 | |
PUB Wait(waitDelay) | |
waitcnt(clkfreq/DELAY * waitDelay + cnt) | |
PUB InitLetters | |
dira[LED1..LED8] := %11111111 | |
A[0] := 6 | |
A[1] := %11111111 | |
A[2] := %11111111 | |
A[3] := %11101100 | |
A[4] := %11111111 | |
A[5] := %11111111 | |
A[6] := %0000000 | |
B[0] := 5 | |
B[1] := %11111111 | |
B[2] := %11011011 | |
B[3] := %11011011 | |
B[4] := %01100110 | |
B[5] := %00000000 | |
C[0] := 6 | |
C[1] := %11111111 | |
C[2] := %11111111 | |
C[3] := %11000011 | |
C[4] := %11000011 | |
C[5] := %11000011 | |
C[6] := %00000000 | |
D[0] := 6 | |
D[1] := %11111111 | |
D[2] := %11111111 | |
D[3] := %11000011 | |
D[4] := %01100110 | |
D[5] := %00111100 | |
D[6] := %00000000 | |
E[0] := 6 | |
E[1] := %11111111 | |
E[2] := %11111111 | |
E[3] := %11011011 | |
E[4] := %11011011 | |
E[5] := %11000011 | |
E[6] := %00000000 | |
F[0] := 6 | |
F[1] := %11111111 | |
F[2] := %11111111 | |
F[3] := %11011000 | |
F[4] := %11011000 | |
F[5] := %11000000 | |
F[6] := %00000000 | |
G[0] := 7 | |
G[1] := %11111111 | |
G[2] := %11111111 | |
G[3] := %11000011 | |
G[4] := %11011011 | |
G[5] := %11011011 | |
G[6] := %11011111 | |
G[7] := %00000000 | |
H[0] := 7 | |
H[1] := %11111111 | |
H[2] := %11111111 | |
H[3] := %00011000 | |
H[4] := %00011000 | |
H[5] := %11111111 | |
H[6] := %11111111 | |
H[7] := %00000000 | |
I[0] := 7 | |
I[1] := %11000011 | |
I[2] := %11000011 | |
I[3] := %11111111 | |
I[4] := %11111111 | |
I[5] := %11000011 | |
I[6] := %11000011 | |
I[7] := %00000000 | |
J[0] := 7 | |
J[1] := %11000000 | |
J[2] := %11000000 | |
J[3] := %11111110 | |
J[4] := %11111111 | |
J[5] := %11000011 | |
J[6] := %11000111 | |
J[7] := %00000000 | |
K[0] := 6 | |
K[1] := %11111111 | |
K[2] := %11111111 | |
K[3] := %00111100 | |
K[4] := %01100110 | |
K[5] := %11000011 | |
K[6] := %00000000 | |
L[0] := 6 | |
L[1] := %11111111 | |
L[2] := %11111111 | |
L[3] := %00000011 | |
L[4] := %00000011 | |
L[5] := %00000011 | |
L[6] := %00000000 | |
M[0] := 8 | |
M[1] := %11111111 | |
M[2] := %11111111 | |
M[3] := %01100000 | |
M[4] := %00111000 | |
M[5] := %01100000 | |
M[6] := %11111111 | |
M[7] := %11111111 | |
M[8] := %00000000 | |
N[0] := 8 | |
N[1] := %11111111 | |
N[2] := %11111111 | |
N[3] := %01110000 | |
N[4] := %00011000 | |
N[5] := %00011100 | |
N[6] := %11111111 | |
N[7] := %11111111 | |
N[8] := %00000000 | |
O[0] := 7 | |
O[1] := %11111111 | |
O[2] := %11111111 | |
O[3] := %11000011 | |
O[4] := %11000011 | |
O[5] := %11111111 | |
O[6] := %11111111 | |
O[7] := %00000000 | |
P[0] := 6 | |
P[1] := %11111111 | |
P[2] := %11111111 | |
P[3] := %11001100 | |
P[4] := %11001100 | |
P[5] := %01111000 | |
P[6] := %00000000 | |
Q[0] := 8 | |
Q[1] := %00000110 | |
Q[2] := %11111111 | |
Q[3] := %11111111 | |
Q[4] := %11001011 | |
Q[5] := %11000011 | |
Q[6] := %11111111 | |
Q[7] := %11111111 | |
Q[8] := %00000000 | |
R[0] := 6 | |
R[1] := %11111111 | |
R[2] := %11111111 | |
R[3] := %11001100 | |
R[4] := %11001111 | |
R[5] := %01111001 | |
R[6] := %00000000 | |
S[0] := 5 | |
S[1] := %01100011 | |
S[2] := %11110011 | |
S[3] := %11010011 | |
S[4] := %11001110 | |
S[5] := %00000000 | |
T[0] := 7 | |
T[1] := %11000000 | |
T[2] := %11000000 | |
T[3] := %11111111 | |
T[4] := %11111111 | |
T[5] := %11000000 | |
T[6] := %11000000 | |
T[7] := %00000000 | |
U[0] := 7 | |
U[1] := %11111111 | |
U[2] := %11111111 | |
U[3] := %00000011 | |
U[4] := %00000011 | |
U[5] := %11111111 | |
U[6] := %11111111 | |
U[7] := %00000000 | |
V[0] := 7 | |
V[1] := %11111000 | |
V[2] := %11111110 | |
V[3] := %00000011 | |
V[4] := %00000011 | |
V[5] := %11111110 | |
V[6] := %11111000 | |
V[7] := %00000000 | |
W[0] := 8 | |
W[1] := %11111111 | |
W[2] := %11111111 | |
W[3] := %00000110 | |
W[4] := %00011100 | |
W[5] := %00000110 | |
W[6] := %11111111 | |
W[7] := %11111111 | |
W[8] := %00000000 | |
X[0] := 6 | |
X[1] := %11100111 | |
X[2] := %01111110 | |
X[3] := %00011000 | |
X[4] := %01111110 | |
X[5] := %11100111 | |
X[6] := %00000000 | |
Y[0] := 7 | |
Y[1] := %11100000 | |
Y[2] := %01111000 | |
Y[3] := %00011111 | |
Y[4] := %00011111 | |
Y[5] := %01111000 | |
Y[6] := %11100000 | |
Y[7] := %00000000 | |
Z[0] := 6 | |
Z[1] := %11000011 | |
Z[2] := %11001111 | |
Z[3] := %11011011 | |
Z[4] := %11110011 | |
Z[5] := %11000011 | |
Z[6] := %00000000 | |
SPACE[0] := 5 | |
SPACE[1] := %00000000 | |
SPACE[2] := %00000000 | |
SPACE[3] := %00000000 | |
SPACE[4] := %00000000 | |
SPACE[5] := %00000000 | |
APOSTROPHE[0] := 3 | |
APOSTROPHE[1] := %11100000 | |
APOSTROPHE[2] := %11100000 | |
APOSTROPHE[3] := %00000000 | |
SMILE[0] := 8 | |
SMILE[1] := %01111110 | |
SMILE[2] := %10000001 | |
SMILE[3] := %10110101 | |
SMILE[4] := %10000101 | |
SMILE[5] := %10110101 | |
SMILE[6] := %10000001 | |
SMILE[7] := %01111110 | |
SMILE[8] := %00000000 | |
Period[0] := 3 | |
Period[1] := %00000111 | |
Period[2] := %00000111 | |
Period[3] := %00000000 | |
PUB DrawDEFCONXX | |
DrawLetter(@D) | |
DrawLetter(@E) | |
DrawLetter(@F) | |
DrawLetter(@C) | |
DrawLetter(@O) | |
DrawLetter(@N) | |
DrawLetter(@SPACE) | |
DrawLetter(@X) | |
DrawLetter(@X) | |
DrawLetter(@SPACE) | |
DrawLetter(@SPACE) | |
Wait(40) | |
DrawLetterBackward(@X) | |
DrawLetterBackward(@X) | |
DrawLetter(@SPACE) | |
DrawLetterBackward(@N) | |
DrawLetterBackward(@O) | |
DrawLetterBackward(@C) | |
DrawLetterBackward(@F) | |
DrawLetterBackward(@E) | |
DrawLetterBackward(@D) | |
DrawLetter(@SPACE) | |
DrawLetter(@SPACE) | |
Wait(40) | |
PUB DrawHEX | |
repeat 50 | |
DrawLetter(@SPACE) | |
DrawLetter(@H) | |
DrawLetter(@E) | |
DrawLetter(@X) | |
DrawLetter(@SPACE) | |
DrawLetter(@SPACE) | |
DrawLetter(@SPACE) | |
Wait(40) | |
DrawLetter(@SPACE) | |
DrawLetter(@SPACE) | |
DrawLetter(@SPACE) | |
DrawLetterBackward(@X) | |
DrawLetterBackward(@E) | |
DrawLetterBackward(@H) | |
DrawLetter(@SPACE) | |
Wait(40) | |
repeat 50 | |
DrawLetter(@SPACE) | |
DrawLetter(@D) | |
DrawLetter(@E) | |
DrawLetter(@F) | |
DrawLetter(@C) | |
DrawLetter(@O) | |
DrawLetter(@N) | |
DrawLetter(@SPACE) | |
DrawLetter(@SPACE) | |
Wait(40) | |
DrawLetter(@SPACE) | |
DrawLetter(@SPACE) | |
DrawLetterBackward(@N) | |
DrawLetterBackward(@O) | |
DrawLetterBackward(@C) | |
DrawLetterBackward(@F) | |
DrawLetterBackward(@E) | |
DrawLetterBackward(@D) | |
DrawLetter(@SPACE) | |
Wait(40) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment