In all states after the bitstream is started, the core constantly produces a heartbeat signal that, when lost, causes Pocket to terminate execution and reload the core with the same initial state.
[0000 Request Status]
until core reports it is in [Setup] state.[0000 Request Status].
[00B1 OS Notify: Cartridge Adapter]
.[0082 Data slot request write]
and loads all data slots in order.[0182 Data slot copy]
, and Pocket will service the load next, then resume any remaining loads.[008F Data slot access all complete]
when done loading slots. Core may still request more slot ops.[0090 Real-time Clock Data]
to inform core of the current time.[0140 Ready to Run]
when no more data ops are required, and moves to [Idle] state.interact.json
, if applicable.[0011 Reset Exit]
and core starts execution in [Running] state.[00A0 Savestate: Start/Query]
is called once first, and if the core confirms support, Pocket calls the same command again with the "Request start" bit set, polling until completion. Finally, the save data is copied out.[00A4 Savestate: Load/Query]
is called once first to determine both support and where the savestate data expects the data to be copied. If supported, Pocket copies the data in, calls again with "Request load" set and polls until core signals completion.[0010 Reset Enter]
and core stops execution. Core returns to [Idle] state.interact.json
, saving them, if applicable.[0011 Reset Exit]
if a user wants to restart with new data.[0080 Data slot request read]
to read out any nonvolatile data, taking into account any changes the core may have written to the Dataslot ID/Size Table, in case the file size should be expanded or shrunk.