📄 changes
字号:
Changes
"""""""
The following describes the layout of this changelog.
In releases with contributions from multiple developers:
---
Version number
Area of project changed: Description of change [developer]
---
In releases with contributions from a single developer:
---
Version number [developer]
Area of project changed: Description of change
---
Changes from older releases may not classify changes by area of project.
Developer abbreviations:
TRAC Charles Bilyue'
DBJH Daniel Horchner
0.831
5A22: Changed emulation-mode interrupts to NOT zero data bank
register - thanks to Overload for pointing out that the SNES CPU
does not do this [TRAC]
Source: Fixed a bug which prevented compilation on some setups,
including BeOS [DBJH]
Sound: Added 8-sample delay before key-on completion [TRAC]
Timing: Fixed up some IRQ setup logic bugs introduced by the
NMI logic improvements [TRAC]
Render: Fixed a few bugs where some window settings were not
affected by reset [TRAC]
0.83 [TRAC]
Sound: Fixed a bug in envelope height reading of channels that weren't
playing; value to be read wasn't being updated, fixes Secret of
Evermore
Sound: Improved envelope timing when envelope settings changed for
playing voices
Sound: Altered audio code to base timing on samples instead of cycles
Sound: Added countdown register emulation to envelope and noise
timing
5A22: Corrected emulation-mode interrupts to zero data bank register
Documentation: Corrected Win32 port compilation requirements, other
minor improvements
5A22: Corrected emulation-mode behavior of many opcodes
5A22: Added variable bus speed emulation, and improved overall timing
5A22: Fixed some bugs in DMA
5A22: Changed DMA to no longer be able to access internal CPU registers
5A22: Added open bus emulation to A-bus
Render: Fixed a serious bug which could have some pointers used by
offset-change rendering not be initialized
PPU: Corrected a behavior of the H/V latches; reading register $2137
(SLHV) does NOT reset which bits will be read next
Timing: Changed scanline length back to 341 dots after research on the
hardware gave this number; still stumped about SGB and Shin Megami
Tensei
Timing: Improved NMI emulation; now supports delayed NMI,
as well as re-acknowledgement of NMI
Timing: Added consumption of clock cycles by general DMA
Timing: Changed default SPC700 CPU clock to 1.024MHz
Sound: Changed APU code to build with update-on-RAM-change by default
ROM loader: Added support for loading ROMs up to 64Mbit (autodetection
still needs work)
0.81
PPU: Greatly simplied VRAM read/write handling and readded VRAM read
buffering, thanks to anomie for convincing me to give it another
chance, and Overload for some information which fixed some
related glitches [TRAC]
Timing: Implemented partial HDMA timing [TRAC]
Render: Improved emulation of sprite priority rotation, thanks to
anomie for research [TRAC]
5A22: Improved RDIO emulation [TRAC]
Source: Moved emulation code for registers internal to the main CPU
($4xxx) to main CPU source files [TRAC]
Screenshots: Fixed a bug where screenshots were not properly saved in
some screen modes [TRAC]
SPC700: Fixed a serious bug in the handling of some 16-bit reads,
thanks to Brad Martin for alerting me to the problem [TRAC]
Render: Added countdown register support to mosaic effect in
modes 0-6 [TRAC]
Render: Fixed a tileset lookup bug in mosaic effect in mode 4 on BG1
with 16x16 tiles enabled [TRAC]
Render: Fixed a register corruption bug in mosaic effect in mode 4 on
BG2 with 16x16 tiles enabled [TRAC]
SRAM: Fixed a problem where SRAMs smaller than 64kbit would not be
mirrored on load [TRAC]
Render: Fixed an off-by-6 bug in mode 7 vertical flip [TRAC]
Input: Fixed a few bugs related to multiple 'sticks' in
joystick/joypad code, thanks to Harekiet for reporting [TRAC]
Render: Added correct limits to some intermediate calculations
in mode 7; values (BG1HOFS - M7X) and (BG1VOFS - M7Y) actually
produce 11-bit signed results, with the MSB taken from bit 13, not
bit 10; fixes Space Colony escape in Super Metroid; thanks to
Qwertie's Mode 7 Test which aided immensely in research [TRAC]
SPC700: Implemented correct RAM initialization pattern (fill each
byte with bit 5 of its address); thanks to Overload for research,
and MKendora for informing me of the findings [TRAC]
DMA: Corrected behavior of HDMA mode 5, thanks to anomie for the
information [TRAC]
Render: Added support for the undocumented OBJ size settings,
thanks to Charles MacDonald and anomie for research [TRAC]
Timing: Changed scanline length to 335 dots and adjusted frame timers
to compensate, to match the 61.17Hz NTSC SGB framerate; fixes demon
fusion in Shin Megami Tensei [TRAC]
5A22: Improved open bus behavior in several registers [TRAC]
Source: Eliminated need for building with a patched NASM on Win32
port, thanks to Nach for getting me to write the object patcher
[TRAC]
Source: Fixed object tree autogeneration [TRAC]
Logo: Another completely new logo! [Siloh]
0.80
Misc: Fixed a flaw where divide result registers were not changed
by division-by-zero [TRAC]
Input: Fixed a flaw in JOYC1 which caused SMB in Mario All-Stars to
not acknowledge the start button [TRAC]
Source: Seperated the makefile for the multiple ports [TRAC]
Documentation: Cleaned up and clarified the history, and moved it
to another file [TRAC]
Ports: Added Linux/Unix build support [DBJH]
Source: Contributed to the removal of some non-portable code and
more source clean-up [DBJH]
ROM loader: Reduced some problems with loading ROMs in non-absolute
paths [DBJH]
Ports: Added BeOS build support [DBJH]
Configuration: Improved the portability of code which handled
configuration file regeneration [DBJH]
Source: Fixed a few problems in variable declarations [DBJH]
GUI: Made ".." come first in the file list [DBJH]
GUI: Fixed some problems where text would be displayed outside a
window [DBJH]
Source: Reorganized the source tree [TRAC]
65c816: Fixed a serious design flaw in ADC/SBC emulation which caused
the overflow flag to be set to an unexpected state [TRAC]
Sound: Removed some extraneous and problematic compile-time directives
[TRAC]
Sound: Added clipping and saturation to gaussian interpolation filter,
thanks to Jonathan Gevaryahu (Lord_Nightmare) and Brad Martin for the
fixes [TRAC]
Timing: Moved display period to the start of scanlines [TRAC]
DMA: Fixed a bug where the B-bus address could not be changed to a value
equal to the DMA parameter for the same channel [TRAC]
Timing: Corrected normal display to 224 lines [TRAC]
Timing: Added support for latching 213C/213D counter registers via
register 4201 [TRAC]
Misc: Added support for reading .zip and .gz files [DBJH]
Render: Fixed a bug where dual-window AND logic would result in
an entire line being clipped if either window covered the
whole display [TRAC]
GUI: Cleaned up some usage of constants in the source [TRAC]
GUI: Moved some input-related code out of the GUI source [TRAC]
Input: Added support for using joysticks/joypads to emulate
controllers; must be set up in controller configuration in GUI
similar to keyboard input [TRAC]
Configuration: Changed format of scancodes for input mappings to
decimal [TRAC]
Timing: Improved PPU counter latch accuracy [TRAC]
Render: Restructured windowing code [TRAC]
Render: Added preliminary window clipping to mode 7 background [TRAC]
Render: Improved layering order in mode 7, helps Final Fantasy 6
world map [TRAC]
SRAM: Corrected LoROM SRAM address ranges, per a theory shared by
myself and MKendora [TRAC]
Memory map: Corrected ROM mirroring [TRAC]
ROM loader: Reduced some problems with starting the emulator in a path
other than the one where it is located [TRAC]
Render: Fixed some mode 7-related problems in Y's III and Illusion of
Gaia; it appears that the intermediate values (BG1HOFS - M7X) and
(BG1VOFS - M7Y) produce 10-bit signed results; thanks to SNES'9X
for help [TRAC]
0.776 [TRAC]
Render: Added support for dual window clipping with all logic
modes of backgrounds in modes 5 and 6
Render: Added full mosaic effect to modes 5 and 6
Render: Added support for offset change in mode 6
Render: Fixed an offset map addressing bug in all offset-change
renderers
SPC700: Improved CPU cycle count conversion accuracy in PAL emulation
Configuration: Removed support for old (pre-0.60) format .cfg files
to help simplify the code and solve a few bugs
0.774 [TRAC]
SRAM: Added support for mirrored SRAM at banks F0 and above in LoROM
memory map, helps Big Sky Troopers and others, thanks to MKendora
for the information
Render: Fixed a screen map addressing bug in 16x16-tile background with
mosaic renderer
Render: Fixed a pixel count computation bug in 16x16-tile background with
mosaic renderer
Render: Fixed a screen map addressing bug in 16x16-tile background with
offset-change and mosaic renderer
Render: Added support for dual window clipping with all logic
modes of 8x8-tile backgrounds with offset change and mosaic in
modes 2 and 4
Render: Added support for dual window clipping with all logic
modes of 16x16-tile backgrounds with offset change and mosaic in
modes 2 and 4
Interface: Changed filename prefix for screenshots
SPC700: Fixed a flaw in SPC700 timers that could cause fractional ticks
to be lost on timer startup
SPC700: Fixed a bug which caused the POP PSW opcode to not restore the
negative flag properly, thanks to Brad Martin for help with this
0.77 [TRAC]
SPC700: Fixed the SPC700 timer bug that was supposed to be fixed in
0.75; not certain how it didn't make it into the release
Sound: Fixed a serious bug which caused the sound to never be updated
on DSP register changes; allows the correct attack 15 timing to
work with FF4, thanks to MKendora and Brad Martin for getting me
to go back to it
Sound: Changed behavior of key on and key off registers, should
be more accurate
Render: Added support for dual window clipping with all logic
modes of 8x8-tile backgrounds with offset change and no mosaic in
modes 2 and 4
Render: Added support for dual window clipping with all logic
modes of 16x16-tile backgrounds with offset change and no mosaic in
modes 2 and 4
65c816: Fixed a bug in which caused the timing position of an IRQ on
a new scanline to be incorrectly computed; fixes a problem in
Tetris Attack
0.751 [TRAC]
Render: Disabled some debugging code that caused mosaic to be forced
on in background rendering, thanks to Andr俿 Tangir for pointing
this out!
0.75 [TRAC]
65c816: Corrected address wrapping in direct and stack addressing
modes, thanks to MKendora for pointing out these problems
65c816: Altered register allocation
SPC700: Altered register allocation
SPC700: Fixed a bug in the timers which caused them to be reset
to random values when turned on, thanks to Brad Martin for pointing
this out
Source: Removed some obsolete code and dependencies
Source: Started cleaning up many of the C label references in the asm
code
Render: Added support for dual window clipping with XOR or XNOR logic
modes of 8x8-tile backgrounds with no offset change or mosaic
Render: Fixed a bug where window clipping was not updated correctly
when changing layering order
Render: Added support for dual window clipping with all logic
modes of 16x16-tile backgrounds with no offset change or mosaic in
modes 0-4
Render: Added support for dual window clipping with all logic
modes of 8x8-tile backgrounds with mosaic and no offset change
Render: Added support for dual window clipping with all logic
modes of 16x16-tile backgrounds with mosaic and no offset change in
modes 0-4
0.74 [TRAC]
Render: Altered clip window setup code
Sound: Corrected behavior of invalid range values in BRR header byte,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -