Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

LEGO Star Wars: The Video Game (PlayStation 2)/ROM map

From Data Crystal
< LEGO Star Wars: The Video Game (PlayStation 2)
Revision as of 18:06, 27 March 2024 by Lizzyd710 (talk | contribs) (Started ROM map)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Chip tiny.png The following article is a ROM map for LEGO Star Wars: The Video Game (PlayStation 2).

This ROM map covers the functions and instructions of the game code. Addresses are from the US release.

This page's format will change as more content is added and documented. There will be a list of hexadecimal addresses, and for each address or range of addresses, there will either be a function header written in C-like pseudocode, a link to more detailed function information when available, and/or a brief description.

Some information about the source code--specifically the names of certain functions and which C file they were located in--can be ascertained from logger messages left in the code. These functions with "official" names will be in bold.

Functions

  • 0x001008c0: NuFileOpen(fileName, int a1)
  • 0x00100ca8: NuFilePos(a0)
  • 0x00101140: int (size) NuFileLoadBuffer(fileName, addrForBuffer, size)
  • 0x00101a30: NuFileBeginBlkRead(a0, a1)
  • 0x00101b70: NuFileendBlockRead(a0)
  • 0x00101c28: NuFileBeginBlkWrite(a0, a1)
  • 0x00101d18: NuFileEndBlkWrite(a0)
  • 0x001021d0: FNC_001021d0(a0, fileName, a2, a3)
  • 0x00102770: find in datfile(a0, fileName)
  • 0x00102b50: NuDatOpenEx(fileName, a1, a2, a3)
  • 0x00103ca0: jal NuDatOpenEx(a0, a1, a2, 0)
  • 0x00103cf0: readFPK(filePath, a1, a2, alignmentGran)
  • 0x00104cc0: MEM[a0 + 540]--
  • 0x00104ea0: FNC_00104ea0(fileName)
  • 0x00105180: malloc(size, location, a2)
  • 0x00105490: mem free(a0, location, a2)
  • 0x00106898: void strcat(destAddr, srcAddr)
  • 0x001068f0: int strcpy(destAddr, srcAddr)
  • 0x00106928: int strncpy(destAddr, srcAddr)
  • 0x00106988: int strlen(strAddr)
  • 0x00106af0: int strcmp(a0, a1)
  • 0x00106b40: int strcmpIgnoreCase?(a0, a1)
  • 0x00106e38: NuHexStringToI(a0)
  • 0x00106ef0: bool isLetter?(a0)
  • 0x001070a0: charToUpper?(byte a0)
  • 0x00107268: NuPPLoadBuffer?
  • 0x00108900: LoadModule(moduleName, a1, a2)
  • 0x00108b58: bool ReturnCodeCheckNuFileClose(fileName)?
  • 0x00108b78: NuFileOpenDir(a0)
  • 0x00108c70: NuFileCloseDir(a0)
  • 0x00108cd0: openFilePS2(str?, int index?)
  • 0x00108ea8
  • 0x00109698: NuMcOpenDir(a0, a1, dirName)
  • 0x001097e8: void NuMcCloseDir(int offset)
  • 0x00109878: Likely related to threads.
  • 0x0010a3a0: vectorAddition(a0 = a1 + a2)
  • 0x0010a3d8: vectorSubtraction(a0 = a1 - a2)
  • 0x0010a410: scalarMult(destVec, srcVec, scalarFloat)
  • 0x0010a478: crossProduct(destVec, srcVec1, srcVec2)
  • 0x0010a4c8: float dotProduct(vec1, vec2)
  • 0x0010a5b8: float vectorLength(a0)
  • 0x0010a5e8: float vectorComponentSum(a0)
  • 0x0010a9a0: vecA = vecB * f12 + vecC(1.0 - f12)
  • 0x0010c010: resetCamera?(nuCamera)
  • 0x0010ddb8: shiftAmountCalc(int targetNum)
  • 0x0010de58: MEM[0033dcc8] = f12
  • 0x0010efa0: MEM[0033dcd0] = a0 (double)
  • 0x0010efb0: MEM[a0] = a1 (MEM[0033dce0] if a0 == 0)
  • 0x0010f120-0x0010f7b4: vector register operations
  • 0x0010fb08: NuAnimCurve2CalcVal(a0, a1, a2)
  • 0x00111bd0: readSomeAnimFile(filename, a1, a2, a3)
  • 0x00111c80: NuAnimDataLoadBuff?
  • 0x00114ee8: bool specObjValid(specObj)
  • 0x00114f38: FNC_00114f38(specObj?)
  • 0x00114f88: FNC_00114f88(specObj?, a1)
  • 0x00115408: NuSpecialGetOriginRadius(specObj)
  • 0x00115510: FNC_00115510(scene, string)
  • 0x00115818: MEM[0033e234] = f12
  • 0x001196a8: MEM[0033e3a0] = 1
  • 0x001196b8: MEM[0033e3a0] = 0
  • 0x00119a08: FNC_00119a08(scene?, a1)
  • 0x00119b58: FNC_00119b58(nuCamera, a1)
  • 0x0011b4c8: &NuCamera malloc()
  • 0x0011b908: NuCameraClipTestExtents(a0, a1, f12)
  • 0x0011cc90: FNC_0011cc90(a0, txtrOffset)
  • 0x0011cd58: FNC_0011cd58(a0, txtrOffset + 1?)
  • 0x0011d388: CreateFont(fontName, addrForBuffer, a2)
  • 0x0011d608: &CreateMemFont(a0, size?, a2)
  • 0x0011d820: FNC_0011d820(&memfont)