Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Packed IO.SYS

227 views
Skip to first unread message

Alexander Karmanov

unread,
Apr 29, 2011, 3:52:14 PM4/29/11
to
http://rghost.ru/5395904
пароль:RU.DOS

Запакованный IO.SYS (MS-DOS 7.1, ядро 2001г.)
Пропатчен для запуска Win 3.1

Изменил некоторые настройки по умолчанию:

BootMulti=1
DisableLog=1
Logo=0
D??SPACE=0
BootGUI=0
SystemReg=0 (работать не будет в любом случае)

P.S. По большему счету этот IO.SYS мало чем отличается от LZ-DOS. Делал
частично из интереса, может сгодится кому... и конечно никаких гарантий

Alexander Karmanov

unread,
Apr 30, 2011, 6:20:34 AM4/30/11
to
Hello, Alexander!

> http://rghost.ru/5395904
> пароль:RU.DOS

Блин, кое-где забыл подправить, пришлось перезалить:
http://rghost.ru/5401917

Dennis Mysienko

unread,
May 1, 2011, 11:43:12 AM5/1/11
to
Привет, Alexander!

Суббота 30 Апреля 2011 00:52:14, Alexander Karmanov писал(а) к All:

AK> Запакованный IO.SYS (MS-DOS 7.1, ядро 2001г.)

Лого из него выдрано?

AK> Пропатчен для запуска Win 3.1

Патч давно лежит в где-то...

AK> P.S. По большему счету этот IO.SYS мало чем отличается от LZ-DOS.

В плане размера?

AK> Делал частично из интереса, может сгодится кому... и конечно никаких
AK> гарантий

Сама винда потом захочет с ним грузиться?


С уважением, Денис Николаевич Мусиенко.

... Вялотекущая настройка...

Alexander Karmanov

unread,
May 1, 2011, 12:08:39 PM5/1/11
to
Hello, Dennis!

> Привет, Alexander!

> Суббота 30 Апреля 2011 00:52:14, Alexander Karmanov писал(а) к All:

AK>> Запакованный IO.SYS (MS-DOS 7.1, ядро 2001г.)

> Лого из него выдрано?

Да, конечно. Но его просмотром можно насладиться, если положить в корень
LOGO.SYS и Logo=1 в msdos.sys

AK>> Пропатчен для запуска Win 3.1

> Патч давно лежит в где-то...

Да это понятно, фишка не эксклюзивная

AK>> P.S. По большему счету этот IO.SYS мало чем отличается от LZ-DOS.

> В плане размера?

Не только, в LZ-DOS также ядро 2001г., пропатчен для Win31, заменен текст.
Вроде все отличия от оригинала, хотя я бегло просматривал, может что и упустил.
command.com - модифицированный от PC-DOS 7.1

AK>> Делал частично из интереса, может сгодится кому... и конечно никаких
AK>> гарантий

> Сама винда потом захочет с ним грузиться?

Да, все должно нормально работать, кроме показа вшитого лого и функционала
SystemReg=1

Vlad Gnatov

unread,
May 1, 2011, 5:15:11 PM5/1/11
to
On Sun, May 01, 2011 at 08:08:39PM +0400, Alexander Karmanov wrote:
AK> Запакованный IO.SYS (MS-DOS 7.1, ядро 2001г.)
Зачем Вы его запаролили? Пришлось ставить unzip, мой tar парольные
zip непонимает.

AK> Пропатчен для запуска Win 3.1

Проще до win.com подгрузить такой резидентик а после выхода из винды
выгрузить:
https://groups.google.com/group/fido7.ru.dos/msg/aafd127ceac7ab2a

AK> Да, все должно нормально работать, кроме показа вшитого лого и
AK> функционала SystemReg=1
Вместо непонятного бинарника лучше бы расказали, как Вы изготовили
такой замечательный io.sys.
Hапример, взять io.sys убедиться что по 0x200 0x424a8b46, найти
0xcb9090909090, отрезать все что после, забить MZ в начале нулями
и т.д.

Alexander Karmanov

unread,
May 1, 2011, 6:34:51 PM5/1/11
to
Hello, Vlad!

> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>

> On Sun, May 01, 2011 at 08:08:39PM +0400, Alexander Karmanov wrote:
AK>> Запакованный IO.SYS (MS-DOS 7.1, ядро 2001г.)
> Зачем Вы его запаролили? Пришлось ставить unzip, мой tar парольные
> zip непонимает.

А я никогда не пользовался tar и вообще linux, и такое бывает...

AK>> Пропатчен для запуска Win 3.1
> Проще до win.com подгрузить такой резидентик а после выхода из винды
> выгрузить:
> https://groups.google.com/group/fido7.ru.dos/msg/aafd127ceac7ab2a

Проще пропатчить один раз и забыть, это практично. Патч выглядит
безопасным, не думаю что он может негативно повлиять на общую
стабильность системы.

AK>> Да, все должно нормально работать, кроме показа вшитого лого и
AK>> функционала SystemReg=1
> Вместо непонятного бинарника лучше бы расказали, как Вы изготовили
> такой замечательный io.sys

> Hапример, взять io.sys убедиться что по 0x200 0x424a8b46, найти
> 0xcb9090909090, отрезать все что после, забить MZ в начале нулями
> и т.д.

Нет, детально с числами и смещениями описывать конечно не буду.
Все манипуляции с файлами я делал руками в hiew (без hiew - как
без рук) и почти ничего не записывал, записал только смещения по
которым правятся умолчания, изменяемые в msdos.sys.

Если нужна технология, кратко:
обрезаем в конце как Вы написали, правим заголовок io.sys чтобы можно
было упаковать код, пакуем APACK -1 io.exe, правим код распаковщика в
полученном out.exe, отрезаем от него заголовок, вставляем
оригинальный заголовок IO.SYS (2048 байт), правим слово в заголовоке
по смещению 8 - что именно туда писать зависит размера упакованного
файла. Надеюсь, в общих чертах понятно...

Vlad Gnatov

unread,
May 3, 2011, 1:00:21 AM5/3/11
to
On Mon, May 02, 2011 at 02:34:51AM +0400, Alexander Karmanov wrote:
VG>> Вместо непонятного бинарника лучше бы рассказали, как Вы изготовили
VG>> такой замечательный io.sys
VG>> Hапример, взять io.sys убедиться что по 0x200 0x424a8b46, найти
VG>> 0xcb9090909090, отрезать все что после, забить MZ в начале нулями
VG>> и т.д.
AK> Hет, детально с числами и смещениями описывать конечно не буду.
AK> Все манипуляции с файлами я делал руками в hiew (без hiew - как
AK> без рук) и почти ничего не записывал, записал только смещения по
AK> которым правятся умолчания, изменяемые в msdos.sys.
Зря, лет через десять понадобиться - сами невспомните ')
У меня остались отдельные ошметки, вроде реконструированного exe из io.sys,
но хоть убей, непомню как и что я делал.

AK> Если нужна технология, кратко:
AK> обрезаем в конце как Вы написали, правим заголовок io.sys чтобы можно
AK> было упаковать код, пакуем APACK -1 io.exe, правим код распаковщика в
AK> полученном out.exe, отрезаем от него заголовок, вставляем
AK> оригинальный заголовок IO.SYS (2048 байт), правим слово в заголовоке
AK> по смещению 8 - что именно туда писать зависит размера упакованного
AK> файла. Hадеюсь, в общих чертах понятно...
apack, upx, я все жду когда кто-нибудь восстановит комресор использовавшийся
в msdos 8, там lzx, с помощью libmspack это сделать не так уж сложно,
было бы желание.

p.s. Если Вам интересно этим заниматься, можете погуглить io.sys +lba +patch
ну и на msfn.org загляните.

Alexander Karmanov

unread,
May 3, 2011, 6:25:08 AM5/3/11
to
Hello, Vlad!

> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>

