
Die meisten Menschen freuen sich, wenn sie es schaffen, alte Dinge wieder zum Leben zu erwecken. Der endlose Wunsch, die Erfahrung der Jugend noch einmal zu erleben, führt uns auf eine Weise, die wir längst vergessen haben. Und auf dem Weg stoßen wir manchmal auf vergessene Erinnerungen, die andere vergessene Erinnerungen hervorrufen, die es uns ermöglichen, glückliche Momente wiederzuerleben, an die wir jahrelang oder sogar jahrzehntelang nicht gedacht haben. Jemand, der zurück zur High School geht, um
abends mit der Lautstärke des Radios
Auto zu fahren, erwidert das Dröhnen des
Ford Windsor- Motors. Für diejenigen, die in den 80ern und 90ern geboren wurden, können solche Spiele Videospiele auslösen. Wer kann das erste Treffen mit einem Assistentenclip aus Microsoft Office, eleganter Musik aus Final Fantasy oder
Up-Up-Down-Down-Links-Rechts-Links-Rechts-Ba-Select-Start vergessen?
Dank der Fortschritte in der Prozessortechnologie konnten wir Zeit mit unseren Lieblingsspielen durch Emulatoren verbringen - Programme, die die Prozessoren alter Computer emulieren. Spiele werden von ROM-Chips in Dateien heruntergeladen. Diese Dateien können dann in den Emulator heruntergeladen werden und das Spiel so spielen, als würden Sie es auf dem ursprünglichen System spielen.
NES Zapper InternaTechnologie ist eine wunderbare Sache. Es ermöglicht uns, vorwärts zu gehen und heute das zu tun, was gestern unmöglich war. In einigen Fällen ist dieses Paradigma jedoch falsch. Eine davon ist die NES-Spielekonsole, das Nintendo Entertainment System und der Waffencontroller Zapper. Zu einer Zeit wurde NES aus gutem Grund zur beliebtesten Spielekonsole. Die Ingenieure, Programmierer und Audioexperten von Nintendo haben einige der besten Videospiele hervorgebracht, die jemals hergestellt wurden. Leider können einige dieser Spiele nicht auf Ihrem bevorzugten Raspberry Pi-Emulator gespielt werden, da Zapper nicht mit modernen digitalen Monitoren kompatibel ist. Es ist unwahrscheinlich, dass jemand vergessen kann, wie viel Spaß es gemacht hat,
Duck Hunt zu spielen. Dieses Spiel wurde mit allen NES-Systemen gebündelt, also haben wir es alle gespielt. Die damit verbundene Nostalgie ist jedoch aufgrund ungelöster technologischer Merkmale begraben.
Ich sage Ihnen, als Hacker zu Hacker - das kann nicht länger toleriert werden. Zuerst schauen wir uns an, wie Zapper funktioniert und warum es mit Digitalanzeigen nicht funktioniert. Und dann werden wir darüber nachdenken, wie wir das Problem beheben können.
Das Problem
Die Zapper-Pistole ist nur eine Fotozelle mit einem Schalter. Wenn der Auslöser (Schalter) gedrückt wird, führt NES bestimmte Manipulationen mit dem Bildschirm durch, um zu verstehen, wohin die Waffe zeigt. Welche - wir werden etwas später diskutieren. Aber zuerst müssen wir verstehen, dass sie nur auf analogen
CRT- Fernsehern funktionieren. Wenn Sie Ihren Emulator an ein solches Fernsehgerät anschließen, treten keine Probleme auf. Das Problem ist, dass niemand einen CRT-Fernseher hat. Alle verfügen über digitale Flachbildfernseher und Monitore. Bei Anschluss an einen solchen Monitor funktioniert das Spiel nicht. Wir müssen verstehen, warum das so ist.
Mythen entlarven
Es gibt viel Verwirrung darüber, wie NES weiß, wohin Zapper steuert, selbst unter Leuten, die sich ein wenig mit Elektronik auskennen. Einige von ihnen denken und verbreiten diesen Mythos weiter, dass NES Scanzeilen aus CRT liest. Eine CRT zeichnet in regelmäßigen Abständen Scanlinien von oben nach unten auf dem Bildschirm. Durch Vergleichen der Startzeit der Zeichnung und der Zeit, zu der Zapper die Linie sieht, kann NES herausfinden, wohin Zapper zeigt. Und da der moderne Monitor alle Linien gleichzeitig anzeigt, ist es unmöglich zu berechnen, wo genau Zapper zeigt. Es ist möglich, dass einige ältere Fotozellenpistolen funktionierten, aber NES funktioniert nicht so. Absolut.
Wie NES Zapper funktioniert
Das System ist ziemlich knifflig. Wenn Sie den Auslöser drücken, zeichnet NES einen schwarzen Rahmen auf dem Fernseher. NES zeichnet 60 Bilder pro Sekunde, sodass ein Bild etwa 0,0166 oder 17 ms lang auf dem Bildschirm angezeigt wird. Im nächsten Bild erscheint anstelle der Ente ein weißes Rechteck, und das Präfix fragt den Zustand der Fotozelle in der Pistole ab. Die Ausgabe einer Fotodiode ist sehr unterschiedlich, je nachdem, ob sie auf einen schwarzen Bildschirm oder auf ein weißes Rechteck gerichtet ist. Und das alles geschieht während der Demonstration von zwei Frames, 34 ms. Der Mensch merkt es kaum. Das nächste Bild zeichnet das Spielfeld erneut und ein Treffer oder Fehlschlag wird auf Sie angerechnet. Genial!
"Aber hey, wie funktioniert dieses System, wenn zwei Ziele auf dem Bildschirm angezeigt werden?" Gute Frage. NES-Ingenieure lösen dieses Problem, indem sie einfach den gesamten Vorgang wiederholen. Das erste Bild ist schwarz, gefolgt von einem Bild mit einem weißen Rechteck anstelle eines Ziels und einer Fotozellenvermessung. Wenn sich auf dem Bildschirm ein anderes Ziel befindet, befindet sich das dritte Bild mit einem Rechteck um das zweite Ziel. Alle drei Bilder dauern ungefähr eine halbe Sekunde, sodass Sie nicht die Möglichkeit haben, zwei Enten gleichzeitig zu schießen. Sie können nur einen schießen, und diese Technik lässt NES wissen, welcher.
"Wenn NES nur den Zustand der Fotozelle abfragt, kann ich die Waffe dann einfach auf ein helles Licht richten und meinen Treffer jedes Mal aufzeichnen?" Noch eine gute Frage. Die NES-Ingenieure haben eine solche Täuschung beseitigt und den Zustand der Fotozelle bereits während des Auftretens des ersten schwarzen Rahmens abgefragt. Wenn die Fotozelle etwas anderes als einen schwarzen Bildschirm sieht, zählt das Präfix einen Fehler. Es gibt Gerüchte, dass dieser Fehler in den frühesten Versionen des Spiels nicht behoben wurde, aber bisher konnte niemand einen solchen Fehler nachweisen.

