bga68comp: (Default)
bga68comp ([personal profile] bga68comp) wrote2018-01-30 05:27 pm

Как запустить старые DOS-программы на Windows 7-8-10

Как запустить старые DOS-программы на Windows 7-8-10

Найденные на просторах Интернет и подтвержденные не раз

Советы
Если используется 32-разрядная версия Windows, можно запустить программу DOS, выбрав соответствующий *.com файл. Если запуск происходит впервые из Windows 7 и выше, вероятно, будет предложено установить компонент под названием NTVDM - нажмите кнопку Установить этот компонент:



После успешной установки, возможно, придется перезапустить приложение:



Обращаю внимание, что перед запуском 16 bit MS-DOS приложения нужно выполнить некоторые преобразования с компонентом Командная строка. Иначе получим следующую ошибку:



Итак: в Свойствах командной строки устанавливаем галочку в чекбоксе Использовать прежнюю версию консоли (требуется перезапуск), т.к. "новая" консоль не поддерживает 16-битные приложения:



Часть DOS программ грузится в полном экране, часть в окне:

Измените параметр реестра:
Код:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Console]
"FullScreen"=dword:00000000

При запуске необходимого DOS приложения, некорректно отображаются русские шрифты:

Решение первое:

1. Откройте в блокноте файл %windir%\system32\autoexec.nt
2. Пропишите в него строку в самом конце файла (с новой строки) lh %SystemRoot%\system32\kb16.com ru
Измените параметр реестра:
Код:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes]
"00000409"="ru"


3. Перезагрузитесь

После перезагрузки переключение раскладки клавиатуры в DOS-приложениях будет производиться комбинациями Ctrl+Left Shift (английская) и Ctrl+Right Shift (русская).

Примечание. Данный метод нормально работает в том случае, если Language settings for the system (апплет Regional Options) в качестве Default стоит Cyrilic.

Решение второе:

1. Загрузите файл keyrus.com и сохраните его в папку %windir%\system32
2. Откройте в блокноте файл %windir%\system32\autoexec.nt
3. Пропишите в него строку в самом конце файла (с новой строки) %windir%\system32\keyrus.com
4. Перезагрузитесь.

Раскладка: R.Shift - Вкл\Выкл Русскую раскладку (темно-зеленая подсветка краёв экрана), R.Ctrl - вкл. Украинскую раскладку (если нужна, салатная подсветка), откл. R.Shift.

Если в эмуляторе DOS нужно запустить FoxPro

Общие замечания
Не следует использовать программы кэширования дисковых операций типа Stacker, SmartDrive и пр., т.к. FoxPro имеет свой модуль кэширования. Возможны конфликты между ними. Кроме того, происходит неоправданный расход памяти...

MS FoxPro поставляется в двух видах - стандартный (foxpro.exe, foxpro.ovl) и расширенный (foxproX.exe). Используйте "расширенную" версию FoxPro только при наличии достаточного объема памяти на вашей машине (не менее 4 МБ, с драйвером emm386.exe).

"Тяжелым" моментом для FoxPro является запуск внешних программ, таких как архиваторы, просмотрщики. Если программа не запускается, попробуйте сменить тип FoxPro - перейдите со стандартного на расширенный и наоборот... Очень помогает в тех случаях, когда необходимо несколько раз подряд выполнить запуск внешней программы (например, формирование формы 8-ДР, передача в "налогоплательщик", сведения для персонифицированного учета).

Windows 95/98

Использование графических оболочек типа Windows 9x совместно с нашим программным обеспечением можно рекомендовать опытным пользователям. Запуск монитора задач лучше выполнять из bat-файла, помещенного на Рабочем Столе (Desktop) или из любого унаследованного файлового менеджера (Norton/Volkov Commander, DOS Navigator). Ни в коем случае не нужно использовать драйвер верхней памяти emm386.exe (sys), т.к. Windows управляет ею с помощью своего менеджера памяти.

autoexec.bat

@echo off
PATH C:\WIN95;C:\WIN95\COMMAND;C:\tools;C:\ARC;c:\foxpro;c:\fox
SET TEMP=c:\win95\temp

SET FOXPROCFG=C:\FOX\CONFIG.FP
SET FOXPROSWX=-T

mode con codepage prepare=((866) C:\WIN95\COMMAND\ega3.cpi)
mode con codepage select=866
keyb ru,,c:\win95\command\keybrd3.sys >nul


config.sys

