User Tools

Site Tools


banjo_kazooie:ram_map

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
banjo_kazooie:ram_map [2019/05/05 19:14]
mittenz [Game Engine] added funcs and breaks in non-consecutive functions
banjo_kazooie:ram_map [2019/08/30 21:14]
mittenz
Line 5: Line 5:
 ---- ----
 ====== RAM Map Segments ====== ====== RAM Map Segments ======
-^ Address ​ ^ Type ^ Description ^ +^ Address  ​^^^^ Type ^ Description ​
-| 0x80000400 | <color #​22b14c>​Static</​color> ​ | Bootloader | +^ USA 1.0 ^ USA 1.1 ^ PAL ^ JP ^ ::: ^ ::: 
-| 0x8002D500 | <color #​ed1c24>​Dynamic</​color>​ | Heap | +| 0x80000400 ​|||| <color #​22b14c>​Static</​color> ​ | Bootloader | 
-| 0x8023DA20 | <color #​22b14c>​Static</​color> ​  | Basic C Libraries Functions |  +| 0x8002D500 ​|||| <color #​ed1c24>​Dynamic</​color>​ | Heap | 
-| 0x80275610 | <color #​22b14c>​Static</​color> ​ | Basic C Libraries Variables |  +| 0x8023DA20 ​| 0x8023d680 | 0x8023E620 | 0x8023D680 ​| <color #​22b14c>​Static</​color> ​  | Basic C Libraries Functions |  
-| 0x80286F90 | <color #​22b14c>​Static</​color> ​ | Game Engine Functions |  +| 0x80275610 ​| 0x80274570 | 0x80275470 | 0x80274570 ​| <color #​22b14c>​Static</​color> ​ | Basic C Libraries Variables |  
-| 0x80363590 | <color #​22b14c>​Static</​color> ​ | Game Engine Variables |  +| 0x80286F90 ​| 0x80285DD0 | 0x80286DB0 | 0x80285DD0 ​| <color #​22b14c>​Static</​color> ​ | Game Engine Functions |  
-| 0x803863F0 | <color #​fff200>​Static per Level</​color> ​ | Level Specific Code |  +| 0x80363590 ​| 0x80362790 | 0x80363A00 | 0x80363AD0 ​| <color #​22b14c>​Static</​color> ​ | Game Engine Variables |  
-|  | <color #​ed1c24>​Dynamic</​color>​ | Stack | +| 0x803863F0 ​| | | | <color #​fff200>​Static per Level</​color> ​ | Level Specific Code |  
-| 0x80400000 | Free | Expansion Pak | +|  ​|||| <color #​ed1c24>​Dynamic</​color>​ | Stack | 
 +| 0x80400000 ​| | | | Free | Expansion Pak | 
  
 ---- ----