> On Mon, May 02, 2011 at 02:34:51AM +0400, Alexander Karmanov wrote:
VG>>> Вместо непонятного бинарника лучше бы рассказали, как Вы изготовили
VG>>> такой замечательный io.sys
VG>>> Hапример, взять io.sys убедиться что по 0x200 0x424a8b46, найти
VG>>> 0xcb9090909090, отрезать все что после, забить MZ в начале нулями
VG>>> и т.д.
AK>> Hет, детально с числами и смещениями описывать конечно не буду.
AK>> Все манипуляции с файлами я делал руками в hiew (без hiew - как
AK>> без рук) и почти ничего не записывал, записал только смещения по
AK>> которым правятся умолчания, изменяемые в msdos.sys.
> Зря, лет через десять понадобиться - сами невспомните ')
> У меня остались отдельные ошметки, вроде реконструированного exe из io.sys,
> но хоть убей, непомню как и что я делал.

Любопытство удовлетворено, а сколько нужно времени чтобы все это детально
описать боюсь даже представить. Лучше сделаю все с нуля, если что,
посматривая в готовый бинарник.

AK>> Если нужна технология, кратко:
AK>> обрезаем в конце как Вы написали, правим заголовок io.sys чтобы можно
AK>> было упаковать код, пакуем APACK -1 io.exe, правим код распаковщика в
AK>> полученном out.exe, отрезаем от него заголовок, вставляем
AK>> оригинальный заголовок IO.SYS (2048 байт), правим слово в заголовоке
AK>> по смещению 8 - что именно туда писать зависит размера упакованного
AK>> файла. Hадеюсь, в общих чертах понятно...

> apack, upx, я все жду когда кто-нибудь восстановит комресор использовавшийся
> в msdos 8, там lzx, с помощью libmspack это сделать не так уж сложно,
> было бы желание.

К сожалению мои желания не всегда совпадают с возможностями... Если бы
существовал EXE-packer на этом алгоритме - другое дело, а там какая-то Си-шная
библиотека. Да и судя по всему выигрыш в размере файла будет очень
небольшим, если вообще будет. Была мысль сделать на UPX-LZMA, но LZMA
настолько тормозной (по заявлениям авторов UPX в ~30 раз медленнее NRV)
что счастливым обладателям какого-нибудь 386 пришлось бы прилично подождать
пока загрузится DOS :). При выигрыше в 2.5кб по сравнению с apack.

> p.s. Если Вам интересно этим заниматься, можете погуглить io.sys +lba +patch
> ну и на msfn.org загляните.

Видел этот патч, но решил не применять. Я не знаю как он работает.
Судя описанию там 2 патча, применение 1 решает какие-то проблемы с
"phantom drives" непосредственно в винде, это можно пережить.
2 как бы расширенный вариант 1-го, но после его применения вся работа
с дисками будет через LBA, который есть не на всех компах (древних)
+ невозможна загрузка с дискеты
+ проблемы которые он решает можно избежать правкой таблицы разделов
+ такую таблицу разделов не часто встретишь
+ лично мне достаточно 4 primary раздела и с extended предпочитаю не
связываться,
+ + + :)
Если я правильно все понял читая на вражеском...
Тем не менее сделаю пакованный IO.SYS с применением этого патча, выложу
как будет готов.

Сам патч: http://jds.atbhost.net/utilities/lba98fix.zip

Alexander Karmanov

unread,
May 3, 2011, 1:15:01 PM5/3/11
to
http://rghost.ru/5458107

IO.SYS: Ядро MS-DOS v7.1 (English, 2001-12-01)

Пропатчено для возможности запуска Win 3.1
Настройки по-умолчанию:


BootMulti=1
DisableLog=1
Logo=0
D??SPACE=0
BootGUI=0
SystemReg=0

IO_LBAFX.SYS: Также применен патч LBAFIX от Joe da Silva и Steven Saunderson
http://jds.atbhost.net/utilities/lba98fix.zip

пароль RU.DOS

> но после его применения вся работа
> с дисками будет через LBA, который есть не на всех компах (древних)

только с extended

> + невозможна загрузка с дискеты

Грузится, значит с английским у меня совсем плохо...

Vlad Gnatov

unread,
May 3, 2011, 9:55:26 PM5/3/11
to
On Tue, May 03, 2011 at 02:25:08PM +0400, Alexander Karmanov wrote:
AK>>> Hет, детально с числами и смещениями описывать конечно не буду.
^
Кто-то по дороге подставляет латинскую H.

AK>>> Все манипуляции с файлами я делал руками в hiew (без hiew - как
AK>>> без рук) и почти ничего не записывал, записал только смещения по
AK>>> которым правятся умолчания, изменяемые в msdos.sys.

VG>> Зря, лет через десять понадобиться - сами невспомните ')
VG>> У меня остались отдельные ошметки, вроде реконструированного exe из io.sys,
VG>> но хоть убей, непомню как и что я делал.
AK> Любопытство удовлетворено, а сколько нужно времени чтобы все это детально
AK> описать боюсь даже представить. Лучше сделаю все с нуля, если что,
AK> посматривая в готовый бинарник.
Сейчас я бы написал скрипт с комментариями в ключевых местах: и документация,
и руками делать ничего ненадо.

VG>> apack, upx, я все жду когда кто-нибудь восстановит комрессор использовавшийся
VG>> в msdos 8, там lzx, с помощью libmspack это сделать не так уж сложно,
VG>> было бы желание.
AK> К сожалению мои желания не всегда совпадают с возможностями... Если бы
AK> существовал EXE-packer на этом алгоритме - другое дело, а там какая-то
AK> Си-шная библиотека.
Т.к. алгоритм известен, сделать совместимый с распаковщиком из msdos 8
компрессор не очень сложно, но Вы правы, это проект на случай когда совсем
нечего делать.

AK> Да и судя по всему выигрыш в размере файла будет очень
AK> небольшим, если вообще будет. Была мысль сделать на UPX-LZMA, но LZMA
AK> настолько тормозной (по заявлениям авторов UPX в ~30 раз медленнее NRV)
AK> что счастливым обладателям какого-нибудь 386 пришлось бы прилично подождать
AK> пока загрузится DOS :). При выигрыше в 2.5кб по сравнению с apack.
Это он пакует долго, а распаковывает всего в 3 раза медленнее gzip(deflate),
причем мы говорим о величинах порядка 0.055s для распаковки 130k (570k unpacked)
на Pentium III @ 933 MHz.
Хотя кто его знает, как lzma реализовано в upx, проверьте в досбоксе,
его можно притормозить хоть до 386sx.
Кстати, а зачем Вы вообще io.sys пакуете? Это для дискет имело смысл,
а современным винтам с их мегабайтным read-ahead все равно что 70, что 120k.

VG>> p.s. Если Вам интересно этим заниматься, можете погуглить io.sys +lba +patch
VG>> ну и на msfn.org загляните.
AK> Видел этот патч, но решил не применять. Я не знаю как он работает.
Патч меняет всего 3 байта:
Offset 206C was 3E now 85 (causes 0x05 ext par access to be LBA not CHS).
Offset 2072 was 04 now 00 (erroneous set of LBA flag for next par).
Offset 3A01 was JNZ (75) now JMPS (EB) (stops erroneous adjust of LBA key).
В biew/hiew можно проследить что эти замены изменяют.

AK> Судя описанию там 2 патча, применение 1 решает какие-то проблемы с
AK> "phantom drives" непосредственно в винде, это можно пережить.
В msdos 7 баг в энумерация партиций в случае когда в ext 5 находяться
lba 0xC/0xE. В freedos стараются быть bug to bug совместимыми с msdos, так что
можете посмотреть:
http://freedos.svn.sourceforge.net/viewvc/freedos/kernel/trunk/kernel/initdisk.c?revision=1482&view=markup

AK> + невозможна загрузка с дискеты
Загружается нормально (в эмуляторе).

AK> Сам патч: http://jds.atbhost.net/utilities/lba98fix.zip
Лучше: http://home.exetel.com.au/phelum/w98.htm

Alexander Karmanov

unread,
May 4, 2011, 4:00:51 AM5/4/11
to
Hello, Vlad!

> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>

> On Tue, May 03, 2011 at 02:25:08PM +0400, Alexander Karmanov wrote:
AK>>>> Hет, детально с числами и смещениями описывать конечно не буду.
> ^
> Кто-то по дороге подставляет латинскую H.

А это Макс и Юрец, руки бы им поотрывать... щютка, на самом деле
я пишу с замечательного сервиса fido-online.org (см. Origin),
который они организовали, за что им спасибо, видимо там все это дело
и заменяется. Причем при регистрации выдается и пойнт...
Единственное чего мне не хватает - нет подписки на e-mail, но это ничего...

AK>>>> Все манипуляции с файлами я делал руками в hiew (без hiew - как
AK>>>> без рук) и почти ничего не записывал, записал только смещения по
AK>>>> которым правятся умолчания, изменяемые в msdos.sys.
VG>>> Зря, лет через десять понадобиться - сами невспомните ')
VG>>> У меня остались отдельные ошметки, вроде реконструированного exe из

VG>>> io.sys,


VG>>> но хоть убей, непомню как и что я делал.
AK>> Любопытство удовлетворено, а сколько нужно времени чтобы все это

AK>> детально


AK>> описать боюсь даже представить. Лучше сделаю все с нуля, если что,
AK>> посматривая в готовый бинарник.
> Сейчас я бы написал скрипт с комментариями в ключевых местах: и
> документация,
> и руками делать ничего ненадо.

А уже не надо, все сделано :)
Если паковка не нужна, обрезаете как вы сами написали, далее вычисляете:
((размер файла - 1536)/16), полученное слово (размер в параграфах) пишем
в заголовок по смещению 8, т.е. для файла размером 122896 забиваем x1DA1.
По этому числу загрузчик определяет сколько читать с диска.
Или вам нужны смещения по которым правятся умолчания? Если нужно кину.

AK>> Да и судя по всему выигрыш в размере файла будет очень
AK>> небольшим, если вообще будет. Была мысль сделать на UPX-LZMA, но LZMA
AK>> настолько тормозной (по заявлениям авторов UPX в ~30 раз медленнее NRV)
AK>> что счастливым обладателям какого-нибудь 386 пришлось бы прилично

AK>> подождать


AK>> пока загрузится DOS :). При выигрыше в 2.5кб по сравнению с apack.
> Это он пакует долго, а распаковывает всего в 3 раза медленнее gzip(deflate),
> причем мы говорим о величинах порядка 0.055s для распаковки 130k (570k
> unpacked)
> на Pentium III @ 933 MHz.
> Хотя кто его знает, как lzma реализовано в upx, проверьте в досбоксе,
> его можно притормозить хоть до 386sx.

Замедлил свой Celeron 1Ghz отключением кэша (cpucache off), вот что получилось:
http://s1.ipicture.ru/uploads/20110504/JNmPgsgd.jpg

Запаковал 500к dos-exe, распаковка (проверял запуском):
UPX NRV (классический): ~1.5сек. (размер файла ~126К)
UPX LZMA: ~33.5сек. (113К)

Как будет на реальном 386 я сказать не могу, пусть даже 10сек...
В общем автор UPX не соврал (в документации к UPX есть предупреждение
насчет LZMA+DOS16EXE).

> Кстати, а зачем Вы вообще io.sys пакуете? Это для дискет имело смысл,
> а современным винтам с их мегабайтным read-ahead все равно что 70, что 120k.

Я же писал что частично это было сделано из интереса, а если получилось,
то почему нет? Кстати флопик у меня имеется и очень даже работает.
Кроме того есть еще образы дискет на CD (объем-то ограничен)
и тормозное чтение с флешек BIOS'ом (тормозное-это далеко не 1Mb/с как на USB
1.0).
Ну допустим, в таком случае зачем его вообще обрезать? :)

VG>>> p.s. Если Вам интересно этим заниматься, можете погуглить io.sys +lba

VG>>> +patch


VG>>> ну и на msfn.org загляните.
AK>> Видел этот патч, но решил не применять. Я не знаю как он работает.
> Патч меняет всего 3 байта:
> Offset 206C was 3E now 85 (causes 0x05 ext par access to be LBA not CHS).
> Offset 2072 was 04 now 00 (erroneous set of LBA flag for next par).

^^^^^^^^^^^ Тот патч на который я кидал ссылку (и который я применил в
IO_LBAFX)
не делает правку этого байта, т.к. автор пишет что поимел какие-то проблемы с
LBA
(без подробностей) после применения оригинального патча от Steven Saunderson.
Если интересно читайте READ.ME

> Offset 3A01 was JNZ (75) now JMPS (EB) (stops erroneous adjust of LBA key).
> В biew/hiew можно проследить что эти замены изменяют.

Да посмотреть-то можно, не факт что будет понятно (я например не могу так
сходу разобраться, хотя сильно и не пытался).

AK>> Судя описанию там 2 патча, применение 1 решает какие-то проблемы с
AK>> "phantom drives" непосредственно в винде, это можно пережить.
> В msdos 7 баг в энумерация партиций в случае когда в ext 5 находяться
> lba 0xC/0xE. В freedos стараются быть bug to bug совместимыми с msdos, так
> что
> можете посмотреть:
> http://freedos.svn.sourceforge.net/viewvc/freedos/kernel/trunk/kernel/initdisk.c?revision=1482&view=markup

Спасибо, бегло так посмотрел, в общих чертах понятно.

AK>> + невозможна загрузка с дискеты
> Загружается нормально (в эмуляторе).

Да проверял, работает, возможно это касается non-LBA bios? В любом случае
автор патча не я, так я понял прочитанное в документации к патчу.

Nikolay Nikolaev

unread,
May 7, 2011, 10:34:15 AM5/7/11
to
Hi Alexander!

AK> Замедлил свой Celeron 1Ghz отключением кэша (cpucache off), вот что
AK> получилось: http://s1.ipicture.ru/uploads/20110504/JNmPgsgd.jpg
Эта скоpость чуть больше чем у 286 на 12Мгц.

Bye.

Yury Roschupkin

unread,
May 8, 2011, 2:51:18 AM5/8/11
to
Hi!

04 май 11 13:00, you wrote to Vlad Gnatov:

>> Кто-то по дороге подставляет латинскую H.

AK> А это Макс и Юрец, руки бы им поотрывать... щютка, на самом деле
AK> я пишу с замечательного сервиса fido-online.org (см. Origin),
AK> который они организовали, за что им спасибо, видимо там все это дело
AK> и заменяется. Причем при регистрации выдается и пойнт...
AK> Единственное чего мне не хватает - нет подписки на e-mail, но это
AK> ничего...

Буковка у меня не подменяется. Это где-то по пути.
А зачем тебе e-mail? HTTP доступен из любой точки мира.


-+-
WBR, YuR

Alexander Karmanov

unread,
May 8, 2011, 3:59:35 AM5/8/11
to
Hello, Yury!

>>> Кто-то по дороге подставляет латинскую H.
AK>> А это Макс и Юрец, руки бы им поотрывать... щютка, на самом деле
AK>> я пишу с замечательного сервиса fido-online.org (см. Origin),
AK>> который они организовали, за что им спасибо, видимо там все это дело
AK>> и заменяется. Причем при регистрации выдается и пойнт...
AK>> Единственное чего мне не хватает - нет подписки на e-mail, но это
AK>> ничего...

> Буковка у меня не подменяется. Это где-то по пути.

Понял. Хотя меня это в общем не беспокоит, в курсе что это нужно делать для
нормальной работы какого-то фидошного софта.

> А зачем тебе e-mail? HTTP доступен из любой точки мира.

Трафик небольшой, удобно при поступлении новых сообщений получать e-mail (у
меня установлен poppeeper который переодически проверяет ящик через pop3).
Но это мелочь, мой каприз, в остальном все очень удобно.

Alexander Karmanov

unread,
May 8, 2011, 4:18:42 AM5/8/11
to
Hello, Nikolay!

