sm64pc/gamebridge/src/main.rs

30 lines
700 B
Rust

use log::{debug, info, warn};
use std::{
fs::{File, OpenOptions},
io::{Read, Write},
str::from_utf8,
};
fn main() -> anyhow::Result<()> {
pretty_env_logger::try_init()?;
let controller_data = [0; 4];
let mut vblank = File::open("vblank")?;
let mut input = OpenOptions::new().write(true).open("input")?;
info!("ready");
loop {
let mut data = [0; 3];
info!("waiting for vblank");
vblank.read(&mut data)?;
let str = from_utf8(&data)?;
debug!("got data: {}", str);
if str == "BYE" {
warn!("asked to exit by the game");
return Ok(());
}
input.write(&controller_data)?;
}
}