[Experte] Architektur des Super Nintendo Entertainment Systems (SNES)

    • Offizieller Beitrag

    1 Einleitung



    Diese Dokumentation behandelt den Aufbau des Super Nintendo Entertainment Systems (SNES). Es soll einen Überblick darüber verschaffen, mit welchen technischen Tricks eine, für damalige Verhältnisse, leistungsstarke und doch recht günstige Konsole für den Homeentertainment-Bereich entwickelt wurde. Dieses Dokumentation gliedert sich dabei grob in vier Teile. Im ersten Teil, dem Kapitel 2, verschaffen wir uns zunächst einen Überblick darüber, gegen welche Systeme der SNES konkurrieren musste. Um dies zu veranschaulichen führen wir auch die technischen Daten der Mitbewerber auf.
    Der zweite Teil (Kapitel 3) beschäftigt sich mit dem technischen Aufbau des Systems. Es werden viele der eingebauten Elemente näher erläutert. Auf eine ausführliche Erklärung einiger Elemente wird jedoch verzichtet, da diese Standardkomponenten der Elektronik sind und daher auch nur bekannte Funktionen ausführen.
    Im Anschluss an den Aufbau des SNES behandelt der dritte Teil des Dokuments (Kapitel 4 + 5) den Aufbau der Module (engl. Cartridge). Zunächst soll der allgemeine Aufbau und das Pinout dieser Module dargestellt werden. Danach werden einige der Co-Prozessoren, welche in machen Modulen vorhanden waren, ausführlich erklärt.
    Im letzten Teil der wird auf den praktischen Teil eingegangen. Es soll der Aufbau eines SNES-Programms erklärt und einige einfache Programmbeispiele dargestellt werden. Zudem wird beschrieben mit welcher Software der Quelltext kompiliert wird und welche Testmöglichkeiten man hat.


    2 Computertechnik dieser Zeit



    3 Das System



    3.1 Das Gesamtsystem



    3.2 Hauptprozessor



    3.3 Grafikprozessoren (Nintendo 5C77 & Nintendo 5C78)




    3.4 Soundsystem



    3.4.1 Speicher



    3.4.2 Kommunikation mit der SNES-CPU



    3.4.3 Timer / Counter



    3.5 Der Kopierschutz




    3.6 Diverse Komponenten



    4 Das Modul



    5 Externe Co-Prozessoren



    5.1 Der SA-1



    5.1.1 Speicheranbindung




    5.1.2 Interner Aufbau




    5.1.2.1 Super MMC:



    5.1.2.2 Arithmetic Circuit



    5.1.2.3 Character Conversion Circuit



    5.1.2.4 Variable Length Bit Processing Unit



    5.1.2.5 Timer & DMA Circuit



    5.1.3 Kommunikation mit dem SNES




    5.1.4 Operating Modes



    5.1.4.1 Accelerator Mode



    5.1.4.2 Parallel Processing Mode



    6 Programmierung des Systems


    6.1 Allgemeiner Aufbau der Instruktionen




    6.2 Initialisierungsparameter



    6.3 Entwickeltes Testprogramm




    6.4 Kompilierung und Test


    • Offizieller Beitrag

    7 Anhänge


    7.1 Anhang A: header.inc



    7.2 Anhang B: Snes_Init.asm



    7.3 Anhang C: Soundtest.asm



    7.4 Anhang D: Flex.asm



    Großer DANK geht an dieser Stelle an Prof. Dr. Thomas Risse und André Killing, Oliver Hanslian, Roy Norbart die dieses Dokument erstellt haben.
    Ich stelle es hier als Mirror zur Verfügung. MfG KillBill_158

    • Offizieller Beitrag

    Wollte ich noch reinmachen heute eigentlich aber bei uns auf Arbeit geht es heute übel ab. Werde ich mal gleich machen. Danke für den Link kann man immer gebrauchen ;)


    EDIT: es ist getan!

  • Wollte ich noch reinmachen heute eigentlich aber bei uns auf Arbeit geht es heute übel ab. Werde ich mal gleich machen. Danke für den Link kann man immer gebrauchen ;)


    EDIT: es ist getan!


    Sollte man meines Erachtens als erstes machen. Also um Erlaubnis fragen. Denn das ist nix, was innerhalb von 5 Minuten zusammengeschrieben wurde und du weißt die Lizenz nicht, unter der es veröffentlicht wurde.

    Netbook: Asus EeePC 1015PEM | Intel Atom Dual Core N550@1,5GHz | Win7 Starter
    Main: Intel Core i7 860@3.8Ghz | 8GB DDR3-1333 | ATI XFX HD 5750 | ATI HD Audio | 256GB SSD & 3TB + 4TB external | Win7 Pro X64 SP1
    Old: AMD Athlon64 X2 4200+@2.5Ghz | MSI KbT Neo2-F V2 | 2GB Corsair Value | Radeon HD 3850 512MB | Creative SB Audigy LS | 2TB | Win7 Pro X64 SP1

  • sieht nach semesterarbeit aus... dumm nur, dass die autoren ihre matrikelnummern mit da draufgeschrieben haben... egal. verlinken darf man die, 1:1 wiedergeben glaube ich weniger... die rechte haben afaik die autoren (wobei sich die unis idr ein nutzungsrecht entstandener software o.ä. zusichern lassen). von daher: am besten die jungs (vorname.nachname@hs-bremen.de) mal freundlich anschreiben. normalerweise sind die glücklich, wenn sie wahrgenommen werden...

  • Du kannst es auch ganz rausschmeißen und neu Scheiben ... als Author mit verweisen auf die Quellen.


    Das sieht dann schon professioneller aus als nur raus und rein Kopieren.
    Die meisten die das Lesen (jetztiges aussehen) gefällt es bestimmt weil es 'tolle Diagrame und Bilder' hat. Ansonsten werden sie wohl nicht viel Achnung davon haben.


    Die Assembler sachen findest Du auch so von freien Authoren mit passendem (selbst geschriebenen) Assembler. Das wird wohl eher das sein was die meisten Wissen wollen.

  • Es geht halt um's Moralische - wo kein Kläger, da kein Richter, und ich denke nicht, dass hier jemand etwas unternähme - aber ROM Hacking an sich ist ja schon in der Grauzone, wenn man das so sagen kann, im akademischen Bereich jedoch (wozu dieses Dokument ja eigentlich zählt) ist Plagiarismus fast schon eine Todsünde (man denke nur an Guttenberg).


    Ich fände es im Übrigen ohnehin mal eine coole Idee, wenn man eine Einführung in Computerarchitektur mit dem SNES (und/oder anderen) Konsolen aufziehen würde. Zumindest die Grundlagen stimmen ja selbst heute noch mit den modernen Maschinen überein.