Nice example, suitably retro sounding!
Also, sorry for insisting on this, but would this sound take up 100Hz * 0.310s * 1B = 31B? Or am I not getting this?
Another thing, wouldn't it be better to use sound instructions rather than ports for modulation, for better orthogonality?
Also, for timing, you can currently use VBLNK if you don't mind waiting for multiples of 16ms

If anyone else is interested in a WAIT instruction, please make your voice heard!
__________________
tchip16 (chip16 assembler)
Js16 (browser chip16 emulator)
mash16 (chip16 emulator)
img16 (chip16 sprite converter)
______________________________________
Desktop: i5 750 @ 3.6 Ghz, 4GB ram, GTX 570 OC | Windows 7 Pro 64
Laptop: (Thinkpad) i5 430M, 4GB ram, Intel IGP | Arch Linux, Windows 7 Pro 64