the first line of code is wrong. you cannot load directly into register a unless you have the absolute address. you need to add the relative address SomeByte to (PROG_ADDR) to get the absolute addr. BTW, if you used rigel or usgard, you wouldn't have this limitation. -mike pearce > >InitClipping: > ld a, (SomeByte) > ld hl, ClipLeft > ld b, 4 > CALL_(SplitByte) >