 
     readOperation: ->
         @operationsTable[@$readNextProgramByte()]
-
-    haltOperation: ->
-        @moveProgramCounter -1
 
     readNextProgramByte: ->
         @$readByte @$moveProgramCounter 1

    ###########################################################

    step: ->
        if @dma.isBlockingCPU() or @apu.isBlockingCPU()
            @tick() # CPU can't access memory (empty cycle)
        else
            @resolveInterrupt() if @activeInterrupts
            @executeOperation()

    ###########################################################

        @tick() for [1..3]                               # 3 "dummy" writes, mentioned above
        @enterInterruptHandler 0xFFFC
        @clearInterrupt Interrupt.RESET
        @halted = false

    handleNMI: ->
        @saveStateBeforeInterrupt()
