Ещё один "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
dosshell нужен только для того, чтобы получить в файл память процесса или есть возможность редактировать память чужого процесса в Windows?
awdbedit использовал, но чем-то он не подошёл, уже не помню, "контрольную сумму" что-ли в бутблоке правил. Может c3m266 особенная, для неё даже cbrom 2.08 на некоторых модулях нельзя использовать, т.е. использовать можно, но после этого знакомимся с бутблоком.
там скорее стоит сст"шка, которую без вопросов дампит 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,
анпакь, удаляешь, считаешь, добавить, меняешь, записываешь, заполнить, вставить
я ищу простого способа, а то что можно ТАК-это ясно из чтения конфы
хотя всё равно спасибо, за summary:-)
а насчёт цброма-если вырезать файл из биоса, а потом вего вставить, то пересчитывается заодно и в бутблоке crc, а бутблок меняться не должен, иначе при загрузке он и зовётся