Запустить старую программу на win7 (или хотя бы xp)

necrocore

Есть специализированная программа для электротехнических задач, называется NRast.
Прога довольно старая, писалась ещё чуть ли не под Дос, является 16-битным приложением.
Соответственно, аналогов нету и новые программы использовать возможности нет.
Нужно подружить эту старую программу с win7 или с winxp
1. На winXP 32битной она нормально запускается. Проблема в следующем: печать из программы изображений не реализована. Так что печатаем методом принтскрина. Дело в том, что если сделать принтскрин из программы и вставить в пэйнт, например, то получим просто белый экран. Я так понимаю, что это проблема с наличием оверлея в программе. Есть идеи как эту проблему решить? Из-под досбокса принтскрин работает при этом нормально.
Реализовать это можно путём загрузки проги через Досбокс и печати. В этом случае NRast тормозит при расчётах, даже на максимальных циклах, выставленных в Досбоксе.
2. На win7 она вообще не запускается с ошибкой "This system does not support full screen mode".
При запуске через Досбокс возникает ошибка "BGI error: graphics not initialized (use initgraph)"
EGAVGA.bgi в наличии имеется, открыт на запись и чтение.
Запускается всё под администратором. Режимы совместимости с предыдущими виндами не помогли.
Есть у кого-нибудь идеи по данному вопросу?
Исходников NRast не имею и вряд ли смогу раздобыть.
П.С. есть идея устанавливать виртуальную вин98 и из-под неё уже всё делать. Это наверное выход, но проблема в том, что народ, который в офисе эту прогу использует слабо понимает в компьютерах что-то кроме этой программы.
П.П.С. За решение этой проблемы, готов предложить денежное вознаграждение. Можно в приват.

Dasar

На win7 она вообще не запускается с ошибкой "This system does not support full screen mode".
т.е. она запускается на полный экран?
а если ее запускать не на полный экран?

Serab

Судя по тому, что там нужны какие-то bgi, там графический режим :)

juliuzz

windows xp mode не пробовал?

necrocore

http://www.mydigitallife.info/2007/06/27/workaround-to-this-...
спасибо, эту ссылку видел и читал.
остаётся всё равно проблема с оверлеями при печати (если это конечно оверлей).
Узнал, что прога писалась на Фортране, соответственно там точно графический режим VGA 640*480 стоит. Как его принтскринить?
Ну и в досбоксе под win7 по прежнему остаётся вышеописанная проблема с графикой

Dasar

остаётся всё равно проблема с оверлеями при печати (если это конечно оверлей).
поставь скриншотер, который умеет работать с оверлеями.

necrocore

windows xp mode не пробовал?
нет, не пробовал.
щас попробую.
мой ноут эту тему не поддерживает.
щас попробую на другом.
а что это, что-то типа виртуальной системы VmWare ?

juliuzz

а что это, что-то типа виртуальной системы VmWare ?
ага
микрософтовский VirtualPC

Ivan8209

> Узнал, что прога писалась на Фортране,
Вот это довольно-таки плохо вяжется с ранее заявленным
> "BGI error: graphics not initialized (use initgraph)"
А вот это:
> соответственно там точно графический режим VGA 640*480 стоит.
вообще non sequitur.
---
...Я работаю антинаучным аферистом...

yroslavasako

является 16-битным приложением.
для исполнения этого кода необходим ntvdm (nt virtual dos mashine) . В 64-битных системах его нет вообще, в семёрке тоже. Более того из соображений безопасности (дырка отрытая на протяжении 17 лет, которую MS не смог закрыть за полгода с момента багерпорта) ntvdm рекомендуется выключать. Для работы с dos приложениями лучше всего использовать полную эмуляцию программой dosbox

Ivan8209

> Для работы с dos
Надо будет попробовать запустить его в "доме."
---
"NetBSD is JIHBED!"

necrocore

