Page 1 of 9

DOSBox

Posted: Mon Mar 05, 2007 8:45 pm
by diamond
http://diamondz.land.ru/dosbox.7z
Использование по назначению: запуск DOS-программ, то, что для этого требуется, подробно описывается в readme.txt (взятом из официальной версии).

Использование не по назначению. Портированная версия DOSBox может быть использована для получения Windows-консоли, умеющей запускать многие консольные Windows-приложения. Для этого зайдите на http://www.doswin32.com или ftp://ftp.doswin32.com/pub и скачайте пакет DosWin32 - эмуляция Win32-подсистемы на базе DOS. Обязательно требуется сам пакет dw32core.zip, желательна также документация dw32docs.zip, можно ещё и утилиты dw32tool.zip (может, вам хочется работать с имеющмися файлами Windows-реестра). Для запуска рекомендуется вместо входящего в пакет run32.exe использовать http://diamondz.land.ru/run32db.com (должна лежать в той же папке, что и doswin32.rtm). Собственно запуск: сначала следует монтировать DOS-диски на существующие папки командой mount (например, "mount c /hd0/1","mount d /hd0/2", чтобы dosbox'овские диски соответствовали виндовым; можно указывать и некорневые папки, чтобы, например, вирусы в случае существования таковых точно никуда не пролезли). Потом запустить run32db без аргументов ("c:\doswin32\dw32core\run32db" или куда вы там её положите). И немного подождать, потому что процесс инициализации занимает десяток-другой секунд. Эти действия можно запихать в conf-файл (секция autoexec), причём рекомендуется использовать dosbox2.conf и загружать dosbox с опцией -f dosbox2.conf (кажется), а то вдруг вам захочется использовать эмулятор по назначению и не ждать загрузки Win32-подсистемы. Всё, получилась Windows-консоль. Программы, не использующие всяких извратов, работают: fasm вообще не выпендривается, masm'овский компилятор работает, masm'овский линковщик требует msvcrt.dll, причём идущая с 2k/XP не работает, но идущая с 9x или с VC6 (кстати, на диске VC6 она помечена как redistributable) нормально обрабатывается (dll'ки ищутся в текущем каталоге, в каталоге doswin32.rtm и в PATH), компилятор командной строки из Visual Studio до 2005 работает (линковщик требует imagehlp.dll, с ней та же история, что и с msvcrt.dll), cl.exe из VS2005 не идёт, ибо юзает кучу совершенно левых функций :( Утилиты из MinGW тоже не работают, потому что кто-то очень "умный" додумался использовать FindAtomA/AddAtomA/GetAtomNameA. Far работает. Командные файлы (во всяком случае, неизвращённые) работают. Но поскольку это всё-таки DOS, то длинных имён папок не поддерживается совсем, а длинные имена файлов могут работать немного криво (но вроде работают). Кроме того, поскольку это всё же эмулятор с "ненастоящим" процессором, консоль тормозит (в некоторых случаях ускорения можно добиться, указав в dosbox.conf "core=dynamic"). А поскольку мы живём в глючном мире, мышкой в окне щёлкать не стоит (можно, но только в том случае, если вы собираетесь тестировать Alt+F4). Рекомендуемый выход - команда exit. Два раза (первый - выход из DosWin32, второй - собственно из DOSBox).

Ещё эмулятор позволяет загружать другие операционные системы (безотносительно DOS-консоли). Впрочем, Колибри не загружается: на K0650 загрузка доходит до "Reading TSC", после чего всё по понятным причинам виснет, ибо DOSBox эмулирует 486-й процессор, не знающий про rdtsc (о чём, между прочим, честно предупреждает в ответ на cpuid). Ядро svn.380 (такое было на момент тестирования, но, кажется, там ничего не изменилось) эмулятор загружать вообще отказывается, мотивируя такое решение PageFault'ом в init_LFB.map_page_tables (на инструкции rep stosd). Который, естественно, оказывается фатальным, ибо в этот момент IDT ещё не инициализирована. Поскольку время было позднее, за пять минут созерцания кода я только понял, что либо все страницы отображаются на первую страницу физического LFB-буфера, либо я чего-то не понимаю, и решил отложить выяснение до лучших времён.

