pub struct Emulator { /* private fields */ }
gba
only.Expand description
A Nintendo Gameboy Advance emulator that the auto splitter is attached to.
Implementations§
Source§impl Emulator
impl Emulator
Sourcepub fn attach() -> Option<Self>
pub fn attach() -> Option<Self>
Attaches to the emulator process
Returns Option<Genesis>
if successful, None
otherwise.
Supported emulators are:
- VisualBoyAdvance
- VisualBoyAdvance-M
- mGBA
- NO$GBA
- BizHawk
- Retroarch, with one of the following cores:
vbam_libretro.dll
,vba_next_libretro.dll
,mednafen_gba_libretro.dll
,mgba_libretro.dll
,gpsp_libretro.dll
Sourcepub async fn wait_attach() -> Self
pub async fn wait_attach() -> Self
Asynchronously awaits attaching to a target emulator, yielding back to the runtime between each try.
Supported emulators are:
- VisualBoyAdvance
- VisualBoyAdvance-M
- mGBA
- NO$GBA
- BizHawk
- Retroarch, with one of the following cores:
vbam_libretro.dll
,vba_next_libretro.dll
,mednafen_gba_libretro.dll
,mgba_libretro.dll
,gpsp_libretro.dll
Sourcepub fn is_open(&self) -> bool
pub fn is_open(&self) -> bool
Checks whether the emulator is still open. If it is not open anymore, you should drop the emulator.
Sourcepub const fn until_closes<F>(&self, future: F) -> UntilEmulatorCloses<'_, F> ⓘ
pub const fn until_closes<F>(&self, future: F) -> UntilEmulatorCloses<'_, F> ⓘ
Executes a future until the emulator process closes.
Sourcepub fn update(&self) -> bool
pub fn update(&self) -> bool
Calls the internal routines needed in order to find (and update, if needed) the address of the emulated RAM.
Returns true if successful, false otherwise.
Sourcepub fn get_address(&self, offset: u32) -> Result<Address, Error>
pub fn get_address(&self, offset: u32) -> Result<Address, Error>
Converts a GBA memory address to a real memory address in the emulator process’ virtual memory space
Valid addresses range:
- from
0x02000000
to0x0203FFFF
for EWRAM - from
0x03000000
to0x03007FFF
for IWRAM
Sourcepub fn read<T: CheckedBitPattern>(&self, offset: u32) -> Result<T, Error>
pub fn read<T: CheckedBitPattern>(&self, offset: u32) -> Result<T, Error>
Reads any value from the emulated RAM.
The offset provided is meant to be the same memory address as usually mapped on the original hardware. Valid addresses range:
- from
0x02000000
to0x0203FFFF
for EWRAM - from
0x03000000
to0x03007FFF
for IWRAM
Values outside these ranges are invalid, and will make this method immediately return Err()
.
Sourcepub fn read_pointer_path<T: CheckedBitPattern>(
&self,
base_address: u32,
path: &[u32],
) -> Result<T, Error>
pub fn read_pointer_path<T: CheckedBitPattern>( &self, base_address: u32, path: &[u32], ) -> Result<T, Error>
Follows a path of pointers from the address given and reads a value of the type specified from the process at the end of the pointer path.