sm64

A Super Mario 64 decompilation
Log | Files | Refs | README | LICENSE

rsp.s (4548B)


      1 #include "macros.inc"
      2 .set UCODE_SIZE, 0x800
      3 
      4 .section .text
      5 
      6 .balign 16
      7 glabel rspF3DBootStart
      8     .incbin "rsp/rspboot.bin"
      9 .balign 16
     10 glabel rspF3DBootEnd
     11 
     12 .balign 16
     13 #ifndef F3DEX_GBI_SHARED
     14 glabel rspF3DStart /* Use regular Fast3D bins (default) */
     15     .incbin "rsp/fast3d.bin"
     16 glabel rspF3DEnd
     17 
     18 #else /* Use one of the Fast3DEX series grucodes. */
     19 glabel rspF3DStart
     20     #ifdef F3DZEX_GBI_2
     21         .incbin "lib/PR/f3dex2/F3DZEX_NoN.bin"
     22     #elif defined(F3DEX_GBI)
     23         .incbin "lib/PR/f3dex/F3DEX.bin"
     24     #elif defined(F3DEX_GBI_2)
     25         .incbin "lib/PR/f3dex2/F3DEX2.bin"
     26     #endif
     27 glabel rspF3DEnd
     28 #endif
     29 
     30 /* Audio Bins */
     31 
     32 .balign 16
     33 glabel rspAspMainStart
     34     .incbin "rsp/audio.bin"
     35 glabel rspAspMainEnd
     36 
     37 /*
     38  * LESS COMMON MICROCODES
     39  * These are setup to be loaded by G_LOAD_UCODE
     40  */
     41 
     42 /* Fast3DEX NoN Text */
     43 #ifdef F3DEX_NON_GBI
     44 glabel rspF3DEXNoNStart
     45     .balign 16
     46     .incbin "lib/PR/f3dex/F3DEX_NoN.bin"
     47 glabel rspF3DEXNoNEnd
     48 #endif
     49 
     50 /* Fast3DLX Text */
     51 #ifdef F3DLX_GBI
     52 glabel rspF3DLXStart
     53     .incbin "lib/PR/f3dex/F3DLX.bin"
     54 glabel rspF3DLXEnd
     55 #endif
     56 
     57 /* Fast3DLX NoN Text */
     58 #ifdef F3DLX_NON_GBI
     59 glabel rspF3DLXNoNStart
     60     .balign 16
     61     .incbin "lib/PR/f3dex/F3DLX_NoN.bin"
     62 glabel rspF3DLXNoNEnd
     63 #endif
     64 
     65 /* Fast3DLX Rej Text */
     66 #ifdef F3DLX_REJ_GBI
     67 glabel rspF3DLXRejStart
     68     .balign 16
     69     .incbin "lib/PR/f3dex/F3DLX_Rej.bin"
     70 glabel rspF3DLXRejEnd
     71 #endif
     72 
     73 /* Line3DEX Text */
     74 #ifdef L3DEX_GBI
     75 glabel rspL3DEXStart
     76     .balign 16
     77     .incbin "lib/PR/f3dex/L3DEX.bin"
     78 glabel rspL3DEXEnd
     79 #endif
     80 
     81 /* S2DEX Text */
     82 #ifdef S2DEX_GBI
     83 glabel rspS2DEXStart
     84     .balign 16
     85     .incbin "lib/PR/s2dex/S2DEX.bin"
     86 glabel rspS2DEXEnd
     87 #endif
     88 
     89 /* Fast3DEX2 series */
     90 
     91 /* Fast3DEX2 NoN Text */
     92 #ifdef F3DEX2_NON_GBI
     93 .balign 16
     94 glabel rspF3DEX2NoNStart
     95     .incbin "lib/PR/f3dex2/F3DEX2_NoN.bin"
     96 glabel rspF3DEX2NoNEnd
     97 #endif
     98 
     99 /* Fast3DEX2 Rej Text */
    100 #ifdef F3DEX2_REJ_GBI
    101 .balign 16
    102 glabel rspF3DEX2RejStart
    103     .incbin "lib/PR/f3dex2/F3DEX2_Rej.bin"
    104 glabel rspF3DEX2RejEnd
    105 #endif
    106 
    107 /* Line3DEX2 Text */
    108 #ifdef L3DEX2_GBI
    109 .balign 16
    110 glabel rspL3DEX2Start
    111     .incbin "lib/PR/f3dex2/L3DEX2.bin"
    112 glabel rspL3DEX2End
    113 #endif
    114 
    115 /* S2DEX2 Text */
    116 #ifdef S2DEX_GBI_2
    117 .balign 16
    118 glabel rspS2DEXStart
    119     .incbin "lib/PR/s2dex/S2DEX2.bin"
    120 glabel rspS2DEXEnd
    121 #endif
    122 
    123 /* DATA SECTION START */
    124 
    125 .section .rodata
    126 
    127 .balign 16
    128 #ifndef F3DEX_GBI_SHARED /* Use regular Fast3D data (default) */
    129 glabel rspF3DDataStart
    130     .incbin "rsp/fast3d_data.bin"
    131 glabel rspF3DDataEnd
    132 
    133 #else /* Using one of the Fast3DEX series grucodes */
    134 glabel rspF3DDataStart
    135     #ifdef F3DZEX_GBI_2
    136         .incbin "lib/PR/f3dex2/F3DZEX_NoN_data.bin"
    137     #elif defined(F3DEX_GBI)
    138         .incbin "lib/PR/f3dex/F3DEX_data.bin"
    139     #elif defined(F3DEX_GBI_2)
    140         .incbin "lib/PR/f3dex2/F3DEX2_data.bin"
    141     #endif
    142 glabel rspF3DDataEnd
    143 #endif
    144 
    145 /* Audio Data */
    146 
    147 .balign 16
    148 glabel rspAspMainDataStart
    149     .incbin "rsp/audio_data.bin"
    150 glabel rspAspMainDataEnd
    151 
    152 /* LESS COMMON MICROCODES */
    153 
    154 /* Fast3DEX Series */
    155 
    156 /* Fast3DEX NoN Data */
    157 #ifdef F3DEX_NON_GBI
    158 .balign 16
    159 glabel rspF3DEXNoNDataStart
    160     .incbin "lib/PR/f3dex/F3DEX_NoN_data.bin"
    161 glabel rspF3DEXNoNDataEnd
    162 #endif
    163 
    164 /* Fast3DLX Data */
    165 #ifdef F3DLX_GBI
    166 .balign 16
    167 glabel rspF3DLXDataStart
    168     .incbin "lib/PR/f3dex/F3DLX_data.bin"
    169 glabel rspF3DLXDataEnd
    170 #endif
    171 
    172 /* Fast3DLX NoN Data */
    173 #ifdef F3DLX_NON_GBI
    174 .balign 16
    175 glabel rspF3DLXNoNDataStart
    176     .incbin "lib/PR/f3dex/F3DLX_NoN_data.bin"
    177 glabel rspF3DLXNoNDataEnd
    178 #endif
    179 
    180 /* Fast3DLX Rej Data */
    181 #ifdef F3DLX_REJ_GBI
    182 .balign 16
    183 glabel rspF3DLXRejDataStart
    184     .incbin "lib/PR/f3dex/F3DLX_Rej_data.bin"
    185 glabel rspF3DLXRejDataEnd
    186 #endif
    187 
    188 /* Line3DEX Data */
    189 #ifdef L3DEX_GBI
    190 .balign 16
    191 glabel rspL3DEXDataStart
    192     .incbin "lib/PR/f3dex/L3DEX_data.bin"
    193 glabel rspL3DEXDataEnd
    194 #endif
    195 
    196 /* S2DEX Data */
    197 #ifdef S2DEX_GBI
    198 .balign 16
    199 glabel rspS2DEXDataStart
    200     .incbin "lib/PR/s2dex/S2DEX_data.bin"
    201 glabel rspS2DEXDataEnd
    202 #endif
    203 
    204 /* Fast3DEX2 Series */
    205 
    206 /* Fast3DEX2 NoN Data */
    207 #ifdef F3DEX2_NON_GBI
    208 .balign 16
    209 glabel rspF3DEX2NoNStart
    210     .incbin "lib/PR/f3dex2/F3DEX2_NoN_data.bin"
    211 glabel rspF3DEX2NoNEnd
    212 #endif
    213 
    214 /* Fast3DEX2 Rej Data */
    215 #ifdef F3DEX2_REJ_GBI
    216 .balign 16
    217 glabel rspF3DEX2RejStart
    218     .incbin "lib/PR/f3dex2/F3DEX2_Rej_data.bin"
    219 glabel rspF3DEX2RejEnd
    220 #endif
    221 
    222 /* Line3DEX2 Data */
    223 #ifdef L3DEX2_GBI
    224 .balign 16
    225 glabel rspL3DEX2Start
    226     .incbin "lib/PR/f3dex2/L3DEX2_data.bin"
    227 glabel rspL3DEX2End
    228 #endif
    229 
    230 /* S2DEX2 Data */
    231 #ifdef S2DEX_GBI_2
    232 .balign 16
    233 glabel rspS2DEXStart
    234     .incbin "lib/PR/s2dex/S2DEX2_data.bin"
    235 glabel rspS2DEXEnd
    236 #endif