> Узнал, что прога писалась на Фортране,
Вот это довольно-таки плохо вяжется с ранее заявленным
> "BGI error: graphics not initialized (use initgraph)"
сорри, да, натупил. нехрен слушать всех подряд
писалась на Паскале, естественно.

necrocore

является 16-битным приложением.
для исполнения этого кода необходим ntvdm (nt virtual dos mashine) . В 64-битных системах его нет вообще, в семёрке тоже. Более того из соображений безопасности (дырка отрытая на протяжении 17 лет, которую MS не смог закрыть за полгода с момента багерпорта) ntvdm рекомендуется выключать. Для работы с dos приложениями лучше всего использовать полную эмуляцию программой dosbox
Ок, я его и использую. Ошибку выдаёт. В ХП её вроде не выдаёт.
А что за дырка? И насколько это опасно?

juliuzz

И насколько это опасно?
настолько опасно, что никто до сих пор не воспользовался :grin:

stm4836248

:lol:

necrocore

Смог запустить на 32битной Win7 только путём установки старых ХПшных дров на видеокарту.
Проблема теперь в том, что скриншот сделать хз как.
Приложение полноэкранное, и не хочет сворачиваться. Тупо вылетает или виснит.
Похоже, варианта 2:
1. Ставить виртуальную ХП или 98ю винду.
2. Искать способ побороть ошибку в Досбоксе.
С ХПшными дровами на видео досбокс выдаёт всё ту же ошибку по поводу BGI....

yroslavasako

А что за дырка? И насколько это опасно?
возможность получить доступ к ring0. Для досового кода понятия ring не существует, но оно учитывается эмулятором (ntvdm). Проблема в том, что сабж написан MS с крайне низким радиусом кривизны, в нём есть возможность произвести jailbreak и выбраться за пределы эмулируемой машины, получив ring0 полномочия. Фактически, если пользователю даны права на запуск 16приложений, он всегда может получить рута
1. Ставить виртуальную ХП или 98ю винду.
Можно и так. Тогда отпадут проблемы с взятием скриншотов

necrocore

Поставил VMWare от Sun, установил ХП туда виртуальную.
Всё заработало, скриншоты естественно не проблема теперь.
Только возникла другая проблема - программа даже в полнооконном режиме работает с размером окна 640*480 и на весь экран растянуть её не получается.
Когда запускаю на хосте - она автоматически растягивается на полный экран.
Когда запускаю на ВМ - она занимает только часть экрана 640*480, а вокруг чёрные полосы. То есть ВМ не растягивает изображение на весь экран.
Кто-нить знает как можно с этим справиться?
Использование программы на весь экран принципиальный момент.

Maurog

Menu->View->Autofit не поможет?

dickofan

зайти на виртуалку по RDP? :grin:

stm4836248

VMWare - проприетарная хуйня, использование которой оправдано только если нужен х64 гест на х86 хосте. Если уж взялся за неё, то, наверное, тебе поможет установка "Guest additions" (или как-то по-другому - сейчас уже точно не помню). Там, в общем, в панели меню поройся - это где-то есть.
Потом на госте установится программка и, наверное, прога запустится на фулскрин.

necrocore

никакого эффекта.
VMTools обновил.
может надо как-то настроить монитор гостя специально?
но чё-то от настроек похоже ничего не меняется...

necrocore

ок, тогда посоветуй другую машину?
желательно, чтобы была максимально мощной, так как нужна хорошая производительность.
ппц я задолбался уже
Значит вот ещё что сделал - поставил в ВМ монитор разрешение 640 на 480.
Теперь в ВМ запускается окно на весь экран ВМ. Но на моём реальном мониторе выглядит это как мелкое окно в центре, окружённое чёрными полями.
То есть соответствие программы с фулскрином ВМ получилось. Надо только теперь чтобы ВМ растянулась на весь мой реальный экран как-то чтоли.

Vadim69

VirtualBox

Ivan8209

