PCem: различия между версиями

Материал из Old-Games.RU Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{Infobox Эмулятор | title = PCem | image = 280px | другое название = | разработчик = Sarah Walker…»)
 
м
 
(не показано 8 промежуточных версий 2 участников)
Строка 4: Строка 4:
 
| другое название =  
 
| другое название =  
 
| разработчик = Sarah Walker
 
| разработчик = Sarah Walker
| последняя версия = v14 (20.04.2018)
+
| последняя версия = v17 (01.12.2020)
 
| состояние = В разработке
 
| состояние = В разработке
 
| платформы = [[Windows]]/[[Linux]]
 
| платформы = [[Windows]]/[[Linux]]
Строка 12: Строка 12:
 
}}
 
}}
  
'''PCem''' — это эмулятор персонального компьютера на уровне регистров аппаратного обеспечения. Методы эмуляции: бинарная трансляция и динамическая рекомпиляция. Эмулируются шины ISA, PCI и оборудование с ними связанное. С перечнем последнего можно ознакомиться на [http://pcem-emulator.co.uk/status.html сайте разработчика] или в сопроводительном readme.txt эмулятора. Эмуляция на уровне регистров позволяет прозрачное исполнение программ, написанных для соответствующего железа. Другими словами, патчи и модификации не нужны все совместимое программное обеспечение (ПО) запускается и работает в оригинальном виде и качестве. Это огромный плюс, а теперь о минусах:  
+
'''PCem''' — это эмулятор персонального компьютера на уровне регистров аппаратного обеспечения. Методы эмуляции: бинарная трансляция и динамическая рекомпиляция. Эмулируются шины [[ISA]], [[PCI]] и оборудование с ними связанное. С полным перечнем последнего можно ознакомиться на [http://pcem-emulator.co.uk/status.html сайте разработчика] или в сопроводительном readme.txt эмулятора. Эмуляция на уровне регистров позволяет прозрачное исполнение программ, написанных для соответствующего железа. Другими словами, патчи и модификации не нужны все совместимое программное обеспечение (ПО) запускается и работает в оригинальном виде и качестве. Это огромный плюс, а теперь о минусах:  
# Настоящее железо часто имеет на борту микропрограмму (прошивку, биос, ром названий много) обеспечивающую функционирование железяки. Эмуляция на уровне регистров, как очень близкая к настоящему железу, также требует использования прошивок для соответствующего оборудования. Из-за политики разработчиков PCem прошивки с ним не поставляются, а их обретение перекладывается на плечи пользователей;
+
# Настоящее железо часто имеет на борту микропрограмму, (прошивку, биос, ром названий много) обеспечивающую функционирование железяки. Эмуляция на уровне регистров, как очень близкая к настоящему железу, также требует использования прошивок для соответствующего оборудования. Из-за политики разработчиков PCem прошивки с ним не поставляются, а их обретение перекладывается на плечи пользователей;
# Точная эмуляция железа на регистровом уровне, довольно, сложна, поскольку производители железяк, драйверов и прочего ПО часто отклонялись от своих же дизайн-документов и, само собой, допускали ошибки. Это приводит к забавным ситуациям, когда реализованный точно по спецификации модуль эмуляции какого-либо железа не работает со своей же прошивкой или использующее его ПО глючит;
+
# Точная эмуляция железа на регистровом уровне довольно сложна, поскольку производители железяк, драйверов и прочего ПО часто отклонялись от своих же дизайн-документов и, само собой, допускали ошибки. Это приводит к забавным ситуациям, когда реализованный точно по спецификации модуль эмуляции какого-либо железа не работает со своей же прошивкой или использующее его ПО глючит;
 
# В силу предыдущего пункта, эмуляция железа на регистровом уровне очень ресурсоемкая, особенно с учетом применяемых методов. Из-за этого разработчикам приходится вводить различные хаки и оптимизации, часто жертвуя точностью эмуляции. Данное обстоятельство сильно усложняет жизнь при отлавливании багов и глюков, поскольку не всегда понятно: является ли данный конкретный баг оригинальным поведением соответствующего железа с соответствующей программой или же глюком именно эмулятора.
 
# В силу предыдущего пункта, эмуляция железа на регистровом уровне очень ресурсоемкая, особенно с учетом применяемых методов. Из-за этого разработчикам приходится вводить различные хаки и оптимизации, часто жертвуя точностью эмуляции. Данное обстоятельство сильно усложняет жизнь при отлавливании багов и глюков, поскольку не всегда понятно: является ли данный конкретный баг оригинальным поведением соответствующего железа с соответствующей программой или же глюком именно эмулятора.
 
  
 
== История разработки ==
 
== История разработки ==
 +
Первая версия эмулятора PCem (v0.1) увидела свет 15 августа 2007 года. Тогда он был способен на базовую эмуляцию [[IBM PC XT]] с [[MDA]]/[[CGA]] графикой и дискетами. Главный разработчик проекта PCem уже имел опыт разработки эмуляторов восьмибитных компьютеров, поэтому работа шла быстро. Осенью того же года эмулятор вышел на уровень [[IBM PC AT]] с [[EGA]]/[[VGA]]-графикой, [[Sound Blaster]]-звуком и поддержкой жестких дисков. Дальнейшее развитие было не таким быстрым и совершенно не ритмичным, но проект постоянно двигался вперед, обрастая возможностями, перенимая некоторые наработки других эмуляторов ([[DOSBox]], [[Bochs]], [[QEMU]] и др.) и повышая достоверность эмуляции.
  
Первая версия эмулятора PCem (v0.1) увидела свет 15 августа 2007 года. Тогда он был способен на базовую эмуляцию IBM PC XT с MDA/CGA графикой и дискетами. Главный разработчик проекта PCem уже имел опыт разработки эмуляторов восьмибитных компьютеров, поэтому работа шла быстро. Осенью того же года эмулятор вышел уже на уровень IBM PC AT с EGA/VGA-графикой, Sound Blaster-звуком и поддержкой жестких дисков. Дальнейшее развитие было не таким быстрым и совершенно не ритмичным, но проект постоянно двигался вперед, обрастая возможностями, перенимая некоторые наработки других эмуляторов (DOSBox, Bochs, QEMU и др.) и повышая достоверность эмуляции.
+
24 октября 2015 года в PCem v10 появилась поддержка процессоров класса [[Pentium]], шины PCI и соответствующих устройств, в том числе 3dfx [[Voodoo]]. С этого момента сообщество PCem стало прирастать ускоренными темпами, а многие пользователи стали всерьез рассматривать PCem в качестве универсального инструмента для запуска старых игр. Обратили внимание на данный проект и сторонние независимые разработчики, многие из которых не только внесли свой вклад в код PCem, но и предложили несколько ответвлений (форков) со своими особенностями.
  
24 октября 2015 года в PCem v10 появилась поддержка процессоров класса Pentium, шины PCI и соответствующих устройств, в том числе 3dfx Voodoo. С этого момента сообщество PCem стало прирастать ускоренными темпами, а многие пользователи стали всерьез рассматривать PCem в качестве универсального инструмента для запуска старых игр. Обратили внимание на данный проект и сторонние независимые разработчики, многие из которых не только внесли свой вклад в код PCem, но и предложили несколько ответвлений (форков) со своими особенностями.
+
С тех пор обновления не носят прорывной характер: помимо исправлений, лишь расширяется список эмулируемых устройств и повышается качество эмуляции. Регулярность выхода новых версий составляет, приблизительно, полгода.
С тех пор каждое обновление, помимо исправлений, расширяет список эмулируемых устройств и повышает качество эмуляции, а регулярность выхода новых версий составляет, приблизительно, полгода.
 
  
 
== Возможности ==
 
== Возможности ==
Строка 35: Строка 34:
 
* IBM PC-совместимые на базе процессора Pentium или аналогов.
 
* IBM PC-совместимые на базе процессора Pentium или аналогов.
  
В качестве графического адаптера можно выбирать из целого ряда MDA/CGA/EGA/VGA-совместимых видеокарт с учетом шины, поддерживаемой платформой (ISA, VLB или PCI). Отдельного упоминания заслуживает S3 Virge, для которого реализована поддержка Direct3D и S3D API. В платформы с поддержкой PCI-шины можно дополнительно подключить 3dfx Voodoo/Voodoo2 или даже SLI.
+
В качестве графического адаптера можно выбирать из целого ряда MDA/CGA/EGA/VGA-совместимых видеокарт с учетом шины, поддерживаемой платформой (ISA, VLB или PCI). Отдельного упоминания заслуживает [[S3 Virge]], для которого реализована поддержка Direct3D и S3D API. В платформы с поддержкой PCI-шины можно дополнительно подключить 3dfx Voodoo/Voodoo2 или даже SLI.
  
Среди звуковых карт можно выбрать творения Creative (от C/MS до Sound Blaster PCI 128), Gravis Ultrasound, Innovation SSI-2001, Adlib/Adlib Gold или Windows Sound System-кодек. COVOX, Disney Sound Source, Tandy и Pc Speaker также поддерживаются.
+
Среди звуковых карт к выбору доступны многочисленные творения Creative (от C/MS до Sound Blaster PCI 128), [[Gravis Ultrasound]], [[Innovation SSI-2001]], [[Adlib]]/[[Adlib Gold]] или [[Windows Sound System]]-кодек. [[COVOX]], [[Disney Sound Source]], [[Tandy]] и [[PC Speaker]] также поддерживаются.
  
Виртуальные жесткие диски создаются в виде файлов формата RAW. Поддерживаются контроллеры MFM/ESDI/IDE/SCSI. Что касается работы со сменными носителями, то эмулируются дисководы для дискет 5.25" и 3.5" (формат .img, .ima и .fdi), Iomega Zip Drive и CD-ROM (формат .iso и .cue, или проброс реального привода). Работа с DVD в настоящее время не поддерживается.
+
Виртуальные жесткие диски создаются в виде файлов формата RAW. Поддерживаются контроллеры MFM/ESDI/IDE/SCSI. Что касается работы со сменными носителями, то эмулируются дисководы для дискет 5.25" и 3.5" (формат .img, .ima и .fdi), [[Iomega Zip Drive]] и [[CD-ROM]] (формат .iso и .cue, или проброс реального привода). Работа с DVD в настоящее время не поддерживается.
  
Поддерживается эмуляция PS/2 или Serial-мыши, а к виртуальному Game Port можно подключить джойстик хоста, при его наличии.
+
Поддерживается эмуляция [[PS/2]] или Serial-мыши, а к виртуальному [[Game Port]] можно подключить джойстик хоста, при его наличии.
  
 
Наличие эмуляции сетевой карты позволяет объединить в сеть хост и эмулируемый компьютер используя механизмы PCAP или SLiRP.
 
Наличие эмуляции сетевой карты позволяет объединить в сеть хост и эмулируемый компьютер используя механизмы PCAP или SLiRP.
Строка 47: Строка 46:
 
== Связанные проекты ==
 
== Связанные проекты ==
  
* [[86Box]] [http://ci.86box.net/job/86Box Страница проекта]
+
* [[86Box]] [http://ci.86box.net/job/86Box (страница проекта)]
* [[VARCem]] [https://www.varcem.com Страница проекта]
+
* [[VARCem]] [https://www.varcem.com (страница проекта)]
  
 
== Ссылки ==
 
== Ссылки ==
Строка 57: Строка 56:
  
 
{{Связанные статьи эмуляторов|PCem}}
 
{{Связанные статьи эмуляторов|PCem}}
 
  
 
[[Категория:Эмуляторы]]
 
[[Категория:Эмуляторы]]

Текущая версия на 12:10, 15 декабря 2020

PCem
PCem-logo-title.png
Разработчик Sarah Walker
Разработчики {{{разработчики}}}
Последняя версия v17 (01.12.2020)
Состояние В разработке
Платформы Windows/Linux
Список эмулируемых компьютеров IBM PC
Лицензия GNU GPL ver.2
pcem-emulator.co.uk

PCem — это эмулятор персонального компьютера на уровне регистров аппаратного обеспечения. Методы эмуляции: бинарная трансляция и динамическая рекомпиляция. Эмулируются шины ISA, PCI и оборудование с ними связанное. С полным перечнем последнего можно ознакомиться на сайте разработчика или в сопроводительном readme.txt эмулятора. Эмуляция на уровне регистров позволяет прозрачное исполнение программ, написанных для соответствующего железа. Другими словами, патчи и модификации не нужны — все совместимое программное обеспечение (ПО) запускается и работает в оригинальном виде и качестве. Это огромный плюс, а теперь о минусах:

  1. Настоящее железо часто имеет на борту микропрограмму, (прошивку, биос, ром — названий много) обеспечивающую функционирование железяки. Эмуляция на уровне регистров, как очень близкая к настоящему железу, также требует использования прошивок для соответствующего оборудования. Из-за политики разработчиков PCem прошивки с ним не поставляются, а их обретение перекладывается на плечи пользователей;
  2. Точная эмуляция железа на регистровом уровне довольно сложна, поскольку производители железяк, драйверов и прочего ПО часто отклонялись от своих же дизайн-документов и, само собой, допускали ошибки. Это приводит к забавным ситуациям, когда реализованный точно по спецификации модуль эмуляции какого-либо железа не работает со своей же прошивкой или использующее его ПО глючит;
  3. В силу предыдущего пункта, эмуляция железа на регистровом уровне очень ресурсоемкая, особенно с учетом применяемых методов. Из-за этого разработчикам приходится вводить различные хаки и оптимизации, часто жертвуя точностью эмуляции. Данное обстоятельство сильно усложняет жизнь при отлавливании багов и глюков, поскольку не всегда понятно: является ли данный конкретный баг оригинальным поведением соответствующего железа с соответствующей программой или же глюком именно эмулятора.

История разработки

Первая версия эмулятора PCem (v0.1) увидела свет 15 августа 2007 года. Тогда он был способен на базовую эмуляцию IBM PC XT с MDA/CGA графикой и дискетами. Главный разработчик проекта PCem уже имел опыт разработки эмуляторов восьмибитных компьютеров, поэтому работа шла быстро. Осенью того же года эмулятор вышел на уровень IBM PC AT с EGA/VGA-графикой, Sound Blaster-звуком и поддержкой жестких дисков. Дальнейшее развитие было не таким быстрым и совершенно не ритмичным, но проект постоянно двигался вперед, обрастая возможностями, перенимая некоторые наработки других эмуляторов (DOSBox, Bochs, QEMU и др.) и повышая достоверность эмуляции.

24 октября 2015 года в PCem v10 появилась поддержка процессоров класса Pentium, шины PCI и соответствующих устройств, в том числе 3dfx Voodoo. С этого момента сообщество PCem стало прирастать ускоренными темпами, а многие пользователи стали всерьез рассматривать PCem в качестве универсального инструмента для запуска старых игр. Обратили внимание на данный проект и сторонние независимые разработчики, многие из которых не только внесли свой вклад в код PCem, но и предложили несколько ответвлений (форков) со своими особенностями.

С тех пор обновления не носят прорывной характер: помимо исправлений, лишь расширяется список эмулируемых устройств и повышается качество эмуляции. Регулярность выхода новых версий составляет, приблизительно, полгода.

Возможности

В настоящее время PCem v14 поддерживает эмуляцию следующих платформ:

  • IBM PC XT и совместимые на базе процессора i8088 или i8086 (IBM PCjr, Tandy и др.);
  • IBM PC AT и совместимые на базе процессора i80286 или аналогов;
  • IBM PS/2 с шиной MCA;
  • IBM PC-совместимые на базе процессора i80386 или аналогов;
  • IBM PC-совместимые на базе процессора i80486 или аналогов;
  • IBM PC-совместимые на базе процессора Pentium или аналогов.

В качестве графического адаптера можно выбирать из целого ряда MDA/CGA/EGA/VGA-совместимых видеокарт с учетом шины, поддерживаемой платформой (ISA, VLB или PCI). Отдельного упоминания заслуживает S3 Virge, для которого реализована поддержка Direct3D и S3D API. В платформы с поддержкой PCI-шины можно дополнительно подключить 3dfx Voodoo/Voodoo2 или даже SLI.

Среди звуковых карт к выбору доступны многочисленные творения Creative (от C/MS до Sound Blaster PCI 128), Gravis Ultrasound, Innovation SSI-2001, Adlib/Adlib Gold или Windows Sound System-кодек. COVOX, Disney Sound Source, Tandy и PC Speaker также поддерживаются.

Виртуальные жесткие диски создаются в виде файлов формата RAW. Поддерживаются контроллеры MFM/ESDI/IDE/SCSI. Что касается работы со сменными носителями, то эмулируются дисководы для дискет 5.25" и 3.5" (формат .img, .ima и .fdi), Iomega Zip Drive и CD-ROM (формат .iso и .cue, или проброс реального привода). Работа с DVD в настоящее время не поддерживается.

Поддерживается эмуляция PS/2 или Serial-мыши, а к виртуальному Game Port можно подключить джойстик хоста, при его наличии.

Наличие эмуляции сетевой карты позволяет объединить в сеть хост и эмулируемый компьютер используя механизмы PCAP или SLiRP.

Связанные проекты

Ссылки

PCem в вопросах и ответах для пользователей для знатоков примеры запуска игр