﻿ 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

ASCII Index Binary
NUL 000 00000000
SOH 001 00000001
STX 002 00000010
ETX 003 00000011
EOT 004 00000100
ENQ 005 00000101
ACK 006 00000110
BEL 007 00000111
BS 008 00001000
HT 009 00001001
LF 010 00001010
VT 011 00001011
FF 012 00001100
CR 013 00001101
SO 014 00001110
SI 015 00001111
DLE 016 00010000
DC1 017 00010001
DC2 018 00010010
DC3 019 00010011
DC4 020 00010100
NAK 021 00010101
SYN 022 00010110
ETB 023 00010111
CAN 024 00011000
EM 025 00011001
SUB 026 00011010
ESC 027 00011011
FS 028 00011100
GS 029 00011101
RS 030 00011110
US 031 00011111
ASCII Index Binary
(space) 032 00100000
! 033 00100001
" 034 00100010
# 035 00100011
\$ 036 00100100
% 037 00100101
& 038 00100110
' 039 00100111
( 040 00101000
) 041 00101001
* 042 00101010
+ 043 00101011
, 044 00101100
- 045 00101101
. 046 00101110
/ 047 00101111
0 048 00110000
1 049 00110001
2 050 00110010
3 051 00110011
4 052 00110100
5 053 00110101
6 054 00110110
7 055 00110111
8 056 00111000
9 057 00111001
: 058 00111010
; 059 00111011
< 060 00111100
= 061 00111101
> 062 00111110
? 063 00111111
ASCII Index Binary
@ 064 01000000
A 065 01000001
B 066 01000010
C 067 01000011
D 068 01000100
E 069 01000101
F 070 01000110
G 071 01000111
H 072 01001000
I 073 01001001
J 074 01001010
K 075 01001011
L 076 01001100
M 077 01001101
N 078 01001110
O 079 01001111
P 080 01010000
Q 081 01010001
R 082 01010010
S 083 01010011
T 084 01010100
U 085 01010101
V 086 01010110
W 087 01010111
X 088 01011000
Y 089 01011001
Z 090 01011010
[ 091 01011011
\ 092 01011100
] 093 01011101
^ 094 01011110
_ 095 01011111
ASCII Index Binary
` 096 01100000
a 097 01100001
b 098 01100010
c 099 01100011
d 100 01100100
e 101 01100101
f 102 01100110
g 103 01100111
h 104 01101000
i 105 01101001
j 106 01101010
k 107 01101011
l 108 01101100
m 109 01101101
n 110 01101110
o 111 01101111
p 112 01110000
q 113 01110001
r 114 01110010
s 115 01110011
t 116 01110100
u 117 01110101
v 118 01110110
w 119 01110111
x 120 01111000
y 121 01111001
z 122 01111010
{ 123 01111011
| 124 01111100
} 125 01111101
~ 126 01111110
DEL 127 01111111
 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

### Extended ASCII Chart

ASCII Index Binary
Ç 128 10000000
ü 129 10000001
é 130 10000010
â 131 10000011
ä 132 10000100
à 133 10000101
å 134 10000110
ç 135 10000111
ê 136 10001000
ë 137 10001001
è 138 10001010
ï 139 10001011
î 140 10001100
ì 141 10001101
Ä 142 10001110
Å 143 10001111
É 144 10010000
æ 145 10010001
Æ 146 10010010
ô 147 10010011
ö 148 10010100
ò 149 10010101
û 150 10010110
ù 151 10010111
ÿ 152 10011000
Ö 153 10011001
Ü 154 10011010
ø 155 10011011
£ 156 10011100
Ø 157 10011101
× 158 10011110
ƒ 159 10011111
ASCII Index Binary
á 160 10100000
í 161 10100001
ó 162 10100010
ú 163 10100011
ñ 164 10100100
Ñ 165 10100101
ª 166 10100110
º 167 10100111
¿ 168 10101000
® 169 10101001
¬ 170 10101010
½ 171 10101011
¼ 172 10101100
¡ 173 10101101
« 174 10101110
» 175 10101111
176 10110000
177 10110001
178 10110010
179 10110011
180 10110100
Á 181 10110101
Â 182 10110110
À 183 10110111
185 10111001
186 10111010
187 10111011
188 10111100
¢ 189 10111101
¥ 190 10111110
191 10111111
ASCII Index Binary
192 11000000
193 11000001
194 11000010
195 11000011
196 11000100
197 11000101
ã 198 11000110
Ã 199 11000111
200 11001000
201 11001001
202 11001010
203 11001011
204 11001100
205 11001101
206 11001110
¤ 207 11001111
ð 208 11010000
Ð 209 11010001
Ê 210 11010010
Ë 211 11010011
È 212 11010100
ı 213 11010101
Í 214 11010110
Î 215 11010111
Ï 216 11011000
217 11011001
218 11011010
219 11011011
220 11011100
¦ 221 11011101
Ì 222 11011110
223 11011111
ASCII Index Binary
Ó 224 11100000
ß 225 11100001
Ô 226 11100010
Ò 227 11100011
õ 228 11100100
Õ 229 11100101
µ 230 11100110
þ 231 11100111
Þ 232 11101000
Ú 233 11101001
Û 234 11101010
Ù 235 11101011
ý 236 11101100
Ý 237 11101101
¯ 238 11101110
´ 239 11101111
240 11110000
± 241 11110001
242 11110010
¾ 243 11110011
244 11110100
§ 245 11110101
÷ 246 11110110
¸ 247 11110111
° 248 11111000
¨ 249 11111001
· 250 11111010
¹ 251 11111011
³ 252 11111100
² 253 11111101
254 11111110
nbsp 255 11111111

### 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.