Recompilation: An Incredible New Way to Keep N64 Games Alive
Summary
TLDRDas Skript präsentiert eine bahnbrechende Entwicklung für N64-Emulation: Wiseguys 'static recompilation'-Tool wandelt N64-ROMs in ausführbare Programme um, die auf modernen Prozessoren laufen. In wenigen Minuten ermöglicht es Raytracing, 4k, breites Format, Gyrodynamik und hohe Frameraten. Die Umsetzung von Spielcode in C und die Übersetzung von Grafikoperationen in moderne API-Aufrufe ermöglichen eine nahezu perfekte Parallel-RDP-Genauigkeit. Obwohl das Tool nicht für jede N64-Spiel nutzbar ist, bietet es eine enorme Verbesserung der Spielbarkeit und eröffnet die Tür für die Portierung weniger bekannter Spiele auf PC.
Takeaways
- 🕹️ Die N64-Emulation wurde lange von der Software der 2000er Jahre behindert, aber es gab Fortschritte, die meist auf dem alten Plugin-System aufgebaut wurden.
- 🔧 Native Ports lösen das Problem, aber sie erfordern viel Zeit und Arbeit. Eine vollständige Dekompilierung kann Jahre dauern.
- 🚀 Wiseguys 'static recompilation'-Tool kann N64 ROMs in ausführbare EXE-Dateien umwandeln, oft innerhalb weniger Minuten.
- 🛠️ Das Tool wandelt den N64-Code in C um, sodass er auf einem modernen Prozessor kompiliert werden kann, und übersetzt Grafikoperationen zur Laufzeit in moderne Low-Level-API-Aufrufe.
- 🎮 Endbenutzer müssen die Kompilierung nicht selbst durchführen, da die kompilierten Ports keine Originalspielressourcen enthalten.
- 📸 Wiseguy behauptet, dass seine Methode eine nahezu Parallel-RDP-Genauigkeit erreicht, indem er Dutzende von Test-ROMs erstellt, um die Originalbeleuchtung und Effekte zu überprüfen.
- 🔧 Probleme, mit denen GlideN64 immer noch zu kämpfen hat, wie Tiefeneffekte, funktionieren hier perfekt, ohne dass eine Konfiguration von Einstellungsseiten erforderlich ist.
- 🔄 Der automatisierte Prozess ist nicht perfekt und die Recomps erfordern in der Regel manuelle Korrekturen für Dinge wie die unerwartet schnelle moderne Hardwaregeschwindigkeit.
- 📚 Die Dekompilierung und traditionelle Portierung sind damit nicht obsolet, da der Recomp-Code nicht lesbar ist und vollständig umgekehrter Quellcode bei der Modding- und Patch-Verwendung hilfreich ist.
- 🌐 Wiseguys erster erfolgreicher Recomp-Test war 'Rocket: Robot on Wheels', ein Spiel, das dank diesem Tool nun einen Port hat.
- 🎨 Die Recomps unterstützen umfangreiche Modding-Möglichkeiten und sollten es ermöglichen, vorhandene ROMhacks zu portieren, unterstützen Gyro-Zielen, D-Pad-Zuordnungen und breitere HUD-Platzierungen.
- 🎵 Die Recomps wurden so konzipiert, dass sie eine Niedriglatenz und keine Stottern aufweisen, ähnlich der Dolphin-'ubershader'-Methode.
Q & A
Was ist das Hauptproblem bei der Emulation von N64-Spielen?
-Die Emulation von N64-Spielen wird durch die veraltete Software aus den 2000er Jahren behindert, die meist auf einem alten Pluginsystem basiert.
Welche Lösung wird im Skript zur Verbesserung der N64-Emulation vorgeschlagen?
-Eine Lösung ist das Werkzeug zur statischen Rekompilierung, das von dem Modder Wiseguy entwickelt wurde. Es kann ein N64-ROM in wenigen Minuten in eine ausführbare Datei umwandeln.
Wie lange dauert es normalerweise, ein N64-Spiel vollständig zu dekompilieren und zu portieren?
-Eine vollständige Dekompilierung kann Jahre dauern, und die Ports selbst sind separate Projekte, die Monate in Anspruch nehmen.
Welche Vorteile bietet das Werkzeug zur statischen Rekompilierung?
-Das Werkzeug ermöglicht unter anderem Raytracing, 4K-Auflösung, Widescreen, Gyro-Steuerung und hohe Frameraten.
Wie funktioniert das Werkzeug zur statischen Rekompilierung technisch?
-Das Werkzeug konvertiert den N64-Code in C, damit er auf einem modernen Prozessor kompiliert werden kann. Zur Laufzeit übersetzt der Renderer die Grafikoperationen in moderne Low-Level-API-Aufrufe wie Direct3D12 auf Windows und Vulkan auf Linux.
Welche Genauigkeit erreicht das Werkzeug laut Wiseguy?
-Wiseguy behauptet, dass ihr Verfahren eine Genauigkeit nahe der Parallel-RDP-Emulation erreicht, indem sie zahlreiche Test-ROMs erstellt haben, um sicherzustellen, dass die ursprüngliche Beleuchtung und Effekte korrekt sind.
Gibt es bekannte Probleme mit dem Werkzeug zur statischen Rekompilierung?
-Die automatisierte Rekompilierung ist nicht perfekt und erfordert oft manuelle Korrekturen, vor allem bei Spielen mit individuellen Mikrocodes. Es gab auch einen bekannten Bug bei Majora’s Mask, der jedoch behoben wurde.
Was sind die Hauptunterschiede zwischen der statischen Rekompilierung und der traditionellen Dekompilierung?
-Bei der statischen Rekompilierung wird der interne Prozess des Originalgeräts beibehalten, während die Dekompilierung den Quellcode des Spiels verändert, um es einfacher auf dem PC lauffähig zu machen. Die Rekompilierung ist schneller, aber der Code ist nicht lesbar, was Modding und Patching erschwert.
Welche Spiele wurden bereits erfolgreich mit dem Werkzeug portiert?
-Unter den erfolgreichen Tests befindet sich Rocket: Robot on Wheels und sogar Superman 64. Majora’s Mask war ebenfalls erfolgreich und konnte innerhalb von zwei Tagen portiert werden.
Welche zukünftigen Entwicklungen sind für das Werkzeug zur statischen Rekompilierung geplant?
-Zukünftige Entwicklungen umfassen die Unterstützung von DLSS, benutzerdefinierte Texturen, freie Kameras und natürlich Raytracing. Es wird erwartet, dass das Werkzeug generell mit der gesamten N64-Bibliothek funktioniert, mit einigen Ausnahmen bei Spielen mit individuellen Mikrocodes.
Outlines
😲 N64 Emulation Revolution durch 'Static Recompilation'
Dieses Kapitel beschreibt die Innovation der N64-Emulation durch das Werkzeug von Wiseguy, das N64 ROMs in ausführbare Programme umwandelt. Die Methode reduziert den Zeitaufwand für die Portierung von Spielen auf PC erheblich und ermöglicht Verbesserungen wie Raytracing, 4k Auflösung und hohe Frameraten. Die Umsetzung erfolgt durch die Übersetzung von N64-Code in C und die Nutzung moderner APIs wie Direct3D12 und Vulkan. Wiseguy behauptet, die Genauigkeit der originalen Hardware mit 'Parallel-RDP' zu erreichen, ohne die Spielquellencode zu verändern. Es werden auch einige bekannte Probleme und Lösungen diskutiert, wie z.B. das Tearing-Effekt und der High Framerate-Modus.
🎮 Verbesserungen und Erweiterungen durch RT64 und rekompiliert
In diesem Abschnitt werden die Verbesserungen und Erweiterungen durch Darios RT64-Renderer und die rekompilierte Version der Spiele erläutert. Die rekompilierten Spiele profitieren von Raytracing und anderen Verbesserungen ohne die Notwendigkeit eines Emulators. Die Renderer-Technik nutzt einen 'ubershader'-Ansatz und bietet eine flüssige und latenzarme Erfahrung. Es werden auch Modifikationen und Erweiterungen wie Texturen-Scrolling, Model-Ersetzung und Unterstützung für ultrawide-Bildschirme diskutiert. Zudem wird auf die Verbesserung der Audioqualität und die Möglichkeit, Spielstände automatisch zu speichern, eingegangen.
🚀 Zukünftige Entwicklungen und Möglichkeiten der Recompilation
Dieses Kapitel kündigt zukünftige Entwicklungen und die potenziellen Verwendungsmöglichkeiten der Recompilation an. Es wird erwähnt, dass Majora’s Mask das erste rekompilierte Spiel ist, mit Ocarina of Time als nächstes in der Pipeline. Es werden auch mögliche Erweiterungen wie DLSS, benutzerdefinierte Texturen und freie Kameras vorgestellt. Es wird auf die Möglichkeit hingewiesen, dass andere Modder das Tool nutzen können, um weitere Spiele zu portieren, und die Bedeutung dieser Innovation für die Langzeit-Zugänglichkeit der N64-Plattform hervorgehoben.
Mindmap
Keywords
💡N64 Emulation
💡Native Ports
💡Decompilation
💡Static Recompilation
💡Ray Tracing
💡Multithreading
💡Direct3D12
💡Vulkan
💡High Framerates
💡Gyroscope
💡Modding
Highlights
N64仿真由于2000年代的软件而长期受到限制,尽管多年来有所进步,但大多建立在过时的插件系统之上。
原生移植解决了这个问题,但它们需要大量的时间和工作。
完整的反编译可能需要数年时间,而移植本身通常是独立的项目,需要额外的数月时间。
并非每个游戏都能得到这种待遇,迄今为止的大部分工作都集中在模拟器所关注的少数流行游戏上。
如果有一种方法能够在几分钟内神奇地将N64 ROM转换为可运行的exe,同时开启光线追踪、4k、宽屏、陀螺仪和高帧率,那会怎样?
这听起来像是愚人节玩笑,但modder Wiseguy制作的“静态重编译”工具就能做到这一点。
该工具将N64代码转换为C语言,以便在现代处理器上编译,并在运行时将图形操作转换为现代低级API调用。
Wiseguy声称他们的方法实现了接近并行RDP的准确性,创建了数十个测试ROM以确保原始的光照和效果正确。
使用高帧率功能遇到的任何问题都已经被修补。
Wiseguy声称他们的方法在不需要完整反编译和移植过程的情况下,可以在两天内制作出完全可玩的移植版本。
这个自动化过程并不完美,重编译通常需要手动修复,以适应现代硬件速度远超预期的问题。
但与完整的反编译和移植过程相比,修补所需的时间和精力要少得多。
Wiseguy的第一个成功的重编译测试是Rocket: Robot on Wheels,这是一个我以前从未听说过的游戏,但现在已经有移植版本了。
即使是Superman 64这样的游戏,也得益于这个工具而有了移植版本。
测试到目前为止仅限于少数游戏,但Wiseguy预计这个工具通常可以适用于整个N64库。
Dario的RT64渲染器提供了主要的增强功能,如光线追踪和高帧率。
RT64依赖于GPU,利用计算着色器和低级API使增强更容易。
高帧率是通过让游戏逻辑以20fps运行实现的,但不是立即发送命令作为绘制调用,而是记录完整的帧数据并排队给渲染器。
模型替换也将在渲染阶段完成,类似于RTX remix,因此可以使用现代格式,并且由于内部使用的是原始资产,所以没有游戏崩溃的危险。
重编译还纠正了时间,以防止巨人的序列在音乐之前结束。
这些端口从头开始设计,具有低延迟和无卡顿,使用类似于Dolphin的超级着色器方法。
音频也值得称赞,具有出色的清晰度,没有爆裂或定时问题。
Wiseguy重写了音频系统三次,以获得令人满意的结果,并且没有采用大多数音频插件的帧间距捷径。
重编译不应该削弱任何人对基于反编译的端口的热情,Ship of Harkinian旨在提供不同的体验。
重编译专注于简单性——界面被限制为让你以最小的麻烦进入游戏,更像是官方发布。
Majora’s Mask是现在唯一发布的重编译,但Ocarina of Time将很快加入。
计划是将像Zeldas或Banjo游戏这样的续集结合在一个启动器中。
一些功能,如DLSS、自定义纹理、自由摄像头,当然还有光线追踪将在即将到来的构建中到来。
重编译和插件共享RT64库,因此任何一个分支的任何修复或更新都将惠及另一个。
这个插件理论上可以作为Ship of Harkinian的渲染后端集成,尽管首先需要解决很多技术细节。
即使没有花哨的增强功能,这对于保持完整的N64平台的可访问性也是向前迈出的重要一步。
Wiseguy只能做这么多,他希望其他modder能接手这个工具,从这里开始进行重编译。
Transcripts
N64 emulation has long been held back by 2000s era software- there have certainly been advancements
over the years, but mostly built atop the same archaic plugin system.
Native ports solve that issue but they take a lot of time and work.
A full decompilation can take years-
"It is done. Two years! We started this in 2019"
and the ports themselves are usually separate projects taking months more.
Not every game can get this treatment, with most efforts so far focusing on the same handful
of popular games that emulators did.
What if there were a way to…
I don’t know… magically turn an N64 ROM into a runnable exe?
Like, in a matter of minutes?
While opening the door to ray tracing, 4k, widescreen, gyro, and high framerates,
if it’s not too much trouble?
It may sound like a late April Fool’s Day joke, but that’s what the “static recompilation”
tool made by modder Wiseguy is capable of.
I thought viewers might not believe this was real, so I asked Wiseguy to record a demonstration.
A standard ROM is loaded, translated, and ready for compiling, in mere seconds.
It’s so fast, the workload doesn’t even bother multithreading.
It’s important to note that the end user won’t have to do this- the compiled ports
don’t include the original game assets, so Wiseguy should be able to share them pre-built.
You’ll be prompted to load from your own ROM dump on first startup, similar to the
current PC ports.
As far as how it works, the tool converts the N64 code into C so it can be compiled
to run on a modern processor, and at runtime the renderer translates the graphics operations
to modern low level API calls- Direct3D12 on Windows and Vulkan on Linux.
Wiseguy likened this to the way Valve’s Proton compatibility layer works, and also
compared it to the approach taken by the Mega Man Legacy Collection.
A decompiled port may alter the game’s source code to make it easier to run on PC, but the
translation based approach of these recomps keeps the internal processing the same as
original hardware.
Wiseguy claims their method achieves near Parallel-RDP accuracy, having created dozens
of test ROMs to make sure the original lighting and effects are correct, and I’ve seen nothing
so far to suggest otherwise.
Issues GlideN64 still struggles with, like depth effects, work perfectly here without
the need to configure pages of settings.
Any glitches I ran into were related to the high framerate feature and have been patched.
The only suspected bugs otherwise, like this tearing effect when the screen shrinks, turned
out to be accurate behavior, though the effect was fixed anyway for good measure.
I didn't experience a single crash or stability issue.
There was a game ending bug involving a lot of head stepping, but that's a known issue
within the game itself.
That said, the automated process isn’t perfect and the recomps usually require manual fixes
for things like modern hardware speeds being way faster than expected.
But the amount of time and work needed to patch them up pales in comparison to a full
decompilation and port process- while the Majora’s Mask repo is still inching towards
completion, Wiseguy claims to have had a fully playable port as early as February 2023-
and it only took two days to make.
The time since was spent on polishing the recompilation process and various enhancements.
In no way does this render decompilation and traditional porting obsolete- the recomp code
is not readable, so having fully reverse engineered source code is a big help for modding and
patching even when using this tool.
Part of the reason Majora’s Mask only took two days is that there was a decompilation
to reference.
But of course, the point is that you don’t need a decompilation to create a port anymore,
opening the door to the most obscure games running natively on PC.
Wiseguy’s first successful recomp test was Rocket: Robot on Wheels, a game I had never
even heard of before, but that now has a port thanks to this tool.
Even Superman 64- a direct affront to God- has a port thanks to this tool.
That’s not a joke!
This piece of shit is on PC!
Testing has been limited to a handful of games so far, but Wiseguy expects the tool to generally
work with the full N64 library.
The exceptions will be games with custom microcodes- for Majora’s Mask, the lighting microcode
was already understood well enough to be implemented in its port.
For other and less documented microcodes, ports could still work but in LLE mode, which
would mean sacrificing the major enhancements like ray tracing and high framerates.
Speaking of- major enhancements, like ray tracing and high framerates.
These come courtesy of Dario’s RT64 renderer; you may know Dario from his excellent Mario
64 ray tracing fork.
When preparing to bring RT64 to Ocarina of Time he realized that he could carry his work
over to an emulator plugin and deliver his enhancements to many games at once.
From there, Wiseguy’s experimental recomp tool allowed RT64 to bypass emulators altogether.
Some of the screenshots Dario has been sharing for the RT plugin were secretly from recomp
ports instead.
That emulator plugin is still planned for release, but the recomps will be less restricted
when it comes to enhancement potential.
And in specific ways, the recomps will be less restricted than the current PC ports.
I’m a big fan of Ship of Harkinian, so I don’t mean to disparage it in any way- it’s
a great port with amazing features and compatibility, but its use of older APIs and reliance on
the CPU for processing vertices creates roadblocks for certain enhancements.
RT64 relies much more heavily on the GPU, taking advantage of compute shaders and low
level APIs to make enhancements easier.
High framerates are achieved with the game logic running at 20fps, but instead of sending
commands as draw calls right away, the full frame data is recorded and queued for the
renderer- that difference is apparently critical to everything RT64 does.
The queued frames are checked for matching draw calls, and then the renderer creates
the additional frames between them.
In the event the renderer gets something wrong, specific animations can be tagged with IDs
that tell the renderer how to do it right.
The results are extremely smooth.
The animations don’t look out of place to me (as they often can at higher rates) and
even the texture scrolling effects for fire and water are interpolated- without this,
the game action and 2D effects can be wildly mismatched.
Model replacements will also be done at the render stage, not unlike RTX remix, so modern
formats can be used and there’s no danger of the game exploding due to a larger than
expected file, since it’s internally using the original assets.
Much like MY BODY, ultrawide aspect ratios are supported and mostly work well.
The 3D cone for song effects was patched to extend beyond the 4:3 window, though the camera
still clips through the landscape during some cutscenes.
There's support extensive modding, and it should be possible to port existing ROMhacks
over- the Zelda games will support gyro aiming, D-pad mappings and widescreen HUD placements
out of the box.
Majora’s Mask also has an auto-save mode, which hijacks the owl slot to intermittently
back up your progress.
Everything is saved but your location, so you can quit as soon as the icon appears.
Here I’ve closed the recomp just at the end of the laborious Don Gero quest, and picked
right back up where I left off.
The last auto-save loads at startup by default, though you can still choose the song of time
saves using the “rewind” button.
Using an owl statue will overwrite the autosave, and like the 3DS version these are permanent.
You could rely on this system entirely if you want a more modern experience, but you’re
free to disable it and play the original way.
Everybody wins.
The recomp also has corrected timings to keep the Giant’s sequence from finishing before
the music.
These ports have been designed from the ground up to have low latency and no stuttering,
using an ubershader approach similar to Dolphin.
It’s unbelievable how fluid and smooth Majora’s Mask is every step of the way- from the pause
menu to the pictobox, there’s no hanging or delay in any of the usual places.
The audio is also deserving of praise, with excellent clarity and no crackling or timing
issues.
Wiseguy rewrote the audio system three times to get a satisfactory result and didn’t
take the shortcuts with frame pacing that most audio plugins have, resulting in the
clearest N64 sound quality I’ve heard:
After years of fiddling with plugins and still getting bad results, it’s a relief for the
sound to just work, and to work this well.
The existence of this recomp shouldn’t dampen anyone’s enthusiasm for the decompilation-based
port that’s coming.
Ship of Harkinian aims for a different experience, crafted with the help of speedrunners and
people familiar with all of the game’s quirks and absolutely loaded with options to customize
each and every one of them.
The Majora’s Mask port should offer the same depth, as well as lower hardware requirements.
The recomps are streamlined for simplicity- the interface is restrained to get you into
the game with minimal fuss, more like an official release.
These are very much focused on playing rather than tinkering, so there’s room enough for
two ports to coexist.
Majora’s Mask is the only recomp launching now, but Ocarina of Time will be added soon.
The plan is for sequels, like the Zeldas or Banjo games, to be combined together in one
launcher.
Some features, like DLSS, custom textures, free cameras, and of course ray tracing will
arrive in upcoming builds.
I didn’t get a chance to go hands-on with an RT build, but everything I’ve seen gels
with the 64 graphics surprisingly well, and the results are worlds apart from ReShade’s
RT.
Zelda’s time of day systems especially take on a new realism when you can actually see
the sun casting shadows on the landscape.
There are even more possible enhancements Dario would like to bring afterward, but the
roadmap is already too full to mention anything else.
The emulator plugin likely won’t be ready until late this year but it should offer a
great sampling of Dario’s RT work until more recomps arrive.
The RT64 library is shared between recomps and the plugin, so any-
I’m sorry, he put ray tracing in this...
This piece of shit!
…So any fixes or updates made for one branch will benefit the other.
The plugin can theoretically be integrated into Ship of Harkinian as a rendering backend
as well, though a lot of tech details would have to be worked out first.
Even without the fancy enhancements, this is a monumental step forward for keeping the
full N64 platform accessible and should vastly improve the playability of many games.
It’s yet another testament to the ingenuity of the fan community and the ever-escalating
level of quality it delivers for retro gaming.
Wiseguy is only able to do so much, so his hope is for other modders to take the tool
into their own hands and do recomps from here.
If you’ve always wanted a certain game on PC and know how to COMPUTER, this could be
your chance.
The recomp is linked below, and again, you’ll need to provide a US ROM of your own to use
it.
Whether you own a physical or digital version of the game, this is easily done.
And because there’s a native Linux version it can easily run on a Deck- no Protoning
required.
If you want to learn more about recomps or RT64- and you should- check out the official
trailer from Wiseguy, as well as RT64’s development history
on TWITTERI’mNotCallingItX
Barf!
Koolooh Limpah!
SUPERMAN, in short time your fate will be sealed,
SUPERMAN.
SUPERMAN, in short time your SUPERMAN will be sealed,
SUPERMAN.
SUPERMAN.
SUPERMAN, in short time your SUPERMAN
will be SUPERMAN.
Piece of shit!
SUPERMAN
5.0 / 5 (0 votes)
Dieser Titel ist massiv unterbewertet! Die große China Wette!
Marokko: Der König erlaubt Cannabis | ARTE Reportage
2011 Chinese PLA Type 11 Individual Soldier Self Heating Food Review Meal Ready to Eat Tasting Test
ESP32 precision GPS receiver (incl. RTK-GPS Tutorial). How to earn money with it (DePIN)
Achtung Risiko! Diese 3 Aktien kaufen?
Victoria Nuland RESIGNS, Glenn Greenwald EVISCERATES Leading Neocon: Interview