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

Reply via email to