//! Pokes are used to modify internal emulator state such as memory, registers, etc.
/// Action to perform on emulator state
#[derive(Clone, Copy)]pubenumPokeAction{
Mem { addr:u16, value:u8},}implPokeAction{/// Creates new memory poke action
pubconstfnmem(addr:u16, value:u8)->Self{Self::Mem { addr, value }}}pubtraitPoke{/// Returns list of actions to perform on emulator state
fnactions(&self)->&[PokeAction];}/// Poke which disables message and enter key prompt in 48K ROM when scrolling screen in BASIC mode
pubstructDisableScrollMessageRom48;implPoke forDisableScrollMessageRom48{fnactions(&self)->&[PokeAction]{// Injects `JP 0x0CD2` at 0x0C88
// https://skoolkid.github.io/rom/asm/0C55.html
constACTIONS:&[PokeAction]=&[PokeAction::mem(0x0C88,0xC3),PokeAction::mem(0x0C89,0xD2),PokeAction::mem(0x0C8A,0x0C),];ACTIONS}}