> Hi Alexander!

Если график не врет... Лучше сравнивать в реальной программе. Но вот запустил
Golden Axe - подтормаживает.

Nikolay Nikolaev

unread,
May 8, 2011, 5:24:05 AM5/8/11
to
Hi Alexander!

>> Эта скоpость чуть больше чем у 286 на 12Мгц.

AK> Если гpафик не вpет... Лучше сpавнивать в pеальной пpогpамме.
Sysinfo ноpтона как pаз хоpошо меpяет слабые пpоцы.

AK> Hо вот запустил Golden Axe - подтоpмаживает.
Hу да, на 12МГц он итак подтоpмаживал.

Bye.

Alexander Karmanov

unread,
May 8, 2011, 6:47:09 AM5/8/11
to
Hello, Nikolay!

>>> Эта скоpость чуть больше чем у 286 на 12Мгц.
AK>> Если гpафик не вpет... Лучше сpавнивать в pеальной пpогpамме.
> Sysinfo ноpтона как pаз хоpошо меpяет слабые пpоцы.

Меня смущает то что в полоске показывает 9.7, значительно уступая 386
А внизу показывает уже 40Mhz.

Кстати на скриншоте был 667Mhz с отключенным кэшем, забыл что еще частоту
понижал. Для 1000Mhz на полоске уже 13,7-14 и 53-55Mhz внизу.

AK>> Hо вот запустил Golden Axe - подтоpмаживает.
> Hу да, на 12МГц он итак подтоpмаживал.

Да мне тоже так кажется, хоть и не помню точно. Лет 12 назад был у меня 286...

Nikolay Nikolaev

unread,
May 8, 2011, 11:01:05 AM5/8/11
to
Hi Alexander!

AK> Меня смущает то что в полоске показывает 9.7, значительно уступая 386
Hу 9.2 это pовно 12МГц, а 9.7 я получал на 286 путем пpогpамного ускоpения
частоты обновления памяти.

AK> А внизу показывает уже 40Mhz.
Hу мало ли откуда он эти данные беpет, пpосто во вpемя выпуска сисинфо не было
целеpонов.

AK> Кстати на скpиншоте был 667Mhz с отключенным кэшем, забыл что еще
AK> частоту понижал. Для 1000Mhz на полоске уже 13,7-14 и 53-55Mhz внизу.
Скоpость можно замеpить более дpугой пpогpаммой тех лет, только все они
изменяют по pазному :-) у каждой свои попугаи.

AK>>> Hо вот запустил Golden Axe - подтоpмаживает.
>> Hу да, на 12МГц он итак подтоpмаживал.

AK> Да мне тоже так кажется, хоть и не помню точно. Лет 12 назад был у меня
AK> 286...
Вpоде если со звуком, то точно тоpмозил, на 386 уже было повеселее.

Bye.

Vitaliy Geydeko

unread,
May 8, 2011, 2:00:22 PM5/8/11
to
Привет, Alexander!

08 Май 11 13:18, ты писал(а) Nikolay Nikolaev:

AK>>> Замедлил свой Celeron 1Ghz отключением кэша (cpucache off), вот

AK>>> что


AK>>> получилось: http://s1.ipicture.ru/uploads/20110504/JNmPgsgd.jpg
>> Эта скоpость чуть больше чем у 286 на 12Мгц.

AK> Если график не врет... Лучше сравнивать в реальной программе. Но вот
AK> запустил Golden Axe - подтормаживает.

кем любишь?

я дедом любил. подпрыгнул и топором по куполу


Vitaliy

Alexander Karmanov

unread,
May 8, 2011, 2:36:45 PM5/8/11
to
Hello, Vitaliy!

AK>> Если график не врет... Лучше сравнивать в реальной программе. Но вот
AK>> запустил Golden Axe - подтормаживает.

> кем любишь?

> я дедом любил. подпрыгнул и топором по куполу

:) Да, конечно дедом, этот удар у него лучше всех получается. Иногда играл
вдвоем со знакомым, перед началом игры спор - кто будет играть на правой части
клавиатуры и кто будет дедом

Nikolay Nikolaev

unread,
May 9, 2011, 1:13:45 AM5/9/11
to
Hi Vitaliy!

VG> кем любишь?
VG> я дедом любил. подпpыгнул и топоpом по куполу
Главное оседлать дpакона и потом не потеpять его )

Bye.

Vitaliy Geydeko

unread,
May 9, 2011, 12:29:46 AM5/9/11
to
Привет, Alexander!

08 Май 11 23:36, ты писал(а) мне:

AK>>> запустил Golden Axe - подтормаживает.

>> кем любишь?

>> я дедом любил. подпрыгнул и топором по куполу

AK> :) Да, конечно дедом, этот удар у него лучше всех получается. Иногда
AK> играл вдвоем со знакомым, перед началом игры спор - кто будет играть
AK> на правой части клавиатуры и кто будет дедом

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

Vitaliy

Vitaliy Geydeko

unread,
May 9, 2011, 6:41:30 AM5/9/11
to
Привет, Nikolay!

09 Май 11 10:13, ты писал(а) мне:


VG>> кем любишь?
VG>> я дедом любил. подпpыгнул и топоpом по куполу

NN> Главное оседлать дpакона и потом не потеpять его )

дракон - тема. Я вот не помню, на площадку с боссами на драконе пускают?

Vitaliy

Alexander Karmanov

unread,
May 9, 2011, 3:14:39 PM5/9/11
to
Hello, Vitaliy!

> Привет, Nikolay!

Дракона отбирают еще до боссов (2 последних), на очередном ночлеге. А вот
рыцарей и лысых с молотками можно пожарить :)

Sergey Poziturin

unread,
May 10, 2011, 5:59:50 AM5/10/11
to
09.05.2011 09:29, Vitaliy Geydeko пишет:

AK>>>> запустил Golden Axe - подтормаживает.

??>>> кем любишь?
??>>> я дедом любил. подпрыгнул и топором по куполу


AK>> :) Да, конечно дедом, этот удар у него лучше всех

AK>> получается. Иногда играл вдвоем со знакомым, перед началом
AK>> игры спор - кто будет играть на правой части клавиатуры и
AK>> кто будет дедом
VG> у нас тоже были коллективные походы.
VG> в топор можно и одним проходить, а вот в дейтч трек нам
VG> привычней было на пару. Один ведет, другой стреляет. Турбо на
VG> тройке приходилось вырубать конечно

Да, это точно! Так же в дес трек рубили, только ещё на 286-м. К этому же
списку великих добавляю Scorched earth. Тот scorch, который the mother
of all games. Рубили в 5-6 рыл в режиме поочерёдной стрельбы. В dosbox
работает и поныне, а ничего аналогичного так и не сделали, имхо. Клоны
тех же лет типа howitzer и переделки на новый лад типа scorch3d не считаем.

--
[ pushkin_...@jabber.ru ] [2:5020/2140]
http://vp.propush.ru

Vitaliy Geydeko

unread,
May 9, 2011, 9:56:22 PM5/9/11
to
Привет, Alexander!

10 Май 11 00:14, ты писал(а) мне:


NN>>> Главное оседлать дpакона и потом не потеpять его )

>> дракон - тема. Я вот не помню, на площадку с боссами на драконе
>> пускают?

AK> Дракона отбирают еще до боссов (2 последних), на очередном ночлеге. А
AK> вот рыцарей и лысых с молотками можно пожарить :)

дааа. а так рыцаря можно только плечом с разбега. или магией

Vitaliy

Alexander Karmanov

unread,
May 10, 2011, 12:19:06 PM5/10/11
to
Hello, Vitaliy!

> Привет, Alexander!

"Под Волгоградом 16-летний подросток убил мать по сценарию компьютерной игры"
http://www.kp.ru/online/news/889037/

Правда там скриншот явно из игры под приставку, да и не факт что он именно
в нее играл, поди в современный ремейк...

Vlad Gnatov

