-
Notifications
You must be signed in to change notification settings - Fork 131
Expand file tree
/
Copy pathCHANGELOG
More file actions
452 lines (418 loc) · 20.4 KB
/
Copy pathCHANGELOG
File metadata and controls
452 lines (418 loc) · 20.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
v1.11.2
=======
* [All] Add context menu to recent games list:
- Remove from recent games list
- Add to favorites
- Set as autoboot
* [All] Fix autoboot not booting on some games using enhancement chips
v1.11.1
=======
* [All] Autoboot: set a ROM as autoboot from the context menu to launch
automatically on power-on; hold a button during boot to skip autoboot
and return to the menu
* [All] Add config toggles for autosave and MSU-1 autosave independently
(config.yml: autosave, msu1_autosave)
* [All] File browser now shows .SGB files
* [All] Early boot screen shows hardware maker, model, and revision
* [All] S-DD1: Detect ROMs larger than 48 Mbits and support "mixed mapper" SRAM
layout (this fixes the PT-BR translation of Star Ocean)
* fixes:
- [All] SA-1: fix execution speed regression introduced in v1.10.0
- [All] SA-1: implement CCNT_RESB wait bit — SA-1 now correctly halts
after last completed instruction on suspend (no known commercial
game uses this but improves correctness)
- [All] SuperFX: fix branch latency and readjust memory latencies for
improved accuracy (improves synchronization in Star Fox credits)
- [All] SuperFX: revert bus sampling timing to fix stability regression
- [All] SGB: fix real-time clock (RTC) behavior
- [Mk2] SGB: fix controller multitap handling
- [All] MSU-1: eliminate static buzzing noise on track change
- [All] MSU-1: fix audio/video desync in video player
- [All] MSU-1: fix data buffer address not incrementing at end of DMA
- [All] MSU-1: speed up bulk PCM file scanning used by some games
- [All] Save states: fix bug where loading didn't wait for slot change
to complete before proceeding
- [All] Save states: add compatibility patches for more games
- [All] BS-X: fix loading of bytecode ROMs (e.g. BS Magazines)
- [All] Fix cursor and refresh glitches in Favorites menu
- [All] Fix wrong game video mode when running in SuperCIC pair mode
- [All] Fix shutdown when saving settings on unmodified consoles
- [All] Fix combo ROM detection broken by SGB merge
- [All] Fix DMA write snoop conflict in base core (fixes save state related
issues in Chrono Trigger)
- [All] Fix flickering screen on boot error messages when card is write
protected
- [Mk2] Fix green and yellow LED not lighting up at all
v1.11.0
=======
* [Pro] Add hardware support for FXPAK Pro Rev.D
* [All] USB (usb2snes) support by RedGuy
* [All] SGB support by Redacted173
* [All] save state support (via USB/savestate2snes) by RedGuy, based on code
by acmlm, total, Myria
* [All] stand-alone save state features by FURiOUS, with compatibility
improvements by ikari_01
* [All] favorite games list by freelancer42
* **NOTE**: save states are currently only available on games without
expansion chips.
* fixes:
- [All] Fixed data caching bug in MSU1 data extension which could cause wrong
data to be streamed
- [All] Savestates: do not try to capture data that is already in cartridge
space anyway (e.g. SRAM). Fixes text distortion in Near’s Bahamut
Lagoon translation when loading a state.
- [All] Fixed YAML config parser to support comment signs after list start
items
- [All] Fixed SNES open-bus contamination (fixes sprite flickering in Near’s
Bahamut Lagoon translation, certain speed runs that rely on open bus
behaviour)
- [All] (hopefully) fixed rapid data line toggling sometimes resulting in
address line glitches, causing random crashes in extreme cases, and
occasional garbled graphics on SMRPG among others
- [All] Fixed data integrity problems when loading BSX games
v1.10.3
=======
* fixes:
- [Mk2] Revert S-DD1 bitfile to earlier build which happens to less expose a
timing hazard. This will need further examination for a proper fix.
Fixes severe glitches with S-DD1
- [All] Fix swapped logic terms in SA-1 and SuperFX RAM write cycles. Fixes
severe glitches on SA-1 and SuperFX on Mk.II units; The bug was also
present in the Pro firmware but didn't seem to have much of an effect
- [All] Fix game video mode setting in SuperCIC pair mode
v1.10.2
=======
* fixes:
- [Pro] fix wrong data ROM size on uPD96050 core -> F1 ROC II track is shown
properly.
- [Pro] fix S-DD1 address mirroring -> Star Ocean works
- [Pro] correct Cx4 core speed from 96MHz to 80MHz
- [All] apply volume boost after FPGA reconfiguration
(fixes MSU1 volume boost on Cx4, OBC1, SuperFX, SA-1, S-DD1)
- [All] fix S-DD1 writes going to the wrong address on concurrent MCU
accesses (saving not working in Star Ocean)
- [All] avoid potential data corruption on MCU writes (e.g. SPC loading)
- [All] Workaround for Super Nt not booting when CIC enters pair mode
successfully
v1.10.1
=======
* fix bug preventing boot on sd2snes Mk.III...
v1.10.0
=======
* add S-DD1 support by magno
* initial firmware release for sd2snes Mk.III ("sd2snes pro")
* fixes:
- fix memory corruption on BS-X loading
- reset S-RTC read state on all load and reset occasions
v1.9.0
======
* add SA-1 support by RedGuy
* add partial SRAM change detection for known games (SuperFX/SA-1) by RedGuy
this enables sensible autosaving for games that use part SRAM as work RAM,
without having to resort to periodic saving. I added some more games to the
known CRC list.
Note that this feature performs full ROM CRC calculation after loading and
running the ROM so firmware is unresponsive to in-game hooks and resetting
for a couple of seconds after the game has started. I have some ideas for
optimization.
* add option to always go back to menu when resetting
* add LED brightness setting
* add an option to start out with cheats enabled or disabled
* disable Satellaview emulation when a real Satellaview unit is present to
avoid conflicts and facilitate Satellaview development
* add SNES CPU <-> PPU clock phase alignment correction on reset
(fixes flickering sprite slabs e.g. giant Frog in Chrono Trigger, sprites in
Kirby Super Star, Star Ocean...)
* show current effective video mode (50/60Hz) in System Information
* fixes:
- earlier signal edge detection, improving stability on some consoles
- fix timing of auto region patching
- fix brightness patching for games that use HDMA to set brightness/blanking
- fix an occasional lockup when loading a game that uses OBC-1/SuperFX/SA-1
- fix SuperCIC pair mode entry for consoles with <= 3.072MHz CIC clock
- reset S-RTC register state on reset
v1.8.0
======
* add SuperFX support by RedGuy (v10)
* add support for ExLoROM (LoROM > 32 Mbits)
* disable in-game hooks by default
* add brightness patching to correct RGB output levels on 1CHIP consoles
* add mid-screen brightness change fixes for 1CHIP consoles:
- avoid change of brightness (bits 0-3) when forced blanking is used
- on bigger brightness change steps, substitute brightness 0
-> less sync distortion in Rudra's Treasure text boxes
-> visible shadow in A.S.P. Air Strike Patrol
- known issue: HDMA writes are not handled correctly
* some menu improvements:
- Menu entries can now be printed in grey when some condition is (not)
met. A function call is used to determine the status with the carry flag
as a boolean return value. Disabled menu entries can still be changed
for when they become active again.
- Also a change hook function can now be used in the menu structure. It is
called whenever the value is changed during setting, e.g. to immediately
reflect / preview the setting made.
* change versioning to eliminate the useless "v0." and gain a meaningful
subversion at the end
v0.1.7e
=======
* fix critical DAC timing quirk causing audio distortion with MSU1
* fix clock glitch on SD card access leading to audio/video distortion
with MSU1 in rare cases
* properly map SRAM to banks f0-ff instead of f0-fd in Mode 20 ("LoROM")
memory map
* add support for headered bsxbios.bin
* Slight SD Card read performance optimization for MSU1
(try and avoid unaligned reads)
* Change initial SRAM fill value (by devinacker)
- fixes Ken Griffey Jr., Ou-chan, possibly other games that handle
checksums badly
* Always start game on PPU2 field 0
- Theoretical compatibility improvement
v0.1.7d
=======
* reworked the in-game hook code again, squeezing out a couple more CPU
cycles - compatibility improved further
* BS-X: new bsx page file by LuigiBlood!
- contains a proper channel map, notably fixes Fuurai no Shiren: Surara o
sukue and most likely more games
- enables a great number of town features
* BS-X: better detection for script-type ROMs (e.g. various magazines)
* Cx4 SKIP instruction timing sped up a bit. Core felt a bit too slow.
(this is a makeshift "fix" until I implement the proper Cx4 instruction
timing I recently figured out)
* fixes:
- fixed occasional black screen after soft reset (L+R+Select+Start)
- in-game hook memory area visibility quirks fixed in various situations,
notably fixes BS Kirby no Omochabako: Pinball
- BS-X: fix PSRAM corruption on SNES WRAM writes, fixes a number of
games, notably BS Kirby no Omochabako: Pinball (tough one)
- PPU2 H/V count odd/even read flag is reset on ROM load, this fixes
games that depend on it when run after games that leave it in a dirty
state - notably audio glitches and freezes in Super Punch-Out when run
after Fuurai no Shiren.
- SPC Player: Fixed a long-standing transfer corruption bug that occurred
because the original bulk transfer routine didn't account for CPU stalls
by HDMA (which is abundant in the sd2snes menu). This fixes occasionally
missing instruments, corrupted samples etc.
- fixed an occasional deadlock on bootup where the menu would hang at the
"Loading..." screen.
- fixed hard freeze when selecting a file immediately after disabling the
"Hide file extensions" option
- fixed persistent hard freeze in recent games list handling when running
games with long path names (> ~120 characters)
- revert DAC I2S timing to pre-v0.1.7c behaviour, hopefully reducing audio
glitches for sd2snes Rev.G units
- fixed corrupted file list display after playing an SPC file with a
scrolled file name
* cosmetic changes:
- "Loading" window is replaced by status bar notification to be less
disruptive with very short load times
- configuration settings no longer have the wrong color when changed
v0.1.7c
=======
* reversed changelog order =)
* reworked the in-game hook code, with more help from the FPGA, to
significantly reduce CPU footprint. This improves hook compatibility
with a variety of games.
* in-game hook: avoid disruption of manual controller reads
(fixes controls in Super Star Wars games)
* new option: "Hide file extensions" (effective after next directory change)
* do not silently fail to load saved games when the sd2snes/saves folder does
not exist (create the folder instead)
* do not silently fail to save cheat files when the sd2snes/cheats folder
does not exist (create the folder instead)
* Cx4 core now runs at exactly 20Mhz
* fixes:
- MSU1: avoid missed control register status changes on rapid rewrites
(fixes FF3 Dancing Mad, Zelda FMV missing audio)
- fix $213f register patch timing (hopefully)
- fix DSP1 header detection (fixes Ballz 3D JPN)
- add reset hook to boot games on start of frame only (fixes Boogerman PAL)
- clear entire SPC700 RAM (do not spare IPL area) - fixes echo artifacts
in many games
* minor cosmetic changes
- resize SPC player loading window
- prevent flickering letters on System Information screen
v0.1.7b
=======
* sd2snes folder is always hidden again
* fixes:
- fix garbled time on initial clock setting (new unit or battery replacement)
- fix BS-X not booting/booting incorrectly after soft reset
- fix OBC1 being always disabled
- fix firmware crash when saving after using the serial command line
v0.1.7a
=======
* fixes:
- fix deadlock on MCU-SNES negotiation due to truncated bootstrap routine
(fixes firmware lockup on booting Zelda 3 after soft-reset)
- fix garbled default date for BS-X date+time (date record was backwards)
- fix incorrect saving of "Auto Region Patch" setting
v0.1.7
======
* cheat support (YML files) with WRAM capability
* reworked configuration file (plain-text YML)
* in-game buttons
- L+R+Select+Start: reset game
- L+R+Select+X : reset to sd2snes menu
- L+R+Start+Y : kill in-game buttons (for compatibility issues)
- L+R+Start+X : kill in-game buttons for 10 seconds
- L+R+Start+B : disable cheats
- L+R+Start+A : enable cheats
* CONFIGURATION MENU:
- date+time
- BS-X time can be toggled between real-time/custom
- custom date+time for Satellaview
- toggle screen dimming
- toggle directory sorting (speed-up on pre-sorted cards)
- MSU1 volume boost
- Cx4 DSP core speed
- in-game functions (buttons, WRAM cheats, initial holdoff "stealth")
- auto region patching
- video mode settings for SuperCIC consoles
* file browser:
- L+R can be used to move to start/end of directory listing
- end of directory listing is aligned so the last entry is at
bottom of screen
- Last played game is always moved to top of list of recent games
- on-the-fly directory browsing, no more lengthy database creation
- "Loading" window
- do not show dotfiles, hidden and system files in browser
* compatibility:
- better support for part-sized BSX dumps
- fix BSX detection for games with 2 startups left
- emulate Type1 BSX memory pack instead of Type2 (Super Bomberman 2)
(BSX BIOS itself crashes on Type2 packs with "copy to PSRAM" flag)
- initialize APU RAM to support ("fix") buggy sound routine of Soul Blader
- properly de-init DMA to $ff (fix Pocky&Rocky US, SGnG, SSF2)
- initialize SaveRAM before running the game so we don't miss very
early saves
- enable S-RTC only when needed (fix Super Play Action Football)
- initialize WRAM (fix GP1 Part II)
- fix wrong offsets in mapper detection (fix Human Grand Prix)
- experimental SRAM mapping for Cx4 (for ROM hacks)
- sample SNES data to obtain valid data on end-of-cycle events
(fix driver/track glitches in Super Mario Kart)
- remove faulty multicycle constraints from Cx4
(fix random "register file error" messages)
* MSU1 enhancements:
- MSU1 volume boost
- MSU1 resume feature implemented (Thanks to Michaël Larouche!)
- interpolation filter to reduce aliasing, resulting in cleaner sound
- fixed DC offset where volume is applied to the waveform
(eliminate clicking/humming on volume change/fade)
- changed MSU1 audio playback rate to exactly 44100Hz to match bsnes/higan
implementation
* Ultra16 awareness (mostly thanks to borti4938!):
- show Ultra16 serial number and autoboot setting in the System Information
- support SPC player warm-boot on Ultra16 consoles
- prolong soft reset on Ultra16 consoles to prevent accidental entry
of Ultra16 menu
- disable auto region patching on Ultra16 consoles to prevent bus conflicts
* misc:
- rework GUI code (backbuffer stack, reentrant menus, etc.)
- simpler, more compatible memory sharing FSM
- cosmetic changes, make the GUI a bit more spiffy
- only reconfigure FPGA on demand (faster soft reset)
- on-the-fly SD card swapping supported (re-init on demand)
- Cx4 table ROM embedded in FPGA configuration (deprecate cx4.bin)
- new FatFS version
- moved MCU command interface from "ROM" to FPGA block RAM
- SRM files are now saved under "sd2snes/saves/<romname>.srm". existing
SRM files are moved during save.
* fixes:
- fix menu bug where time is displayed incorrectly (thanks to devinacker!)
- fix occasional FPGA lockup on power-up
- properly initialize MSU1 state
- automatically remove missing ROM files from "recent games" list
(Thanks to borti4938!)
- fix feature flag error where auto region patch was always on for Cx4
v0.1.6
======
* OBC1 support (Metal Combat: Falcon's Revenge works)
* menu now displays the 10 most recently played games instead of one
* hidden and system files are now ignored in the file browser
* some minor internal changes for convenience of development
* Fixes:
- partial-size BS dumps should now load correctly
- fixed a PSRAM mapping bug in the new BS-X mapping logic that caused
graphical corruption on some games (notably Treasure Conflix garbled
sprites)
- SRAM mapping for LoROM <=16Mbits now uses the entire bank instead of
0000-7fff only. Fixes saving in some games, e.g. Ys III Wanderers from Ys
v0.1.5
======
* Sort directories by entire file name instead of first 20 characters only
* Correctly map SRAM larger than 8192 bytes (HiROM) / 32768 bytes (LoROM)
(fixes Dezaemon, Ongaku Tsukuuru - Kanadeeru)
* SPC player: fix soft fade-in (first note cut off) on S-APU consoles
(1CHIP / some Jr.)
* More accurate BS-X memory map
* Ignore input from non-standard controllers (Super Scope, Mouse etc.)
* Fixes:
- minor memory access timing tweaks
(should help with occasional glitches on some systems)
v0.1.4a (bugfix release)
========================
* Fix DMA initialization in the menu (could cause sprite corruption in some games)
v0.1.4
======
* SPC Player (contributed by necronomfive/blargg)
* System Information screen now shows CPU/PPU revision (contributed by necronomfive)
* Satellaview: basic data transmission packet support (makes some more games boot, thanks to LuigiBlood for assistance and sample data packets)
* Number of supported files increased to 50000 per card / 16380 per directory
* Slight speedup of menu text rendering
* Reduce load time of menu
* Adjust Cx4 timing to be more faithful
(Mega Man now defeats the boss in attract mode in Mega Man X2)
* adapt ROM mirroring size to file size if header information is invalid
(fixes Super Noah's Ark 3D, possibly others)
* MSU1 interface changes suggested by byuu:
- Data offset 0 and audio track 0 are automatically requested on reset.
This causes the busy flags to become 0 shortly after reset/startup.
- $2000 bit 3 is now "audio error", becomes valid after "audio busy" -> 0
set when an error occurred while preparing playback of the requested audio track
* write LED stays on when SRAM content changes constantly
* Fixes:
- fix empty save files on FAT16 / incorrect free cluster count on FAT32
- correct directory sorting (force parent directory at top of list)
- fix text corruption when entering a directory with a scrollable name
- fix files/dirs count in system information
- make 'sd2snes' directory hiding case-insensitive
- improve DAC I²S timing
- fix occasional palette corruption in menu
- fix SD clock glitch on ROM loading (occasional glitches/crashes)
- fix memory write timing on ROM loading (occasional glitches/crashes)
- fix SPI timing (ROMs not loading; System Information not working)
- properly synchronize SNES control signals (occasional glitches/crashes)
- fix floating IRQ output (occasional glitches/slowdowns)
v0.1.3
======
* Updated logo gfx with new version from klaptra
* Updated font to distinguish between 1 and I
* Menu layout adjusted to move status line up by 4 scanlines
* Run previously loaded game by pressing Start in the menu
* Auto-scroll file names that do not fit the screen
* SD access time measurement on System Information screen (takes a while!)
* Cx4 memory map: mirror ROM to 40-7e/c0-ff (fixes MMX3 Zero patch)
* Some FPGA configuration error detection (mainly useful for hardware diag)
* Fixes:
- FPGA-side SD clock pullup (increases reliability with some cards)
v0.1.2
======
* New menu entry: "System Information"
* Auto region override (eliminate "This game pak is not designed..." messages)
* Improved mapper detection (fixes Batman vs. Joker and many PD ROMs)
* Improved data streaming performance
(should reduce MSU1 errors with some cards)
* A and B buttons swapped in menu to match common key mappings
* Fixes:
- MSU1: Stop audio playback on end of audio file
v0.1.1a (bugfix release)
========================
* Fixes:
- SuperCIC pair mode was erroneously enabled in firmware binary
- SNES menu crashed on empty database
v0.1.1
======
* initial public release