Martypc adalah emulator lintas platform dari PC awal yang ditulis dalam karat. Ini mendukung Windows, Linux dan MacOS. Martypc meniru beberapa sistem berbasis 8088 termasuk IBM PC, XT, PCJR, dan Tandy 1000.
Klik di sini untuk mengakses Panduan Pengguna Martypc
Bangunan tersedia melalui rilis berkala. Bangunan otomatis yang lebih baru tersedia melalui tab Tindakan di bawah artefak untuk setiap alur kerja yang dijalankan. (Anda harus masuk ke GitHub untuk mengunduh artefak).
Martypc dimulai sebagai proyek hobi untuk melihat apakah saya bisa menulis emulator dari awal sambil mempelajari bahasa pemrograman karat. Tujuan awal saya untuk Martypc sederhana, tetapi telah mencapai tingkat fungsionalitas yang tidak pernah saya bayangkan.
Niche yang dimaksudkan di Martypc di dunia emulasi adalah asisten pengembangan PC retro. Ini dikemas dengan alat debugging dan fasilitas penebangan, dengan lebih banyak yang direncanakan. Mungkin tidak ramah pengguna untuk diatur seperti emulator lain, tetapi jika Anda terbiasa dengan file konfigurasi pengeditan, Anda seharusnya tidak memiliki masalah besar. Programmer Menulis perangkat lunak untuk Intel 8088 dapat melihat dan mengukur eksekusi siklus-demi-siklus kode mereka.
Pengembangan Martypc dimulai pada bulan April 2022. Saya mulai bekerja untuk membuat siklus emulasi CPU 8088 Martypc akurat pada November 2022. Untuk melakukannya, saya memvalidasi pengoperasian CPU terhadap CPU 8088 nyata yang terhubung ke mikrokontroler mega Arduino. Lihat proyek Arduino8088 saya untuk lebih jelasnya. Hal ini memungkinkan instruksi untuk dieksekusi secara bersamaan pada emulator dan CPU nyata dan hasil eksekusi dibandingkan, siklus demi siklus. Info lebih lanjut tentang proses ini dijelaskan di blog saya.
Pada bulan Juni 2024 saya memperbarui 8088 test suite sekali lagi untuk mendukung latihan antrian prefetch 8088. Lebih banyak ketidakakuratan siklus ditemukan dan diperbaiki. Martypc melewati 8088 V2 Test Suite dengan 99,9997% akurasi siklus.
Penelitian perangkat keras yang luas telah dilakukan untuk meningkatkan emulasi periferal Martypc juga, termasuk menyelidiki chip timer 8253 dengan Arduino, menyelidiki waktu DMA dengan osiloskop, dan pada akhirnya, membangun sniffer bus menggunakan penganalisa logika.
Pada bulan April 2023, Martypc menjadi cukup akurat untuk menjalankan demo PC yang terkenal, 8088 mph.
Pada bulan Mei 2023, Martypc menjadi emulator PC pertama yang mampu meniru setiap efek di area demo PC 5150. (Lihat video di sini: https://www.youtube.com/watch?v=zadelm9g0zg)
Build Martypc WebAssembly dapat menjalankan 8088mph dan Area 5150 di browser web Anda!
Saat ini, Martypc dapat meniru IBM 5150 PC asli, 5160 XT, atau mesin klon XT generik.
Dukungan awal untuk IBM PCJR dan Tandy 1000 hadir pada 0.2.1. Mesin -mesin ini mungkin kereta dan tidak stabil.
Martypc meniru perangkat berikut:
Martypc mendukung konfigurasi mesin kustom melalui profil konfigurasi mesin dasar ditambah ekstensi opsional yang disebut 'overlays', analagus untuk memasang kartu ekstensi atau peningkatan lainnya.
Martypc memiliki GUI debugging yang luas dengan beberapa tampilan yang berguna termasuk pembongkaran instruksi, negara bagian CPU, penampil memori, dan berbagai negara bagian. Breakpoint kode dan memori didukung. Martypc juga mendukung instruksi dan pencatatan berbasis siklus.
Jalankan dua kartu video di jendela terpisah, atau kartu video yang sama di tampilan 'akurat' dan 'debug' - atau dengan shader yang berbeda!
Shader CRT dasar dan dapat dikonfigurasi disertakan dengan lebih banyak yang akan datang (Dukungan Librashader direncanakan)
Untuk lebih lanjut, periksa bagian Galeri Tangkapan Screenshot dari Wiki!
Saya memiliki daftar panjang orang untuk berterima kasih (lihat tentang kotak tentang!) Tetapi saya terutama ingin menyebutkan kontribusi yang dibuat oleh Reenigne. Tanpa karyanya, rekayasa terbalik mikrokode 8088, emulator ini tidak akan pernah mungkin terjadi. Saya juga ingin mengucapkan terima kasih kepada Ken Shirriff dan blognya yang luar biasa, mencakup banyak logika silikon 8086 (dan 8088 dengan ekstensi).