module Data.TI85.File.Backup where
import Data.ByteString (ByteString)
import Data.Text (Text)
import Data.Word (Word8,Word16)
import Data.TI85.File.Variable (VarType)
data VarTableEntry = VarTableEntry {
VarTableEntry -> Word8
entryId :: Word8,
VarTableEntry -> Word16
entryAddr :: Word16,
VarTableEntry -> Word8
entryNameLen :: Word8,
VarTableEntry -> ByteString
entryName :: ByteString
} deriving Int -> VarTableEntry -> ShowS
[VarTableEntry] -> ShowS
VarTableEntry -> String
(Int -> VarTableEntry -> ShowS)
-> (VarTableEntry -> String)
-> ([VarTableEntry] -> ShowS)
-> Show VarTableEntry
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> VarTableEntry -> ShowS
showsPrec :: Int -> VarTableEntry -> ShowS
$cshow :: VarTableEntry -> String
show :: VarTableEntry -> String
$cshowList :: [VarTableEntry] -> ShowS
showList :: [VarTableEntry] -> ShowS
Show
type VarTable = [VarTableEntry]
data = {
TIBackupHeader -> Word16
hdrDataLenOffset :: Word16,
TIBackupHeader -> Word16
hdrData1Len :: Word16,
TIBackupHeader -> Word8
hdrTypeID :: Word8,
TIBackupHeader -> Word16
hdrData2Len :: Word16,
TIBackupHeader -> Word16
hdrData3Len :: Word16,
TIBackupHeader -> Word16
hdrData2Addr :: Word16
} deriving Int -> TIBackupHeader -> ShowS
[TIBackupHeader] -> ShowS
TIBackupHeader -> String
(Int -> TIBackupHeader -> ShowS)
-> (TIBackupHeader -> String)
-> ([TIBackupHeader] -> ShowS)
-> Show TIBackupHeader
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TIBackupHeader -> ShowS
showsPrec :: Int -> TIBackupHeader -> ShowS
$cshow :: TIBackupHeader -> String
show :: TIBackupHeader -> String
$cshowList :: [TIBackupHeader] -> ShowS
showList :: [TIBackupHeader] -> ShowS
Show
data TIBackupData = TIBackupData {
:: TIBackupHeader,
TIBackupData -> Word16
data1Len :: Word16,
TIBackupData -> ByteString
data1 :: ByteString,
TIBackupData -> Word16
data2Len :: Word16,
TIBackupData -> ByteString
data2 :: ByteString,
TIBackupData -> Word16
varTableLen :: Word16,
TIBackupData -> [VarTableEntry]
varTable :: VarTable
} deriving Int -> TIBackupData -> ShowS
[TIBackupData] -> ShowS
TIBackupData -> String
(Int -> TIBackupData -> ShowS)
-> (TIBackupData -> String)
-> ([TIBackupData] -> ShowS)
-> Show TIBackupData
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TIBackupData -> ShowS
showsPrec :: Int -> TIBackupData -> ShowS
$cshow :: TIBackupData -> String
show :: TIBackupData -> String
$cshowList :: [TIBackupData] -> ShowS
showList :: [TIBackupData] -> ShowS
Show