Эмуляция > Эмуляторы компьютеров

PCem, 86box и другие эмуляторы старого PC-железа

<< < (37/55) > >>

SokilOff:

--- Цитата: Softer от 29 Июль 2020, 18:37:45 ---Нагуглил, что для форматирования на нестандартные форматы нужны сторонние тулзы. Уточни какой именно тулзой и в какой формат ты форматировал?
--- Конец цитаты ---
Итак, по шагам.

0. PCem подобные вещи вообще не умеет делать. Для этого нужен форк 86box

1. Скачиваем с Old-DOS популярную утилиту для создания и чтения дискет нестандартных размеров PU_1700, вот тут:
http://old-dos.ru/dl.php?id=2372

Чтобы не загромождать топик, просто дам ссылку на страницу со скриншотами:
https://imgur.com/a/7tZHHlL

2. Загружаем любой конфиг с DOS, заходим в каталог с утилитой и запускаем pu_1700.com (скриншот №1)
3. Запускаем форматёр из комплекта программы: pu_1700f.com
4. В эмуляторе выбираем наш дисковод на 2.88М -> New image (скриншот №2) -> вводим имя новой дискеты с расширением, например "new.86f", выбираем её размер (2.88М), RPM mode не трогаем (скриншот №3)
5. Нажимаем Ctrl-Alt-P, всплывает наш форматёр. Выбираем дисковод, допустим это диск А: (скриншот №4)
6. "Делать, так по-большому". В меню выбора формата возьмём максимально возможный вариант, предоставляемый форматёром из комплекта PU_1700 для дискет на 2.88М - 83 трека и 41 сектор на трек (скриншоты №5, 6 и 7)
7. Кнопкой Tab заходим в сервисное меню и немного уменьшим значение gap3 - с 35 до 15, например (скриншот №8). Жмём enter и начинаем форматирование.
8. Смотрим, что происходит со скоростью в заголовке окна эмулятора (скриншот №9)
9. Ждём окончание операции и смотрим на результат (скриншоты №10 и 11). И да, получившийся образ дискеты вполне можно использовать.


--- Цитата ---Эта процедура просто не может тормозить эмуляцию, так как там вообще не производится никаких вычислений.
--- Конец цитаты ---
Просто ты не очень представляешь, какие ресурсы могут требоваться при точной эмуляции некоторых устройств, особенно если они работают в главном потоке программы (том же, что и виртуальный процессор).

Softer:

--- Цитата: SokilOff от 29 Июль 2020, 21:16:22 ---Просто ты не очень представляешь, какие ресурсы могут требоваться при точной эмуляции некоторых устройств
--- Конец цитаты ---
Устройства не эмулируются, эмулируются функции. Для эмуляции функций ввода/вывода/чтения/записи никаких вычислительных ресурсов уровня i9 не нужно.


--- Цитата: SokilOff от 29 Июль 2020, 21:16:22 ---0. PCem подобные вещи вообще не умеет делать. Для этого нужен форк 86box

--- Конец цитаты ---

--- Цитата: SokilOff от 29 Июль 2020, 21:16:22 ---4. В эмуляторе выбираем наш дисковод на 2.88М -> New image (скриншот №2) -> вводим имя новой дискеты с расширением, например "new.86f", выбираем её размер (2.88М), RPM mode не трогаем (скриншот №3)

--- Конец цитаты ---
Стоп. Это что за функция? Причём тут "эмуляция Pentium 120/133 которую даже i9 осилит только с возможными просадками"?
Почему к расширению создаваемого файла образа *.86f привязано появление строки выбора RPM? Я сначала назвал образ *.img, в следствии чего получил окно параметров создаваемого образа без строки RPM, а когда дело дошло до форматирования, то PU_1700F сообщил, что "форматирование прервано. не форматируется 0 трек вашей дискеты!". Создав же образ с расширением *.86f форматирование проходит без ошибки. Что это за дичь привязанная к именованию внешних файлов образов дискет?
И опять же повторюсь, что эта кривая функция 86Box совершенно никак не связана с эмуляцией CPU и их тактовыми частотами. Это просто криво заэмулированная функция, ни больше и не меньше. Я, если что, 233MMX эмулировал и на моём i5 получил минимально зафиксированную при форматировании скорость эмуляции - 82%, против твоих 74% при эмуляции 166MMX. И это при том, что разница в однопоточной производительности между нашими процессорами всего +5% у моего клокнутого i5.