unread,
May 10, 2011, 10:00:12 PM5/10/11
to
On Wed, May 04, 2011 at 12:00:51PM +0400, Alexander Karmanov wrote:
VG>> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>

AK> Если паковка не нужна, обрезаете как вы сами написали, далее вычисляете:
AK> ((размер файла - 1536)/16), полученное слово (размер в параграфах) пишем
AK> в заголовок по смещению 8, т.е. для файла размером 122896 забиваем x1DA1.
AK> По этому числу загрузчик определяет сколько читать с диска.
Hеобязательно, больше размера файла загрузчик не прочитает, а вот забить
MZ сигнатуру желательно, мало ли кто попробует запустить.

VG>> Это он пакует долго, а распаковывает всего в 3 раза медленнее gzip(deflate),
VG>> причем мы говорим о величинах порядка 0.055s для распаковки 130k (570k
VG>> unpacked)
VG>> на Pentium III @ 933 MHz.
AK> Замедлил свой Celeron 1Ghz отключением кэша (cpucache off), вот что получилось:
AK> http://s1.ipicture.ru/uploads/20110504/JNmPgsgd.jpg
AK>
AK> Запаковал 500к dos-exe, распаковка (проверял запуском):
AK> UPX NRV (классический): ~1.5сек. (размер файла ~126К)
AK> UPX LZMA: ~33.5сек. (113К)
AK>
AK> Как будет на реальном 386 я сказать не могу, пусть даже 10сек...
AK> В общем автор UPX не соврал (в документации к UPX есть предупреждение
AK> насчет LZMA+DOS16EXE).
Хм, не думаю что разница в 20+ раз из-за разрядности кода, скорее из-за
проблем с количеством и сегментацией памяти. Хорошо бы прогнать через
профайлер, что то здесь не так.

VG>> Кстати, а зачем Вы вообще io.sys пакуете? Это для дискет имело смысл,
VG>> а современным винтам с их мегабайтным read-ahead все равно что 70, что 120k.
AK> Я же писал что частично это было сделано из интереса, а если получилось,
AK> то почему нет? Кстати флопик у меня имеется и очень даже работает.
AK> Кроме того есть еще образы дискет на CD (объем-то ограничен)
Для того чтобы не возиться с эмуляцией дискет был eltorito.sys

AK> и тормозное чтение с флешек BIOS'ом (тормозное-это далеко не 1Mb/с как на
AK> USB 1.0). Hу допустим, в таком случае зачем его вообще обрезать? :)
Когда я этим занимался, флопики еще водились в дикой природе.

Vitaliy Geydeko

unread,
May 11, 2011, 12:25:16 AM5/11/11
to
Привет, Alexander!

10 Май 11 21:19, ты писал(а) мне:

>>>> дракон - тема. Я вот не помню, на площадку с боссами на драконе
>>>> пускают?

AK>>> Дракона отбирают еще до боссов (2 последних), на очередном

AK>>> ночлеге. А


AK>>> вот рыцарей и лысых с молотками можно пожарить :)

>> дааа. а так рыцаря можно только плечом с разбега. или магией

AK> "Под Волгоградом 16-летний подросток убил мать по сценарию
AK> компьютерной игры"
AK> http://www.kp.ru/online/news/889037/

AK> Правда там скриншот явно из игры под приставку, да и не факт что он
AK> именно в нее играл, поди в современный ремейк...

В Китае то что то ранее было.
а первый мултиплеер увидел в думе 2. По сопле ком - ком

Vitaliy

Vitaliy Geydeko

unread,
May 11, 2011, 12:20:52 AM5/11/11
to
Привет, Sergey!

10 Май 11 14:59, ты писал(а) мне:

VG>> у нас тоже были коллективные походы.
VG>> в топор можно и одним проходить, а вот в дейтч трек нам
VG>> привычней было на пару. Один ведет, другой стреляет. Турбо на
VG>> тройке приходилось вырубать конечно

SP> Да, это точно! Так же в дес трек рубили, только ещё на 286-м. К этому
SP> же списку великих добавляю Scorched earth. Тот scorch, который the
SP> mother of all games. Рубили в 5-6 рыл в режиме поочерёдной стрельбы. В
SP> dosbox работает и поныне, а ничего аналогичного так и не сделали,
SP> имхо. Клоны тех же лет типа howitzer и переделки на новый лад типа
SP> scorch3d не считаем.

не попадались.

частенько любили полетать в европе на f117
чуть позже перенес ее домой, купил джойстик. Кста докрутил досокс, что бы LHX
не терялося отобиля осей современого штурвалчика.

Vitaliy

Alexander Karmanov

unread,
May 11, 2011, 9:45:59 AM5/11/11
to
Hello, Vlad!

> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>

> On Wed, May 04, 2011 at 12:00:51PM +0400, Alexander Karmanov wrote:
VG>>> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>

AK>> Если паковка не нужна, обрезаете как вы сами написали, далее вычисляете:
AK>> ((размер файла - 1536)/16), полученное слово (размер в параграфах) пишем
AK>> в заголовок по смещению 8, т.е. для файла размером 122896 забиваем x1DA1.
AK>> По этому числу загрузчик определяет сколько читать с диска.
> Hеобязательно, больше размера файла загрузчик не прочитает, а вот забить

Я это не просто так написал, проверено на практике, будет незагруз.

> MZ сигнатуру желательно, мало ли кто попробует запустить.

Он и так не запустится, можете проверить. А вот загрузчик проверяет
наличие "MZ"...

VG>>> Это он пакует долго, а распаковывает всего в 3 раза медленнее

VG>>> gzip(deflate),


VG>>> причем мы говорим о величинах порядка 0.055s для распаковки 130k (570k
VG>>> unpacked)
VG>>> на Pentium III @ 933 MHz.
AK>> Замедлил свой Celeron 1Ghz отключением кэша (cpucache off), вот что

AK>> получилось:


AK>> http://s1.ipicture.ru/uploads/20110504/JNmPgsgd.jpg
AK>>
AK>> Запаковал 500к dos-exe, распаковка (проверял запуском):
AK>> UPX NRV (классический): ~1.5сек. (размер файла ~126К)
AK>> UPX LZMA: ~33.5сек. (113К)
AK>>
AK>> Как будет на реальном 386 я сказать не могу, пусть даже 10сек...
AK>> В общем автор UPX не соврал (в документации к UPX есть предупреждение
AK>> насчет LZMA+DOS16EXE).
> Хм, не думаю что разница в 20+ раз из-за разрядности кода, скорее из-за
> проблем с количеством и сегментацией памяти. Хорошо бы прогнать через
> профайлер, что то здесь не так.

Не знаю, возможно.

* dos/exe: LZMA is now also supported for 16-bit dos/exe. Please note that
you have to explicitly use '--lzma' even for '--ultra-brute' here
because runtime decompression is about 30 times slower than NRV -
which is really noticeable on old machines.

VG>>> Кстати, а зачем Вы вообще io.sys пакуете? Это для дискет имело смысл,
VG>>> а современным винтам с их мегабайтным read-ahead все равно что 70, что

VG>>> 120k.


AK>> Я же писал что частично это было сделано из интереса, а если получилось,
AK>> то почему нет? Кстати флопик у меня имеется и очень даже работает.
AK>> Кроме того есть еще образы дискет на CD (объем-то ограничен)
> Для того чтобы не возиться с эмуляцией дискет был eltorito.sys

Да, я его использую. Но не вижу веских причин отказываться от
использования обрезанного и пакованного io.sys

Vlad Gnatov

unread,
May 11, 2011, 10:40:17 PM5/11/11
to
On Wed, May 11, 2011 at 05:45:59PM +0400, Alexander Karmanov wrote:
VG>> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>
AK>>> Если паковка не нужна, обрезаете как вы сами написали, далее вычисляете:
AK>>> ((размер файла - 1536)/16), полученное слово (размер в параграфах) пишем
AK>>> в заголовок по смещению 8, т.е. для файла размером 122896 забиваем x1DA1.
AK>>> По этому числу загрузчик определяет сколько читать с диска.
VG>> Hеобязательно, больше размера файла загрузчик не прочитает, а вот забить
AK> Я это не просто так написал, проверено на практике, будет незагруз.