Ein weiterer Blick auf das Problem
Wenn wir nun wissen, wie Zapper funktioniert, können wir Probleme mit dem digitalen Monitor lösen. Wenn das Spiel nur den Unterschied zwischen Schwarz und Weiß misst, sollte die Waffe auf digitalen Monitoren einwandfrei funktionieren. Aber es funktioniert offensichtlich nicht. Einige argumentieren, dass die Fotozelle gegenüber Infrarotstrahlung von einer CRT empfindlich ist und der digitale Monitor keine Infrarotstrahlen emittiert. Aber schauen Sie sich dieses Video an: Zapper funktioniert großartig!
[Das Video zeigt einen modifizierten Zapper / ca. perev.]Wir wissen, dass Scanlinien nichts damit zu tun haben und dass Zapper auf einem digitalen Bildschirm zwischen dem Kontrast zwischen Weiß und Schwarz unterscheiden kann. Wir können daraus schließen, dass unser Problem mit der Zeit zusammenhängt. Anscheinend kann eine CRT ein Bild viel schneller anzeigen als ein digitaler Kollege. In NES ist die Notwendigkeit, nach 16 ms nach einem weißen Rechteck zu suchen, fest verdrahtet. Wenn Ihr digitaler Bildschirm die NES-Ausgabe nicht mit ausreichender Geschwindigkeit verarbeiten kann, sucht die Konsole nach einem weißen Rechteck, während das Spiel noch auf dem Bildschirm sichtbar ist.
Die Ausgabeauflösung von NES beträgt 256 x 240 Pixel. Der digitale Monitor muss jedes Bild auf die Arbeitsauflösung skalieren. Dieser Prozess erzeugt eine Verzögerung, die bis zu 70 ms erreichen kann und unsere Zahl von 16 ms erheblich überschreitet.
Wie man es repariert
Es wird nicht einfach sein. Wenn ein digitaler Monitor zu langsam ist, besteht die einzige Lösung darin, NES zu verlangsamen.
Option 1: Verringern Sie die Taktrate
Wir haben alle davon gehört, den Prozessor durch Erhöhen der Taktfrequenz zu übertakten. Was ist mit Bremsen? Können wir die Zeit im NES-Prozessor verlangsamen, ohne sie auf einen merklichen Bruchteil der Lichtgeschwindigkeit zu übertakten? Es ist notwendig, dass das Spiel mit normaler Geschwindigkeit läuft, aber wenn der Auslöser gedrückt wird, schaltet es auf einen langsameren Betrieb um und erhöht tatsächlich die Verzögerungszeit. Denken Sie daran, dass NES 16 ms lang einen schwarzen Bildschirm anzeigt und dann ein weißes Rechteck zeichnet. Durch Verlangsamung des Prozessors können wir diese Verzögerung erhöhen und dem digitalen Monitor eine Reaktionszeit geben.
Option 2: ROM bearbeiten
ROM kann nur in einem Hex-Editor bearbeitet werden. Was wäre, wenn wir den Emulator untersuchen und herausfinden würden, an welcher Stelle der Verzögerungswert eingestellt wird, nachdem der Trigger gedrückt wurde? Wir könnten es einfach größer machen und hoffen, dass wir nichts kaputt gemacht haben.
Option 3: Ihre Option
Jetzt, da Sie wissen, wie NES Zapper funktioniert und warum es mit modernen digitalen Monitoren nicht funktioniert, sind Sie auf halbem Weg, dieses Problem zu lösen und die Nostalgie loszulassen, die uns das grausame technologische Schicksal genommen hat. Was würden Sie tun, um Zapper mit einem digitalen Monitor arbeiten zu lassen und zum Helden des Internets zu werden?
Das Arbeitsschema ist nicht so kompliziert - sicher können wir alle zusammenkommen, um herauszufinden, wie Zapper in unserer digitalen Welt aufhören kann, im Leerlauf zu schießen. Teilen Sie Ihre Lösungen in den Kommentaren.
Originalartikel