News > News Archive
MartyPC v0.4.0
Zykon, 07:53, 13-05-2025
The x86 emulator has been updated - MartyPC.
This update brings a massive list of new features, so here's a quick summary: - New sound system and sound devices including Adlib, Disney Sound Source, and SN76489 3-voice sound - New floppy disk image library enabling a ton of new floppy disk image types and support for several copy protections - New frontend supporting both native and WASM, support for native file dialogs - ATA device emulation, supported by XT-IDE and jr-IDE devices for larger hard disk support - VGA support and improved PCjr and TGA video emulation - Memory and register editing New eframe Frontend - Some dependency API changes prompted me to switch window frameworks. The active Desktop frontend for MartyPC is now based on a customized fork of eframe Native File Dialogs - The RFD crate provides access to native file dialogs for your particular OS, including File Open and Save dialogs - Startup errors are now reported via a system MessageBox. You should no longer have to rely on the command line output to tell why MartyPC didn't start New Devices - VGA - The IBM VGA card is emulated at last. MartyPC's VGA is based off its EGA implementation, with appropriate changes and additions. Clocked up to 28Mhz, the VGA is an expensive device to run at a character-clock accurate rate, so you may need a fast computer. Mode 13h and ModeX/Y are supported (Wolfenstein 3D's 'ModeY' works!) - The Video Card debugger window will show you the VGA's register state, including the current palette in realtime - XTIDE Hard Disk Controller - An XTIDE Rev 2 device can now be emulated. Since this BIOS is open-source, a machine configuration that includes hard drive support is now the default: ibm5160_xtide - If you want the 'authentic retro' experience, the IBM/Xebec controller is still available as ibm5160_hdd as usual - The VHD creator has been updated to support the wide selection of common hard drive geometries that the XTIDE can support. You'll need to be running a machine with the XTIDE configured to see them - It is now possible to take a VHD file from 86Box (assuming you created it as a 'fixed' VHD) and use it in MartyPC (and vice versa!) - jr-IDE Hard Disk Controller - To go along with the XTIDE, you can now emulate the jr-IDE. This gives you LBA-enabled ATA hard disk support and 736k of conventional memory backfill for your PCjr - Adlib Music Card - The first audio device in MartyPC besides the PC speaker is the Adlib Music Card. OPL2 emulation is provided by the highly-accurate nuked-opl3 library - SN76489 - The 3-voice sound chip found in the IBM PCjr and Tandy 1000 will be automatically installed on these machines - Disney Sound Source - If you have a parallel adapter specified, you can attach a Disney Sound Source, and enjoy various squawky digitized sounds in games that support it (Mostly Disney titles, Wolf 3d, Prince of Persia, and a few others. See Mobygames for a list of supported titles) - Memory Expansion Cards - Conventional memory expansion cards can now be specified, at any address and with any capacity. It is possible to have non-contiguous memory regions if you decide to do so, but caveat emptor - An overlay for the IBM PCjr called 'pcjr_memory_sidecar' will provide an extra 512k to bring your PCjr up to 640k Bitstream-level Disk Image Emulation The inclusion of the fluxfox disk image library has greatly expanded MartyPC's floppy disk image support, and enabled support for several copy protection schemes. - Disk Image Support Fluxfox supports reading a wide array of disk image formats: - TD0 (TeleDisk) - IMD (ImageDisk) - PSI (PCE Sector Image) - TC (TransCopy Image) - PRI (PCE Bitstream Image) - MFM (HxC/MFM Bitstream Image) - HFE (v1) (HxC Bitstream Image) - 86f (86Box Disk Image) - MFI (Mame Floppy Image) - SCP (SuperCardPro Image) - RAW (Kryoflux stream file set) Disk image loading is multithreaded so large disk images can be loaded without pausing the emulator. - Bitstream Image Writing Fluxfox can write bitstream images to 86f and PRI formats. - Disk Image Visualization fluxfox also enables a new Floppy Image info window, including a Disk View that shows a graphical visualization of the disk surface. - Zip Floppy Mounting - Thanks to rust-fatfs, we can now dynamically build FAT12 images. This enables mounting ZIP archives as floppy images. Of course the contents must fit! By default, an image of the largest supported size for the applicable drive will be created. There are a few options as well to enable creation of bootable diskettes - See the Wiki for more information Memory Visualizer - Using the new Memory Visualizer window, you can now view the contents of memory graphically, interpreting raw bytes as rendered text mode, or 1,2,4 or 8bpp pixels. This is a good way to explore the contents of memory, and when investigating a running game one can find things like the game's back buffer as well as sprites loaded into memory New Debugger Features - A floppy controller debug window shows operational state and command logs - A debug window for the SN76489 shows channel state with optional UV meters and oscilloscope displays - The memory viewer will now resolve memory-mapped addresses, although what is shown in those regions is device-specific - The memory viewer now supports memory editing - The CPU state viewer now supports editing registers and flags when the CPU is paused - The Disassembly viewer will now disassemble instructions in memory-mapped regions, such as PCjr cartridges - Display interrupt numbers as hex in the IVT viewer - Show both source and return address in the Call Stack Frontend Bug Fixes / Improvements - Mouse capture is even easier, with double-click to capture and middle-click to release implemented by default - The new Sound menu has been improved with the ability to mute and adjust the volume of sound sources - Toggle the display between the window background and a GUI widget window. Shaders are also available in windowed mode (With the wgpu backend) - Apply a bezel overlay in windowed mode. This works best with a shader preset that applies curvature, and the 'accurate' aperture selected. This isn't really a shader effect, just a GUI trick - Fixed an issue where MartyPC would receive keyboard events even though it didn't have keyboard focus - Prevent the emulated machine from receiving keyboard events when paused - Reset the keyboard on loss of window focus (prevents stuck keys) - Revamped Input/Output menu allows control of peripherals: - Mouse sensitivity/speed is now adjustable via the Mouse menu - The Keyboard menu allows for resetting the keyboard (clearing any stuck keys) - Mouse capture mode can toggle between emulating Mouse or Light Pen - Game port joysticks can be mapped to host controllers - Performance Viewer: Show stats for Audio sources - File tree browser: - Refactored floppy media menu - Added support for creating new disk images, formatted or unformatted - Display directories before files - Display correct icons for different file types Core Bug Fixes / Improvements - Improvements to TGA/PCjr video emulation - Support for hi-res 2bpp mode - Palette lookups in 2bpp modes - Framerate fixes in low resolution (160x200) modes - Support for 256k TGA apertures (1000HX) - Added 8086 subtype of 8088 CPU for 16-bit data bus support - Improved accuracy of the Programmable Interrupt Timer (PIT) - Reworked wait state calculations - Improved DRAM refresh DMA emulation - Removed timer hack for Area 5150 end credits as DMA accuracy is now sufficient - Many tests in Acid88 now pass - BUS/PPI: Improve PCjr keyboard handling - PPI: Fixed memory bank DIP switch masks for memory configurations less than <64K - Emulation speed improved overall by approximately 10% Distribution Changes - Added new definition for an alternate 64K PCjr ROM dump - dded new definition for an alternate 32K BASIC C1.0 ROM - Added new definitions for the IBM 5160 - Added XUB and jr-IDE BIOS images - Added BOCHS VGA BIOS build for 8088 Dependency Updates - Too many to list Known Issues - Multi-window support (and thereby multi-video-card support) is current unimplemented under eframe. I hope to return this feature in 0.4.1 - VGA is still a bit of a work in progress, and you may see display glitches in certain situations, especially if scrolling is involved. Please report any issues you encounter - PCjr floppy disk support is incomplete (currently read only)
Flycast v2.5
Zykon, 17:45, 07-05-2025
The Sega Dreamcast console emulator - Flycast has been updated. There are builds for Android, Linux, iOS, Mac OS X, Nintendo Switch, Windows and Xbox One/Series.
What's Changed - DCNet: a free dedicated VPN service for Dreamcast games that only needs a basic Internet connection. 30 game servers are already available and more are coming - Improved on-screen gamepad for Android and iOS: move and resize controls, custom designs, arcade-specific layout, unused controls hidden based on game (arcade) or device (console games) - Support for physical Dreamcast controllers with DreamConn+ and DreamPicoPort adapters: gamepad, VMU, vibration pack and more - New Dreamcast "Full Controller" with 2 analog axes and all possible buttons (Panther DC controller) - Better analog axis emulation when using a keyboard or digital buttons by using a ramp up/down curveъ - Hardware CD/DVD/BD-ROM support - GD-ROM arcade games load time reduced to zero - Improved GD-ROM access time, particularly with HLE BIOS - Fixed: Vulkan per-pixel mode on Mali GPUs - Work-around an OpenGLES bug in many drivers displaying the game screen upside down - Per-game VMU now compatible with multidisk games - Support for some encrypted cheats - Online support for Hundred Swords, PBA Bowling, StarLancer and The Next Tetris Fixed Games - D+VINE - Doom 64 - Fur Fighters - King of Fighters XI - Le Mans 24 Hours - Manic Panic Ghosts! - Pro Pinball - Sega Clay Challenge - Silent Scope - Teenage Mutant Ninja Turtle Collection - Tomb Raider - The Last Revelation - World Kicks PCB - World Series Baseball 2K1 - World Series Baseball 2K2
ares v144
Zykon, 06:26, 30-04-2025
The ares multi-system emulator for Linux, Mac OS X and Windows has been updated.
ARM7TDMI (Game Boy Advance CPU, ST018 Super Famicom coprocessor) - Fixed disassembler mnemonic for CMP - Fixed R15 read offsets on many instructions = Fixed miscalculated carry flags in Thumb mode - Disallowed writing 0 to the uppermost bit of PSR mode - Added an idle cycle to instructions that perform shifts by register values NEC V30MZ (WonderSwan CPU) - Improved interrupt timing accuracy - Improved timing of I/O port accesses Bandai - WonderSwan - Added color emulation support to the original “mono” WonderSwan - Note that WS games on WS are displayed using linear gamma, as opposed to WS games on WSC - Fixed bugs involving cartridge-side RTC protocol emulation - Improved APU emulation accuracy - Improved interrupt timing accuracy - Added support for emulating cartridges using an 8-bit ROM bus width - Fixed color zero not being writable on translucent PPU palettes - Fixed UART IRQs not being cleared by disabling the UART Nintendo - Game Boy / Game Boy Color - Tick timer on the falling edge of DIV bits - Implemented PCM12 and PCM34 registers for APU Nintendo - Game Boy Advance - Latch lower address lines when accessing ROM during burst transfer - Improved background VRAM access timings - Updated cartridge database - Fixed handling of mid-scanline writes to linear background scroll registers - Fixed some bugs that occurred when pixel accuracy was disabled Nintendo - Famicom Disk System - Added delay to disk state when swapping disks, resolving issues with multiple games where a disk swap was happening too quickly Nintendo 64 / Aleck 64 - Fixed an issue that could cause an application hang under certain titles that deactivate the VI - Add support for the unreleased port “O.D.T. - Escape… Or Die Trying” to the internal DB - Fixed ID in internal DB for Rampage 2, so controller pak and rumble pak should now work correctly - Added compile-time accuracy flag to bypass IPL2 checksum validation for development purposes - Improved error messaging if the Aleck 64 Pif ROM is missing when trying to load an Aleck 64 game - Added support for configurable Controller Pak storage sizes - Applied a fix to allow booting ROMs with non-standard PI DOM1 parameters in headers - Disabled super-sampled RDP readbacks: fixes some accuracy issues/passes more test cases in the official RDP test suite Nintendo - SNES / Super Famicom - Fixed loading of some games that require additional firmware for chips included in the cartridge Sega - Master System - Updated PAL only entries in the local DB so that they play at the correct 50Hz Sega - Mega Drive / Genesis / CD / 32X - Fixed incorrect hash for Wonder Boy in Monster World (USA, Europe) that allows for correct EEPROM detection, making the game playable - Fixed YM2612 LFO ‘AM’ bit emulation (Fixing broken audio in Kid Chameleon and others) - 32X: In H32 mode, the display is offset by approximately 3.25 pixels to the right - 32X: Fix registers and machine state on reset - CD: Fixed an issue where resetting the system while a game was running would result in the BIOS locking up on reboot - 32X: Improve synchronisation between MD/32X: fixes H/V tests in testpico when running in 32X mode - Improved VDP IRQ delay emulation - Improve YM2612 timer emulation Sony - PlayStation - Fixed an assertion in Lunar disc 1 when walking into Alex’s house or the barn to the right of it, preventing a crash UI / Program - Fixed a runtime crash on arm64 Linux with builds compiled with GCC - Improved compatibility inside sandboxed environments - Fixed passing relative paths for ROMs when launching ares on the command line - Fixed an issue with the displayed release version name on Windows - Fixed an issue causing malformed save directory names when a custom save path was specified - Fixed an issue causing the “missing firmware” error to appear twice - Fixed an issue that could cause runaway memory use on startup under the SDL input driver - Fixed an issue affecting compatibility with macOS versions before 12.0 Dependencies - Updated SDL to version 3.2.10 (SDL3) - Updated librashader to version 0.6.3 - Updated slang-shaders to ref 25311dc
News > News Archive