======== Star Select Rendering ========
The star select screen is rendered using a combination of geo layout functions and behaviors for the stars. Much of the screen uses custom asm to generate the F3D display lists.
The main menu level script (2A6120-2A65B0) contains the level script for the act selector starting at 2A6238. This includes a check on course number (asm 8024BE14), a geo layout for the star select screen (seg 14000408, ROM 2A6528), and a behavior for the spinning stars (seg 13003048, ROM 21CE48).
===== Level Script =====
The level script for the star act selector starts at 0x2A6238 and is part of the main menu level script (2A6120-2A65B0).
2A6238 [118]: AccumAsm1 11 08 0000 8024BE14
2A6240 [120]: CondJump  0C 0C 0200 00000000 140001C0 
2A624C [12C]: StartLoad 1B 04 0000
2A6250 [130]: LoadASM   16 10 0000 8016F000 0021F4C0 00269EA0
2A6260 [140]: MIO0->Seg 18 0C 0007 002A65B0 002ABCA0
2A626C [14C]: EndLoad   1D 04 0000
2A6270 [150]: StartArea 1F 08 0200 14000408
2A6278 [158]: PlaceObj  24 18 1F00 24181F00 0000FF9C 00000000 00000000 04000000 13003048
2A6290 [170]: Collision 2E 08 0000 0700DE30
2A6298 [178]: EndArea   20 04 0000
2A629C [17C]: AllocPool 1E 04 0000
2A62A0 [180]:           29 04 0200
2A62A4 [184]: FadeColor 33 08 0010 FFFFFF00
2A62AC [18C]: Delay03   03 04 0010
2A62B0 [190]: Music37   37 04 000D
2A62B4 [194]: AccumAsm1 11 08 0000 80177560
2A62BC [19C]: AccumAsm2 12 08 0000 80177610
2A62C4 [1A4]: GetPut    3C 04 0002
2A62C8 [1A8]:           38 04 00BE
2A62CC [1AC]: FadeColor 33 08 0110 FFFFFF00
2A62D4 [1B4]: Delay03   03 04 0010
2A62D8 [1B8]: Cleanup   1C 04 0000
2A62DC [1BC]: Delay04   04 04 0001
2A62E0 [1C0]: EndLevel  02 04 0000
===== Geo Layout =====
The geo layout for the act selector is defined by the StartArea 0x1F level command above. (seg 14000408, ROM 2A6528)
2A6528: [ 08 00 00 0A 00A00078 00A00078 ] // Set screen rendering area
2A6534: [ 04 00 00 00 ]
2A6538:  [ 0C 00 00 00 ]
2A653C:  [ 04 00 00 00 ]
2A6540:    [ 09 00 00 64 ]
2A6544:    [ 04 00 00 00 ]
2A6548:      [ 19 00 FFFF 00000000 // Draw solid color background (RGBA)
2A6550:    [ 05 00 00 00 ]
2A6554:  [ 05 00 00 00 ]
2A6558:  [ 0C 01 00 00 ] 
2A655C:  [ 04 00 00 00 ]
2A6560:    [ 0A 00 002D 0064 61A8 ]
2A6568:    [ 04 00 00 00 ]
2A656C:      [ 0F 00 0000 0000 0000 03E8 0000 0000 0000 00000000 ]
2A6580:      [ 04 00 00 00 ]
2A6584:        [ 17 00 00 00 ] // Setup display lists for level objects
2A6588:      [ 05 00 00 00 ]
2A658C:    [ 05 00 00 00 ]
2A6590:  [ 05 00 00 00 ]
2A6594:  [ 0C 00 00 00 ]
2A6598:  [ 04 00 00 00 ]
2A659C:    [ 18 00 00 00 80177518 ] // Create display list(s) from the ASM function 0x80177518
2A65A4:  [ 05 00 00 00 ]
2A65A8: [ 05 00 00 00 ]
2A65AC: [ 01 00 00 00 ] // End geometry layout
===== Star Behavior Script =====
The rotating star behavior (seg 13003048, ROM 21CE48) contains two ASM routines 80176B20 and 80176DF0 which generate the act selection stars and rotate the selected star.
21CE48 [3048]: 00 08 00 00
21CE4C [304C]: 11 01 00 01
21CE50 [3050]: 0C 00 00 00 80176B20 // ROM: 0x226FE0, Creates menu stars
21CE58 [3058]: 08 00 00 00
21CE5C [305C]:   0C 00 00 00 80176DF0 // ROM: 0x2272B0, Rotate stars/select act
21CE64 [3064]: 09 00 00 00
===== References =====
  * http://smwc.me/1309025
  * http://pastebin.com/raw/VeS4qaZP