JavaScript Menus and DHTML Menus Powered by Milonic Cyndeline Translations

Untitled Document

Pointer format

Här följer en lista över hur man räknar ut pointers till olika format (alla uträkningar sker i HEX). Det bör dock nämnas att det alltid finns undantag till alla sorters plattformar, så formlerna fungerar inte nödvändigtvis alltid. Dessutom antas det att spelen i fråga har en header (av olika storlekar beroende på vilken konsoll det rör sig om). Ifall den rom du söker i inte har en header, kan du bara skippa header-sektionen av varje kalkylering.

Snes

  1. Ta reda på vilket offset som texten befinner sig på (ex: 3D65F
  2. Ta ut de fyra sista siffrorna i adressen (D65F)
  3. Dra bort headern på 200kb (D65F - 200 = D45F)
  4. Bryt isär talet (D4 5F)
  5. Byt plats (5F D4)
  6. 5FD4 är din pointer

Nes

  1. Ta reda på vilket offset som texten befinner sig på (ex: 3D65F
  2. Ta ut de fyra sista siffrorna i adressen (D65F)
  3. Dra bort headern på 10kb (D65F - 10 = D64F)
  4. Bryt isär talet (D6 4F)
  5. Byt plats (4F D6)
  6. 4FD6är din pointer

GBA

  1. Ta reda på vilket offset som texten befinner sig på (ex: 3D65F)
  2. Lägg till 08000000 (Ex: 0803D65F)
  3. 0803D65F är din pointer

GBA (2)

Ibland så lagrar GBA-spel sina pointers baklänges. I så fall gör du så här:

  1. Bryt isär talet (0803D65F = 08 03 D6 5F)
  2. Skriv det baklänges (5F D6 03 08)
  3. 5FD60308 är din pointer

GB/GBC

  1. Ta reda på vilket offset som texten befinner sig på (ex: 3D65F)
  2. Ta ut de fyra sista siffrorna i adressen (D65F)
  3. Här kommer ett nytt element:

    Ifall textens adress i fråga ligger mellan

    • X0000-X3FFF så lägger du till 4000
    • X4000-X7FFF så gör du ingenting
    • X8000-XBFFF så drar du av 4000
    • XC000-XFFFF så drar du av 8000

      X kan vara vilket siffra som helst. Eftersom D65F ligger mellan C000-FFFF så drar vi av 8000
  4. Nu har vi 565F (D65F - 8000 = 565F)
  5. Bryt isär (56 5F)
  6. Byt plats (5F 56)
  7. 5F56 är vår pointer

Nintendo 64

Det finns inte särskilt mycket information dokumenterat om dessa pointers, och det enda formatet jag ännu stött på fungerar så här:

  1. Ta reda på vilket offset som texten befinner sig på (ex: 3D65F)
  2. 0003D65F är din pointer

Diverse

Ifall du inte hittar din pointer, kan det alltid bero på att spelet i fråga använder ett annorlunda pointersystem. Ifall du redan testat den "normala" metoden (se sektionerna ovan) så kan man alltid pröva att leta manuellt (mer om det i kapitlet om pointer-tables). När/om du då hittar något som ser ut att vara pointers, försök att lista ut vilken formula som används för att räkna ut dem. Här är några exempel på sådana:

  • FF2 (Nes). Dessa pointers kräver dessutom att man lägger på 4000 efter att man dragit bort 10 för headern.
  • Lufia (Snes). Ett halvkonstigt system som inte utgår från vilken adress texten ligger på, utan hur långt ifrån varje enskild pointer som varje stycke finns.
  • Golden Eye (N64). Det här spelet använder samma system som vanligt, men istället för att använda textens offset när den ligger i rom:en som vanligt, utgår spelet från att texten och pointers ligger i en egen fil, med pointers överst. Detta gör att alla adressen blir betydligt lägre.
  • 8bits-pointers. Dessa finns på diverse format, och består bara av ett enda par hexdecimaler, istället för två eller fyra. Detta gör att de är begränsade till en mycket liten "yta" i texten som de kan peka på. Dock används de oftast inuti själva texten, istället för att vara en del av ett större pointertable.
  • Listan kan med största sannolikhet göras längre.

 

 

 

Översättare sökes:

Resurser