Was about 11 seconds or so for me to save a 363 byte block of random data. Most of that was the 2 lead ins and the header. Attribs are 768 bytes so less than half the time for that probably. (0s take longer to load than 1s which is weird since the 1s - being more pointy - must get stuck in the wires more when loading, the 0s being round can just roll down them?).
You don't need to use a lot of memory for minimax many 80s chess computers only had 4 or 8K of RAM. You can backtrack moves instead of storing them and if you know the order moves are generated in you can just use an index for the best move so far.
Negamax uses even less code memory
function negamax(node, depth, color) is
if depth = 0 or node is a terminal node then
return color × the heuristic value of node
value := −∞
for each child of node do
value := max(value, −negamax(child, depth − 1, −color))
return value
I think the idea is to make a chess game using as few bytes as possible in the machine code payload though so you just do the least thing to get it working. Nothing stopping them from using all the available RAM though - probably not needed for the above reasons. So implementing a proper search for decent moves is probably too large for their liking. I think the aim is to outdo the 1K ZX81 chess program for nerdiness
Modern chess engines use megabytes of memory on hash tables of course to make searches quicker.