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