Closed Jujstme closed 1 year ago
This adds support for coding auto splitters for Playstation 1 emulators.
Code and the general inner workings of the ps1::Emulator struct uses the same implementation seen in https://github.com/LiveSplit/asr/pull/26
ps1::Emulator
So, in order to use it:
ps1
Cargo.toml
ps1::Emulator::attach()
update() -> bool
read
Supported Windows emulators are:
Example:
async fn main() { let settings = Settings::register(); loop { let mut emulator = retry(ps1::Emulator::attach).await; let mut watchers = Watchers::default(); loop { if !emulator.is_open() { break; } if emulator.update() { /// ... /// Your splitting code goes here /// Example: /// if let Ok(val) = emulator.read::<u8>(address) { /// if val > 0 { /// asr::timer::start(); /// } /// } /// etc... } next_tick().await; } } }
This adds support for coding auto splitters for Playstation 1 emulators.
Code and the general inner workings of the
ps1::Emulator
struct uses the same implementation seen in https://github.com/LiveSplit/asr/pull/26So, in order to use it:
ps1
feature in yourCargo.toml
ps1::Emulator::attach()
update() -> bool
to locate and update the address of the emulated game's memoryread
functionSupported Windows emulators are:
Example: