Участник:Dim568/Silmarils IO DOS: различия между версиями
Перейти к навигации
Перейти к поиску
Dim568 (обсуждение | вклад) (→Base) |
Dim568 (обсуждение | вклад) (→Base) |
||
Строка 20: | Строка 20: | ||
=== Base === | === Base === | ||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
+ | /* blancpc.io обрабатывается отдельно от основной логики */ | ||
ReadBaseHeader(); | ReadBaseHeader(); | ||
int8_t control = (H1 >> 8) & 0xFE8; //старшие 7 бит | int8_t control = (H1 >> 8) & 0xFE8; //старшие 7 бит | ||
Строка 25: | Строка 26: | ||
if( control < 0){ | if( control < 0){ | ||
if( control == 0xA0 ){ | if( control == 0xA0 ){ | ||
+ | /* базовый кейс, часть данных пишется в сегмент кода o_0 */ | ||
}else{ | }else{ | ||
+ | /* кейс похож на несжатые данные, но под него попадают только monstre.io и telep.io в первой Ishar */ | ||
} | } | ||
}else{ | }else{ | ||
} | } | ||
}else{ | }else{ | ||
+ | /* Кейс похож на хранение системной информации, явный пример main.io */ | ||
ReadExtendedPart(); | ReadExtendedPart(); | ||
if( control < 0){ | if( control < 0){ |
Версия 17:16, 9 сентября 2020
Header
Base
0 | 1 | 2 | 3 | 4 | 5 |
H0 | H1 | H2 |
Extend
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
H3 | H4 | H5 | H6 | H7 | ?? | H9 |
Logic
Base
/* blancpc.io обрабатывается отдельно от основной логики */
ReadBaseHeader();
int8_t control = (H1 >> 8) & 0xFE8; //старшие 7 бит
if( H2 != 0 ){
if( control < 0){
if( control == 0xA0 ){
/* базовый кейс, часть данных пишется в сегмент кода o_0 */
}else{
/* кейс похож на несжатые данные, но под него попадают только monstre.io и telep.io в первой Ishar */
}
}else{
}
}else{
/* Кейс похож на хранение системной информации, явный пример main.io */
ReadExtendedPart();
if( control < 0){
if( control == 0xA0 ){
}else{
}
}else{
}
}