PCem - эмулятор старых компьютеров

Поиск, обмен ссылками, вопросы по устаревшему программному обеспечению.
doctord
Advanced Member
Сообщения: 712
Зарегистрирован: 22.09.2014,11:47
Откуда: Санкт-Петербург

Вклад в сообщество

PCem - эмулятор старых компьютеров

Сообщение doctord » 30.09.2015,13:58

Видел раньше в теме про Innovation SSI-2001 упоминание про эмулятор PCem (http://pcem-emulator.co.uk/), но как-то руки не доходили до него, думал очередной клон ДосБокса. Вчера запустил - и был приятно удивлен. Это не DosBox, а скорее полноценная виртуальная машина, причем:
1. Можно выбирать из огромного числа машин начиная от IBM 5150, далее XT, AT, 286, 386, 486 с разными биосами, и наконец эмуляторами машин на чипсетах SIS 496/497 и 430VX.
2. Эмуляция различных видеокарт, от Hercules до S3 Virge DX.
3. Можно входить в BIOS, менять там различные настройки :)
4. Когда загружается - трещит спикером, когда тестирует память :biggrin:

Вобщем ощущения самые положительные, попробуйте, если еще не запускали :)
Для запуска ему нужны РОМы с биосами, в стандартной поставке их нет, на old-dos есть полный архив ромов, и русифицированная сборка с ромами:
http://old-dos.ru/index.php?page=files& ... ow&id=4838

Так же еще есть отпочковавшийся от PCem эмулятор PCem-X, его я пока не запускал, если кто про него чего знает, поделитесь впечатлениями! :)
http://forum.softhistory.org/showthread.php?tid=29
https://github.com/OBattler/PCem-X

LostP
Advanced Member
Сообщения: 546
Зарегистрирован: 16.08.2009,09:31
Откуда: Московская область

Сообщение LostP » 30.09.2015,14:05

Чем он лучше DOSBox'а?

Аватара пользователя
Tronix
Advanced Member
Сообщения: 3625
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва

Вклад в сообщество

Сообщение Tronix » 30.09.2015,14:12

LostP писал(а):Чем он лучше DOSBox'а?
Попыткой выдержать такты процессора (время выполнения инструкций), чего в DosBox'е отродясь не было.

Гость

Сообщение Гость » 30.09.2015,14:24

LostP писал(а):Чем он лучше DOSBox'а?
Автор уже рассказал же подробно. А dosbox все-таки не эмулятор pc, а некая мешанка хаков, заставляющая игру поверить, что она запущена в родной среде ;) Да и на неигровые приложения авторам, как правило, пофиг, они за них не парятся, что сужает применимость dosbox'а.

Могу добавить плюс к pcem - он win9x умеет с 3d ускорением! Разве есть другие эмуляторы, способные на это?
Dosbox? Ну если т ы смелый, если сумеешь повторить то же в dosbox'е, напиши подробную инструкцию и какой билд использовал. У меня не получилось ни по какой инструкции (они все устарели кстати), ни с одной из сборок. Начать с того, что та же 98se не ставилась нормально ни в одну из известных сборок dosbox'а.
Так же еще есть отпочковавшийся от PCem эмулятор PCem-X, его я пока не запускал, если кто про него чего знает, поделитесь впечатлениями!
Он идет с набором всяких бивисов, которые в обычном pcem отсутствуют по правовой причине. Также там есть эмуляция сетевушки, но по-моему в pcem ее тоже недавно добавили.
Кстати, pcem научился эмулить первопни, но вроде в релизе пока нету.

Гость

Сообщение Гость » 30.09.2015,14:45

Tronix писал(а):Попыткой выдержать такты процессора (время выполнения инструкций), чего в DosBox'е отродясь не было.
Неплохо, для редких или нестандартных архитектур. Меня сильнее интересует возможность пробросить внутрь эмулятора реальный слот ISA со вставленной в него звукашкой (черепашка, гусь, ...) для аппаратного "звучания" старых игр. Вряд-ли который эмулятор на такой финт способен, без потерь на борьбу с хост-ОС и с паразитированием на аппаратном DMA/memory контроллере.

SokilOff
Member
Сообщения: 196
Зарегистрирован: 30.12.2012,23:41

Сообщение SokilOff » 30.09.2015,17:07

Fe-Restorator писал(а):Меня сильнее интересует возможность пробросить внутрь эмулятора реальный слот ISA со вставленной в него звукашкой (черепашка, гусь, ...) для аппаратного "звучания" старых игр. Вряд-ли который эмулятор на такой финт способен, без потерь на борьбу с хост-ОС и с паразитированием на аппаратном DMA/memory контроллере.
Дело даже не в этом. Для полноценной эмуляции подобных карт нужна документация на их чипы, которой в свободном доступе нет.