Posted: Tue Mar 06, 2007 7:40 am
by Heavyiron
Не знаю, насколько сложно обновлять колибри-версию, но официально выпущен уже dosbox 0.7

Posted: Wed Mar 07, 2007 6:50 pm
by diamond
Действительно выпустили... а я и не знал... Датировано 02.03.2007

Posted: Mon Mar 12, 2007 4:43 pm
by Nable

Posted: Tue Jun 19, 2007 4:33 pm
by Mike
сделал попытку просмотра видео при помощи досбокса и qv (http://www.multimediaware.com/qv/). неудачную, к сожалению - qv частично отображает графические файлы, но не фунциклирует при выборе музыки и видео. очень жалко, аж расстроился блин - такая идея коту под хвост...

так вот, о чем я - други форумчане, поделитесь плиз, кто и как использует порт досбокса, какие дос и виндовые софтины вкупе с ним. мне как человеку любопытному, это весьма и весьма интересно. а то выражения а-ля "....запуск виндовых приложений в DOSBOX'е практикую уже давно..." и "...для получения Windows-консоли, умеющей запускать многие консольные Windows-приложения..." нифига не упрощают картину видения мира :)

Posted: Wed Jun 20, 2007 11:18 am
by Mario79
Mike
Поскольку DOSBox это эмулятор и эмулирует очень медленно (Doom нужно запускать на 1ГГц процессоре для нормальной работы на Колибри), то вероятность просмотра видео отпадает. Потому что для просмотра даже под самим DOS нужен комп, c процером не слабее 300 МГц иначе большая часть фильмов тормозит все равно (я пробовал на своем Cyrix233MX -реальная частота 187,5). Соответственно нужен как минимум комп c 3 ГГц процессора и хорошей шиной.
Эмуляторы положение не спасут к сожалению.

Posted: Wed Jun 20, 2007 12:51 pm
by Mike
Mario79 wrote:....как минимум комп c 3 ГГц процессора и хорошей шиной...
3 и есть ;)

Posted: Wed Jun 20, 2007 2:31 pm
by diamond
Портированный DOSBox пока что вообще не поддерживает звук, потому что мне пока не удалось заставить его нормально работать.

Posted: Sat Jun 23, 2007 12:28 am
by Gluk
пытался под досбоксом игрушку Kyrandia запустить.. она мне даже заставку показала =))))))))) и все =(
P.S.: а игрушка то - из моих любимых =(

Posted: Sat Jun 23, 2007 12:57 am
by Aqwas
Я досовский simcity запускал... работает) единственно с курсором проблема

Posted: Thu Jun 28, 2007 3:30 pm
by Nable
to Mike

На тему Windows консоли:
Понимаешь, есть масса хороших приложений, которые оформлены в виде консольных приложений Windows, то есть если даже они имеют интерфейс, то интерфейс текстовой, при этом написаны они чисто под винду и в простом ДОСе не запустятся. При этом от винды естественно хочется отказаться (или хотя бы не грузить лишний раз). Если непонятно, о чём речь, то перечислю: IDA, консольный вариант 7z archiver'a, Borland C++ free command line tools и прочие проги, нужные людям.

Posted: Tue Jul 03, 2007 12:57 pm
by diamond
Портировал DOSBox 0.70. Добавил поддержку звука, но настоятельно рекомендуется использовать последнюю версию драйверов с SVN (Serge там исправил неприятную ошибку).
Переключение на русский язык внутри новой версии DOSBox - по Alt+RShift, назад - Alt+LShift.
Ссылка та же: http://diamondz.land.ru/dosbox.7z

Posted: Tue Jul 03, 2007 1:42 pm
by Mike
diamond wrote:...рекомендуется использовать последнюю версию драйверов с SVN...
хорошо бы только по ссылке http://www.kolibrios.org/files/download/k_svn.563_ru.7z
мне пишет
You don't have permission to access /files/download/k_svn.563_ru.7z on this server.
странно это - раньше нормально было

Posted: Tue Jul 03, 2007 1:51 pm
by Mario79
Mike
SVN работает нормально, значит глюки сайта.

Posted: Tue Jul 03, 2007 2:02 pm
by vectoroc
С правами проблемы после смены хостинга. То там, то там всплывает...