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