pub trait Flashcart {
// Required methods
fn upload_rom(&mut self, data: &[u8]) -> Result<()>;
fn download_rom(&mut self, length: u32) -> Result<Vec<u8>>;
fn set_cic(&mut self, cic: Cic) -> Result<()>;
fn set_savetype(&mut self, savetype: SaveType) -> Result<()>;
fn recv_debug(&mut self) -> Result<DebugResponse>;
fn send_debug(&mut self) -> Result<()>;
fn info(&mut self) -> Result<DeviceInfo>;
}