 			0, 0, 0, 0, 0, 0, 0, 0
 		]
 
+		@last_block_pc = -1
+		@last_block_func = null
+
 	execute_one: ->
-		@decompiling = false
 		@inscount++
 		@delayed = @delay
 		cpc = if @delayed != null then @delay else @pc

				total += code

		func = eval('(function(state) { state.delayed = false;\n' + total + ' })')
		[true, pc, func]

	branch: (pc, recompiled=false) ->

		@pc += 4 if @delayed == null

	decompile_block: (pc) ->
		if @last_block_pc == pc
			return [true, pc, @last_block_func]

		@last_block_pc = pc
		total = ''
		emit = (snippet) -> code += snippet + '\n'
		branched = false
