med-module-0.0: src/Sound/MED/Raw/MMDDumpData.hs
module Sound.MED.Raw.MMDDumpData where
import qualified Sound.MED.Raw.MMDDump as MMDDump
import Sound.MED.Raw.MMDDump(MMDDump)
import Sound.MED.Basic.Amiga
data MMDDumpData = MMDDumpData
{ numdumps :: UWORD
, reserved :: [ UWORD ]
, dumps :: [ MMDDump ]
}
deriving (Show)
peek :: MEM -> PTR -> IO MMDDumpData
peek m p = do
numdumps' <- peekUWORD m p
reserved' <- mapM (peekUWORD m) $ pointerRange (p+2) 2 3
dumps'' <- mapM (peekPTR m) $ pointerRangeGen (p+8) 4 numdumps'
dumps' <- mapM (MMDDump.peek m) dumps''
return $ MMDDumpData
numdumps' reserved' dumps'