Having a bit of trouble wrapping my mind around the memory test.
When it "set in 13131" (Memory.tst line 48), and then "set load 1" (line 55), I'm seeing a dashed line in my screen:
Here is my logic:
Xor(a=address, b=address, out=screen);
13131 = 0x334B = 0011 0011 0100 1011 binary which should be a RAM address.
Your code sets screen true which causes the failure.
Please edit your post to remove the mostly functional code after the problem is resolved.