﻿ ASCII Maze interactive — Keep Talking and Nobody Explodes Module

## On the Subject of ASCII Mazes

(╯°□°)╯︵ ┻━┻

The screen at the bottom of the module displays three (extended) ASCII characters of a twelve character long sequence, separated by replacement characters (�).
Use the arrows to the left and right of the screen to cycle between displays.

Convert the sequence of ASCII characters into a sequence of 96 binary digits:

• The first six bits, when converted into octal, are used to determine the starting location.
• The last six bits, when converted into octal, are used to determine the location of the exit.
• The remaining 84 bits correspond to the presence of a wall within the 7×7 maze (not including edges):
Separate the 84 bits into two equal groups:
• The first 42 bits correspond to the vertical walls.
• The second group of 42 bits correspond to the horizontal walls.

The colours of the four LEDs are used in conjunction with the sequence of bits.
The presence of the red, green, and blue colour channels indicate how each bit is used:

#### Top Left LED

1. If the blue channel is present, the first and second octal digits are swapped.
2. If the red channel is present, the first octal digit is one greater than the number of spaces between the right edge and the starting location.
Otherwise the first octal digit is the number of spaces between the left edge and the starting location.
3. If the green channel is present, the second octal digit is one greater than the number of spaces between the bottom edge and the starting location.
Otherwise the second octal digit is the number of spaces between the top edge and the starting location.

The same rules apply to the bottom right LED to indicate the position of the exit.

#### Top Right LED

For each vertical division between two horizontally adjacent spaces, a wall is present if its corresponding bit, in the first group of 42 bits, is a 1.

The colour of the top right LED affects the reading order:
1. If the red channel is present, the divisions are read from right to left.
Otherwise the divisions are read from left to right.
2. If the green channel is present, the divisions are read from the bottom row to the top.
Otherwise the divisions are read from the top row to the bottom.
3. If the blue channel is present, the reading direction alternates each row.

The same rules apply to the bottom left LED and the second group of 42 bits to indicate the presence of the horizontal walls of the maze.

When the maze is complete, every space must be reachable from every other space and there must be no loops.

Use the directional arrows to move around the maze, avoiding the walls.

Once the exit is reached, press the "◎" button to submit your current location.
If your current location is not the exit, the module will reset your position to the starting location.

Pressing the "!" button from anywhere within the maze will reset your position to the starting location.

### ASCII Chart

ASCIIIndexBinary
NUL00000000000
SOH00100000001
STX00200000010
ETX00300000011
EOT00400000100
ENQ00500000101
ACK00600000110
BEL00700000111
BS00800001000
HT00900001001
LF01000001010
VT01100001011
FF01200001100
CR01300001101
SO01400001110
SI01500001111
DLE01600010000
DC101700010001
DC201800010010
DC301900010011
DC402000010100
NAK02100010101
SYN02200010110
ETB02300010111
CAN02400011000
EM02500011001
SUB02600011010
ESC02700011011
FS02800011100
GS02900011101
RS03000011110
US03100011111
ASCIIIndexBinary
(space)03200100000
!03300100001
"03400100010
#03500100011
\$03600100100
%03700100101
&03800100110
'03900100111
(04000101000
)04100101001
*04200101010
+04300101011
,04400101100
-04500101101
.04600101110
/04700101111
004800110000
104900110001
205000110010
305100110011
405200110100
505300110101
605400110110
705500110111
805600111000
905700111001
:05800111010
;05900111011
<06000111100
=06100111101
>06200111110
?06300111111
ASCIIIndexBinary
@06401000000
A06501000001
B06601000010
C06701000011
D06801000100
E06901000101
F07001000110
G07101000111
H07201001000
I07301001001
J07401001010
K07501001011
L07601001100
M07701001101
N07801001110
O07901001111
P08001010000
Q08101010001
R08201010010
S08301010011
T08401010100
U08501010101
V08601010110
W08701010111
X08801011000
Y08901011001
Z09001011010
[09101011011
\09201011100
]09301011101
^09401011110
_09501011111
ASCIIIndexBinary
`09601100000
a09701100001
b09801100010
c09901100011
d10001100100
e10101100101
f10201100110
g10301100111
h10401101000
i10501101001
j10601101010
k10701101011
l10801101100
m10901101101
n11001101110
o11101101111
p11201110000
q11301110001
r11401110010
s11501110011
t11601110100
u11701110101
v11801110110
w11901110111
x12001111000
y12101111001
z12201111010
{12301111011
|12401111100
}12501111101
~12601111110
DEL12701111111
 NUL00000000 SOH00000001 STX00000010 ETX00000011 EOT00000100 ENQ00000101 ACK00000110 BEL00000111 BS00001000 HT00001001 LF00001010 VT00001011 FF00001100 CR00001101 SO00001110 SI00001111 DLE00010000 DC100010001 DC200010010 DC300010011 DC400010100 NAK00010101 SYN00010110 ETB00010111 CAN00011000 EM00011001 SUB00011010 ESC00011011 FS00011100 GS00011101 RS00011110 US00011111 00100000 !00100001 "00100010 #00100011 \$00100100 %00100101 &00100110 '00100111 (00101000 )00101001 *00101010 +00101011 ,00101100 -00101101 .00101110 /00101111 000110000 100110001 200110010 300110011 400110100 500110101 600110110 700110111 800111000 900111001 :00111010 ;00111011 <00111100 =00111101 >00111110 ?00111111 @01000000 A01000001 B01000010 C01000011 D01000100 E01000101 F01000110 G01000111 H01001000 I01001001 J01001010 K01001011 L01001100 M01001101 N01001110 O01001111 P01010000 Q01010001 R01010010 S01010011 T01010100 U01010101 V01010110 W01010111 X01011000 Y01011001 Z01011010 [01011011 \01011100 ]01011101 ^01011110 _01011111 `01100000 a01100001 b01100010 c01100011 d01100100 e01100101 f01100110 g01100111 h01101000 i01101001 j01101010 k01101011 l01101100 m01101101 n01101110 o01101111 p01110000 q01110001 r01110010 s01110011 t01110100 u01110101 v01110110 w01110111 x01111000 y01111001 z01111010 {01111011 |01111100 }01111101 ~01111110 DEL01111111 Ç10000000 ü10000001 é10000010 â10000011 ä10000100 à10000101 å10000110 ç10000111 ê10001000 ë10001001 è10001010 ï10001011 î10001100 ì10001101 Ä10001110 Å10001111 É10010000 æ10010001 Æ10010010 ô10010011 ö10010100 ò10010101 û10010110 ù10010111 ÿ10011000 Ö10011001 Ü10011010 ø10011011 £10011100 Ø10011101 ×10011110 ƒ10011111 á10100000 í10100001 ó10100010 ú10100011 ñ10100100 Ñ10100101 ª10100110 º10100111 ¿10101000 ®10101001 ¬10101010 ½10101011 ¼10101100 ¡10101101 «10101110 »10101111 ░10110000 ▒10110001 ▓10110010 │10110011 ┤10110100 Á10110101 Â10110110 À10110111 ©10111000 ╣10111001 ║10111010 ╗10111011 ╝10111100 ¢10111101 ¥10111110 ┐10111111 └11000000 ┴11000001 ┬11000010 ├11000011 ─11000100 ┼11000101 ã11000110 Ã11000111 ╚11001000 ╔11001001 ╩11001010 ╦11001011 ╠11001100 ═11001101 ╬11001110 ¤11001111 ð11010000 Ð11010001 Ê11010010 Ë11010011 È11010100 ı11010101 Í11010110 Î11010111 Ï11011000 ┘11011001 ┌11011010 █11011011 ▄11011100 ¦11011101 Ì11011110 ▀11011111 Ó11100000 ß11100001 Ô11100010 Ò11100011 õ11100100 Õ11100101 µ11100110 þ11100111 Þ11101000 Ú11101001 Û11101010 Ù11101011 ý11101100 Ý11101101 ¯11101110 ´11101111 ≡11110000 ±11110001 ‗11110010 ¾11110011 ¶11110100 §11110101 ÷11110110 ¸11110111 °11111000 ¨11111001 ·11111010 ¹11111011 ³11111100 ²11111101 ■11111110 nbsp11111111