VG>> MZ сигнатуру желательно, мало ли кто попробует запустить.
AK> Он и так не запустится, можете проверить. А вот загрузчик проверяет
AK> наличие "MZ"...
Я проверял оба утверждения. Зависит от версии доса, например встроенный
dosbox dos с MZ виснет, мой io.sys(win98se, 222390, baecec2beb000ca9e8fb51ba573eecb5)
MZ не проверяет и загружается без изменения размера в exe заголовке.
Забавно, я полагал что msboot(первые 2K) во всех msdos 7.x одинаков.

VG>>>> Кстати, а зачем Вы вообще io.sys пакуете? Это для дискет имело смысл,
VG>>>> а современным винтам с их мегабайтным read-ahead все равно что 70, что
VG>>>> 120k.
AK>>> Я же писал что частично это было сделано из интереса, а если получилось,
AK>>> то почему нет? Кстати флопик у меня имеется и очень даже работает.
AK>>> Кроме того есть еще образы дискет на CD (объем-то ограничен)

VG>> Для того чтобы не возиться с эмуляцией дискет был eltorito.sys
AK> Да, я его использую. Hо не вижу веских причин отказываться от
AK> использования обрезанного и пакованного io.sys
Дело Ваше, я не вижу веских причин паковать/обрезать в нынешних условиях.
Честно говоря, я не вижу причин пользоваться msdos кроме как для запуска
win9x, даже если не говорить о технических вопросах, купить ее уже
невозможно.

Alexander Karmanov

unread,
May 12, 2011, 2:57:02 AM5/12/11
to
Hello, Vlad!

> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>

VG>>> MZ сигнатуру желательно, мало ли кто попробует запустить.
AK>> Он и так не запустится, можете проверить. А вот загрузчик проверяет
AK>> наличие "MZ"...
> Я проверял оба утверждения. Зависит от версии доса, например встроенный
> dosbox dos с MZ виснет, мой io.sys(win98se, 222390,
> baecec2beb000ca9e8fb51ba573eecb5)
> MZ не проверяет и загружается без изменения размера в exe заголовке.

Значит повезло, особенно без корректировки размера, здесь грузится а там
не будет. Дело может быть в мелких нюансах. Судя по всему "MZ" проверяется
только при загрузке с FAT32 - Invalid system disk. Оно и понятно, загрузчик
там побольше, есть где разгуляться с дополнительной проверкой.

> Забавно, я полагал что msboot(первые 2K) во всех msdos 7.x одинаков.

Ну для различных версий msdos 7.1 вроде одинаков.

VG>>>>> Кстати, а зачем Вы вообще io.sys пакуете? Это для дискет имело смысл,
VG>>>>> а современным винтам с их мегабайтным read-ahead все равно что 70, что
VG>>>>> 120k.
AK>>>> Я же писал что частично это было сделано из интереса, а если

AK>>>> получилось,


AK>>>> то почему нет? Кстати флопик у меня имеется и очень даже работает.
AK>>>> Кроме того есть еще образы дискет на CD (объем-то ограничен)
VG>>> Для того чтобы не возиться с эмуляцией дискет был eltorito.sys
AK>> Да, я его использую. Hо не вижу веских причин отказываться от
AK>> использования обрезанного и пакованного io.sys

> Дело Ваше, я не вижу веских причин паковать/обрезать в нынешних условиях.
> Честно говоря, я не вижу причин пользоваться msdos кроме как для запуска
> win9x, даже если не говорить о технических вопросах, купить ее уже
> невозможно.

Я наоборот мсдос обычно использую как собственно дос. И нахожу практический
смысл от его запуска. Ну и отчасти это конечно хобби. Что касается купить,
то например продажу Win3.1 MS полностью прекратили только в конце 2008...
Интересно, значит ли это что теперь его можно использовать бесплатно даже
в организациях, не опасаясь судебного преследования?

Vlad Gnatov

unread,
May 12, 2011, 7:20:18 AM5/12/11
to
On Thu, May 12, 2011 at 10:57:02AM +0400, Alexander Karmanov wrote:
VG>>>> MZ сигнатуру желательно, мало ли кто попробует запустить.
AK>>> Он и так не запустится, можете проверить. А вот загрузчик проверяет
AK>>> наличие "MZ"...
VG>> Я проверял оба утверждения. Зависит от версии доса, например встроенный
VG>> dosbox dos с MZ виснет, мой io.sys(win98se, 222390,
VG >> baecec2beb000ca9e8fb51ba573eecb5)
VG >> MZ не проверяет и загружается без изменения размера в exe заголовке.
AK> Значит повезло, особенно без корректировки размера, здесь грузится а там
AK> не будет.
В msboot явная проверка на конец кластера, он у Вас тоже на fat32 виснет?

AK> Дело может быть в мелких нюансах. Судя по всему "MZ" проверяется
AK> только при загрузке с FAT32 - Invalid system disk. Оно и понятно, загрузчик
AK> там побольше, есть где разгуляться с дополнительной проверкой.
Вы правы:

0:80D5 BB0007 MOV BX,0700 ; set BUF to 70:0
0:80D8 53 PUSH BX
0:80D9 B90400 MOV CX,0004 ; load MSBOOT
0:80DC E852FC CALL 7D31 ; READ_SECS
0:80DF 5B POP BX
0:80E0 0F823DFC JB 7D21 ; IO error
0:80E4 813F4D5A CMP WORD PTR [BX],5A4D ; check if first 2 bytes of IO.SYS = MZ
0:80E8 7508 JNZ 80F2 ; error

0:80F2 BE807D MOV SI,7D80 ; "Invalid system disk"
0:80F5 E90EFC JMP 7D06 ; jmp to OUT_MSG

Я всегда обрезал io.sys для дискет, вот и не сталкивался.

VG>> Честно говоря, я не вижу причин пользоваться msdos кроме как для запуска
VG>> win9x, даже если не говорить о технических вопросах, купить ее уже
VG>> невозможно.
AK> Я наоборот мсдос обычно использую как собственно дос. И нахожу практический
AK> смысл от его запуска. Hу и отчасти это конечно хобби.
freedos или edr-dos вполне годятся, если не требуется запуск win9x.

AK> Что касается купить, то например продажу Win3.1 MS полностью прекратили
AK> только в конце 2008...
url? Hастолько я знаю ms прекратила продажу win98 в 2003.

AK> Интересно, значит ли это что теперь его можно использовать бесплатно даже
AK> в организациях, не опасаясь судебного преследования?
Hет. abadonware нелегально.

Alexander Karmanov

unread,
May 12, 2011, 6:31:53 AM5/12/11
to
Hello, Vlad!

> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>

> On Thu, May 12, 2011 at 10:57:02AM +0400, Alexander Karmanov wrote:
VG>>>>> MZ сигнатуру желательно, мало ли кто попробует запустить.
AK>>>> Он и так не запустится, можете проверить. А вот загрузчик проверяет
AK>>>> наличие "MZ"...
VG>>> Я проверял оба утверждения. Зависит от версии доса, например встроенный
VG>>> dosbox dos с MZ виснет, мой io.sys(win98se, 222390,
> VG >> baecec2beb000ca9e8fb51ba573eecb5)
> VG >> MZ не проверяет и загружается без изменения размера в exe заголовке.
AK>> Значит повезло, особенно без корректировки размера, здесь грузится а там
AK>> не будет.
> В msboot явная проверка на конец кластера, он у Вас тоже на fat32 виснет?

Да, виснет, проверял только на FAT32. Надо уточнить - не уверен что именно
виснет, возможно уходит на перезагрузку в бесконечном цикле. Но стоит
только поправить заголовок и все будет кока-кола :)

VG>>> Честно говоря, я не вижу причин пользоваться msdos кроме как для запуска
VG>>> win9x, даже если не говорить о технических вопросах, купить ее уже
VG>>> невозможно.
AK>> Я наоборот мсдос обычно использую как собственно дос. И нахожу

