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 thelotech_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.
- Added emulation of the LoTech 2MB EMS Card
-
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 thegame_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.
- Added emulation of the IBM game port card, and basic keyboard-based joystick emulation. There is a new keyboard
-
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.
- Added support in the core, frontend and GUI for PCJr cartridges in JRipCart format. Inserting or removing a cart
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