Nothing's wrong with your Computer.hdl; you're just impatient...
Hack is not a very efficient instruction set. That wasn't one of its design goals. It takes a lot of instructions to accomplish what you see the Pong game do. I decided to profile Pong by running a .tst file that output the PC every 100 instructions for a total runtime of 10 million instructions. Here's what I found out.
3928200: 9311 memory.alloc + 668
3928300: 3961 ponggame.new + 31
First hit in Pong application
ponggame.newinstance called from main.main+15
ponggame.new called from ponggame.newinstance+11
The first sample in the Pong application occurred after 3.9
million instructions. Initializing the VM operating system took a bit over 3,928,200 instructions. The first thing the Pong game does is its own initialization. This takes another 1.1 million instructions.
5024000: 4418 ponggame.new + 488
5024100: 3859 main.main + 22
Back to main.main
After more than 5 million instructions, Pong is now ready to play the game.
At the end of 10 million instructions with no key presses, the bat has made it to the right side of the screen and the ball is about 7/8 of the way to the right. Here's the screenshot.
The HW simulator on my system runs at about 300 instructions per second, so it took at least 4.6 hours before anything appeared on the screen. I didn't wait for it to happen 8^) -- I started the test run before I left for work and it was done when I got home 12 hours later.
--Mark