; hposn_low, hposn_high will each be filled with $C0 bytes ; based on routine by John Brooks ; posted on comp.sys.apple2 on 2018-07-11 ; https://groups.google.com/d/msg/comp.sys.apple2/v2HOfHOmeNQ/zD76fJg_BAAJ ; clobbers A,X ; preserves Y ; vmw note: version I was using based on applesoft HPOSN was ~64 bytes ; this one is 37 bytes build_tables: ldx #0 btmi: txa and #$F8 bpl btpl1 ora #5 btpl1: asl bpl btpl2 ora #5 btpl2: asl asl sta hposn_low, X txa and #7 rol asl hposn_low, X rol ora #$20 sta hposn_high, X inx cpx #$C0 bne btmi rts