device=C:\WIN95\himem.sys /verbose
dos=high
files=50
buffers=40
device=C:\WIN95\COMMAND\display.sys con=(ega,,1)
country=007,866,C:\WIN95\COMMAND\country.sys


MS FoxPro 2.x

Возможно использование любой версии FoxPro старшей 2.0, но для работы с некоторыми задачами необходимо обязательное использование версии 2.6. При установке FoxPro помещается в отдельном каталоге на локальном диске, например в c:\foxpro\.

Обратите внимание на необходимость указания диска для временных файлов (параметр tmpfiles конфигурационного файла) при работе с сетевой версией программ. Он всегда должен быть назначен на один из локальных дисков вашего компьютера.

c:\fox\config.fp
files = 60
buffers = 50
mvarsiz = 20
mvcount = 768
date = german
ems = on
resource=off
tmpfiles=c:


Попробуйте также добавить еще и такие строки в этот файл. В качестве путей укажите свой:

sortwork=c:\win\temp
progwork=c:\win\temp
editwork=c:\win\temp
tmpfiles=c:\win\temp


Windows ME

Запустите утилиту msconfig и в разделе config.sys добавьте строку FILES=50 или отредактируйте существующее значение. Данная рекомендация взята из Tech & Support самой Microsoft, но ни к какому положительному результату не приводит. Мне так и не удалось запустить нашу "зарплату". Все остальное работает... Может быть Вам повезет больше и все будет работать. В противном случае, остается "откатиться" и пользоваться версией, которая стояла до этого.

Windows NT/2000

Общепринятым методом запуска программ MS-DOS является добавление ключа в реестр или редактирование существующего его значения. Уточняется... При необходимости нужные конфигурационные файлы (autoexec.bat и config.sys) переименовываются и устанавливаются для использования только этой программой MS-DOS.

Откорректируйте файлы autoexec.nt и config.nt следующим образом:
в файл autoexec.nt нужно добавить строки

lh %SystemRoot%\system32\kb16.com ru
set foxprocfg=c:\fox\config.fp
set path=c:\arc;c:\foxpro;c:\fox;c:\dn;%path%


в файл config.nt нужно добавить строки

dos=high, umb
device=%SystemRoot%\system32\himem.sys
files=99
buffers=50


Также необходимо удостовериться в корректном состоянии переменных окружения TEMP и TMP, которые должны содержать путь к каталогу на локальном диске, в котором будут сохраняться временные файлы. Постарайтесь сделать этот путь как можно более коротким.

Использование NT/2000 в качестве файлового сервера для наших программ возможно и тому есть удачные примеры. Много будет зависеть от наличия грамотного администратора, который будет заниматься установкой и обслуживанием сервера.

Windows XP

Все старое ПО отлично работает в окружении этой ОС. Нет никаких оснований "хоронить" DOS и программы, работающие "под" ним. Настройка и конфигурирование выполняются абсолютно аналогично Windows 2000.

Windows 7 / 8 / 8.1 / 10

Все старое ПО отлично работает в окружении этих ОС. Нет никаких оснований "хоронить" DOS и программы, работающие "под" ним. Настройка и конфигурирование выполняются абсолютно аналогично Windows 2000.


AUTOEXEC.NT:

@echo off

REM AUTOEXEC.BAT is not used to initialize the MS-DOS environment.
REM AUTOEXEC.NT is used to initialize the MS-DOS environment unless a
REM different startup file is specified in an application's PIF.
REM Файл AUTOEXEC.BAT не используется для инициализации среды MS-DOS.
REM Для инициализации среды MS-DOS используется файл AUTOEXEC.NT,
REM если не указан другой файл инициализации в PIF-файле приложения.

REM Install CD ROM extensions
REM Установка расширений для поддержки CD ROM
lh %SystemRoot%\system32\mscdexnt.exe

REM Install network redirector (load before dosx.exe)
REM Установка сетевого редиректора (загружается перед dosx.exe)
lh %SystemRoot%\system32\redir

REM Install DPMI support
REM Установка поддержки DPMI
lh %SystemRoot%\system32\dosx