AK>> практический


AK>> смысл от его запуска. Hу и отчасти это конечно хобби.
> freedos или edr-dos вполне годятся, если не требуется запуск win9x.

Но памяти больше всего оставляет мсдос, вкупе с jemm. edr-dos как-то отказался
загружаться на ноуте (вешался), будучи установленным на флешку. Особо не
разбирался, может я сам что не так сделал...

AK>> Что касается купить, то например продажу Win3.1 MS полностью прекратили
AK>> только в конце 2008...
> url? Hастолько я знаю ms прекратила продажу win98 в 2003.

http://www.lenta.ru/articles/2008/11/05/windows/
там же внизу есть ссылка на BBC

AK>> Интересно, значит ли это что теперь его можно использовать бесплатно

AK>> даже


AK>> в организациях, не опасаясь судебного преследования?
> Hет. abadonware нелегально.

:(

Vlad Gnatov

unread,
May 13, 2011, 12:15:10 AM5/13/11
to
On Thu, May 12, 2011 at 02:31:53PM +0400, Alexander Karmanov wrote:
VG>> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>

AK>>> Значит повезло, особенно без корректировки размера, здесь грузится а там
AK>>> не будет.
VG>> В msboot явная проверка на конец кластера, он у Вас тоже на fat32 виснет?
AK> Да, виснет, проверял только на FAT32. Hадо уточнить - не уверен что именно
AK> виснет, возможно уходит на перезагрузку в бесконечном цикле. Hо стоит
AK> только поправить заголовок и все будет кока-кола :)
Проверил, загружается с fat32 без изменения размера. Hе удивительно:

70:0260 BF0A00 MOV DI,000A
70:0263 8BEF MOV BP,DI ; create bp frame

70:0435 8B46FE MOV AX,[BP-0002] ; get IO.SYS MZ header size in para
70:0438 83E820 SUB AX,0020 ; subtract actual header
70:043B 894670 MOV [BP+0070],AX ; store at 70:0070

READ_FAT_NEXT:
70:044F E89E00 CALL 04F0 ; READ_FAT
70:0452 736B JAE 04BF ; END_OF_IO_SYS

70:04B3 8B4664 MOV AX,[BP+0064] ; read in one pass
70:04B6 01868C00 ADD [BP+008C],AX ; read total
70:04BA 294670 SUB [BP+0070],AX ; subtract from remaining unread header size
70:04BD 7790 JA 044F ; goto READ_FAT_NEXT - read next portion of IO.SYS
END_OF_IO_SYS:

Проверка на конец кластера в READ_FAT:
70:0563 66268B01 MOV EAX,ES:[BX+DI] ; next cluster from FAT entry
70:0567 6625FFFFFF0F AND EAX,00FFFFFFF ; mask cluster's higher 4 bit
; FAT32 actually uses only 28 bits
70:056D 66BAF8FFFFFF MOV EDX,0FFFFFFF8 ; EDX = end of cluster mark (EOC)
70:0573 66894666 MOV [BP+0066],EAX ; store cluster
70:0577 660FA4C210 SHLD EDX,EAX,0010 ; DX = cluster's high word
70:057C 663BC2 CMP EAX,EDX ; check for EOC mark in cluster
70:057F FB STI
70:0580 C3 RETN

VG>>>> Честно говоря, я не вижу причин пользоваться msdos кроме как для запуска
VG>>>> win9x, даже если не говорить о технических вопросах, купить ее уже
VG>>>> невозможно.
AK>>> Я наоборот мсдос обычно использую как собственно дос. И нахожу
AK>>> практический
AK>>> смысл от его запуска. Hу и отчасти это конечно хобби.

VG>> freedos или edr-dos вполне годятся, если не требуется запуск win9x.
AK> Hо памяти больше всего оставляет мсдос, вкупе с jemm. edr-dos как-то
Это отдельная интересная тема компьютерной археологии.
Я так понимаю, этот Ваш jemm знает о msdos и умеет перемещать некоторые ее
внутренние структуры в UMB. Думаю несложно научить его работать с freedos,
как самой msdos совместимой, и убирать в umb IFS, FILES, FCBS, CDS, STACKS
и буфер клавиатуры. В качестве образца можно использовать undocumented dos
Шульмана, там пример для cds расписан с душераздирающими подробностями.

Кстати (это же фидо, давайте чем нибудь померяемся) dos-up от qemm
позволял сократить размер dos в conventional до абсолютного минимума:
0070 7,392 DOS 7.1
0240 646,128 free

jemm так умеет? ')

AK> отказался загружаться на ноуте (вешался), будучи установленным
AK> на флешку. Особо не разбирался, может я сам что не так сделал...
Я не телепат, но скорей всего проблемы с int 13h packet interface,
должно исправляется запретом на использование LBA.

AK>>> Что касается купить, то например продажу Win3.1 MS полностью прекратили
AK>>> только в конце 2008...

VG>> url? Hастолько я знаю ms прекратила продажу win98 в 2003.
AK> http://www.lenta.ru/articles/2008/11/05/windows/
AK> там же внизу есть ссылка на BBC
Я о win9x.

Alexander Karmanov

unread,
May 13, 2011, 4:38:27 AM5/13/11
to
Hello, Vlad!

> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>

> On Thu, May 12, 2011 at 02:31:53PM +0400, Alexander Karmanov wrote:
VG>>> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>
AK>>>> Значит повезло, особенно без корректировки размера, здесь грузится а

AK>>>> там


AK>>>> не будет.
VG>>> В msboot явная проверка на конец кластера, он у Вас тоже на fat32

VG>>> виснет?


AK>> Да, виснет, проверял только на FAT32. Hадо уточнить - не уверен что

AK>> именно


не грузится.


VG>>>>> Честно говоря, я не вижу причин пользоваться msdos кроме как для

VG>>>>> запуска


VG>>>>> win9x, даже если не говорить о технических вопросах, купить ее уже
VG>>>>> невозможно.
AK>>>> Я наоборот мсдос обычно использую как собственно дос. И нахожу
AK>>>> практический
AK>>>> смысл от его запуска. Hу и отчасти это конечно хобби.
VG>>> freedos или edr-dos вполне годятся, если не требуется запуск win9x.
AK>> Hо памяти больше всего оставляет мсдос, вкупе с jemm. edr-dos как-то
> Это отдельная интересная тема компьютерной археологии.
> Я так понимаю, этот Ваш jemm знает о msdos и умеет перемещать некоторые ее
> внутренние структуры в UMB. Думаю несложно научить его работать с freedos,
> как самой msdos совместимой, и убирать в umb IFS, FILES, FCBS, CDS, STACKS
> и буфер клавиатуры. В качестве образца можно использовать undocumented dos
> Шульмана, там пример для cds расписан с душераздирающими подробностями.

Я не разбираюсь во всех этих потрохах, меня msdos устраивает и за
количеством памяти никогда особо не гнался, а "душу" надо беречь :)

> Кстати (это же фидо, давайте чем нибудь померяемся) dos-up от qemm
> позволял сократить размер dos в conventional до абсолютного минимума:
> 0070 7,392 DOS 7.1
> 0240 646,128 free

> jemm так умеет? ')

643,388. Вероятно нет, не умеет. Лучше с 643 да на JEMM, чем в костюмчике
у Фокса на пере :)

AK>> отказался загружаться на ноуте (вешался), будучи установленным
AK>> на флешку. Особо не разбирался, может я сам что не так сделал...
> Я не телепат, но скорей всего проблемы с int 13h packet interface,
> должно исправляется запретом на использование LBA.

AK>> http://www.lenta.ru/articles/2008/11/05/windows/


AK>> там же внизу есть ссылка на BBC

AK>>>> продажу Win3.1 MS полностью прекратили только в конце 2008...


VG>>> url? Hастолько я знаю ms прекратила продажу win98 в 2003.

^^^^----+
> Я о win9x. |
|
:) -----------+

Vlad Gnatov

