emu-russia/breaknes

Chip Features Support

Opened this issue · 0 comments

Сейчас:

  • Каждый чип содержит enum Revision
  • Revision - это просто перечисление всех вариантов исследованных чипов
  • Внутри кода проверяется ревизия и симулируется или не симулируется схема, специфичная для данной ревизии

Надо:

  • Оставить enum Revision, но добавить туда ещё Custom
  • Добавить структуру Features для каждого чипа с boolean полями для включения отдельных "фич" (особенностей) aka симуляцию специфичных схем
  • Код теперь будет проверять не Revision, а флажок в структуре Features для решения - симулировать фичу или нет
  • В конструкторе чипа заполнять структуру Features для стандартных значений Revision дефолтными значениями
  • Для кастомных ревизий (Revision = Custom) структура Features задаётся с помощью вызова API SetChipFeatures

Таким образом останется возможность использования как "стоковых" чипов, которые мы изучили, так и создание кастомной "химеры" со своими уникальными особенностями (схемами).

Зачем: @eugene-s-nesdev просил слепить химеру из чипов фамиклона, для создания "идеального" фамиклон-чипа (без багов).