The front is always normal, but when you paint the roof and lock it is wrong.
I read the book several times, and carefully scrutinize my code, but still did not find out the problem.
I really want to get help. Thank you.
Look at the "Argument" values. Screen.drawLine called
Although address (local 0) is not shown in your screen shot, you can see its value on the stack at address 283. address = -14351.
screenAddress[address] is trying to reference RAM[16384-14351] = RAM.
I see nothing wrong with the code you included. Please edit your post to remove the source code.