REM The following line enables Sound Blaster 2.0 support on NTVDM.
REM The command for setting the BLASTER environment is as follows:
REM    SET BLASTER=A220 I5 D1 P330
REM    where:
REM        A    specifies the sound blaster's base I/O port
REM        I    specifies the interrupt request line
REM        D    specifies the 8-bit DMA channel
REM        P    specifies the MPU-401 base I/O port
REM        T    specifies the type of sound blaster card
REM                 1 - Sound Blaster 1.5
REM                 2 - Sound Blaster Pro I
REM                 3 - Sound Blaster 2.0
REM                 4 - Sound Blaster Pro II
REM                 6 - SOund Blaster 16/AWE 32/32/64
REM
REM   The default value is A220 I5 D1 T3 and P330.  If any of the switches is
REM   left unspecified, the default value will be used. (NOTE, since all the
REM   ports are virtualized, the information provided here does not have to
REM   match the real hardware setting.)  
REM   NTVDM supports Sound Blaster 2.0 only.
REM   The T switch must be set to 3, if specified.
REM
REM Установка поддержки Sound Blaster 2.0 на NTVDM.
REM Используется следующий синтаксис для команды настройки BLASTER:
REM    SET BLASTER=A220 I5 D1 P330
REM    где:
REM        A    задает базовый порт ввода-вывода для Sound Blaster
REM        I    задает номер прерывания
REM        D    задает 8-битный DMA-канал
REM        P    задает базовый порт ввода-вывода для MPU-401
REM        T    задает тип карты Sound Blaster:
REM                 1 - Sound Blaster 1.5
REM                 2 - Sound Blaster Pro I
REM                 3 - Sound Blaster 2.0
REM                 4 - Sound Blaster Pro II
REM                 6 - SOund Blaster 16/AWE 32/32/64
REM
REM   По умолчанию используются значения A220 I5 D1 T3 и P330. Если некоторые
REM   из ключей не будут заданы, они получат значения по умолчанию.
REM   (Примечание: поскольку все порты виртуальные, введенные значения
REM   не обязаны совпадать с реальными параметрами оборудования.)
REM   NTVDM поддерживает только Sound Blaster 2.0 
REM   Параметр T, если указан, должен быть равен 3.

SET BLASTER=A220 I5 D1 P330 T3

REM To disable the sound blaster 2.0 support on NTVDM, specify an invalid
REM SB base I/O port address.  For example:
REM    SET BLASTER=A0
REM
REM Чтобы отключить поддержку Sound Blaster 2.0 на NTVDM, следует указать
REM недопустимое значение для бвзового порта ввода-вывода SB, например:
REM    SET BLASTER=A0


rem x:\keyb\rk-866.com
lh %SystemRoot%\system32\kb16.com ru,866
set temp=c:\windows\temp
set clipper=f:250

CONFIG.SYS:

