ah i finally found out the bug was in my head... i changed the code to store the current byte in d3 however i didnt push d3 onto the stack when i did the drawing routine, after 2 hours of mental anguish i finally figured it out