On Tue, May 20, 2008 at 03:22:54PM +0100, Andrew Collier wrote: correction:
> ld a,h 4 sla l 8 > rla 4 > add table/256 8 > ld h,a 4 > = 28 You can also shave a little more time if you're willing to rearrange the table: Instead of word pairs (low byte, high byte, low byte, high byte) you could have alternating lines of 256 low bytes, 256 high bytes. To use that, double the high byte of the address but don't change the low byte (in other words, don't run the 'sla l' at all saving 8 t-states) and then, when reading DE from the table, increment H instead of incrementing L to get the high byte corresponding to the selected low byte. HTH, Andrew -- --- Andrew Collier ---- ---- http://www.intensity.org.uk/ --- -- r<2+ T<4* cSEL dMS hEn/CB<BL A4 S+*<++ C$++L/mP W- a-- Vh+seT+ (Cantab) 1.1.4