How to Run DOS Programs on Windows 7/8/10 and Other Windows Tips
There’s a lot of older telecom and other software out there that is very specialized, not upgradeable, not replaceable, and won’t run on modern Windows operating systems like Vista, XP, W7 or W8. But it works just fine and spending a lot of money to replace it seems crazy.
There are many Windows 95/98 and even 3.1 computers out there running these special apps today.
When Vista and XP came out many of the DOS programs that ran fine under W95/98 wouldn’t run at all on those operating systems.
The good news is that Windows 7 and Windows 8 32 bit (not 64 bit) has changed that! I don’t know about W10 that’s supposed to come out some time next year.
Note that if you use a 32 bit operating system, you have to make sure you are using the 32 bit versions of any Windows programs you’re using (not the 64 bit versions).
It turns out that Vista and XP didn’t handle the DOS programs and their memory needs very well. There were problems converting 16 bit (DOS stuff) to the 32 bit memory addressing scheme in Vista and XP (and the 64 bit versions of all Windows systems). If you’re interested in the nitty gritties this is a good explanation of how «thunking» (the ability to share data between 16 and 32 bit stuff) was broken in Vista and XP:
Only the 32 bit versions of W7 & W8 work correctly with DOS programs!
The DOS stuff we use in our office never worked in Vista or XP. All of the installs of W7 I had were 64 bit, so the DOS stuff never worked on W7 for me either.
Then I decided to try the W7 32 bit just to see what happened, and the programs worked about 80% fine. That meant that I could now use the DOS program on a machine with a modern browser, which happened to be one of the requirements for us to migrate that machine from W98SE. I couldn’t find a modern browser that runs in W98SE.
Luckily for us I wrote the DOS programs we use and could change them easily. For some DOS programs the original authors aren’t around anymore, so it might take some extra tweaking to make it work on W7 if it’s possible at all. There’s a pretty good chance there won’t be a problem if you take a look at some of my tips, below.
One of the benefits of using a DOS program is that it’s very quick and easy to use without a mouse.
DOS programs seem to run a lot slower on W7 32 bit than they did on a W98 box. The DOS programs we use are blindingly fast on W98 machines. Not on W7, but perfectly usable.
If all you have is a 64 bit system to play with there’s a program called DOSBOX that will let you run DOS programs on both 32 bit and 64 bit systems (really designed for playing old DOS games), going back to Vista and XP (as well as W7 & W8). You can check it out at:
The DIR Command is Different!
We do a lot of reading directories for new files. We do that by doing a DIR command and reading the output into memory and massaging the results. It turns out that in Vista and above they added a line to the top section of the DIR output, which was easy to fix by throwing away 5 lines instead of 4 before we started looking for file names.
They also changed the format of each line with a file name in the DIR, but that didn’t matter for us.
Boot Problems with Network Drives
W7 often has a problem connecting to network drives from any workstation. In the case of our machines they’re involved with automating processes. I really needed the machine to boot up and connect to the network drives automatically, without my manually clicking on the disconnected drives to reconnect.
I run a batch file with the net use command to reconnect the drives, but it doesn’t reconnect the drives unless you wait about 20 seconds after the W7 machine starts loading stuff in the Startup Group. This is in a batchfile called reconn.bat:
net use L: \\Serverd\Ddrive
net use M: \\Serverd\Edrive
net use P: \\Backup1\C
net use Q: \\Backup2\D
The fix is to delay reconn.bat so it waits 20 seconds.
Delaying Running Programs
I couldn’t just drop the reconn.bat batch file into the startup group because the drives wouldn’t reconnect unless I waited 20 seconds to run the batch file. To fix that I bought a program called Startup Delayer (the free version would also work, but won’t save the configurations for testing):
In addition to delaying the batch file to reconnect the network drives, I also had to delay any programs that use those drives from starting before reconn.bat. Startup Delayer let me set all the programs that need to see the networked drive to run after the drives were reconnected. That really saved a lot of time and hassle!
Wow. I almost had a Windows 7 32 bit machine that worked as good as W98SE!
Printing from DOS Programs
It turns out that you probably need a little help getting print statements in DOS programs to work on a network or USB printer. It might work without help, but it was a problem for us. A quick fix was a program called Printfil:
This lets you specify a local or network printer. Seems to work fine, and there are lots of options to play with.
We run some reports by doing a screen print of the DOS screen. We used a DOS TSR (Terminate and Stay Resident) on the old W98 machines to print the screen to a page on the printer, and then send a form feed to eject the page from the laser printer. That’s worked well for us for a long time, but the TSR won’t run in the DOS box in W7 32 bit. Greenshot solved that problems for us:
This program lets you tell it to grab the Print Screen when you push that button (you can tell it to use any button), and send it to a printer with a form feed. I save toner on the laser printer by telling the program to only print in black and white, and in our case inverting the colors so the blue background on the DOS screen doesn’t show up in black on the printer. It’s easy to setup, free, and really handy!
CAPS & Number Lock
We need the caps lock and num lock to be set differently in different DOS screens. With the old DOS and W98 machines I simply peeked and poked memory to determine the status and set the caps and num lock. Those peeks and pokes definitely don’t work on W7!
This is the easiest way I found to set the caps and num lock from the DOS program on the W7 machine. I simply call a batch file from the DOS program which runs «capslock on» or «capslock off» in the batch file. Same with numlock.
Running this program is a lot slower than the pokes, but it works for us.
Arranging the ICONS on the Desktop so They’ll Stay!
We leave the DOS program open all the time on the W7 desktop in the upper left corner. It turns out that W7 puts other icons at the upper left corner so they’re always covered up by our DOS program. W7 likes to rearrange icons after you move them, from time to time.
The fix I found for that is a Windows program called DesktopOK:
It lets you save your icon arrangement and restore it when the system boots. It lets us put the icons anywhere we need them, and they return to the correct position after the system restarts.
Digging Around in a Windows Machine to See What’s There.
In the old days with DOS I used a program called XTREE to give me the lowdown on any PC I sat down at. Before you start changing stuff it’s a really good idea to know exactly what’s on the machine. XTREE (and then XTREE Gold) did a great job of giving me a graphical tree view of everything on a disk, and let me install or fix stuff without screwing up the machine further.
Today I use a clone of XTREE called ZTREE that runs on all versions of Windows. The author of ZTREE used all the same commands as XTREE so you don’t have to use a mouse to do anything :
It gives a much clearer picture of what’s on a hard drive, local or remote, than My Computer or Windows Explorer. If you’ve never used XTREE it will take a little while for your fingers to learn what they have to do to get you where you want, but once your fingers learn it it’s incredibly fast.
Having WiFi Problems, and You Have W7 or W8?
In W7 and W8 they added some capabilities to the netsh (network shell) command that really helps diagnose why WiFi connections aren’t working well. To access netsh, click the START button in W7 and type cmd into the little text box at the bottom, and hit enter. I don’t use W8 so I don’t know where you find the place to get to cmd in W8 since there’s no START button.
When the command box opens, at the prompt type:
netsh wlan show networks mode=bssid
You can get a little more information with:
netsh wlan show all
It will give you a list of all the WiFi networks that can be seen. The important thing is to see what Channel your WiFi is on, and what all the other WiFi routers are on. In the example above you can see that all the networks are on Channel 11. In this case it doesn’t matter much because the signal is so bad on the second two networks listed (there are two more when I scroll down), but having two or more WiFi routers set to the same channel is a recipe for crummy WiFi for everybody.
If you have a router that does both 2.4 and 5 gig, you’ll see two SSIDs for your location. Make sure neither one is on the same channel as a nearby router, unless maybe if the signal strength from the other routers is really low.
The fix is to go into your router and change the channel, or both channels if you have a 5G router with 2 SSIDs.
There is a wonderful app called Wifi Analyzer by farproc in the Android Google Play and Kindle app stores that works great, and gives you the same information as the netsh wlan commands in W7/8.
When you open the free app after downloading it, touch View and choose AP list from the drop down. It gives you all the WiFi routers it can see, signal strength and the Channel number.
I haven’t found an app that will do that on ios for iPhones/iPads, but there may be one.
Finding Utility Programs on the Internet is DANGEROUS!
The links I provided for the various utilities on this page are safe as far as I can tell.
BUT, if the utility is free you’ll probably find it on many other sites on the Internet. The problem with almost all of those sites that let you download free software is that they «wrap» the software in their own installer , which is there to put all kinds of other questionable software on your PC along with the free software you want.
CNET is probably the safest place to download free programs because they give you the option to use a Direct Download Link (if you know to do that), or use their Installer which will probably screw up your computer. See the Two ways to download software from CNET circled in red:
Even SourceForge, the place that says it’s «Trusted for Open Source,» wraps their downloads in an installer:
They do tell you a second time that you’re going to be using an installer when I tried to download Filezilla. If I install any of the junk in the installer by accident, Filezilla shares in some of the money they get from SourceForge. Other software on SourceForge may or may not have an installer?
So maybe it doesn’t contain malware? I did check and they tell you in BIG letters that you can opt out of two goofy programs they want to put on your PC (I opted out). I think when I tried the direct link it was still wrapped in their installer, but I’m not positive. I didn’t want to spend much time trying to get bad stuff onto my computer!
In general I think I’d trust CNET only with the direct download link. I guess they need to charge money to pay for the servers, and the makers of the junk software they install generally pay them per install.
SourceForge lets savvy users opt out of installing the junk in their installer. Any time you are downloading something take the time to read the bullshit on the screen! Don’t just click ACCEPT. Being really careful can save you A LOT of headaches.
Almost ALL of the other sites with collections of «free software» that you can download may really screw up your computer with junk when you use their installer, or they may even install malware that would be very difficult to get rid of (if you can at all).
If a site says you should use their Installer to make downloads faster (or for any other reason), DON’T DOWNLOAD IT! Look for the original author’s site which probably has a direct download link. If they also have a link to get it from one of the free software sites, go for the direct link!
Running DOS legacy programs on Windows 7
His previous machine was a Windows XP machine; there was no problem running his legacy DOS program on that machine. I need to know what options there are to get legacy DOS programs running on a Windows 7 machine.
You must use DOSBox:
This allows you to run 16Bit DOS Application on a 64Bit Windows.
«A programmer is just a tool which converts caffeine into code» CLIP- Stellvertreter http://www.winvistaside.de/
Was this reply helpful?
Sorry this didn’t help.
Great! Thanks for your feedback.
How satisfied are you with this reply?
Thanks for your feedback, it helps us improve the site.
How satisfied are you with this reply?
Thanks for your feedback.
Note: you cannot run XP Mode on Windows Home editions. If you are using Windows 7 Home Premium, you would need to use Virtual Box, DosBox or any other 3rd party virtualization program that works with Home Premium. Please visit forums dedicated to these programs for more information.
- If this proposed solution has resolved your issue(s), please return and mark it as Answered for others to consider.
Was this reply helpful?
Sorry this didn’t help.
Great! Thanks for your feedback.
How satisfied are you with this reply?
Thanks for your feedback, it helps us improve the site.
Запуск старых DOS программ под Windows x64
В любой организации может оказаться так, что при обновлении старых компьютеров на новые можно столкнуться с таким фактом, что компьютеры новые, но необходимость использования старых программ никуда не отпала. А одной из старых программ вполне может оказаться какое-нибудь приложение, написанное в 90ые года под MS-DOS, которое напрочь отказывается запускаться на современных операционных системах. В таком случае очень помогает эмулятор MS-DOS под названием DOSBox, использованию которого и посвящена эта статья.
Установка и настройка
Скачиваем последнюю версию с официального сайта, после устанавливаем. Никаких необычных действий при установке программы не требуется.
Теперь ищем необходимую вам DOS программу. Допустим она располагается на диске D в папке Prog и называется Prog.exe. Переходим в эту папку, и создаем там текстовый файл с любым названием и расширением conf. В него пишем:
- mount c D:\Prog — монтирует в эмулятор папку D:\Prog как раздел жесткого диска С;
- c: — осуществляет переход на раздел C жесткого диска;
- Prog.exe — запускает нужную программу. Вместо exe файла могут быть так же файлы с расширением bat или pif.
- exit — закрывает DOSBox после завершения работы программы. Работает ТОЛЬКО с exe файлами.
Если вам нужно, чтобы DOSBox закрывался после запуска bat файла, то вместо простого запуска prog.bat пишем:
Теперь создаем еще один текстовый файл с расширением bat. В него пишем:
Вместо «C:\Program Files (x86)\DOSBox-0.74» указываем тот путь, куда была установлена программа DOSBox. Вместо D:\Prog указываем путь к нужной DOS программе, и вместо prog.conf указываем имя файла, созданного выше.
Сохраняем, и пробуем запустить. Если все прошло успешно, то появится окошко DOSBox, в котором запустится нужная программа.
Добавление поддержки отображения русского языка
Впрочем, момент триумфа может омрачить полное отсутствие русского языка — но это дело поправимое.
Для начала скачиваем с официального сайта официальную локализацию — после чего распаковываем содержимое архива в каталог с программой. Теперь открываем созданный выше conf файл, и дописываем туда в самый верх следующее:
Где «C:\Program Files (x86)\DOSBox-0.74\russian.txt» — это путь к распакованному в папку с программой файлу russian.txt.
Сохраняем и пробуем запустить программу.
Теперь русские символы отображаются и печатаются.
Доработка
Если при запуске программы смущает второе окошко DOSBox, которое открывается вместе с основным окном, то можно в bat файл дописать параметр -noconsole, в итоге bat файл для запуска приобритет следующий вид:
Была ли эта статья Вам полезна?
Комментарии к статье (124)
-
- Александр
- 09.12.2020 21:24
Программа, запускаемая через dosbox, открывает лог-файл и пишет в него данные. Но эти данные не будут видны, пока я не выйду из программы. Как можно задать интервал обновления данных? Ctrl+F4 не помогает. И второй вопрос: насколько большой кэш у dosbox? Мне для логов нужно максимум 256 Кб.
Категорически приветствую, уважаемые! Вопрос про этот самый досбокс.
Что уж только не пробовал, какие настройки не менял — никак не могу побороть одну проблемку.
К примеру, на работе есть (т.е. был) древний комп с виндоуз ХР, всё на нём работает (я имею в виду досбокс, работаю с FoxPro, а это, сами понимаете, раритет), никакие настройки не правил, всё как было в исходном конфигурационном файле (ну единственные изменения — это монтирование нужной папки программы).
Сейчас на работе вин 7 х64 — и вот тут никак! Всё запускается, но экран не весь — сверху и снизу чёрные полосы, а мне очень желательно на весь экран (монитор 17 дюймов, не из современных, у которых соотношение сторон 16:9, а из тех, что 4:3 (т.е. разрешение 800 на 600). Что я только не пробовал менять — никак не удаётся добиться работы программы во весь экран. Конечно, в крайнем случае можно и так работать, если уж по другому ну совсем никак, но не верю, что нельзя что то сделать!
Кто то может подсказать, что исправить в досбокс.конф ?
Заранее благодарю!
Спасибо за статью, настроил на Win7 х64 запуск терминала от древних АТС dx-500. У меня не запускается программа с секцией:
[dosbox]
language=russian.txt
Без неё всё ок.
Также пробросил com-port для работы с dial-up модемом.
Единственное, что хочу узнать, есть ли какая-то комбинация клавиш, по которой dosbox отпускает указатель мыши?
Про файл локализации очень странно — возможно, появляющаяся ошибка даст больше информации, почему с ним программа отказывается запускаться.
Что же касается «захвата мышки», то здесь можно сделать следующее:
- Нажать горячие клавиши Ctrl + F10
- Отключить «захват» мыши, путем добавления в файл dosbox.conf параметра autolock=true
Никакая ошибка не появляется. Окно dosbox открывается и сразу закрывается.
Ещё заметил одну особенность: курсор мыши ползает только по верхней половине окна, в нижнюю не попадает, не может пересечь воображаемый экватор окна.
Отпустить мышь — Ctrl+F10
Добрый день!
Поменял старый ПК. Теперь стоит Win7 64. Есть необходимость запустить старенькую программу на новом ПК. Вроде всё сделал, как написано в статье, но программа не запускается.
Вопросы:
1)Есть ли необходимость создавать в папке C:\Windows\System32 файлы
autoexec.nt с содержимым
path=c:\kadry (папка с программой)
set clipper=f95
rem c:\cyrill.com
lh %SystemRoot%\system32\kb16 ru
и config.nt с содержимым
dos=high, umb
device=%SystemRoot%\system32\himem.sys
files=100
2)сама программа находится C:\KADRY
3)содержимое файлов, которые нужно было создать:
файл C:\KADRY\1.conf
[autoexec]
mount c c:\KADRY
c:
call KADRY.BAT
exit
файл C:\KADRY\1.bat
start «» «C:\Program Files (x86)\DOSBox-0.74-3\DOSBox.exe» -conf «c:\KADRY\1.conf»
сам же файл KADRY.BAT (оригинальный и рабочий на старом компе) содержит следующие строки и, мне кажется, в итоге программа путается
@echo off
cls
c:
CD\kadry\DBF
erase instal_2.mem
erase instal_3.mem
c:\kadry\main.EXE //clipper=f85
IF ERRORLEVEL 3 GOTO END
IF ERRORLEVEL 2 GOTO ER
IF ERRORLEVEL 1 GOTO END
IF ERRORLEVEL 0 GOTO END
:ER
LAMBADA
GOTO END
:END
rem ERASE *.NTX
CD..
Что в итоге я сделал лишнего и не так?
Скрины, после запуска программы
Здравствуйте! На Windows 8 — в ДОС — в Foxprox26 переход с англ на рус по Alt-Shilt получается, а назад нет. Почему?
Здравствуйте. Перевод рус./англ. делается с помощью только ЛЕВОГО Alt: левый Alt + левый Shift — перевод на англ., левый же Alt + правый Shift — перевод на рус. раскладку.
спасибо! почти сразу все заработало. запустилась старая прога под foxprox 2.6 (под Win 7 -64)
правда пришлось провести переиндексацию.
все работает кроме одного. у меня в главном меню старой программы использовались комбинации функциональных клавиши Ctrl + F5 Ctrl + F1
при нажатии которых сейчас досбокс зачем-то делает принтскрин и всё! а функции которые были закреплены за кнопками не включаются. можно ли это как-то настроить? при чем это только в главном меню.
сразу не заметил но в добавок , потом выяснилось что в поля не вводятся цифры, чекбоксы «пробелом» не нажимаются. просто по форме ввода курсор ходит TAB и все а ввод делать не дает..
Здравствуйте подскажите пожалуйста, я запускаю программу на DOSbox, и в этой программе в поля надо вводить значения, и как только ввожу какой-нибудь символ, программа автоматически подтверждает мой выбор ( программа как бы за меня нажимает клавишу «Enter»). Я решил проверить все это в играх, и в игре где надо выбирать персонажа, только нажимаю стрелку и игра автоматически нажимает подтверждение. Помогите пожалуйста
Очень странная проблема, может быть это как-то связано с каким-то из ваших устройств ввода? Вообще, попробуйте прописать следующее в файл конфигурации DOSBox:
Так же попробуйте проверить работу с отключенной клавиатурой или мышкой (как бы это странно не звучало), и проверьте, будет ли при этом происходить самостоятельное «нажатие» клавиши Enter.
Нужно запустить старинную самописную программу, при ее запуске в bat файле она обращается к базе данных парадокс, к исполняемому файлу. Как реализовать такое в DosBox подскажите чтобы корректно все работало ?
Пример строчки запуска bat файла из под вин ХР
pd\paradox -codepool 16000 -extk 16000 main
Я так и писал, только без EXT и всё заработало.
[autoexec]
mount c E:\VODA_PR
c:
Paradox.exe pred
exit
попробуй так:
pd\paradox main
у меня запустилось.
Спасибо! Очень помогла Ваша инструкция. Немного усилий по переделке своего bat файла и получился отличный результат.
Подскажите, пожалуйста, по поводу Dosbox.
run.bat создал такой:
start «» «C:\Program Files (x86)\DOSBox-0.74-3\DOSBox.exe» -conf «G:\Ball\s.conf» -noconsole
language=»C:\Program Files (x86)\DOSBox-0.74-3\russian.txt»
memsize=1024
[dos]
keyboardlayout=RU
FILES=250
[autoexec]
mount c G:\Ball
c:
Ball.exe
exit
Всё работает нормально, но есть следующий нюанс.
Выше рекомендовано в самом начала .conf файла вставить строчку:
[dosbox]
Стоит её туда вставить как программа перестаёт запускаться.
А если не вставлять, то вроде всё нормально работает.
Может быть кто знает почему так?
Установлена была стандартная новая dosbox с сайта разработчиков
и также установлена была официальная русификация dosbox.
Под Windows 10 X64.
При запуске программы ловлю ошибку:
Error while initializing DT-MAX expanded memory management:
EMM manager does not map enough pages for swapping
Обойти ошибку так и не смог, надеюсь на вашу помощь
Здравствуйте,
К сожалению, лично мне не приходилось сталкиваться с DOSEMU, с которым (судя по ошибке) у Вас возникла проблема. Но, может быть, под Ваши цели подойдет DOSBox?
Как раз в dosbox и запускаю. Отключение ems/xms в конфиге и загрузка с JEMMEX тоже не помогла
Извиняюсь, был введен в заблуждение ошибкой.
Пробовали менять стандартное значение размера оперативной памяти, выделяемой в DOSBox?
За это отвечает параметр memsize в секции [dosbox], т. е. я бы предложил попробовать:
Пробовал, и к сожалению никакого эффекта
Добрый день
Программа за пустилась, но она обращается к базе данных.
В DOS это решалось присвоением переменной значения каталога, например
set amber=c:\prog\basa (место куда обращается исполняемая программа)
А как подключить такую базу в DOSbox?
Как самый простой вариант:
Монтируем нужную директорию, как диск D:
И в конфиге вашего приложения прописываем путь к базе «на диске D».
Здравствуйте. Установил DOSBox-0.74-3. В каталоге F:\test.DOSBox создал файлы,-
test.bat:
rem test.bat
rem
start «» «C:\Program Files (x86)\DOSBox-0.74-3\DOSBox.exe» -conf «F:\test.DOSBox\test.conf» -noconsole
[dosbox]
language=»C:\Program Files (x86)\DOSBox-0.74-3\russian.txt»
memsize=1024
[dos]
keyboardlayout=RU
FILES=250
[autoexec]
mount T F:\test.DOSBox
T:
T:\DN-DPMI\DN.com
После запуска test.bat запускается пустое окно DOSBox и через некоторое время закрывается. Как говорит stdout.txt,-
DOSBox version 0.74-3
Copyright 2002-2019 DOSBox Team, published under GNU GPL.
—
CONFIG:Loading primary settings from config file F:\test.DOSBox\test.conf
Exit to error: MSG:Can’t load messages: F:\test.DOSBox\»C:\Program Files (x86)\DOSBox-0.74-3\russian.txt»
Как исправить ситуацию? Спасибо.
А файл локализации был скачан? Судя по логу, программа просто не может его загрузить. Еще, желательно попробовать в конфиге указать просто название файла локализации, а не целый путь, т. е.:
Да, файл локализации имеется.
Согл. файла конфигурации, файл локализации должен браться с
language=»C:\Program Files (x86)\DOSBox-0.74-3\russian.txt»
а DOSBox пытается взять его с F:\test.DOSBox\»C:\Program Files (x86)\DOSBox-0.74-3\russian.txt»
У меня авторская досовская программа не открывается на windows 8. Что можно сделать?
Может быть, при этом пишутся какие-то ошибки? Сложно определить в чем проблема, особенно если речь идет о какой-то уникальной программе.
У меня всё сразу получилось. Программа работает. НО. Не просто медленно — УЖАСАЮЩЕ медленно!
На обработку 1-й (!) обычной текстовой строки из Блокнота (просмотр и вылов заданных слов) уходит почти 1 (!) секунда. И -cycles=max не помогает. А у меня обычно сотни и тысячи строк. Придётся теперь продавать только что купленный комп 64-bit и покупать 32-ку. 🙁
Дополняю (жаль, что нельзя здесь скриншот), в заголовке окна стоит:
DOSBox 0.74-3, Cpu speed 3000 cycles, Frameskip 0, Program: FOXPROL
УРРРРРРААААА! Просто я, балбес, по аналогии с -console в .bat занёс туда же и max. А надо же в .conf.
Всё работает, и не так уж и медленно, очень даже терпимо.
Большущее Вам спасибище.
С огромным уважением, Владимир Марциновский
Извините за вопрос! А где именно взять русскую локализацию? новичок, сильно не пинайте плииз 🙂
нашёл где 🙂 http://www.dosbox.com/tools/DOSBox-russian-lang-074.zip
Но мне не помогло! Окно просто закрывается и дальше тишина! мой конфиг выглядит так
[autoexec]
mount c F:\Realizacia
c:
C:FOXPRO25\FOXPROx.EXE -T C:\real\uprprg.prg
exit
Всё разобрался сам спасибо! 🙂
Может немного тупой совет, но не ставьте пробелов в названии папки с игрой, иначе работать не будет. Думаю, те, кто впервые работает с DOS-системой могут этого не знать.
Можно ли увеличить размер окна, в котором
запускается DOS-программа?
Самый простой способ — нажать Alt+Enter для того, чтобы окно раскрылось на весь экран.
чуть не в тему, но до установки некоего обновления и Win’7 64x, и Win’10 64x нормально работают с DOS-программой, с ее графикой. Какое-то обновление «гробит» эмулятор.. — можно что-то исправить?
Не так давно вышла новая версия DOSBox (в сентябре 2018) — попробуйте протестировать её в работе.
Программа супер, но есть нюанс, при раскрытии окна на полный экран (Alt-Enter), размер отображения досовской программы остается прежний, хотя DosBox растягивается на весь экран (заливая черным оставшуюся часть окна). Есть ли возможность «растянуть» окно именно дос программы?
Попробуйте добавить в конфиг следующие строки:
У меня та же проблема, что и у Светланы из комментария:
«Светлана 19.12.2017 09:12
При запуске программы в DOSBOX выходит сообщение: «This program must be run under Win32″. Можно как то это победить? Стоит Windows7 x64.»
После установки DOSBOX я установила в него win3.11, но как воспользоваться win3.11 для запуска нужной мне программы не знаю. Может быть Вы знаете, как это сделать?
В вашем случае, вам нет нужды использовать DOSBox, так как вы пытаетесь запустить исполняемый файл Windows — в среде DOS он просто работать не будет.
Попробуйте запустить его прямо в основной операционной системе, используя различные параметры совместимости (правой кнопкой мыши — Свойства — Совместимость), а если не получится — смотрите в сторону виртуальных машин с Windows XP.
После запуска программы в каталоге создаются 2 файла
Stdout и stderr
Stderr.txt он пустой
Stdout с таким содержимым
Файлы эти создаются и при запуске foxpro и fox26x и отличаются только
строкой с предупреждением.
Где искать проблему?
можно ли в досбоксе зашарить файлы по сети для совмместной работы с базой данных с другими компьютерами? несколько лет назад пробовал в убунту — любой один комп работает с БД, а если одновременно, то не получается. похоже типо как на отсутствие команды шары в ДОСе.
Если вопрос о том, может ли DOS создать общую папку, то да, но для этого потребуется большое количество действий. Другое дело, что далеко не факт, что сама программа и её БД позволяет работать с собой сразу нескольким людям.
сама программа шарит БД совместно с другими по сети на win95-98/nt/xp — автоматически, никаких спец. действий для этогог не нужно, кроме объявления сетевых ресурсов (в «чистом» ДОСе для совместной работы с файлами требовалась команда share). а вот как с этим в досбоксе?
Судя по зарубежным форумам, шары в DOSBox не поддерживаются, но поддерживаются в его аналоге vDOS — https://sourceforge.net/projects/vdos
Никак. В dosbox невозможно поставить клиент Microsoft Network (всё упирается в общем-то в отсутствие config.sys)
Но можно подключить сетевые ресурсы дисками в хост-системе, а в досбоксе смонтировать их как диски — никаких проблем, и даже эмуляций NE2000 не требуется.
Ну или использовать что-то другое: vDOS, FreeDOS на VirtualBox и т.п.
Программа работает под Foxpro .а под Fox26x вылетает по ошибке
Warning: file creation failed: p:\50507648.TMP
Что делать?
А такой файл существует? Убедитесь, что если он существует, то не имеет атрибутов «скрытый» или «только чтение».
нет , такого файла не нашлось! А теоретически должна работать под fox26x?
Работать то должна, другое дело, что лично самому такой софт разворачивать мне не приходилось. Но на всякий случай покажите свой конфиг, может быть проблема в нем.
А диск «p:» то в досбоксе прописан?
Замечательная программа , но возникла такая проблема.Если запускаемая программа написана на FOXPRO , то все хорошо работает на 64.Если же на Fox26x , То запускается , а потом ошибка и вылетает.Помогите разобраться
Ошибка Warning: file creation failed: p:\50507648.TMP
Есть у вас на компе стоит, 64-ти разрядная Windows 8 или 10, то имеет смысл установить этот эмулятор DOS. Потому, что опытные компьютарщики знают, что «старые добрые» досовские программы, универсальные и среди них, есть такие которые, до сих пор нельзя заменить, аналогами для Windows
Recluse, подскажите пожалуйста как заставить программу dosbox работать с моим com1 (настоящий последовательный порт). На virtualbox я разобрался как «пробросить» Com1, а тут мне не понятно есть ли такая возможность вообще. Программа работает, но связи нет. Win10 X64 pro.
В конфиг нужно добавить:
serial1=directserial realport:com1
вместо directserial может быть dummy, modem, nullmodem, при этом для остальных значений параметр realport не нужен. Подробнее можно прочесть на английском языке тут.
Программа лежит на диске D:\top. Конфиг:
[dosbox]
«C:\Program Files (x86)\DOSBox-0.74\russian.txt»
[dos]
keyboardlayout=RU
[autoexec]
mount c D:\top
c:
call top.exe
exit
Программа запускается, но не видит базу с настройками, которая лежит в d:\top\DB\. Как пофиксить?
Возможно в программе есть какие-то настройки, которые стоит изменить для работы по новому пути?
Например, программа до этого была по пути C:\top, но сейчас просто находится по адресу C:\, и пытается обратиться по пути C:\top\DB.
В разделе [dosbox] указывать на файл настроек русского языка надо так:
language=«C:\Program Files (x86)\DOSBox-0.74\russian.txt»
а не просто название файла.
Кажется, я нашел подходящий вариант.
Вместе с DOSBOX (для обеспечения работы программы) надо использовать SPRINT (для обеспечения печати). Конечно, некоторые формы выглядят не так, как задумывались или как привыкли пользователи на протяжении многих лет (есть эффект сжатия и сдвига налево, тогда как есть достаточно много места до низа страницы и правого края), но когда северный пушной зверек появится на пороге, сгодится и так.
У меня два вопроса по использованию dosbox.
1) Каким образом можно поставить максимальное быстродействие исполняемой программы (не игра)? На WinXP формирование некоего отчета занимает минуту (усредненно), а в Win7 под dosbox — минут 15, или больше. Ctrl+F12 ускоряет, но не намного, до 13-14 минут максимум. Даже при формировании этого самого отчета видно, как медленно ползут проценты, нажатие Ctrl+F12 ускоряет, ускоряет, но потом опять замедляет.
2) Насчет распечатки. Программа, о которой я писал выше, может печатать и на LPT порт, и на USB. Но LPT принтеров уже нет, а при команде печатать на USB результат нулевой, оно и понятно, во времена DOS-а такого порта не было. Есть какой-то вариант непосредственной печати (кроме как сохранить файл и напечатать стандартными средствами Windows)?
Каким образом можно поставить максимальное быстродействие исполняемой программы (не игра)?
Попробуйте добавить в конфиг следующую строчку — cycles=max . После этого DOSBox должен обеспечить максимально возможную производительность.
Попробуйте скачать модифицированную версию DOSBox отсюда — http://ykhwong.x-y.net/. Затем, в конфиг добавьте это:
Здравствуйте!
Спасибо большое за ответы.
С производительностью ясно. При установке cycles=max действительно программа работает наиболее быстро (хотя до работы под WinXP далеко), но ясно, что это тот максимум, на который способна эмуляция.
С печатью тоже получилось. Но.
1) Печатается нерусскими буквами, как подгрузить в принтер кириллицу?
2) При второй или третьей посылке задания на печать — синий экран смерти.
3) Если документ, посылаемый на печать, в ширину больше 80 символов, то остальные переносятся на вторую и даже третью строку. Есть ли вариант применения управляющих последовательностей — чтобы печатать полусжатым, сжатым или суперсжатым методом, а также задавать ориентацию — книжную или альбомную?
Ох, это очень тяжелый вопрос, так как с необходимостью печати из DOSBox мне не доводилось сталкиваться. Сохранение в файл, и печать из него действительно не вариант?
Как вариант — вариант ))))
Собственно, кое-какие пользователи так сейчас и поступают. Те, которые не пожелали понизить версию с семерки или десятки на WinXP. Потому что программа широко распространена в узких кругах, аналога ей нет (или будет стоить очень дорого). Те, которые печатают раз в месяц какие-то итоговые отчеты на 5 страницах.
Но если дело дойдет до центрального офиса, где десяток пользователей печатают каждый день по 50 страниц, и до того ближайшего или далекого будущего, когда образуется нехватка компьютеров под 32-разрядной XP, а продаваться будут только 64-разрядные, то хотелось бы знать, насколько реальна штатная работа под DOSBOX с регулярной и частой печатью?
К сожалению, на этот вопрос я не могу дать квалифицированный ответ.
Однако, могу предложить вам посмотреть в сторону виртуальных машин — бесплатных программ более чем достаточно. Если ваша программа без проблем работает например под Windows XP, то можете просто создать виртуальную машину, сделать автозапуск своей программы в ней, расшарить на компьютере-хосте принтер, и подключится на него с виртуальной машины.
Спасибо! запустилась с первого раза! Много проблем отпало! Рулит на Windows 10 64 bit!
отличная статья, со второй попытки запустил ностальгический EOB1 😉
Единственно (но могу ошибаться), если в папке два исполняемых файла, то в conf надо вписывать их оба
При запуске программы в DOSBOX выходит сообщение: «This program must be run under Win32». Можно как то это победить? Стоит Windows7 x64.
Судя по всему вы пытаетесь запустить исполняемый файл, который предназначен для работы в Windows, а не в MS DOS. Попробуйте запустить программу прямо из под Windows, хотя не исключено, что под Windows 7, да и к тому же 64 разрядной, она нормально работать не будет.
А можно как-нибудь сделать, чтобы сама DosBox монтировалась не в диск Z:, а какой-нибудь другой? Дело в том, что в самой моей ДОС-программе базы прописаны именно на диске Z, а получается, что я его не могу смонтировать в файле conf, так как эта буква уже занята самой программой.
Без перекомпиляции исполняемого файла DOSBox такое проделать невозможно.
Большое спасибо. Все получилось.
В dosbox.conf добавил FILES=250,
и перед запуском программы, запускаю KEYRUS.COM.
Программа стала работать.
Юрий, каким ехе пользуетесь скачанным с офиц. сайта DosBox или по ссылке предложенной выше?
Доброго времени суток!
Программа СУБД написана на Foxpro 2.6 DOS.
Программа открывает много таблиц.
При запуске программы из-под DOSBOX
возникает ошибка «Too many files open» (Слишком много открытых файлов.).
При запуске программы в 32-х разрядной системы, без DOSBOX,
в C:\Windows\System32\config.nt
записывал files=250 и программа работала.
Где и как можно в DOSBOX указать количество открываемых файлов?
К сожалению, судя по всему, без правки исходных кодов DOSBox это не сделать, однако есть в интернете люди, которые столкнулись с этой же проблемой. Есть и решение — модифицированный исполняемый DOXBox.exe, который можно скачать здесь. Предупреждаю — используйте на свой страх и риск — проверить работу данного файла нет возможности.
Спасибо огромное за файл!
Две недели искал решение, помог только ваш модифицированный файл.
Доброго времени суток!
DOSBox — замечательная программа, даже принтер порта LPT на USB печатает, но есть для меня один БОООООЛЬШУЩИЙ минус. запускаемая прога написана на CLIPPER, и почему-то в среде DOSBox неимоверно долго открываются файлы баз данных. параметр FILES=60. Может сталкивался кто?
По пути D:\UCHET есть папка с таким же названием — Uchet? Если нет, то попробуйте скопировать данный bat файл в корень диска D, и запустить его оттуда.
А что внутри Uchet.bat?
Сложно сказать, что в вашем случае пошло не так, но если вы выложите содержимое файлов конфигурации и bat файла, то возможно я смогу вам помочь.
Все делал по инструкции, запускается Dosbox и тут же закрывается, в чем может быть проблема. система Win 7×64.
Подскажите что делать, если у запущенной программы в DOS поехали шрифты все, как их поменять?
А что подразумевается «поехавшие шрифты»? Если вместо русского языка отображаются различные загогулины, то в статье есть решение.
Пытаемся загрузить БД с перечнем людей, сделали все, что указанно в инструкции. Но при запуске эмулятора он выключается и ничего не происходит. Интерфейс этой БД очень похож на FAR Manager, вот и подумал, что он тоже может быть связан с запуском.
Уважаемый Recluse и остальные знающие, как заставить работать F1-10 клавиши?
Что пытаетесь запустить?
Если FAR Manager, то он не является MS-DOS программой.
Уважаемые знатоки! Сделал все по инструкции, но результата это не принесло. Вместо запуска голубого окна эмулятор просто закрывается. Что я делаю не так? Может ли программа MS-DOS запускаться через другую, FAR?
Попробуйте после строки
Подразумеваю, что у вас есть дисковод, которому в системе присвоена буква A (по умолчанию), и в него вставлена нужная дискета.
А мне тоже страсть как нужно запустить дос-прожку, но загогулина в том, что она записана на ключевой к дискете, к которой постоянно обращается в процессе работы. Как быть?
Для Алексея:
А какой смысл под 32 разрядной ХР запускать DOSbox ? ХР вполне сносно исполняет большинство досовских программ и доступ к компорту будет прямой.
С DOS программами не было проблем и в Win7 32.
DOSbox необходим при наличии 64-битной системы
Ну не совсем всё работало. У меня на ХР х32 ДОС-программа напрямую запускалась, но ни мышь, ни клавиатура не работали и пришлось через досбокс.
Это очень странно, но я сомневаюсь, что проблема в самом DOSBox. Видит ли программа нормально саму базу? Находится ли файл базы в той же директории, что и сама программа? Желательно было бы еще и конфиг DOSBox посмотреть, который используется для работы с программой.
Здравствуйте, подскажите пожалуйста, в чем может быть проблема, DOS приложение нормально запускается через DosBox но при работе не функционируют часть кнопок, например в программе есть возможность индексации базы данных и при попытке выполнить индексацию ничего не происходит, так же при работе в базе данных не открывается некоторые окна. Никаких ошибок при этом не показывается. Есть ли какие нибудь настройки в DOSBox касающиеся работы с БД? Спасибо.
Покажите ту часть настроек/конфига, в которой прокидывается com порт из реальной системы в эмулируемую.
Может быть кто-то подскажет.
Программа для DOS работала через com-порт с медицинским прибором.
Запустить программу через Dosbox получилось (через графическую оболочку D-Fend Reloaded), доступ в архив программы есть, но получать данные с устройства не получается. Номер порта и прерывание установил вроде бы правильно. Система Windows XP 32-битная.
Очень извиняюсь, что не совсем соответствует теме.
Заранее огромное спасибо за помощь.
Спасибо большое, получилось, правда с трудом и с нюансами. Попробую описать. После ввода рекомендованной Вами добавки, нажимаю Enter — ничего, жду сек 30, опять на всякий случай жму Еnter — появляется пустое голубоватое окошко, жду и примерно через минуту запускается программа. Если бы не ждал,то и не узнал бы. Проделал ту же операцию с другой программой. Без добавки она тоже не запускалась, но с добавкой открылась и гораздо быстрее. Но есть еще такие трудности. Добавка не сохраняется и ее надо вводить при каждой попытке запуска. Закрыть запущенную программу удается или введя команду exit через диспетчер задач — движение курсора мыши ограничено и до строки с крестом закрытия он не достает.
Но все равно,большое спасибо!
Если честно, то с трудом представляю, что могло пойти не так, так как вроде все в файлах указано верно.
Могу предложить выполнить в окне DOSBox следующие команды из файла st.conf:
mount c E:\CHESS2
c:
CG3.exe
И посмотреть, запустится ли программа.
Извините, ошибка в предыдущем коментарии — программа лежит на диске E, а не на D
Здравствуйте, уважаемый Rrecluse!
Спасибо за Ваш быстрый ответ. Я скопировал путь из проводника и теперь после запуска bat файла открывается вот такое окно DOSBox (ссылка http://take.ms/iWGID ), но нужный мне DOS файл не запускается. Проверьте, пожалуйста, мои 2 файла.
Нужная мне программа CESS2 лежит на диске D, исполняемый файл CG3.exe.
Первый файл st.conf
Ниже bat файл Chess.bat
Надеюсь на Вашу помощь.
Спасибо
Судя по тексту ошибки, у вас нету файла DOSBox.exe по пути C:\Program Files (x86)\DOSBox-0.74 . Попробуйте перейти в эту папку через Проводник, и скопировать через него путь к исполняемому файлу DOSBox в bat файл.
Здравствуйте, уважаемый Recluse.
У меня после запуска bat файла появляется вот такое окошко (ссылка на скриншот http://take.ms/12ZLK). Странно, DOSBox лежит в папке Program File, а его .exe файл почему-то Windows 10 не видит? В чем тут может быть дело? Подскажите, пожалуйста.
И еще, в Вашем последнем ответе на комментарий от 10.02 Вы вроде бы исправляете какую-то ошибку в bat файле, но я не увидел никакой разницы в записях:
(» вместо C:\Program Files (x86)\DOSBox-0.74 должен быть просто C:\Program Files (x86)\DOSBox-0.74.»). Возможно тут опять какая-то неточность?
Спасибо
Для 32-разрядных систем путь по умолчанию к программе в bat файле будет немного другой — вместо C:\Program Files (x86)\DOSBox-0.74 должен быть просто C:\Program Files (x86)\DOSBox-0.74 .
Всем привет! Эта программа и все процедуры будут действовать для 32-х разрядной системы? А то вроде все правильно, а в итоге все закрывается( Если нет то как мне быть кто подскажет.
Спасибо! Скопировала файлы russian.txt и dosbox.conf в папку с программой, которую нужно запустить и написала в файле conf
Все заработало. Еще раз спасибо.
Попробуйте в файле conf написать следующее (вместо того, что было в статье):
Ну и стоит убедиться в наличии файла russian.txt в папке DOSBox.
Добрый день! У меня почему-то не получается сделать русский язык. Все сделала как сказано. После добавления в conf-файл
открывается только черное окошко, программа не загружается и через несколько секунд окно закрывается.
Без этого открывается, но с иероглифами. Подскажите, пожалуйста, что не так.
Самое простое, что мне приходит на ум, это попробовать сделать символическую ссылку, например через программу Link Shell Extension. О том, как ей пользоваться можно почитать в этой статье —
Т. е. попробовать сделать ссылку с файлом/папки базы в ту директорию, которая монтируется в DOSBox.
Программа DOS пытается открыть базу данных из другого каталога и выходит ошибка о невозможности открыть данный файл. Если я правильно понял программа запускается в dosbox на вирт. диске и доступ к другим ресурсам получается недоступен. Как подключить внешние данные причем с сохранением пути?
Не совсем в курсе, что подразумевается под «BD», не могли бы вы поподробнее рассказать про это?
Как настроить загрузку необходимых BD, если они в другом каталоге?
У меня всё отлично заработало. Даже с CLS поэкспериментировал, чтоб удалять мусор из КС. Автор, спасибо за помощь. Ты отличный человек)
К сведению: Windows 7 ultimate 64x. Проблем не возникло.
Ребят проверяйте себя лучше. Вероятнее всего сами допустили ошибку.
Пишите, подскажу, если что alexxx.merc@gmail.com
Да, в статье была допущена небольшая ошибка. Попробуйте исправить свой bat файл на то, что сейчас в статье.
Та же ерунда, что и у предыдущего пользователя/
Здравствуйте!
При попытки запустить бат файл он пишет ошибку; Не удается найти «-conf». Проверьте, правильно ли указанно имя и повторите попытку.
Проверял правильность заполнения созданных мною файлов несколько раз и ошибок не увидел.