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