А так PCem и PCEm-X эмулируют Adlib / Adlib Gold, Sound Blaster 1, 1.5, 2, Sound Blaster Pro v1 и v2, Sound Blaster 16, AWE32 (беэ эффект-процессора, на который тупо нет даташитов), Windows Sound System. В общем, лучше, чем ничего.

Anonymous1
Advanced Member
Сообщения: 2727
Зарегистрирован: 22.11.2011,09:41
Откуда: Москва(Россия)

Вклад в сообщество

Сообщение Anonymous1 » 30.09.2015,17:10

Fe-Restorator не о том, он хочет не эмуляции, а работы софта в эмулируемой машине с живым реальным железом, воткнутым в хостовую машину.

SokilOff
Member
Сообщения: 196
Зарегистрирован: 30.12.2012,23:41

Сообщение SokilOff » 30.09.2015,17:46

А, ну тогда ему нужен не эмулятор, а виртуальная машина вроде VmWare, VirtualBox или чего-то подобного.
Это совсем другая разновидность программ.
возможность пробросить внутрь эмулятора реальный слот ISA со вставленной в него звукашкой (черепашка, гусь, ...) для аппаратного "звучания" старых игр
Т.е., если я понял правильно, это должно выглядеть как-то так: мы запускаем эмулятор на старой машине со старой звуковой картой, и неким способом говорим эмулятору использовать её ресурсы внутри себя ?

Если так, то вряд ли это технически осуществимо.

Аватара пользователя
Tronix
Advanced Member
Сообщения: 3625
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва

Вклад в сообщество

Сообщение Tronix » 30.09.2015,20:22

Еще в нем начиная с какой-то там версии есть признаки "динамической рекомпиляции", что весьма позитивно влияет на скорость эмуляции "тяжелых" приложений, типа Windows XP. DosBox может запускать Windows XP? Нет. Да и Win98 даже на Core i7 в досбокс тормозит так, что ну его нафиг.

Тут как-бы да, PCem - это виртуальная машина, корректно сравнивать с Virtual Box, VmWare и другими.
DosBox -студенческая поделка, с низким качеством кода.;

Гость

Сообщение Гость » 30.09.2015,20:40

SokilOff писал(а):Т.е., если я понял правильно, это должно выглядеть как-то так: мы запускаем эмулятор на старой машине со старой звуковой картой, и неким способом говорим эмулятору использовать её ресурсы внутри себя ?
После того, как iommu на x86 принесли, pci устройства с горем пополам пробрасывать в виртуалки научились.
А с isa как дела обстоят? Чую, надо велосипедить нехилые железные и софтверные костыли. Если кто шарит в теме, распишите плиз.
Tronix писал(а):Еще в нем начиная с какой-то там версии есть признаки "динамической рекомпиляции"
У досбокса тоже вроде есть: http://www.dosbox.com/wiki/Performance# ... peed_up.29 Вообще, развитому эмулю стыдно не иметь данной фичи.
типа Windows XP. DosBox может запускать Windows XP? Нет.
Хрюна втч и с 3д ускорением практически любая vm умеет. Он и на многое современное железо встает, ну его нафиг.
Да и Win98 даже на Core i7 в досбокс тормозит так, что ну его нафиг.
Win98 ставится с грехом пополам, и практически неработоспособен. А жаль, им бы поработать в этом направлении. На http://dosbox-x.com/ и http://ykhwong.x-y.net/ 98se у меня почти труп, на оригинальном dosbox вообще не жилец. Авторы больше пекутся о 95 форточках. Ну вроде, ускорение d3d и glide уже достижимы, что круто.

Аватара пользователя
Tronix
Advanced Member
Сообщения: 3625
Зарегистрирован: 15.01.2008,11:00
Откуда: Москва

Вклад в сообщество

Сообщение Tronix » 30.09.2015,21:02

gnidorah писал(а):У досбокса тоже вроде есть: http://www.dosbox.com/wiki/Per...peed_up.29 Вообще, развитому эмулю стыдно не иметь данной фичи.
Нет у DosBox ничего. Это "динамическая" скорость, пытались костылями решить вопрос синхронизации времени выполнения и отвязаться от конкретно указанных циклов в секунду и привязаться хоть к чему-то хоть как-то. Короче полный ахтунг, кто видел этот код - поймет мою боль. И главное - ничего не изменить по существу в лучшую сторону, кроме как переписать весь ДосБокс с нуля. Но героев мало, поэтому с 2006 года (или когда там последняя версия досбокса вышла?) его никто особо не трогает. Турбо Паскакаль и Qбейсик запускает и хорошо. Большего от него не требуется, в принципе.

А у PCem под "динамической компиляцией" подразумевается AOT (Ahead Of Time) компиляция. То есть перед тем, как эмулировать команды эти команды преобразуются в реальные ассемблерные команды, из которых потом складывается кусок за куском выполнимый бинарный код, получающий управление на хосте. Типа как я делал интерпретатор brainfuck, тоже с Ahead Of Time компиляцией давно: http://habrahabr.ru/post/113339/

Ответить