Автор: Unknown BIOS (не проверено) , 18 октября 2004
Ещё один "DOS-экзотический" способ изменения файла original.tmp[50000000] 256 КБ award bios.

Известный "Рецепт 1 (описан в интернете)" изменения файла при работающем modbin, как сказано в статье, работает только с первыми 64КБ, второй способ предполагает знание формата и его учитывание при склейке или замене. Описываемый способ лишён указанных недостатков, зато имеет много других.
Предполагается использование раритетного dosshell. Для тех, у кого не стоит Win9x(или DOS), кто не знаком с работой в DOS, дальше лучше не читать во избежание.

Поскольку в чистом и светлом DOS обычно не хватает памяти в первых 640КБ, помещаем в config.sys что-то вроде

dos=high,umb
fileshigh=40
device=[path]himem.sys /testmemoff
devicehigh=[path]emm386.exe /noems
installhigh=[path]mouse.com

Для удобной работы в dosshell, как в Windows, без мыши не обойтись. Открытых файлов (fileshigh=) меньше лучше не ставить. Убираем все резиденты и прочее, тратящее память. Перегружаемся и получаем около 620КБ свободных. Запускаем dosshell и из него modbin- в нём имеем уже около 570 КБ. Переключамся по Alt+Tab обратно в dosshell и запускаем любимый hexeditor(dos), я использовал Volkov commander. В нём открываем из директории временных файлов(например, c\temp) файл с названием что-то вроде dosshell.swp. Это- образ памяти "процесса" в котором работает modbin со всеми загруженными данными. Правим требуемое, сохраняем. Возвращаемся в modbin, там сохраняем и выходим, сравниваем для верности. Для уверенных в себе и/или умеющих howswap- прошиваем.

Проверялось это на modbin6 1.00.38 и bios c3m266 1.09. Будет ли это работать для других версий modbin(или даже amibcp) и других размеров образов- неизвестно. Кто проверит- откликнитесь. Теоретически, способ должен работать с не менее раритетным GameWizard/DOS, может будет больше свободной памяти, возможно в нём есть встроенный hexedit.

PS Способ предоставляется как есть и никаких гарантий, что он работает- не даётся. Также не несётся никакая ответственность.

PPS Если модераторы найдут работающим и сочтут нужным- можно положить в FAQ.

PPPS dosshell есть в дистрибутиве dos 6.22
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

rgt

21 год 4 месяца назад

Все то же самое можно делать и под нормальными многозадачными ОС, с тем же результатом. Как правило, проще проделать это на другой машине, чем шаманить с настройками ДОС.

NortonC

21 год 4 месяца назад

имеется в виду, запустить dosshell из Windows? или что?

dosshell нужен только для того, чтобы получить в файл память процесса или есть возможность редактировать память чужого процесса в Windows?

rgt

21 год 4 месяца назад

Смысл мероприятия состоит в том, чтобы отредактировать вытащеный modbin-ом файл, когда он вынут из образа прошивки и распакован, а потом вставить его на место. Именно для этого нужно иметь возможность запустить второй процесс для редактирования файла, _не закрывая_ mdobin-а, а как это сделать - неважно. Если бы в modbin-е был предусмотрен выход в DOS, можно было бы вообще не заморачиваться...

Sandra

21 год 4 месяца назад

Зачем изобретать велосипед... (ну конечно можно, если очень хочется) Посмотри http://awdbedit.sourceforge.net/

NortonC

21 год 4 месяца назад

я пробовал переписывать файл из-под modbin'а, но это работает только для первых его 64КБ, а нужно все 128. Про это и в статье написано. Или я чего-то не понял не так?-(

awdbedit использовал, но чем-то он не подошёл, уже не помню, "контрольную сумму" что-ли в бутблоке правил. Может c3m266 особенная, для неё даже cbrom 2.08 на некоторых модулях нельзя использовать, т.е. использовать можно, но после этого знакомимся с бутблоком.

Unknown BIOS (не проверено)

21 год 3 месяца назад

ничего в ней (c3m266) особенного нет. howswap? hot! ^)
там скорее стоит сст"шка, которую без вопросов дампит awfl823b, анпакь dump хоть lha, правь что надо, как надоест - cbrom (только возьми по-новее, чем 2.07) cbrom nullfile /logo m02... (тут имя системного биоса. получится nullfile (который может в винде расти до больших размеров by несшибаемый процесс), его удаляешь в общем. какой-нибудь winhex v11.xx умеет по cntrl-f2 считать crc 8bit unsigned, считаешь для файлика bios.rom (будет он после операций cbrom) только тонкость - ко 2му байту c начала файла добавить 0x10, в 0x11(или0x12, где 0х40 внутри в общем) содержимое меняешь на 0x50, полученный байт crc записываешь в самый конец вышеупомянутого, после, тот же winhex по cntrl-l может до конца (~0x34000) заполнить файл 0xff - сюда пойдут модули, которые нужно вставить с backup'a by cbrom /mod extract/filename

best wishes,

NortonC

21 год 3 месяца назад

сколько различных глаголов:
анпакь, удаляешь, считаешь, добавить, меняешь, записываешь, заполнить, вставить

я ищу простого способа, а то что можно ТАК-это ясно из чтения конфы

хотя всё равно спасибо, за summary:-)

а насчёт цброма-если вырезать файл из биоса, а потом вего вставить, то пересчитывается заодно и в бутблоке crc, а бутблок меняться не должен, иначе при загрузке он и зовётся