ASCIIIndexBinary
Ç12810000000
ü12910000001
é13010000010
â13110000011
ä13210000100
à13310000101
å13410000110
ç13510000111
ê13610001000
ë13710001001
è13810001010
ï13910001011
î14010001100
ì14110001101
Ä14210001110
Å14310001111
É14410010000
æ14510010001
Æ14610010010
ô14710010011
ö14810010100
ò14910010101
û15010010110
ù15110010111
ÿ15210011000
Ö15310011001
Ü15410011010
ø15510011011
£15610011100
Ø15710011101
×15810011110
ƒ15910011111
ASCIIIndexBinary
á16010100000
í16110100001
ó16210100010
ú16310100011
ñ16410100100
Ñ16510100101
ª16610100110
º16710100111
¿16810101000
®16910101001
¬17010101010
½17110101011
¼17210101100
¡17310101101
«17410101110
»17510101111
17610110000
17710110001
17810110010
17910110011
18010110100
Á18110110101
Â18210110110
À18310110111
18510111001
18610111010
18710111011
18810111100
¢18910111101
¥19010111110
19110111111
ASCIIIndexBinary
19211000000
19311000001
19411000010
19511000011
19611000100
19711000101
ã19811000110
Ã19911000111
20011001000
20111001001
20211001010
20311001011
20411001100
20511001101
20611001110
¤20711001111
ð20811010000
Ð20911010001
Ê21011010010
Ë21111010011
È21211010100
ı21311010101
Í21411010110
Î21511010111
Ï21611011000
21711011001
21811011010
21911011011
22011011100
¦22111011101
Ì22211011110
22311011111
ASCIIIndexBinary
Ó22411100000
ß22511100001
Ô22611100010
Ò22711100011
õ22811100100
Õ22911100101
µ23011100110
þ23111100111
Þ23211101000
Ú23311101001
Û23411101010
Ù23511101011
ý23611101100
Ý23711101101
¯23811101110
´23911101111
24011110000
±24111110001
24211110010
¾24311110011
24411110100
§24511110101
÷24611110110
¸24711110111
°24811111000
¨24911111001
·25011111010
¹25111111011
³25211111100
²25311111101
25411111110
nbsp25511111111

### Interactive Maze

• Left-click on edges to place/remove walls.
• Left-click on cells to place icons.
• Right-click on cells to remove icons.
• You can select which icons you want to place by clicking on the icons above the maze.