REM Windows MS-DOS Startup File
REM CONFIG.SYS vs CONFIG.NT
REM CONFIG.SYS is not used to initialize the MS-DOS environment.
REM CONFIG.NT is used to initialize the MS-DOS environment unless a
REM different startup file is specified in an application's PIF.
REM
REM ECHOCONFIG
REM By default, no information is displayed when the MS-DOS environment
REM is initialized. To display CONFIG.NT/AUTOEXEC.NT information, add
REM the command echoconfig to CONFIG.NT or other startup file.
REM
REM NTCMDPROMPT
REM When you return to the command prompt from a TSR or while running an
REM MS-DOS-based application, Windows runs COMMAND.COM. This allows the
REM TSR to remain active. To run CMD.EXE, the Windows command prompt,
REM rather than COMMAND.COM, add the command ntcmdprompt to CONFIG.NT or
REM other startup file.
REM
REM DOSONLY
REM By default, you can start any type of application when running
REM COMMAND.COM. If you start an application other than an MS-DOS-based
REM application, any running TSR may be disrupted. To ensure that only
REM MS-DOS-based applications can be started, add the command dosonly to
REM CONFIG.NT or other startup file.
REM
REM EMM
REM You can use EMM command line to configure EMM(Expanded Memory Manager).
REM The syntax is:
REM
REM EMM = [A=AltRegSets] [B=BaseSegment] [RAM]
REM
REM     AltRegSets
REM         specifies the total Alternative Mapping Register Sets you
REM         want the system to support. 1 <= AltRegSets <= 255. The
REM         default value is 8.
REM     BaseSegment
REM         specifies the starting segment address in the Dos conventional
REM         memory you want the system to allocate for EMM page frames.
REM         The value must be given in Hexdecimal.
REM         0x1000 <= BaseSegment <= 0x4000. The value is rounded down to
REM         16KB boundary. The default value is 0x4000
REM     RAM
REM         specifies that the system should only allocate 64Kb address
REM         space from the Upper Memory Block(UMB) area for EMM page frames
REM         and leave the rests(if available) to be used by DOS to support
REM         loadhigh and devicehigh commands. The system, by default, would
REM         allocate all possible and available UMB for page frames.
REM
REM     The EMM size is determined by pif file(either the one associated
REM     with your application or _default.pif). If the size from PIF file
REM     is zero, EMM will be disabled and the EMM line will be ignored.
REM
REM - - -
REM
REM Файл CONFIG.SYS более не используется для инициализации среды MS-DOS.
REM Для инициализации среды MS-DOS используется файл CONFIG.NT,
REM если не указан другой файл инициализации в PIF-файле приложения.
REM
REM ECHOCONFIG
REM По умолчанию при инициализации среды MS-DOS на экран не выводится
REM никакия информация. Для того, чтобы команды CONFIG.NT/AUTOEXEC.NT 
REM выводились на экран, нужно добавить команду ECHOCONFIG 
REM к файлу CONFIG.NT или другому стартовому файлу настройки.
REM
REM NTCMDPROMPT
REM При вызове интерпретатора команд из резидентной программы (TSR)
REM или во время выполнения иного DOS-приложения, 
REM Windows запускает COMMAND.COM.
REM Это позволяет запущенной резидентной программе (TSR) оставаться
REM активной. Для того, чтобы запускался CMD.EXE (интерпретатор командных
REM строк Windows), а не COMMAND.COM, нужно добавить команду NTCMDPROMPT
REM к файлу CONFIG.NT или другому стартовому файлу настройки. 
REM
REM DOSONLY
REM По умолчанию разрешается запускать с помощью интерпретатора командных
REM строк COMMAND.COM любые приложения. Однако, если вы запустите приложение,
REM не являющееся DOS-приложением, то все выполняющиеся в настоящий момент
REM резидентные программы (TSR) могут быть остановлены. Для того, чтобы
REM разрешить запуск только DOS-приложеений, нужно добавить команду DOSONLY
REM к файлу CONFIG.NT или другому стартовому файлу настройки. 
REM
REM EMM
REM Можно использовать команду EMM 
REM для настройки диспетчера отображаемой памяти (Expanded Memory Manager).
REM Синтаксис этой команды:
REM
REM EMM = [A=AltRegSets] [B=BaseSegment] [RAM]
REM
REM     AltRegSets
REM         задает общее количество альтернативных наборов регистров
REM         (Alternative Mapping Register Sets), которые должна поддерживать
REM         система. Допустимый диапазон значений: 1 <= AltRegSets <= 255.
REM         Значение, принимаемое по умолчанию: 8.
REM     BaseSegment
REM         задает адрес начального сегмента в обычной памяти DOS, который
REM         система должна использовать для размещения страниц EMM.
REM         Значение должно быть задано в шестнадцатеричном формате.
REM         Допустимый диапазон значений: 0x1000 <= BaseSegment <= 0x4000.
REM         Значение округляется до кратного 16 Kбайт. 
REM         Значение, принимаемое по умолчанию: 0x4000.
REM     RAM
REM         указывает, что система должна распределить только 64 Кбайт из
REM         области UMB (Upper Memory Block) для буфера страниц EMM и оставить
REM         остальное место (если таковое имеется) для использования DOS,
REM         чтобы обеспечить поддержку команд LOADHIGH и DEVICEHIGH.
REM         По умолчанию система использует всю доступную память из 
REM         области UMB (Upper Memory Block) для буфера страниц EMM.
REM
REM     Размер EMM указывается в PIF-файле (либо в специальном PIF-файле,
REM     использующемся для данного приложения, либо в файле _default.pif). 
REM     Если в PIF-файле в качестве размера EMM задан нуль, то EMM не 
REM     используется и строка EMM в файле настройки DOS игнорируется.
REM
dos=high, umb
device=%SystemRoot%\system32\himem.sys
lastdrive=z
buffers=50
files=250
MEMLIMIT = 10, 4096, 8192

device=%SystemRoot%\system32\haspdos.sys 

 




[identity profile] maxim sementsul (from livejournal.com) 2022-06-19 11:38 am (UTC)(link)
Можно просто купить программу MS-DOS 6.22 FOR WINDOWS, и пользоваться программами для DOS.
Оф сайт программы: http://d96179xw.beget.tech/