Errata: -When in doubt: follow the project_code.s instructions! -In 4.3 (minimax) $v0 returns the best score for that depth, unless depth equals zero, in which case it returns the tile position [0-8] of that best move. -4.3.6 Return the min/max score if depth != 0. -In 4.5 (update_board), $v0 returns the updated board -In project_code.s main, the lines: # li $s0, 22180 # horizontal win in first row # li $s0, 133137 Do not correspond to a horizontal win in the first row. They did, at one point, but I then commenced to test a lot of other board states after that. :)