Skip to content

MartyPC 0.2.2

Latest
Compare
Choose a tag to compare
@dbalsom dbalsom released this 22 Jun 16:32

MartyPC 0.2.2 is here!

Known Issues

  • You may get a Windows SmartScreen notification that this application is 'unknown'. You will need to click 'run anyway'. The MartyPC Windows executable is signed via Sectigo; I have done all I can think of to appease Microsoft, and not sure what else to do. This is NOT a malware warning.

  • WGPU support for older GPUs has moved from DirectX to OpenGL. If you are running an older graphics card or integrated graphics adapter and experience poor performance, please set the following user environment variable:

WGPU_BACKEND=gl
  • macOS users on Intel may experience colored stripes on the screen in fullscreen mode. Enable macos_stripe_fix in the configuration to resolve this.

New devices

  • LoTech 2MB EMS Board

    • Added emulation of the LoTech 2MB EMS Card
      This card can be added to any machine configuration via the lotech_ems overlay. You can specify the window segment
      and IO base address. However, these values must match one of the values supported by the real hardware or the driver
      won't work with it.
  • Game Port and Joystick

    • Added emulation of the IBM game port card, and basic keyboard-based joystick emulation. There is a new keyboard
      hotkey (JoyToggle) to turn this on and off (provisionally defined as Ctrl-F9), as well as configurable
      joystick_keys in the configuration you can use to define what keys control the joystick.
    • PCJr and Tandy 1000 machines will have a game port installed automatically. You can add a game port to any PC or XT
      configuration via the game_port overlay.
    • Two two-button, two-axis joysticks are assumed to be connected when you specify a game port.
      Different joystick configurations may be supported in the future.
  • PCJr Cartridge Slots

    • Added support in the core, frontend and GUI for PCJr cartridges in JRipCart format. Inserting or removing a cart
      will reboot the machine. You will only see the cartridge slots when using the PCJr machine.

Frontend Bug Fixes / Improvements

  • Added a new resource type 'cartridge' and menu interface to browse and select PCJr Cartridges.

Core Bug Fixes / Improvements

  • SERIAL: Fixed many issues in MartyPC's 8250 UART emulation. PCjr now boots without error code 'D' and Checkit2 serial
    diagnostics also pass.
  • BUS: Implemented a terminal_port configuration option under [machine] in the main configuration. Writes to this
    port will be printed to the host's terminal.
  • MC6845: Fixed an issue preventing entering vertical total adjust period if vertical total was 127. Fixes some Hercules
    display issues.
  • HERCULES: Increased the size of the Hercules' display field to accomodate some CGA emulators that drive the MDA
    monitor slightly out of sync (Fixes BBSIMCGA)
  • CGA: Added CGA's external mode register to debug output
  • MACHINE: Added a facility to record disassembly listings from running code. The output filename is set by
    disassembly_file under [machine] in the main configuration.
    Basically, this feature saves instruction disassembly to a hash table by CS:IP. Modification of code segments will
    override previous disassembly, so it is most useful to toggle this feature on and off for specified periods.

Debugger Bug Fixes / Improvements

  • Serial Status window: Displays serial port registers and statistics.
  • IO Status Window
    • Added a 'reset' button to reset all the port counters.
    • Added the last read byte value for each port
    • Fixed panic/crash when resetting machine with the IO Stats window open and scrolled.

Distribution Changes

  • Added a SvarDOS-based MartyPC boot diskette to media/floppies/boot.
    This disk will load the LoTech EMS driver and CTmouse driver.
  • Moved FreeDOS to media/floppies/DOS
  • Added SvarDOS build 20240201 diskettes to media/floppies/DOS
  • Added ctmouse v1.91 (last working version for Non-VGA) to media/floppies/utilties/mouse
  • Added LoTech 2MB EMS card utilities to media/utilities/EMS
  • Added JOYCALIB to media/utilities/joystick
  • Updated GLaBIOS 0.2.6 ROMS for a bugfix when int 10h vector is overridden

Dependency Updates

  • Set rustc minimum version to 1.76
  • Update egui to 0.27.2
  • Update wgpu to 0.19.4