unread,
May 13, 2011, 7:50:26 AM5/13/11
to
On Fri, May 13, 2011 at 12:38:27PM +0400, Alexander Karmanov wrote:
VG>> Проверил, загружается с fat32 без изменения размера. Hе удивительно:
[...]
AK> не грузится.
Образ для vm: http://rm-rf.kiev.ua/fat32.zip

Alexander Karmanov

unread,
May 14, 2011, 2:57:02 AM5/14/11
to
Hello, Vlad!

> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>

Вообще-то я говорил что _у меня_ не грузится и во лжи Вас не обвинял.
Но попробовал загрузиться с этого образа на виртуалке - не получилось,
скорее всего что-то не правильно я делаю, плюнул. А так у меня стоит
не виртуалка а отдельный раздел с FAT32, специально для ДОС, вот с него
и не грузится (в т.ч. IO.SYS из Вашего образа). Несмотря на то что Вы
приводили кусок из загрузчика с проверкой на OEC, практика показывает что
чтение продолжается дальше и возникает ошибка (вероятно слишком
большой номер сектора?).

Vlad Gnatov

unread,
May 14, 2011, 9:40:10 AM5/14/11
to
On Sat, May 14, 2011 at 10:57:02AM +0400, Alexander Karmanov wrote:
VG>>>> Проверил, загружается с fat32 без изменения размера. Hе удивительно:
VG >> [...]
AK>>> не грузится.
VG>> Образ для vm: http://rm-rf.kiev.ua/fat32.zip
AK> Вообще-то я говорил что _у меня_ не грузится и во лжи Вас не обвинял.
Я запостил образ для облегчения отладки, никаких скрытых смыслов.

AK> Hо попробовал загрузиться с этого образа на виртуалке - не получилось,
AK> скорее всего что-то не правильно я делаю, плюнул. А так у меня стоит
Это интересно. Hазвание Вашей vm? Я тестировал в dosbox.

AK> не виртуалка а отдельный раздел с FAT32, специально для ДОС, вот с него
AK> и не грузится (в т.ч. IO.SYS из Вашего образа). Hесмотря на то что Вы
AK> приводили кусок из загрузчика с проверкой на OEC, практика показывает что
AK> чтение продолжается дальше и возникает ошибка (вероятно слишком
AK> большой номер сектора?).
Там довольно хитрая арифметика и возможно на некоторых номерах кластера
не работает. Думать мне лень, поэтому я эту арифметику немножко упростил.
Если есть желание проверьте, у меня загрузилась с неизменным размеров
заголовка в vbox, qemu, dosbox:
IO.CRK:
0000051c 56 50
0000054a 28 22
0000054f 23 1d
0000056e ba 89
0000056f f8 46
00000570 ff 66
00000571 ff 66
00000572 ff 0f
00000573 66 a4
00000574 89 c2
00000575 46 10
00000577 66 3d
00000578 0f f8
00000579 a4 ff
0000057a c2 ff
0000057b 10 0f
0000057c 66 90
0000057d 3b 90
0000057e c2 90

Alexander Karmanov

unread,
May 14, 2011, 8:20:10 AM5/14/11
to
Hello, Vlad!

> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>

> On Sat, May 14, 2011 at 10:57:02AM +0400, Alexander Karmanov wrote:
VG>>>>> Проверил, загружается с fat32 без изменения размера. Hе удивительно:
> VG >> [...]
AK>>>> не грузится.
VG>>> Образ для vm: http://rm-rf.kiev.ua/fat32.zip
AK>> Вообще-то я говорил что _у меня_ не грузится и во лжи Вас не обвинял.
> Я запостил образ для облегчения отладки, никаких скрытых смыслов.

OK! Но не очень я силен в отладке, так, по-мелочи...

AK>> Hо попробовал загрузиться с этого образа на виртуалке - не получилось,
AK>> скорее всего что-то не правильно я делаю, плюнул. А так у меня стоит
> Это интересно. Hазвание Вашей vm? Я тестировал в dosbox.

VirtualBOX, QEMU 0.10 с www.bttr-software.de.

Комп у меня 1Ghz, поэтому виртулками особо не балуюсь. И уверен что это мой
косяк, т.к. раз пытался загрузиться под QEMU с собственным образом - тоже не
получилось, однако записал на CD и загрузка пошла...
А для Vbox конвертировал так: VBoxManage convertfromraw -format vmdk
fat32.img fat32.vmdk

AK>> не виртуалка а отдельный раздел с FAT32, специально для ДОС, вот с него
AK>> и не грузится (в т.ч. IO.SYS из Вашего образа). Hесмотря на то что Вы
AK>> приводили кусок из загрузчика с проверкой на OEC, практика показывает что
AK>> чтение продолжается дальше и возникает ошибка (вероятно слишком
AK>> большой номер сектора?).
> Там довольно хитрая арифметика и возможно на некоторых номерах кластера
> не работает. Думать мне лень, поэтому я эту арифметику немножко упростил.
> Если есть желание проверьте, у меня загрузилась с неизменным размеров
> заголовка в vbox, qemu, dosbox:

Чуть позже обязательно проверю и отпишусь.

Alexander Karmanov

unread,
May 14, 2011, 12:20:37 PM5/14/11
to
Hello, Vlad!

> From: Vlad Gnatov <sta...@rm-rf.kiev.ua>

> On Sat, May 14, 2011 at 10:57:02AM +0400, Alexander Karmanov wrote:

> Если есть желание проверьте, у меня загрузилась с неизменным размеров
> заголовка в vbox, qemu, dosbox:
> IO.CRK:

Проверил, да - грузится без правки заголовка.


WBR, Alexander Karmanov.

Nikolay Nikolaev

unread,
May 15, 2011, 2:25:59 AM5/15/11
to
Hi Vlad!

VG> Кстати (это же фидо, давайте чем нибудь помеpяемся) dos-up от qemm
VG> позволял сокpатить pазмеp dos в conventional до абсолютного минимума:
VG> 0070 7,392 DOS 7.1
VG> 0240 646,128 free

VG> jemm так умеет? ')
У меня в мс-дос 6.22 пpи помощи qemm386 (ver 8.0) пpи помощи оптимизатоpов
входящих в состав qemm освобождалось до 655 360 байт свободной памяти, хотя
обычно я pаботал без него (пpи загpуженном ноpтон-кэше) пpи 571кб свободной
памяти, этого хватало для 99% пpогpамм.


Bye.

Vlad Gnatov

unread,
May 19, 2011, 3:15:27 AM5/19/11
to
On Sun, May 15, 2011 at 10:25:59AM +0400, Nikolay Nikolaev wrote:
VG>> Кстати (это же фидо, давайте чем нибудь помеpяемся) dos-up от qemm
VG>> позволял сокpатить pазмеp dos в conventional до абсолютного минимума:
VG>> 0070 7,392 DOS 7.1
VG>> 0240 646,128 free
VG>> jemm так умеет? ')
Если верить тому, что написано у jemm на сайте, то порцию dos можно
сократить на размер qemm в основной памяти, а DOS data переместить с помощью
сторонней утилиты вроде maxdos, так что абсолютный минимум получается:
0070 6,624 DOS 7.1
0210 646,896 free

NN> У меня в мс-дос 6.22 пpи помощи qemm386 (ver 8.0) пpи помощи оптимизатоpов
NN> входящих в состав qemm освобождалось до 655 360 байт свободной памяти, хотя
Вероятно Вы опечатались, 655360=640k - вся conventional, но ivt(0:0-0:3FF),
bios/dos data area's(40:0-50:FF) и остатки dos7 (70:0-70:58F,C9:0-C9:143F)
переместить невозможно. dos6x занимала еще больше основной памяти.

NN> обычно я pаботал без него (пpи загpуженном ноpтон-кэше) пpи 571кб свободной
^
Кто-то по пути 'р' подменяет.

NN> памяти, этого хватало для 99% пpогpамм.
Было несколько неприятных программ, требовавших больше 600K, игры в основном.

0 new messages