|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 234
|
|
Как сэмулировать PC-XT с 512 кб ОЗУ на современном PC27.06.2011, 11:59. Показов 58616. Ответов 83
Метки нет (Все метки)
Здрасьте уважаемые! Проблема у меня на этот раз следующая:
Есть пром.комп. называется I.P.C. PC-XT проц 80188 , 512 кб ОЗУ, CGA, PC-DOS v3.1 , 2x Сом порта, 1 FDD 3,5 - 160 кб, 1 - ERD (EPROM ROM DISC) на 320 кб. Изготовлен макаронниками в 1984 г.На нем есть технологическая программа , была написана на бэйсике (Gwbasic) в далеком и счастливом 1987 году и откомпилирована, исходников естественно нету, по прошествию десятилетий естественно комп начал капризничать и чинить его уже мочи нету, появилась сверхзадача перейти на современную компьютерную платформу (ну или почти современную), так вот прога с него на современном компе работать не хотит, ниче не пишет просто при запуске опять вываливается в ДОС. Что делал : Размещал программные файлы так же как и на оригинале, DOS ставил с оригинала, результат тот же , вываливается программа без объявления чего либо. Брал эмуляторы PC-XT : SOVIET-PC и PicoXT, результат тот же. Сижу вот чешу репу , что же еще попробовать, мог ли размер основной памяти (512)повлиять на работоспособность программы, в обычном то компе ее 640, под досом. Может кто что подскажет ?
0
|
|
| 27.06.2011, 11:59 | |
|
Ответы с готовыми решениями:
83
Производительность и безопасность железа, если ставить ОЗУ: 512 - 128 - 512 После добавление 1GB ОЗУ к 512+512 компьютер стал работать хуже. Athlon 64 Processor 3000+ 1,81 ГГц 512 Мб ОЗУ |
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 234
|
|
| 04.07.2011, 12:06 | |
|
для этого надо хотябы таблицу соответствия, блин обидно даже, ведь все наверняка сводится к какому то кривому условию, а мы уже скоро на луну соберемся лететь тут. Наверно Сергио Фантоции или как его там (который прогу написал), уже икает не один день , бедный.
Но это тоже как выход стоит рассматривать.Спасибо.
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 234
|
|
| 04.07.2011, 12:10 | |
|
этот бэйсик в отличии от более новых версий сохраняет листинг (в бас файле) открытым текстом, а вот более новые действительно кодировали операторы, что творится в экзешнике пока не ясно.
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 234
|
|
| 04.07.2011, 12:24 | |
|
Пробовал написать в этом бэйсике программу :
l: cls input a ssreen a prymt "12345" if a<>10 goto l все проходит нормально для скринов 0 -3 , значит видеоадаптер поддерживается,буду думать дальше.
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 234
|
|
| 04.07.2011, 12:34 | |
|
Вот кому если (не дай бог) тоже понадобится с каким то быйсиком копаться ссылка -
http://deger.republika.pl/Downtood_MS_B ... quickbasic там куча бэйсиков.Упаси от них бог.
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 2,309
|
|
| 04.07.2011, 14:20 | |
|
А чо? :-)) Басик - вещь прикольная местами :-) Я на нем кодить учился, когда мне лет 8 было :-) Причем у меня был ЕС1841 в распоряжении, и именно благодаря (как ни странно) QuickBasic я стал изучать ассемблер, делая в бейсике вызов процедур на машинных кодах. Так что бейсик - вещица прикольная :-))
0
|
|
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 268
|
|
| 04.07.2011, 14:34 | |
|
Если всё ещё актуально - документ, рассказывающий что и как компилил бейсик
http://www.phatcode.net/res/227/files/btu_book.pdf
0
|
|
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 268
|
|
| 04.07.2011, 14:45 | |
|
В общем народ более-менее справляется с такой задачей - но очень трудозатратно. Человек тут начал ковырять вот http://forum.sources.ru/index.php?showt ... ew=showall
IMHO быстрее будет восстановить функционал программы вклинив сниффер между старым компом и станком - посмотреть что там бегает. P.S. Старые файлы от DOS можно найти тут http://support.microsoft.com/kb/135315
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 234
|
|
| 04.07.2011, 20:01 | |
|
Да бэйсик безусловно заслуживает уважения, но сталкиваться с ним в таком ракурсе я хотел бы поменьше.
Прослушать порты - это у меня план Б,придется разбираться в формировании контрольных сумм. Начал изучать IDA , вроде лед тронулся (тока пока не ясно в какую сторону), в планах изучить SoftICE потому как без него не очень получается На раритет удалось загнать Dos 6.22 и протестить его прогами.По самой проге удалось выяснить что выход из нее происходит не штатно, при штатном в проге явно прописано что ExitCode=1 ,у меня =0. на раритете Dialogo под 6.22 работает нормально,к ERD диску не привязана. Пока вот дошел до этого.
0
|
|
|
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 32
|
|
| 05.07.2011, 10:05 | |
|
пробовал вчера поместить ваш кусок программы в программу скомпилированную на qb45, нечего не получилось. видно там разная кодировка команд или я что-то напутал.
есть еще идея, на вашем древнем компе есть два Com порта к которым подключены контроллеры, может прога не может их найти и поэтому выходит. попробуйте: 1.выяснить покакому адресу находятся эти порты и какие Uart используются; 2.повазможности отключить их и проверьте на запуск программу
0
|
|
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 268
|
|
| 05.07.2011, 10:25 | |
|
QuickBasic 3.0 и 4.5 - очень отличаются и скомпилированный код абсолютно разный.
Для столь примитивных программ под DOS - SoftICE IMHO избыточен. Достаточно старого доброго turbo-дебаггера, он простой как валенок, под DOS разрабатывался и т.п. - всё что вам нужно для этой задачи в нём есть, и ничего лишнего - разбираться там не с чем по сути - запустил да работай.
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 234
|
|
| 05.07.2011, 11:11 | |
|
Как раз вчера тоже пробовал ком порты отключать, порты стандартные,контроллеры 8250,прога работает.
Турбо дебугер почемуто не хочет работать с этой прогой у меня, пишет какуюто ошибку про память, с помощью AFDPRO нашел точку с вызовом INT 3F (06AFh-если глядеть HIEW), после которой прога сваливается, если ее трассировать AFD то закрашивает экран желтым цветом. насколько я понял это либо свой вектор, либо по этому вектору происходит выполнение из библиотеки, какой не ясно но думаю BRUN/
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 2,309
|
|
| 05.07.2011, 11:16 | |
|
Ребят, поковырял я эту прогу отладчиком. Короче ставит она 3 прерывания своих с векторами 3D, 3E и 3F. многократно проверяет количество оперативы и версию ДОС. Но при первом же вызове собственного прерывания (самым первым она вызывает 3F) возникает казус: винда матерится, что NTVDM (виртуальная машина винды, для запуска ДОС-приложений) обнаружил недопустимую инструкцию. И приводит код. Естественно дальше этого выполнение проги не идет...
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 2,309
|
|
| 05.07.2011, 11:19 | |
|
Кстати инструкция начинается с кода F0 (их там несколько). Мож в этом чудо-компе стоит какой нибудь хитрый со-процессор?
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 234
|
|
| 05.07.2011, 11:20 | |
|
Про invotyd opcod я тоже проходил(у меня почему то он 6D) , но так и не дал ему ума, либо код должен был быть заменен в результате чегото но не заменился, либо на 8088 он не является инвалидным.Провожу отладку под реальной машиной с дос 6.22 (на нем точно работает) с двумя реальными ком портами с теми же адресами.Сопроцессора там нет, есть единственны проц SIEMENS 8088.Но есть PAL матрицы (хотя точно не уверен матрицы ли они).Потому все еще ищу XT машину для проверки факта привязки к железу.
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 2,309
|
|
| 05.07.2011, 11:32 | |
|
Я думаю идеальный вариант надыбать ЕС1841 (или его клон). На этой монструшке TD хорошо идет, и софтинку отладить дело простое.
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 234
|
|
| 05.07.2011, 11:41 | |
|
угу, я думаю до идеала можно и не стремиться тут хоть ченить то найти близкое.Думаю на ней отлаживать я ниче не буду просто интересен сам факт запустится прога или нет, а там уже сразу или мучать ее дальше или к плану Б.
0
|
|
|
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 32
|
|
| 05.07.2011, 12:24 | |
|
хм прерывание 3F уменя работает
я когда делал трассировку программы, каждый раз перед программным прерыванием 3F выполнялись какиета инструкций, имхо прерывание 3F эта интерпретатор а пред инструкции программа на basic, можна попробовать произвести анализ инструкций и вывести листинг программы (реверс-инжиниринг)
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 234
|
|
| 05.07.2011, 12:35 | |
|
Появились у меня неутешительные новости, "дедки" которые в своей молодости рьяно курочили PC-XT и иже с ними, сказали мне что проблема вероятней всего в БИОСе т.к. по их словам в этих машинах часть биоса занимал ROM BASIC,и обращение идет к его функциям, думаю проверю я эту теорию если это так то перейду сразу к плану Б и не буду терять время.Осталось не ясно почему тогда на эмуляторах PC-XT не работает, возможно деды заблуждаются.Хотя частично эти данные подтверждаются _ttp://www.vintage-somputer.com/vcforum/showthread.php?9693-IBM-PC-XT-5160-BIOS-versions
0
|
|
|
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 268
|
|
| 05.07.2011, 14:05 | |
|
Может тогда копать в сторону trui-IBM XT эмуляторов ? Типа http://www.picofactory.com/free/softwar ... -emulator/
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2011
Сообщений: 234
|
|
| 05.07.2011, 17:27 | |
|
PicoXt я пробовал и SovietPC то же результата не дали, в pikoXT есть у поминание про какой-то файл ромбэйсика но чето я его не нашел.Если только ПЗУ читать,но это уже наверно сложнее чем порты слушать,да и эмуляторы то к реальной жизни не прикрутишь, это так просто проверить догадки .Пока время на выбор метода еще есть , погляжу как получится.
0
|
|
| 05.07.2011, 17:27 | |
|
Помогаю со студенческими работами здесь
60
Будут ли работать вместе разные озу,512 и 256? Вытянул одну планку ОЗУ 512 МБ, с одной компьютер не включается. тормозят игры на: атлон 6000+, 2 Гб ОЗУ, GF 9800 gt 512 Мб, Asus m3n78. Стоит ли разгонять такое железо: проц 2.53(одноядерный), 512 мб ОЗУ, GF 6600 PCI Express ? Улучшение компьютера: Intel Core 2 Duo CPU E7200, ОЗУ - 2,00 ГБ, NVIDIA GeForse 9600 GT (512 МБ) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|