MartyPC est un émulateur (cycle-accurate) IBM PC multiplateforme écrit en Rust et open source. Le développement a commencé en avril 2022. Il devrait fonctionner sous Windows, Linux et MacOS (y compris Mx).
– Relicensed MartyPC under the MIT license.
– Redesigned CGA card with ‘dynamic clocking’ support. Card will now switch between clocking by cycle or character as appropriate.
– Improved hsync logic, screens in all graphics modes are now horizontally centered properly.
– Added 1.44MB floppy image definition. Somehow, these are readable(!?) (thanks xcloudplatform for discovering this)
– Fixed CGA palette handling bug. Fixes California Games CGAMORE mode. (thanks VileR)
– Added short tick delay between writing PIC IMR and raising any unmasked IRR bit to INTR. Fixes halts on warm boot.
– Improved performance when CPU is halted.
– Added menu options to save changes to loaded floppy image(s).
– Fixed CPU cycle tracelogging
– Added port mirrors for CGA (thanks th3bar0n)
– Fixed address wrapping for graphics modes (thanks th3bar0n)
– Fixed handling of mode enable flag in text mode (thanks VileR)
– Implemented better composite adjustment defaults (Matches colors in 8088mph better)
– Switched from cgmath to glam vector library. Approx 30% speedup in CGA composite simulation.
– Utilized bytemuck crate to write 32 bits at a time for CGA index->RGBA conversion, about 3x performance improvement
– Reorganized project structure. Refactored emulator core to Rust library and frontend components.
– Added Criterion for benchmarking components.
– Update Pixels library to 0.12.1
– Use fast_image_resize crate for SIMD acceleration. Aspect correction is now approximately 5X – faster with equivalent quality.
– Fixed inaccuracy in keyboard shift register handling
– Fixed bug in PIT latch logic (thanks 640KB)
– Fixed bug in PIC IRR logic (thanks 640KB)
– Fixed bug in PPI handling of keyboard enable line (Fixes halt on boot on 5160)
– Added CTRL-ALT-DEL menu option
Known issues:
– Turbo mode may cause the IBM BIOS to halt during POST during PIT checkout.
– Formatting floppies is limited to 360K due to fixed drive type.
– Regression: PIT latch logic change has now made 8088MPH report a 1% CPU variation. I believe this is more a timer issue than a CPU issue.