c: __scHandleRDP

This commit is contained in:
Mittenz
2020-08-19 16:06:11 -05:00
parent 0c0166ce46
commit eb8876d024
19 changed files with 113 additions and 126 deletions
+2 -2
View File
@@ -50,7 +50,7 @@ glabel __scMain
/* 07A260 80079660 1000FFE8 */ b .L80079604
/* 07A264 80079664 02602025 */ move $a0, $s3
.L80079668:
/* 07A268 80079668 0C01E757 */ jal func_80079D5C
/* 07A268 80079668 0C01E757 */ jal __scHandleRDP
/* 07A26C 8007966C 02402025 */ move $a0, $s2
/* 07A270 80079670 1000FFE4 */ b .L80079604
/* 07A274 80079674 02602025 */ move $a0, $s3
@@ -88,7 +88,7 @@ glabel __scMain
/* 07A2E4 800796E4 02003825 */ move $a3, $s0
/* 07A2E8 800796E8 02402025 */ move $a0, $s2
/* 07A2EC 800796EC 27A50054 */ addiu $a1, $sp, 0x54
/* 07A2F0 800796F0 0C01E835 */ jal func_8007A0D4
/* 07A2F0 800796F0 0C01E835 */ jal __scSchedule
/* 07A2F4 800796F4 27A60050 */ addiu $a2, $sp, 0x50
/* 07A2F8 800796F8 1050FFC2 */ beq $v0, $s0, .L80079604
/* 07A2FC 800796FC 02602025 */ move $a0, $s3
@@ -1,4 +1,4 @@
glabel func_8007A0D4
glabel __scSchedule
/* 07ACD4 8007A0D4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 07ACD8 8007A0D8 AFB10018 */ sw $s1, 0x18($sp)
/* 07ACDC 8007A0DC 00808825 */ move $s1, $a0
@@ -1,4 +1,4 @@
glabel func_80079E40
glabel __scTaskComplete
/* 07AA40 80079E40 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 07AA44 80079E44 AFBF0014 */ sw $ra, 0x14($sp)
/* 07AA48 80079E48 AFA40018 */ sw $a0, 0x18($sp)
@@ -29,7 +29,7 @@ glabel func_80079760
/* 07A3C4 800797C4 2D6C0001 */ sltiu $t4, $t3, 1
/* 07A3C8 800797C8 014C3825 */ or $a3, $t2, $t4
/* 07A3CC 800797CC AFA70024 */ sw $a3, 0x24($sp)
/* 07A3D0 800797D0 0C01E835 */ jal func_8007A0D4
/* 07A3D0 800797D0 0C01E835 */ jal __scSchedule
/* 07A3D4 800797D4 AFA40028 */ sw $a0, 0x28($sp)
/* 07A3D8 800797D8 8FA70024 */ lw $a3, 0x24($sp)
/* 07A3DC 800797DC 8FA40028 */ lw $a0, 0x28($sp)
@@ -116,7 +116,7 @@ glabel func_80079818
/* 07A5B4 800799B4 02003825 */ move $a3, $s0
/* 07A5B8 800799B8 02202025 */ move $a0, $s1
/* 07A5BC 800799BC 27A50038 */ addiu $a1, $sp, 0x38
/* 07A5C0 800799C0 0C01E835 */ jal func_8007A0D4
/* 07A5C0 800799C0 0C01E835 */ jal __scSchedule
/* 07A5C4 800799C4 27A60034 */ addiu $a2, $sp, 0x34
/* 07A5C8 800799C8 10500005 */ beq $v0, $s0, .L800799E0
/* 07A5CC 800799CC 00000000 */ nop
@@ -117,7 +117,7 @@ glabel func_80079B44
/* 07A8F4 80079CF4 8E0B0274 */ lw $t3, 0x274($s0)
.L80079CF8:
/* 07A8F8 80079CF8 ACAA0004 */ sw $t2, 4($a1)
/* 07A8FC 80079CFC 0C01E790 */ jal func_80079E40
/* 07A8FC 80079CFC 0C01E790 */ jal __scTaskComplete
/* 07A900 80079D00 02002025 */ move $a0, $s0
.L80079D04:
/* 07A904 80079D04 8E0B0274 */ lw $t3, 0x274($s0)
@@ -130,7 +130,7 @@ glabel func_80079B44
/* 07A91C 80079D1C AFA70028 */ sw $a3, 0x28($sp)
/* 07A920 80079D20 02002025 */ move $a0, $s0
/* 07A924 80079D24 27A50030 */ addiu $a1, $sp, 0x30
/* 07A928 80079D28 0C01E835 */ jal func_8007A0D4
/* 07A928 80079D28 0C01E835 */ jal __scSchedule
/* 07A92C 80079D2C 27A6002C */ addiu $a2, $sp, 0x2c
/* 07A930 80079D30 8FA70028 */ lw $a3, 0x28($sp)
/* 07A934 80079D34 8FA50030 */ lw $a1, 0x30($sp)
@@ -1,38 +0,0 @@
glabel func_80079D5C
/* 07A95C 80079D5C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 07A960 80079D60 AFBF0014 */ sw $ra, 0x14($sp)
/* 07A964 80079D64 AFA00020 */ sw $zero, 0x20($sp)
/* 07A968 80079D68 AFA0001C */ sw $zero, 0x1c($sp)
/* 07A96C 80079D6C 8C850278 */ lw $a1, 0x278($a0)
/* 07A970 80079D70 AC800278 */ sw $zero, 0x278($a0)
/* 07A974 80079D74 8CAE0004 */ lw $t6, 4($a1)
/* 07A978 80079D78 2401FFFE */ li $at, -2
/* 07A97C 80079D7C 01C17824 */ and $t7, $t6, $at
/* 07A980 80079D80 ACAF0004 */ sw $t7, 4($a1)
/* 07A984 80079D84 0C01E790 */ jal func_80079E40
/* 07A988 80079D88 AFA40028 */ sw $a0, 0x28($sp)
/* 07A98C 80079D8C 8FA40028 */ lw $a0, 0x28($sp)
/* 07A990 80079D90 27A50020 */ addiu $a1, $sp, 0x20
/* 07A994 80079D94 8C980274 */ lw $t8, 0x274($a0)
/* 07A998 80079D98 8C890278 */ lw $t1, 0x278($a0)
/* 07A99C 80079D9C 2F190001 */ sltiu $t9, $t8, 1
/* 07A9A0 80079DA0 00194040 */ sll $t0, $t9, 1
/* 07A9A4 80079DA4 2D2A0001 */ sltiu $t2, $t1, 1
/* 07A9A8 80079DA8 010A3825 */ or $a3, $t0, $t2
/* 07A9AC 80079DAC AFA70018 */ sw $a3, 0x18($sp)
/* 07A9B0 80079DB0 0C01E835 */ jal func_8007A0D4
/* 07A9B4 80079DB4 27A6001C */ addiu $a2, $sp, 0x1c
/* 07A9B8 80079DB8 8FA70018 */ lw $a3, 0x18($sp)
/* 07A9BC 80079DBC 8FA40028 */ lw $a0, 0x28($sp)
/* 07A9C0 80079DC0 10470006 */ beq $v0, $a3, .L80079DDC
/* 07A9C4 80079DC4 8FBF0014 */ lw $ra, 0x14($sp)
/* 07A9C8 80079DC8 8FA50020 */ lw $a1, 0x20($sp)
/* 07A9CC 80079DCC 8FA6001C */ lw $a2, 0x1c($sp)
/* 07A9D0 80079DD0 0C01E7EA */ jal __scExec
/* 07A9D4 80079DD4 00000000 */ nop
/* 07A9D8 80079DD8 8FBF0014 */ lw $ra, 0x14($sp)
.L80079DDC:
/* 07A9DC 80079DDC 27BD0028 */ addiu $sp, $sp, 0x28
/* 07A9E0 80079DE0 03E00008 */ jr $ra
/* 07A9E4 80079DE4 00000000 */ nop
+2 -2
View File
@@ -9242,10 +9242,10 @@ glabel D_800E4810
.word 0x00000000
.word 0x00000000
glabel D_800E4870
glabel __osViCurr
.word 0x800E4810
glabel D_800E4874
glabel __osViNext
.word 0x800E4840
glabel D_800E4878
@@ -6,18 +6,18 @@ glabel osViSetEventMsg
/* 0D2990 800D1D90 AFA60030 */ sw $a2, 0x30($sp)
/* 0D2994 800D1D94 0C034958 */ jal __osDisableInt
/* 0D2998 800D1D98 AFB00018 */ sw $s0, 0x18($sp)
/* 0D299C 800D1D9C 3C0F800E */ lui $t7, %hi(D_800E4874) # $t7, 0x800e
/* 0D29A0 800D1DA0 8DEF4874 */ lw $t7, %lo(D_800E4874)($t7)
/* 0D299C 800D1D9C 3C0F800E */ lui $t7, %hi(__osViNext) # $t7, 0x800e
/* 0D29A0 800D1DA0 8DEF4874 */ lw $t7, %lo(__osViNext)($t7)
/* 0D29A4 800D1DA4 8FAE0028 */ lw $t6, 0x28($sp)
/* 0D29A8 800D1DA8 3C19800E */ lui $t9, %hi(D_800E4874) # $t9, 0x800e
/* 0D29AC 800D1DAC 3C09800E */ lui $t1, %hi(D_800E4874) # $t1, 0x800e
/* 0D29A8 800D1DA8 3C19800E */ lui $t9, %hi(__osViNext) # $t9, 0x800e
/* 0D29AC 800D1DAC 3C09800E */ lui $t1, %hi(__osViNext) # $t1, 0x800e
/* 0D29B0 800D1DB0 ADEE0010 */ sw $t6, 0x10($t7)
/* 0D29B4 800D1DB4 8F394874 */ lw $t9, %lo(D_800E4874)($t9)
/* 0D29B4 800D1DB4 8F394874 */ lw $t9, %lo(__osViNext)($t9)
/* 0D29B8 800D1DB8 8FB8002C */ lw $t8, 0x2c($sp)
/* 0D29BC 800D1DBC 00408025 */ move $s0, $v0
/* 0D29C0 800D1DC0 02002025 */ move $a0, $s0
/* 0D29C4 800D1DC4 AF380014 */ sw $t8, 0x14($t9)
/* 0D29C8 800D1DC8 8D294874 */ lw $t1, %lo(D_800E4874)($t1)
/* 0D29C8 800D1DC8 8D294874 */ lw $t1, %lo(__osViNext)($t1)
/* 0D29CC 800D1DCC 8FA80030 */ lw $t0, 0x30($sp)
/* 0D29D0 800D1DD0 0C034960 */ jal __osRestoreInt
/* 0D29D4 800D1DD4 A5280002 */ sh $t0, 2($t1)
@@ -4,17 +4,17 @@ glabel osViSetMode
/* 0D28A8 800D1CA8 AFA40028 */ sw $a0, 0x28($sp)
/* 0D28AC 800D1CAC 0C034958 */ jal __osDisableInt
/* 0D28B0 800D1CB0 AFB00018 */ sw $s0, 0x18($sp)
/* 0D28B4 800D1CB4 3C0F800E */ lui $t7, %hi(D_800E4874) # $t7, 0x800e
/* 0D28B8 800D1CB8 8DEF4874 */ lw $t7, %lo(D_800E4874)($t7)
/* 0D28B4 800D1CB4 3C0F800E */ lui $t7, %hi(__osViNext) # $t7, 0x800e
/* 0D28B8 800D1CB8 8DEF4874 */ lw $t7, %lo(__osViNext)($t7)
/* 0D28BC 800D1CBC 8FAE0028 */ lw $t6, 0x28($sp)
/* 0D28C0 800D1CC0 3C19800E */ lui $t9, %hi(D_800E4874) # $t9, 0x800e
/* 0D28C0 800D1CC0 3C19800E */ lui $t9, %hi(__osViNext) # $t9, 0x800e
/* 0D28C4 800D1CC4 24180001 */ li $t8, 1
/* 0D28C8 800D1CC8 ADEE0008 */ sw $t6, 8($t7)
/* 0D28CC 800D1CCC 8F394874 */ lw $t9, %lo(D_800E4874)($t9)
/* 0D28D0 800D1CD0 3C08800E */ lui $t0, %hi(D_800E4874) # $t0, 0x800e
/* 0D28CC 800D1CCC 8F394874 */ lw $t9, %lo(__osViNext)($t9)
/* 0D28D0 800D1CD0 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e
/* 0D28D4 800D1CD4 00408025 */ move $s0, $v0
/* 0D28D8 800D1CD8 A7380000 */ sh $t8, ($t9)
/* 0D28DC 800D1CDC 8D084874 */ lw $t0, %lo(D_800E4874)($t0)
/* 0D28DC 800D1CDC 8D084874 */ lw $t0, %lo(__osViNext)($t0)
/* 0D28E0 800D1CE0 02002025 */ move $a0, $s0
/* 0D28E4 800D1CE4 8D090008 */ lw $t1, 8($t0)
/* 0D28E8 800D1CE8 8D2A0004 */ lw $t2, 4($t1)
@@ -3,8 +3,8 @@ glabel osViGetCurrentFramebuffer
/* 0D2A74 800D1E74 AFBF001C */ sw $ra, 0x1c($sp)
/* 0D2A78 800D1E78 0C034958 */ jal __osDisableInt
/* 0D2A7C 800D1E7C AFB00018 */ sw $s0, 0x18($sp)
/* 0D2A80 800D1E80 3C0E800E */ lui $t6, %hi(D_800E4870) # $t6, 0x800e
/* 0D2A84 800D1E84 8DCE4870 */ lw $t6, %lo(D_800E4870)($t6)
/* 0D2A80 800D1E80 3C0E800E */ lui $t6, %hi(__osViCurr) # $t6, 0x800e
/* 0D2A84 800D1E84 8DCE4870 */ lw $t6, %lo(__osViCurr)($t6)
/* 0D2A88 800D1E88 00408025 */ move $s0, $v0
/* 0D2A8C 800D1E8C 02002025 */ move $a0, $s0
/* 0D2A90 800D1E90 8DCF0004 */ lw $t7, 4($t6)
@@ -3,8 +3,8 @@ glabel osViGetNextFramebuffer
/* 0D2AB4 800D1EB4 AFBF001C */ sw $ra, 0x1c($sp)
/* 0D2AB8 800D1EB8 0C034958 */ jal __osDisableInt
/* 0D2ABC 800D1EBC AFB00018 */ sw $s0, 0x18($sp)
/* 0D2AC0 800D1EC0 3C0E800E */ lui $t6, %hi(D_800E4874) # $t6, 0x800e
/* 0D2AC4 800D1EC4 8DCE4874 */ lw $t6, %lo(D_800E4874)($t6)
/* 0D2AC0 800D1EC0 3C0E800E */ lui $t6, %hi(__osViNext) # $t6, 0x800e
/* 0D2AC4 800D1EC4 8DCE4874 */ lw $t6, %lo(__osViNext)($t6)
/* 0D2AC8 800D1EC8 00408025 */ move $s0, $v0
/* 0D2ACC 800D1ECC 02002025 */ move $a0, $s0
/* 0D2AD0 800D1ED0 8DCF0004 */ lw $t7, 4($t6)
@@ -9,8 +9,8 @@ glabel osViSetSpecialFeatures
/* 0D2E7C 800D227C 31CF0001 */ andi $t7, $t6, 1
/* 0D2E80 800D2280 11E00006 */ beqz $t7, .L800D229C
/* 0D2E84 800D2284 00000000 */ nop
/* 0D2E88 800D2288 3C18800E */ lui $t8, %hi(D_800E4874) # $t8, 0x800e
/* 0D2E8C 800D228C 8F184874 */ lw $t8, %lo(D_800E4874)($t8)
/* 0D2E88 800D2288 3C18800E */ lui $t8, %hi(__osViNext) # $t8, 0x800e
/* 0D2E8C 800D228C 8F184874 */ lw $t8, %lo(__osViNext)($t8)
/* 0D2E90 800D2290 8F19000C */ lw $t9, 0xc($t8)
/* 0D2E94 800D2294 37280008 */ ori $t0, $t9, 8
/* 0D2E98 800D2298 AF08000C */ sw $t0, 0xc($t8)
@@ -19,8 +19,8 @@ glabel osViSetSpecialFeatures
/* 0D2EA0 800D22A0 312A0002 */ andi $t2, $t1, 2
/* 0D2EA4 800D22A4 11400007 */ beqz $t2, .L800D22C4
/* 0D2EA8 800D22A8 00000000 */ nop
/* 0D2EAC 800D22AC 3C0B800E */ lui $t3, %hi(D_800E4874) # $t3, 0x800e
/* 0D2EB0 800D22B0 8D6B4874 */ lw $t3, %lo(D_800E4874)($t3)
/* 0D2EAC 800D22AC 3C0B800E */ lui $t3, %hi(__osViNext) # $t3, 0x800e
/* 0D2EB0 800D22B0 8D6B4874 */ lw $t3, %lo(__osViNext)($t3)
/* 0D2EB4 800D22B4 2401FFF7 */ li $at, -9
/* 0D2EB8 800D22B8 8D6C000C */ lw $t4, 0xc($t3)
/* 0D2EBC 800D22BC 01816824 */ and $t5, $t4, $at
@@ -30,8 +30,8 @@ glabel osViSetSpecialFeatures
/* 0D2EC8 800D22C8 31CF0004 */ andi $t7, $t6, 4
/* 0D2ECC 800D22CC 11E00006 */ beqz $t7, .L800D22E8
/* 0D2ED0 800D22D0 00000000 */ nop
/* 0D2ED4 800D22D4 3C19800E */ lui $t9, %hi(D_800E4874) # $t9, 0x800e
/* 0D2ED8 800D22D8 8F394874 */ lw $t9, %lo(D_800E4874)($t9)
/* 0D2ED4 800D22D4 3C19800E */ lui $t9, %hi(__osViNext) # $t9, 0x800e
/* 0D2ED8 800D22D8 8F394874 */ lw $t9, %lo(__osViNext)($t9)
/* 0D2EDC 800D22DC 8F28000C */ lw $t0, 0xc($t9)
/* 0D2EE0 800D22E0 35180004 */ ori $t8, $t0, 4
/* 0D2EE4 800D22E4 AF38000C */ sw $t8, 0xc($t9)
@@ -40,8 +40,8 @@ glabel osViSetSpecialFeatures
/* 0D2EEC 800D22EC 312A0008 */ andi $t2, $t1, 8
/* 0D2EF0 800D22F0 11400007 */ beqz $t2, .L800D2310
/* 0D2EF4 800D22F4 00000000 */ nop
/* 0D2EF8 800D22F8 3C0C800E */ lui $t4, %hi(D_800E4874) # $t4, 0x800e
/* 0D2EFC 800D22FC 8D8C4874 */ lw $t4, %lo(D_800E4874)($t4)
/* 0D2EF8 800D22F8 3C0C800E */ lui $t4, %hi(__osViNext) # $t4, 0x800e
/* 0D2EFC 800D22FC 8D8C4874 */ lw $t4, %lo(__osViNext)($t4)
/* 0D2F00 800D2300 2401FFFB */ li $at, -5
/* 0D2F04 800D2304 8D8D000C */ lw $t5, 0xc($t4)
/* 0D2F08 800D2308 01A15824 */ and $t3, $t5, $at
@@ -51,8 +51,8 @@ glabel osViSetSpecialFeatures
/* 0D2F14 800D2314 31CF0010 */ andi $t7, $t6, 0x10
/* 0D2F18 800D2318 11E00006 */ beqz $t7, .L800D2334
/* 0D2F1C 800D231C 00000000 */ nop
/* 0D2F20 800D2320 3C08800E */ lui $t0, %hi(D_800E4874) # $t0, 0x800e
/* 0D2F24 800D2324 8D084874 */ lw $t0, %lo(D_800E4874)($t0)
/* 0D2F20 800D2320 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e
/* 0D2F24 800D2324 8D084874 */ lw $t0, %lo(__osViNext)($t0)
/* 0D2F28 800D2328 8D18000C */ lw $t8, 0xc($t0)
/* 0D2F2C 800D232C 37190010 */ ori $t9, $t8, 0x10
/* 0D2F30 800D2330 AD19000C */ sw $t9, 0xc($t0)
@@ -61,8 +61,8 @@ glabel osViSetSpecialFeatures
/* 0D2F38 800D2338 312A0020 */ andi $t2, $t1, 0x20
/* 0D2F3C 800D233C 11400007 */ beqz $t2, .L800D235C
/* 0D2F40 800D2340 00000000 */ nop
/* 0D2F44 800D2344 3C0D800E */ lui $t5, %hi(D_800E4874) # $t5, 0x800e
/* 0D2F48 800D2348 8DAD4874 */ lw $t5, %lo(D_800E4874)($t5)
/* 0D2F44 800D2344 3C0D800E */ lui $t5, %hi(__osViNext) # $t5, 0x800e
/* 0D2F48 800D2348 8DAD4874 */ lw $t5, %lo(__osViNext)($t5)
/* 0D2F4C 800D234C 2401FFEF */ li $at, -17
/* 0D2F50 800D2350 8DAB000C */ lw $t3, 0xc($t5)
/* 0D2F54 800D2354 01616024 */ and $t4, $t3, $at
@@ -72,14 +72,14 @@ glabel osViSetSpecialFeatures
/* 0D2F60 800D2360 31CF0040 */ andi $t7, $t6, 0x40
/* 0D2F64 800D2364 11E0000D */ beqz $t7, .L800D239C
/* 0D2F68 800D2368 00000000 */ nop
/* 0D2F6C 800D236C 3C18800E */ lui $t8, %hi(D_800E4874) # $t8, 0x800e
/* 0D2F70 800D2370 8F184874 */ lw $t8, %lo(D_800E4874)($t8)
/* 0D2F6C 800D236C 3C18800E */ lui $t8, %hi(__osViNext) # $t8, 0x800e
/* 0D2F70 800D2370 8F184874 */ lw $t8, %lo(__osViNext)($t8)
/* 0D2F74 800D2374 3C010001 */ lui $at, 1
/* 0D2F78 800D2378 3C09800E */ lui $t1, %hi(D_800E4874) # $t1, 0x800e
/* 0D2F78 800D2378 3C09800E */ lui $t1, %hi(__osViNext) # $t1, 0x800e
/* 0D2F7C 800D237C 8F19000C */ lw $t9, 0xc($t8)
/* 0D2F80 800D2380 03214025 */ or $t0, $t9, $at
/* 0D2F84 800D2384 AF08000C */ sw $t0, 0xc($t8)
/* 0D2F88 800D2388 8D294874 */ lw $t1, %lo(D_800E4874)($t1)
/* 0D2F88 800D2388 8D294874 */ lw $t1, %lo(__osViNext)($t1)
/* 0D2F8C 800D238C 2401FCFF */ li $at, -769
/* 0D2F90 800D2390 8D2A000C */ lw $t2, 0xc($t1)
/* 0D2F94 800D2394 01415824 */ and $t3, $t2, $at
@@ -89,15 +89,15 @@ glabel osViSetSpecialFeatures
/* 0D2FA0 800D23A0 318D0080 */ andi $t5, $t4, 0x80
/* 0D2FA4 800D23A4 11A00010 */ beqz $t5, .L800D23E8
/* 0D2FA8 800D23A8 00000000 */ nop
/* 0D2FAC 800D23AC 3C0E800E */ lui $t6, %hi(D_800E4874) # $t6, 0x800e
/* 0D2FB0 800D23B0 8DCE4874 */ lw $t6, %lo(D_800E4874)($t6)
/* 0D2FAC 800D23AC 3C0E800E */ lui $t6, %hi(__osViNext) # $t6, 0x800e
/* 0D2FB0 800D23B0 8DCE4874 */ lw $t6, %lo(__osViNext)($t6)
/* 0D2FB4 800D23B4 3C01FFFE */ lui $at, (0xFFFEFFFF >> 16) # lui $at, 0xfffe
/* 0D2FB8 800D23B8 3421FFFF */ ori $at, (0xFFFEFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 0D2FBC 800D23BC 8DCF000C */ lw $t7, 0xc($t6)
/* 0D2FC0 800D23C0 3C08800E */ lui $t0, %hi(D_800E4874) # $t0, 0x800e
/* 0D2FC0 800D23C0 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e
/* 0D2FC4 800D23C4 01E1C824 */ and $t9, $t7, $at
/* 0D2FC8 800D23C8 ADD9000C */ sw $t9, 0xc($t6)
/* 0D2FCC 800D23CC 8D084874 */ lw $t0, %lo(D_800E4874)($t0)
/* 0D2FCC 800D23CC 8D084874 */ lw $t0, %lo(__osViNext)($t0)
/* 0D2FD0 800D23D0 8D0A0008 */ lw $t2, 8($t0)
/* 0D2FD4 800D23D4 8D18000C */ lw $t8, 0xc($t0)
/* 0D2FD8 800D23D8 8D4B0004 */ lw $t3, 4($t2)
@@ -105,8 +105,8 @@ glabel osViSetSpecialFeatures
/* 0D2FE0 800D23E0 03096025 */ or $t4, $t8, $t1
/* 0D2FE4 800D23E4 AD0C000C */ sw $t4, 0xc($t0)
.L800D23E8:
/* 0D2FE8 800D23E8 3C0D800E */ lui $t5, %hi(D_800E4874) # $t5, 0x800e
/* 0D2FEC 800D23EC 8DAD4874 */ lw $t5, %lo(D_800E4874)($t5)
/* 0D2FE8 800D23E8 3C0D800E */ lui $t5, %hi(__osViNext) # $t5, 0x800e
/* 0D2FEC 800D23EC 8DAD4874 */ lw $t5, %lo(__osViNext)($t5)
/* 0D2FF0 800D23F0 02002025 */ move $a0, $s0
/* 0D2FF4 800D23F4 95AF0000 */ lhu $t7, ($t5)
/* 0D2FF8 800D23F8 35F90008 */ ori $t9, $t7, 8
@@ -5,9 +5,9 @@ glabel __osViSwapContext
/* 0D6C9C 800D609C AFB20020 */ sw $s2, 0x20($sp)
/* 0D6CA0 800D60A0 AFB00018 */ sw $s0, 0x18($sp)
/* 0D6CA4 800D60A4 AFA00030 */ sw $zero, 0x30($sp)
/* 0D6CA8 800D60A8 3C11800E */ lui $s1, %hi(D_800E4874) # $s1, 0x800e
/* 0D6CA8 800D60A8 3C11800E */ lui $s1, %hi(__osViNext) # $s1, 0x800e
/* 0D6CAC 800D60AC 3C0EA440 */ lui $t6, %hi(D_A4400010) # $t6, 0xa440
/* 0D6CB0 800D60B0 8E314874 */ lw $s1, %lo(D_800E4874)($s1)
/* 0D6CB0 800D60B0 8E314874 */ lw $s1, %lo(__osViNext)($s1)
/* 0D6CB4 800D60B4 8DCF0010 */ lw $t7, %lo(D_A4400010)($t6)
/* 0D6CB8 800D60B8 8E300008 */ lw $s0, 8($s1)
/* 0D6CBC 800D60BC 31F80001 */ andi $t8, $t7, 1
@@ -159,7 +159,7 @@ glabel __osViSwapContext
/* 0D6ED8 800D62D8 AD0C0008 */ sw $t4, %lo(D_A4400008)($t0)
/* 0D6EDC 800D62DC 8E0D000C */ lw $t5, 0xc($s0)
/* 0D6EE0 800D62E0 3C09A440 */ lui $t1, %hi(D_A440001C) # $t1, 0xa440
/* 0D6EE4 800D62E4 3C01800E */ lui $at, %hi(D_800E4874) # $at, 0x800e
/* 0D6EE4 800D62E4 3C01800E */ lui $at, %hi(__osViNext) # $at, 0x800e
/* 0D6EE8 800D62E8 ADED0014 */ sw $t5, %lo(D_A4400014)($t7)
/* 0D6EEC 800D62EC 8E0E0010 */ lw $t6, 0x10($s0)
/* 0D6EF0 800D62F0 AF0E0018 */ sw $t6, %lo(D_A4400018)($t8)
@@ -193,22 +193,22 @@ glabel __osViSwapContext
/* 0D6F60 800D6360 020F7021 */ addu $t6, $s0, $t7
/* 0D6F64 800D6364 8DD80038 */ lw $t8, 0x38($t6)
/* 0D6F68 800D6368 3C0DA440 */ lui $t5, 0xa440
/* 0D6F6C 800D636C 3C0F800E */ lui $t7, %hi(D_800E4870) # $t7, 0x800e
/* 0D6F6C 800D636C 3C0F800E */ lui $t7, %hi(__osViCurr) # $t7, 0x800e
/* 0D6F70 800D6370 AF38000C */ sw $t8, %lo(D_A440000C)($t9)
/* 0D6F74 800D6374 8E290020 */ lw $t1, 0x20($s1)
/* 0D6F78 800D6378 3C18800E */ lui $t8, %hi(D_800E4870) # $t8, 0x800e
/* 0D6F7C 800D637C 3C0E800E */ lui $t6, %hi(D_800E4874) # $t6, 0x800e
/* 0D6F78 800D6378 3C18800E */ lui $t8, %hi(__osViCurr) # $t8, 0x800e
/* 0D6F7C 800D637C 3C0E800E */ lui $t6, %hi(__osViNext) # $t6, 0x800e
/* 0D6F80 800D6380 AD490030 */ sw $t1, %lo(D_A4400030)($t2)
/* 0D6F84 800D6384 8E2B002C */ lw $t3, 0x2c($s1)
/* 0D6F88 800D6388 AD8B0034 */ sw $t3, %lo(D_A4400034)($t4)
/* 0D6F8C 800D638C 8E28000C */ lw $t0, 0xc($s1)
/* 0D6F90 800D6390 ADA80000 */ sw $t0, ($t5)
/* 0D6F94 800D6394 8DEF4870 */ lw $t7, %lo(D_800E4870)($t7)
/* 0D6F98 800D6398 AC2F4874 */ sw $t7, %lo(D_800E4874)($at)
/* 0D6F9C 800D639C 3C01800E */ lui $at, %hi(D_800E4870) # $at, 0x800e
/* 0D6FA0 800D63A0 AC314870 */ sw $s1, %lo(D_800E4870)($at)
/* 0D6FA4 800D63A4 8F184870 */ lw $t8, %lo(D_800E4870)($t8)
/* 0D6FA8 800D63A8 8DCE4874 */ lw $t6, %lo(D_800E4874)($t6)
/* 0D6F94 800D6394 8DEF4870 */ lw $t7, %lo(__osViCurr)($t7)
/* 0D6F98 800D6398 AC2F4874 */ sw $t7, %lo(__osViNext)($at)
/* 0D6F9C 800D639C 3C01800E */ lui $at, %hi(__osViCurr) # $at, 0x800e
/* 0D6FA0 800D63A0 AC314870 */ sw $s1, %lo(__osViCurr)($at)
/* 0D6FA4 800D63A4 8F184870 */ lw $t8, %lo(__osViCurr)($t8)
/* 0D6FA8 800D63A8 8DCE4874 */ lw $t6, %lo(__osViNext)($t6)
/* 0D6FAC 800D63AC 270A0030 */ addiu $t2, $t8, 0x30
.L800D63B0:
/* 0D6FB0 800D63B0 8F010000 */ lw $at, ($t8)
@@ -7,23 +7,23 @@ glabel __osViInit
/* 0D3724 800D2B24 24050060 */ li $a1, 96
/* 0D3728 800D2B28 3C0E800E */ lui $t6, %hi(D_800E4810) # $t6, 0x800e
/* 0D372C 800D2B2C 25CE4810 */ addiu $t6, %lo(D_800E4810) # addiu $t6, $t6, 0x4810
/* 0D3730 800D2B30 3C01800E */ lui $at, %hi(D_800E4870) # $at, 0x800e
/* 0D3734 800D2B34 AC2E4870 */ sw $t6, %lo(D_800E4870)($at)
/* 0D3738 800D2B38 3C01800E */ lui $at, %hi(D_800E4874) # $at, 0x800e
/* 0D3730 800D2B30 3C01800E */ lui $at, %hi(__osViCurr) # $at, 0x800e
/* 0D3734 800D2B34 AC2E4870 */ sw $t6, %lo(__osViCurr)($at)
/* 0D3738 800D2B38 3C01800E */ lui $at, %hi(__osViNext) # $at, 0x800e
/* 0D373C 800D2B3C 25CF0030 */ addiu $t7, $t6, 0x30
/* 0D3740 800D2B40 AC2F4874 */ sw $t7, %lo(D_800E4874)($at)
/* 0D3740 800D2B40 AC2F4874 */ sw $t7, %lo(__osViNext)($at)
/* 0D3744 800D2B44 24180001 */ li $t8, 1
/* 0D3748 800D2B48 A5D80032 */ sh $t8, 0x32($t6)
/* 0D374C 800D2B4C 3C08800E */ lui $t0, %hi(D_800E4870) # $t0, 0x800e
/* 0D3750 800D2B50 8D084870 */ lw $t0, %lo(D_800E4870)($t0)
/* 0D374C 800D2B4C 3C08800E */ lui $t0, %hi(__osViCurr) # $t0, 0x800e
/* 0D3750 800D2B50 8D084870 */ lw $t0, %lo(__osViCurr)($t0)
/* 0D3754 800D2B54 24190001 */ li $t9, 1
/* 0D3758 800D2B58 3C098000 */ lui $t1, %hi(osTvType) # $t1, 0x8000
/* 0D375C 800D2B5C A5190002 */ sh $t9, 2($t0)
/* 0D3760 800D2B60 8D290300 */ lw $t1, %lo(osTvType)($t1)
/* 0D3764 800D2B64 1520000B */ bnez $t1, .L800D2B94
/* 0D3768 800D2B68 00000000 */ nop
/* 0D376C 800D2B6C 3C0B800E */ lui $t3, %hi(D_800E4874) # $t3, 0x800e
/* 0D3770 800D2B70 8D6B4874 */ lw $t3, %lo(D_800E4874)($t3)
/* 0D376C 800D2B6C 3C0B800E */ lui $t3, %hi(__osViNext) # $t3, 0x800e
/* 0D3770 800D2B70 8D6B4874 */ lw $t3, %lo(__osViNext)($t3)
/* 0D3774 800D2B74 3C0A800E */ lui $t2, %hi(D_800E4760) # $t2, 0x800e
/* 0D3778 800D2B78 254A4760 */ addiu $t2, %lo(D_800E4760) # addiu $t2, $t2, 0x4760
/* 0D377C 800D2B7C 3C0C02F5 */ lui $t4, (0x02F5B2D2 >> 16) # lui $t4, 0x2f5
@@ -38,8 +38,8 @@ glabel __osViInit
/* 0D379C 800D2B9C 24010002 */ li $at, 2
/* 0D37A0 800D2BA0 15A1000B */ bne $t5, $at, .L800D2BD0
/* 0D37A4 800D2BA4 00000000 */ nop
/* 0D37A8 800D2BA8 3C18800E */ lui $t8, %hi(D_800E4874) # $t8, 0x800e
/* 0D37AC 800D2BAC 8F184874 */ lw $t8, %lo(D_800E4874)($t8)
/* 0D37A8 800D2BA8 3C18800E */ lui $t8, %hi(__osViNext) # $t8, 0x800e
/* 0D37AC 800D2BAC 8F184874 */ lw $t8, %lo(__osViNext)($t8)
/* 0D37B0 800D2BB0 3C0F800E */ lui $t7, %hi(D_800E47B0) # $t7, 0x800e
/* 0D37B4 800D2BB4 25EF47B0 */ addiu $t7, %lo(D_800E47B0) # addiu $t7, $t7, 0x47b0
/* 0D37B8 800D2BB8 3C0E02E6 */ lui $t6, (0x02E6025C >> 16) # lui $t6, 0x2e6
@@ -49,8 +49,8 @@ glabel __osViInit
/* 0D37C8 800D2BC8 1000000A */ b .L800D2BF4
/* 0D37CC 800D2BCC AC2E4878 */ sw $t6, %lo(D_800E4878)($at)
.L800D2BD0:
/* 0D37D0 800D2BD0 3C08800E */ lui $t0, %hi(D_800E4874) # $t0, 0x800e
/* 0D37D4 800D2BD4 8D084874 */ lw $t0, %lo(D_800E4874)($t0)
/* 0D37D0 800D2BD0 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e
/* 0D37D4 800D2BD4 8D084874 */ lw $t0, %lo(__osViNext)($t0)
/* 0D37D8 800D2BD8 3C19800E */ lui $t9, %hi(D_800E4710) # $t9, 0x800e
/* 0D37DC 800D2BDC 27394710 */ addiu $t9, %lo(D_800E4710) # addiu $t9, $t9, 0x4710
/* 0D37E0 800D2BE0 3C0902E6 */ lui $t1, (0x02E6D354 >> 16) # lui $t1, 0x2e6
@@ -59,12 +59,12 @@ glabel __osViInit
/* 0D37EC 800D2BEC AD190008 */ sw $t9, 8($t0)
/* 0D37F0 800D2BF0 AC294878 */ sw $t1, %lo(D_800E4878)($at)
.L800D2BF4:
/* 0D37F4 800D2BF4 3C0B800E */ lui $t3, %hi(D_800E4874) # $t3, 0x800e
/* 0D37F8 800D2BF8 8D6B4874 */ lw $t3, %lo(D_800E4874)($t3)
/* 0D37F4 800D2BF4 3C0B800E */ lui $t3, %hi(__osViNext) # $t3, 0x800e
/* 0D37F8 800D2BF8 8D6B4874 */ lw $t3, %lo(__osViNext)($t3)
/* 0D37FC 800D2BFC 240A0020 */ li $t2, 32
/* 0D3800 800D2C00 3C0C800E */ lui $t4, %hi(D_800E4874) # $t4, 0x800e
/* 0D3800 800D2C00 3C0C800E */ lui $t4, %hi(__osViNext) # $t4, 0x800e
/* 0D3804 800D2C04 A56A0000 */ sh $t2, ($t3)
/* 0D3808 800D2C08 8D8C4874 */ lw $t4, %lo(D_800E4874)($t4)
/* 0D3808 800D2C08 8D8C4874 */ lw $t4, %lo(__osViNext)($t4)
/* 0D380C 800D2C0C 3C18A440 */ lui $t8, %hi(D_A4400010) # $t8, 0xa440
/* 0D3810 800D2C10 8D8D0008 */ lw $t5, 8($t4)
/* 0D3814 800D2C14 8DAF0004 */ lw $t7, 4($t5)
+3 -3
View File
@@ -3,14 +3,14 @@
#include "libultra_internal.h"
extern OSViContext *D_800E4874;
extern OSViContext *__osViNext;
// TODO: name magic constants
void osViBlack(u8 active) {
register u32 int_disabled = __osDisableInt();
if (active) {
D_800E4874->unk00 |= 0x20;
__osViNext->unk00 |= 0x20;
} else {
D_800E4874->unk00 &= ~0x20;
__osViNext->unk00 &= ~0x20;
}
__osRestoreInt(int_disabled);
}
+3 -3
View File
@@ -3,11 +3,11 @@
#include "libultra_internal.h"
extern OSViContext* D_800E4874;
extern OSViContext* __osViNext;
void osViSwapBuffer(void* frameBufPtr){
u32 saveMask = __osDisableInt();
D_800E4874->buffer = frameBufPtr;
D_800E4874->unk00 |= 0x10;
__osViNext->buffer = frameBufPtr;
__osViNext->unk00 |= 0x10;
__osRestoreInt(saveMask);
}
+29 -4
View File
@@ -66,6 +66,7 @@ extern OSViMode D_800E3900[];//osViModeTable;
extern s32 D_80126120;
void __scMain(void);
void __scExec(OSSched *sc, OSScTask *sp, OSScTask *dp);
void osCreateScheduler(OSSched *sc, void *stack, OSPri priority, u8 mode, u8 numFields){
sc->curRSPTask = 0;
@@ -147,7 +148,31 @@ GLOBAL_ASM("asm/non_matchings/unknown_079F50/__scMain.s")
GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079760.s")
GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079818.s")
GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079B44.s")
GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079D5C.s")
/*
* __scHandleRDP is called when an RDP task signals that it has
* finished
*/
void __scHandleRDP(OSSched *sc)
{
OSScTask *t, *sp = 0, *dp = 0;
s32 state;
t = sc->curRDPTask;
sc->curRDPTask = 0;
t->state &= -2;
__scTaskComplete(sc, t);
state = ((sc->curRSPTask == 0) << 1) | (sc->curRDPTask == 0);
if ( (__scSchedule(sc, &sp, &dp, state)) != state)
__scExec(sc, sp, dp);
}
OSScTask *__scTaskReady(OSScTask *t)
{
@@ -167,9 +192,9 @@ OSScTask *__scTaskReady(OSScTask *t)
}
#if 1
GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079E40.s")
GLOBAL_ASM("asm/non_matchings/unknown_079F50/__scTaskComplete.s")
#else
s32 func_80079E40(OSSched *sc, OSScTask *t)
s32 __scTaskComplete(OSSched *sc, OSScTask *t)
{
int rv;
int firsttime = 1;
@@ -272,5 +297,5 @@ void func_8007A080(OSSched *sc)
}
}
#endif
GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_8007A0D4.s")
GLOBAL_ASM("asm/non_matchings/unknown_079F50/__scSchedule.s")
GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_8007A2D0.s")
+2 -2
View File
@@ -782,8 +782,8 @@ D_800E4760 = 0x800E4760;
D_800E47B0 = 0x800E47B0;
__osPiAccessQueueEnabled = 0x800E4800;
D_800E4810 = 0x800E4810;
D_800E4870 = 0x800E4870;
D_800E4874 = 0x800E4874;
__osViCurr = 0x800E4870;
__osViNext = 0x800E4874;
D_800E4878 = 0x800E4878;
__osThreadTail = 0x800E4880;
__RunQueue = 0x800E4888;