Участник:Dim568/Silmarils IO DOS: различия между версиями

Материал из Old-Games.RU Wiki
Перейти к навигации Перейти к поиску
Строка 27: Строка 27:
 
     if( control == 0xA0 ){
 
     if( control == 0xA0 ){
 
       /* базовый кейс, часть данных пишется в сегмент кода o_0 */
 
       /* базовый кейс, часть данных пишется в сегмент кода o_0 */
     }else{
+
     }else{
       /* кейс похож на несжатые данные, но под него попадают только monstre.io и telep.io в первой Ishar */
+
       /* Нужно найти файлы подходящие под этот кейс */
 
     }
 
     }
 
   }else{
 
   }else{
 +
    /* кейс похож на несжатые данные, но под него попадают только monstre.io и telep.io в первой Ishar */
 
   }
 
   }
 
}else{
 
}else{

Версия 17:19, 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{  
      /* Нужно найти файлы подходящие под этот кейс */
    }
  }else{
    /* кейс похож на несжатые данные, но под него попадают только monstre.io и telep.io в первой Ishar */
  }
}else{
  /* Кейс похож на хранение системной информации, явный пример main.io */
  ReadExtendedPart();
  if( control < 0){
    if( control == 0xA0 ){
    }else{
    }
  }else{
  }
}