Skip to content

MartyPC FAQ

dbalsom edited this page Aug 26, 2024 · 6 revisions

General Issues

Q: Why is MartyPC so slow? Why can't it run on my 10 year old computer?

  • MartyPC needs a fairly fast CPU, good memory throughput, and ideally Vulkan drivers for your GPU. This implies a fairly newish computer with a discrete graphics card. I hope that the system requirements will go down over time as I incorporate more optimizations, but there is a limit to how fast MartyPC will ever be due to its emphasis on clarity and accuracy over raw optimization.

Q: What about Mac and Linux builds?

  • These are a little trickier to package than a Windows build. On Mac, I need to build an App bundle that you can drag into the Applications folder, and make sure that MartyPC is directed to the right location to find its files, configuration and ROMs. On Linux, software is typically packaged in a specific way per distribution. Distributing 3rd party software in a portable way can be done through technologies like AppImage or Flatpak. I am a bit of a newbie in regards to packaging for both of these platforms; please be patient while I figure things out (or send me a pull request!). In the meantime, you can build from source on either platform, or use the automated builds under the Actions tab (you will need a GitHub account to download these).

Q: What machine configuration should I use for MartyPC?

  • I'd recommend in general using the IBM 5160 (IBM XT) machine type. From an emulation perspective, the 5150 and 5160 are nearly identical, with the differences in circuitry on the motherboard only causing the most infinitesimal timing differences. If there is software that will only run on a 5150 and not a 5160 I am not aware of it. The 5160 BIOS is much improved, and the latest 5160 BIOS will boot much faster on MartyPC due to special handling of the memory test.

Q: Don't 8088MPH and Area5150 require a 5150?

  • No, both will run fine on an IBM 5160 XT machine, and in fact I did all my debugging for those demos while running the 5160 machine.

Q: Which BIOS should I use?

  • The included GLaBIOS generally works well. If you're interested in authenticity though, I recommend using the latest 1986 XT BIOS. See the ROMs page for more info.

Q: What version of DOS should I use?

  • The included FreeDOS is not ideal, but it's the only free option for distribution. FreeDOS has worse compatibility and higher memory usage than a period-accurate OS.
  • It's tempting to load up MS-DOS 6.22, and it will work, although you will have slightly less RAM available than other options. For the 5150 and 5160, I would generally recommend MS-DOS 3.30, although you will want to supplement it with a nice text editor program. I generally use the one built into Norton Commander. Avoid MS-DOS 4, it was considered bad, even back in the day.

Q: I have a DOS program 'frodo.com', how do I run it?

  • MartyPC 0.2.2 or earlier: You'll need to copy file(s) into a floppy disk image using a tool such as WinImage, then load the floppy disk into the drive and either run the file from A: or copy it to your hard drive. Alternatively, on Windows, you can mount your VHD hard disk image if you as a drive letter and copy files into it.

  • MartyPC 0.3.0: creating a disk image is no longer a required step. You can place files in a subdirectory under /mount/floppies/, or add files to a ZIP file and place it in /media/floppies.

Q: Can I use my hard disk image from PCem/86Box?

  • Unlikely, unless it is the same exact geometry that MartyPC requires and in VHD format. However, you can mount MartyPC's VHD files in 86Box as drive D:, and copy any files you want over.

Q: Why cant I select a hard disk image?

  • Make sure that the Machine is powered off from the Machine menu. You wouldn't plug or unplug your hard drive while your computer was on, would you?

I'm having trouble with the mouse / mouse drivers won't load / mouse only works in Windows.

  • Most DOS programs required a mouse driver to be loaded to enable use of a mouse.
  • 'Operating system' type shells like GeoWorks and Windows included their own mouse driver.
  • Newer versions of ctmouse are not compatible with the 8088 or CGA. An old copy of the Microsoft mouse drivers is ideal. If I can find an older version of ctmouse that works well with MartyPC I will bundle it with the distribution.
  • If the mouse cursor feels off, I apologize. There's no standard way to really map host mouse movement to virtual mouse movement, and there is certainly room for improvement here.

Display Issues

The menu bar is displayed, but there is no emulated picture.

  • This indicates a problem with running the display scaler shader.
    • If you are on Windows 10 or higher, you can try setting the following environment variable: WGPU_BACKEND=dx12.
    • If you are on Windows 7 or Linux, or the above didn't work, set this to WGPU_BACKEND=opengl.
    • If you are on MacOS, there are no other backends you can select. Please open an issue so I can look into it.

Text is illegible when using a Composite Monitor.

  • This is expected, in an 80 column text mode (default). This is part of the reason that PCs had a '40 column' text mode, so you could actually read it. There was a DIP switch on the IBM PC that could control whether the PC booted into 40 column or 80 column mode by default, and you were probably expected to set it to 40 column mode if you had such a monitor. You can enter 40 column mode by typing mode 40 at the command prompt.

Linux Issues

The cursor doesn't change when moving into the window.

  • MartyPC - or more specifically the windowing toolkit it was built on - needs to know about your system's installed icon theme. You can specify the theme to use by setting the environment variable XCURSOR_THEME.
  • To tell what theme you are using, you can install 'gnome-tweaks' via your package manager.
    • On Ubuntu 23, the cursor theme is Yaru. On many other systems, the default is Adwaita.
  • Why do you have to set this manually?
    • I have no idea.

Specific Title Issues

I'm running the 8088MPH demo, but it doesn't look right / the 1024 color trick doesn't work.

  • This demo requires the use of a Composite monitor. Check Composite Monitor from the Display menu.

Infocom titles don't display correctly!

  • Make sure you have either ANSI.SYS or NANSI.SYS (if using FreeDOS) loaded in the DEVICE line of your CONFIG.SYS.

3-DEMON sprites are corrupt!

  • This is likely a BIOS compatibility issue, if you are not using the included GLaBIOS or an IBM BIOS. The game failed to save its registers when calling an interrupt routine, and so relies on specific BIOS behavior not to trample them.

Prince of Persia is very slow in EGA mode.

  • It was on a real 8088, as well. The 16-color EGA modes are planar and require a lot more work out of the CPU than the CGA or even the VGA modes did.

How do I run Windows 3.0 in EGA (or VGA) mode?

  • The drivers included with Windows 3.0 required a CPU that supported the 80186 instruction set. Windows 3.0 drivers patched for the 8088 can be found on the VCF forums or VOGONS.