Так же я не понимаю в чём уникальность функции создания образов дискет в 86Box относительно PCem? Единственное различие замеченное мной, это возможность выбрать расширение отличное от img в 86Box, которой лучше бы не было, так как у него от этого явно начинает "течь крыша".
Я решил повторить эксперимент на PCem с созданием в нём img образа ожидая дойти до попытки форматирования и ошибки PU_1700F указанной выше в ответ на использование img расширения (какой же бред, сам пишу это и поражаюсь всему происходящему абсурду). Так вот никакой ошибки в PCem я не получил, дискета была успешно отформатирована, а нагрузка от ровных 100% эмуляции на протяжении всего процесса даже близко не приблизилась к 100% на ядро.

SokilOff:

--- Цитата: Softer от 29 Июль 2020, 22:59:51 ---Так же я не понимаю в чём уникальность функции создания образов дискет в 86Box относительно PCem?
--- Конец цитаты ---
В том, что 86F - это формат, эмулирующий реальную дискету, и с ним можно делать всё то же самое, что с обычной дискетой, включая нестандартное форматирование, эмуляцию различных типов защит от копирования и т.д. Это так называемый bitstream формат, а img - самый примитивный из возможных sector-based.

Есть и третий тип дискетных образов - flux-форматы (грубо говоря - магнитный поток без постобработки). Примеры - KF (Kryoflux), SCP (Supercard Pro) и т.д. Использовать их напрямую в эмуляторах не имеет смысла - для декодирования/конвертации требуются ещё более значительные вычислительные ресурсы.

Попробуй создать в PCem на img рабочую копию дискет с защитой от копирования, и поймешь, для чего это всё.


--- Цитата ---Так вот никакой ошибки в PCem я не получил, дискета была успешно отформатирована
--- Конец цитаты ---
И на неё можно записать файл размером с полный объём дискеты и затем прочитать его ? Я попытался записать на эту дискету файл и моментально получил "Sector not found", что абсолютно ожидаемо.


--- Цитата ---Почему к расширению создаваемого файла образа *.86f привязано появление строки выбора RPM?
--- Конец цитаты ---
Потому что формат позволяет эмулировать дискеты, записанные на дисководах с более низким RPM, по сравнению со стандартными значениями.


Softer:

--- Цитата: SokilOff от 29 Июль 2020, 23:24:38 ---Попробуй создать в PCem на img рабочую копию дискет с защитой от копирования, и поймешь, для чего это всё.

--- Конец цитаты ---
Понятно. Идея хорошая, реализация - как всегда.

SokilOff:
И ещё.


--- Цитата ---Так вот никакой ошибки в PCem я не получил, дискета была успешно отформатирована
--- Конец цитаты ---

В данном случае PCem не вернул ошибку, а молча проигнорировал её. "Не реализовано ? Да и фиг с ним, ничего не скажем". Пользователь получает нерабочую болванку и теряется в догадках - что он сделал не так. И таких молчаливых "недоэмулированных" моментов - вагон и маленькая тележка практически во всех поддерживаемых девайсах.

Увы, ситуация типична для всех эмуляторов. Где-то в большей степени, где-то в меньшей.

Softer:

--- Цитата: SokilOff от 30 Июль 2020, 13:42:34 ---В данном случае PCem не вернул ошибку, а молча проигнорировал её. "Не реализовано ? Да и фиг с ним, ничего не скажем". Пользователь получает нерабочую болванку и теряется в догадках - что он сделал не так. И таких молчаливых "недоэмулированных" моментов - вагон и маленькая тележка практически во всех поддерживаемых девайсах.

--- Конец цитаты ---
А когда PU_1700F заявляет, что "форматирование прервано, не форматируется 0 трек вашей дискеты!", то пользователь не теряется в догадках - что он сделал не так?

SokilOff:

--- Цитата: Softer от 30 Июль 2020, 13:54:14 ---А когда PU_1700F заявляет, что "форматирование прервано, не форматируется 0 трек вашей дискеты!", то пользователь не теряется в догадках - что он сделал не так?

