MartyPC v0.1.2
MartyPC v0.1.2 brings some major performance improvements and quite a few fixes to emulated hardware. Thanks to everyone who has tested and reported issues!
MartyPC now includes a few demos and games for your enjoyment out of the box.
Please see the new MartyPC User Guide.
- 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.