You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+20-14
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@ with both demos.
50
50
51
51
Currently, MartyPC can emulate an original IBM 5150 PC, 5160 XT, or a generic XT clone machine.
52
52
53
-
Preliminary support for the IBM PCJr and Tandy 1000 is present as of 0.2.1. These machines may be buggy and unstable.
53
+
Preliminary support for the IBM PCjr and Tandy 1000 is present as of 0.2.1. These machines may be buggy and unstable.
54
54
55
55
### Device Support
56
56
MartyPC emulates the following devices:
@@ -59,31 +59,37 @@ MartyPC emulates the following devices:
59
59
***Intel 8088** - A cycle-accurate implementation of the Intel 8088 including the asynchronous BIU, processor instruction queue and prefetch logic. Tested for correctness and cycle-accuracy against hardware.
60
60
***NEC V20** - A preliminary implementation of the NEC V20 CPU. Cycle-based, but not fully cycle-accurate or as performant as the real thing, as timings have not been adjusted from the 8088 that was used as a base. All native-mode V20 instructions are implemented and tested for correctness against hardware.
61
61
62
-
*### Video Cards:
62
+
*### System Hardware:
63
+
***8255 PPI** - Low level keyboard emulation is supported via the PPI and keyboard shift register. Supports the 'turbo bit' found in TurboXT clones.
64
+
***8259 PIC** - Mostly complete, but still missing advanced features such as priority rotation and nested modes.
***8237 DMAC** - Mostly implemented, but DMA transfers are currently "faked". DRAM refresh DMA is simulated using a scheduling system.
67
+
***8250 UART** - Supports serial passthrough or mouse emulation.
68
+
***Game Port** - Supports two analog joysticks with two buttons each.
69
+
***Parallel Port** - Enough of a basic parallel port is emulated to be detected, but is not really functional for any purpose yet.
70
+
71
+
*### Video Devices:
63
72
***CGA** - A dynamic, cycle-or-character clocked implementation of the IBM CGA including the Motorola MC6845 CRTC controller allows MartyPC to run demanding PC demos like 8088MPH and Area5150. MartyPC takes a unique approach to PC video card emulation by simulating the entire display field - including overscan. Composite output and monitor simulation is supported, via reenigne's excellent composite conversion code (also used by DOSBox and 86Box)
64
73
***TGA** - A character-clocked implementation of the PCJr and Tandy Graphics Video Gate Array. Work in progress.
65
74
***MDA** - A character-clocked implementation of the IBM MDA card built on the Motorola MC6845 CRTC controller. An MDA adapter can be installed alongside a CGA or EGA card for multi-monitor operation.
66
75
***Hercules** - The MDA device optionally supports emulation of the Hercules Graphics Adapter.
67
76
***EGA** - A character-clocked implementation of the IBM EGA builds on the techniques used developing the CGA. It is structured to replicate the logical functions of each of the LSI chips on the original hardware. It supports redefinable fonts, vsync interrupts and per-scanline pel-panning for smooth scrolling.
77
+
***VGA** - IBM VGA card emulation is in development, but graphics modes such as Mode 13h and Mode X are working.
78
+
79
+
*### Sound Devices:
80
+
***PC Speaker** - Not really its own sound device, the PC speaker is driven by MartyPC's timer chip emulation. It can produce reasonable quality PWM audio in demos such as 8088MPH, Area5150, and Magic Mushroom.
81
+
***Adlib** - The original Adlib Music Synthesizer is emulated, with OPL2 emulation provided by nuked-opl3, via my [opl3-rs](https://github.com/dbalsom/opl3-rs) bidings. This is a bit CPU heavy, so you'll need a fast computer.
68
82
69
83
*### Storage Devices:
70
84
***µPD765 FDC** - Currently robust enough to support both DOS and Minix operating systems. MartyPC uses my disk
71
85
image library, [fluxfox](https://github.com/dbalsom/fluxfox/), which allows it to support a wide variety of PC disk image formats.
72
86
MartyPC's FDC emulation is still not as accurate as I'd like it to be, but it can support a number
73
87
of copy-protected titles, given a disk image of the appropriate format.
74
-
***IBM/Xebec 20MB HDC** - Emulated with basic VHD support. MartyPC currently supports a single disk geometry of 20MB.
75
-
***PCJr Cartridges** - PCJr cartridge ROMs are supported, in JrRipCart (.JRC) format
88
+
***IBM/Xebec 20MB HDC** - Emulated with basic VHD support. MartyPC currently supports a single disk geometry of 20MB when using this controller.
89
+
***XTIDE** - Emulation of an XTIDE Rev 2 board allows MartyPC to support a wide range of hard disk formats. This emulation is still in early stages, and may be a bit rough around the edges. Not all ATA commands are implemented.
90
+
***PCjr Cartridges** - PCjr cartridge ROMs are supported, in JrRipCart (.JRC) format
76
91
77
-
*### System Hardware:
78
-
***8255 PPI** - Low level keyboard emulation is supported via the PPI and keyboard shift register. Supports the 'turbo bit' found in TurboXT clones.
79
-
***8259 PIC** - Mostly complete, but still missing advanced features such as priority rotation and nested modes.
0 commit comments