--- Конец цитаты ---
Пользователь хотя бы видит - что-то пошло не так. А когда "всё нормально было", но в результате ничего не работает - это хуже.

Softer:

--- Цитата: SokilOff от 30 Июль 2020, 14:30:37 ---Пользователь хотя бы видит - что-то пошло не так. А когда "всё нормально было", но в результате ничего не работает - это хуже.

--- Конец цитаты ---
То есть когда ошибка в процессе форматирования, то это более понятно, чем когда в процессе последующего копирования? Логика конечно есть, но очень притянутая за уши.

SokilOff:

--- Цитата: Softer от 30 Июль 2020, 15:00:59 ---То есть когда ошибка в процессе форматирования, то это более понятно, чем когда в процессе последующего копирования? Логика конечно есть, но очень притянутая за уши.

--- Конец цитаты ---
Если программа форматирования не получает соответствующий "отлуп" от эмулятора (как это делает настоящий FDC), как она поймёт, что произошла ошибка ?

Дело-то не в PU_1700. Прога не виновата.

Другой эксперимент.
Берём образы IBM DOS 7.0, пытаемся в PCem записать их на дискеты штатными IBM'овскими программами. Первый диск - стандартный на 1.44М, пытаемся записать образ dsk. Монтируем пустой (или не пустой, без разницы) стандартный img образ на 1.44М, проверяем, что он нормально читается. Дальше:
loaddsk disk1.dsk a:

После 1% получаем сообщение "cannot format target disk". Повторюсь, это ещё не .XDF на 1.88М, это обычный диск на 1.44M. В результате корневой каталог выглядит нормально, внутри файлов - мусор.

Делаем то же самое в 86box - всё работает, диск записывается штатно. XDF образы можно даже не записывать и использоваться прямо так. При желании ради эксперимента можно записать такой XDF файл, допустим, на 86F образ - всё запишется и будет работать.

Так что дело не в конкретной программе. Дело в корректности эмуляции, в данном случае флоппи-контроллера.

Softer:

--- Цитата: SokilOff от 30 Июль 2020, 15:09:25 ---Если программа форматирования не получает соответствующий "отлуп" от эмулятора (как это делает настоящий FDC), как она поймёт, что произошла ошибка ?

--- Конец цитаты ---
С программой всё понятно. Только пользователь это не программа.

Добавлено позже:

--- Цитата: SokilOff от 30 Июль 2020, 15:09:25 ---Так что дело не в конкретной программе. Дело в корректности эмуляции, в данном случае флоппи-контроллера.

--- Конец цитаты ---
Никто не оспаривает большее количество заэмулированных функций FDD у 86box. Речь шла о качестве эмуляции этих функций в следствии чего скорость эмуляции просаживается. Что там, гениальный цикл в цикле или ещё чего, я не знаю, но проблема серьёзная.

MetalliC:

--- Цитата: SokilOff от 30 Июль 2020, 15:09:25 ---Если программа форматирования не получает соответствующий "отлуп" от эмулятора (как это делает настоящий FDC),
--- Конец цитаты ---
какой такой отлуп ? при форматировании дорожки FDC ничего не проверяет, это уже забота программы-форматировщика проверить трек на читаемость после записи, и если она этого не делает то не  будет никаких ошибок.

но тут может быть дело в другом - некоторые эмуляторы (МАМЕ например) держат в памяти "образ" дискет в raw flux-виде, и кастрируют их если нужно до sector-based форматов лишь при выходе из эмулятора или смене диска.
что в этом случае будет происходить я думаю понятно - диск нормально отформатируется и запишется, и защищенный софт будет нормально работать, но лишь до выхода из эмулятора, а при повторном запуске будет упс.

SokilOff:

--- Цитата: Softer от 30 Июль 2020, 15:46:13 ---Никто не оспаривает большее количество заэмулированных функций FDD у 86box. Речь шла о качестве эмуляции этих функций в следствии чего скорость эмуляции просаживается. Что там, гениальный цикл в цикле или ещё чего, я не знаю, но проблема серьёзная.
--- Конец цитаты ---
Сорцы открыты и доступны - ждём помощников-энтузиастов.


