1use displaydoc::Display;
2use from_variants::FromVariants;
3
4#[derive(Debug, Display, FromVariants)]
5pub enum Error {
6 AssetRead(IoError),
8 RomLoad(RomLoadError),
10 TapeLoad(TapeLoadError),
12 ScreenLoad(ScreenLoadError),
14}
15
16#[derive(Debug, Display)]
17pub enum IoError {
18 UnexpectedEof,
20 WriteZero,
22 SeekBeforeStart,
24 HostAssetImplFailed,
26}
27
28#[derive(Debug, Display)]
29pub enum RomLoadError {
30 MoreAssetsRequired,
32}
33
34#[derive(Debug, Display)]
35pub enum TapeLoadError {
36 InvalidTapFile,
38}
39
40#[derive(Debug, Display)]
41pub enum ScreenLoadError {
42 InvalidScrFile,
44 MachineNotSupported,
46}