         @_write address, value
 
     writeWord: (address, value) ->
-        @_writeByte address, value & 0xFF
-        @_writeByte (address + 1) & 0xFFFF, value >>> 8
+        @writeByte address, value & 0xFF
+        @writeByte (address + 1) & 0xFFFF, value >>> 8
 
     ###########################################################
     # Stack pushing / pulling
     ###########################################################
 
     pushByte: (value) ->
-        @_writeByte 0x100 + @stackPointer, value
+        @writeByte 0x100 + @stackPointer, value
         @stackPointer = (@stackPointer - 1) & 0xFF
 
     pushWord: (value) ->
-        @_pushByte value >>> 8
-        @_pushByte value & 0xFF
+        @pushByte value >>> 8
+        @pushByte value & 0xFF
 
     popByte: ->
         @stackPointer = (@stackPointer + 1) & 0xFF
-        @_readByte 0x100 + @stackPointer
+        @readByte 0x100 + @stackPointer
 
     popWord: ->
-        @_popByte() | @_popByte() << 8
+        @popByte() | @popByte() << 8
 
     ###########################################################
     # Memory reading / writing cycles handling
     ###########################################################
 
     resolveReadCycles: ->
-        @tick()
+        @_tick()
         if @emptyReadCycles
             @emptyReadCycles--
-            @tick()
+            @_tick()
 
     resolveWriteCycles: ->
-        @tick()
+        @_tick()
         if @emptyWriteCycles
             @emptyWriteCycles--
-            @tick()
+            @_tick()
 
     tick: ->
         @cyclesCount++

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

    resolveInterrupt: ->
        if @requestedInterrupt and not @_isRequestedInterruptDisabled()
            switch @requestedInterrupt
                when Interrupt.IRQ   then @handleIRQ()
                when Interrupt.NMI   then @handleNMI()

        @_read address

    readWord: (address) ->
        highByte = @readByte (address + 1) & 0xFFFF
        highByte << 8 | @readByte address

    readWordFromSamePage: (address) ->
        highByte = @readByte address & 0xFF00 | (address + 1) & 0x00FF
        highByte << 8 | @readByte address

    write: (address, value) ->
        @cpuMemory.write address, value
