Участник:Dim568: различия между версиями
Перейти к навигации
Перейти к поиску
Dim568 (обсуждение | вклад) Нет описания правки |
Dim568 (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
Черновик<br /> | Черновик<br /> | ||
Silmarils IO Structure | =Silmarils IO Structure= | ||
{| class="wikitable" style="text-align:center;" | | {| class="wikitable" style="text-align:center;" | | ||
== Base Header == | |||
|- | |- | ||
| 0|| 1 || 2 || 3 || 4 || 5 | | 0|| 1 || 2 || 3 || 4 || 5 | ||
| Строка 7: | Строка 9: | ||
| colspan="2" | H0 || colspan="2" | H1 || colspan="2" | H2 | | colspan="2" | H0 || colspan="2" | H1 || colspan="2" | H2 | ||
|} | |} | ||
H2 - используется как флаг для определения алгоритма обработки файла<br /> | H2 - используется как флаг для определения алгоритма обработки файла<br /> | ||
==H2 равен 1== | ===H2 равен 1=== | ||
<syntaxhighlight lang="cpp"> | |||
uint16_t VAL1 = H0 - 6 | |||
uint16_t _H1 = H1&0xFEFF; | |||
int8_t Control_1 = (int8_t)(_H1>>8); | |||
if(Control_1 > 0){ | |||
_H1 &= 0xFF; | |||
}else{ | |||
} | |||
</syntaxhighlight> | |||
===H2 равен 0=== | |||
Дочитываются дополнительные 16 байт заголовка | |||
{| class="wikitable" style="text-align:center;" | | {| class="wikitable" style="text-align:center;" | | ||
|- | |- | ||
| 6 || 7 || 8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 21 | | 6 || 7 || 8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 21 | ||
|- | |- | ||
| colspan=" | | colspan="2" | H3 || colspan="2" | H4 || | ||
|} | |} | ||
1 | |||
<syntaxhighlight lang="cpp"> | |||
uint16_t VAL1 = ((H3/4)+1)*16; | |||
VAL1 += 0; // Need check in time | |||
</syntaxhighlight> | |||
Версия от 17:00, 8 сентября 2020
Черновик
Silmarils IO Structure
Base Header
| 0 | 1 | 2 | 3 | 4 | 5 |
| H0 | H1 | H2 | |||
H2 - используется как флаг для определения алгоритма обработки файла
H2 равен 1
uint16_t VAL1 = H0 - 6
uint16_t _H1 = H1&0xFEFF;
int8_t Control_1 = (int8_t)(_H1>>8);
if(Control_1 > 0){
_H1 &= 0xFF;
}else{
}
H2 равен 0
Дочитываются дополнительные 16 байт заголовка
| 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| H3 | H4 | ||||||||||||||
uint16_t VAL1 = ((H3/4)+1)*16;
VAL1 += 0; // Need check in time