One thing may help a little.. you need to change the rom page to $d before the call and set it back at the end. This screwed me up before. you should do this: push af ;your code push hl push bc in a,(5) ;added push af ld a,$d out (5),a call $46bb ;original call $4a33 call _getkey pop af ;added out (5),a pop af ;original pop hl pop bc That should fix some problems you are having.. :)