-- Rewind script -- Will rewind emulation upon pressing X on the joypad -- Written by: deltaphc -- Constants max_states = 100 -- maximum number of states allowed rewind_interval = 6 -- save state every N frames states = {} current_state = 1 rewind_counter = rewind_interval - 1 rewinding = false input.registerhotkey(1, function() rewinding = not rewinding if rewinding then gens.message("Rewind: On") else gens.message("Rewind: Off") end end) gens.registerafter( function() if rewinding then current_state = current_state - 1 if current_state < 1 then current_state = 1 end savestate.load(states[current_state]) table.remove(states, current_state + 1) else rewind_counter = rewind_counter + 1 if rewind_counter == rewind_interval then rewind_counter = 1 if current_state < max_states then local state = savestate.create() savestate.save(state) table.insert(states, state) current_state = current_state + 1 else table.remove(states, 1) local state = savestate.create() savestate.save(state) table.insert(states, state) end end end end)