First of all, this course is dynamite. I have a M Sc in Computer Science from 1981 and really appreciates this holistic perspective!
But, I can't get the BasicTest to work. I think it has to do with the segment TEMP, being treated differently in different parts of the software.
"pop temp 6" is used in BasicTest.vm but in the Virtual Machine Emulator other names are used:
I can understand the reason for using Temp6 instead of "temp 6" as the addition of 5+6 is not needed.
But no matter of what names I use, I end up with the variable pointing at address 16 and upwards.
I can't see any other reason for "Temp6" and I think treating TEMP the same as SP, LCL, ARG, THIS and THAT is easier to understand. If not, the differences should be clearly stated. R13, R14, ... already has this property, so there is no need to duplicate that in TEMP.