В DOS-приложениях используется бесконечный цикл для ожидания нажатия клавиши или щелчка мышью. Программа Tame — во многих случаях помогает избавиться от активного опроса. Но лучше всего решать проблему, установив какую-либо виртуальную машину и запустив там Win98.
Для того чтобы корректно отображалась кириллица в DOS-программах, после установки Tame версии 5.x необходимо в файл Program FilesTame 5.1Settings_ProcessStartup.init.tam в раздел /System добавить опцию:
App_LCID = #419
Часть DOS программ грузится в полном экране, часть в окне:
Примените этот твик реестра:
Windows Registry Editor Version 5.00
При запуске необходимого DOS приложения, некорректно отображаются русские шрифты:
1. Откройте в блокноте файл %windir%system32autoexec.nt
2. Пропишите в него строку в самом конце файла (с новой строки) lh %SystemRoot%system32kb16.com ru
3. Импортируйте твик реестра
Windows Registry Editor Version 5.00
После перезагрузки переключение раскладки клавиатуры в DOS-приложениях будет производиться комбинациями Ctrl+Left Shift (английская) и Ctrl+Right Shift (русская).
Как запускать DOS программы и игры в Windows 11 и 10
Примечание. Данный метод нормально работает в том случае, если Language settings for the system (апплет Regional Options) в качестве Default стоит Cyrilic.
1. Загрузите файл keyrus.com и сохраните его в папку %windir%system32
2. Откройте в блокноте файл %windir%system32autoexec.nt
3. Пропишите в него строку в самом конце файла (с новой строки) %windir%system32keyrus.com
4. Перезагрузитесь.
Раскладка: R.Shift — ВклВыкл Русскую раскладку (темно-зеленая подсветка краёв экрана), R.Ctrl — вкл. Украинскую раскладку (если нужна, салатная подсветка), откл. R.Shift.
1. Загрузите и запустите патч KeyFix XP
2. Перезагрузитесь.
Примечание: Шрифт у KeyFix свой, в некоторых приложениях DOS буковки будут немного отличаться от привычных досовских, но в целом русификатор работает корректно.
Не работают DOS игры и программы, при запуске черный экран или монитор засыпает:
Это связано с ограничениями DOS подсистемы операционных систем Windows NT/2000/XP. Во-первых, невозможно использование линейного кадрового буфера (LFB), т.к. эти адреса в памяти заняты кодом системы. Программы, пытающиеся использовать видеорежимы с LFB, будут закрыты или переключатся в видеорежим без использование LFB.
Ряд программ всегда пытается использовать LFB и не завершает работу корректно (не переключается в режим без LFB). В частности, это все игры на движке Build. Для таких программ необходимо исключить LFB видеорежимы из списка доступных, что можно сделать запуском утилиты NOLFB непосредственно перед запуском игры в том же сеансе DOS.
Во-вторых, драйвер видеокарты должен устанавливать специальный драйвер полноэкранного режима DOS, или же специально настраивать универсальный драйвер Windows для использование портов ввода-вывода VESA BIOS. К сожалению, драйвер NVIDIA обеспечивал поддержку полноэкранного режима DOS лишь для видеокарт на базе графических процессоров до GeForce 3 включительно, а в версиях 60.ХХ и более новых и эта поддержка была удалена. Как следствие, универсальный драйвер Windows не позволяет использовать разрешения выше 640х480 в сеансе DOS для графических процессоров GeForce 4 и выше. В качестве решения проблемы можно использовать разработанные энтузиастами патчи универсального драйвера Windows для поддержки портов ввода-вывода VESA BIOS (утилиты vgafix, winxpfix) или альтернативные драйверы полноэкранного режима (videoprt, SolVBE) для замены универсального. При использовании этих средств не забывайте про защиту системных файлов: удалите копии изменяемых файлов из папок dllcache/drivercache системы перед применением патчей и откажитесь от восстановления системы после внесения изменений.
Как запускать старые программы иил игры под MS-DOS на Windows 10 с помощью DosBox
Есть ли способ выставить частоту обновления больше 60Гц в полноэкранных DOS приложениях?
Поскольку все видеокарты на базе NVIDIA поддерживают спецификацию VESA 3.0, то можно использовать утилиты VBEHZ или UNIREFRESH , позволяющие настроить частоту обновления для каждого режима. К сожалению, ряд игр использует собственный драйвер SVGA, и решить для них эту проблему не представляется возможным. Также нет способов решить данную проблему при запуске приложений в окне Windows 2000/XP из-за ограничений DOS подсистемы.
Утилиты, фиксы, и полезные программы решающие проблемы DOS приложений под Windows XP
Статьи базы знаний Microsoft, описывающие возможные решения проблем:
Troubleshooting MS-DOS-based programs in Windows XP
http://support.microsoft.com/kb/314106
Сообщение об ошибке при установке или запуске ОС MS-DOS или 16-разрядного приложения Windows
http://support.microsoft.com/kb/324767
Появление сообщения об ошибке при запуске приложений MS-DOS или 16-разрядных приложений Windows под управлением Windows Server 2003 или Windows 2000 Server
http://support.microsoft.com/kb/305521
После установки программы появляется сообщение об ошибке «16-разрядная подсистема MS-DOS»
http://support.microsoft.com/kb/314452
Некоторые 16-разрядные программы для DOS и командная строка не запускаются в системе Windows Vista в полноэкранном режиме
http://support.microsoft.com/kb/926657
Во имя ALTа, CTRLа и святого DELETE
Enter
——-
База знаний по Windows 8.1 | Качаем Драйвера
01:11, 02.03.2009 | # 2
Автор темы
Администратор
Печать из DOS-программы на сетевой принтер
Если DOS-программа не позволяет выбрать порт для печати и посылает печать на LPT1, а надо печатать на сетевой принтер, то воспользуйтесь командой net use. Введите в консоли:
net use lpt1: \Server_NamePrinter_Name
где Server_Name — это имя компьютера, к которому подключен сетевой принтер с именем Printer_Name.
При завершении работы DOS-программы можно освободить порт:
net use lpt1: /d
Настройка задержек при печати из DOS-программ
При отправке заданий на печать на сетевой принтер из приложений MS-DOS может происходить задержка на 60–90 секунд до начала печати, что вызывает остановку работы MS-DOS-приложения в течение этого времени. При завершении работы приложения печать начинается сразу после его закрытия. Такое же поведение может наблюдаться при нажатии клавиши в приложении MS-DOS.
Проблема обусловлена тем, что приложение MS-DOS при печати не закрывает принтерный порт. По умолчанию, MS Windows 95 ожидает поступления новых данных в течение 45 секунд, после чего начинает печать документа. Для решения проблемы необходимо отредактировать файл System.ini на том компьютере, где выполняется приложение MS-DOS.
Добавьте в раздел [Network] файла System.ini следующую строку:
PrintBufTime=10
А в раздел [IFSMGR] следующую строку:
PrintBufTime=10
Примечание: Если данные разделы отсутствуют в файле System.ini, то добавьте их после раздела [386Enh].
Значение параметра «PrintBufTime» устанавливает время задержки в секундах до начала печати. Чем меньшее значение используется, тем быстрее начинается печать документа. Однако слишком маленькое значение «PrintBufTime» может приводить к некорректной печати, либо к прекращению вывода задания на печать. В этом случае увеличивайте значение «PrintBufTime» до тех пор, пока не будет достигнута корректная печать.
Параметр, заданный в разделе [Network], управляет задержкой при сетевой печати с использованием редиректора реального режима; параметр, заданный в разделе [IFSMGR], устанавливает задержку при сетевой печати с использованием редиректора защищённого режима. Данные настройки также могут оказывать влияние и на локальную печать.
Проблемы при печати из DOS-приложений в Windows NT/2000/XP
Приложения MS-DOS в среде Windows NT/2000/XP при печати используют NT-спулер (программа-планировщик, которая принимает документы, посланные пользователем на печать, сохраняет их и отправляет один за другим на доступный принтер). Спулер ждёт некоторое время (15 секунд, по умолчанию), прежде чем передать полученные данные на принтер. Если задаче (print job) требуется для генерации полного кода больше времени, чем установлено по умолчанию, спулер начинает посылать на принтер уже подготовленный код, в результате чего печать разбивается на несколько страниц.
Чтобы предотвратить разрыв страниц, надо увеличить таймаут печати, который задаётся в разделе реестра
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlWOW
в строковом параметре «LPT_timeout». Установите его значение, например, в «30».
Если при печати из DOS-приложения возникают остановки на время порядка 15 секунд, то можно попробовать наоборот — уменьшить значение данного параметра, например, до «3».
Печатаем на лазернике из под DOS
Задержка при печати на LPT из под win xp убирается в реестре
Windows Registry Editor Version 5.00
Источник: pcportal.org
Как исправить: системный файл не подходит для работы приложений MS-DOS и Windows.
Сообщение об ошибке «Системный файл не подходит для запуска приложений MS-DOS и Microsoft Windows», касающийся «autoexec.nt» или Файлы «config.nt» могут появиться на компьютере с 32-разрядной ОС Windows (Windows 10, 8, 7, Vista или XP) при попытке запустить или установить 16-разрядную MS-DOS. применение. (64-разрядные операционные системы Windows не поддерживают 16-разрядные приложения.)
Это руководство содержит инструкции по устранению следующих ошибок при попытке запустить или установить программу в Windows:
«16-битная подсистема MS-DOS
C: Windows system32 cmd.exe
config.nt. Системный файл не подходит для запуска приложений MS-DOS и Microsoft Windows. Выберите «Закрыть», чтобы закрыть приложение.»
«16-битная подсистема MS-DOS
путь к программе, которую вы пытаетесь запустить или установить
C: Windows System32 config.nt Системный файл не подходит для запуска приложений MS-DOS и Microsoft Windows. Выберите «Закрыть», чтобы закрыть приложение..»
«16-битная подсистема MS-DOS
путь к программе, которую вы пытаетесь запустить или установить
config.nt Системный файл не подходит для запуска приложений MS-DOS и Microsoft Windows. Выберите «Закрыть», чтобы закрыть приложение..»
«16-битная подсистема MS-DOS
путь к программе, которую вы пытаетесь запустить или установить
C: Windows System32 Autoexec.nt Системный файл не подходит для запуска приложений MS-DOS и Microsoft Windows. Выберите «Закрыть», чтобы закрыть приложение..»
Как исправить: системный файл не подходит для запуска программ MS-DOS.
Решение 1. Изменить переменные среды.
Некоторые программы MS-DOS не работают, если в поле «Значение переменной» в свойствах «Переменные среды» задан длинный путь к имени файла. Итак, первое решение проблемы «Системный файл не подходит для запуска приложений MS-DOS и Windows» — это указать более короткий путь к имени файла для временных файлов. Для этого:
1. Одновременно нажмите кнопку Окна + р ключи, чтобы открыть ‘Бегать’командное окно.
2. В поле команды запуска введите: Системные свойства Нажмите Входить.
3. На вкладке Advanced откройте Переменные среды.
4. Выберите ТЕМП. переменная и щелкните Редактировать.
5. Измените путь к значению переменной на C: Windows Temp и нажмите В ПОРЯДКЕ.
6. Затем выберите TMP значение и щелкните Изменить.
7. Задайте — также — путь к значению переменной C: Windows Temp
8. Нажмите В ПОРЯДКЕ дважды, чтобы закрыть все окна.
9. Попробуйте установить или снова запустить программу, которая вызывает ошибку «Системный файл не подходит».
Решение 2. Восстановите или заново создайте необходимые файлы.
Проблема «Системный файл не подходит для запуска приложений MS-DOS» может возникнуть, если какой-либо из следующих файлов отсутствует, поврежден или не находится в папке% systemroot% System32:
- Autoexec.nt
- Command.com
- Config.nt
Для Windows 7 или Vista: вы можете попробовать скопировать «Autoexec.nt» и «Config.nt» из другого рабочего компьютер (с той же версией Windows) или повторно создать файлы «config.nt» и «autoexec.nt», используя Блокнот.
А. Для создания config.nt файл.
1. Откройте Блокнот и скопируйте и вставьте текст ниже:
dos = высокий, умб
устройство =% SYSTEMROOT% system32 himem.sys
files = 40
2. Перейти к Файл > Сохранить как
3. в Имя файла коробка, тип config.nt
4. Изменять в Сохранить как тип к Все файлы и Сохранять файл в C: Windows System32 каталог.
5. Начать сначала твой компьютер.
Б. Для создания autoexec.nt файл:
1. Откройте Блокнот и скопируйте и вставьте текст ниже:
2. Перейти к Файл > Сохранить как
3. в Имя файла коробка, тип autoexec.nt
4. Изменять в Сохранить как тип к Все файлы и Сохранять файл в C: Windows System32 каталог.
5. Начать сначала твой компьютер.
Сообщите мне, помогло ли вам это руководство, оставив свой комментарий о своем опыте. Пожалуйста, поставьте лайк и поделитесь этим руководством, чтобы помочь другим.
мне совсем не помогло на 32-битной Windows 7, очень раздражал, потому что я админ на этом компьютере
Ф. Untersagen
26 января 2018 в 20:56
Спасибо, первый вариант (настройки среды в windows temp) напрямую устранил мою проблему!
Старые добрые 16-битные программы для Windows, наконец, снова работают с Windows 10 32b Fall Creators Update 😉
Источник: reviensmedia.com
Dos окно в windows 7
На новые машины стали ставить Windows 7 и тут же столкнулись с тем, что DOS-программы не запускаются вообще. Настройка режима совместимости в свойствах файла никак не влияет на запуск (в Windows XP это хоть как-то помогало). В результате гугления выяснилось, что Микрософт предлагает DOS-программы на Windows 7 запускать в виртуальной машине.
Разработчики позаботились о том, чтобы этот совершенно дикий метод создавал как можно меньше неудобств, а для неискушенного пользователя выглядел почти прозрачно. Правда, для этого кто-то должен все предварительно настроить… Технология называется Windows XP Mode. Об этом и пойдет речь.
Установка Windows XP mode
1. (Пофиксено в Windows 7 SP1) Windows XP Mode можно поставить не на любую машину. Должна быть поддержка виртуализации. Иногда её нужно включать в BIOS’е машины.
Достоверно убедиться в пригодности ПК для Windows XP Mode можно с помощью теста Intel Processor Identification Utility. Программа требует процесса установки. После запуска на закладке «Технологии ЦП» нужно посмотреть значение в строке «Технология виртуализации Intel». 2. Скачиваем WindowsXPMode_ru-ru.exe со страницы Windows XP Mode and Windows Virtual PC.
Это подготовленный разработчиком образ виртуальной машины с Windows XP SP3, размером почти 500 Мб. Скачивается очень долго, у меня заняло больше 4 часов. Попутно сразу скачиваем с той же страницы и Windows6.1-KB958559-x64-RefreshPkg.msu — это обновление как раз и есть Microsoft Virtual PC, в среде которого будет запускаться виртуальная машина. 3. Устанавливаем WindowsXPMode_ru-ru.exe.
Программа установки спросит путь для виртуальной машины. Размер каталога будет большой (для пустой машины порядка 1.5 … 2 Гб), поэтому нужно позаботиться, чтобы на диске было достаточно свободного места. Ставим на диск D:. 4. Устанавливаем Windows6.1-KB958559-x64-RefreshPkg.msu. Песле установки перезагрузка обязательна.
Настройка DOS-программы в Windows XP Mode
В меню Пуск выбираем: Все программы — Windows Virtual PC — Windows XP Mode.
При первом запуске происходит конфигурирование Windows XP Mode.
Автоматически создается пользователь XPMUser с правами администратора. Для него запрашивается пароль. От имени этого пользователя будет происходить вход в виртуальную ОС. Если здесь сбрость флажок сохранения пароля, то придется вводить его при каждом запуске виртуальной машины и, соответственно, установленных на ней программ.
После вопроса о порядке установки обновлений в виртуальной гостевой ОС начинается настройка виртуальной машины. Процесс довольно длительный. На i5 3 ГГц занял 3 минуты. В результате открывается окно, в котором выполняется Windows XP SP3. По умолчанию, в виртуальной Windows XP Mode 512 МБ ОЗУ и один жесткий диск на 120 Гб.
Здесь устанавливаем свою DOS-программу. Возникает вопрос, куда её ставить. У виртуальной машины свой диск C:. Если файлы программы находятся на нем, то из Windows 7 они будут доступны только через сеть, а это совсем не удобно. Зато диски Windows 7 по умолчанию автоматически подключаются в Windows XP mode как сетевые и выглядят в проводнике так:
\tsclientC
\tsclientD
и т.д.
Конкретная задача
DOS-программа на Windows 7 (хост) находится в каталоге C: ZAYAVKA. Сама обращается за данными к сетевому ресурсу \Cavs-4ZAYAVKA , который подключен как диск Y: , так как DOS-программа не понимает сетевых путей, работает только с локального диска. Это работало на Windows XP, нужно запускать на Windows 7 SP1 x64.
На Windows XP mode (гостевая) подключаем диски через net use: Для второй команды потребуется ввести имя и пароль для подключения. На Windows XP открываем папку H:ZAYAVKA и делаем на рабочем столе ярлычок для DOS-программы из этого каталога. Запускаем, проверяем. Настраиваем параметры экрана.
Если все в порядке, то на гостевой копируем этот ярлычок с рабочего стола в каталог c:Documents and SettingsAll UsersГлавное менюПрограммы и делаем завершение сеанса: Пуск — Выход из системы. Таким образом программа публикуется для хостовой ОС. Выключаем гостевую крестиком. Теперь на хосте в меню «Пуск — Все программы — Windows Virtual PC — Приложения Windows XP Mode» появилась опубликованная программа. Можно этот значок скопировать на рабочий стол хоста и из него запускать программу.
Проблемы
Для каждого пользователя ПК нужно заново создавать его собственную виртуальную машину.
Работают DOS-программы в виртуальной машине очень медленно. В частности, поиск по подстроке в БД из нескольких тысяч записей длится порядка минуты, а в обычной (без виртуализации) Windows XP на аналогичном железе такой поиск происходит мгновенно. Источник
Запуск DOS-программ на Windows 7 в DOSBox
На Windows 7 не работают DOS-программы, хотя на Windows XP с ними проблем не было. Микрософт предлагает запускать DOS-программы в специальной виртуальной машине Windows XP mode. Это действительно работает, но данная технология слишком громоздка, запуск и завершение программ занимает много времени. Однако, есть более удобное решение сторонних разработчиков — DOSBox.
Эксперименты показали, что в DOSBox та же DOS-программа работает быстрее на четверть. Установка и настройка занимает значительно меньше времени.
Особенности DOSBox
Системный диск в DOSBox имеет имя Z: Команда net use НЕ поддерживается. Поэтому для подключения сетевых дисков нужно сначала подключить их в хостовой системе, а потом подмонтировать в гостевой командой mount Русификация встроенными средствами DOSBox: keyb ru441 866
Переключение раскладки:
RUS — левый ALT + правый Shift.
LAT — левый ALT + левый Shift.
Либо вместо этого запускать не саму программу а cmd файл, в котором сначала запускать свой русификатор, например vrun.com (переключатель — правый Shift).
Размер экрана можно изменить параметром windowresolution в файле «c:Program Files (x86)DOSBox-0.74dosbox.conf» (размер по умолчанию слишком маленький) либо при запуске DOS-программы подключать отдельный файл конфигурации.
Пример: windowresolution=1024×768.
Однако, для этого необходимо изменить и параметр output, т.к. при значении по умолчанию (output=surface) изменение разрешения не поддерживается.
Пример: output=ddraw. При запуске программы в DOSBox без дополнительных параметров каталог программы автоматически монтируется в DOSBox как диск C:
Например, в ярлыке запуска написано: «C:Program Files (x86)DOSBox-0.74DOSBox.exe» C:PROGAprog.exe
Тогда каталог хостовой системы C:PROGA будет подключен в DOSBox как диск C: и в нем будет запущена программа prog.exe
Еще в строке запуска нужно добавлять:
-exit — для закрытия DOS-окна по завершении работы программы,
-noconsole — для скрытия служебного окна DOSBox.
Конкретная задача
DOS-программа на Windows 7 (хост) находится в каталоге C:ZAYAVKA. Сама обращается за данными к сетевому ресурсу \Cavs-4ZAYAVKA, который подключен как диск Y:, так как DOS-программа не понимает сетевых путей. На хосте подключаем сетевой диск: В файл «c:Program Files (x86)DOSBox-0.74dosbox.conf» дописываем в конец в секцию [autoexec]:
keyb ru441 866
mount Y Y:
set clipper=f100 (здесь первая строка — русификатор,
вторая — монтируем в DOSBox на букву Y путь на хосте Y: ,
третья строка нужна для работы этой программы) Источник
Источник: onecomp.ru