Source: http://archive.6502.org/publications/pet_paper/pet_paper_v3_i2_i3.pdf