Martypc-это кроссплатформенный эмулятор ранних ПК, написанных в ржавчине. Он поддерживает Windows, Linux и MacOS. MartyPC эмулирует несколько систем на базе 8088, включая IBM PC, XT, PCJR и Tandy 1000.
Нажмите здесь, чтобы получить доступ к руководству пользователя MartyPC
Сборки доступны в периодических выпусках. Новые автоматические сборки доступны с помощью вкладки «Действия» под артефактами для каждого запуска рабочего процесса. (Вам нужно будет войти в GitHub, чтобы загрузить артефакты).
Martypc начал как хобби -проект, чтобы увидеть, смогу ли я написать эмулятор с нуля, изучая язык программирования Rust. Мои первоначальные цели для MartyPC были скромными, но он достиг уровня функциональности, который я никогда не мог себе представить.
Предполагаемая ниша MartyPC в мире эмуляции является помощником для разработки ретро ПК. Он заполнен инструментами отладки и журналами, с запланированным еще большим количеством. Это может быть не таким удобным для пользователя настройки, как и другие эмуляторы, но если вы знакомы с файлами конфигурации редакции, у вас не должно быть никаких серьезных проблем. Программисты, написанные программным обеспечением для Intel 8088, могут видеть и измерять точное выполнение цикла их кода.
Разработка MartyPC началась в апреле 2022 года. Я начал работать над созданием Martypc 8088-го эмуляции ЦП-цикла в ноябре 2022 года. Для этого я подтвердил операцию ЦП против реального ЦП 8088, подключенного к мега-микроконтроллеру Arduino. Смотрите мой проект Arduino8088 для получения более подробной информации. Это позволяет одновременно выполнять инструкцию на эмуляторе и реального процессора и результатов выполнения, сравниваемых по циклу на велосипеде. Больше информации об этом процессе описана в моем блоге.
В июне 2024 года я еще раз обновил набор испытаний 8088, чтобы поддержать упражнения в очереди предварительной выборки 8088. Было обнаружено и исправлено много большего количества велосипедных неточностей. MartyPC проходит 8 8088 V2 Test Suite с 99,9997% велосипедной точностью.
Было проведено обширные исследования аппаратного обеспечения для улучшения периферийной эмуляции MartyPC, включая исследование чипа TIMER 8253 с помощью Arduino, исследование времени DMA с осциллографом и в конечном итоге, создание шифрования автобуса с использованием логического анализатора.
В апреле 2023 года MartyPC стал достаточно точным, чтобы запустить печально известную демонстрацию ПК, 8088 миль в час.
В мае 2023 года MartyPC стал первым эмулятором ПК, способным подражать каждому эффекту в демонстрационной области ПК 5150. (См. Видео здесь: https://www.youtube.com/watch?v=zadelm9g0zg)
Сборка Webassembly MartyPC может запустить как 8088, так и в области 5150 в вашем веб -браузере!
В настоящее время MartyPC может эмулировать оригинальный PC IBM 5150, 5160 XT или универсальный клон XT.
Предварительная поддержка IBM PCJR и Tandy 1000 присутствует по состоянию на 0,2,1. Эти машины могут быть баггими и нестабильными.
Martypc эмулирует следующие устройства:
MartyPC поддерживает пользовательские конфигурации машины через профили конфигурации базовой машины, а также дополнительные расширения, называемые «наложениями», аналогичные для установки удлинительных карт или других обновлений.
MartyPC имеет обширный графический интерфейс отладки с несколькими полезными дисплеями, включая разборку инструкций, состояние процессора, зритель памяти и различные периферийные состояния. Кодовые и точки останова памяти поддерживаются. Martypc также поддерживает инструкции и журнал на основе цикла.
Запустите две видеокарты в отдельных Windows или в одной и той же видеокарте в «Точных» и «отладоме» - или с разными шейдерами!
Основной, настраиваемый шейдер CRT включен с большим количеством предстоящих (запланирована поддержка Librashader)
Для получения дополнительной информации ознакомьтесь с разделом галереи скриншотов вики!
У меня есть длинный список людей, чтобы поблагодарить (см. The About Box!), Но я особенно хотел бы упомянуть вклад, внесенный Reenigne. Без его работы обратный инженерный инженерный микрокод 8088 этот эмулятор никогда бы не был возможен. Я также хотел бы поблагодарить Кена Ширрифа и его превосходного блога, охватывающего большую часть кремниевой логики 8086 (и 8088 по расширению).