use displaydoc::Display;
use from_variants::FromVariants;
#[derive(Debug, Display, FromVariants)]
pub enum Error {
AssetRead(IoError),
RomLoad(RomLoadError),
TapeLoad(TapeLoadError),
ScreenLoad(ScreenLoadError),
}
#[derive(Debug, Display)]
pub enum IoError {
UnexpectedEof,
WriteZero,
SeekBeforeStart,
HostAssetImplFailed,
}
#[derive(Debug, Display)]
pub enum RomLoadError {
MoreAssetsRequired,
}
#[derive(Debug, Display)]
pub enum TapeLoadError {
InvalidTapFile,
}
#[derive(Debug, Display)]
pub enum ScreenLoadError {
InvalidScrFile,
MachineNotSupported,
}