> желательно, чтобы была максимально мощной, так как нужна хорошая производительность.
Чё? Программы от багланда надо было править отладчиком,
чтобы они продолжали работать на вторых, что ли, пнях.
---
"Suicide is painless,
it brings on many changes..."

Dasar

Надо только теперь чтобы ВМ растянулась на весь мой реальный экран как-то чтоли.
тыкни тычку в меню vm - развернуть на полный экран

necrocore

Чё? Программы от багланда надо было править отладчиком,
чтобы они продолжали работать на вторых, что ли, пнях.
знаешь, ну что уж там понаписали в 96 году, то и юзаем.
К слову, щас стартует бизнес-проект по написанию такой же софтины+кое какие доработки под современные системы.
Если что, программисты требоваться будут, так что можешь в приват если интересно. )
А пока что я ебусь с тем, чтобы эти дрова 96 года хоть как-то совместить с 7кой или ХП.

necrocore

сделал, заработало, спасибо.
только малость глючит мыша и производительность страдает сильно.

apl13

писалась на Паскале, естественно.
А на сях не могла?

apl13

Чё? Программы от багланда надо было править отладчиком,
чтобы они продолжали работать на вторых, что ли, пнях.
Для ТП был патч к crt.tpu.

Barbie29

dosemu

yolki

если программе не нужен доступ к оборудованию через ком-порты или (омг!) ISA шину - то могу посоветовать VirtualBox - одна из лучших виртуалок.
ставишь на неё дос и радуешься.

durka82

Насчёт досбокса - сложилось впечатление, что он ну очень сильно тормозит при работе с винтом - мб именно из-за этого тормоза и проявляются.
По идее можно сделать рамдиск и запускать с него, но не пробовал.
Хотя полноценная виртуалка конечно всегда лучше :)

356ft85

Запусти на winxp перед прогой резидентый скриншотер какой нить досовский, чтобы делать скриншот не средствами винды а "средствами доса"

necrocore

Спасибо, щас попробую.

necrocore

Короче я не знаю почему, но программа на ВМ сильно теряет в производительности.
И второй момент. Я очень долго манался, чтобы ХП поставить на эту новую Соньку. В итоге поставил с 10 раза, до этого постоянно после загрузки файлов он мне БСОД вываливал.
Ну так программа на ХП не идёт! Скотина пишет какую-то процессорную ошибку. ХЗ как с ней бороться, похоже что никак.
В качестве временного решения - куплю старую железяку, поставлю туда 98ю винду и эту прогу.
В качестве постоянного решения:
1. Разработка нового ПО на основе старого (в случае, если удастся надыбать исходники или автора программы привлечь)
2. Поиск ПО, способного заменить эту программу.
Вот тут хотелось бы мнение форумчан узнать, может кто в курсе.
Необходимо ПО, способное строить схемы с электрическими и магнитными связями + анализировать режимы работы этой схемы.
PCad смотрел - не умеет с магнитными потоками работать, насколько я понял.
Если груба - то программа тупо моделирует трансформаторы с тиристорными блоками и режимы их работы.
Есть у кого какие идеи?

necrocore

Кстати, ошибка на ХП следующая:
16-разрядная система MS-DOS
Процессор NTVDM обнаружил недопустимую инструкцию.
CS:0000 IP:0075 OP:f0 00 f0 37 05

elenangel

какую-то процессорную ошибку
не деление на ноль случаем? это древний баг паскалевского модуля crt на быстрых процессорах.
p.s. опередил c ответом

necrocore

баг crt на быстрых процессорах.
p.s. опередил c ответом
вот хз, на 10 других компах под XP идёт, а тут нет.
Хотя один и тот же экзешник тестил.

356ft85

Тыж написал что "1. На winXP 32битной она нормально запускается. "
или в итоге ненормально? на обычной винде XP без всяких виртуальных машин не работает?
Оставить комментарий
Имя или ник:
Комментарий: