* WARNING: Backward-incompatibility!
Previously appending using '+=' to an empty variable would result in a value
starting with a space. Now the initial space is only added if the variable
already contains some value. Similarly, appending an empty string does not
add a trailing space.
https://lwn.net/Articles/810071/
When Near took down byuu.org, he also removed the images that the bsnes
README was ointing to. He gave me backups of data from the site, including the
images used on the bsnes homepage, but apparently the README used different
images hosted in a different location.
I've replaced the missing images with ones from the bsnes homepage that
look reasonable.
updateControls assumes that when activeMapping is set, an item from
mappingList is guaranteed to be selected. However, there are several
scenarios that break this assumption:
- changing port during an active mapping
- changing device during an active mapping
- reloading the input driver during an active mapping
In all of these cases, updateControls is eventually called. It sees an
outstanding activeMapping and proceeds to figure out the offset of the
currently selected item, but since there are no selected items it ends
up dereferncing a null pointer.
The assumption can be honored by having reloadMappings cancel the
outstanding activeMapping, thus preventing a crash.
Fixes#4.
* improved appended firmware detection [devinacker]
* added dynamic rate control support to ALSA and PulseAudio drivers [RedDwarf]
* added option to use native file dialogs
Dot PPU: latch fine BG Hscroll at H=0 instead of H=56
(fixes minor scanline issues in Full Throttle Racing scoring screen)
(note: exact latch position is not currently known)
Serialize SDD1 PEM
(fixes run-ahead in Star Ocean)
Dot PPU: calculate nameTableIndex and characterIndex from ppu.hcounter()
(fixes scanline glitch in Great Battle IV)
Dot PPU: do not latch BG H/V scroll registers
(fixes Air Strike Patrol raster effects)
(fixes Septentrion glitchy scanline)