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

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
© 184 10111000
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