MartyPC는 녹로 작성된 초기 PC의 크로스 플랫폼 에뮬레이터입니다. Windows, Linux 및 MacOS를 지원합니다. MartyPC는 IBM PC, XT, PCJR 및 Tandy 1000을 포함한 여러 8088 기반 시스템을 모방합니다.
MartyPC 사용자 안내서에 액세스하려면 여기를 클릭하십시오
빌드는주기적인 릴리스를 통해 사용할 수 있습니다. 최신 자동 빌드는 각 워크 플로 실행에 대한 아티팩트 아래의 조치 탭을 통해 사용할 수 있습니다. (아티팩트를 다운로드하려면 Github에 로그인해야합니다).
MartyPC는 취미 프로젝트로 시작하여 Rust 프로그래밍 언어를 배우면서 에뮬레이터를 처음부터 작성할 수 있는지 확인했습니다. MartyPC의 원래 목표는 겸손했지만 결코 상상할 수 없었던 수준의 기능에 도달했습니다.
에뮬레이션 세계에서 MartyPC의 의도 된 틈새 시장은 레트로 PC 개발을위한 보좌관입니다. 더 많은 계획이있는 디버깅 도구 및 로깅 시설이 포함되어 있습니다. 다른 에뮬레이터만큼 설정하는 것은 사용자에게 친숙하지 않을 수 있지만 구성 파일 편집에 익숙한 경우 큰 문제가 없어야합니다. 인텔 8088 용 소프트웨어를 작성하는 프로그래머는 코드의 정확한 사이클 실행을보고 측정 할 수 있습니다.
MartyPC의 개발은 2022 년 4 월에 시작되었습니다. 저는 2022 년 11 월에 MartyPC의 8088 CPU 에뮬레이션 사이클 사이클을 제작하기 시작했습니다. 그렇게하려면 Arduino 메가 마이크로 컨트롤러에 연결된 실제 8088 CPU에 대한 CPU의 작동을 검증했습니다. 자세한 내용은 Arduino8088 프로젝트를 참조하십시오. 이를 통해 에뮬레이터 및 실제 CPU에서 명령을 동시에 실행할 수 있으며 사이클 사이클별로 비교 된 실행 결과를 비교할 수 있습니다. 이 프로세스에 대한 자세한 정보는 내 블로그에 설명되어 있습니다.
2024 년 6 월에 나는 8088의 프리 페치 대기열의 운동을 지원하기 위해 8088 테스트 스위트를 다시 한 번 업데이트했다. 더 많은주기 부정확성이 발견되고 수정되었습니다. MARTYPC는 8088 V2 테스트 스위트를 통과하여 99.9997% 사이클 정확도를 통과합니다.
Arduino를 사용한 8253 타이머 칩을 조사하고 오실로스코프로 DMA 타이밍을 조사하고 궁극적으로 로직 분석기를 사용하여 버스 스나이퍼를 구축하는 등 MARTYPC의 주변 에뮬레이션을 개선하기 위해 광범위한 하드웨어 연구가 수행되었습니다.
2023 년 4 월, MARTYPC는 악명 높은 PC 데모 8088mph를 실행하기에 충분히 정확 해졌습니다.
2023 년 5 월, MARTYPC는 PC 데모 영역 5150에서 모든 효과를 모방 할 수있는 최초의 PC 에뮬레이터가되었습니다.
WebAssembly 빌드의 MartyPC는 웹 브라우저에서 8088mph와 Area 5150을 모두 실행할 수 있습니다!
현재 MARTYPC는 원래 IBM 5150 PC, 5160 XT 또는 일반 XT 클론 머신을 모방 할 수 있습니다.
IBM PCJR 및 TANDY 1000에 대한 예비 지원은 0.2.1 기준으로 존재합니다. 이 기계는 버그가 많고 불안정 할 수 있습니다.
MartyPC는 다음 장치를 모방합니다.
MARTYPC는 기본 머신 구성 프로파일과 '오버레이'라는 선택적인 확장을 통한 커스텀 머신 구성을 지원합니다.
MARTYPC에는 명령 분해, CPU 상태, 메모리 뷰어 및 다양한 주변 상태를 포함한 여러 유용한 디스플레이가 포함 된 광범위한 디버깅 GUI가 있습니다. 코드 및 메모리 중단 점이 지원됩니다. MartyPC는 또한 지침 및 사이클 기반 로깅을 지원합니다.
별도의 창에서 두 개의 비디오 카드 또는 동일한 비디오 카드를 '정확한'및 '디버그'뷰 또는 다른 셰이더로 실행하십시오!
기본적이고 구성 가능한 CRT 셰이더가 More To On에 포함되어 있습니다 (Librashader 지원이 계획).
자세한 내용은 Wiki의 스크린 샷 갤러리 섹션을 확인하십시오!
나는 감사 할 사람들의 긴 목록을 가지고 있지만 (The About Box! 참조) 특히 Reenigne의 기여를 언급하고 싶습니다. 그의 작업이 8088 마이크로 코드를 역전시키지 않으면이 에뮬레이터는 결코 불가능했을 것입니다. 또한 Ken Shirriff와 그의 훌륭한 블로그에 감사의 말씀을 전합니다.