- Set RAM and registers to 0
tick_dma()
tick_clock()
tick_interrupts()
tick_instructions()
- if DMA register is set, copy RAM from source to OAM
- Update timer registers (TIMA, TAC, TMA)
- fire off interrupts that are queued and enabled
- if the previous instruction was long (taking several cycles), burn off the extra cycles
- look at
ram[cpu.PC]
- execute the instruction