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

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