There's no way to tell what you are doing wrong because you aren't showing us what you are doing at all. I can't tell whether you are addressing the parts correctly or controlling the Muxes correctly because you aren't showing how you are addressing the parts or controlling the Muxes.
But let's look at the test script and see if we can narrow things down at least a little.
From the test script (starting on line 87):
set address %X2345, // RAM[2345] = 2345
set in 2345,
set load 1,
tick,
output;
tock,
output;
We can identify these as the third and fourth lines from the bottom of your output where the first output is setting the address and the input and the second is verifying that that the value was actually written to that address (note that the comment is wrong, it is not RAM[2345], but rather RAM[0X2345]).
set load 0,
set address %X0345, // Did not also write to lower RAM or Screen
eval, output;
set address %X4345,
eval, output;
This section produces the final two lines in your output in which it is testing a couple of other memory cells that could also have been written to if the addressing/load lines had been done incorrectly in a couple of common ways.
So now we have identified which statement in the test script produced the final line in your output (the one on line 99). We thus know that the test never gets to the next output.
// Keyboard test
set address 24576,
echo "Click the Keyboard icon and hold down the 'K' key (uppercase) until you see the next message (it should appear shortly after that) ...",
// It's important to keep holding the key down since if the system is busy,
// the memory will zero itself before being outputted.
while out <> 75 {
eval,
}
clear-echo,
output;
So now the script sets the address to 24576, and we see that in the input pins window. It issues the message via the echo, which we see. It then goes into a loop that whiles until the value of the output pin becomes 75 (the ASCII code for 'K') at which point it will clear the message and issue the next line of output. We know it isn't getting to the output command and it isn't clearing the message, so it must be getting stuck in the while-loop. The only way that should happen is if your chip is not sending the output of the keyboard part to the memory output when the address is set to 24576.
But since you show neither how you do your addressing nor how you control which part's output is directed to the chip output, I can only conclude that however you are doing it, you aren't doing it correctly.