Releases with ports for two or more operating systems.
- Details
- Category: Multiple Platform
What's New:
- Fix crash when game name cannot be parsed
- Ignore summercart64 USB commands
- emulate summercart64 ROM_WRITE_ENABLE flag
- No need to check for ROM bounds on write
- compress sd and rom saves during netplay
- Update eframe requirement from 0.30 to 0.31
- Fix address masking in sc64 read/write
- Fix out-of-bounds ROM dma
- further sc64 cleanup
- add Cargo.lock
- remove some dependencies
- Details
- Category: Multiple Platform
What's New:
ci: Fix ubuntu artifact unpack
nv2a: Add swizzle test and benchmark
nv2a: Speed up software swizzling
ci: Bump Windows build container
- Details
- Category: Multiple Platform
What's New:
search and dosbox download
workflow fixes
bug fixes
windows version and tab
- Details
- Category: Multiple Platform
What's New:
Bug Fixes
- (docker) npm permission issues
- (docker) corepack keyid error
Newly Added
- UI tweaks
- connectivity indicator
- Details
- Category: Multiple Platform
What's New:
- minor tweak to interrupt system
- support for Advanced Homebrew ROM Header
- SD card emulation
The naming convention for save files changed in this version. This means that the emulator won't find saves that previously existed. You'll need to go into the save file folder and rename your save file to the new naming convention if you want to keep using it.
For example, Ocarina of time was previously (the part after CZL- is the sha256sum of the ROM):
CZL-49ACD3885F13B0730119B78FB970911CC8ABA614FE383368015C21565983368D.sra
But is now:
THE LEGEND OF ZELDA-49ACD3885F13B0730119B78FB970911CC8ABA614FE383368015C21565983368D.sra
- Details
- Category: Multiple Platform
What's New:
* Fix Mac OS X+ build under more modern compilers
* Fix Windows UI zoom in/out
- Details
- Category: Multiple Platform
What's New:
Bug Fixes
- open installation directory menu item
Newly Added
- change installation directory
- You can now change Retrom's installation directory via the
File > Configuration
menu in theClient
tab
- Details
- Category: Multiple Platform
What's New:
- Added new experimental dosbox.conf option that turns off the A20 gate automatically if loading a COM/EXE file to a memory
location below 64KB. Option is off by default. This is intended for the startup routines of programs that assume 8086 wraparound to prevent them from crashing (joncampbell123). - Bump tinyfiledialogs to v3.19.1 (maron2000)
- Fix VGA render-on-demand bug that causes all screen updates to stop working if something changes video state without changing any other attribute (width, height, frame rate, etc.). In PC-98 mode this bug could be triggered by leaving the text
layer open while switching off the graphics layer when the graphics layer is in 256-color PEGC mode. Fix for KOARMADA.EXE when exiting back to the DOS prompt. (joncampbell123). - In PC-98 mode, add I/O port 43Bh which guest applications can then read to determine whether the 15MB "memory hole" is open. The guest can use this bit to determine whether the PEGC 256-color framebuffer is available at that location, or whether that is
just plain system memory. Added for homebrew PC-9821 project KOARMADA.EXE which uses that bit to determine how to talk to the framebuffer. (joncampbell123). - Fix keyboard ISR in PC-98 mode to assume there is data waiting from the keyboard I/O ports (then check the status for more). The reason is that CWSDPMI.EXE for PC-98 has a keyboard ISR of it's own that reads the scan code first (which clears the
"data available" bit) before then passing control to the real-mode keyboard ISR. If our keyboard ISR first checks for status in that case it will never see any keyboard data and keyboard input will never register to the guest while running under CWSDPMI (joncampbell123). - Fix BIOS POST location (F000:FFF0) JMP instruction in PC-98 mode so that the segment value of the JMP instruction matches a specific value that the DJGPP C runtime checks for to detect PC-98. (joncampbell123).
- Stop serving IBM PC-specific CWSDPMI.EXE in NEC PC-98 mode. It happens to work unless any interrupt or exception happens. Instead, provide an alternate common version of CWSDPMI.EXE that was patched to support PC-98 machines when machine=pc98 (joncampbell123).
- Add support for ucrt64 builds (maron2000)
- DOS CTRL+C handling: Remove NULL vector check because built-in COMMAND.COM long ago was fixed to provide a CTRL+C vector. Fix code to use a different value for the C++ exception so that it cannot be confused for any other common signal in the emulator (joncampbell123).
- Remove DOSBox Integration Device VGA "self capture", which was never used much anyway, as part of cleanup (joncampbell123).
- x86 paging: Remove unused non-"full TLB" code. (joncampbell123).
- Use mmap() to allocate system memory if available. This is for future work that may involve something that requires page-aligned allocation, such as KVM support in Linux (joncampbell123).
- VGA cleanup, organization (joncampbell123).
- Fixed regression of specifying DBCS fontx file was ignored. (maron2000)
- Fixed mistakes in adding double quotes to filenames to pass to IMGMOUNT command, and syntax errors in showing a message dialog box. (maron2000)
- Fixed bug where bios memSize was not set when using TTF. (maitchison)
- Fixed CMS was always disabled regardless of config settings. (xrip)
- Switch off TTF mode in text modes not working in TTF mode. (maron2000)
- Gravis Ultrasound: Add dosbox.conf option that when enabled, prints a warning to the log file every time the guest pokes data into GUS RAM beyond the 1MB supported by the card, in order to better identify errant Demoscene code and/or any bugs in new tracker code currently in development. (joncampbell123)
- VGA: Fix buffer overrun that can occur with 4bpp planar 16-color modes if the guest writes beyond the first 2MB of video RAM. The planar support code also copies the 3rd bitplane to a font RAM array used in EGA/VGA text mode. This font RAM array is only 512KB, therefore in planar memory space, writes beyond (2MB/4) = 512KB cause corruption of emulator state and possibly crashes. Solve the issue therefore by not copying to font RAM beyond 512KB. (joncampbell123)
- VESA BIOS support: Fix VGA draw and bank switching code to ensure that the guest cannot write outside video RAM limits, and fix VBE bank switching code to consider 4bpp planar SVGA modes properly. (joncampbell123)
- VESA BIOS support: Fix scan line and page calculations related to 4bpp planar 16-color SVGA modes. (joncampbell123)
- VESA BIOS support: Fix 24bpp RGB bugs related to VBE calls that control scan line length and display panning/scrolling. Now VBETEST can test 24bpp panning without potentially giving the user an epileptic seizure, and there are no more overlong scanlines. (joncampbell123)
- VESA BIOS support: Correct mode information for SVGA text modes (joncampbell123)
- VESA BIOS support: Like real Pentium-era hardware, do not list 4bpp planar 16-color modes as having a linear framebuffer. Most SVGA cards only support planar VGA memory within the standard VGA A0000-BFFFFh region and do not support the same up in the linear framebuffer area. (joncampbell123)
- Save state support: Let the option to control whether or not compression is applied, apply to the ZIP compression. If you turn off compression, the ZIP file uses "store" mode instead, otherwise compresses as normal. (joncampbell123)
- It turns out that for whatever reason, the savestate code was compressing the state twice. Once by itself, and then again when writing to the ZIP archive. Furthermore, storing the original length at the end of the compressed data using size_t is a big problem. Remove the extra compression/decompression and let the ZIP file support do the compression. Save states from now on will be marked as "No compression" for at least some backwards compatibility. (joncampbell123)
- Volume label cleanup and fixes. Do not pad labels with white spaces. (maron2000)
- Some NEC PC-98 games that support MIDI through MPU-401 like to use Roland GS-specific SysEx messages to control master volume and reset the MIDI synth, instead of standard messages. These games were known in DOSBox-X to have problems with MIDI stuck notes and hanging notes for this reason. Added code to recognize Roland GS reset SysEx and reissue it as standard MIDI reset, to resolve that. Added code to Fluidsynth MIDI support to recognize the Roland GS master volume SysEx commands and apply it to the output, which allows these games to "fade out" the MIDI properly. PC-98 games should no longer have hanging/stuck MIDI notes (joncampbell123).
- Fix VESA BIOS modelist mistake that marked all "high definition" modes as modes to round bytes per line up to a power of 2 (joncampbell123)
- Fix memory size register determination for S3 Virge/VX (clbianco)
- Fixed a Y2038 bug by replacing Int32x32To64 with regular multiplication. (CookiePLMonster)
- Fixed pasting Bell code (0x07) from clipboard was ignored. (maron2000)
- Fixed a segfault crash when pasting the content of clipboard is empty or consists of invalid characters only. (maron2000)
- Fixed crash when trying to access MOUNTed empty physical CD/Floppy drives. (maron2000)
- Details
- Category: Multiple Platform
Retrom is a centralized game library management service that allows you to host your games on a single device, and connect clients on any amount of other devices to (un)install/download and play them when and where you want to! Think of it as a sort of self-hosted Steam for your DRM-free game library.
- Details
- Category: Multiple Platform
What's New:
- Add screen orientation presets to layout settings on Android @kleidis
- Fix a few strings on android that weren't modified properly previously
- Fix cherry-picking mistake for Swedish translations
- Details
- Category: Multiple Platform
What's New:
- Fix mouse virtual joystick on resize in SDL builds [Richard Kelly]
- New manual and automatic configuration saving from GUI
- Manage HD mounting from drive control dialog
- New MCX128 cartridge support for MC-10
- Fix some of the compatibility modes in GIME emulation
- Assert monitor detect line on CoCo 3 when RGB output selected
- Reduce write latency using Becker port [Ron Klein]
- Add some more flexible command-line trap options
- Details
- Category: Multiple Platform
What's New:
- Fix Log dialog and Netplay Session dialog not having a minimize button
- Fix Netplay Session dialog not having an icon
- Fix cheats not applying at emulation start
- Improve netplay dialogs by saving and restoring the server selection
- Improve netplay dialogs by adding icons to some buttons
- Improve netplay dialogs by showing the ping
- Improve device detection of RMG-Input
- Implement cheat support for netplay
- Details
- Category: Multiple Platform
What's New:
* User-defined units with SI prefixes didn't work in the CUSTOM menu. Fixed.
* Units with SI prefixes didn't work in the CUSTOM menu. Fixed.
- Details
- Category: Multiple Platform
What's New:
MAME Testers bugs fixed
-----------------------
- 01595: [Sound] (galaxian/galaxold.cpp) drivfrcg, drivfrcb , drivfrct, drivfrcsg: The crash sound doesn’t play. (Robbbert)
- 04095: [Sound] (namco/namcos1.cpp) splatter, splattero, splatterj: Music for the second stage boss scene is incorrect. (hap)
- 04546: [Graphics] (snk/lasso.cpp) pinbo, pinboa, pinbos: The background color is incorrect. (hap)
- 04729: [Misc.] (namco/namcond1.cpp) ncv1: [possible] The graphics ROM appears to have an incorrectly set bit. (MASH)
- 05592: [Graphics] (konami/asterix.cpp) All games in asterix.cpp: The windmill animation doesn’t work properly. (hap)
- 06865: [Interface] (taito/undrfire.cpp) undrfire and clones: The fake “Show gun target” switch doesn’t work. (hap)
- 07312: [DIP/Input] (irem/m72.cpp) poundfor: Trackball inputs don’t work properly. (hap)
- 07543: [Misc.] (konami/rungun.cpp) rungund, rungunad, rungunbd, rungunuad, rungunud, slmdunkjd: Out-of-bounds accesses. (hap)
- 07573: [Sound] (orca/espial.cpp) netwars: Sounds/music play too slowly. (hap)
- 07938: [Known Issues/To-Do's] (konami/konamim2.cpp) totlvice, evilngt: Second and third player light gun inputs are missing. (hap)
- 07958: [Sound] (sony/taitogn.cpp) kollon, kollonc: Sound is distorted. (hap)
- 08472: [Misc.] (sinclair/atm.cpp) some sinclair/* drivers: The emulator crashes on out-of-bounds palette accesses. (holub)
- 08510: [Gameplay] (midway/balsente.cpp) stocker: The gear shift control should be a toggle switch. (John IV)
- 08660: [DIP/Input] (namco/skykid.cpp) drgnbstr: The “Allow Continue” DIP switch settings are reversed. (Zach S.)
- 08731: [DIP/Input] (taito/taito_z.cpp) bsharkjjs: Left/Right inputs are reversed. (Uncle Petros)
- 08962: [DIP/Input] (konami/zr107.cpp) jetwave, jetwavej: Analog inputs are too sensitive. (hap)
- 08980: [Known Issues/To-Do's] (konami/konamim2.cpp) all sets in konamim2.cpp: Poor performance while loading. (David Haywood)
- 09052: [Misc.] (sega/segaybd.cpp) rchase: Recoil outputs for both gun controllers are sent to a single output. (AchillesPDX)
- 09054: [Speed] (taito/bublbobl.cpp) tokio and clones: CPU time slices are unnecessarily short. (hap)
- 09060: [Graphics] (gottlieb/gottlieb.cpp) krull: Graphics may not display correctly after loading a saved state. (JimCarlTay)
- 09061: [Color/Palette] (nintendo/spacefb.cpp) spacedem: [possible] The background should be black. (hap)
- 09062: [Sound] (sanritsu/drmicro.cpp) drmicro: PSG sound pitch is too high. (125scratch)
- 09063: [Graphics] (pacman/pacman.cpp) alibaba and clones: The mystery item timer is not displayed. (hap)
- 09065: [Sound] (snk/lasso.cpp) lasso, chameleo, wwjgtin: Sound pitch and tempo are incorrect. (hap)
- 09067: [Interface] The tilemap viewer maps the pointer location incorrectly if the tilemap is flipped on either axis. (hap)
- 09077: [Interface] (nichibutsu/nbmj8891.cpp) mjcamerb, mmcamera: Version on older hardware is not marked as a clone. (Vas Crabb)
- 09084: [Sound] (galaxian/galaxold.cpp) 4in1: Explosion sounds do not play. (Robbbert)
- 09087: [Gameplay] (philips/cdi.cpp) quizardi_10: The game does not boot correctly. (Ivan Vangelista)
- 09094: [Interface] (snk/prehisle.cpp) gensitou: The description does not include the release region. (JimCarlTay)
- 09095: [Interface] UI: The menu item highlight texture is not symmetrical. (Vas Crabb)
- 09097: [DIP/Input] (seta/seta.cpp) drgnunit: The undocumented eighth DIP switch in the first bank adjusts stage time. (GoldS_TCRF)
- Details
- Category: Multiple Platform
What's New:
- remove rdp_full_sync
- fix freeze in JFG
- static link MoltenVK
- Modify RSP sync points
- add another sync point for RSP
- dont run rsp task when dma is busy
- RDP sync updates
- add rdram reg that libdragon seems to access
- fix masking pi regs
- use TCP_RECEIVE_SAVE_WITH_SIZE for netplay
- cache apt packages in github workflow
- cleanup dir detection
- check accept value of netplay begin_game message
- use binary format for rom saves
- dont create new UI on close
- move sse2neon to versioned folder
- Use SDL_Vulkan_GetVkGetInstanceProcAddr
- Don't create UI in same thread as egui
- Use github arm runner
- on mac, run game in new process