unmed2-0.0: src/MMDInfo.hs
module MMDInfo where
import Amiga
data MMDInfo = MMDInfo
{ next :: Maybe MMDInfo
, reserved :: UWORD
, typ :: UWORD
, len :: ULONG
, dat :: [ UBYTE ]
}
deriving (Show)
peek :: MEM -> PTR -> IO MMDInfo
peek m p = do
next''' <- peekPTR m p
next' <- peek m $? next'''
reserved' <- peekUWORD m (p+4)
typ' <- peekUWORD m (p+6)
len' <- peekULONG m (p+8)
dat' <- mapM (peekUBYTE m) $ pointerRangeGen (p+12) 1 len'
return $ MMDInfo
next' reserved' typ' len' dat'