summaryrefslogtreecommitdiff
path: root/freack_gen.hs
blob: 6802a8a3c0f1938b06d9f5e12ced53514e4fe9d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import qualified Data.ByteString.Lazy as BL
import Data.Binary.Put

s_delay = 0
num_cycles = 1
colors_list = [(0x32, 0x30)] -- green

magic 1 x = 2 + 6 * x  

color_number t = fst t * 2^8 + snd t

serialiseSomething :: Put
serialiseSomething = do
  putWord16le 0x5aa5
  putWord16le s_delay
  putWord16le 0x101
  putWord16le 0x101
  putWord16le 0x1
  putWord16le 0
  putWord16le 0
  putWord16le 0
  putWord16le 0
  putWord16le 0
  putWord16le num_cycles
  putWord16le $ fromIntegral $ length colors_list
  putWord16le $ magic num_cycles 1
  putWord16le $ fromIntegral $ color_number $ head colors_list
 
main :: IO ()
main = BL.putStr $ runPut serialiseSomething