color RAM: the upper 4 bits are always SET disabling color RAM by [$01] JMP@ -> JMP# Joystick Read-Modify-Write instructions write the original value back during the Modify cycle. So, the operation (after fetching opcode & address) is READ, WRITE ORIGINAL + MODIFY, WRITE FINAL. None of inc/dec/lsr/asl write to bit0 twice if you only have raster interrupts active, ack is done during the first write cycle (INC,DEC,LSR,ASL). CPU overflow handling !!! proper EOI handling at $EE13 etc: implement a read-from-pipe-with-timeout and if the timeout was maxed out, don't lower CLOCK as you would do otherwise. This allows you to use the existing code at the kernal without modifications.