// libultra OS symbols D_80000000 = 0x80000000; // __osExceptionPreamble D_80000004 = 0x80000004; // __osExceptionPreamble D_80000008 = 0x80000008; // __osExceptionPreamble D_8000000C = 0x8000000C; // __osExceptionPreamble D_80000010 = 0x80000010; // D_80000020 = 0x80000020; // osTvType = 0x80000300; osRomType = 0x80000304; osRomBase = 0x80000308; osResetType = 0x8000030C; osCicId = 0x80000310; osVersion = 0x80000314; osMemSize = 0x80000318; osAppNMIBuffer = 0x8000031C; /// OS hardware registers // Signal Processor Registers D_A4040000 = 0xA4040000; // SP_MEM_ADDR_REG D_A4040004 = 0xA4040004; // SP_DRAM_ADDR_REG D_A4040008 = 0xA4040008; // SP_RD_LEN_REG D_A404000C = 0xA404000C; // SP_WR_LEN_REG D_A4040010 = 0xA4040010; // SP_STATUS_REG D_A4040014 = 0xA4040014; // SP_DMA_FULL_REG D_A4040018 = 0xA4040018; // SP_DMA_BUSY_REG D_A404001C = 0xA404001C; // SP_SEMAPHORE_REG D_A4080000 = 0xA4080000; // SP PC // Display Processor Command Registers / Rasterizer Interface D_A4100000 = 0xA4100000; // DPC_START_REG D_A4100004 = 0xA4100004; // DPC_END_REG D_A4100008 = 0xA4100008; // DPC_CURRENT_REG D_A410000C = 0xA410000C; // DPC_STATUS_REG D_A4100010 = 0xA4100010; // DPC_CLOCK_REG D_A4100014 = 0xA4100014; // DPC_BUFBUSY_REG D_A4100018 = 0xA4100018; // DPC_PIPEBUSY_REG D_A410001C = 0xA410001C; // DPC_TMEM_REG // Display Processor Span Registers D_A4200000 = 0xA4200000; // DPS_TBIST_REG / DP_TMEM_BIST D_A4200004 = 0xA4200004; // DPS_TEST_MODE_REG D_A4200008 = 0xA4200008; // DPS_BUFTEST_ADDR_REG D_A420000C = 0xA420000C; // DPS_BUFTEST_DATA_REG // MIPS Interface Registers D_A4300000 = 0xA4300000; // MI_MODE_REG / MI_INIT_MODE_REG D_A4300004 = 0xA4300004; // MI_VERSION_REG D_A4300008 = 0xA4300008; // MI_INTR_REG D_A430000C = 0xA430000C; // MI_INTR_MASK_REG // Video Interface Registers D_A4400000 = 0xA4400000; // VI_STATUS_REG / VI_CONTROL_REG D_A4400004 = 0xA4400004; // VI_DRAM_ADDR_REG / VI_ORIGIN_REG D_A4400008 = 0xA4400008; // VI_WIDTH_REG D_A440000C = 0xA440000C; // VI_INTR_REG D_A4400010 = 0xA4400010; // VI_CURRENT_REG D_A4400014 = 0xA4400014; // VI_BURST_REG / VI_TIMING_REG D_A4400018 = 0xA4400018; // VI_V_SYNC_REG D_A440001C = 0xA440001C; // VI_H_SYNC_REG D_A4400020 = 0xA4400020; // VI_LEAP_REG D_A4400024 = 0xA4400024; // VI_H_START_REG D_A4400028 = 0xA4400028; // VI_V_START_REG D_A440002C = 0xA440002C; // VI_V_BURST_REG D_A4400030 = 0xA4400030; // VI_X_SCALE_REG D_A4400034 = 0xA4400034; // VI_Y_SCALE_REG // Audio Interface Registers D_A4500000 = 0xA4500000; // AI_DRAM_ADDR_REG D_A4500004 = 0xA4500004; // AI_LEN_REG D_A4500008 = 0xA4500008; // AI_CONTROL_REG D_A450000C = 0xA450000C; // AI_STATUS_REG D_A4500010 = 0xA4500010; // AI_DACRATE_REG D_A4500014 = 0xA4500014; // AI_BITRATE_REG // Peripheral/Parallel Interface Registers D_A4600000 = 0xA4600000; // PI_DRAM_ADDR_REG D_A4600004 = 0xA4600004; // PI_CART_ADDR_REG D_A4600005 = 0xA4600005; D_A4600006 = 0xA4600006; D_A4600007 = 0xA4600007; D_A4600008 = 0xA4600008; // PI_RD_LEN_REG D_A460000C = 0xA460000C; // PI_WR_LEN_REG D_A4600010 = 0xA4600010; // PI_STATUS_REG D_A4600014 = 0xA4600014; // PI_BSD_DOM1_LAT_REG // PI dom1 latency D_A4600018 = 0xA4600018; // PI_BSD_DOM1_PWD_REG // PI dom1 pulse width D_A460001C = 0xA460001C; // PI_BSD_DOM1_PGS_REG // PI dom1 page size D_A4600020 = 0xA4600020; // PI_BSD_DOM1_RLS_REG // PI dom1 release D_A4600024 = 0xA4600024; // PI_BSD_DOM2_LAT_REG // PI dom2 latency D_A4600028 = 0xA4600028; // PI_BSD_DOM2_LWD_REG // PI dom2 pulse width D_A460002C = 0xA460002C; // PI_BSD_DOM2_PGS_REG // PI dom2 page size D_A4600030 = 0xA4600030; // PI_BSD_DOM2_RLS_REG // PI dom2 release // RDRAM Interface Registers D_A4700000 = 0xA4700000; // RI_MODE_REG D_A4700004 = 0xA4700004; // RI_CONFIG_REG D_A4700008 = 0xA4700008; // RI_CURRENT_LOAD_REG D_A470000C = 0xA470000C; // RI_SELECT_REG D_A4700010 = 0xA4700010; // RI_REFRESH_REG D_A4700014 = 0xA4700014; // RI_LATENCY_REG D_A4700018 = 0xA4700018; // RI_RERROR_REG D_A470001C = 0xA470001C; // RI_WERROR_REG // Serial Interface Registers D_A4800000 = 0xA4800000; // SI_DRAM_ADDR_REG D_A4800004 = 0xA4800004; // SI_PIF_ADDR_RD64B_REG D_A4800008 = 0xA4800008; // reserved D_A480000C = 0xA480000C; // reserved D_A4800010 = 0xA4800010; // SI_PIF_ADDR_WR64B_REG D_A4800014 = 0xA4800014; // reserved D_A4800018 = 0xA4800018; // SI_STATUS_REG // sys_cfb buffers gFramebufferHiRes1 = gLoBuffer; gFramebufferHiRes0 = gHiBuffer; // Ucode symbols rspbootTextSize = 0x160; rspbootTextEnd = rspbootTextStart + rspbootTextSize; aspMainTextEnd = aspMainTextStart + 0x1000; aspMainDataEnd = aspMainDataStart + 0x2E0; // Segmented Addresses // segment 0x01 D_01000000 = 0x01000000; // segment 0x02 D_02000400 = 0x02000400; D_02000E60 = 0x02000E60; D_02002460 = 0x02002460; D_020029A0 = 0x020029A0; D_02002AA0 = 0x02002AA0; D_02003F20 = 0x02003F20; D_0200B998 = 0x0200B998; // segment 0x03 // segment 0x04 D_0401ED00 = 0x0401ED00; D_04023210 = 0x04023210; D_04023348 = 0x04023348; D_040233B8 = 0x040233B8; D_04023428 = 0x04023428; D_04029CB0 = 0x04029CB0; D_04029CF0 = 0x04029CF0; D_0402E510 = 0x0402E510; D_04030100 = 0x04030100; D_0403F230 = 0x0403F230; D_04050D10 = 0x04050D10; D_04051180 = 0x04051180; D_04051238 = 0x04051238; D_04054940 = 0x04054940; D_040549A8 = 0x040549A8; D_0406AB30 = 0x0406AB30; D_040706E0 = 0x040706E0; D_04076BC0 = 0x04076BC0; D_0407AB70 = 0x0407AB70; D_0407D590 = 0x0407D590; D_0407E8C0 = 0x0407E8C0; D_0407F218 = 0x0407F218; // segment 0x05 D_050085F0 = 0x050085F0; D_050089D0 = 0x050089D0; // segment 0x06 // ovl_Bg_Dblue_Elevator D_060002C8 = 0x060002C8; D_060005C4 = 0x060005C4; // ovl_Boss_07 D_06000194 = 0x06000194; D_06000428 = 0x06000428; D_06000D0C = 0x06000D0C; D_06002C40 = 0x06002C40; D_06002D84 = 0x06002D84; D_060031E4 = 0x060031E4; D_06003854 = 0x06003854; D_06003A64 = 0x06003A64; D_060099A0 = 0x060099A0; D_06009C7C = 0x06009C7C; D_06009EA8 = 0x06009EA8; D_0600A194 = 0x0600A194; D_0600A400 = 0x0600A400; D_0600A6AC = 0x0600A6AC; D_0600AE40 = 0x0600AE40; D_0600AFB0 = 0x0600AFB0; D_0600B020 = 0x0600B020; D_0600C7D8 = 0x0600C7D8; D_0600CEE8 = 0x0600CEE8; D_060149A0 = 0x060149A0; D_06016090 = 0x06016090; D_06017DE0 = 0x06017DE0; D_06019328 = 0x06019328; D_06019C58 = 0x06019C58; D_06019E48 = 0x06019E48; D_0601DEB4 = 0x0601DEB4; D_06022BB4 = 0x06022BB4; D_06023DAC = 0x06023DAC; D_06025018 = 0x06025018; D_06025878 = 0x06025878; D_06026204 = 0x06026204; D_060269EC = 0x060269EC; D_06026EA0 = 0x06026EA0; D_06027270 = 0x06027270; D_0602EE50 = 0x0602EE50; D_0602EEC8 = 0x0602EEC8; D_0602EEF8 = 0x0602EEF8; D_0602EF68 = 0x0602EF68; D_0602EF88 = 0x0602EF88; D_0602EFE8 = 0x0602EFE8; D_0602F640 = 0x0602F640; D_0602F840 = 0x0602F840; D_06030C40 = 0x06030C40; D_06032040 = 0x06032040; D_060335F0 = 0x060335F0; D_06033F80 = 0x06033F80; D_06034E64 = 0x06034E64; D_060358C4 = 0x060358C4; D_06036A7C = 0x06036A7C; D_06037ADC = 0x06037ADC; D_0603918C = 0x0603918C; D_0603B330 = 0x0603B330; D_0603C4E0 = 0x0603C4E0; D_0603CBD0 = 0x0603CBD0; D_0603D224 = 0x0603D224; D_0603D7F0 = 0x0603D7F0; D_0603DD1C = 0x0603DD1C; D_0603DD30 = 0x0603DD30; D_0603ED30 = 0x0603ED30; D_0603F130 = 0x0603F130; D_06040130 = 0x06040130; D_06040930 = 0x06040930; D_06040B30 = 0x06040B30; D_06041B30 = 0x06041B30; D_06042330 = 0x06042330; D_06043330 = 0x06043330; // ovl_En_Bsb D_06000C50 = 0x06000C50; D_06004894 = 0x06004894; D_060086BC = 0x060086BC; D_0600C3E0 = 0x0600C3E0; // ovl_En_Death D_06000E64 = 0x06000E64; D_060015B4 = 0x060015B4; D_06001834 = 0x06001834; D_06001F80 = 0x06001F80; D_06002DE8 = 0x06002DE8; D_0600352C = 0x0600352C; D_06003CAC = 0x06003CAC; D_06006F88 = 0x06006F88; D_060073D0 = 0x060073D0; D_06009988 = 0x06009988; D_06009BA0 = 0x06009BA0; D_06009F10 = 0x06009F10; D_0600AD08 = 0x0600AD08; D_0600B284 = 0x0600B284; D_0600B508 = 0x0600B508; D_0600CB2C = 0x0600CB2C; D_0600CB84 = 0x0600CB84; D_0600CBC0 = 0x0600CBC0; // ovl_En_Knight D_060005A8 = 0x060005A8; D_060009E0 = 0x060009E0; D_06000D9C = 0x06000D9C; D_06001CDC = 0x06001CDC; D_06002174 = 0x06002174; D_06003008 = 0x06003008; D_060031F0 = 0x060031F0; D_06003650 = 0x06003650; D_060040E0 = 0x060040E0; D_06004620 = 0x06004620; D_06004974 = 0x06004974; D_06005D30 = 0x06005D30; D_06005E78 = 0x06005E78; D_06006754 = 0x06006754; D_06006EF8 = 0x06006EF8; D_060079D4 = 0x060079D4; D_06008390 = 0x06008390; D_06008524 = 0x06008524; D_060089E4 = 0x060089E4; D_06008D80 = 0x06008D80; D_06009538 = 0x06009538; D_06009D8C = 0x06009D8C; D_0600A530 = 0x0600A530; D_0600A88C = 0x0600A88C; D_0600AFAC = 0x0600AFAC; D_0600B5D4 = 0x0600B5D4; D_0600BCF4 = 0x0600BCF4; D_0600C384 = 0x0600C384; D_0600C7F0 = 0x0600C7F0; D_0600CDE0 = 0x0600CDE0; D_0600D870 = 0x0600D870; D_0600DDCC = 0x0600DDCC; D_0600E15C = 0x0600E15C; D_0600E45C = 0x0600E45C; D_0600E7F4 = 0x0600E7F4; D_0600EA90 = 0x0600EA90; D_0600EF44 = 0x0600EF44; D_0600FC78 = 0x0600FC78; D_0601024C = 0x0601024C; D_06010E98 = 0x06010E98; D_06011298 = 0x06011298; D_06012400 = 0x06012400; D_06012DB0 = 0x06012DB0; D_06013020 = 0x06013020; D_060188F8 = 0x060188F8; D_060189F0 = 0x060189F0; D_06018AF0 = 0x06018AF0; D_06018BC4 = 0x06018BC4; D_060201A8 = 0x060201A8; D_06020374 = 0x06020374; D_06020950 = 0x06020950; D_0602105C = 0x0602105C; D_06021B10 = 0x06021B10; D_06021E34 = 0x06021E34; D_06022728 = 0x06022728; D_06022CAC = 0x06022CAC; // ovl_En_Okuta D_0600044C = 0x0600044C; D_06003250 = 0x06003250; D_060033D0 = 0x060033D0; D_06003958 = 0x06003958; D_06003B24 = 0x06003B24; D_06003EE4 = 0x06003EE4; D_06004204 = 0x06004204; D_0600466C = 0x0600466C; // ovl_En_Wdhand D_060000F4 = 0x060000F4; D_06000364 = 0x06000364; D_06000534 = 0x06000534; D_06000854 = 0x06000854; D_060014C0 = 0x060014C0; D_060015B0 = 0x060015B0; D_06001E20 = 0x06001E20; // ovl_En_Zl4 D_06013328 = 0x06013328; // segment 0x07 // segment 0x08 D_08000000 = 0x08000000; // segment 0x09 // segment 0x0A D_0A000D40 = 0x0A000D40; // segment 0x0B // segment 0x0C D_0C000000 = 0x0C000000; // segment 0x0D // segment 0x0E D_0E000000 = 0x0E000000; // segment 0x0F D_0F000000 = 0x0F000000;