Frage

Ich habe ich gerade den Super Mario Bros. -1 Welt Glitch in youtube und ich begann wirklich hinter diesen Spielen über den Code fragen. Welche Sprache verwendet wurde? Was ist mit dem Betriebssystem für die Videospielkonsolen? Gibt es eine Website mit Ressourcen zu diesem Thema? (Ich bin ein 90s Video gamer so dass ich vor allem über die Programmierung hinter diesen Spielen interessiert bin, aber fühlen Sie sich frei dies ein Wiki und enthalten Links zu Ressourcen über Videospiele im Allgemeinen Programmierung zu machen, wenn Sie möchten)

War es hilfreich?

Lösung

Nachdem für das NES auf ein Emulator etwas gearbeitet (ich habe es einige Opcodes Decodierung, aber keiner der anderen Hardware emuliert), kann ich vielleicht ein paar Antworten teilen.

  1. Für die meisten Spiele Assembler verwendet wurde. Optimierende Compiler, wenn für die CPU war bei weitem nicht so gut vor 20-30 Jahren, wie sie heute sind. Um die Leistung zu erhalten, benötigt man in Assembler schreiben (Dies auch wahr gehalten auf dem PC. Teile des Schicksals sind in ASM). Dies umso mehr, da die NES CPU lief bei weniger als 2 MHz. Außerdem war Speicher teurer als heute ist. Der ursprüngliche Mario wurde über 40k Speicher gespeichert. 16k das war der eigentliche Code, und der Rest war die Grafik und Sound-Ressourcen.

  2. Bis in die 32-Bit-Konsole-Ära, jede Art von Betriebssystem, oder auch bei den Versorgern, an einer Konsole war ungewöhnlich (Sega CD die eine der wenigen in der 16-Bit-Ära mit einem tatsächlichen BIOS war, und es gab ein kleines Programm in den Prozessor des Game Boy verbrannt, die für die Nintendo-logo nach unten scrollen beim Einschalten) verantwortlich war. Siehe oben über Größenbeschränkungen, als Hauptgrund. Wenn die Kassette eingesetzt wird, wurde der ROM-Chip in dem Auto direkt auf den Adreßbus der CPU verbunden ist. Beim Einschalten, würde die CPU von einer festen Adresse lesen Sie die aktuelle Adresse des Programm gestartet an, bekommen und dann sprang auf die Stelle und begann Ausführung.

Wie für Ressourcen, die NES Dev Wiki hat Ressourcen in Bezug auf die NES Hardware, zusammen mit programmming Referenzen. Zophar der Domain hat auch technische Dokumente und Public-Domain-ROMs für eine ganz wenige Konsolen (ich weiß nicht, ob ich ZD auf dieser Seite verlinkt sollte, nur Google)

Andere Tipps

Die meisten älteren Konsolen hatte eine Art von BIOS ROM.

Einige der Quellcode für diese sind online:

können Sie lesen die meist kommentierten Demontage der 7800 BIOS: http: // atarihq. com / DanB / files / 7800bios.asm

Die Quelle BIOS das Atari 5200 ist interessanter, da es mehr als nur um das System zu initialisieren und einen Begrüßungsbildschirm angezeigt werden: http://atarihq.com/danb/files/5200BIOS.txt

Die Colecovision hatte ein 8K-BIOS-ROM als auch (!); es ist Quelle ist hier: http://xi6.com/code/coleco/coleco29.asm

Die Quelle Odyssey II BIOS ist hier: http://atarihq.com/danb/files /o2romsrc.txt

Die Intellivision hatte ein Betriebssystem namens „exec“, kann keine Demontage online finden, obwohl ich ein paar Informationen darüber finden tat: http://www.intellivisiongames.com/bluesky/hardware/intelli_tech.html#exec und http://www.beeslife.com/faq.htm#_Toc140592020 - es Routinen hatte Sprites zu bewegen, lesen Controller und berechnen Quadratwurzeln !

Die meisten der Pannen in diesem Video sind Ziegel basierten Pannen, wo es Fehler in der Kollisionserkennung der Kachel-Karten sind, die die Ebene bilden. Alle Ebenen sind aus quadratisch geformten Fliesen gebildet. Wenn Sie Mario bemerken ist immer zwischen den Fliesen, wo er nicht sein sollte.

Zurück in den späten 70er, 80er und frühen 90er Jahren, die meisten Software (einschließlich Spiele) wurden in ASM (Assembly) geschrieben. Wenn Sie mit Assembly nicht vertraut sind, ist es praktisch ein sehr niedriges Niveau Programmiersprache, die Hardware-spezifisch ist die CPU für die Programmierung. Dies bedeutet, dass Sie jedes Pixel auf dem Bildschirm und neu erstellen Bibliotheken für Dinge wie Physik, Grafiken und sogar Sound zu steuern hatten! Sie waren sehr im Speicher begrenzt, so das Recycling ein Muss war. In der ursprünglichen Super Mario Bros Sie werden feststellen, dass die Wolken die gleichen wie die Büsche sind, ist die einzig andere die Farbe. Viele Sprites wurden recycelt und die Spielphysik waren begrenzt.

Als Spiele wurden immer komplizierter Entwickler auf die Sprache C bewegt, die für Software erlaubt zu viel schneller geschrieben werden, weil es erforderlich ist weniger Code-Zeilen. Heutzutage ++ viel Konsole und Computerspiele sind in C geschrieben, weil es für eine schnellere Entwicklung ermöglicht, sondern ermöglicht auch die Software nahe genug, um Hardware spielen, schneller zu sein.

I havn't getan Forschung darüber, aber Super Mario Bros und releated 90 Spiele zur Verfügung stehen als NES-Dateien statt Patrone und es Open-Source-Emulator zur Verfügung.

AFAIK, werden diese in der Regel C ++ geschrieben. Ich weiß nicht, über Rechtmäßigkeit dieser nes Dateien und Emulator, aber sie im Internet. Sie haben mit der rechten Zeichenkette suchen!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top