--- Цитата: MetalliC от 30 Июль 2020, 15:55:29 ---но тут может быть дело в другом - некоторые эмуляторы (МАМЕ например) держат в памяти "образ" дискет в raw flux-виде, и кастрируют их если нужно до sector-based форматов лишь при выходе из эмулятора или смене диска.
--- Конец цитаты ---
Не в raw-flux, a в mfm-bitstream. Про MAME не скажу, а 86box (*.86f) и PCE (*.pri) делают именно так.


--- Цитата ---что в этом случае будет происходить я думаю понятно - диск нормально отформатируется и запишется, и защищенный софт будет нормально работать, но лишь до выхода из эмулятора, а при повторном запуске будет упс.
--- Конец цитаты ---
Ни разу не пробовал создавать в MAME рабочии копии защищённых дисков, не уверен, что оно там вообще заработает.

MetalliC:

--- Цитата: SokilOff от 30 Июль 2020, 16:12:43 ---Не в raw-flux, a в mfm-bitstream.
--- Конец цитаты ---
зависит от эмулятора ? у MAME внутреннее представление образа в виде потока нулей и единиц, с определенной частотой дискретизации, как они и идут с дисковода, то есть flux. а декодирование данных из MFM или FM или GCR делается уже по ходу работы эмуляторами различных FDC.

SokilOff:

--- Цитата: MetalliC от 30 Июль 2020, 16:34:09 ---зависит от эмулятора ? у MAME внутреннее представление образа в виде потока нулей и единиц, с определенной частотой дискретизации, как они и идут с дисковода, то есть flux. а декодирование данных из MFM или FM или GCR делается уже по ходу работы эмуляторами различных FDC.

--- Конец цитаты ---
Не смотрел, как это реализовано в MAME. Если так, то да, это flux.
Но, как я понимаю, скормить напрямую образ дискеты в любом из flux-форматов ему всё равно нельзя. Или ?

p.s. хотя в случае эмулятора PC мы всё равно возвращаемся на уровень FM/MFM

Томахомэ:
В Parkan при переходе во внутренние помещения корабля - как своего, так и чужого - монитор внезапно переключается на системное разрешение, а сам эмулируемый комп намертво виснет с чёрным экраном. Из-за чего, интересно, это с ним на самом деле происходит?

Если что, операционка стоит Win95 (русская версия), биосы перепробовал разные - от Award SiS 496/497 до Shuttle HOT-557, процы - от Pentium OverDrive/83 до Mobile Pentium MMX/120. Аудиокарта всегда строго AWE32, видео - S3 VIRGE DX в паре с Voodoo 2.

Ogr:
Томахомэ, На сборке эмулятора солд геймс, игра не виснет, Не в программном режиме, Не с 3д ускорением.

Томахомэ:
А эмуляцию Roland'ов в PCem ещё так и не завезли, что ли?

gotten:
Есть у кого-нибудь сборка Pcem 15 или 16 с чистым dos? В отличии от win 95-98, я вообще без понятия с чего начинать, что выбирать, если самому устанавливать. Так же и насчет самой версии dos, какая будет предпочтительнее. 6.22 или другая? Не знаю, важно ли это, уточню - игры года от 90 и дальше. В сборке Pcem с win 95 некоторые проблемные dos игры запускал, они работали лучше чем в досбоксе.
Такс, нашел инструкцию, отбой, вроде ничего сложного.
Все установил, интересно, почему некоторые игры вылетают, например Mr.Blobby. 6.22 слишком нов для этой игры что-ли?

Drowfan:
Вопрос: эмулирует ли этот эмулятор «Сократа Персонального»? А то хочется посмеяться над безграмотностью, над «средств к существованию» и пр. Вдруг «Сократ» не идет на Windows 8.1 и 10? Конечно, он устарел, зато годится для таких абсурдных переводов.

Yaranga:
Thorenlawar, этот эмулятор эмулирует старое компьютерное железо, а не программное обеспечение. Последний же Сократ вполне работает на Windows 10: https://ofitsialnaya-versiya.org/sokrat-personalnyj/
Если же хочется именно поприкалываться над старыми версиями сократов, почему просто не скачать любую из готовых сборок эмулятора с предустановленными системами и попробовать самому? А такие есть и в этой теме, и особенно в аналогичной на одном дружественном форуме: https://www.old-games.ru/forum/threads/pcem-ehmuljator-pc.68711/

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Перейти к полной версии