User Tools

Site Tools


super_mario_64:title_screen

Differences

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

Link to this comparison view

super_mario_64:title_screen [2018/03/09 18:16]
trenavix created
super_mario_64:title_screen [2018/10/14 13:23] (current)
miles minor changes :weary:
Line 1: Line 1:
 ======== Title Screen ======== ======== Title Screen ========
  
-The title screen is displayed from the main level scripts using a combination of [[sm64:​geometry_layout_commands]] and assembly. The top level script at 108A10 loads the level script at 269EA0 into segment 0x14 and jumps to the beginning of it. The 269EA0 level scripts loads assembly from 21F4C0-269EA0 to RAM 8016F000, 219E00 into segment 0x13, MIO0 block from 26A3A0 (main menu textures) into segment 0x07, and starts a geo layout area from 0x140002D0.+The title screen is displayed from the main level scripts using a combination of [[super_mario_64:​geometry_layout_commands]] and assembly. The top level script at 108A10 loads the level script at 269EA0 into segment 0x14 and jumps to the beginning of it. The 269EA0 level scripts loads assembly from 21F4C0-269EA0 to RAM 8016F000, 219E00 into segment 0x13, MIO0 block from 26A3A0 (main menu textures) into segment 0x07, and starts a geo layout area from 0x140002D0.
  
 The geo layout at 0x140002D0 has two interesting commands: The geo layout at 0x140002D0 has two interesting commands:
Line 19: Line 19:
 The last piece of the title screen is how long it is displayed for. This is controlled by the 0x03 level script command at 269EEC, before fading out. The last piece of the title screen is how long it is displayed for. This is controlled by the 0x03 level script command at 269EEC, before fading out.
  
-Level script at 269EA0:+===== Level Script ===== 
 + 
 +The level script ​for the title screen starts at 0x269EA0 and is part of the level script data at 269EA0-26A3A0. 
 <​code>​ <​code>​
 269EA0 [000]: StartLoad 1B 04 0000  269EA0 [000]: StartLoad 1B 04 0000 
Line 28: Line 31:
 269ED0 [030]: StartArea 1F 08 0100 140002D0 ​ 269ED0 [030]: StartArea 1F 08 0100 140002D0 ​
 269ED8 [038]: EndArea ​  20 04 0000  269ED8 [038]: EndArea ​  20 04 0000 
-269EDC [03C]: ​          ​1E 04 0000 +269EDC [03C]: ​AllocPool ​1E 04 0000 
 269EE0 [040]: ​          29 04 0100  269EE0 [040]: ​          29 04 0100 
 269EE4 [044]: AccumAsm1 11 08 0000 8016F5B0 269EE4 [044]: AccumAsm1 11 08 0000 8016F5B0
Line 36: Line 39:
 </​code>​ </​code>​
  
-Geo layout ​at segment 0x140002D0 ​(269EA0 + 2D0):+===== Geo Layout ===== 
 +The geo layout ​for the title screen is defined by the StartArea 0x1F level command above. ​(seg 140002D0, ROM 26A170)
 <​code>​ <​code>​
-26A170: [ 08 00 00 00 00A00078 00A00078 ]+26A170: [ 08 00 00 00 00A00078 00A00078 ] // Set screen rendering area
 26A17C: [ 04 00 00 00 ] 26A17C: [ 04 00 00 00 ]
 26A180: ​  [ 0C 00 00 00 ] 26A180: ​  [ 0C 00 00 00 ]
Line 44: Line 48:
 26A188: ​    [ 09 00 00 64 ] 26A188: ​    [ 09 00 00 64 ]
 26A18C: ​    [ 04 00 00 00 ] 26A18C: ​    [ 04 00 00 00 ]
-26A190: ​      [ 19 00 00 01 00 00 00 00 ]+26A190: ​      [ 19 00 0001 00000000 ​// Draw solid color background (RGBA)
 26A198: ​    [ 05 00 00 00 ] 26A198: ​    [ 05 00 00 00 ]
 26A19C: ​  [ 05 00 00 00 ] 26A19C: ​  [ 05 00 00 00 ]
Line 59: Line 63:
 26A1E0: ​  [ 0C 00 00 00 ] 26A1E0: ​  [ 0C 00 00 00 ]
 26A1E4: ​  [ 04 00 00 00 ] 26A1E4: ​  [ 04 00 00 00 ]
-26A1E8: ​    [ 18 00 00 00 8016F984 ]+26A1E8: ​    [ 18 00 00 00 8016F984 ] // Create display list(s) from the ASM function 0x8016F984 
 + 
 +//NOTE: Importing a custom title screen replaces 0x8016F984 with 0x00000000 in the 18 command above. 
 +Simply replace 0x00000000 back with 0x8016F984 to bring back the TM and copyright graphics. 
 26A1F0: ​  [ 05 00 00 00 ] 26A1F0: ​  [ 05 00 00 00 ]
 26A1F4: [ 05 00 00 00 ] 26A1F4: [ 05 00 00 00 ]
-26A1F8: [ 01 00 00 00 ]+26A1F8: [ 01 00 00 00 ] // End geometry layout
 </​code>​ </​code>​
super_mario_64/title_screen.1520619400.txt.gz · Last modified: 2018/03/09 18:16 by trenavix