Snes9x 1.57

Snes9x发布了它的最新正式版1.57。作为模拟器世界中的活化石,我对它没啥特别的要求,活着就可以啦。本次更新主要还是模拟精确度方面的提升,而且已经同步的libretro分支,同学们都不用重新下载,只需要更新RA Core即可。

同学们可能奇怪,都开发了20多年了,Snes9x应该是精确的秒天秒地了吧,还更新啥?嗯,我来为大家介绍下,Snes9x非常谦虚,在各种兼容性测试中不卖老资格,经常垫底。为我们圈子里带来了历史最悠久的一个老梗:完成度和Snes9x一样…意思是刚过及格线。

Snes9x登场与1997年末,那时候Win95,Win97,Win98正当红火,很多软件命名都喜欢带年份,什么KOF97,FIFA96什么的,俗,忒俗了…于是最初由Jerremy Koot在1996年编写的Snes96在停止维护后,由Gary Henderson接手维护改名为Snes97。但是写到年底,Jerremy Koot又回来帮忙,叫Snes98不太合适。所以融合了Snes96和Snes97的特性的最新SFC模拟器就叫Snes9x咧…

我记忆里,最早的游戏机模拟器就是从93年开始逐渐在万维网上流传的,那时候主要是GB和FC,所以97年时候的SFC模拟器的关注度基本和我们现在的PS3模拟器差不多。所以Snes9x和它的96,97前辈一路过来和很多其他SFC撕过逼。

1996年,Snes96和ESNES大战,基本不相上下,ESNES是有记录的最早的SFC模拟器,登场于1994年。

1997年,Snes97和NLKSNES大战,速度上完败于NLKSNES。

1998年,Snes9x再次败于宿命中的对手ZSNES,以后一直是输多胜少。

直到ZSNES的重汇编构架不再适应WinXP以后的新一代操作系统而逐渐停止更新之后,Snes9x才当之无愧的登上了最著名SFC模拟器的宝座。可惜依然不是最佳SFC模拟器,因为那时byuu的bsnes(后来叫higan)已经来了。据说迫使byuu开发一个易用性极低的SFC模拟器的原因就是他实在受不了Snes9x的低精确度。

但是,Snes9x是最早的开源模拟器之一。在Retroarch之前,Snes9x就被移植到几乎所有平台。现在大家看到的各种移动平台上的SFC模拟器,基本都是源自于Snes9x的血统。虽然很多专家取笑Snes9x不够精确,但是Snes9x的兼容性一直想当优秀。在能玩100%游戏的优势之下,什么颜色图层不精确,声音不精确,test ROM跑不起来都是小事。

所以,Snes9x的励志路程告诉我们,如果要取得最后的胜利,首先你要够命长,让敌人倒在你前面;然后要能生,多子多福。冠绝天下,独步武林,没人继承,也终究是黄粱梦一场;最后就是全面发展,做的差点没关系,只要会做就行。

最后,我认为,在号称99.99%精确的higan面前,Snes9x可能还要更新个几十年的样子,我们有的是时间。

 

Changes:

Snes9x 1.57

– Various seta010 emulation fixes. (kps501)
– Pass blargg OAM tests with proper write behavior. (BearOso)
– Prevent interlacing in BG modes 1-4. (BearOso)
– Corrected IRQ and NMI emulation to allow more games to
work properly. (BearOso, OV2)
– Use 1 instead of 0 for initial PPU left window coordinate,
fixing garbage in left column of pixels in some games. (turhope)
– Added interpolation option hack for DSP. (kps501, mudlord,
BearOso)
– Added sprite-tile limit disabling hack. (Tatsuya79)
– Added libretro’s fast snapshot support. (OV2)
– Add overclocking hack that increases IPC (retrotalker)
– Fix controller initialization issues preventing some games
from using multitap. (retrotalker)
– Proper write behavior for register $2122. (BearOso)
– Fix transparency issue with Star Fox asteroids. (redguy, BearOso)
– Increase SuperFX speed to more accurately represent
hardware, and fix bugs with Stunt Race FX and Yoshi’s
Island. (BearOso)
– Resize viewport on state load. (retrotalker)
– Many fixes to variables not saved or saved incorrectly in
save states. (Dwedit)
– Pass decimal tests in blargg’s math test ROMs. (BearOso)
– Remove memory leak in loadzip.cpp. (bonimy)
– Fix screen size not reverting when overscan is turned on
then off mid-frame. (BearOso)

Win32:
– Include DirectDraw libraries and compile with DirectDraw
support by default. (OV2)
– Add a link to DirectX installer in error message displayed
when the needed DirectX libraries can’t be found. (OV2)
– Save window position when exiting via menu (OV2)
– Make custom ROM dialog resizable. (OV2)
– Fix various cheat dialog issues. (OV2)
– Remove d3d9x DLL dependency by using DirectXMath. (OV2)
– Remove rarely-used HLSL shader option. (OV2)
– Add InitialSnapshotFilename support. (BearOso)
– Disable BG toggle keys by default. (BearOso)
– Proper centering and cropping for overscanned and
regular height modes. (OV2)
– Remove ability to disable the SNES’s hires modes. (OV2)
– Added a Super Famicom-style icon resource to the EXE. (BearOso)

MacOS:
– Partial support for new cheats format. (OV2)
– Fix MacOS build. (marconett)
– Set default for new config options. (tmkk)
– Fix compilation on Mac OS Mojave (meepingsnesroms)

libretro:
– Massive update of libretro code to latest downstream. (fr500, kps501,
OV2, twinaphex,BearOso,hiddenasbestos,m4xw, kxyxz,claudiuslollarius)

GTK+:
– Use datarootdir instead of datadir on install. (orbea)
– Fix –with-system-zip configure flag. (BearOso)
– Draw interlaced fields when ready. (BearOso)
– Initial Wayland support. (remicalixte)
– Allow XV only in X11. (BearOso)
– Add Wayland support via EGL. (BearOso)
– Significant rewrite of OpenGL driver to support newer
standards. This won’t work on cards < OpenGL ~1.5. (BearOso)
– Changed frameskip option to speed throttling option with
simpler, but more relevant methods of speed control. (BearOso)
– Add support for relative-style save slots. (ichigo-0, BearOso)
– Remove XML config file format in favor of one more like
Win32. Make joystick bindings and more options human-
readable and editable. (BearOso)
– Try more device nodes when initializing OSS. (BearOso)

“Snes9x 1.57”的一个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注