⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes.txt

📁 著名SFC模拟器Snes9x的源代码。
💻 TXT
📖 第 1 页 / 共 5 页
字号:
  Thanks to John Stiles for pointing out that the Mac port didn't have the  missing music problem.- Fixed RGB subtraction bug on displays with only 5 bits for green, e.g. RGB555  displays. The GREEN_HI_BIT variable was always set to a value for 6 bit  green displays.- Added the SA-1 memory map, still a long way to go before any SA-1 game will   run.1.15- Jumped versions to keep in sync with the DOS port release.1.14- Improved 8-bit sound generation slightly, but it still sounds very poor  compared to 16-bit sound.1.13- Implemented the Tales of Phantasia memory map using the information supplied  by zsKnight. Had to also implement a de-interleave routine to work around  a ROM feature and Snes9x CPU instruction fetching implementation detail.- Added a frames-per-second on-screen display option.- Fixed the final glitch bug with the Mario Kart track display - the byte code  for the termination of the DSP1 raster command wasn't been recognised.- Disabled a NMI/DMA hack for Rise of the Robots, was causing problems for  Mario Kart and 'Robots wasn't working correctly anyway.- Optimised the mode 7 rendering a little.- Changed tile rendering code to use offsets into screen buffer rather than  direct pointers ready for z-buffer implementation.1.12- Changed V-blank NMI to occur immediately after a WAI instruction, Toy Story   required this.- Fixed reading of H-DMA line counter register, Top Gear 3000 needed this.- Ripped off large parts of ZSNES's DSP1 code (with _Demo_'s and zsKnight's  approval). Now Mario Kart works almost 100%.- Added a check to see if a vertical scan-line IRQ register change will cause  a H-IRQ later on the current scan-line. Pilot Wings needed this.- Fixed possible crash bug in clip window code when both windows had two  spans. Could actually cause Chrono Trigger to crash the emulator.- Fixed a lock-up problem with the C Super FX code, Star Fox and executing  a few 'FX instructions per scan-line (required for Winter Gold).1.11- Partially fixed the DOS netplay server - the server timer is running too  slowly and it doesn't deal with disconnects correctly yet.- Corrected the sound echo delay - it was varying with the sound playback  rate chosen by the user - it shouldn't have been.- Implemented DOS netplay code - DOS server code still not working though.- Removed all floating point calculations from the sound generation code.- Fiddled with the pitch modulation code - my guess is the output of a  channel that is used to modulate the frequency of another channel is   automatically muted by the SPC700 chip. Just a guess, but the wind from  FF3 sounds 'better' but far from perfect.- Optimised the tile palette index calculation.- Optimised the planar to chunky tile conversion code.- Fixed X11 port to always scale SNES image if hi-res. only (no interpolation)  support is enabled.- Added zipped ROM image support using Gilles Vollant unzip code and   some code that Ivar (Lestat) sent me a long time ago.- 65c816 asm RTI instruction was destroying the program bank in emulation mode,  the C code was already correct. Caused C64E to break.1.10- Finished NetPlay v1 - allows up to five networked machines to play   multi-player SNES games, one player on each machine.- Switchable full-screen mode added to Linux X11 port, some code and ideas  nicked from Maciej Babinski's original Snes9x XFree86 DGA Linux port, the  UAE Amiga emulator, plus lots of my own code.1.08- Bug fixes to C Super FX emulation - now Winter Gold works correctly again.1.07- More DSP1 work. Mario Kart is now playable! The character projection code  is still broken so the opponents and obstacles aren't always positioned  correctly on screen and you keep bumping into them, but I can still keep   coming first!- Started work on NetPlay support.- Decreased sound card DMA buffer size on DOS port to improve sound generation  and sound CPU synchronisation in some games.- Included Linux joystick driver patches from Vojtech Pavlik so the port can  use the new v1.x joystick drivers, again written by Vojtech Pavlik. Allows  use of Micro$oft Sidewinder pads, NES and SNES pads, PlayStation pads,  Gamepad Pros, etc.- Added halve-the-result colour subtraction.1.06- Extended code to allow support for multiple 16-bit screen formats,  switchable at run-time, rather just supporting one, selectable at compile  time.- Added XFree86 DGA Linux port - code from Maciej Babinski.- More fixes to the X11 image format conversion and setup code.- The asm SetByte routine wasn't wrapping writes to S-RAM correctly, allowing  some ROMs to think they were running on a copier and put up an error  screen. Thanks to Nu of #rom for the report.- Added 'TV-Mode' support (interpolation and scan-lines) to the DOS and  UNIX ports from code based on John Stiles work.- Added v-sync option to the DOS port.- Added fix to Pro Action Reply support, thanks to Paul Shoener III.- Added ggi support (untested) to Linux port using patches from  Alexander Larsson (alla@lysator.liu.se).- Added 16 to 24/32 bit image conversion routines to the UNIX X11 code.- The SPC700 OR1 instruction was broken. Thanks to Pyrgopolinices for the  report.- DOS port was having trouble splitting and joining path names - caused  problems when specifying the full path name of a ROM when the ROM image  was on another drive.- If a ROM reset the sound DSP and then turned on echo effects but kept  the same echo delay setting, then the echo effects could not be heard.  Thanks to madec@mclink.it for the bug report and freeze file that made it  easy to find the problem.- DOS port was always using stereo sound setting, if sound card  supported it, regardless of the user preference.- Linux port X11 port could crash if window was resized while transparency  effects were enabled.- The colour subtraction accelerator look-up table was slightly wrong, causing  one bit of red, green blue values to 'spill' into the next field.- Allowed colour window to cut a hole in the main-screen and show the sub-  screen underneath. The effect is used by Illusion of Gaia.- Added support for colour subtraction, with the halve-the-result flag  set.- Included DSP1 code from _Demo_. Now you can see the track in Mario Kart and  the ground in Pilot Wings - still can't play the games though due to other  missing commands.- Added an NMI hack to work around a code bug in Battle Toads: BATTLEMANIACS,  its only by chance that the game works on a real SNES - And disabled it  again because it causes problems for Chrono Trigger.- A frame skip of zero was actually still skipping one frame. Thanks to  Marius Fodor for the info.- And yet more X-OR window bug fixes - now the effects during some of the more  'posh' spells look correct in Chrono Trigger.- Yet another window area inversion bug - off by one pixel on right-hand edge.- Forgot to put dummy start and end points for XOR window combination modes -  now Uniracers looks correct and Sailor Moon looks like it does on a real   SNES.- Window clip code was using wrong index into a 2-dimensional array when  the whole of the main or sub-screens were clipped.1.05- The master volume disable code was looking that the wrong variable!- Fixed crash bug in newer sound code if a ROM tried to start a sample  playing who's data went past the end of SPC700 memory. (Cannon Fodder)1.04- Fixed DSP1 ROM header detection bug.- More DSP1 work; still nothing works, although I know the multiply command  is correct because I've compared the results against a real DSP1.1.03- Oops, the multi-player 5 disable code change broke the multi-player 5 being  the default controller.- Implemented the colour window on the main screen - now Zelda's oval zoom  window displays correctly and Krusty's Super Fun House clips the left-most  8 pixels as it does on the real SNES.- TERRANIGMA didn't like me returning a random value when it attempted to   read a channel's the current sample byte.- Hacked in initial support for mode 7 priority-per-pixel - the priority bit  doesn't actually change the priority of the pixel but the two games that I  know of that use the feature look OK. (Winter Extreme Skiing and the  intro of Tiny Toons Adventures).- Colour addition/subtraction code now uses RGB565 rather than RGB555  calculations - helps a little with the loss of the bottom bit of SNES  colour data.- DSP1 emulation started - nothing works yet.1.02- Switched to adding back drop colour rather than fixed colour when  sub-screen addition is enabled but there's nothing on the sub-screen.  Uniracers seems to need it. - DISABLED it again. Causes problems for  other ROMs and Uniracers itself on later screens.- Fixed XOR window logic combination mode and area inversion code, now  Uniracers works correctly.- Oops, if colour window and half colour addition/subtraction were both  switched on, area outside colour window was still being halved, it shouldn't.  Hacky fix at the moment until I implement the correct fix.- Fixed several bugs with the mosaic effect and 16x16 tiles and a few  possible background scroll offset bugs and the mosaic effect.- Optimised the sound sample generation code for cases when the SNES  sample playback frequency was higher than the sound card playback rate.- Fixed possible click sound when a sample was first started to be played.1.01- Corrected scan-line count for PAL games - should be 312 lines verses 262 for  NTSC. Was causing slow music on PAL games.- Added error correction code to the SPC700 timer update code - the  SPC700 timers are updated using the emulated h-blank handler which is  called every emulated 63.6 microseconds (15.720KHz) but the SPC700 timers  need to be updated at multiples of 8KHz, hence the error. Was causing  music to be played slightly too fast.- Switched back to using C SPC700 code - the old SPC700 asm code was lacking  several optimisations that the C version had. It also had multiple  speed hack cycle skipping bugs. Plus I hadn't even finished optimising  all the code from the last time I converted the C compiler output.- Optimised SPC700 memory access routines a little.- Disabled code that prevented ROMs updating SPC700 timer values while the  timer was running - it seems like it is allowed, even though docs on the  'net I've seen say its not.1.0- Fixed SuperScope support.- Added hi-res. option to my DOS port.- Fixed 4, 6, and 8 button standard PC joystick support.- Changed some types the source code was using BYTE -> uint8, WORD -> uint16,  DWORD -> uint32 and BOOL -> bool8, types were clashing Windows typedefs  but sizes didn't always match.0.99- 8-bit double height and/or width tile rendering was missing every other  group of 4 pixels - screen pointer advance count was wrong.- Asm SPC700 emulation was ignoring the Shutdown flag - the result is its  not possible to turn off cycle skipping for the SPC700 emulation.0.98- CPU to ROM address decoding code rewritten - used by Game Genie cheat codes,  orginal code might have been the cause of some Game Genie codes not working.- Started to remove printf calls and replace them with calls to S9xMessage,  port code can then dicide what to do with message.0.97- Re-enabled decompressed sample caching, still has a possible click problem  but the sound code is a lot faster with it enabled. Added command line option  to disable it if required.- Added '7' key support to rotate through available controller options, in  the order multi-player5, mouse on #1, mouse on #2, superscope,  standard controller and then back to multi-player5.- Hi-res. (512x448) support fixed.- Mouse support completed - Lemmings 2 and Mario Paint working a treat.- More colour window fixes.- Fixed freeze game problem when ZSNES SuperFX code is being used -  ZSN

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -