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)?; } }