Fájlformátumok
*.KEP
0. bájt: 'K'
1. bájt: 'E'
2. bájt: 'P'
3. bájt: kép típusa:
7..4 bit: 0000b (fenntartott)
3..2 bit: tömörítés (00b- fenntartott 01b- RLE tömörített 10b- tömörítetlen 11b- fenntartott)
1..0 bit: videó mód (00b- 2 színű 01b- 4 színű 10b- 16 színű 11b- interlaced)
4. bájt: paletta[0]
5. bájt: paletta[1]
6. bájt: paletta[2]
7. bájt: paletta[3]
8. bájt: X méret pixelben (alsó bájt)
9. bájt: X méret pixelben (felső bájt)
10. bájt: Y méret pixelben (alsó bájt)
11. bájt: Y méret pixelben (felső bájt)
12. bájt: 0 (fenntartott)
13. bájt: 0 (fenntartott)
14. bájt: 0 (fenntartott)
15. bájt: 0 (fenntartott)
16.. képadatok:
- tömörítetlen mód esetén: soronként tárolt képbájtok
vízszintes bájtszám = [(pixelben adott X méret)/(bájtonkénti pixelszám)] felkerekítve bájthatárra
függőleges bájtszám = Y méret
adatbájtok száma = vízszintes bájtszám * függőleges bájtszám
- RLE (futási hossz) tömörítésnél a tömörített adatblokk a sor végéig tart (bájhatárra felkerekítve), majd új tömörített blokk kezdődik
0. bájt: számláló értéke, ha a 7..6 bit = maszk , egyébként közvetlen képbájt
1. bájt: ismétlendő képbájt, ha az előző bájt számlálóértéket tartalmazott
induláskor maszk=0, majd maszk növelése 64-el, ha a számláló érték=1
pl.: tömörítetlen képbájtok: KKKKLLLLLCDGVKAACCCCCC
RLE tömörített: 4*K 5*L CDGVK 2*A 6*C
Sprite
Egyszerű sprite:
0. bájt: X méret bájtban
1. bájt: Y méret bájtban
2. bájttól képadatok: n = X méret * Y méret
Háttérmaszkos sprite:
0. bájt: képadatok mérete (alsó bájt)
1. bájt: képadatok mérete (felső bájt)
2. bájt: X méret bájtban
3. bájt: Y méret bájtban
4. bájttól képadatok: n = X méret * Y méret
n+4 bájttól háttérmaszk adatok: nháttérmaszk = X méret * Y méret
Sprite-hoz tartozó paletta fájl (*.PAL):
0. bájt: paletta[0]
1. bájt: paletta[1]
2. bájt: paletta[2]
3. bájt: paletta[3]
*.RW4
0. bájt: 'R'
1. bájt: 'W'
2. bájt: '4'
3. bájt: típus (csak a 0 érték használt)
4..5. bájt: pitch érték a mintavételi frekvenciához (0..4095)
6..15. bájt: 0 (fenntartott)
16.. PCM adatbájtok: egy adatbájt 2 PCM mintát tartalmaz:
7..4 bit: első 4 bites amplitúdó érték
3..0 bit: második 4 bites amplitúdó érték
*.VID
0. bájt: 'V'
1. bájt: 'I'
2. bájt: 'D'
3. bájt: kép típusa
7..4 bit: 0000b (fenntartott)
3..2 bit: tömörítés (00b- fenntartott 01b- RLE tömörített 10b- tömörítetlen 11b- fenntartott)
1..0 bit: videó mód (00b- 2 színű 01b- 4 színű 10b- 16 színű 11b- interlaced)
4. bájt: paletta[0]
5. bájt: paletta[1]
6. bájt: paletta[2]
7. bájt: paletta[3]
8..9. bájt: X méret pixelben
10..11. bájt: Y méret pixelben
12..13. bájt: 0 (fenntartott)
14..15. bájt: adatok relatív kezdete a fejléc után (jelenleg nem használt, fixen 512-16 = 496)
16..19. bájt: frame-ek száma a fájlban
20..23. bájt: frame-ek közötti idő us-ban megadva
24..25. bájt: egy frame teljes mérete bájtokban
26..27. bájt: hangminták kezdete a frame-en belül (max. 0x01FFF)
28..29. bájt: egy frame-hez tartozó hangminták száma bájtban (minta/40ms)
30..511. bájt: 0 (fenntartott)
512.. frame adatok:
- egy frame-en belül először a képadatok vannak letárolva, majd az adott frame idejére eső hangminták
- a frame-ek fájlon belüli kezdete mindig 512 bájtos pozícióra igazított