Немного пока неконструктивной критики. :) Минус в

Немного пока неконструктивной критики.:)

Цитата:
  • 1. добавить новый пункт меню с заданными атрибутами, в т.ч. и заданием special-обработчиков для menuitem'а
  • 2. найти свободное место в original.tmp
  • 3. записать туда код своего обработчика(-ов)
  • 4. для этого пункта сделать релокацию страницы menuitem'ов в свободное место (актуально для special'ов и меню в original.tmp).
  • 5. автоматом изменять/добавлять строки в _xx_code.bin
  • 6. соответственно настроить все указатели на special'ы и обработчики
Минус в совместимость. Не во всех BIOS есть свободное место, а где есть - не всегда можно автоматизировать его поиск для корректного использования. Так работал патчер самых первых версий. Выход - использовать модульность и учитывать "динамичность" (не пытаясь рассчитывать на "статичное" свободное место в E000/F000). C радостью предоставлю исходники биоспатчера для реализации подобного (вряд ли особо помогут-понадобятся), равно как и ромпатчера (с реализации виндовой оболочки и не только для аварда) - в нём была заложена как раз реализация всего вышеописанного в том числе.

Интегрированный MemTest