Line 26: Line 27:
 ===== Game Engine ===== ===== Game Engine =====
 ^ Address ​ ^ Type ^ Description ^ ^ Address ​ ^ Type ^ Description ^
 +| 0x8037C0E0 | [[banjo_kazooie:​model_data|model]]* | Player model pointer | 
 +| 0x8037C0E4 | u16 [[banjo_kazooie:​rom_map#​object_model_files|modelFileIndex]] | Player model file index | 
 +| 0x8037C0E6 | u8 | Player model opacity | 
 +| 0x8037C0E7 | u8 | Player facing banjo or kazooie; 1=Banjo, 2=Kazooie | 
 +| 0x8037C0E8 | u8 bool | Player visible flag |  
 +| 0x8037C0EC | float | Player model scale | 
 +| 0x8037C0E0 | float | Player model rotation X | 
 +| 0x8037C0EC | float | Player model rotation Z | 
 +| 0x8037C0EC | float | Player model rotation Y |
 ---- ----
 ====== Static Functions ====== ====== Static Functions ======
Line 35: Line 44:
 | :::         | :::            | u32* $a2 RAM_Addr ​ | ::: | ::: | | :::         | :::            | u32* $a2 RAM_Addr ​ | ::: | ::: |
 | :::         | :::            | u32 $a3 size  | ::: | ::: | | :::         | :::            | u32 $a3 size  | ::: | ::: |
-| 0x800020E0 ​ | get_DMA_SR | \\void\\      | u32 | returns DMA status register |+| 0x800020E0 ​ | get_DMA_SR | //void//      | u32 | returns DMA status register |
  
  
Line 41: Line 50:
  
 ^ Address ​ ^ Name ^ Inputs ^ Output ^ Description ^ ^ Address ​ ^ Name ^ Inputs ^ Output ^ Description ^
-| 0x80254608 | memcpy | u8* $a0 dest | \\void\\ | bitwise copy of memory for source to destination |+| ox8024F764 | loadMusicFile | u32 $z0 [[banjo_kazooie:​rom_map#​music_files|musicFIleIndex]] | //void// | loads music file into RAM | 
 +| ||||| 
 +| 0x80254608 | memcpy | u8* $a0 dest | //void// | bitwise copy of memory for source to destination |
 | :::        | :::    | u8* $a1 src  | ::: | ::: |  | :::        | :::    | u8* $a1 src  | ::: | ::: | 
 | :::        | :::    | u32 $a2 size  | ::: | ::: | | :::        | :::    | u32 $a2 size  | ::: | ::: |
-| 0x80254630 | memcpy_fast | u32* $a0 dest | \\void\\ | wordwise copy of memory for source to destination |+| 0x80254630 | memcpy_fast | u32* $a0 dest | //void// | wordwise copy of memory for source to destination |
 | :::        | :::         | u32* $a1 src  | ::: | ::: |  | :::        | :::         | u32* $a1 src  | ::: | ::: | 
 | :::        | :::         | u32 $a2 size  | ::: | ::: | | :::        | :::         | u32 $a2 size  | ::: | ::: |
-| 0x80254710 | heap_init | \\void\\ \\void\\ | initialize heap |+| ||||| 
 +| 0x80254710 | heap_init | //void// //void// | initialize heap 
 +| |||||
 | 0x80254CA8 | malloc | u32 $a0 size | void* | returns address of heap segment of specified size | | 0x80254CA8 | malloc | u32 $a0 size | void* | returns address of heap segment of specified size |
-| 0x802550F0 | free | void* $a0 ptr | \\void\\ | frees heap segment |+| ||||| 
 +| 0x802550F0 | free | void* $a0 ptr | //void// | frees heap segment ​
 +| ||||| 
 +| 0x80255358 | expandArray | void* $a0 srcPtr | void* | expands exisitng dynamic array | 
 +| :::| ::: | uint $a1 size | ::: | ::: | 
 +| |||||
 | 0x802588DC | max | float $f12 f1 | float | returns maximum of 2 floats | | 0x802588DC | max | float $f12 f1 | float | returns maximum of 2 floats |
 | :::        | ::: | float $f14 f2  | ::: | ::: |  | :::        | ::: | float $f14 f2  | ::: | ::: | 
 | 0x80258904 | min | float $f12 f1 | float | returns minimum of 2 floats | | 0x80258904 | min | float $f12 f1 | float | returns minimum of 2 floats |
-| :::        | ::: | float $f14 f2  | ::: | ::: | +| :::        | ::: | float $f14 f2 | :::   ​| ::: | 
 | 0x8025892C | max | u32 $a0 int1 | u32 | returns maximum of 2 ints | | 0x8025892C | max | u32 $a0 int1 | u32 | returns maximum of 2 ints |
 | :::        | ::: | u32 $a1 int2  | ::: | ::: |  | :::        | ::: | u32 $a1 int2  | ::: | ::: | 
Line 59: Line 77:
 | :::        | ::: | u32 $a1 int2 | ::: | ::: |  | :::        | ::: | u32 $a1 int2 | ::: | ::: | 
 | 0x80258964 | abs | float $f12 input | float | returns absolute value of float | | 0x80258964 | abs | float $f12 input | float | returns absolute value of float |
 +| |||||
 | 0x802589CC | abs | S32 $a0 input | u32 | returns absolute value of int |  | 0x802589CC | abs | S32 $a0 input | u32 | returns absolute value of int | 
 +| |||||
 +| 0x80258B8C | zero_Vec3 |vec3_f* $a0 XYZ | //void// | clears 3D float vector |
 +| 0x80258BA4 | copy_Vec3 |vec3_f* $a0 dest | //void// | copies 3D float vector from source to destination |
 +| :::        | :::      |vec3_f* $a1 src  | :::      | ::: |
 +| 0x80258BC0 | diff_Vec3 | vec3_f* $a0 dest | //void// | dest = (src1 - src2) |
 +| :::        | :::       | vec3_f* $a1 src1  | :::      | ::: |
 +| :::        | :::       | vec3_f* $a2 src2  | :::      | ::: |
 +| 0x80258BF4 | diff_Vec3 | vec3_f* $a0 src1 | //void// | src1 = (src1 - src2) |
 +| :::        | :::       | vec3_f* $a1 src2 | :::      | ::: |
 +| 0x80258C28 | set_Vec3 | vec3_f* $a0 dest | //void// | sets xyz vector |
 +| :::        | :::      | float $a1 X      | :::      | ::: |
 +| :::        | :::      | float $a2 Y      | :::      | ::: |
 +| :::        | :::      | float $a3 Z      | :::      | ::: |
 +| 0x80258C48 | add_Vec3 | vec3_f* $a0 dest | //void// | dest = (src1 + src2) |
 +| :::        | :::      | vec3_f* $a1 src1  | :::      | ::: |
 +| :::        | :::      | vec3_f* $a2 src2  | :::      | ::: |
 +| 0x80258C7C | scale_Vec3 | vec3_f* $a0 src | //void// | scales src by scaler |
 +| :::        | :::        | float $a1 scaler ​ | :::      | ::: |
 +| 0x80258CB0 | scale_Vec3 | vec3_f* $a0 dest | //void// | sets destination vector to src scaled by scaler |
 +| :::        | :::        | vec3_f* $a1 src  | :::      | ::: |
 +| :::        | :::        | float $a2 scaler ​ | :::   | ::: |
 +| 0x80258CDC | addAbs_Vec3 | vec3_f* $a0 src1 | //void// | src1 = abs(src1)+abs(src2) |
 +| :::        | :::         | vec3_f* $a1 src2  | :::      | ::: |
 +| 0x80258D68 | cnvtFToW_Vec3 | vec3_w* $a0 dest | //void// | converts float vector to word vector |
 +| :::        | :::           | vec3_f* $a1 src  | :::      | ::: |
 +| 0x80258DA8 | cnvtFToH_Vec3 | vec3_h* $a0 dest | //void// | converts float vector to half vector |
 +| :::        | :::           | vec3_f* $a1 src  | :::      | ::: |
 +| 0x80258DE8 | tuncFToW_Vec3 | vec3_w* $a0 dest | //void// | truncates float vector to word vector |
 +| :::        | :::           | vec3_f* $a1 src  | :::      | ::: |
 +| 0x80258E24 | tuncFToH_Vec3 | vec3_h* $a0 dest | //void// | truncates float vector to half vector |
 +| :::        | :::           | vec3_f* $a1 src  | :::      | ::: |
 ===== Game Engine ===== ===== Game Engine =====
 ^ Address ​ ^ Name ^ Inputs ^ Output ^ Description ^ ^ Address ​ ^ Name ^ Inputs ^ Output ^ Description ^
 +|0x8028DE0C | spawn_CarriedObject | $a0 [[banjo_kazooie:​enums#​object_spawn_index|objectSpawnIndex]] | //void// | spawns object relative to banjo, sets it as carried object, and puts banjo in carrying movement state |
 +| |||||
 |0x8028F3B8 | unlockMove | $a0 [[banjo_kazooie:​enums#​move_index|moveIndex]] | //void// | unlocks specific move | |0x8028F3B8 | unlockMove | $a0 [[banjo_kazooie:​enums#​move_index|moveIndex]] | //void// | unlocks specific move |
 +| |||||
 +|0x80291E88 | freePlayerModel | //void// | //void// | frees the player'​s model from memory |
 +| |||||
 +|0x80291FA0 | get_PlayerModel | //void// | [[banjo_kazooie:​model_data|model]]* | returns pointer to player'​s model in RAM |
 +|0x80291FAC | get_PlayerModelFileIndex | //void// | [[banjo_kazooie:​rom_map#​object_model_files|modelFileIndex]] | returns index to player'​s model |
 +|0x80291FB8 | set_PlayerModelOpacity | u8 $a0 opacity | //void// | sets player'​s opacity |
 +|0x80291FC4 | set_PlayerModel | [[banjo_kazooie:​model_data|model]]* $a0 modelPtr | //void// | sets player'​s model |
 +| |||||
 +|0x80292194 | set_PlayerModelScale | float $f12 scale | //void// | sets player'​s model scale |
 +| |||||
 +|0x80292194 | set_PlayerModelXYZDisjoint | vec3* $a0 disjointXYZ | //void// | sets player'​s model position disjoint amount|
 +|0x802921BC | set_PlayerModelYDisjoint | float $f12 disjointY | //void// | sets player'​s model Y position disjoint amount|
 +|0x802921C8 | set_PlayerModelVisibe | bool $a0 visibleFlag | //void// | sets player'​s model visible flag|
 +| |||||
 +|0x80292548 | is_PlayerModelVisibe | //void// | bool | returns player'​s model visible flag |
 | ||||| | |||||
 |0x802957D8 | is_moveUnlocked |$a0 [[banjo_kazooie:​enums#​move_index|moveIndex]] | bool | checks if specific move is unlocked | |0x802957D8 | is_moveUnlocked |$a0 [[banjo_kazooie:​enums#​move_index|moveIndex]] | bool | checks if specific move is unlocked |
Line 74: Line 141:
 |0x8029B62C | deathWarp | //void// | //void// | Causes Deathwarp | |0x8029B62C | deathWarp | //void// | //void// | Causes Deathwarp |
 |0x8029B6F0 | voidOut | //void// | //void// | Causes void out | |0x8029B6F0 | voidOut | //void// | //void// | Causes void out |
 +| |||||
 +|0x802C4140 | spawnObject | u32 $a0 [[banjo_kazooie:​enums#​object_spawn_index|objectSpawnIndex]] | //void// | spawns object at position with 0 rotation|
 +| :::       | :::         | float $a1 XPos | ::: | ::: |
 +| :::       | :::         | float $a2 YPos | ::: | ::: |
 +| :::       | :::         | float $a3 ZPos | ::: | ::: |
 +| |||||
 +|0x802C4158 | spawn_Object | $a0 [[banjo_kazooie:​enums#​object_spawn_index|objectSpawnIndex]] | //void// | spawns object at position with 0 rotation|
 +| :::       | :::         | float $a1 XPos | ::: | ::: |
 +| :::       | :::         | float $a2 YPos | ::: | ::: |
 +| :::       | :::         | float $a3 ZPos | ::: | ::: |
 +| |||||
 +|0x803056FC | spawn_Object | $a0 [[banjo_kazooie:​enums#​object_spawn_index|objectSpawnIndex]] | //void// | spawns object at position and rotation|
 +| :::       | :::         | vec3_f $a1 posPtr | ::: | ::: |
 +| :::       | :::         | float $a2 YRotation | ::: | ::: |
 +| |||||
 +|0x8032811C | spawn_Object | $a0 [[banjo_kazooie:​enums#​object_spawn_index|objectSpawnIndex]] | //void// | spawns object at position and rotation|
 +| :::       | :::         | vec3_f $a1 posPtr | ::: | ::: |
 +| :::       | :::         | float $a2 YRotation | ::: | ::: |
 +|0x8032813C | spawn_Object | $a0 [[banjo_kazooie:​enums#​object_spawn_index|objectSpawnIndex]] | //void// | spawns object at position and rotation|
 +| :::       | :::         | vec3_f $a1 posPtr | ::: | ::: |
 +| :::       | :::         | float $a2 YRotation | ::: | ::: |
 | ||||| | |||||
 |0x8033D5D0 | strcat | char* $a0 dest |  //void// | concatenates source string to destination string | |0x8033D5D0 | strcat | char* $a0 dest |  //void// | concatenates source string to destination string |
banjo_kazooie/ram_map.txt · Last modified: 2019/08/30 21:14 by mittenz