Changelog:
Highlights include:
ARM: support for ARMv8.2 TTS2UXN architecture feature
ARM: support for ARMv8.5 MemTag architecture feature
ARM: new board support for sonorapass-bmc
ARM: virt: support for memory hot-unplug
ARM: support for nvdimm hotplug for ACPI guests
AVR: new architecture support for AVR CPUs
AVR: new board support for Arduino Duemilanove, Arduino Mega 2560, Arduino Mega, and Arduino UNO
MIPS: support for Loongson 3A CPUs (R1 and R4)
MIPS: performance improvements for FPU and MSA instruction emulation
PowerPC: support for guest error recovery via FWNMI
RISC-V: support for SiFive E34 and Ibex CPUs
RISC-V: new board support for HiFive1 revB and OpenTitan
RISC-V: Spike machine now supports more than 1 CPU
s390: KVM support for protected virtualization (secure execution mode)
x86: improvements to HVF acceleration support on macOS
x86: reduced virtualization overhead for non-enlightened Windows guests via Windows ACPI Emulated Device Table
block: support for 2MB logical/physical blocksizes for virtual storage devices
crypto: support for passing secrets to QEMU via Linux keyring
crypto: support for LUKS keyslot management via qemu-img
NVMe: support for Persistent Memory Region from NVMe 1.4 spec
qemu-img: additional features added for map/convert/measure commands, as well as support for zstd compression
qemu-img: support for new 'bitmap' command for manipulating persistent bitmaps in qcow2 files
virtio: TCG guests can now use vhost-user threads
virtio: vhost-user now supports registering more than 8 RAM slots
and lots more...
0.8.3: (2020-08-03)
Emulation fixes:
- ARM: Fix LDM^ writeback to user-mode register
- ARM: Fix LDM^ {pc} differences (fixes mgba.io/i/1698)
- ARM: Fix edge case with Thumb SBC flags (fixes mgba.io/i/1818)
- GB MBC: Fix MBC1 RAM enable bit selection
- GB MBC: Fix MBC2 bit selection
- GB Memory: Fix OAM DMA from top 8 kB
- GB Video: Always initialize palette
- GBA Savedata: Fix potential corruption when loading a 1Mbit flash save
- GBA Video: Fix invalid read in mode 4 mosaic
- GBA Video: Fix color of disabled screen
- SM83: Fix flags on little endian PowerPC
Other fixes:
- All: Correct format strings for some numbers on Windows (fixes mgba.io/i/1794)
- All: Correct more format strings on Windows (fixes mgba.io/i/1817)
- ARM: Fix decoder detection of branches with ALU and LDR instrctions
- CMake: Fix build with libzip 1.7
- CMake: Add missing dllexports.h file to dev installation
- GB Core: Fix extracting SRAM when none is present
- GBA: Fix leak if attempting to load BIOS multiple times
- GBA Memory: Fix instability on Wii when using AGBPrint
- GBA Savedata: Fix extracting save when not yet configured in-game
- Qt: Fix file handle leak on opening an invalid ROM
- Qt: Fix Italian RTC translation (fixes mgba.io/i/1798)
- Qt: Add missing option for Wisdom Tree in overrides list
- Qt: Fix stability regression on AMD drivers (fixes mgba.io/i/1791)
- Util: Fix crash if PNG header fails to write
Misc:
- FFmpeg: Use range coder for FFV1 to reduce output size
- Qt: Add per-page scrolling to memory view (fixes mgba.io/i/1795)
- Qt: Add setting to display ROM filename in title (closes mgba.io/i/1784)
0.83.4
- Fixed loading saved states in fullscreen mode with
the "aspect=true" setting. (Wengier)
- Added config option "saveslot" to select default
save slot (1-10). The timestamps for the saved
states will also be shown in the menu. (Wengier)
- Added key mapper for sending the Ctrl+Alt+Del key,
with HOST(F11/F12)+Del by default. (Wengier)
- Added dosbox-x.conf setting to ignore the EGA/VGA
"extended memory" bit. It was originally defined
back when stock EGA/VGA cards could ship with 64KB
of memory. The option is needed for DOS games that
accidentally clear the bit when using unchained
256-color modes (Mr. Blobby).
- Added new default value "auto" for the setting
"usescancodesauto" (in [sdl] section of the config
file) to work around issues with non-US keyboard
layouts on SDL1 builds. (Wengier)
- Added code pages 808, 850, 852, 853, 855, 857,
858, 869, 872 for host to guest codepage mapping
on mounted local or overlay drives. (Wengier)
- The mapper options "Increase recording volume" and
"Decrease recording volume" as well as function
"Show sound levels" (from MIXER command) appear
now as menu items (under "Sound") too. (Wengier)
- Fixed inputting of ASCII character 224 and 240
in Windows SDL2 or MinGW builds. (Wengier)
- Fixed possible DPMI error when running Windows
98 installation from the DOSBox-X shell without
using a batch file. (Wengier)
- Fixed a bug in the FAT driver that can cause
a byte to get lost if writing up to the end of
a cluster, which seems to be behind the
corruption with program group files when running
Windows for Workgroups 3.11 from DOSBox-X shell.
[https://github.com/joncampbell123/dosbox-x/issues/1758#issuecomment-665193066]
- Unknown INT 2Fh calls are now debug output, not
an error.
- Added VESA BIOS mode 68h alias as indicated on
the Vogons forum.
- Fixed handling of config commands with spaces
when the "shell configuration as commands"
setting is enabled (quotes are needed in such
cases). Also added "Config options as commands"
toggle menu (under "DOS") to enable/disable the
feature from menu. It is disabled by default to
avoid name clash with other programs. (Wengier)
- Added "Enable quick reboot" toggle menu (under
"DOS") so that when enabled, DOS restart calls
will reboot the emulated DOS (integrated or
guest DOS) instead of the virtual machine in
DOSBox-X. Also, you could change the default
setting for this by setting the new "quick
reboot" config option in "dos" section (Wengier)
- Added new "Reboot guest system" menu item (under
"Main") to reboot the kernel of the integrated
DOS or the guest DOS directly. The previous menu
item "Reset guest system" has been renamed to
"Reset virtual machine" which will restart the
virtual machine in DOSBox-X instead. (Wengier)
- Added "Reported DOS version" sub-menu (under
"DOS") to dynamically change the reported DOS
version (3.3, 5.0, 6.22, 7.1, or custom). This
may enable/disable long filename (LFN) support
with the default "lfn=auto" setting. (Wengier)
- LS is now an external command appearing on drive
Z: as LS.COM instead of a builtin shell command.
This avoids name clash with game "Links LS 97"
which has the main executable named LS.EXE. Also
fixed minor issues in this command. (Wengier)
- Fixed the game "Disney's Duck Tales: the Quest
for Gold" not able to start. (Wengier)
- Improved Configuration GUI's handling of "4dos"
and "config" sections. Also added the "Save..."
button just before the "Close" button. (Wengier)
- Added "euro" config option (in [render] section)
to display Euro symbol instead of the specified
ASCII character in any code page. (Wengier)
- PC-98 CG MMIO writes fixed to limit writes only
to the user-defined areas, same as the IO writes.
This fixes "Niko Niko" that appears to write a
few too many 0xE1 bytes when filling text
attribute RAM and into the CG MMIO region.
- With -winrun command-line option or the setting
"startcmd=true" (Windows only), you can now
directly launch Windows programs on mounted local
or overlay drives to run on the host. The option
"startwait=false" can be used to disable waiting
for Windows programs after started. This can also
be toggled from the "DOS" menu. (Wengier)
- Added START command to run commands on Windows
host system. The /MAX, /MIN, /HID options can
be used to run the specified program maximized,
minimized, or hidden (they can be shortened to
+, -, _ respectively). This command is disabled
by default, but can be enabled by either the
"startcmd" config option (in [dos] section) or
the -winrun command-line option (which will also
enable the CLIP$ device for Windows clipboard
support). START will run commands listed in the
"startincon" config option (separated by space)
in the Windows Command Prompt and wait for a key
press before exiting. (Wengier)
- Added SHELL= option to the [config] section in
dosbox-x.conf to specify an alternative shell,
e.g. "SHELL=4DOS.COM". (Wengier)
- Added built-in 4DOS 8.00 shell for 4DOS features
and capabilities. There is now a [4dos] section
in the dosbox-x.conf file to act as the 4DOS.INI
config file if you use this shell. (Wengier)
- Added "Mouse wheel movements" menu (under "Main")
to enable or disable the mouse wheel movements
to arrow (up/down etc) feature. (Wengier)
- Added "Quick right mouse button copy/paste" menu
item toggle to allow quick Windows clipboard copy
and paste via the right mouse button without any
key modifier that may have been specified by the
config option "clip_key_modifier". (Wengier)
- Fixed mounting a directory with command-line like
"dosbox-x .", and fixed mounting disk images with
spaces via the "Drive" menu on Windows. (Wengier)
- Added "mountwarning" config setting so you could
optionally disable the warning when attempting to
mount C:\ in Windows or / otherwise. (Wengier)
- IMGMOUNT now assumes "-fs none" automatically if
a drive number is specified instead of a drive
letter. Moreover, it will assume the image file
name "IMGMAKE.IMG" if no filename is specified by
the user. Also improved the command's handling of
El Torito floppy drives, e.g. you can use option
"-bootcd d" instead of "-el-torito d". (Wengier)
- IMGMAKE warning replaced to indicate a general
incompatibility between MS-DOS/SCANDISK and
cluster sizes 64KB or larger.
- IMGMAKE command will now use the image file name
"IMGMAKE.IMG" if no file name is specified (either
in the mounted local directory or in the DOSBox-X
program directory if the current directory is not
a local directory). The command now also supports
a -force option to force overwrite the image file
if it already exists. Furthermore, IMGMAKE will
delete the generated image file if an error occurs
during the image file creation. (Wengier)
Version 0.13.5
This version is backwards compatible with save states from SameBoy
0.11.x and newer.
Bug Fixes
* Fixed major regression introduced in 0.13.4 that prevented saving
progress in games and caused several other issues
Version 0.13.4
This version is backwards compatible with save states from SameBoy
0.11.x and newer.
New/Improved Features
* Native support for ARM-based Macs (Experimental)
* Improved the loading time of battery saves with an RTC time set to
the far past
Bug Fixes
* Fixed a spelling mistake in the debugger
* Fix several major regressions affecting games that use a real time
clock
pkglint 20.2.0 (and a bit earlier) does not insist on entries
for directories any longer that do not contain complete packages.
Remove them.
While here, fix security/Makefile that had two missing entries.
MAME 0.222
26 Jun 2020
MAME 0.222, the product of our May/June development cycle, is ready
today, and it’s a very exciting release. There are lots of bug
fixes, including some long-standing issues with classics like
Bosconian and Gaplus, and missing pan/zoom effects in games on Seta
hardware. Two more Nintendo LCD games are supported: the Panorama
Screen version of Popeye, and the two-player Donkey Kong 3 Micro
Vs. System. New versions of supported games include a review copy
of DonPachi that allows the game to be paused for photography, and
a version of the adult Qix game Gals Panic for the Taiwanese market.
Other advancements on the arcade side include audio circuitry
emulation for 280-ZZZAP, and protection microcontroller emulation
for Kick and Run and Captain Silver.
The GRiD Compass series were possibly the first rugged computers
in the clamshell form factor, possibly best known for their use on
NASA space shuttle missions in the 1980s. The initial model, the
Compass 1101, is now usable in MAME. There are lots of improvements
to the Tandy Color Computer drivers in this release, with better
cartridge support being a theme. Acorn BBC series drivers now
support Solidisk file system ROMs. Writing to IMD floppy images
(popular for CP/M computers) is now supported, and a critical bug
affecting writes to HFE disk images has been fixed. Software list
additions include a collection of CDs for the SGI MIPS workstations.
There are several updates to Apple II emulation this month, including
support for several accelerators, a new IWM floppy controller core,
and support for using two memory cards simultaneously on the CFFA2.
As usual, we’ve added the latest original software dumps and clean
cracks to the software lists, including lots of educational titles.
Finally, the memory system has been optimised, yielding performance
improvements in all emulated systems, you no longer need to avoid
non-ASCII characters in paths when using the chdman tool, and
jedutil supports more devices.
MAME 0.221
19 May 2020
Our fourth release of the year, MAME 0.221, is now ready. There
are lots of interesting changes this time. We’ll start with some
of the additions. There’s another load of TV games from JAKKS
Pacific, Senario, Tech2Go and others. We’ve added another Panorama
Screen Game & Watch title: this one features the lovable comic
strip canine Snoopy. On the arcade side, we’ve got Great Bishi
Bashi Champ and Anime Champ (both from Konami), Goori Goori (Unico),
the prototype Galun.Pa! (Capcom CPS), a censored German version of
Gun.Smoke, a Japanese location test version of DoDonPachi Dai-Ou-Jou,
and more bootlegs of Cadillacs and Dinosaurs, Final Fight, Galaxian,
Pang! 3 and Warriors of Fate.
In computer emulation, we’re proud to present another working UNIX
workstation: the MIPS R3000 version of Sony’s NEWS family. NEWS
was never widespread outside Japan, so it’s very exciting to see
this running. F.Ulivi has added support for the Swedish/Finnish
and German versions of the HP 86B, and added two service ROMs to
the software list. ICEknight contributed a cassette software list
for the Timex NTSC variants of the Sinclair home computers. There
are some nice emulation improvements for the Luxor ABC family of
computers, with the ABC 802 now considered working.
Other additions include discrete audio emulation for Midway’s Gun
Fight, voice output for Filetto, support for configurable Toshiba
Pasopia PAC2 slot devices, more vgmplay features, and lots more
Capcom CPS mappers implemented according to equations from dumped
PALs. This release also cleans up and simplifies ROM loading. For
the most part things should work as well as or better than they
did before, but MAME will no longer find loose CHD files in top-level
media directories. This is intentional – it’s unwieldy with the
number of supported systems.
Version 2.2.1 (2019-02-08)
---------------------------
Emulation:
- CPU:
- Fix a bug/regression from Hatari 2.1.0 in the UNPK instruction
Version 2.2.0 (2019-01-31)
---------------------------
Note:
- Compiling with SDL 1.2 is considered as deprecated now.
The support for SDL 1.2 will be dropped in a future release.
- Hatari now requires a C compiler compatible with c99/gnu99
Emulation:
- CPU:
- CPU core updated to WinUAE 4.1.0
- Fix 68030 MMU PTEST/FSAVE/FRESTORE
- Improve 68030 bus error handling and retrying faulty instruction
- Fix: only enable cache emulation when relevant
- Improve softfloat FPU emulation
- FPU emulation mode (softfloat or not) can be changed on the fly
- Ensure HW registers region is not cachable for 68030 without MMU
when write allocate mode is enabled
- DSP:
- Fix DSP ROM tables (sin, mulaw & a-law)
- Some waitstate cycles were not correctly counted when accessing
DSP IO regs in CE mode
- Blitter:
- Fix: a rare case in cycle exact mode when bus is shared between CPU
and blitter : the last word of a transfer could be wrong if bus was
owned by CPU just before processing this last word and a read-modify-write
is made
- State of current blitter operation was sometimes not correctly restored
when CPU temporarily stopped the blitter and resumed it later
- DSP emulation was not updated in parallel when blitter was running
- Video:
- Handle VBlank signal and mask the 2 last lines when bottom border
is removed
- Hard disks:
- Experimental support for the NCR5380 SCSI chip in Falcon and TT mode
- Serial ports:
- Very experimental support for the SCC chip of the Mega-STE, TT and Falcon
(only channel B for now, and output only, use the "--scc-b-out" command
line switch)
- Misc:
- Correctly emulate bus error handling for STE lightpen registers
- Experimental support for TOS 2.07 (the "Sparrow" TOS)
Emulator:
- Misc:
- "patch TOS timer-D" speedup option is now disabled by default
- Allow up to 512MB of TT-RAM (increased from 256 MB)
- Additional ROM patches applied to TOS v4.x for 040 & 060
- Improved info and warning output for Hatari constraints and issues
- Memory snapshot save/restore:
- Fix: Include GEMDOS HD file handles so apps with open files work
- Improve memory snapshot save/restore reliability
(e.g. for pending interrupts)
- Save/restore TT RAM content into memory snapshots
- SDL GUI:
- Show warning dialog when cartridge file is disabled due to conflict
with other features
- Fix halt dialog crash on double bus error before SDL init
- Add FPU softfloat option
- Move joystick info to second statusbar line
- Few additional special keys can be remapped
- Fix: broken CPU dialog with old UAE CPU core
- Display 'SF' in status bar if FPU emulation is using softfloat library
- Display 'CE' or 'PF' in status if using 'cycle exact' or 'prefetch' modes
- It is now possible to configure more than one ACSI hard disk images
- MacOS / GUI:
- Minor GUI updates for v2.1 changes
- Fix: "reset" and "don't reset" UI buttons inverted
- Update MIDI panel for French version
- Save screenshots in user defined location or ~/Desktop
- Windows:
- Fix: buffer overflow in relative Hatari datapath handling
- Disk handling:
- IDE byte-swap option added to config file & GUI
- Fix: NF SCSI driver didn't invalidate cache for changed memory area
- Fix: *.INF file in disk image being overridden even when neither
VDI mode or autostart program wasn't specified (v2.1 regression)
- Fix: GEMDOS HD Fwrite() can be done from ROM area (for ROM saving)
- Media handling:
- Fix: AVI recording with PNG codec could be wrongly limited to 4GB
with some OSes
- Screen handling:
- Fix: TOS <= v2.x crashes when mouse is moved in 16x16 area at
the bottom right corner in VDI mode (Hatari v1.0 regression)
- Fix: "--tos-res high" setting
- Debugging:
- Fix: DSP/CPU profile "addresses" commands output line count when
paging. Tell also when it wraps to start
- Each log message has a log level prefix
- (Almost) all Hatari output goes now through logging framework so
that Hatari verbosity can be controlled
- Output at default log level is reduced significantly
- Add support for ISP & USP and 020+ special registers like VBR
- Add "OsCallParam" variable which gives first (word sized) parameter
for OS calls, for use with OS call "*Opcode" breakpoints
- Add virtual V0..V7 registers to "register" command for calculations
- "memdump" and "memwrite" commands output & input can now be also
word or long sized instead of bytes
- Show arguments in DSP XBios call traces
- FPU and PMMU opcodes are now also disassembled in 68040/060 mode
- Options:
- Fix: "--memsize 0" legacy option
- Disable "--timer-d" option by default. Increases CPU usage
(noticeably for ST/e emulation), but some rare (badly written)
programs need it for correct color raster & sample handling
- The "--bios-intercept" option requires now a boolean parameter
to determine whether the option should be enabled or disabled
- Add "--cmd-fifo" option to control Hatari at run-time just by
echoing commands to a FIFO file (created by Hatari)
- Add "--tos none" option to run test programs without any TOS.
Real Atari programs cannot be run with this, as it doesn't
implement the necessary Atari OS calls
- Halt dialog is skipped if --run-vbls is used (for automation)
- Support hex values for --disasm, increase --slowdown max value to 30
Building:
- Fix: Large File Support detection (64 bits off_t)
- Fix: new compile warnings with GCC v8 (+ code cleanup)
- Fix: building when DSP or tracing is disabled
- Improve CMake library finding for recent macOS
- Change Hatari compilation C standard to gnu99
- Add gitlab continuous integration Yaml file
- Many -fsanitize fixes
Tools:
- Hatari Python UI migrated from PyGtk v2 to Gtk v3
- Add Python v3 support to rest of the scripts
(required by Arch Linux & Clear Linux)
- hatari-prg-args script:
- Installed by default
- Fix program argument setting for recent EmuTOS versions
- Support argument setting also for programs that are run
from disk images
- zip2st: handle also directories with spaces in their names
- Fixes to hatari_profiler Callgrind output symbol handling
- Fix TOS bootup tester test output verification
- Few additional tests for validating Hatari functionality.
Almost all tests are now integrated with CTest framework.
Use e.g. "ctest -j4" command to run them
Documentation:
- Tag commits for Hatari releases before v1 in Mercurial repo
- Add notes about (new default) PortMidi support to MIDI usage
- More details on GEMDOS HD and VDI mode emulation limits
- Large updates to compatibility documents and to performance
section in the manual
- Add release checklist document
Fixed demos:
- B.I.G. Demo screen 2 (regression in Hatari 2.1, vblank in bottom border)
Fixed falcon demos:
- 4musiK by Dune & Sector One (don't cache HW register regions in write
allocate mode)
Fixed games:
- Lethal Xcess in STE mode (stopping/resuming blitter and saving/restoring
memory snapshots)
- Lethal Xcess in STF mode (add jitter to MFP, temporary fix)
Fixed programs:
- Many TT/Falcon programs relying on 68030 MMU / bus error retrying are now
working correctly (eg 'memwatch' by Uwe Seimet)
Version 2.1.0 (2018-02-07)
---------------------------
Emulation:
- Video:
- Fix correct number of displayed lines when removing bottom border
- Improve bottom border removal on 60 Hz screen
- More accurate position for reloading video counter on line 310/260
- Fix STE video counter regression at start of VBL (off by 4 cycles)
- Fix Timer B counting when screen is in Mono mode and video resolution
is set to low/medium
- Fix bug preventing screen to be drawn when video address = 0x0
- Add (dumb) Videl address and vertical frequency counters emulation
- Videl unused bits at $FF820E are read as zero
- Sound:
- New cycle exact emulation of the YM2149, all counters are
incremented using a simulated freq of 250 kHz, giving a 250 kHz audio
stream which is downsampled to the desired output frequency.
Some undocumented cases were also measured on real STF
Result should be much more accurate, clearer and emulate complex effects
(phase cancelling on 2 voices for example)
- Fix bad sound during YM sample playing on Falcon/TT
- CPU:
- Support undocumented behaviour for STOP on 68000 when new SR has bit S=0
- Fix some cases where bus/address error stack had a wrong PC
- Correctly store the 32-bit address in the stack in case of a bus error
- Better memory timings for RAM accesses in 68030 mode (for Falcon)
- Accurate DIV overflow undocumented flags
- Correct V flag for BCD instructions for 68020/30
- 68030 instr cache was not correctly disabled when writing EI=0 in CACR
- Improve caches for 68020/30, add cache support when using MMU
- Add 68040/60 data cache emulation, with optional MMU support
- FPU:
- Large improvements in FPU emulation and related instructions/exceptions
- Support for undocumented 68882/68881 FPU constants
- Support for softfloat FPU emulation (slower but more accurate)
- Memory / MMU / MCU:
- Add full support for STF/STE MMU/MCU at $FF8001 and address translation
(emulate the RAS/CAS signal depending on the size of the memory banks,
TOS memory routines don't need to be patched anymore)
- Better results when reading "void" region between end of RAM and 4MB
(return latest data seen on the bus on STF/STE)
- Add support for more RAM combinations (256 KB and 2.5 MB)
- Blitter:
- Add cycle exact bus handling for the blitter (correct bus count for CPU
and blitter, suspend/resume blitter after any memory access, run part
of next CPU instruction in parallel when starting the blitter)
- When writing busy bit=0, update interrupt line and don't clear hog bit
- Floppy:
- Emulate ripple carry adder "bug" for STF DMA address at $FF8609/0B/0D
- For STX images, add support for the verify bit in Type I commands
- Fix a rare case when looking for the next sector header of an STX image
- IKBD:
- Support for Audio Sculpture's custom IKBD program
Emulator:
- MIDI support for Windows and macOS (with PortMidi library)
- Add support for AVI files > 4GB (up to 256 GB)
- Miscellaneous:
- Initial patching for ST-Book ROM
- Add keyboard shortcut for toggling borders
- Fix: rate-limit DSP illegal instruction warnings output
- Disk handling:
- Add "--gemdos-time <atari/host>" option so that user can specify
whether emulation or host timestamps are used with GEMDOS HD files
- Fix: off-by-one error in ACSI image file name handling
- Memory handling:
- Support memory check skipping also on TOS v3 & v4
- Allow RAM size values in KiB instead of MiB
- SDL UI:
- Add a 'blitter-meter' to the status bar, depending on the blitter's usage
- Add refresh rate in the status bar (50, 60 or 71 Hz)
- Disable alt+F4 under Windows so that it doesn't close Hatari
(in case alt+F4 is also used in the emulated program)
- Display handling:
- Add --resizable option to control whether Hatari SDL2 window
can be resized (= turn it off to prevent accidental resizes)
- Support scaling AVI recording (PNG/BMP) frames
- Extended VDI mode font selected based on VDI height
- Fix: Handle window expose events with SDL 2.0
- Fix: don't switch bitdepth when recording AVI
- Fix: X11 window embedding (to Python GUI) with SDL2
- Fix: TOS v2 & v3 Atari logo display in extended VDI resolutions
- Fix: Limit Videl widths for GLES2 SDL2 backends
- Virtual INF file handling:
- Add "--auto" option to autostart programs also from somewhere
else than C: root, and to enable required GEMDOS interception
without full GEMDOS HD emulation
- Add --tos-res option to specify TOS ST/STE/TT resolution
for color monitors, with or without autostart. Also enables
blitter for machines & TOS versions supporting it
- Uses existing INF file as base, if one exists
- If not, specifies open window for boot drive
- Fix: Use separate INF files for TOS v1 and v2+ autostarting
- Fix: Normal users cannot use tmpfile() directly under Windows
- Debugger improvements:
- Fix: '>>' bit-shift parsing
- Fix: CPU prefetch when changing PC address
- Add "CycleCounter" variable
- Add "info dta [addr]" command
- Add "cpu_regs" trace option to show register values after
each executed instruction
- Add support for reading GNU-style a.out symbol table format
(which is GCC default) in addition to DRI/GST symbols
- Add absolute symbols support in addition to BSS/DATA/TEXT ones
- Use terminal size for paging (disassembly, memdump, symbols)
commands. NOTE: remove old dDisasmLines & nMemdumpLines options
from Hatari config file, or set them to -1, to enable this!
- Add 'nSymbolLines' configuration option to specify how many
lines 'symbols' command pages
- 'symbols resident' command and 'bSymbolsResident' config option
toggle whether program symbols are removed when program
terminates, or only when the next program starts
- 'symbols match" command and 'bMatchAllSymbols' config option
toggle whether TAB completes all symbols or just symbol types
relevant for given command
- 'symbols addr' is split into 'symbols code' & 'symbols data'
- TEXTEnd value is now TEXT+TextSize, instead of TEXT+TextSize-1
- Add "-f" option to 'cd' so that setup scripts can specify
what directory is used after currently invoked script(s)
have finished
- Move exception mask setting from config file "Log" section
to "Debugger" section where it belongs
- Compilation:
- Fix compilation when using ARM 64 target
- Allow compilation on untested host architectures (e.g. MIPS & s390x)
- Search for local headers first, then system's one (eg zip.h)
- Don't redefine bswap_16/_32 macros if they already exist
Other changes:
- Add French keyboard mapping that works also with SDL2
- All symbols output by gst2ascii are now TEXT relative
and it supports also a.out format symbol tables
- Fix: Python GUI updated for Hatari v2.0
- Fix: Python GUI explicitly uses Python v2 (Arch Linux)
- Fix: Python tools made compatible both to Python v2 & v3 (Arch Linux)
- Fix: icon symlink generation (rpmbuild chroot)
- Fix: DESTDIR support for RPM packaging
Fixed Falcon games:
- Ishar 1, 2 & 3, Lasers and Hommes, Moonspeeder preview 2
(Videl video counter)
- Boom preview, Lasers and Hommes, Tank Blaster
(68030 instr-cache)
- Aazohm Krypth, Men at War, Push It, Running, Sky Fall, Sworm
(autostarting)
Fixed Falcon demos:
- Bound 2, E.K.O system (memory access timings)
- Bound 3 (Videl video counter)
- Agony & Chaos A.D. don't freeze anymore (vertical frequency counter)
- Mahabharata (Videl widths with SDL2)
- 2x1287, A Rh positive, Are you experienced, Autowaschen Verboten,
Bound, Bound 42, Codein, Cycedelic knockout, Dan's Lustiges
Kinderfest, Derealization, Dream Dimension, Echos, E.X. Illusion,
Geranium, Hex Pistols, Hmmm, Oergs, Polygon Discount, Terrorize your
soul, Warum, Virtual City (68030 instr-cache)
- Terrorize your soul (DSP warnings 100x slowdown)
- Firestarter, Virtual City, Whirlpool
(autostarting with packed demos)
Fixed TT versions of demos:
- 4getful, Beams (68030 instr-cache, undocumented FPU constants)
Fixed programs for Falcon:
- Hextracker (Videl video counter, when not auto-started)
Fixed games:
- Le Necromancien' STX image (verify bit in type I commands)
Fixed ST/STE demos:
- Sprite32 by Leonard (RESTART_VIDEO_COUNTER on line 310/260)
- Jam-Cols by ICE (STE video counter timings broken in v2.0)
Fixed ST/STE programs:
- Protracker 2.1 and Neochrome Master 2.8 (shifter, bottom border at 60 Hz)
- Audio Sculpture 1.3 and 1.5 beta (timer B in mono mode, bit S=0 in STOP, IKBD)
- True RAM's size detection under TOS/EmuTOS (memory config at $FF8001)
0.83.3
- IMGMAKE can now generate FAT12, FAT16, and FAT32
filesystems. New option "-fat" is added to select
the filesystem for the disk image.
- Fixed command-line like "./dosbox-x /dir/app.bat"
not able to launch the specified program (Wengier)
- Fixed bug in DIR command's /P option which might
cause it to not work properly. (Wengier)
- The default key modifier for the Windows clipboard
copy & paste via the right mouse button feature is
now "shift" instead of "disabled". (Wengier)
- Single-stepping in the debugger with the 286 and
8086 normal cores now works correctly when stepping
over instructions with a segment prefix.
- Pentium MMX instructions now only available for
Pentium MMX or higher. Fixed the bug that allowed
MMX instructions for Pentium and lower if programs
ignored the CPUID feature bits. Also fixed Pentium
MMX instructions so that they work in both 16-bit
real mode and 32-bit protected mode to match how
they work in real hardware (joncampbell123)
- Updated DOSBox-X's implementation for Pentium MMX
instructions to latest version by kekko (Wengier)
- DOSBox-X will try to automatically run the program
with LOADFIX if the error message "Packed file is
corrupt" is detected. (Wengier)
- MOUNT command can now mount a drive to the UNC
root path in the form \\ComputerName\SharedFolder
on Windows systems. (Wengier)
- Improved the HX-DOS build package to make it fully
automated: all required HX DOS Extender files will
be included in the package, and dosbox-x.exe can
now be run directly in a real DOS system without
external requirements. (Wengier)
- Fixed incorrect frame rate reported by 3Dfx Voodoo
emulation (rderooy, backported from DOSBox SVN).
- Added the "Boot from disk image" menu item (A:, C:,
and D: drives only) in the "Drive" menu to boot the
specified disk image directly in Windows. (Wengier)
- Support for converting mouse wheel movements into
keyboard presses like arrow keys, configurable by
the option "mouse_wheel_key" (default is 0 which
disables this feature). When set to 1, mouse wheel
movements are converted to up/down arrows. Setting
it to 2 or 3 converts such movements to left/right
arrows or PageUp/PageDn keys respectively. (Wengier)
- Support for reloading the keyboard mapper file with
the config -set command. (Wengier)
- IMGMOUNT command without parameters will show disk
names for drive-number only mounts. (Wengier)
- IMGMOUNT can now autodetect DOS <= 3.21 harddisk
geometry with MFM sector images (rderooy & Wengier)
- IMGMOUNT -fs none fixed to use same geometry detect
function that FAT filesystem mounting uses.
- Added suppprt for mounting overlay drives using MOUNT
command with "-t overlay" option. Backported from
DOSBox SVN and adopted for DOSBox-X with additional
features such as long filename and PC-98 support, it
allows the users to redirect new and changed file(s)
to a different location transparently. (Wengier)
- Cleaned up the DPI awareness auto-detection code to
allow Visual Studio builds to again run on Windows 7.
Meanwhile, MinGW builds (either SDL1 or SDL2 version)
are still required for Windows XP systems. (Wengier)
- Updated Nuked OPL3 to latest version 1.8 for accurate
OPL3 emulation (Wengier)
- Added AUTOTYPE command to perform scripted keyboard
entry into a running DOS program or game. Ported from
DOSBox-staging, it can be used to reliably skip intro,
provide input to answer initial startup or config
questions, or conduct a simple demo. (Wengier)
- Added code page 866 (Cyrillic Russian) to support
host to guest code page mapping (tuffnatty)
- Mouse buttons (left, middle, right) can now be mapped
to keys in the keyboard mapper. (Wengier)
- Support for mounting .cue files with MP3/OGG/WAV/FLAC
compressed audio tracks. (Wengier)
- Rewrote the Windows installer for DOSBox-X, as well as
the building script for the installer. All required
build tools including the Inno Setup Compiler are now
provided in the repository and will be automatically
called by the building script. (Wengier)
- Added config option "mapperfile_sdl2" for SDL2 builds.
SDL1 and SDL2 builds of DOSBox-X can not use the same
mapper file, or they will likely malfunction. Adding
this option allows SDL1 and SDL2 builds of DOSBox-X
to work with the same dosbox-x.conf file. (Wengier)
- Added GUI menu option under "DOS" to change the long
filename setting (enable, disable, or auto). (Wengier)
- Improvements and fixes to the save/load state feature:
It now supports Sound Blaster Goldplay mode;
It now saves PC-98 FM interrupt state so that reloading
state does not cause hung music;
It is also fixed not to crash when used within a guest
operting system (when the DOS kernel has been shut down
using the BOOT command);
It now supports memory size up to 1000MB;
It will save and verify the DOSBox-X version and build.
States saved by DOSBox-X in one platform (e.g. 64-bit
Windows) may not work in another (e.g. 32-bit Linux).
The GUI menu will show if the save slot is empty, and if
not the program name of save state will be displayed.
- Re-ported and improved the save state feature for saving
and loading states with support for up to 10 save slots.
They can be selected from the "Capture" menu. (Wengier)
- Added COUNTRY command to set country code for country-
specific date and time formats. For example, the command
"COUNTRY 61" sets the country code to 61 (International
English) which uses the DD-MM-YYYY date format instead
of the default (U.S.) MM-DD-YYYY date format. (Wengier)
- DOS 440Dh IOCTL function 67h (get access flag) added to
allow FDISK.EXE to determine FAT filesystem type. Also
implemented function 40h (set device parameters) and
function 46h (set volume serial number). (Wengier)
- Unknown DOS 440Dh IOCTLs warnings now indicate whether
triggered by call or query.
- S3 VESA BIOS mode number for 1024x768 32bpp changed to
avoid conflict with Windows 95 S3 driver and 800x600
16bpp mode.
- FAT driver no longer mounts FAT32 volumes unless the
DOS version is 7.1 or higher, and it no longer mounts
FAT16B LBA volumes unless the DOS version is 7.0 or
higher. These are to mimic the MS-DOS behavior.
- Fixed FAT driver not to attempt to mount partitions that
have nothing to do with the FAT filesystem (such as
type 0Dh and extended LBA partition tables). Also fixed
the FAT driver to not assume partition start sector 63
if it cannot identify a partition to use.
- Added code to FAT driver to identify telltale pattern
left by Microsoft FDISK when a partition is created (but
not yet formatted) and reject.
6.2 to 6.2.1: (June 20, 2020)
* Fixed Pitfall II ROM not working correctly.
* Fixed crashes when using some combinations of bankswitching schemes on
incorrect ROMs, or when using invalid ROM file sizes, etc.
* Fixed RIOT timer behaviour on reading/writing at the wraparound cycle.
* Fixed incorrectly setting D6 bit on TIA reads in some cases. Related
to this, improve 'tiadriven' option to randomize only D5..D0 bits.
* Fixed custom palette and TV effects adjustable slider rounding issue.
* Fixed some bugs in 3E+ scheme when using non-standard ROM sizes.
* Fixed crash in Audio & Video dialog when opened from debugger, and the
debugger window sometimes being resized when using the Options dialog.
* Make NTSC custom phase shift not affect Yellow anymore.
* Fixed '1x' snapshot mode; TV effects are now disabled. This mode
now generates a clean, pixel-exact image.
* Fixed mappings sometimes not being saved in the Retron77 port.
* A ROM properties file may now be placed next to the ROM (with the same
name as the ROM, except ending in .pro), and Stella will automatically
apply the properties to the ROM. [NOTE: this was present in 6.2, but
was mistakenly left out of the changelog]
* Added button to Game Info dialog to save properties of the currently
loaded ROM to a separate properties file (in the default save directory).
This is useful in conjunction with the previous item.
* Allow changing custom palette and TV effects adjustables in 1% steps
again.
* Updated documentation for changes in ROM properties key names.
* The codebase now compiles under gcc6 again. Future versions will
require gcc7, though.
-Have fun!
Version 0.13.3
This version is backwards compatible with save states from SameBoy 0.11.x
and newer.
New/Improved Features
* The scaling filters were updated to use gamma-corrected color mixing,
improving the quality of all shaders, especially the LCD and CRT
shaders.
Bug Fixes
* Fixed a regression in the CGB and AGB boot ROMs where wrong palettes
were chosen for Nintendo DMG games.
0.8.2: (2020-06-14)
Emulation fixes:
- ARM: Fix timing on Thumb shift instructions
- GB: Fix GBC game registers after skipping BIOS
- GB MBC: Support 4MB MBC30 ROMs (fixes mgba.io/i/1713)
- GB Video: Fix BGPS value after skipping BIOS (fixes mgba.io/i/1717)
- GBA: Add missing RTC overrides for Legendz games
- GBA BIOS: Reset renderer when RegisterRamReset called (fixes mgba.io/i/1756)
- GBA SIO: Fix Multiplayer busy bit
- GBA SIO: Fix double-unloading active driver
- GBA Timers: Fix deserializing count-up timers
- GBA Video: Fix mosaic objects drawing past the end (fixes mgba.io/i/1702)
- GBA Video: Fix disabling OBJWIN in GL renderer (fixes mgba.io/i/1759)
- GBA Video: Add missing parts of 256-color mode 0 mosaic (fixes mgba.io/i/1701)
- GBA Video: Fix double-size OBJ wrapping in GL renderer (fixes mgba.io/i/1712)
- GBA Video: Simplify sprite cycle counting (fixes mgba.io/i/1279)
- GBA Video: Fix sprite/backdrop blending regression
0.8.2: (2020-06-14)
Emulation fixes:
- ARM: Fix timing on Thumb shift instructions
- GB: Fix GBC game registers after skipping BIOS
- GB MBC: Support 4MB MBC30 ROMs (fixes mgba.io/i/1713)
- GB Video: Fix BGPS value after skipping BIOS (fixes mgba.io/i/1717)
- GBA: Add missing RTC overrides for Legendz games
- GBA BIOS: Reset renderer when RegisterRamReset called (fixes mgba.io/i/1756)
- GBA SIO: Fix Multiplayer busy bit
- GBA SIO: Fix double-unloading active driver
- GBA Timers: Fix deserializing count-up timers
- GBA Video: Fix mosaic objects drawing past the end (fixes mgba.io/i/1702)
- GBA Video: Fix disabling OBJWIN in GL renderer (fixes mgba.io/i/1759)
- GBA Video: Add missing parts of 256-color mode 0 mosaic (fixes mgba.io/i/1701)
- GBA Video: Fix double-size OBJ wrapping in GL renderer (fixes mgba.io/i/1712)
- GBA Video: Simplify sprite cycle counting (fixes mgba.io/i/1279)
- GBA Video: Fix sprite/backdrop blending regression
Other fixes:
- 3DS: Fix framelimiter on newer citro3d (fixes mgba.io/i/1771)
- ARM: Fix disassembling of several S-type instructions (fixes mgba.io/i/1778)
- ARM Debugger: Clear low bit on breakpoint addresses (fixes mgba.io/i/1764)
- CMake: Always use devkitPro toolchain when applicable (fixes mgba.io/i/1755)
- Core: Fix ELF loading regression (fixes mgba.io/i/1669)
- Core: Fix crash modifying hash table entry (fixes mgba.io/i/1673)
- GB Video: Fix some cases where SGB border doesn't draw to multi-buffers
- GBA: Reject incorrectly sized BIOSes
- GBA: Break infinite loop for 0-frame mVLs (fixes mgba.io/i/1723)
- Qt: Fix OpenGL 2.1 support (fixes mgba.io/i/1678)
- Qt: Fix unmapping zipped ROM (fixes mgba.io/i/1777)
Misc:
- 3DS: Clean up legacy initialization (fixes mgba.io/i/1768)
- GBA Serialize: Only flunk BIOS check if official BIOS was expected
- Qt: Disable Replace ROM option when no game loaded
- Qt: Defer texture updates until frame is drawn (fixes mgba.io/i/1590)
- Qt: Set icon for Discord Rich Presence
- Qt: Show a warning when save file can't be opened
XCPC is a portable Amstrad CPC 464/664/6128 emulator written in C.
XCPC is designed to run on any POSIX compliant system, including
Unix, Linux, BSD and having an X11 server.
Version 0.13.2
This version is backwards compatible with save states from SameBoy 0.11.x
and newer.
New/Improved Features
* The Cocoa debugger now has tab completion
* Conflicting key mappings are now highlighted in red in the Cocoa
button configuration dialog
* Improved Dark Mode appearance in the Cocoa port
* Better, more system native appearance for the Cocoa memory viewer
* Improved Printer Feed window in the Cocoa port, now with an option to
print with an actual printer
Bug Fixes
* Fixed a bug in the Libretro frontend that prevented certain
achievements from triggering
* Fixed a bug where the save state format effectively used by the
Windows build was not following the intended format
* The non-Windows builds can now read pre-0.13.2 Windows save states and
vice versa
* Fixed a minor compatibility issue between save states created on
32-bit machines and ones created on 64-bit machines
* Fixed a potential crash when loading certain save states while a
printer is connected in the Cocoa port
pkgsrc changes:
- add workaround to avoid coredump by Q_ASSERT() when LANG is not set
on Qt 5.14.1 that could return empty uiLanguages()
Upstream changes:
3.5.0 2020/06/07
- Updated PC-6001 compatible basic ROMs to 0.7.1.
- Updated PC-6001mk2/6601 compatible basic ROMs to 0.3.0.
- Enabled PC-6001mk2 model in compatible ROM mode.
- Added "Speed control" menu.
- In "File" and "Folder" tab on configuration dialog path which does not
exist is displayed in red color.
- (Windows) Fixed issue that emulator continues to work during menu popup.
6.1.2 to 6.2: (June 7, 2020)
* Added interactive palette to Video & Audio settings.
* Added 'Custom' palette, generated from user controlled phase shifts.
* Added that adjustable audio & video settings are displayed as gauge bars.
* Added four global hotkeys which allow selecting and changing numerous
audio & video settings without having to remember the dedicated hotkeys.
* Added 'Turbo' mode, runs the game as fast as the computer allows.
* Added that paddle centering (per ROM) and sensitivity can be adjusted.
* Added that mouse sensitivity for Driving controller can be adjusted.
* Added paddle filtering in UI to avoid unwanted navigation events.
* Added selectable dialog fonts.
* Added separate positioning of launcher, emulator and debugger.
* Added optional display to game refresh rate adaption in fullscreen mode.
* Added option which lets default ROM path follow launcher navigation.
* Added debugger 'saveaccess' function, which saves memory access counts to
a CSV file.
* Added displaying last write address in the debugger.
* Added debugger pseudo-register '_scanend', which gives the number of
scanlines at the end of the last frame.
* Added detection of color and audio data in DiStella.
* Restored 'cfg' directory for Distella config files.
* Added TV Boy and 3EX bank switching types.
* Removed unused CV+ and DASH bank switching types.
* Added support for loading grayscale PNG images in the ROM launcher.
-Have fun!
Version 0.13.1
This version is backwards compatible with save states from SameBoy 0.11.x
and newer.
Bug Fixes
* Fixed a potential memory corruption when loading certain malformed
ROMs
* Improved stability when loading corrupt preference files in the SDL
port
Version 0.13
This version is backwards compatible with save states from SameBoy 0.11.x
and newer.
New/Improved Features
* When emulating a Game Boy, you can now select out of 4 different
palettes
* New Monochrome LCD scaling filter
* It is now possible to display Super Game Boy, or a built-in default
border, even when emulating different models
* Improvements to the built-in boot ROMs; the DMG boot ROM has a new
animation, and the CGB boot ROM now features an anti-aliased logo
* Gamma correction added to the CRT scaling filter
* Add “Reduce Contrast” as an additional color correction mode
* Optional more accurate frame blending mode, emulating the
scanline-like appearance of actual Game Boy displays
* The next debugger command now skips over HALT
* The registers debugger command now display IME as well
* Added volume control to the SDL frontend
* The SDL frontend will now load and save “prefs.bin” relative to the
binary if such file exists
* The sidebar in the Cocoa debugger is now resizable and collapsable
* The Cocoa frontend now supports cheats
* Added support to ISX files, used by the official toolchain
* Rewritten and improved controller support in Cocoa, featuring rumble,
player LEDs, and analog controls for turbo and slow motion. Controller
support:
* GameCube adapters (Both official and PC adapters): Full support,
including automatic mappings, multiplayer, analog controls, and
rumble
* Unofficial adapters in PC mode support analog rumble, as
opposed to PWM binary rumble; the use of PC mode is
recommended
* Generic “Twin USB” DualShock 2 PC adapter: Automatic mapping,
multiplayer support
* Switch Pro Controller: Full support, including automatic
mappings, rumble, and player LEDs; via both USB and Bluetooth
* DualShock 3: Full support, including automatic mappings, rumble,
player LEDs, and analog controls; via both USB and Bluetooth
* Some Macs seem to be unable to communicate LED and rumble
information to DualShock 3 controllers; the use of USB for
this controller is recommended
* Generic controllers: Basic functionality, may need to be manually
remapped in settings
* Support for more controllers will come in future releases
* Optionally add rumble support to all games, even those without a
Rumble Pak, in all frontends
* SDL rumble support varies between operating systems and SDL
versions
* The debugger now allows more than one symbol at the same address
* Added the softbreak debugger command to enable/disable software
breakpoints (ld b, b)
* The SDL debugger now always outputs “>” when it’s waiting for an input
* The SDL debugger allows the use of the magic binary sequence
"\x03\x0a" to break the debugger from stdin in async-capable platforms
Accuracy Improvements/Fixes
* Fixed a regression bug that made the first frame blank instead of
repeated on the Game Boy Color
* Fixed an APU sequencer edge case
* Fixed a bug affecting HDMA timing
* Color correction is now more accurate
* Correct emulation of the OPRI register
* More accurate emulation of STOP mode
* More accurate emulation of LCDC write conflicts; although individual
units may behave differently
* Emulation of cases where PPU object fetched are aborted in the middle
* Correct emulation of changing object height during fetch
* More accurate emulation of the PPU fetcher’s timings
* Accurate emulation of SCX’s upper 5 bits changing mid-line
* Rewritten window implementation, which is much more accurate now,
including the various timing scenarios
* More accurate emulation of background FIFO push timings
* Emulate some of the cases where the PPU and LCD desync
* Accurate emulation of tilemap advance timings
* Implement a missing SGB command (ATTR_CHR)
* More accurate MBC2 emulation
* More accurate MBC3 emulation and proper MBC30 support
* Correct emulation of PCM12 and PCM34 reads when emulating CGB-C
* Improved HuC-1 emulation
* HuC-3 emulation, including RTC and alarm clock emulation
* Alarm clock emulation is only supported in the Cocoa frontend
* Partial emulation of glitched VRAM reads that happen right after mode
3
Bug Fixes
* Fixed a bug with scrolling menus in the SDL frontend when emulating a
Super Game Boy
* Fixed cases where the Cocoa frontend froze
* Fixed a bug where an incorrect minimum window size was enforced on the
Cocoa frontend
* Assignments to 16-bit expression in the debugger is now working
correctly
* Fixed operator priorities in the debugger
* Fixed a debugger parsing bug
* Fixed compatibility with older macOS versions in the Cocoa version,
restoring support for 10.9 (Mavericks) and newer
Misc Internal Changes
* Added per-commit automatic GitHub builds, with basic sanity tests
* When building the SDL frontend on macOS, the Brew version of SDL2 is
used
* Fixed various compilation errors with GCC
* Make the libretro frontend compile without warnings
* HuC-1 and HuC-3 IR are emulated now, but this is not currently
supported in any frontend
0.83.2
- Added help messages for some supported commands. (Wengier)
- Added phone book support for the emulated modem. There is
a new phonebookfile= option in the [serial] section. The
phone book file entries need to be in the format of:
"<dummy number> <hostname/ip:port>" e.g.
5551234 cavebbs.homeip.net:23
- Implemented the missing EMS subfunctions 52h and 59h by
porting the patch that adds them (Wengier)
- Fixed issues with the "config -wcd -all" command and other
updates to the CONFIG command (Wengier)
- Added [config] section in dosbox-x.conf to resemble DOS's
CONFIG.SYS file. It currently supports REM, BREAK, NUMLOCK,
FCBS, FILES, DOS, DEVICE/DEVICEHIGH, INSTALL/INSTALLHIGH,
SET and LASTDRIVE commands. The file CONFIG.SYS will appear
on the Z: drive, similar to AUTOEXEC.BAT file. The [config]
section can be bypassed with the -noconfig command-line
option or with the secure mode enabled (Wengier)
- Moved PC-98 related config options (starting with "pc-98 ")
from [dosbox] and [dos] sections to its own [pc98] section.
These options in existing dosbox-x.conf/dosbox.conf files
will be automatically redirected to the [pc98] section from
the other sections when DOSBox-X starts (Wengier)
- The user directory DOSBox-X uses has been changed to use the
DOSBox-X directory (e.g. from ~/.dosbox to ~/.config/dosbox-x
on Linux platform). It will be read *after* the dosbox-x.conf
file in the current directory (Wengier)
- Config option "dpi aware" now supports the "auto" setting
to auto-decide on the best setting for the platform. This
fixes very small window issue on high DPI devices such as
Microsoft Surface tablets. (Wengier)
- Added DTASEG, DTAOFF, and PSPSEG as hex value constants to
the debugger interface to aid in debugging DOS programs.
- New command-line option -helpdebug added to list debug-
related command-line options. The standard -? / -h / -help
command-line option will no longer list them (Wengier)
- Implemented LFN support for FAT driver, so that it is now
possible to view directory list, create or open files and
directories etc with long filenames on FAT12/16/32 drives
just like on mounted local drives.
- FAT driver cleaned up and fixed to avoid edge cases that
can corrupt directory entries and leave lost clusters
on the disk, also fixed to always report root directory
as a directory through the GetFileAttribute INT 21h call,
needed by MOVE.EXE and XCOPY.EXE to work properly.
- IMGMOUNT auto geometry detection will assume LBA disk
and fake C/H/S geometry if the disk is 4GB or larger,
the MBR lacks executable code, or the first partition
is Windows 98-style LBA FAT16 or FAT32.
- IMGMOUNT now assumes ISO type by default if the image file
extension is .iso/.cue/.bin/.mdf. No need for "-t iso" in
this case; but (if appliable) it can be overridden by for
example "-t hdd". (Wengier)
- IMGMOUNT command (no parameters) now lists mounted FAT/ISO
drives and mounted drive numbers, also SUBST command (no
parameters) now lists mounted local drives (Wengier)
- INT AH=36h fixed to convert free space but maintain a
cluster size (bytes/sector * sectors/cluster) that is less
than 64KB to avoid divide by 0 crashes with FORMAT.COM /S
- Added FAT32 free/total disk space API for FAT driver, and
updated INT 21h AX=7303h to call it. FAT driver now provides
FAT32 extended disk free/total through FAT32 API and 2GB
limited free/total through INT 21h AH=36h for older DOS
programs. Shell DIR command updated to use FAT32 free space
API to show free space even on FAT32 partitions larger than
2GB, but only if the DOS version is set to 7.1 or higher.
- Added FAT32 INT21h and IOCTLs needed by MS-DOS 7.1/Windows 98
versions of SCANDISK.EXE and FORMAT.COM, such as DOS functions
for "FAT32 extended" absolute disk read and write.
- Improved FAT32 support to the FAT driver, including direct
support for FAT32 drives in the DOSBox-X command shell. Files,
directories and volume labels on FAT32 drives can be listed,
read from or written to just like on FAT12/16 drives.
- Added DOS IOCTL read/write logical device track functions so
that FORMAT.COM is able to verify and modify the partition table
to successfully format a hard drive image. Also added stub to
DOS IOCTL "format device track" for FORMAT.COM.
- You can now force unmount a drive and then mount it to a new
directory in one command, e.g. "MOUNT C C:\DOS -U" (Wengier)
- REN command can now rename directories (in addition to files) on
FAT drives just like on local drives (Wengier)
- Several improvements to DEL command, such as a new /F option to
force delete of read-only files, and improved handling when the
argument is a directory (Wengier)
- LS command added to list directory contents. It does not support
all options as in Unix/Linux platform (Wengier)
- DIR /O & /OG supported in addition to /ON|/OE|/OS|/OD options.
Options such as /-O & /-A can be used to override /O, /A etc if
they are specified in the DIRCMD environment varaible (Wengier)
- DIR and VOL commands now display real serial numbers for mounted
local drives (Windows only) and FAT drives (Wengier)
- Fixed SYS command not working properly (Wengier)
- DOS kernel INT 21h function Set File Attribute no longer
allows changing volume label attributes and fixes directory
attributes in order to prevent filesystem corruption.
This prevents Windows 95 Setup from creating WINBOOT.INI
and then changing it into a directory with the call.
- FAT driver bugs fixed where a newly created zero length file
combined with a lseek() can corrupt filesytem structures
(root directory and/or the second FAT table). This fixes
filesystem corruption when running Windows 95 install.
- Enabled printer emulation for non-Windows OSes (Linux,
Mac OS X, etc.). FreeType2 is required to enable
printer emulation at compile time.
- Added command-line option "-o" for MOUNT command so that
it can be specified whether to report mounted local drives
as remote (network) drives. It is "auto" by default just
like the virtual drive Z:.
- Added config option "drive z is remote" in dosbox-x.conf
to report drive Z: as a remote (network) drive. It is
"auto" by default, which will try to prevent SCANDISK.EXE
from Windows 9x installs to scan and "repair" drive Z:
which is not backed by a disk filesystem.
- Fixed clip_key_modifier setting not working when it is
set to alt, ctrl or shift in the SDL2 build. (Wengier)
- Sending "Ctrl+Alt+Del" key from the menu will now reset
the system within DOSBox-X when the intergrated DOS or a
real DOS booted from a disk image is active. (Wengier)
- PC speaker output fixed not to timeout and stop rendering
unless the PC speaker output is not emitting anything
audible anyway (Fix for Sopwith 1 and 2).
- Added ALIAS command to define or display aliases.
- "HELP command" now works the same as "command /?" for
supported internal commands. (Wengier)
- Improved handling of quotes in some commands. (Wengier)
- Added -set command-line option to change config options.
It can be specified multiple times for multiple options,
overriding any options in the config file. For example,
the command "dosbox-x.exe -set machine=pc98" will force
DOSBox-X to start in PC-98 mode. (Wengier)
- Re-added full drive menu items for the Windows platform.
The "Boot from drive" item (A:, C: and D: drives only)
should work in other platforms too. The BOOT command is
also improved to allow e.g. "BOOT A:" to work. (Wengier)
- INT 10h vector now points into VGA BIOS as a workaround
for DOS programs that use vector location as part of
their EGA/VGA detection. This fixes blink attribute
and EGA/VGA detection failure with SuperCalc 3 and
SuperCalc 4. This option, enabled by default, can be
disabled or enabled from dosbox-x.conf.
- Improved long filename (LFN) and SetFileAttr/GetFileAttr
support for PC-98 mode. (Wengier)
- Added config option "lfn" to enable/disable long filename
(LFN) support. With default setting of "auto", LFN support
is enabled if the reported DOS version is at least 7.0.
- Added config option "automountall" (default: false) to
automatically mount all available Windows drives (Wengier)
- The copy & paste Windows clipboard text via the right
mouse button feature now has support for PC-98 mode too
in addition to other modes. (Wengier)
- MPU401 IRQ fixed to properly default to 2 or 9 in IBM
PC/XT/AT mode depending on the "enable slave pic" config
option (rderooy)
- Fluidsynth defaults fixed for better more reliable audio
streaming on Linux and Mac OS X (Wengier and rderooy)
- Improved support for FluidSynth MIDI device by porting
code from DOSBox ECE. Set "mididevice=fluidsynth" along
with other required options such as "fluid.soundfont"
in dosbox-x.conf to use it. The previous config setting
"mididevice=synth" is still supported for alternative
implementation of FluidSynth. (Wengier)
Libretro is a simple but powerful development interface that allows for the
easy creation of emulators, games and multimedia applications that can plug
straight into any libretro-compatible frontend. This development interface is
open to others so that they can run these pluggable emulator and game cores
also in their own programs or devices.
Gearsystem is a cross-platform Sega Master System / Game Gear / SG-1000
emulator written in C++.
Libretro is a simple but powerful development interface that allows for the
easy creation of emulators, games and multimedia applications that can plug
straight into any libretro-compatible frontend. This development interface is
open to others so that they can run these pluggable emulator and game cores
also in their own programs or devices.
Gearboy is a cross-platform Game Boy / GameBoy Color emulator written in C++.
Gearsystem is a cross-platform Sega Master System / Game Gear / SG-1000
emulator written in C++.
## Features
- Accurate Z80 core, including undocumented opcodes and behaviour like R
and MEMPTR registers.
- Multi-Mapper support: SEGA, Codemasters, Korean, MSX, SG-1000, and ROM
only cartridges.
- External RAM support with save files.
- Automatic region detection: NTSC-JAP, NTSC-USA, PAL-EUR.
- Accurate VDP emulation including timing and SMS2 only 224 mode support.
- Internal database for rom detection.
- Audio emulation using SDL Audio and Sms_Snd_Emu library.
- Saves battery powered RAM cartridges to file.
- Save states.
- Compressed rom support (ZIP deflate).
- Game Genie and Pro Action Replay cheat support.
- Full debugger with disassembler, breakpoints, debug symbols, memory editor,
IO inspector and and VRAM viewer including tiles, sprites, backgrounds and
palettes.
Gearboy is a cross-platform Game Boy / GameBoy Color emulator written in C++.
## Features
- Accurate CPU emulation, passes cpu_instrs.gb from blargg's tests.
- Accurate instruction and memory timing, passes instr_timing.gb and
mem_timing.gb from blargg's tests.
- Supported cartridges: ROM, ROM + RAM, MBC1, MBC2, MBC3 + RTC, MBC5, HuC-1
and MBC1M (multicart).
- Accurate LCD controller emulation with correct timings and priorities
including mid-scanline effects.
- Game Boy Color support.
- LCD screen ghosting effect as seen in the original Game Boy.
- LCD dot matrix effect.
- Sound emulation using SDL Audio and Gb_Snd_Emu library.
- Save battery powered RAM cartridges to file.
- Save states.
- Compressed rom support (ZIP).
- Game Genie and GameShark cheat support.
- Full debugger with disassembler, breakpoints, debug symbols, memory editor,
IO inspector and and VRAM viewer including tiles, sprites, backgrounds and
palettes.
David Walters (33):
Update RETRO_ENVIRONMENT_SET_CONTROLLER_INFO when 6player adaptors are added/removed.
Version bump
state.h macro changes + fallout from that
SCSP (audio cpu) sync.
MDFN_HOT macro stub, to reduce number of diffs
Reduce number of diff lines via closer sync of non-essential whitespace, formatting, macro attributes, etc.
m68k register set/get
VDP1 + VDP2 sync.
Cartridge sync
input sync (no JP keyboard)
SCU sync.
minor missing sync + fixes
more syncing
git + input "IDIIS" + jpkeyboard sync.
gettext_noop sync
SCU update sync + version bump
Fix gun crosshair X position
Fix for DOT crosshair mode
Fix for Linux builds. Mednafen defines SIZEOF_VOID_P in its configure script, we do something similar with a makefile.
Fix for new 3d pad internal data format
version bump
Game specific hacks
merging of misc bits
version bump
new document
Game specific hack (Fighting Vipers)
SH-2 bugfix
Reorganized SCSP DSP emulation
Emulated input devices' internal states were not being reset on virtual power toggle
version bump
merging
Sync with v1.22.2 of Mednafen
fix crash bug when two multitaps are connected
Yoshi Sugawara (8):
first hack to get touchscreen lightgun input working
add core option for lightgun input: lightgun or touchscreen; check input mode when handling input
remove debug statements
added back setting gun position and button state for lightgun input
touchscreen sensitivity: manually hold the gun position for a few cycles after the touch is released to ensure the fire happens at the right position
Setting CC and CCX for ios-arm64 platform for buildbot recipe
fixed arch argument to arm64
(tvOS) support building
jdgleaver (1):
Add disk control interface v1 support
Libretro is a simple but powerful development interface that allows for the
easy creation of emulators, games and multimedia applications that can plug
straight into any libretro-compatible frontend. This development interface is
open to others so that they can run these pluggable emulator and game cores
also in their own programs or devices.
SMS Plus is an open source Sega Master System and Game Gear emulator written
by Charles MacDonald.
SMS Plus GX is an enhanced version which includes improved accuracy and bug
fixes.
Libretro is a simple but powerful development interface that allows for the
easy creation of emulators, games and multimedia applications that can plug
straight into any libretro-compatible frontend. This development interface is
open to others so that they can run these pluggable emulator and game cores
also in their own programs or devices.
Parallel N64 is an optimized/rewritten Nintendo 64 emulator made specifically
for Libretro. It was originally based on Mupen64 Plus.
Libretro is a simple but powerful development interface that allows for the
easy creation of emulators, games and multimedia applications that can plug
straight into any libretro-compatible frontend. This development interface is
open to others so that they can run these pluggable emulator and game cores
also in their own programs or devices.
Flycast is a multi-platform Sega Dreamcast emulator.
Libretro is a simple but powerful development interface that allows for the
easy creation of emulators, games and multimedia applications that can plug
straight into any libretro-compatible frontend. This development interface is
open to others so that they can run these pluggable emulator and game cores
also in their own programs or devices.
Flycast is a multi-platform Sega Dreamcast emulator.
Libretro is a simple but powerful development interface that allows for the
easy creation of emulators, games and multimedia applications that can plug
straight into any libretro-compatible frontend. This development interface is
open to others so that they can run these pluggable emulator and game cores
also in their own programs or devices.
FinalBurn Neo is an emulator for arcade games and select consoles.
It is based on the emulators FinalBurn and old versions of MAME. Many of
the developers of this project also worked on FB Alpha. Due to a controversy,
we no longer do, and recommend that everyone use this emulator instead.
David Demelier (1):
Fix build under clang
Vladimir Serbinenko (5):
Fix 3DS compilation
Fix libnx compilation
Add support for psl1ght
Fix arguments for coinDeviceCreate
Remove leftover endiannness defines
diedel (1):
Fixed not smooth scroll in PAL 50Hz
Brad Parker (1):
initial cdrom support
Rob Loach (1):
Update core options API
fpscan (1):
Turkish language option
negativeExponent (20):
Update core files to 1.23
Sync blip and psg sound
Update libretro-common files
Update libretro.cpp
Fix runahead for arcade card games
Allow access to available RAM using retro_memory_map
Bump version to 1.23.0
Change core prefix name to Beetle
Implement environment callback RETRO_ENVIRONMENT_GET_INPUT_BITMASKS
Input improvements and sync misc items
Cleanup Makefile
Update Makefile
Simplify update_input()
Add core option to allow automatic detection of Games Express CD games
Cut down on unneeded logging when no related option has been changed
input: Tweaks and bug fix for turbo
Create README.md
Update .travis.yml
Remove audio/video stats report - frontend already has stats collection
Move 2/6 button mode toggle to frontend - Fixes the issue where toggling does not retain 6-button modes Reference https://github.com/libretro/beetle-pce-fast-libretro/issues/148
retro-wertz (9):
Remove unneeded references to basename and save_directory
Fix softreset and allow_up_down options
Cleanup - Remove header mednafen/huc.h - Remove unused function IsBRAMUsed() - Cleanup MDFNI_LoadGame()
Update libretro.cpp
Silence this log when not running CDROM game
Remove unnecessary comment from makefile
fix wrong operator, this should be "="
Use fixed values for PAR modes
stop travis building for wiiu for now
Aaron Kling (3):
Don't compare pointers to zero
Move objects lists into variables
libretro: jni: Fix jni makefiles
Mark W. Kidd (2):
use core name for DAT
use core-generated DAT
hizzlekizzle (3):
add ARM 64-bit build target for android
backport 12-bit wrapping fix
pjft (1):
Fix for ARM memory accesses (#139)
Vladimir Serbinenko (11):
Remove unused GetTicks
Fix psl1ght support
QNX fixes
Apply c++ flags also on debug version
Fix crash on blackberry
Fix declaration of ev_events
Fix Core_PollEvent declaration
Replace ad-hoc MSB_FIRST with retro_endianness.h
Fix video glitch on big-endian
Fix incorrect dereferencing
Cleanup wiiu flags
arpruss (8):
support analog controllers
optimize: move RGB conversion outside of point drawing code
revert to original resolution
nicer point shape
allow scaling of vector display
fix bug with y scale
more flexibility in adjusting display (#37)
negativeExponent (8):
Fix missing effects in Summon Knights 2
Fix travis
Fix vram 16/32 bit unaligned reads
Fix buffer-overflow in gfxDrawRotScreen256
Improve support for Run Ahead feature
Fix clock cycle count for some arm/thumb instructions
Trim trailing whitespace
Fix base cycle count for MUL, MLA series
Changes:
* Load bios from path that was checked
* sanitize gl context requests
* Add more detailed error messages for mmap, unlink sooner
* Allow Solaris 11 build
* Cleanup warnings: snprintf truncation, strncpy->memcpy, memset
* Lightrec: Cleanup/deduplicate mmap code
* Lightrec: Improve homebrew support
* Fix inverted check for dma-only invalidation
* Fix OS X compile
* Lightrec: fix more games –
These games now work:
– Need For Speed: V-Rally
– Alone In The Dark – One-Eyed Jack’s Revenge
* Lightrec: Fix SWL/LWL using wrong mask
* When HAVE_SHM always use global memfd so it can be closed properly on
exit –
LGTM found this once the default was to compile in lightrec
* Keep track of mmap failing –
If mmap failed it should prevent crashing when closing and disables
lightrec memory mirrors so as to not use an incorrect code path
* Update to latest lightrec and extract PGXP from lightrec –
PGXP functions are now called from within beetle
* Compile in Lightrec support by default –
Specify HAVE_LIGHTREC=0 if you don’t want it compiled
* Improve DualShock calibration reference
* Fix disk control interface when running single-disk PBP content
Changes:
* Update lightrec to latest upstream
* Minimize logs when loading a cheevos-compatible content
* Cleanup retro_run() -
- move input query into separate functions
- move internal fps display to separate function
* Hide other inputs from core options -
- This adds a core option to hide some input options like
multitaps, player ports 3-8 and analog-related fine-tuning options.
- also combine dynarec-only options in one #define directive
* More core option fixes -
- This PR fixes core options and moves them to the related dynarec
modes where they are implemented.
LIGHTREC = relates to platforms that supports the new Lightrec mode
NEW_DYNAREC = relates to previous dynarec implementation that is
still used for some 32bit devices
- Dynarec Recompiler core option, both dynarec implementation can
be enabled or disabled
* Move guncon options to update_variables -
- This should stop unnecessary RETRO_ENVIRONMENT_GET_VARIABLE
callback and log spamming
* Fix some edge case where core can freeze upon loading content
* Automatically disable Lightrec when no BIOS is present, take 2
* cdriso: fix a disk switching deadlock when closing a CD image
* ARM NEON: Fixed bug where MSB of a 15-bit BGR color could corrupt
green value.
* cdriso: fix a disk switching deadlock
* unai: Add ARM-optimized lighting / blending functions
Addendum on UNAI ARM-optimized lighting/blending improvements -
"Looking at the generated ASM on 3DS, I thought I could squeeze out
some extra performance by moving the inner lighting and blending
functions to handwritten A32 assembly. This gives a medium improvement
generally (3-5fps faster on the beach in Crash 1) and a large
improvement when doing lots of blending (46-48fps before, 57-60fps
after, behind the waterfall in Water Dragon Isle in Chrono Cross).
Some other notes:
* I used the ARM11 MPCore (3DS CPU) timings for pipelining.
* I had a few stall cycles during lighting, so I used them to
preserve the MSB for lighting and blending, which saved a store,
load, and orr later on. ~3-6 cycles saved overall by doing that.
* I switched from u16 to uint_fast16_t, which is 32-bit on this
platform. This saved a few useless uxth instructions for another
few cycles. This shouldn't affect other platforms, but I don't know
for sure. Could typedef if necessary.
* A lot of the speed improvement in blending comes from not using two
instructions per and. For example, & 0x8000 -- the compiler
preferred to mask out bytes using bic 0x7F00 and bic 0x00FF. Both
slower and seemed less correct for what we're trying to do."
Changes:
* Fix YES/NO keys and set 0 as default key
* Change Action button to B to be more consistent with other cores, and
remove the shortcuts to 1/2/3/4 keys (useless with the new virtual
keyboard)
* Add option for virtual keyboard transparency
* Add graphical virtual keyboard
Changes:
* libretro: added granularity in SuperFX overclock -
There doesn't seem to be any benefit of overclocking above 15 MHz
(150%). The user should be allowed to be more precise with their
overclock setting now.
* Fix MMC reg for 64bit builds -
Fixes a segmentation fault when playing large ROM games.
* Fix MMC bank register bit 7 (FuSoYa) -
Fixes the 64Mbit ExLoRom map.
* ROM: fail if ROM is invalid -
Fixes an issue whereby a non-SNES file would cause a segmentation
fault.
This may occur if the selected ROM is corrupt, or a file has an
incorrect extension.
* APU: remove unused SoundSync -
Additionally modified the resampler to use buffer size as a
parameter
instead of the number of samples within the buffer. Previously, the
buffer size was being changed to the number of samples, and then
changed
back within the resampler.
* snes9x: add defines for unused multi-cart support -
The compiler was already optimising these unused functions out. The
libretro core can define SNES_SUPPORT_MULTI_CART 1 to re-enable
support
for multi-cart in the future.
* snes9x: refactor defines and remove overscan -
Out of bounds memory fix from
* snes9x: APU: Fix buffer overrun -
Additionally:
This fixes linking with LTO.
Disable audio if an error occurs in init instead of continuing and
segfaulting.
* snes9x: reduce APU buffer to 64ms -
I believe this to be a more sane setting than a 1000ms buffer.
* snes9x: backport config from upstream -
Most options were not available in English, despite it being the
default
language. All the options that were available in Turkish are now
available in English.
* snes9x: fix headercount increment
* libretro: fix pitch measurement
Changes:
* Fixes graphics issues – Intellivania not working on emulator
* Correctly detect MTE Test Cart
* Fixes#40 – Intellicart roms w/o A8 –
Detects Intellicart roms using a different method for files that don’t
begin with 0xA8
* Expose RAM for Retroachievements
* OSD, Keyboard keypad controls –
keys 0-9 as expected. [ and ] replace C and E
OSD updated, real messages replace cryptic “colored pixel” loading
error feedback
Changes:
* Add optional LCD ghosting effect –
This backports the LCD ghosting effects that were recently added
to mGBA
It replaces the existing Mix Frames core option with Interframe
Blending. The old Accurate and Fast frame mixing settings have
been renamed to Simple (Accurate) and Simple (Fast) – these
perform the same 50:50 mix of the current and previous frames as
before, required to achieve correct rendering of games that rely
on LCD ghosting for transparency effects.
In addition to these settings, there are now LCD Ghosting
(Accurate) and LCD Ghosting (Fast) options. The former recreates
the LCD response effect of RetroArch’s Gameboy Shader. The latter
is similar, but uses a single accumulation buffer – which is more
efficient, but lacks the subtlety of the shader implementation.
Here are some stats showing the typical increase in performance
overheads when using the various methods:
Simple (Accurate): 30%
Simple (Fast): 13%
LCD Ghosting (Accurate): 48%
LCD Ghosting (Fast): 28%
* Do not add pointers to memory map if they are not available –
skips sram when no sram is available
skips extra RAM banks if not running in GBC mode
* tvOS support
* user-adjustable Zapper tolerance
* reduce max Zapper tolerance to 20
* MMC1 overrides are treated as ines 2.0, so its needs at least default
values for prgRam and chrRam columns.
Fixes FF1 pink screen due to unmapped CHRRAM.
* Use proper geometry when switching NTSC filter on or off –
– Width changes previously was not respected when using NTSC filter.
With full use of overscan, NES width
is 602 px when NTSC filter is used and 256 px on normal
* Fix build when compiling without NTSC filter support
* Adjust Zapper tolerance; make Zapper input tolerance circular rather
than rectangular by default
* Fix timing when changing from PAL/Dendy to NTSC –
– Happens when starting with PAL/Dendy region and changing to NTSC can
cause frame to get stuck in 50 Hz
– using RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO should remedy this.
* NTSC: Remove height doubling/scanline effect –
– We just use shaders for scanline if needed. NTSC + height doubling
causes performance hit
for some slow devices. Any decent platform should be able to handle
scanline effect shaders at least.
* ines.c: Simplify rom info logs and cleanup
* Fk23c: Fix chr issues for some games –
– Affects mostly waixing using mixed chr rom/ram modes (bit 2 of ram
config register $A001)
* Update ines-correct.h –
– Add overrides for FK23C
– Move MMC1 overrides
– Move MMC5 overrides
* Move overrides out of some mappers –
Move mapper-based overrides out and use ines-correct.h if possible.
Affects the following mappers below:
– Move Cnrom database to ines-correct.h
– Mapper 201 update
– Mapper 91: Add Street Fighter III (Submapper 1) to ines-correct.h
– Add dipswitch notes to m237
– Update mapper9 (PC10 version of Mike Tyson’s Punch-out)
* Move battery-backed prg ram override to ines-correct.h
* Start expanding internal override database (ines-correct.h)
# 1.8.8
- AUDIO/JACK: Fix regression introduced after 1.8.4 - would hang at startup
- CHEEVOS: Disable hardcore when cheats are enabled
- CHD: Return false when special track cannot be found
- DISCORD/MATCHMAKING: Fix Discord 'Ask To Join' functionality
- FILE PATH: Various file path handling optimisations
- FONT: Fix Arabic, Chinese and Korean font rendering
- INPUT MAPPING/REMAPPING: Restore broken 'reset to default' functionality with RetroPad 'start' button
- INPUT MAPPING/REMAPPING: Fix 'reset to default' action for analog sticks and undefined core inputs
- LOCALIZATION: Update Arabic translation
- LOCALIZATION: Update Chinese (Simplified) translation
- LOCALIZATION: Update Chinese (Traditional) translation
- LOCALIZATION: Update German translation
- LOCALIZATION: Update Greek translation
- LOCALIZATION: Update Spanish translation
- LOCALIZATION: Update French translation
- LOCALIZATION: Update Italian translation
- LOCALIZATION: Update Japanese translation
- LOCALIZATION: Update Korean translation
- LOCALIZATION: Update Dutch translation
- LOCALIZATION: Update Polish translation
- LOCALIZATION: Update Portuguese Brazilian translation
- LOCALIZATION: Update Russian translation
- LOCALIZATION: Update Turkish translation
- LOCALIZATION: Update Vietnamese translation
- LOCALIZATION: Add Slovak translation
- MENU: Small buffer optimizations
- MENU/THUMBNAILS/BUGFIX: Fix heap-use-after-free error
- MENU/OZONE: Add option to sort playlists after name truncation
- MENU/OZONE/ANDROIDTV: Default to Ozone menu driver
- MENU/OZONE/ANDROID: Gamepad-like devices default to Ozone now (Shield Portable)
- NETPLAY: Lower announcement rate
- OVERLAYS: Fix memory leak when loading overlays
- SHADER PRESETS: Improved shader preset dirs
- TIME/DATE: Enable configuration of date seperator in clock and runtime 'last played' displays
- VIDEO/WIDGETS: Fix overlapping text when simultaneous pop-up notifications and core/shader messages are being displayed
- X11: Fix crash in x11_display_server_get_screen_orientation
- X11/XSHM: Allow X11/XHSM video driver to operate without SHM extension
- X11/XSHM: Fix compatibility with X11 input driver
- XVIDEO: Fix keyboard input initialization
- XVIDEO/XWAYLAND: Fix XVideo support on xwayland (by supporting I420 and YZ12)
# 1.8.7
- CHEEVOS/BUGFIX: Opening achievements list would crash RetroArch with badges enabled (on new games)
- CHEEVOS: Option to start a session with all achievements active
- CHEEVOS: Don't perform unnecessary cheevos initialisation when cheevos are disabled. Should reduce startup times when loading content.
- CORE OPTIONS: Disable 'Use Global Core Options File' by default
- DOS/DJGPP: Add 32bit color support for cores
- GLCORE: Switch to glcore video driver when requested by a core
- LINUX/XDG: Use GenericName correctly in desktop entry
- MAC/COCOA: Fix mouse cursor tracking
- MENU/MATERIALUI: Add desktop-style playlist view mode
- MENU/MATERIALUI/DESKTOPVIEW: When scrolling playlists, show last selected thumbnails while waiting for next entry to load
- MENU/MATERIALUI: Limit tab switch rate when input repeat is active
- MENU/OZONE: Fix sidebar playlist sort order when 'Truncate Playlist Names' is enabled
- MENU/RGUI: Adjusted menu defaults, adjusted default scrolling speed
- MENU/RGUI: Enable custom wallpaper when menu size is reduced at low resolutions
- MENU/XMB: Limit tab switch rate when input repeat is active
- NETPLAY: Fix regressions introduced in 1.8.5
- RGUI: Add option to always stretch menu to fill the screen
# 1.8.6
- ARCHIVE/ZIP: Expand functionality of 'rzip_stream' interface. This PR expands the functionality of the new rzip_stream archived stream interface such that it now has almost complete feature parity with the standard file_stream interface, and can therefore be used as a drop-in replacement in most situations
- AI SERVICE: Hide redundant entries when service is disabled
- AI SERVICE: Added in auto-translate support
- AI SERVICE: support for NVDA and SAPI narration
- AUTOCONFIG: Use correct port index in input device configured/disconnected notifications
- BUGFIX: Fix race condition where task could momentarily not be in the queue when reordering
- CHEEVOS/BUGFIX: Prevent null reference rendering achievement list while closing application
- CHEEVOS/BUGFIX: Report non-memorymap GBA cores as unsupported
- COMMANDLINE: Advise against using -s and -S variables on the command line. …
- CONFIG FILE: Only write config files to disk when parameters change
- CONFIG FILE/BUGFIX: RetroArch no longer crashes when attempting to save a config file after 'unsetting' a parameter (currently, this can be triggered quite easily by manipulating input remaps)
- CONFIG FILE/BUGFIX: When using Material UI, RetroArch no longer modifies the wrong setting (or segfaults...) when tapping entries in the Quick Menu > Controls input remapping submenu
- CONFIG FILE/BUGFIX: Quite a few real and potential memory leaks have been fixed.
- CHD: Fixes a crash caused by ignoring the return value from one of the CHD library functions
- FASTFORWARDING: A new Mute When Fast-Forwarding option has been added under Settings > Audio. When enabled, users can fast forward without having to listen to distorted audio.
- GLCORE/SLANG: Set filter and wrap mode correctly when intialising shader textures. Before, the glcore shader driver did not correctly initialise loaded textures. The texture filtering and wrap mode were forced on texture creation, but these settings were not recorded - subsequent updates would set garbage values, that would resolve to linear filtering OFF and wrap mode = CLAMP_TO_EDGE.
- LOCALIZATION: Update Japanese translation
- LOCALIZATION: Update Spanish translation
- LOCALIZATION: Update Portuguese Brazilian translation
- MAC/IOHIDMANAGER/BUGFIX: Fix for Mayflash N64 adapter. In case last hatswitch does not match cookie. For the mayflash N64 adapter, I was getting a BAD EXC ADDRESS (in mac OS 10.13) for this line (tmp was NULL). Retroarch would crash in the gui if I pressed a button from the DPAD on controller 2. With this change, it no longer crashes in the gui and still registers the button push.
- MAC/COCOA: Fix mouse input - this brings back two lines of code that have been removed over time but
appear to be required in order for mouse input to work on macOS
- METAL/BUGFIX: GPU capture on Metal/OSX/NVidia could crash
- METAL/BUGFIX: Taking screenshots could capture black frames. Resulting PNG screenshots were black.
- METAL/BUGFIX: Corrupted image due to incorrect viewport copy when taking screenshot
- MENU: Prevent font-related segfaults when using extremely small scales/window sizes
- MENU: Fix 'gfx_display_draw_texture_slice()'
- MENU/FONT: Enable correct vertical alignment of text (+ font rendering fixes)
- MENU/RGUI: Enable automatic menu size reduction when running at low resolutions (down to 256x192)
- MENU/OZONE: Update timedate style options for Last Played sublabel metadata
- MENU/OZONE: Hide 'Menu Color Theme' setting when 'Use preferred system color theme' is enabled
- MENU/OZONE: Fix thumbnail switching via 'scan' button functionality
- MENU/OZONE: Prevent glitches when rendering Ozone's selection cursor
- MENU/OZONE: Enable proper vertical text alignment + thumbnail display improvements
- MENU/OZONE: Enable second thumbnail/content metadata toggle using RetroPad 'select'
- MENU/OZONE: Refactor footer display
- MENU/OZONE: Hide thumbnail button hints when viewing file browser lists
- MENU/OZONE/INPUT/BUGFIX: Fix undefined behaviour when using touch screen to change input remaps
- MENU/OZONE/INPUT/BUGFIX: It turns out that Windows reports negative pointer coordinates when the mouse cursor goes beyond the left hand edge of the RetroArch window (this doesn't happen on Linux, so I never encountered this issue before!). As a result, if Ozone is currently not showing the sidebar (menu depth > 1), moving the cursor off the left edge of the window generates a false positive 'cursor in sidebar' event - which breaks menu navigation, as described in #10419. With this PR, we now handle 'cursor in sidebar' status correctly in all cases
- MENU/OZONE/INPUT/BUGFIX: Pointer input is now correctly disabled when message boxes are displayed
- MENU/XMB: Fix thumbnail switching via 'scan' button functionality
- ODROID GO ADVANCE: Add DRM HW context driver
- PSL1GHT: Initial port
- PSL1GHT/KEYBOARD: Implement PSL1GHT keyboard
- PLAYLIST/BUGFIX: Improve handling of 'broken' playlists - RetroArch will no longer segfault when attempting to run content via a playlist entry with missing path or core path fields.
- PLAYLIST/BUGFIX: Improve handling of 'broken' playlists - when a playlist entry has either core path and/or core name set to NULL, DETECT or an empty string, attempting to load content will fallback to the normal 'core selection' code (currently this happens only if both core path and core name are DETECT - this is wholly inadequate!)
- PLAYLIST/BUGFIX: RetroArch will no longer segfault when attempting to fetch content runtime information when core path is NULL
- PLAYLIST/BUGFIX: Core name + runtime info will only be displayed on playlists and in the Information submenu if both the core path and core name fields are 'valid' (i.e. not NULL or DETECT)
- PLAYLIST/BUGFIX: When handling entries with missing path fields, the menu sorting order now matches that of the playlist sorting order (at present, everything goes out of sync when paths are empty). Moreover, entries with missing path fields can now be 'selected', so users can remove them (currently, hitting A on such an entry immediately tries - and fails - to load the content, so the only way to remove the broken entry is via the Playlist Management > Clean Playlist feature)
- PLAYLIST: Add optional per-playlist alphabetical sorting
- PLAYLIST: Omit whitespace when writing compressed JSON format playlists
- PLAYLIST: Add optional playlist compression
- QNX: Support analog sticks
- SAVESTATES: Add optional save state compression (enabled by default now)
- SRAM: Add optional save (SRAM) file compression
- SCANNER: Prevent redundant playlist entries when handling M3U content
- SCANNER/ANDROID: Fix content scanner being unable to identify certain games from CHD images (raw data sector/subcode)
- TASKS/BUGFIX: Fix task deadlocks
- TASKS/SCREENSHOT/BUGFIX: Fix heap-use-after-free error when widgets are disabled
- TVOS: Disable overlays for tvOS, fix app icon
- VIDEO/WIDGETS/BUGFIX: The font ascender/descender metrics added in #10375 are now used to achieve 'pixel perfect' vertical text alignment
- VIDEO/WIDGETS/BUGFIX: Message queue text now uses its own dedicated font. Previously, a single (larger) font was used for all active widgets, and this was scaled down for message queue items. This 'squished' the text a little; more importantly, when using the stb font renderers (on Android. etc.) it caused ugly artefacts around the edges of glyphs due to pixel interpolation errors. Now that a correctly sized font is used, the message queue is always rendered cleanly.
- VIDEO/WIDGETS/BUGFIX: Previously, each widget font was 'flushed' (font_driver_flush()) at least once a frame. This is quite a slow operation. Now we only flush fonts if they have actually been used.
- VULKAN/BUGFIX: Fix display of statistics text
- UNIX/BUGFIX: Fix overflow when computing total memory on i386
# 1.8.5
- ANDROID/CHROMEBOOK/CRASH: Fix Chromebook crashes (on x86 x64) when touching the screen
- BUGFIX: Prevent double input when using 'return' key (hardware) to close on-screen keyboard
- BUGFIX: Fix mouse capture hotkey not working
- BUGFIX: Avoid overflow when calculating multiplying performance counter
- BUGFIX: Retroarch overlay displaying "Game remap file loaded." on the overlay instead of "Core remap file loaded." when only a core remap file is present
- CHEEVOS/BUGFIX: Achievement triggers could cause Retroarch to Crash
- CHEEVOS: Don't block Sameboy core because it only exposes some memory
- CHEEVOS: Support for extended Sega CD memory
- CHEEVOS: Show RetroAchievements Hash in content information list
- CHEEVOS: If the core says it's exposing SYSTEM_RAM, give it the benefit of the doubt
- CHEEVOS: RetroAchievements rich presence for RA.org website/Discord
- CHEEVOS: Reset token when username or password changes
- CHEEVOS: Display measured progress on locked achievements
- CHEEVOS: Queue multiple popups
- CHEEVOS: Add delay retries to leaderboard submits
- CHEEVOS: Prevent buffer overflow when encountering an unknown macro
- CORE UPDATER: Prevent hang when fetching core list if HTTP transfer fails
- DISK CONTROL: Add disk labels to 'disk inserted' notifications
- FFMPEG CORE: Fix crash on seeking when using HW decoding in some cases
- LIBRETRO: Add disk control interface API extension
- LINUX: Avoid possible crash when running retroarch at startup
- LINUX/GLX: Fix threaded video crashes/instability because of GLX OML sync callbacks
- LOCALIZATION: Update French translation
- LOCALIZATION: Update Korean translation
- LOCALIZATION: Update Polish translation
- LOCALIZATION: Update Spanish translation
- LOCALIZATION: Update Portuguese Brazilian translation
- MENU: Add Menu Scroll Acceleration option
- MENU: Automatically select currently checked item when opening drop-down lists
- MENU: Fix smooth (vertical) line ticker scroll speed
- MENU: Don't flush on override/remap messages
- MENU/DATETIME: Adds some new timedate styles that follow the DD/MM/YYYY format, found in several European countries
- MENU/DATETIME: Modifies the existing translation files in order to accommodate the new options that are now available
- MENU/DATETIME: Reorders the timedate view options based on a decreasing order of the quantity of information displayed, so that they are more convenient to switch around and easily categorized
- MENU/BUGFIX: Fix bug - if you were in XMB and you would set menu driver to RGUI, you could no longer go to the left or right tab
- MENU/MATERIALUI: Add option to remove navigation bar
- MENU/OZONE: Add DPI-based scaling
- MENU/OZONE: Add rudimentary pointer support
- MENU/OZONE: Add 'Nord' and 'Gruvbox Dark' themes
- MENU/OZONE/POINTER: Pointer can be used to switch between sidebar and entries list
- MENU/OZONE/POINTER: Pointer can be used to select sidebar and entries list items
- MENU/OZONE/POINTER: Both sidebar and entries list can be scrolled by dragging
- MENU/OZONE/POINTER: Clicking/pressing the header or footer produces a 'cancel' action
- MENU/OZONE/POINTER: Cursor focus follows mouse pointer from sidebar to entries list (and vice versa)
- MENU/OZONE/POINTER: In entries list, item under cursor is automatically selected (with some fudging to ensure this doesn't break mouse wheel scrolling)
- MENU/OZONE/POINTER: In sidebar, item under cursor is not automatically selected (this is too jarring)
- MENU/RGUI: Add 'Flux' theme
- MENU/XMB: New color themes 'Cube Purple', 'Family Red', etc
- NETPLAY/MENU/BUGFIX: Fix Netplay Stateless Mode doesn't save. Affects other netplay settings which can be overridden by commandline option
- ODROID GO ADVANCE: Rotation support
- NETPLAY/ROOMS/BUGFIX: Prevent out-of-bounds array indexing when displaying/selecting netplay rooms in menus
- SCANNER: Add 'Arcade DAT Filter' Option
- SCANNER: Add scanning Korea and Asia PS1 discs
- SCANNER: Add support for scanning PSP Korean
- VIDEO: Set hardware 'Bilinear filtering' off by default
- VIDEO/WIDGETS: Widgets are now menu-independent
- VIDEO/WIDGETS: Allow notifications to use full screen width when not displaying menu
- VIDEO/WIDGETS: DPI-based scaling
- VIDEO/WIDGETS: Fix volume widget scaling
- VIDEO/WIDGETS: Add independent widget scale override settings for fullscreen/windowed modes
- VIDEO/WIDGETS/BUGFIX: Prevent improper display of (old style) OSD text when widgets are enabled
- VIDEO/WIDGETS/THREADED/BUGFIX: Fix issue - corruption of menu widgets when running some cores (e.g. VICE) with threaded video enabled
- WIFI/CONNMANCTL: Display more characters from SSID
# 1.8.4
- ANDROID/BUGFIX: Prevent crash when Android device is minimized and you go back to the app
- CAMERA/BUGFIX: Fix crash when a core requires the camera driver and the platform only has a null driver. This would crash mgba on Wii for example
- DISK CONTROL: Cycle Disk Tray now becomes Eject Disk or Insert Disk depending upon current drive state
- DISK CONTROL: Current Disk Index is only shown when the current disk has been ejected
- DISK CONTROL: The old Insert Disk entry has been changed to Load New Disk, and is only shown when a disk is currently inserted (this is because loading a new disk from the filesystem - i.e. bypassing the m3u playlist disk index interface - automatically ejects and inserts disks, and so cannot be done while the virtual drive is empty)
- DISK CONTROL: The Current Disk Index may now be set more easily via a drop-down list.
- DISK CONTROL: Selecting Eject Disk automatically moves the menu selection to the Current Disk Index entry
- DISK CONTROL: Selecting an index via the Current Disk Index drop-down list automatically moves the menu selection back to Insert Disk
- DISK CONTROL: The Disk Control entry sublabels have been changed for greater clarity
- DISK CONTROL: All of the horrendous notification spam has been removed. Notifications are now only shown in the event of an error, or when the menu itself does not provide sufficient visual feedback (note that using hotkeys to swap disks still produces the old style notifications, since this is typically only done while content is running - i.e. no menu). The duration of disk-related info notifications has also been reduced to a more sane level.
- DISK CONTROL: A new Resume content after changing disks option has been added under Settings > User Interface. When enabled (default setting), content is resumed automatically after selecting either Insert Disk or Load New Disk (when disabled, the menu remains open, obviously...)
- DISK CONTROL/BUGFIX: The Disk Control menu now has the correct title
- DISK CONTROL/BUGFIX: Selecting a disk via the Load New Disk file browser no longer flushes the user back to the top level menu (it now correctly returns to the Disk Control menu)
- PLAYLISTS: Add 'Clean Playlist' option
# 1.8.3
- ANDROID/BUGFIX: Fix 'Install or Restore Core' regression
- BUGFIX: Ensure core info is always initialised when calling 'drivers_init()'. This bug could prevent cores from doing content runtime logging
- BUGFIX/MENU: History size can only be set to 1 at a minimum
- BUGFIX/MENU: (XMB/OZONE) Fix 'quick menu' detection. XMB would not display savestate thumbnails in the quick menu if it was accessed via the main menu
- BUGFIX/CRASH/CORE UPDATER: Fix potential double free error
- BUGFIX/CRASH/OPENGL/WINDOWS: Fix regression in 1.8.2 that would cause GL-based cores to fail because it would try to erroneously load libGLESv2.dll instead of OpenGL32.dll (cores affected: VitaQuake 2/3/Dhewm3, possibly more)
- BUGFIX/MENU/DESKTOP UI: Show desktop menu on startup does not launch Qt UI on Linux
- BUGFIX: Entries in the Playlist Thumbnails Updater list were displaying improper sublabels. I have no idea when this broke... The issue is now fixed
- CHEEVOS: Don't disable achievement when AddAddress generates an out-of-range address
- CHEEVOS: Don't reset triggers/leaderboards that failed to load
- CHEEVOS: Don't count unsupported achievements as unlocked
- CORE UPDATER: Display number of cores updated when updating installed cores
- DINGUX: Initial port
- HISTORY/FAVORITES: Bump up default to 200 entries from 100
- FFMPEG CORE: Implement packet buffer, fixes MP4 video playback for many files
- LOCALIZATION: Update Italian translation
- LOCALIZATION: Update Polish translation
- LOCALIZATION: Update Russian translation
- LOCALIZATION: Update Spanish translation
- MENU: Added 'Hosting' menu under Netplay menu
- MENU: Added 'Subsystems' menu
- MENU/FILEBROWSER: Fix file selection issues when starting from (or navigating to) the top level directory
- MENU/WIDGETS: Prevent looping of task title text
- RASPBERRY PI: Fix BGRA8888 color inversion issues in the menu and elsewhere with VideoCore GL drivers
- NETPLAY/RELAY: Add Sao Paulo (Brazil) relay server
- NETPLAY/RELAY: Fix the “spectator” bug when using the relay server – When a player switches into the spectator mode (pressing “i”) while using the relay server, all players will disconnect.
- NETPLAY/RELAY: Overall stability has improved. Fixed a memory leak that would cause the relay server to become unresponsive after some time.
- NETPLAY/RELAY: Fixed critical bug that would cause all players to be disconnected from the relay server if one player was leaving the game. That bug had been open for one year and we were finally able to fix it.
- THUMBNAIL UPDATER: When waiting for individual thumbnail file http transfers to complete, the task status checking is more accurate. This uses the same method as the new core updater - we now wait until the task is 'really' complete, instead of relying on the (slightly nebulous) 'task finished' state
- VULKAN: Fix font driver 'vulkan_get_message_width()' function
- VIDEO FILTERS: Only use threads when the number exceeds 1. Fixes race conditions with some CPU filters on Vita
# 1.8.2
- BUG/CRASH/GLSLANG: Fix glslang crashing error - managed to reproduce an issue which has been plaguing
users for a while, where glslang throws an assert after closing a game (and starting a new one). This would affect all video drivers that use Slang for shaders, such as D3D10/11/12/Vulkan/Metal
- CHEEVOS: Display Unofficial and Unsupported achievement states
- CHEEVOS: Pass RetroArch and core versions through User-Agent HTTP header
- CHEEVOS: Use PSX.EXE if SYSTEM.CNF cannot be found
- CHEEVOS: Prevent loading state while achievements are still being fetched from server
- CHEEVOS: Pause hardcore if core doesn't support achievements
- CHEEVOS/CRASH: Fix AddressSanitizer + CHD cause hard crash when Cheevos are enabled
- CORE UPDATER: Only download when new core is available
- CORE UPDATER: Add option to update all installed cores
- DRM/KMS: Better detection for the current video mode
- DYNAMIC RATE CONTROL: Support DRC even when using a vsync swap interval higher than 1
- FFMPEG CORE: Hardware accelerated video decoding
- FFMPEG CORE: Implement send/receive encoding API, will allow for hardware accelerated AMD video encoding
- FFMPEG CORE: The video FIFO can be removed, since we have a ring buffer in its place. This removes unneeded copy operations and as a positive side improves overall decoding speed. Makes 8k60p SW and 4k60p HW decoding feasible on many systems. For now the ring buffer is 32 images deep. This limitation will be removed, once audio and video decoder have their own packet handling.
- INPUT: Fix 'Analog stick controls menu even if autoconfig disabled'
- INPUT/TURBO: Added alternate Turbo-Mode 'Single Button' - For systems supporting only a single button, the turbo-button will toggle firing that button without the need to hold it. When holding the button turbo will be suspended and resumed when the button is released. Holding the button may have a different function to just tapping it.
- INPUT/ANALOG: Fix radial analog deadzone scaling
- INPUT/ANALOG: Implement proper analog button deadzone
- INPUT/MENU: Analog stick controls menu even if autoconfig disabled
- LOCALIZATION: Update Italian translation
- LOCALIZATION: Update French translation
- LOCALIZATION: Update Polish translation
- LOCALIZATION: Update Portuguese Brazilian Translation
- LOCALIZATION: Update Turkish translation
- LINUX/LOCALIZATION: Correct Droid Sans Fallback font path in Linux. This should fix Chinese/Korean font display issues on Fedora/RHEL/CentOS/openSUSE/SLE
- MENU/BUGFIX: When using a keyboard/gamepad/mouse wheel to navigate, the menu scroll position is always maintained and updated in a consistent (and expected) fashion
- MENU/BUGFIX: When resizing the window, or changing the orientation of a mobile device, the current scroll position is correctly preserved
- MENU/BUGFIX: All 'normal' pointer input is now inhibited when showing message boxes
- MENU/BUGFIX: The pointer actions 'select' and 'cancel' both now properly close a message box if it is currently being shown
- MENU/BUGFIX: Pointer 'select' and 'cancel' actions are now inhibited when an input bind dialog is active
- MENU/INPUT: Change 'User' terminology to 'Port' for input binding
- MENU/LINUX: Add proper drives to Load Content
- MENU/MATERIALUI: Halt scrolling when pointer is pressed/stationary
- MENU/MATERIALUI: Dual thumbnail view
- MENU/MATERIALUI: Fullscreen thumbnail viewer for boxart
- MENU/MATERIALUI: Scroll rapidly by press and holding the scrollbar
- MENU/RGUI: New theme 'Flux'
- MENU/OZONE: Thumbnails now have a fade-in animation
- MENU/OZONE: Fullscreen thumbnail viewer for boxart and pictures
- MENU/QT/WIMP: Fix dock titles getting cut off
- MENU/XMB: Fullscreen thumbnail viewer for boxart and pictures
- MENU/USABILITY: Selectively hide 'Disallow Non-Slave Mode Clients' if 'Allow Slave-Mode Clients' is disabled
- MENU/USABILITY: Hide 'Show desktop menu on startup' if 'Desktop menu' setting itself is disabled
- MENU/USABILITY: Reimplement Quick Menu - > Shaders -> Watch shader files for changes - can now be turned on/off through touch
- MENU/USABILITY: Refactor Quick Menu - Controls - each port now has its own submenu
- MENU/USABILITY: Quick Menu - Cheats - Delete All no longer requires five right button presses - this should fix this functionality for mobile touch users too
- MENU/USABILITY: Hide Refresh Rate options when Threaded Video is enabled - these settings do nothing with Threaded Video
- MENU/USABILITY: Hide Logging Verbosity levels behind Logging Verbosity
- MENU/USABILITY: Get rid of 'Port Number' label for Port Binds screen
- MENU/USABILITY/MOBILE: Should no longer crash when clicking on a cheat entry
- MENU/USABILITY: Shader parameters now have a dropdown list
- MENU/USABILITY: Shader passes now has a dropdown list
- MENU/USABILITY: Video - Hide Windowed Mode settings selectively
- MENU/USABILITY: Video - Hide Fullscreen Mode settings if windowed mode is not supported by context driver
- MENU/USABILITY: Selectively hide Network Command Port
- MENU/USABILITY: Selectively hide Relay Server Location
- MENU/USABILITY: User Interface -> Appearance - Selectively hide XMB Horizontal Animation setting
- MENU/USABILITY: Playlists - more selective hiding
- MENU/USABILITY: Selectively hide Rewind Settings
- MENU/USABILITY: Selectively hide Overlay Settings
- MENU/USABILITY: Selectively hide FPS Update Interval based on Display Framerate being enabled
- MENU/USABILITY: Selectively hide Onscreen Notifications BG Color Settings
- MENU/USABILITY: Settings -> Logging - Hide 'Log To File Timestamp' if 'Log To File' is disabled
- MENU/USABILITY: Video -> Scaling - Hide Custom Viewport X/Y when Integer Scale is enabled as description indicates
- MENU/USABILITY: Achievement submenu - selectively hide
- MENU/USABILITY: Settings -> Video -> Aspect ratio - selectively hide/show values based on whether you have Custom or Config selected
- MENU/USABILITY: Settings -> Video -> Selectively hide Hard Sync
- MENU/USABILITY: Settings -> Video -> Implement selective hiding for VSync and Hard Sync
- MENU/USABILITY: Selective hiding of Runahead settings based on global setting
- MENU/USABILITY: Add Input -> Haptic Feedback submenu
- MENU/USABILITY: Add Input -> Menu Controls submenu
- MENU/USABILITY: Settings -> Video -> Max Swapchain Images - Add OK action
- MENU/USABILITY: Input - Implement OK action for Bind Hold, Turbo Period and Duty Cycle
- MENU/USABILITY: Input - Hotkey Binds refactor
- MENU/USABILITY: Move 'Press Quit Twice' and 'Menu Toggle Gamepad Combo' to Input -> Hotkey Binds
- MENU/USABILITY: Video - Add sublabel for Video Output submenu
- MENU/USABILITY: If 'Favorites Tab' is disabled, don't show 'Add To Favorites' option in Quick Menu/Playlist menu
- MENU/USABILITY: If On-Demand Thumbnail Downloader is enabled, hide 'Download Thumbnails' from playlist menu screen
- MENU/USABILITY: Add Audio Driver setting to Audio -> Output
- MENU/USABILITY: Add Audio -> Resampler settings
- MENU/USABILITY: Add Audio -> Output and Audio -> Synchronization
- OPENGL: Shaders are now working properly (only in OpenGL) when rotating both from Core API rotation and from menu video rotation. The fix is clearly visible with crt-royale for example
- OPENGL: 1:1 PAR is now correct when rotating (both from Core API rotation and from menu video rotation, as you said, in the latter case you currently have to change Aspect Ratio after menu video rotation for it to work)
- OPENGL: When using Custom Aspect Ratio and rotation (both from Core API rotation and from menu video rotation), Integer Scaling is now working properly (correct multiples of internal resolution). Even when Integer Scaling is not activated, the Custom AR width / height are now correctly labeled using (1x), (2x), ... suffixes. You also have to activate Integer Scaling after menu video rotation for it to work
- OPENGL: For all other Aspect Ratio options, Integer Scaling and rotation (both from Core API rotation and from menu video rotation) are now working properly together (correct multiples of internal resolution). You also have to activate Integer Scaling after menu video rotation for it to work
- OPENBSD/POWERPC: Should build now on OpenBSD PowerPC
- PLAYLISTS: Pressing 'Start' or long touching a playlist will bring you to a Playlist submenu where you can set a default core, setup thumbnail view, delete the playlist, etc
- OSX: Forcibly disable Threaded Video until NSWindow concurrency issues are fixed
- PSP: Solving issue exiting RetroArch by HOME button
- SCANNER: Manual scanner, not dependent on database files
- SCANNER/MANUAL: Add option to scan inside archives
- SCANNER/MANUAL: Enable automatic naming of arcade content via DAT files. This is compatible with DAT files in either Logiqx XML or MAME List XML format.
- VIDEO: Do not reinit video driver on SET_SYSTEM_AV_INFO unless needed
- VIDEO: Support DRC even when using a vsync swap interval higher than 1
- VIDEO LAYOUT: Fixed XML parsing of attributes with spaces, should fix issues with several video layouts
- VULKAN/ANDROID: Workaround weird WSI return codes in landscape mode - Android WSI wants you to use preTransform, and if it is not used correctly, Android 10 will return VK_SUBOPTIMAL_KHR, and we would create a new swapchain every frame. This workaround just ignores this error, since it's not really an error. A more "proper" fix is to use prerotate and modify the MVP matrices,
which might help certain devices with crummy display processors
- VULKAN/ANDROID: Recreate swapchain on orientation change. ANativeWindow getWidth/Height does not detect any changes when using
Vulkan, so use the old onContentRectChanged callback to get notified when size changed. Use those values instead when figuring out how large swapchain to create
# (1.8.1)
- BUGFIX/MENU: Fix menu rendering with Mali GPUs after changing video dimensions
- CDROM: Adds pregap support to cdfs helper methods
- CHEEVOS: Provides the new PCEngine hashing algorithm for RetroAchievements
- LOCALIZATION: Update French translation
- LOCALIZATION: Update Polish translation
- LOCALIZATION: Update Spanish translation
- MENU/MATERIALUI: Initial thumbnail support
- MENU/MATERIALUI: Cutie / Virtual Boy theme added
- MENU/MATERIALUI: Bugfix - Under certain extreme circumstances, entries with very long sublabel strings could have their text prematurely 'clipped' as the entry is scrolled beyond the top of the screen
- MENU/MATERIALUI: Bugfix - Certain setting value strings were unnecessarily truncated (with a ...) when using smooth ticker text
- MENU/XMB: Sunbeam theme added
# (1.8.0)
- AI SERVICE: Added in fix for BMP returns to AI service. Added in label passing to AI service call
- BSV: Fix BSV recording/playback
- BUGFIX: Fix crash when setting Thumbnail Directory
- BUGFIX/STABILITY: Set "Automatically Add Content to Playlist" to false by default, this was unstable on PS3 and Mac and other platforms potentially as well.
- COMMON: Graceful driver switching for Windows and Linux
- COMMON: Cache frame before converting 0RGB1555
- LAKKA: Wi-Fi Access Point settings
- MENU: Menu scaling improvements
- MENU/MATERIALUI: There are no longer any animation glitches when 'wraparound' scrolling from the last entry in a list to the first, or when performing horizontal swipe navigation gestures on certain settings-type entries
- MENU/MATERIALUI: List entries underneath the title and navigation bars are no longer highlighted when touching the title/navigation bars (this was only a cosmetic issue, but it was annoying...)
- MENU/MATERIALUI: The current menu list is no longer reloaded when pressing the currently active tab on the navigation bar
- MENU/MATERIALUI: The ticker text spacer has been set to a 'bullet' character (same as Ozone)
- MENU/MATERIALUI: The default colour theme has been set to 'Ozone Dark'
- MENU/MATERIALUI: Three new colour themes have been added.
- MENU/MATERIALUI: A new Menu Transition Animation option has been added under User Interface > Appearance. When this is enabled, menu transition events are animated
- MENU/MATERIALUI: The navigation bar is now shown at all times - i.e. it is an actual navigation tool, rather than a 'top-level-menu' curiosity
- MENU/MATERIALUI: Two new context-sensitive buttons have been added to the navigation bar - back button and resume button
- MENU/MATERIALUI: A new Auto-Rotate Navigation Bar option has been added under User Interface > Appearance. When enabled (this is the default setting), the navigation bar is moved to the right hand side of the screen when using landscape screen orientations.
- MENU/MATERIALUI: The playlists tab is now correctly hidden when User Interface > Views > Show Playlist Tabs is disabled
- MENU/MATERIALUI: Material UI now correctly readjusts its layout when screen orientation changes on mobile devices
- MENU/MATERIALUI: Material UI now resizes in real-time when the user manually sets the Menu Scale Factor (this never worked properly with the old DPI override)
- MENU/MATERIALUI: Material UI no longer leaks memory on 'context reset' (fonts were previously never free()'d)
- MENU/MATERIALUI: A new Android-style 'system bar' has been added. This shows current core name, clock and battery level
- MENU/MATERIALUI: A new search icon is shown on the title bar when viewing playlists and file browser lists. Pressing this launches the search interface
- MENU/MATERIALUI: The title bar now uses a larger font, and the sublabel font has also been enlarged a little, to more closely align with Material UI standards
- MENU/MATERIALUI: A number (quite a large number) of layout/spacing issues have been fixed
- MENU/MATERIALUI: The existing colour theme handling code is not fit for purpose, so the whole lot got ripped out and reimplemented. In doing so, also adjusted all the theme colours to better match Material UI standards - with a few liberties taken for aesthetic purposes.
- OSD: Fix fast forward indicator when not using menu widgets
- PSP1: Remove duplicated FPS indicator on the screen
- VIDEO LAYOUT: Add video layout mame overlay compatibility. Enabled for Windows/Linux/OSX/iOS/Android/libnx. Only works with GL driver for now, no glcore yet
# (1.7.9) (v2)
- MENU/MATERIALUI: Change DPI scaling back to original - too many issues with current implementation, requires a redesign
# (1.7.9)
- AI SERVICE: Image mode is now much faster, it now saves the image in-memory in PNG format then passes it along to the translation service
- BUGFIX: Touch input - When using an overlay to toggle the quick menu on touchscreen devices, we no longer get 'phantom' menu input - i.e. the old bug of hitting the toggle and instantly resuming content (or performing a save state) is fixed
- BUGFIX: Networking - RetroArch crashed when pressing left while Relay Server Location entry was selected
- BUGFIX: Networking - fix memory leak that could happen at exit after a network
operation had run
- CHEEVOS: Improve handling of line endings when calculating CD hashes for retroachievements
- CHEEVOS: Add support for Sega CD/Saturn; reduce hash calls to server
- FPGA: Add initial FPGA port for Z-Turn boards - not really release-ready yet, will need community support to continue. Currently employs naive framebuffer approach, not fullspeed
- GONG: Stability fixes
- LINUX/UDEV: Fix touchscreen/lightgun issues
- MENU/MATERIALUI: MaterialUI no longer 'forgets' its place when navigating backwards in menus, and navigation in general is 'cleaner'.
- MENU/MATERIALUI: Add initial gesture support
- MENU/MATERIALUI: Improved touch support
- MENU/MATERIALUI: Bugfix - Random' items are no longer automatically highlighted when performing standard up/down 'flick' scrolling through lists (items are only highlighted when you keep the pointer still for > 200 ms)
- MENU/MATERIALUI: Bugfix - The display no longer 'jerks' for one frame when navigating backwards through lists
- MENU/MATERIALUI: Bugfix - The Material UI scaling factor is now based upon the device-reported screen DPI value (previously it relied upon a hard-coded magic number, which was never correct)
- MENU/RGUI: Functional mouse/touchscreen support
- MENU/ONSCREEN KEYBOARD: On-screen keyboard entry via mouse/touchscreen has been tidied up - no more double inputs (or unwanted menu interaction in the background)
- MENU/MOUSE: Mouse wheel up/down is now a proper 'up/down', same as using cursor keys or a dpad
- MENU/MOUSE: Mouse wheel tilt left/right has been wired up to normal 'left/right' commands. Also further improved mouse wheel tilt
- MENU/OZONE: Add option to toggle between static and scrolling content metadata
- MENU/XMB: Add full gesture support
- MENU/OSX: Fixed mouse buttons - mouse down events were not hooked up
- MENU: When navigating backwards from a core options drop-down list (i.e. pressing select or cancel), the last menu position is remembered (instead of resetting back to the first core option item each time)
- MENU: Add mouse/touchscreen gesture support
- MENU: Add option to delete playlists (Settings > Playlists > Playlist Management)
- OSD: Memory details should now be available on every platform (get_mem_total and get_mem_free need to be implemented in the frontend driver for it to work)
- OSD: Memory details can now be shown individually without FPS and frame count
- THREADED VIDEO: Fix FPS text in threaded video mode
# 1.7.8 (v4)
- COMMON: Enable customisation of runtime 'last played' display format.
- CHEEVOS: Add hashing support for PSX (bin/cue, chd, or real CD) (for real this time, got added in the CHANGELOG for v2 then reverted before it hit release)
- LOCALIZATION: Update Portuguese Brazilian Translation
- MENU: Add 12-hour time/date versions of all formats
# 1.7.8 (v3)
- GLCORE: Ensure correct scaling of menu texture (with RGUI)
- IPS: Soft-Patch any IPS size
- METAL: Fix overlay issue - setup correct viewport before rendering overlay
- METAL/STB: Fix font driver issue with AMD GPUs on MacOS.
- MENU/RGUI: Correctly rescale menu when resizing window if aspect ratio lock is enabled.
- OSX: Remove OSX suffix in window title
- PSP: Fix audio conversion code
- REMAPS: Fix analog remapping regression -analog remapping would break controls
# 1.7.8 (v2)
- AI SERVICE: Fix 'Japanese' setting
- CHEEVOS: Fix Achievements badges
- CHEEVOS: Add hashing support for PSX (bin/cue, chd, or real CD)
- GLCORE: Fix regression - shaders don't work
- LOCALIZATION: Update Japanese translation
- LOCALIZATION: Update Korean translation
- LOCALIZATION: Update Polish translation
- MENU/XMB: Smooth vertical ticker scrolling
- OSX: Fix potential OSX startup crash
- PATCH: Fix IPS patches
- PLAYLISTS: Fix playlist heap corruption bug. Would also cause potential crashes on OSX and 3DS at startup
- SHADERS: Fix shader loading and saving in content-less cores
- SHADERS: Implement video_shader_delay setting. Screen grabbing software like streaming software can interfere with the loading of shaders, resulting in graphical glitches or freezes. This PR adds a video_shader_delay setting (in ms) and (advanced) menu entries Video -> Auto-Shader Delay, allowing to work around the issue
# 1.7.8
- AI: Add AI Service functionality (enabled for Windows/Mac/Linux/Android/iOS).
- ANDROID: Implemented multi-touch touchscreen support
- ANDROID: Now can be built with Gradle/Android Studio
- BLISS-BOX: Add 4 new pad types from firmware 3.0
- BPS/UPS: Re-allocation target_data variable for target patch size (can now apply bigger patches without extra-bytes on memory)
- CDROM: Added real CD-ROM functionality for Windows and Linux.
- CDROM: Added disc dumping.
- COMMON: Add separate frontend logging
- COMMON: Ability to set FPS update interval (used in the window titlebar/FPS widget)
- COMMON: Add 'Reset Frame Time Counter' functionality, enable it by default for resizing the window, loading/saving shader presets, fastforwarding, etc.
- COMMON: Add optional 'on demand' thumbnail downloads
- COMMON: Add new playlist-based thumbnail downloader. Hide the legacy thumbnail pack version by default
- COMMON: Show license per core (if available) inside 'Load Core'
- COMMON: Add option to load content from (and dump) CD-ROM discs
- COMMON: Re-enable '--log-file' command line option
- COMMON: Default playlist core association is now stored as metadata inside each playlist
- COMMON: Fix playlist format detection
- COMMON: Favorites playlist size can now be set independently of content history size. Values can be set from 0-999, or '-1' for unlimited (99999)
- COMMON: Prevent adding new items to favorites when playlist is full (old entries are no longer overwritten)
- COMMON: Prevent loading content with cores that require an incompatible graphics API version from the current one
- COMMON: Saved shader presets are now portable across platforms and use relative paths
- COMMON: Add '--set-shader' command line option which works like an override for automatic shader presets
- COMMON: Add global shader presets
- COMMON: Remove 'video_shader' setting, shaders are not saved automatically anymore
- CORE OPTIONS: When saving core option overrides, only include settings for the current core
- CORE OPTIONS: Add option to save core options per-core
- CPU FILTERS: Add Scanline2x filter
- DINPUT: Cleanup magic numbers mess surrounding hat code
- GAMECUBE: Add default video/audio filter directories
- GL/MALI400: Fix menu issues on Mali 400 series GPUs, should also fix 'RetroArch flickers black on ARM Mali GPUs (Android/ARM Linux)
- GL/GLCORE: Use highest supported OpenGL Core version on Windows and X11
- GL1: Ignore alpha in core video, fixes XRGB8888 rendering in some cores
- GLCORE: Don't hardcode shader cross compilation target version but poll it. glcore would always only use the minimum target shader version, i.e. GLSL ES 3.00 for OpenGL ES 3.0+ or GLSL 1.50 for OpenGL 3.2+
- GLCORE/SLANG: Added "FrameDirection" slang semantic
- HID: Add Retrode support. Should work on Wii/WiiU.
- INPUT: Menu toggle hotkey can now be bound to another keyboard key and it will toggle properly
- LIBRETRO: Add new core options interface, allows for localization, sublabels and more
- LIBRETRO: Add new bitmask input codepath, for RETRO_DEVICE_ID_JOYPAD only for now
- LOCALIZATION: Update Korean translation
- LOCALIZATION: Update Japanese translation
- LOCALIZATION: Update Portuguese Brazilian Translation
- LOCALIZATION: Update Polish translation
- LOCALIZATION: Update Turkish translation
- MENU: Add smooth ticker text
- MENU: Ability to hide every settings submenu (User Interface -> Views -> Settings)
- MENU: Ability to hide nearly every quick menu entry (User Interface -> Views -> Quick Menu)
- MENU: Fix longstanding menu display issues on Mali400 GPUs (on ARM hardware, SBCs and mobile phones/tablets)
- MENU: Fix Record -> Streaming Quality, and Record -> Recording Threads settings
- MENU: Fix history playlist navigation after running content
- NENU: Menu entry performance optimisations
- MENU: Add option to show 'remove playlist entry' only on history/favourites
- MENU: Overhaul content 'Information' menu display
- MENU: Add new 'Playlist Management' submenu. Allows default core associations to be set (via dropdown list), and all existing associations to be reset
- MENU: Add 'Set Core Association' option to Quick Menu
- MENU: Add option to remain in menu after saving/loading states
- MENU: Pressing the Start button on 'Load Core' will unload the core.
- MENU: After a core is running, Load Core will be hidden from view until you select 'Close Content' from the Quick Menu.
- MENU/WIDGETS: All widgets are now properly cleaned up, fixing the frozen widgets bug when loading / closing content
- MENU/WIDGETS: Fix crash with tasks
- MENU/WIDGETS: Widgets are now drawn above the overlay with OpenGL and Vulkan
- MENU/WIDGETS: Fine tune progress bar colors
- MENU/WIDGETS: Have the progression widget always resize
- MENU/THUMBNAILS: Ensure that displayed thumbnails are always refreshed correctly after selecting 'Download Thumbnails' from Quick Menu
- MENU/THUMBNAILS: Make PNG image loading/processing non-blocking on non-threaded systems
- MENU/OZONE: Add it for PS3
- MENU/OZONE: Fix regression in 1.7.7 - OSX/macOS - was unable to start it
- MENU/OZONE: Fix sublabel spacing
- MENU/OZONE: Add toggle to enable/disable playlist name truncation in Ozone
- MENU/OZONE: (Ozone) Fix display of (semi-)transparent thumbnails
- MENU/XMB: Add menu animation settings
- MENU/XMB: Add optional thumbnail scaling
- MENU/XMB: Fix display of long sublabels. Text that would exceed the display area now scrolls line-by-line
- MENU/XMB/OZONE: Add optional thumbnail upscaling
- MENU/QT/WIMP: Add core option sublabels as tooltips, add buttons to reset one/all core options
- MENU/QT/WIMP: Word-wrap core option tooltips
- MENU/QT/WIMP: Path selector fixes
- MENU/RGUI: Enable playlist display on platforms without database support
- MENU/RGUI: Make particle effects framerate independent + add animation speed setting
- MIDI: correct pitch bend in ALSA driver - MIDI standard pitch bend center position is 0x2000 but ALSA's is 0
- MIDI: Fix SysEx handling. We need to clear the event status after each message. Otherwise, after a SysEx message the first byte of the next event will incorrectly inherit its delta_time. This causes a delay of several seconds in nearly every MT-32 games which uses a lot of long SysEx.
- METAL/SLANG: Added "FrameDirection" slang semantic
- NETBSD: Audioio is now the default audio driver
- NETBSD: Fix a segfault when starting RetroArch with an empty configuration file and LANG unset in the environment
- OSD: OSD is now drawn above the overlay with Vulkan
- OSX: Fix regression with Cocoa GL - shader / preset loading was getting stuck in an infinite loop
- OSX: Add improved menu resizing for window resizing
- PLAYLISTS: Add history/favourites to 'Playlist Management' menu
- RECORD: Fix Twitch streaming
- REMOTE RETROPAD: Fix for Remote RetroPad input - fixes processing of Remote RetroPad input. None of the remote inputs are being executed both in menu and in game. This is due to the way current key binds are being detected which block processing of any remote input. It's been tested using Remote RetroPad core on Android including digital dpad and analog control input.
- RUNAHEAD/MSVC2010: Build in runahead support for MSVC2010 and up
- SAVESTATES: Allow auto save states also in cores that support no content as long as some content is loaded
- SCALER: Fix SSE2 path for ARGB/BGRA -> BGR24 - should fix screenshots being taken for XRGB888 (viewport)
- SCANNER: Skip all databases with incompatible file extensions, whether content is inside an archive or not
- SCANNER: Fix hang on empty files inside archives
- SHADERS: Add proper shader compatibility checks
- SHADERS: Remove 'video_shader' setting, replace it with global presets that make more sense
- SHADERS: #reference directive for shaders. Presets can point to other existing presets if they are unchanged
- SHADERS: Will attempt to cache the shader/preset into memory before loading to avoid costly getline/gets/getc operations
- SHADERS: New --set-shader commandline option
- SHADERS/MENU: Prevent undefined behaviour when failing to load shaders
- SHADERS/MENU: Pressing the Start button on 'Load Shader Preset' will reset all shader passes and apply changes, effectively disabling the shaders
- SHADERS/MENU: New menu options for removing shader presets (global/core/parent/etc).
- THUMBNAILS: Add optional On-Demand Thumbnails.
- UDEV: Fix wrong udev devices order
- UDEV/X11: Mouse pointer should work now in X11 environment with no Display
- VULKAN/SLANG: Added "FrameDirection" slang semantic
- VULKAN: Add option to select which GPU to render with
- VULKAN: Validate non-causal filter chain for texture inputs. We only validated for UBO inputs apparently.
- X11: Add improved menu resizing for window resizing
- X11: Add non-evdev keycodes to fix keyboard input on non-Linux systems with X11
Bugs fixed in 4.0.4 (total 65):
* NEXON client installers using embedded IE browser control: buttons don't respond to click (Lunia Senki, Combat Arms, War Rock)
* Microsoft Document Explorer 2008 crashes when using MS Help 2 URL from command line (ieframe's WebBrowser COM object doesn't support aggregation)
* Password Safe crashes with page fault when renaming entries
* Brothers In Arms Hell's Highway : Setup asks for DVD for every .cab file (SetupPromptForDiskA/W should only show a dialog if the file doesn't exist)
* LegoLand: crashes at main menu without native directmusic
* TSDoctor 1.0.58 fails to run
* treeview wstr overrun in TVN_GETDISPINFOW (ExamXML crashes when opening an XML file)
* UFO: Extraterrestrials Gold - crash at start caused by wine's built-in dsound/directmusic
* GdipGraphicsClear() needs to overwrite pixels, not alpha blend (Text misrendered in Brain Workshop)
* Skyrim (Steam) hangup on quit
* In The Adventures Of Lomax some graphic elements flicker, disappear or are garbled
* Problems with Russian localization in page setup dialog
* using winegcc with stdin passes arguments in the wrong position to gcc
* FXCM Trading Station II installer reports 'OLE error 80004001' when running as 'Windows Vista' or higher ('ITaskbarList3::ThumbBarSetImageList' is a stub)
* 64-bit dlls/msdaps/row_server_p.c generates build warnings (discarded "const" qualifier)
* Broken geometry in Indiana Jones and the Emperor's Tomb
* Broken Sword: The Angel of Death demo needs IDirectSoundFXI3DL2Reverb interface
* The Moment of Silence launcher unusable (displays only black)
* Wine with freetype 2.7 causes font rendering issues
* The Witcher 2: Assassins of Kings - menus and subtitles rendered incorrectly (with built-in d3dx9)
* VSDC Video Editor. Crashes in ole32 when opening.
* HashMyFiles: Drag & Drop from native File Managers (Dolphin, Nautilus, ...) does not work
* Multiple .NET applications (Chime, DxO Photolab 2 trial) crash, need RegisterApplicationRecoveryCallback to return S_OK
* Tetris for Windows has wrong colors for the game pieces and the score box
* HotS - taking screenshot causes client crash, needs d3dx11_42.dll.D3DX11SaveTextureToFileW
* Far Cry 5 Cannot Steer Land Vehicles
* Multiple applications need msvcr120.dll.?_Yield@_Context@details@Concurrency@@SAXXZ (Darkest Dungeon, Noita, Amazon Kindle for PC)
* Shed installer - text overflow in browse-for-folder dialog
* Abiword 2.6.8 comboboxes should have a white background color
* μTorrent has squares in its update dialog
* Smoke not rendering properly in Castlevania: Lords of Shadow 2
* IVMU Social Network Client (500 series) crashes when selecting menu / settings
* Adobe DNG Converter 11.2+ runs into Call to unimplemented function api-ms-win-core-winrt-error-l1-1-0.dll.GetRestrictedErrorInfo
* winetricks -q --verify dotnet461 crashes under win64
* type command in cmd.exe with two files and stdout redirect, behavior is different
* boolean type defined as 'unsigned char' rather than 'char'
* 32-bit LAVFilters 0.74.x installer fails to register 64-bit AX codec/filters in Wow64 environment (32-bit regsvr32.exe needs to support 64-bit dll registration and vice versa by re-exec with proper bitness)
* Multiple 64-bit game and application crash reporting tools need x86_64 'ntdll.RtlCaptureStackBackTrace' implementation
* Glide wrapper - Configuration buttons misbehaving
* Accel World vs. Sword Art Online needs WTSRegisterSessionNotificationEx() to return true.
* ListBox LB_SETSEL doesn't scroll to newly selected item
* _putws outputs NULs, other wchar.h functions don't
* ExHIBIT (Sample Project): Can't select menu item in the title screen
* Zoom Edit&Share 5.0.0.0: installer crashes starting with wine-3.19
* commit "winex11.drv: Wake up the display on user input." introduced severe performance issues with atomic modesetting kernel drivers
* iCloud refuses to install: "Your computer is missing Media features."
* putty.exe displays an error at startup when placed in a path with accented characters.
* Magic: The Gathering Arena installer needs powershell.exe (cannot find it)
* FindFirstFileExW believes every directory entry has been read if NtQueryDirectoryFile underfills buffer
* FindFirstFileExW seems to be missing FILE_OPEN_FOR_BACKUP_INTENT flag to NtOpenFile
* Need for Speed: Carbon - Autosculpt causes geometry corruption and GL_INVALID_OPERATION error
* Blur: cars have no wheels when Wine is compiled with Ryzen optimisations
* Nextiva: Logging in fails with "Client is unable to connect to the server."
* IGMP source specific multicast does not create join requests for source
* NtCreateFile incorrectly returns STATUS_OBJECT_NAME_NOT_FOUND when RootDirectory is populated
* R-Studio (file recovery tool) wants ntoskrnl.exe.IoCreateUnprotectedSymbolicLink
* motec i2 pro v1.0 data logger fails to start
* Multiple applications need shcore.dll.GetScaleFactorForMonitor stub (Karafun player, Sync)
* UPlay fails to start : "Error at hooking API NtProtectVirtualMemory" (UPlay's hooking engine can't handle ENDBR32 instruction inserted at non-hotpatch API entries due to distro build environments '-fcf-protection')
* Visual C++ Express 2005 needs shell32.PathResolveW implementation (or fake success)
* Wrong color mapping with client-side graphics on 256-color X server
* IXMLDOMDocument_load() paths aren't URL-unescaped (Microsoft Document Explorer 2008 startup error)
* Building wine on CentOS7 fails due to lack of libkrb5
* Dell Latitude E6440 BIOS updater crashes on unimplemented function ntoskrnl.exe.KeSetImportanceDpc
* Arma Cold War Assault: Cursor stuck at low fps since Wine 5.0-rc6
configure already had the logic to gracefully test for nvmm and if the
corresponding nvmm variable is set to an empty string do that.
No functional nor binary change intended except a CONFIGURE_ARGS difference.
Fixes PR pkg/55049.
Thanks Yasushi Oshima for reporting this problem, sharing an initial
patch and further testing the version committed now!
There's not much point to this package right now since emulators/wine
is newer and we can't newer than that without breakage happening. This
package can be brought back when someone feels like fixing and packaging
newer wine devel branches.
The most recent stable version (5.0) is known to be problematic due to
the need for individual programs to link against msvcrt.
Based partially on zerous's "wine32" package in pkgsrc-wip.
Includes several years of changes.
This package does not include WoW64 support, so you can't run 32-bit
binaries on a 64-bit system. That's for later...