GMU:My favorite things/Romhacking: Difference between revisions

From Medien Wiki
(Created page with "= Was ist ein ROM? = ''Fakten zum read only memory'' *Speicherabbilder von Speicherchips (EPROM) *in Spiele-Speichersteckmodulen (Cartridges) verbaut *enthalten die Dateninforma...")
 
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File: romhacking_head.jpg]]
<br><br>
= Was ist ein ROM? =
= Was ist ein ROM? =
''Fakten zum read only memory''
''Fakten zum read only memory''[[File:romhacking_rom.jpg|200px|thumb|right|SNES-Rom (Starwing)]]


*Speicherabbilder von Speicherchips (EPROM)
*Speicherabbilder von Speicherchips (EPROM)
Line 9: Line 13:


= Wie ist ein ROM aufgebaut? =
= Wie ist ein ROM aufgebaut? =
''Wissenswertes zur Hardware''
''Wissenswertes zur Hardware''[[File:romhacking_romaufbau.jpg|200px|thumb|right|geöffnetes Rom]]


*können grundsätzlich relativ frei aufgebaut sein
*können grundsätzlich relativ frei aufgebaut sein
Line 19: Line 23:
= Was ist ROM-Hacking? =  
= Was ist ROM-Hacking? =  
''Ziel und Faszination - das Modifizieren von ROMs''
''Ziel und Faszination - das Modifizieren von ROMs''
<videoflash type=youtube>yAzxnJKCEdU#t=60s</videoflash>


*ein vorhandenes Spiel nach eigenen Vorstellungen ändern
*ein vorhandenes Spiel nach eigenen Vorstellungen ändern
Line 43: Line 49:


= Texthacking=
= Texthacking=
''das Verändern von Texten eines ROMs''
''das Verändern von Texten eines ROMs''[[File:romhacking_text.jpg|200px|thumb|right|Tablefile in Hexeditor]]


*    Beim Texthacken ist zu beachten, dass man in den meisten Fällen ein Tablefile erstellen muss, um die Texte richtig sehen und editieren zu können
*    Beim Texthacken ist zu beachten, dass man in den meisten Fällen ein Tablefile erstellen muss, um die Texte richtig sehen und editieren zu können
Line 50: Line 56:


=Grafikhacking=
=Grafikhacking=
''das Verändern von Bildern in einem ROM''
''das Verändern von Bildern in einem ROM''[[File:romhacking_grafik.jpg|200px|thumb|right|Grafikeditor für Roms]]


*    Eine Grafik besteht aus einer Palette und der Grafik selbst
*    Eine Grafik besteht aus einer Palette und der Grafik selbst
Line 61: Line 67:


=Maphacking=
=Maphacking=
''das Verändern von Maps (=Landschaften/Level) eines ROMs''
''das Verändern von Maps (=Landschaften/Level) eines ROMs''[[File:romhacking_map.jpg|200px|thumb|right|LunarMagic Editor]]


*    Maphacking besteht aus dem Ändern von Maps, Kollisionsdaten, Events, Mapanbindungen und evtl. anderen spielspezifischen Daten
*    Maphacking besteht aus dem Ändern von Maps, Kollisionsdaten, Events, Mapanbindungen und evtl. anderen spielspezifischen Daten
Line 86: Line 92:
*    man kann entweder neue Befehle hinzufügen, Befehle löschen oder Parameter eines bereits vorhandenen Befehls modifizieren
*    man kann entweder neue Befehle hinzufügen, Befehle löschen oder Parameter eines bereits vorhandenen Befehls modifizieren


Automatic Mario
=Bekannte Hacks=
 
=Scripthacking=
<videoflash type=youtube>WAgOIKdW810</videoflash>
''das Modifizieren von Scripten''
 
==Cory Arcangel==
 
<videoflash type=youtube>HdAJKRpP5uU</videoflash>
 
<videoflash type=youtube>mAsb6LMjIrM</videoflash>


*    um Scripte zu ändern, muss man zunächst wissen, wo sich diese befinden
<videoflash type=youtube>ZkkJaqBbXV8</videoflash>
*    Falls dies nicht dokumentiert ist, muss man sie mithilfe Debugging oder Textpointern suchen
*    man kann entweder neue Befehle hinzufügen, Befehle löschen oder Parameter eines bereits vorhandenen Befehls modifizieren

Latest revision as of 13:49, 30 June 2011

Romhacking head.jpg



Was ist ein ROM?

Fakten zum read only memory

SNES-Rom (Starwing)
  • Speicherabbilder von Speicherchips (EPROM)
  • in Spiele-Speichersteckmodulen (Cartridges) verbaut
  • enthalten die Dateninformationen des eigentlichen Spiels
  • können mittels Emulatoren auf dem PC verwendet werden
  • mit beschreibbaren Steckmodulen auch wieder auf der Originalkonsole spielbar

Wie ist ein ROM aufgebaut?

Wissenswertes zur Hardware

