Architektur des Super Nintendo Entertainment Systems (snes)




старонка7/10
Дата канвертавання24.04.2016
Памер387.65 Kb.
1   2   3   4   5   6   7   8   9   10

9.4Kompilierung und Test


Geschrieben werden die Programme, aufgrund ihrer Assembler-ähnlichen Programmiersprache, mit jedem denkbaren Texteditor. Es mag spezielle Programme geben, die das Schreiben eines SNES-Programmes erleichtern, doch zumindest waren solche für uns nicht auffindbar. Ein einmal geschriebenes Programm wird dann, sobald fertig und fehlerfrei, in eine Objektdatei kompiliert. Wir haben dazu das WLA DX Macro Assembler Package (Quelle: 24) verwendet, welches neben Compiler und Linker noch eine Textausgabe der gefundenen Fehler anzeigt. Dies ist zum debuggen sehr hilfreich. Wenn die Objektdatei existiert, muss eine Link-Datei erstellt werden, in der alle Objektdateien des aktuellen ROM aufgeführt sind. Diese Datei ist, zumindest bei dem von uns genutzten Linker, notwendig, auch wenn nur eine Objektdatei existiert. Die Objektdatei und die Linkdatei werden dann dem Linker übergeben, der daraus eine smc-Datei macht, die von jedem üblichen SNES-Emulator gelesen werden kann. Wir haben hier den ZSNES-Emulator (Quelle: 25) verwendet. Im Emulator lässt sich jetzt das entsprechende simulierte ROM auswählen und starten. Über die Ausgabe erhält man eine weitere Möglichkeit, den Code zu testen.

10Quellenverzeichnis


(1) Technische Daten des AMIGAS (Stand: 30.06.2008):
http://www.amigafuture.de/kb.php?=&k=367&mode=article

(2) Technische Daten des AMIGA 500 (Stand: 30.06.2008):
http://de.wikipedia.org/wiki/Amiga_500

(3) Technische Daten des 3DO (Stand: 30:06.2008):
http://classicgaming.gamespy.com/View.php?view=ConsoleMuseum.Detail&id=39&game=12

(4) Weitere Daten des 3DO (Stand: 30:06.2008):
http://de.wikipedia.org/wiki/3DO

(5) Technische Daten des SEGA Mega Drives (Stand: 30.06.2008):
http://de.wikipedia.org/wiki/Megadrive

(6) Allgemeine Daten zum SNES (Stand 30.06.2008):
http://de.wikipedia.org/wiki/SNES

(7) Technische Daten der Sony PlayStation (Stand: 30.06.2008):
http://de.wikipedia.org/wiki/Playstation

(8) Technische Daten des Intel 486er (Stand: 30.06.2008):
http://de.wikipedia.org/wiki/80486

(9) SNES Development Manual Book 1 (Stand: November 2007)
http://www.romhacking.net/docs/226

(10) SNES Development Manual Book 2 (Stand: November 2007)
http://www.romhacking.net/docs/226

(11) Spezifikation der SNES CPU (Stand: 30.06.2008):
http://www.65c816.com/wdc/documentation/w65c816s.pdf

(12) Technische Daten des SNES (Stand: 30.06.2008):
http://en.wikipedia.org/wiki/Snes

(13) Kopierschutzsystem des SNES (Stand: 30.06.2008):
http://www.freepatentsonline.com/4799635.html

(14) Allgemeiner Modulaufbau (Stand: 30.06.2008):
http://patpend.net/technical/snes/sneskart.html

(15) Pinout des SNES-Moduls (Stand: 30.06.2008):
http://pinouts.ru/Game/CartridgeSnes_pinout.shtml

(16) Pinout des SNES-Moduls (Stand: 30.06.2008):
http://www.allpinouts.org/index.php/SNES_Cartridge

(17) SNES Co-Prozessoren (Stand: 30.06.2008):
http://en.wikipedia.org/wiki/List_of_Super_NES_enhancement_chips

(18) Assemblerprogrammierung des SNES (Stand: 30.06.2008):
http://en.wikibooks.org/wiki/Super_NES_Programming/Introduction_to_assembly

(19) Register des SNES (Stand: 30.06.2008):
http://en.wikibooks.org/wiki/Super_NES_Programming/SNES_Hardware_Registers

(20) SNES-Programmheader (Stand: 30.06.2008):
http://en.wikibooks.org/wiki/Console_Game_Programming:SNES_Initialization_Tutorial/Snes_Init

(21) SNES-Initialisierungsprogramm: (Stand: 30.06.2008):
http://en.wikibooks.org/wiki/Console_Game_Programming:SNES_Initialization_Tutorial/header

(22) SNES-Initialisierungs-Tutorial (Stand: 30.06.2008):
http://en.wikibooks.org/wiki/Super_NES_Programming/Initialization_Tutorial

(23) SNES-Sound-Programme (Stand: 30.06.2008): http://en.wikibooks.org/wiki/Super_NES_Programming/Loading_SPC700_programs

(24) SNES-Emulator für Windows (Stand: 30.06.2008):
http://www.zsnes.com/

(25) Compiler für SNES-Programme (Stand: 30.06.2008):
http://www.villehelin.com/wla.html

11Abbildungsverzeichnis


Abbildung 1: Blockschaltbild des SNES (Quelle: 9 – Seite 99) 10

Abbildung 2: Blockschaltbild der SNES-CPU (Quelle: 11 – Seite 11) 11

Abbildung 3: Soundeinheit (Quelle: 9 – Seite 154) 15

Abbildung 4: Adressbereich des SPC 700 (Quelle: 9 – Seite 155) 16

Abbildung 5: Transfer-Ports des SPC700 (Quelle: 9 – Seite 161) 17

Abbildung 6: Timer / Counter des SPC700 (Quelle: 9 – Seite 164) 18

Abbildung 7: SNES-Cartridge ohne Co-Prozessor (Spiel: "Super R-Type") (Quelle: Privat) 23

Abbildung 8: SNES-Cartridge mit Co-Prozessor (Spiel: "Starwing") (Quelle: Privat) 23

Abbildung 9: Speicheranbindung des SA-1 (Quelle: 10 – Seite 11) 26

Abbildung 10: Speicheranbindung - SA-1 (Quelle: 10 – Seite 12) 27

Abbildung 11: Blockschaltbild des SA-1 (Quelle: 10 – Seite 13) 28

Abbildung 12: Memory-Map des SA-1 (Quelle: 10 – Seite 19) 29

Abbildung 13: ROM-Bank Select (Quelle: 10 – Seite 32) 30

Abbildung 14: Accelerator Mode (34) 33

Abbildung 15: Parallel Processing Mode (Quelle: 10 – Seite 64) 34

Abbildung 16: Mixed Processing Mode (Quelle: 10 – Seite 65) 35




1   2   3   4   5   6   7   8   9   10


База данных защищена авторским правом ©shkola.of.by 2016
звярнуцца да адміністрацыі

    Галоўная старонка