geöffnetes Rom
  • können grundsätzlich relativ frei aufgebaut sein
  • wenige Restriktionen die eingehalten werden sollten
  • die meisten ROMs haben einen ROM-Header, der Informationen über das Rom enthält, damit es vom System korrekt geladen und verarbeitet werden kann
  • vordefinierte Offsets, an denen bestimmter Code liegen muss, der ausgeführt wird, falls ein bestimmtes Ereignis, z.B. ein Interrupt ausgelöst wird
  • manche Roms sind aus Platzgründen in Rombänke eingeteilt, z.B. die des SNES

Was ist ROM-Hacking?

Ziel und Faszination - das Modifizieren von ROMs

<videoflash type=youtube>yAzxnJKCEdU#t=60s</videoflash>

  • ein vorhandenes Spiel nach eigenen Vorstellungen ändern
  • umzugestalten
  • teilweise neu zu kreieren
  • übersetzen (sollte das Spiel nicht in der eigenen Landessprache veröffentlicht worden sein)

Welche Spiele eignen sich?

  • beliebt sind Game Boy Color- und Game Boy Advance- sowie NES- und SNES-Spiele
  • Spiele, die leicht zu modifizierende 2D-Grafik und eine relativ einfache Programmierung besitzen
  • für einige Spiele existieren Editoren, die z. B. den Aufbau eines neuen Levels oder das Ändern verschiedener physikalischer Eigenschaften wesentlich vereinfachen
  • das meistgehackte ROM-Spiel ist Super Mario Bros. für das NES

Was braucht man zum ROM-Hacking?

  • das zu hackende ROM
  • einen Emulator
  • ein Texthacking-Programm
  • ein Grafikhacking-Programm (bspw. ein Tile-Editor)
  • ein Hexeditor
  • verschiedene Gebiete im Rom-Hacking:

Texthacking, Grafikhacking, Maphacking, ASM-Hacking, Scripthacking, Soundhacking

Texthacking

das Verändern von Texten eines ROMs

Tablefile in Hexeditor
  • Beim Texthacken ist zu beachten, dass man in den meisten Fällen ein Tablefile erstellen muss, um die Texte richtig sehen und editieren zu können
  • Tablefile können mit Programmen wie SnesEdit, Thingy32, Translhexion etc. genutzt werden
  • Eine typische Tablefile enthält Zuweisungen, wie:
    Byte=Buchstabe/n
    00=A

Grafikhacking

das Verändern von Bildern in einem ROM

Grafikeditor für Roms
  • Eine Grafik besteht aus einer Palette und der Grafik selbst
  • Grafik kann in verschiedenen Formaten gespeichert sein:
  • 1 BPP (2 Farben = Monochrom) - Schriften - GB Spiele
  • 2 BPP (4 Farben) - GB & GBC Spiele - Layer-3-Grafiken in SNES-Spielen
  • 3 BPP (8 Farben) - SNES-Spiele zur Grafikkompression
  • 4 BPP (16 Farben) - GBA & SNES Spiele
  • 8 BPP (256 Farben) - GBA Spiele - im Mode 7 des SNES

Maphacking

das Verändern von Maps (=Landschaften/Level) eines ROMs

LunarMagic Editor
  • Maphacking besteht aus dem Ändern von Maps, Kollisionsdaten, Events, Mapanbindungen und evtl. anderen spielspezifischen Daten
  • Jeder einzelne Bereich ist ein Kapitel für sich und birgt Möglichkeiten sowie Schwierigkeiten
  • Um Maphacking zu betreiben kann man entweder den Hexeditor oder einen für jedes Spiel seperat programmierten Mapeditor verwenden

ASM-Hacking

das Verändern von Code eines Spiels

  • schwierigste Aufgabe des Romhackings
  • Hacker, die ASM-Hacking beherrschen, zählen zur "Elite"

Soundhacking

das Verändern von Musik in einem ROM

  • eine Anreihung von Samples, die in einer festgelegten Reihenfolge und Geschwindigkeit in unterschiedlichen Tonlagen abgespielt werden
  • in Form von Scripten gespeichert, die einfach sagen 'Spiele Ton x in Tonlage y für z Sekunden ab. Danach mache Pause für z Sekunden'

Scripthacking

das Modifizieren von Scripten

  • um Scripte zu ändern, muss man zunächst wissen, wo sich diese befinden
  • Falls dies nicht dokumentiert ist, muss man sie mithilfe Debugging oder Textpointern suchen
  • man kann entweder neue Befehle hinzufügen, Befehle löschen oder Parameter eines bereits vorhandenen Befehls modifizieren

Bekannte Hacks

<videoflash type=youtube>WAgOIKdW810</videoflash>

Cory Arcangel

<videoflash type=youtube>HdAJKRpP5uU</videoflash>

<videoflash type=youtube>mAsb6LMjIrM</videoflash>

<videoflash type=youtube>ZkkJaqBbXV8</videoflash>