diff --git a/lib/PR/audio/aspMain.bin b/lib/PR/audio/aspMain.bin deleted file mode 100644 index 6fe732dd..00000000 Binary files a/lib/PR/audio/aspMain.bin and /dev/null differ diff --git a/lib/PR/audio/aspMain_data.bin b/lib/PR/audio/aspMain_data.bin deleted file mode 100644 index 1e74134e..00000000 Binary files a/lib/PR/audio/aspMain_data.bin and /dev/null differ diff --git a/lib/PR/boot/F3D_boot.bin b/lib/PR/boot/F3D_boot.bin deleted file mode 100644 index af19e627..00000000 Binary files a/lib/PR/boot/F3D_boot.bin and /dev/null differ diff --git a/lib/PR/boot/F3D_boot_eu.bin b/lib/PR/boot/F3D_boot_eu.bin deleted file mode 100644 index 6eb44776..00000000 Binary files a/lib/PR/boot/F3D_boot_eu.bin and /dev/null differ diff --git a/lib/PR/f3d/new/F3D.bin b/lib/PR/f3d/new/F3D.bin deleted file mode 100644 index a5eb4d60..00000000 Binary files a/lib/PR/f3d/new/F3D.bin and /dev/null differ diff --git a/lib/PR/f3d/new/F3D_data.bin b/lib/PR/f3d/new/F3D_data.bin deleted file mode 100644 index 194598c9..00000000 Binary files a/lib/PR/f3d/new/F3D_data.bin and /dev/null differ diff --git a/lib/PR/f3d/new/F3D_data_EU.bin b/lib/PR/f3d/new/F3D_data_EU.bin deleted file mode 100644 index 4e7db003..00000000 Binary files a/lib/PR/f3d/new/F3D_data_EU.bin and /dev/null differ diff --git a/lib/PR/f3d/old/F3D.bin b/lib/PR/f3d/old/F3D.bin deleted file mode 100644 index 90eafc23..00000000 Binary files a/lib/PR/f3d/old/F3D.bin and /dev/null differ diff --git a/lib/PR/f3d/old/F3D_data.bin b/lib/PR/f3d/old/F3D_data.bin deleted file mode 100644 index 56a28db1..00000000 Binary files a/lib/PR/f3d/old/F3D_data.bin and /dev/null differ diff --git a/lib/PR/f3dex/F3DEX.bin b/lib/PR/f3dex/F3DEX.bin deleted file mode 100644 index 8308862c..00000000 Binary files a/lib/PR/f3dex/F3DEX.bin and /dev/null differ diff --git a/lib/PR/f3dex/F3DEX_NoN.bin b/lib/PR/f3dex/F3DEX_NoN.bin deleted file mode 100644 index a55a33b0..00000000 Binary files a/lib/PR/f3dex/F3DEX_NoN.bin and /dev/null differ diff --git a/lib/PR/f3dex/F3DEX_NoN_data.bin b/lib/PR/f3dex/F3DEX_NoN_data.bin deleted file mode 100644 index e1570d98..00000000 Binary files a/lib/PR/f3dex/F3DEX_NoN_data.bin and /dev/null differ diff --git a/lib/PR/f3dex/F3DEX_data.bin b/lib/PR/f3dex/F3DEX_data.bin deleted file mode 100644 index 212139c8..00000000 Binary files a/lib/PR/f3dex/F3DEX_data.bin and /dev/null differ diff --git a/lib/PR/f3dex/F3DLX.bin b/lib/PR/f3dex/F3DLX.bin deleted file mode 100644 index e94f2de6..00000000 Binary files a/lib/PR/f3dex/F3DLX.bin and /dev/null differ diff --git a/lib/PR/f3dex/F3DLX_NoN.bin b/lib/PR/f3dex/F3DLX_NoN.bin deleted file mode 100644 index 6c9814ac..00000000 Binary files a/lib/PR/f3dex/F3DLX_NoN.bin and /dev/null differ diff --git a/lib/PR/f3dex/F3DLX_NoN_data.bin b/lib/PR/f3dex/F3DLX_NoN_data.bin deleted file mode 100644 index 722968da..00000000 Binary files a/lib/PR/f3dex/F3DLX_NoN_data.bin and /dev/null differ diff --git a/lib/PR/f3dex/F3DLX_Rej.bin b/lib/PR/f3dex/F3DLX_Rej.bin deleted file mode 100644 index fad03ca5..00000000 Binary files a/lib/PR/f3dex/F3DLX_Rej.bin and /dev/null differ diff --git a/lib/PR/f3dex/F3DLX_Rej_data.bin b/lib/PR/f3dex/F3DLX_Rej_data.bin deleted file mode 100644 index fd66da74..00000000 Binary files a/lib/PR/f3dex/F3DLX_Rej_data.bin and /dev/null differ diff --git a/lib/PR/f3dex/F3DLX_data.bin b/lib/PR/f3dex/F3DLX_data.bin deleted file mode 100644 index 5a2ea93b..00000000 Binary files a/lib/PR/f3dex/F3DLX_data.bin and /dev/null differ diff --git a/lib/PR/f3dex/L3DEX.bin b/lib/PR/f3dex/L3DEX.bin deleted file mode 100644 index 7b84fb77..00000000 Binary files a/lib/PR/f3dex/L3DEX.bin and /dev/null differ diff --git a/lib/PR/f3dex/L3DEX_data.bin b/lib/PR/f3dex/L3DEX_data.bin deleted file mode 100644 index 1b9ca5c6..00000000 Binary files a/lib/PR/f3dex/L3DEX_data.bin and /dev/null differ diff --git a/lib/PR/f3dex2/F3DEX2.bin b/lib/PR/f3dex2/F3DEX2.bin deleted file mode 100644 index 71375694..00000000 Binary files a/lib/PR/f3dex2/F3DEX2.bin and /dev/null differ diff --git a/lib/PR/f3dex2/F3DEX2_NoN.bin b/lib/PR/f3dex2/F3DEX2_NoN.bin deleted file mode 100644 index e9a3b4cb..00000000 Binary files a/lib/PR/f3dex2/F3DEX2_NoN.bin and /dev/null differ diff --git a/lib/PR/f3dex2/F3DEX2_NoN_data.bin b/lib/PR/f3dex2/F3DEX2_NoN_data.bin deleted file mode 100644 index ac47c439..00000000 Binary files a/lib/PR/f3dex2/F3DEX2_NoN_data.bin and /dev/null differ diff --git a/lib/PR/f3dex2/F3DEX2_data.bin b/lib/PR/f3dex2/F3DEX2_data.bin deleted file mode 100644 index 70871391..00000000 Binary files a/lib/PR/f3dex2/F3DEX2_data.bin and /dev/null differ diff --git a/lib/PR/f3dex2/F3DLX2_Rej.bin b/lib/PR/f3dex2/F3DLX2_Rej.bin deleted file mode 100644 index 559bbb61..00000000 Binary files a/lib/PR/f3dex2/F3DLX2_Rej.bin and /dev/null differ diff --git a/lib/PR/f3dex2/F3DLX2_Rej_data.bin b/lib/PR/f3dex2/F3DLX2_Rej_data.bin deleted file mode 100644 index 57d0ccac..00000000 Binary files a/lib/PR/f3dex2/F3DLX2_Rej_data.bin and /dev/null differ diff --git a/lib/PR/f3dex2/F3DZEX.bin b/lib/PR/f3dex2/F3DZEX.bin deleted file mode 100644 index 86c0af48..00000000 Binary files a/lib/PR/f3dex2/F3DZEX.bin and /dev/null differ diff --git a/lib/PR/f3dex2/F3DZEX_data.bin b/lib/PR/f3dex2/F3DZEX_data.bin deleted file mode 100644 index 65678669..00000000 Binary files a/lib/PR/f3dex2/F3DZEX_data.bin and /dev/null differ diff --git a/lib/PR/f3dex2/L3DEX2.bin b/lib/PR/f3dex2/L3DEX2.bin deleted file mode 100644 index c24e9616..00000000 Binary files a/lib/PR/f3dex2/L3DEX2.bin and /dev/null differ diff --git a/lib/PR/f3dex2/L3DEX2_data.bin b/lib/PR/f3dex2/L3DEX2_data.bin deleted file mode 100644 index b052da6d..00000000 Binary files a/lib/PR/f3dex2/L3DEX2_data.bin and /dev/null differ diff --git a/lib/PR/s2dex/S2DEX.bin b/lib/PR/s2dex/S2DEX.bin deleted file mode 100644 index 72b5be52..00000000 Binary files a/lib/PR/s2dex/S2DEX.bin and /dev/null differ diff --git a/lib/PR/s2dex/S2DEX_data.bin b/lib/PR/s2dex/S2DEX_data.bin deleted file mode 100644 index 8d807f51..00000000 Binary files a/lib/PR/s2dex/S2DEX_data.bin and /dev/null differ diff --git a/lib/asm/__osDisableInt.s b/lib/asm/__osDisableInt.s deleted file mode 100644 index 4c759b4c..00000000 --- a/lib/asm/__osDisableInt.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - - -glabel __osDisableInt - mfc0 $t0, $12 - and $t1, $t0, -2 - mtc0 $t1, $12 - andi $v0, $t0, 1 - nop - jr $ra - nop - diff --git a/lib/asm/__osExceptionPreamble.s b/lib/asm/__osExceptionPreamble.s deleted file mode 100644 index c98608b0..00000000 --- a/lib/asm/__osExceptionPreamble.s +++ /dev/null @@ -1,1123 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -.ifdef VERSION_SH -.set VERSION_EU, 1 # HACK, someone fix this file, its poorly diff'd! -.endif - -.section .text, "ax" - -.ifdef AVOID_UB -.set D_80334890, D_80334890_fix -.endif - -glabel __osExceptionPreamble - lui $k0, %hi(__osException) # $k0, 0x8032 - addiu $k0, %lo(__osException) # addiu $k0, $k0, 0x66d0 - jr $k0 - nop - - -glabel __osException -.ifndef VERSION_EU - lui $k0, %hi(gInterruptedThread) # $k0, 0x8036 - addiu $k0, %lo(gInterruptedThread) # addiu $k0, $k0, 0x5f40 - sd $at, 0x20($k0) - mfc0 $k1, $12 - sw $k1, 0x118($k0) - li $at, -4 - and $k1, $k1, $at - mtc0 $k1, $12 - sd $t0, 0x58($k0) - sd $t1, 0x60($k0) - sd $t2, 0x68($k0) - sw $zero, 0x18($k0) - mfc0 $t0, $13 - - andi $t1, $t0, 0x7c - li $t2, 0 - bne $t1, $t2, .L80326750 - nop - and $t1, $k1, $t0 - andi $t2, $t1, 0x4000 - beqz $t2, .L80326734 - nop - li $t1, 1 - lui $at, %hi(D_80334934) # $at, 0x8033 - b .L80326794 - sw $t1, %lo(D_80334934)($at) -.L80326734: - andi $t2, $t1, 0x2000 - beqz $t2, .L80326750 - nop - li $t1, 1 - lui $at, %hi(D_80334938) # $at, 0x8033 - b .L80326794 - sw $t1, %lo(D_80334938)($at) -.L80326750: - lui $at, %hi(D_80334934) # $at, 0x8033 - sw $zero, %lo(D_80334934)($at) - lui $at, %hi(D_80334938) # $at, 0x8033 - - move $t0, $k0 - sw $zero, %lo(D_80334938)($at) - lui $k0, %hi(D_80334890 + 0x10) # $k0, 0x8033 - lw $k0, %lo(D_80334890 + 0x10)($k0) - ld $t1, 0x20($t0) - sd $t1, 0x20($k0) - ld $t1, 0x118($t0) - sd $t1, 0x118($k0) - ld $t1, 0x58($t0) - sd $t1, 0x58($k0) - ld $t1, 0x60($t0) - sd $t1, 0x60($k0) - ld $t1, 0x68($t0) - sd $t1, 0x68($k0) -.L80326794: - mflo $t0 - sd $t0, 0x108($k0) - mfhi $t0 - sd $v0, 0x28($k0) - sd $v1, 0x30($k0) - sd $a0, 0x38($k0) - sd $a1, 0x40($k0) - sd $a2, 0x48($k0) - sd $a3, 0x50($k0) - sd $t3, 0x70($k0) - sd $t4, 0x78($k0) - sd $t5, 0x80($k0) - sd $t6, 0x88($k0) - sd $t7, 0x90($k0) - sd $s0, 0x98($k0) - sd $s1, 0xa0($k0) - sd $s2, 0xa8($k0) - sd $s3, 0xb0($k0) - sd $s4, 0xb8($k0) - sd $s5, 0xc0($k0) - sd $s6, 0xc8($k0) - sd $s7, 0xd0($k0) - sd $t8, 0xd8($k0) - sd $t9, 0xe0($k0) - sd $gp, 0xe8($k0) - sd $sp, 0xf0($k0) - sd $fp, 0xf8($k0) - sd $ra, 0x100($k0) -.ifndef VERSION_EU - sd $t0, 0x110($k0) -.else - beqz $t1, .L802F3A18 - sd $t0, 0x110($k0) - lui $t0, %hi(D_8030208C) # $t0, 0x8030 - addiu $t0, $t0, %lo(D_8030208C) # addiu $t0, $t0, 0x208c - lw $t0, ($t0) - li $at, -1 - xor $t0, $t0, $at - lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff - andi $t0, $t0, 0xff00 - ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff - or $t1, $t1, $t0 - and $k1, $k1, $at - or $k1, $k1, $t1 - sw $k1, 0x118($k0) -.L802F3A18: - lui $t1, %hi(MI_INTR_MASK_REG) # $t1, 0xa430 - lw $t1, %lo(MI_INTR_MASK_REG)($t1) - beqz $t1, .L802F3A50 - nop - lui $t0, %hi(D_8030208C) # $t0, 0x8030 - addiu $t0, $t0, %lo(D_8030208C) # addiu $t0, $t0, 0x208c - lw $t0, ($t0) - lw $t4, 0x128($k0) - li $at, -1 - srl $t0, $t0, 0x10 - xor $t0, $t0, $at - andi $t0, $t0, 0x3f - and $t0, $t0, $t4 - or $t1, $t1, $t0 -.L802F3A50: - sw $t1, 0x128($k0) -.endif - - - mfc0 $t0, $14 - sw $t0, 0x11c($k0) - lw $t0, 0x18($k0) - beqz $t0, .L80326868 - nop - cfc1 $t0, $31 - nop - sw $t0, 0x12c($k0) - sdc1 $f0, 0x130($k0) - sdc1 $f2, 0x138($k0) - sdc1 $f4, 0x140($k0) - sdc1 $f6, 0x148($k0) - sdc1 $f8, 0x150($k0) - sdc1 $f10, 0x158($k0) - sdc1 $f12, 0x160($k0) - sdc1 $f14, 0x168($k0) - sdc1 $f16, 0x170($k0) - sdc1 $f18, 0x178($k0) - sdc1 $f20, 0x180($k0) - sdc1 $f22, 0x188($k0) - sdc1 $f24, 0x190($k0) - sdc1 $f26, 0x198($k0) - sdc1 $f28, 0x1a0($k0) - sdc1 $f30, 0x1a8($k0) -.L80326868: - mfc0 $t0, $13 - sw $t0, 0x120($k0) - lui $t1, %hi(MI_INTR_MASK_REG) # $t1, 0xa430 - lw $t1, %lo(MI_INTR_MASK_REG)($t1) - sw $t1, 0x128($k0) - li $t1, 2 - sh $t1, 0x10($k0) - lui $t1, %hi(D_80334934) # $t1, 0x8033 - lw $t1, %lo(D_80334934)($t1) - beqz $t1, .L803268B4 - nop - lui $t2, %hi(D_C0000008) # $t2, 0xc000 - sw $zero, %lo(D_C0000008)($t2) - lui $a0, %hi(D_C0000000) - addiu $t2, %lo(D_C0000008) # addiu $t2, $t2, 8 - jal kdebugserver - lw $a0, %lo(D_C0000000)($a0) - b .L80326E08 - nop -.L803268B4: - lui $t1, %hi(D_80334938) # $t1, 0x8033 - lw $t1, %lo(D_80334938)($t1) - beqz $t1, .L80326900 - nop - lui $t2, %hi(D_C000000C) # $t2, 0xc000 - sw $zero, %lo(D_C000000C)($t2) - lui $t1, %hi(D_80334A40) # $t1, 0x8033 - lw $t1, %lo(D_80334A40)($t1) - addiu $t2, %lo(D_C000000C) # addiu $t2, $t2, 0xc - beqz $t1, .L803268E8 - nop - jal send_mesg - li $a0, 120 -.L803268E8: - lui $t1, %hi(D_80334A44) # $t1, 0x8033 - lw $t1, %lo(D_80334A44)($t1) - lui $at, %hi(D_80334A44) # $at, 0x8033 - addi $t1, $t1, 1 - b .L80326E08 - sw $t1, %lo(D_80334A44)($at) -.L80326900: - andi $t1, $t0, 0x7c - li $t2, 36 - beq $t1, $t2, .L80326B84 - nop - li $t2, 44 - beq $t1, $t2, .L80326CCC - nop - li $t2, 0 - bne $t1, $t2, .L80326BE8 - nop - and $s0, $k1, $t0 -.L8032692C: - andi $t1, $s0, 0xff00 - srl $t2, $t1, 0xc - bnez $t2, .L80326944 - nop - srl $t2, $t1, 8 - addi $t2, $t2, 0x10 -.L80326944: - lui $at, %hi(D_80338610) - addu $at, $at, $t2 - lbu $t2, %lo(D_80338610)($at) - lui $at, %hi(jtbl_80338630) - addu $at, $at, $t2 - lw $t2, %lo(jtbl_80338630)($at) - jr $t2 - nop -glabel L80326964 - mfc0 $t1, $11 - mtc0 $t1, $11 - jal send_mesg - li $a0, 24 - lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff - ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff - b .L8032692C - and $s0, $s0, $at -glabel L80326984 - li $t2, 4 - lui $at, %hi(D_80334920) - addu $at, $at, $t2 - lw $t2, %lo(D_80334920)($at) - beqz $t2, .L803269A4 - nop - jalr $t2 - nop -.L803269A4: - jal send_mesg - li $a0, 16 - li $at, -2049 - b .L8032692C - and $s0, $s0, $at -glabel L803269B8 - lui $s1, %hi(MI_INTR_REG) # $s1, 0xa430 - lw $s1, %lo(MI_INTR_REG)($s1) - andi $s1, $s1, 0x3f - andi $t1, $s1, 1 - beqz $t1, .L80326A18 - nop - lui $t4, %hi(SP_STATUS_REG) # $t4, 0xa404 - lw $t4, %lo(SP_STATUS_REG)($t4) - li $t1, 8 - lui $at, %hi(SP_STATUS_REG) # $at, 0xa404 - andi $t4, $t4, 0x300 - andi $s1, $s1, 0x3e - beqz $t4, .L80326A08 - sw $t1, %lo(SP_STATUS_REG)($at) - jal send_mesg - li $a0, 32 - beqz $s1, .L80326ADC - nop - b .L80326A18 - nop -.L80326A08: - jal send_mesg - li $a0, 88 - beqz $s1, .L80326ADC - nop -.L80326A18: - andi $t1, $s1, 8 - beqz $t1, .L80326A3C - lui $at, %hi(VI_CURRENT_REG) # $at, 0xa440 - andi $s1, $s1, 0x37 - sw $zero, %lo(VI_CURRENT_REG)($at) - jal send_mesg - li $a0, 56 - beqz $s1, .L80326ADC - nop -.L80326A3C: - andi $t1, $s1, 4 - beqz $t1, .L80326A68 - nop - li $t1, 1 - lui $at, %hi(AI_STATUS_REG) # $at, 0xa450 - andi $s1, $s1, 0x3b - sw $t1, %lo(AI_STATUS_REG)($at) - jal send_mesg - li $a0, 48 - beqz $s1, .L80326ADC - nop -.L80326A68: - andi $t1, $s1, 2 - beqz $t1, .L80326A8C - lui $at, %hi(SI_STATUS_REG) # $at, 0xa480 - andi $s1, $s1, 0x3d - sw $zero, %lo(SI_STATUS_REG)($at) - jal send_mesg - li $a0, 40 - beqz $s1, .L80326ADC - nop -.L80326A8C: - andi $t1, $s1, 0x10 - beqz $t1, .L80326AB8 - nop - li $t1, 2 - lui $at, %hi(PI_STATUS_REG) # $at, 0xa460 - andi $s1, $s1, 0x2f - sw $t1, %lo(PI_STATUS_REG)($at) - jal send_mesg - li $a0, 64 - beqz $s1, .L80326ADC - nop -.L80326AB8: - andi $t1, $s1, 0x20 - beqz $t1, .L80326ADC - nop - li $t1, 2048 - lui $at, %hi(MI_MODE_REG) - andi $s1, $s1, 0x1f - sw $t1, %lo(MI_MODE_REG)($at) - jal send_mesg - li $a0, 72 -.L80326ADC: - li $at, -1025 - b .L8032692C - and $s0, $s0, $at -glabel L80326AE8 - lw $k1, 0x118($k0) - li $at, -4097 - lui $t1, %hi(D_80334808) # $t1, 0x8033 - and $k1, $k1, $at - sw $k1, 0x118($k0) - addiu $t1, %lo(D_80334808) # addiu $t1, $t1, 0x4808 - lw $t2, ($t1) - beqz $t2, .L80326B14 - li $at, -4097 - b .L80326B9C - and $s0, $s0, $at -.L80326B14: - li $t2, 1 - sw $t2, ($t1) - jal send_mesg - li $a0, 112 - lui $t2, %hi(D_80334890 + 0x8) # $t2, 0x8033 - lw $t2, %lo(D_80334890 + 0x8)($t2) - li $at, -4097 - and $s0, $s0, $at - lw $k1, 0x118($t2) - and $k1, $k1, $at - b .L80326B9C - sw $k1, 0x118($t2) -glabel L80326B44 - li $at, -513 - and $t0, $t0, $at - mtc0 $t0, $13 - jal send_mesg - li $a0, 8 - li $at, -513 - b .L8032692C - and $s0, $s0, $at -glabel L80326B64 - li $at, -257 - and $t0, $t0, $at - mtc0 $t0, $13 - jal send_mesg - li $a0, 0 - li $at, -257 - b .L8032692C - and $s0, $s0, $at -.L80326B84: - li $t1, 1 - sh $t1, 0x12($k0) - jal send_mesg - li $a0, 80 - b .L80326B9C - nop -.L80326B9C: -glabel L80326B9C - lui $t2, %hi(D_80334890 + 0x8) # $t2, 0x8033 - lw $t2, %lo(D_80334890 + 0x8)($t2) - lw $t1, 4($k0) - lw $t3, 4($t2) - slt $at, $t1, $t3 - beqz $at, .L80326BD0 - nop - lui $a0, %hi(D_80334890 + 0x8) # $a0, 0x8033 - move $a1, $k0 - jal __osEnqueueThread - addiu $a0, %lo(D_80334890 + 0x8) # addiu $a0, $a0, 0x4898 - j __osDispatchThread - nop - -.L80326BD0: - lui $t1, %hi(D_80334890 + 0x8) # $t1, 0x8033 - addiu $t1, %lo(D_80334890 + 0x8) # addiu $t1, $t1, 0x4898 - lw $t2, ($t1) - sw $t2, ($k0) - j __osDispatchThread - sw $k0, ($t1) - -.L80326BE8: -glabel L80326BE8 - lui $at, %hi(D_80334890 + 0x14) # $at, 0x8033 - sw $k0, %lo(D_80334890 + 0x14)($at) - li $t1, 1 - sh $t1, 0x10($k0) - li $t1, 2 - sh $t1, 0x12($k0) - mfc0 $t2, $8 - sw $t2, 0x124($k0) - jal send_mesg - li $a0, 96 - j __osDispatchThread - nop -.else - lui $k0, %hi(gInterruptedThread) # $k0, 0x8033 - addiu $k0, %lo(gInterruptedThread) # addiu $k0, $k0, 0x6ce0 - sd $at, 0x20($k0) - mfc0 $k1, $12 - sw $k1, 0x118($k0) - li $at, -4 - and $k1, $k1, $at - mtc0 $k1, $12 - sd $t0, 0x58($k0) - sd $t1, 0x60($k0) - sd $t2, 0x68($k0) - sw $zero, 0x18($k0) - mfc0 $t0, $13 - move $t0, $k0 - lui $k0, %hi(D_80334890 + 0x10) # $k0, 0x8030 - lw $k0, %lo(D_80334890 + 0x10)($k0) - ld $t1, 0x20($t0) - sd $t1, 0x20($k0) - ld $t1, 0x118($t0) - sd $t1, 0x118($k0) - ld $t1, 0x58($t0) - sd $t1, 0x58($k0) - ld $t1, 0x60($t0) - sd $t1, 0x60($k0) - ld $t1, 0x68($t0) - sd $t1, 0x68($k0) - lw $k1, 0x118($k0) - mflo $t0 - sd $t0, 0x108($k0) - mfhi $t0 - andi $t1, $k1, 0xff00 - sd $v0, 0x28($k0) - sd $v1, 0x30($k0) - sd $a0, 0x38($k0) - sd $a1, 0x40($k0) - sd $a2, 0x48($k0) - sd $a3, 0x50($k0) - sd $t3, 0x70($k0) - sd $t4, 0x78($k0) - sd $t5, 0x80($k0) - sd $t6, 0x88($k0) - sd $t7, 0x90($k0) - sd $s0, 0x98($k0) - sd $s1, 0xa0($k0) - sd $s2, 0xa8($k0) - sd $s3, 0xb0($k0) - sd $s4, 0xb8($k0) - sd $s5, 0xc0($k0) - sd $s6, 0xc8($k0) - sd $s7, 0xd0($k0) - sd $t8, 0xd8($k0) - sd $t9, 0xe0($k0) - sd $gp, 0xe8($k0) - sd $sp, 0xf0($k0) - sd $fp, 0xf8($k0) - sd $ra, 0x100($k0) - beqz $t1, .L802F3A18 - sd $t0, 0x110($k0) - lui $t0, %hi(D_8030208C) # $t0, 0x8030 - addiu $t0, %lo(D_8030208C) # addiu $t0, $t0, 0x208c - lw $t0, ($t0) - li $at, -1 - xor $t0, $t0, $at - lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff - andi $t0, $t0, 0xff00 - ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff - or $t1, $t1, $t0 - and $k1, $k1, $at - or $k1, $k1, $t1 - sw $k1, 0x118($k0) -.L802F3A18: - lui $t1, %hi(MI_INTR_MASK_REG) # $t1, 0xa430 - lw $t1, %lo(MI_INTR_MASK_REG)($t1) - beqz $t1, .L802F3A50 - nop - lui $t0, %hi(D_8030208C) # $t0, 0x8030 - addiu $t0, %lo(D_8030208C) # addiu $t0, $t0, 0x208c - lw $t0, ($t0) - lw $t4, 0x128($k0) - li $at, -1 - srl $t0, $t0, 0x10 - xor $t0, $t0, $at - andi $t0, $t0, 0x3f - and $t0, $t0, $t4 - or $t1, $t1, $t0 -.L802F3A50: - sw $t1, 0x128($k0) - mfc0 $t0, $14 - sw $t0, 0x11c($k0) - lw $t0, 0x18($k0) - beqz $t0, .L802F3AB4 - nop - cfc1 $t0, $31 - nop - sw $t0, 0x12c($k0) - sdc1 $f0, 0x130($k0) - sdc1 $f2, 0x138($k0) - sdc1 $f4, 0x140($k0) - sdc1 $f6, 0x148($k0) - sdc1 $f8, 0x150($k0) - sdc1 $f10, 0x158($k0) - sdc1 $f12, 0x160($k0) - sdc1 $f14, 0x168($k0) - sdc1 $f16, 0x170($k0) - sdc1 $f18, 0x178($k0) - sdc1 $f20, 0x180($k0) - sdc1 $f22, 0x188($k0) - sdc1 $f24, 0x190($k0) - sdc1 $f26, 0x198($k0) - sdc1 $f28, 0x1a0($k0) - sdc1 $f30, 0x1a8($k0) -.L802F3AB4: - mfc0 $t0, $13 - sw $t0, 0x120($k0) - li $t1, 2 - sh $t1, 0x10($k0) - andi $t1, $t0, 0x7c - li $t2, 36 - beq $t1, $t2, .L802F3D90 - nop - li $t2, 44 - beq $t1, $t2, .L80326CCC - nop - li $t2, 0 - bne $t1, $t2, .L80326BE8 - nop - and $s0, $k1, $t0 -.L802F3AF0: - andi $t1, $s0, 0xff00 - srl $t2, $t1, 0xc - bnez $t2, .L802F3B08 - nop - srl $t2, $t1, 8 - addi $t2, $t2, 0x10 -.L802F3B08: - lui $at, %hi(D_80338610) - addu $at, $at, $t2 - lbu $t2, %lo(D_80338610)($at) - lui $at, %hi(jtbl_80338630) - addu $at, $at, $t2 - lw $t2, %lo(jtbl_80338630)($at) - jr $t2 - nop - li $at, -8193 - b .L802F3AF0 - and $s0, $s0, $at - li $at, -16385 - b .L802F3AF0 - and $s0, $s0, $at -glabel L80326964 #probably not right... - mfc0 $t1, $11 - mtc0 $t1, $11 - jal send_mesg - li $a0, 24 - lui $at, (0xFFFF7FFF >> 16) # lui $at, 0xffff - ori $at, (0xFFFF7FFF & 0xFFFF) # ori $at, $at, 0x7fff - b .L802F3AF0 - and $s0, $s0, $at -glabel L80326984 #possibly wrong - li $at, -2049 - and $s0, $s0, $at - li $t2, 4 - lui $at, %hi(D_80334920) - addu $at, $at, $t2 - lw $t2, %lo(D_80334920)($at) - lui $sp, %hi(D_80365E40) # $sp, 0x8033 #.bss stack for D_802F4380 - addiu $sp, %lo(D_80365E40) # addiu $sp, $sp, 0x5c20 - li $a0, 16 - beqz $t2, .L802F3BA4 - addiu $sp, $sp, 0xff0 - jalr $t2 - nop - beqz $v0, .L802F3BA4 - nop - b .L802F3DA8 - nop -.L802F3BA4: - jal send_mesg - nop - b .L802F3AF0 - nop -glabel L803269B8 - lui $t0, %hi(D_8030208C) # $t0, 0x8030 - addiu $t0, %lo(D_8030208C) # addiu $t0, $t0, 0x208c - lw $t0, ($t0) - lui $s1, %hi(MI_INTR_REG) # $s1, 0xa430 - lw $s1, %lo(MI_INTR_REG)($s1) - srl $t0, $t0, 0x10 - and $s1, $s1, $t0 - andi $t1, $s1, 1 - beqz $t1, .L802F3C24 - nop - lui $t4, %hi(SP_STATUS_REG) # $t4, 0xa404 - lw $t4, %lo(SP_STATUS_REG)($t4) - li $t1, 8 - lui $at, %hi(SP_STATUS_REG) # $at, 0xa404 - andi $t4, $t4, 0x300 - andi $s1, $s1, 0x3e - beqz $t4, .L802F3C14 - sw $t1, %lo(SP_STATUS_REG)($at) - jal send_mesg - li $a0, 32 - beqz $s1, .L802F3CE8 - nop - b .L802F3C24 - nop -.L802F3C14: - jal send_mesg - li $a0, 88 - beqz $s1, .L802F3CE8 - nop -.L802F3C24: - andi $t1, $s1, 8 - beqz $t1, .L802F3C48 - lui $at, %hi(VI_CURRENT_REG) # $at, 0xa440 - andi $s1, $s1, 0x37 - sw $zero, %lo(VI_CURRENT_REG)($at) - jal send_mesg - li $a0, 56 - beqz $s1, .L802F3CE8 - nop -.L802F3C48: - andi $t1, $s1, 4 - beqz $t1, .L802F3C74 - nop - li $t1, 1 - lui $at, %hi(AI_STATUS_REG) # $at, 0xa450 - andi $s1, $s1, 0x3b - sw $t1, %lo(AI_STATUS_REG)($at) - jal send_mesg - li $a0, 48 - beqz $s1, .L802F3CE8 - nop -.L802F3C74: - andi $t1, $s1, 2 - beqz $t1, .L802F3C98 - lui $at, %hi(SI_STATUS_REG) # $at, 0xa480 - andi $s1, $s1, 0x3d - sw $zero, %lo(SI_STATUS_REG)($at) - jal send_mesg - li $a0, 40 - beqz $s1, .L802F3CE8 - nop -.L802F3C98: - andi $t1, $s1, 0x10 - beqz $t1, .L802F3CC4 - nop - li $t1, 2 - lui $at, %hi(PI_STATUS_REG) # $at, 0xa460 - andi $s1, $s1, 0x2f - sw $t1, %lo(PI_STATUS_REG)($at) - jal send_mesg - li $a0, 64 - beqz $s1, .L802F3CE8 - nop -.L802F3CC4: - andi $t1, $s1, 0x20 - beqz $t1, .L802F3CE8 - nop - li $t1, 2048 - lui $at, 0xa430 - andi $s1, $s1, 0x1f - sw $t1, ($at) - jal send_mesg - li $a0, 72 -.L802F3CE8: - li $at, -1025 - b .L802F3AF0 - and $s0, $s0, $at -glabel L80326AE8 - lw $k1, 0x118($k0) - li $at, -4097 - lui $t1, %hi(D_80334808) # $t1, 0x8030 - and $k1, $k1, $at - sw $k1, 0x118($k0) - addiu $t1, %lo(D_80334808) # addiu $t1, $t1, 0x2088 - lw $t2, ($t1) - beqz $t2, .L802F3D20 - li $at, -4097 - b .L802F3DA8 - and $s0, $s0, $at -.L802F3D20: - li $t2, 1 - sw $t2, ($t1) - jal send_mesg - li $a0, 112 - lui $t2, %hi(D_80334890 + 0x8) # $t2, 0x8030 - lw $t2, %lo(D_80334890 + 0x8)($t2) - li $at, -4097 - and $s0, $s0, $at - lw $k1, 0x118($t2) - and $k1, $k1, $at - b .L802F3DA8 - sw $k1, 0x118($t2) -glabel L80326B44 - li $at, -513 - and $t0, $t0, $at - mtc0 $t0, $13 - jal send_mesg - li $a0, 8 - li $at, -513 - b .L802F3AF0 - and $s0, $s0, $at -glabel L80326B64 - li $at, -257 - and $t0, $t0, $at - mtc0 $t0, $13 - jal send_mesg - li $a0, 0 - li $at, -257 - b .L802F3AF0 - and $s0, $s0, $at -.L802F3D90: - li $t1, 1 - sh $t1, 0x12($k0) - jal send_mesg - li $a0, 80 - b .L802F3DA8 - nop -.L802F3DA8: -glabel L80326B9C - lui $t2, %hi(D_80334890 + 0x8) # $t2, 0x8030 - lw $t2, %lo(D_80334890 + 0x8)($t2) - lw $t1, 4($k0) - lw $t3, 4($t2) - slt $at, $t1, $t3 - beqz $at, .L80326BD0 - nop - lui $a0, %hi(D_80334890 + 0x8) # $a0, 0x8030 - move $a1, $k0 - jal __osEnqueueThread - addiu $a0, %lo(D_80334890 + 0x8) # addiu $a0, $a0, 0x2ef8 - j __osDispatchThread - nop - -.L80326BD0: - lui $t1, %hi(D_80334890 + 0x8) # $t1, 0x8030 - addiu $t1, %lo(D_80334890 + 0x8) # addiu $t1, $t1, 0x2ef8 - lw $t2, ($t1) - sw $t2, ($k0) - j __osDispatchThread - sw $k0, ($t1) - -.L80326BE8: -glabel L80326BE8 - lui $at, %hi(D_80334890 + 0x14) # $at, 0x8030 - sw $k0, %lo(D_80334890 + 0x14)($at) - li $t1, 1 - sh $t1, 0x10($k0) - li $t1, 2 - sh $t1, 0x12($k0) - mfc0 $t2, $8 - sw $t2, 0x124($k0) - jal send_mesg - li $a0, 96 - j __osDispatchThread - nop -.endif - -glabel send_mesg - lui $t2, %hi(D_80363830) # $t2, 0x8036 - addiu $t2, %lo(D_80363830) # addiu $t2, $t2, 0x3830 - addu $t2, $t2, $a0 - lw $t1, ($t2) - move $s2, $ra - beqz $t1, .L80326CC4 - nop - lw $t3, 8($t1) - lw $t4, 0x10($t1) - slt $at, $t3, $t4 - beqz $at, .L80326CC4 - nop - lw $t5, 0xc($t1) - addu $t5, $t5, $t3 - div $zero, $t5, $t4 - bnez $t4, .L80326C60 - nop - break 7 -.L80326C60: - li $at, -1 - bne $t4, $at, .L80326C78 - lui $at, 0x8000 - bne $t5, $at, .L80326C78 - nop - break 6 -.L80326C78: - lw $t4, 0x14($t1) - mfhi $t5 - sll $t5, $t5, 2 - addu $t4, $t4, $t5 - lw $t5, 4($t2) - addiu $t2, $t3, 1 - sw $t5, ($t4) - sw $t2, 8($t1) - lw $t2, ($t1) - lw $t3, ($t2) - beqz $t3, .L80326CC4 - nop - jal __osPopThread - move $a0, $t1 - move $t2, $v0 - lui $a0, %hi(D_80334890 + 0x8) # $a0, 0x8033 - move $a1, $t2 - jal __osEnqueueThread - addiu $a0, %lo(D_80334890 + 0x8) # addiu $a0, $a0, 0x4898 -.L80326CC4: - jr $s2 - nop -.L80326CCC: - lui $at, 0x3000 - and $t1, $t0, $at - srl $t1, $t1, 0x1c - li $t2, 1 - bne $t1, $t2, .L80326BE8 - nop - lw $k1, 0x118($k0) - lui $at, 0x2000 - li $t1, 1 - or $k1, $k1, $at - sw $t1, 0x18($k0) - b .L80326BD0 - sw $k1, 0x118($k0) - - -glabel __osEnqueueAndYield - lui $a1, %hi(D_80334890 + 0x10) # $a1, 0x8033 - lw $a1, %lo(D_80334890 + 0x10)($a1) - mfc0 $t0, $12 - lw $k1, 0x18($a1) - ori $t0, $t0, 2 - sw $t0, 0x118($a1) - sd $s0, 0x98($a1) - sd $s1, 0xa0($a1) - sd $s2, 0xa8($a1) - sd $s3, 0xb0($a1) - sd $s4, 0xb8($a1) - sd $s5, 0xc0($a1) - sd $s6, 0xc8($a1) - sd $s7, 0xd0($a1) - sd $gp, 0xe8($a1) - sd $sp, 0xf0($a1) - sd $fp, 0xf8($a1) - sd $ra, 0x100($a1) -.ifdef VERSION_EU - beqz $k1, .L802F3F7C -.else - beqz $k1, .L80326D70 -.endif - sw $ra, 0x11c($a1) - cfc1 $k1, $31 - sdc1 $f20, 0x180($a1) - sdc1 $f22, 0x188($a1) - sdc1 $f24, 0x190($a1) - sdc1 $f26, 0x198($a1) - sdc1 $f28, 0x1a0($a1) - sdc1 $f30, 0x1a8($a1) - sw $k1, 0x12c($a1) - -.ifdef VERSION_EU -.L802F3F7C: -/* 0B377C 802F3F7C 8CBB0118 */ lw $k1, 0x118($a1) -/* 0B3780 802F3F80 3369FF00 */ andi $t1, $k1, 0xff00 -/* 0B3784 802F3F84 1120000D */ beqz $t1, .L802F3FBC -/* 0B3788 802F3F88 00000000 */ nop -/* 0B378C 802F3F8C 3C088030 */ lui $t0, %hi(D_8030208C) # $t0, 0x8030 -/* 0B3790 802F3F90 2508208C */ addiu $t0, %lo(D_8030208C) # addiu $t0, $t0, 0x208c -/* 0B3794 802F3F94 8D080000 */ lw $t0, ($t0) -/* 0B3798 802F3F98 2401FFFF */ li $at, -1 -/* 0B379C 802F3F9C 01014026 */ xor $t0, $t0, $at -/* 0B37A0 802F3FA0 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff -/* 0B37A4 802F3FA4 3108FF00 */ andi $t0, $t0, 0xff00 -/* 0B37A8 802F3FA8 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff -/* 0B37AC 802F3FAC 01284825 */ or $t1, $t1, $t0 -/* 0B37B0 802F3FB0 0361D824 */ and $k1, $k1, $at -/* 0B37B4 802F3FB4 0369D825 */ or $k1, $k1, $t1 -/* 0B37B8 802F3FB8 ACBB0118 */ sw $k1, 0x118($a1) -.L802F3FBC: -/* 0B37BC 802F3FBC 3C1BA430 */ lui $k1, %hi(MI_INTR_MASK_REG) # $k1, 0xa430 -/* 0B37C0 802F3FC0 8F7B000C */ lw $k1, %lo(MI_INTR_MASK_REG)($k1) -/* 0B37C4 802F3FC4 1360000B */ beqz $k1, .L802F3FF4 -/* 0B37C8 802F3FC8 00000000 */ nop -/* 0B37CC 802F3FCC 3C1A8030 */ lui $k0, %hi(D_8030208C) # $k0, 0x8030 -/* 0B37D0 802F3FD0 275A208C */ addiu $k0, %lo(D_8030208C) # addiu $k0, $k0, 0x208c -/* 0B37D4 802F3FD4 8F5A0000 */ lw $k0, ($k0) -/* 0B37D8 802F3FD8 8CA80128 */ lw $t0, 0x128($a1) -/* 0B37DC 802F3FDC 2401FFFF */ li $at, -1 -/* 0B37E0 802F3FE0 001AD402 */ srl $k0, $k0, 0x10 -/* 0B37E4 802F3FE4 0341D026 */ xor $k0, $k0, $at -/* 0B37E8 802F3FE8 335A003F */ andi $k0, $k0, 0x3f -/* 0B37EC 802F3FEC 0348D024 */ and $k0, $k0, $t0 -/* 0B37F0 802F3FF0 037AD825 */ or $k1, $k1, $k0 -.L802F3FF4: -.endif - - -.L80326D70: -.ifndef VERSION_EU - lui $k1, %hi(MI_INTR_MASK_REG) # $k1, 0xa430 - lw $k1, %lo(MI_INTR_MASK_REG)($k1) -.endif - beqz $a0, .L80326D88 - sw $k1, 0x128($a1) - jal __osEnqueueThread - nop -.L80326D88: - j __osDispatchThread - nop - - -#enqueue and pop look like compiled functions? but there's no easy way to extract them -glabel __osEnqueueThread - lw $t8, ($a0) - lw $t7, 4($a1) - move $t9, $a0 - lw $t6, 4($t8) - slt $at, $t6, $t7 - bnez $at, .L80326DC4 - nop -.L80326DAC: - move $t9, $t8 - lw $t8, ($t8) - lw $t6, 4($t8) - slt $at, $t6, $t7 - beqz $at, .L80326DAC - nop -.L80326DC4: - lw $t8, ($t9) - sw $t8, ($a1) - sw $a1, ($t9) - jr $ra - sw $a0, 8($a1) - -glabel __osPopThread - lw $v0, ($a0) - lw $t9, ($v0) - jr $ra - sw $t9, ($a0) - -glabel __osDispatchThread - lui $a0, %hi(D_80334890 + 0x8) # $a0, 0x8033 - jal __osPopThread - addiu $a0, %lo(D_80334890 + 0x8) # addiu $a0, $a0, 0x4898 - lui $at, %hi(D_80334890 + 0x10) # $at, 0x8033 - sw $v0, %lo(D_80334890 + 0x10)($at) - li $t0, 4 - sh $t0, 0x10($v0) - move $k0, $v0 - -.ifdef VERSION_EU - -/* 0B3884 802F4084 3C088030 */ lui $t0, %hi(D_8030208C) # $t0, 0x8030 -/* 0B3888 802F4088 8F5B0118 */ lw $k1, 0x118($k0) -/* 0B388C 802F408C 2508208C */ addiu $t0, %lo(D_8030208C) # addiu $t0, $t0, 0x208c -/* 0B3890 802F4090 8D080000 */ lw $t0, ($t0) -/* 0B3894 802F4094 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff -/* 0B3898 802F4098 3369FF00 */ andi $t1, $k1, 0xff00 -/* 0B389C 802F409C 342100FF */ ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff -/* 0B38A0 802F40A0 3108FF00 */ andi $t0, $t0, 0xff00 -/* 0B38A4 802F40A4 01284824 */ and $t1, $t1, $t0 -/* 0B38A8 802F40A8 0361D824 */ and $k1, $k1, $at -/* 0B38AC 802F40AC 0369D825 */ or $k1, $k1, $t1 -/* 0B38B0 802F40B0 409B6000 */ mtc0 $k1, $12 -.endif -.L80326E08: - ld $k1, 0x108($k0) - ld $at, 0x20($k0) - ld $v0, 0x28($k0) - mtlo $k1 - ld $k1, 0x110($k0) - ld $v1, 0x30($k0) - ld $a0, 0x38($k0) - ld $a1, 0x40($k0) - ld $a2, 0x48($k0) - ld $a3, 0x50($k0) - ld $t0, 0x58($k0) - ld $t1, 0x60($k0) - ld $t2, 0x68($k0) - ld $t3, 0x70($k0) - ld $t4, 0x78($k0) - ld $t5, 0x80($k0) - ld $t6, 0x88($k0) - ld $t7, 0x90($k0) - ld $s0, 0x98($k0) - ld $s1, 0xa0($k0) - ld $s2, 0xa8($k0) - ld $s3, 0xb0($k0) - ld $s4, 0xb8($k0) - ld $s5, 0xc0($k0) - ld $s6, 0xc8($k0) - ld $s7, 0xd0($k0) - ld $t8, 0xd8($k0) - ld $t9, 0xe0($k0) - ld $gp, 0xe8($k0) - mthi $k1 - ld $sp, 0xf0($k0) - ld $fp, 0xf8($k0) - ld $ra, 0x100($k0) - lw $k1, 0x11c($k0) - mtc0 $k1, $14 -.ifndef VERSION_EU - lw $k1, 0x118($k0) - mtc0 $k1, $12 -.endif - lw $k1, 0x18($k0) - beqz $k1, .L80326EF0 - nop - lw $k1, 0x12c($k0) - ctc1 $k1, $31 - ldc1 $f0, 0x130($k0) - ldc1 $f2, 0x138($k0) - ldc1 $f4, 0x140($k0) - ldc1 $f6, 0x148($k0) - ldc1 $f8, 0x150($k0) - ldc1 $f10, 0x158($k0) - ldc1 $f12, 0x160($k0) - ldc1 $f14, 0x168($k0) - ldc1 $f16, 0x170($k0) - ldc1 $f18, 0x178($k0) - ldc1 $f20, 0x180($k0) - ldc1 $f22, 0x188($k0) - ldc1 $f24, 0x190($k0) - ldc1 $f26, 0x198($k0) - ldc1 $f28, 0x1a0($k0) - ldc1 $f30, 0x1a8($k0) -.L80326EF0: - lw $k1, 0x128($k0) -.ifdef VERSION_EU -/* 0B3998 802F4198 3C1A8030 */ lui $k0, %hi(D_8030208C) # $k0, 0x8030 -/* 0B399C 802F419C 275A208C */ addiu $k0, %lo(D_8030208C) # addiu $k0, $k0, 0x208c -/* 0B39A0 802F41A0 8F5A0000 */ lw $k0, ($k0) -/* 0B39A4 802F41A4 001AD402 */ srl $k0, $k0, 0x10 -/* 0B39A8 802F41A8 037AD824 */ and $k1, $k1, $k0 -.endif - sll $k1, $k1, 1 - lui $k0, %hi(D_803386D0) # $k0, 0x8034 - addiu $k0, %lo(D_803386D0) # addiu $k0, $k0, -0x7930 - addu $k1, $k1, $k0 - lhu $k1, ($k1) - lui $k0, %hi(MI_INTR_MASK_REG) # $k0, 0xa430 - addiu $k0, %lo(MI_INTR_MASK_REG) # addiu $k0, $k0, 0xc - sw $k1, ($k0) - nop - nop - nop - nop - eret -glabel __osCleanupThread - jal osDestroyThread - move $a0, $zero - -.section .data - -glabel D_80334920 - .word 0 - .word 0 - .word 0 - .word 0 - .word 0 - -glabel D_80334934 - .word 0 - -glabel D_80334938 - .word 0 - .word 0 - -.section .rodata - -glabel D_80338610 - .byte 0x00,0x14,0x18,0x18,0x1C,0x1C,0x1C,0x1C,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x04,0x08,0x08,0x0C,0x0C,0x0C,0x0C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10 - -glabel jtbl_80338630 - .word L80326B9C - .word L80326B64 - .word L80326B44 - .word L803269B8 - .word L80326984 - .word L80326AE8 -.ifdef VERSION_EU - .word 0x802f3b28 - .word 0x802f3b34 -.else - .word L80326BE8 - .word L80326BE8 -.endif - .word L80326964 - .word 0 - .word 0 - .word 0 diff --git a/lib/asm/__osGetCause.s b/lib/asm/__osGetCause.s deleted file mode 100644 index 13fff167..00000000 --- a/lib/asm/__osGetCause.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel __osGetCause - mfc0 $v0, $13 - jr $ra - nop - - nop - diff --git a/lib/asm/__osGetSR.s b/lib/asm/__osGetSR.s deleted file mode 100644 index e2f74c76..00000000 --- a/lib/asm/__osGetSR.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel __osGetSR - mfc0 $v0, $12 - jr $ra - nop - - nop - diff --git a/lib/asm/__osProbeTLB.s b/lib/asm/__osProbeTLB.s deleted file mode 100644 index fe83ea16..00000000 --- a/lib/asm/__osProbeTLB.s +++ /dev/null @@ -1,64 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel __osProbeTLB - mfc0 $t0, $10 - andi $t1, $t0, 0xff - li $at, -8192 - and $t2, $a0, $at - or $t1, $t1, $t2 - mtc0 $t1, $10 - nop - nop - nop - tlbp - nop - nop - mfc0 $t3, $0 - lui $at, 0x8000 - and $t3, $t3, $at - bnez $t3, .L8032A0D8 - nop - tlbr - nop - nop - nop - mfc0 $t3, $5 - addi $t3, $t3, 0x2000 - srl $t3, $t3, 1 - and $t4, $t3, $a0 - bnez $t4, .L8032A0A8 - addi $t3, $t3, -1 - mfc0 $v0, $2 - b .L8032A0AC - nop -.L8032A0A8: - mfc0 $v0, $3 -.L8032A0AC: - andi $t5, $v0, 2 - beqz $t5, .L8032A0D8 - nop - lui $at, (0x3FFFFFC0 >> 16) # lui $at, 0x3fff - ori $at, (0x3FFFFFC0 & 0xFFFF) # ori $at, $at, 0xffc0 - and $v0, $v0, $at - sll $v0, $v0, 6 - and $t5, $a0, $t3 - add $v0, $v0, $t5 - b .L8032A0DC - nop -.L8032A0D8: - li $v0, -1 -.L8032A0DC: - mtc0 $t0, $10 - jr $ra - nop - - nop - nop - diff --git a/lib/asm/__osRestoreInt.s b/lib/asm/__osRestoreInt.s deleted file mode 100644 index f6ab98ef..00000000 --- a/lib/asm/__osRestoreInt.s +++ /dev/null @@ -1,19 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel __osRestoreInt - mfc0 $t0, $12 - or $t0, $t0, $a0 - mtc0 $t0, $12 - nop - nop - jr $ra - nop - - nop - diff --git a/lib/asm/__osSetCompare.s b/lib/asm/__osSetCompare.s deleted file mode 100644 index a1dab931..00000000 --- a/lib/asm/__osSetCompare.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel __osSetCompare - mtc0 $a0, $11 - jr $ra - nop - - nop - diff --git a/lib/asm/__osSetFpcCsr.s b/lib/asm/__osSetFpcCsr.s deleted file mode 100644 index e644bc74..00000000 --- a/lib/asm/__osSetFpcCsr.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel __osSetFpcCsr - cfc1 $v0, $31 - ctc1 $a0, $31 - jr $ra - nop - diff --git a/lib/asm/__osSetSR.s b/lib/asm/__osSetSR.s deleted file mode 100644 index 3fba3e66..00000000 --- a/lib/asm/__osSetSR.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel __osSetSR - mtc0 $a0, $12 - nop - jr $ra - nop - diff --git a/lib/asm/__os_eu_802ef550.s b/lib/asm/__os_eu_802ef550.s deleted file mode 100644 index 99b328e2..00000000 --- a/lib/asm/__os_eu_802ef550.s +++ /dev/null @@ -1,22 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 -.set noat - -.include "macros.inc" - - -.section .text, "ax" -# cache related -glabel __os_eu_802ef550 - lui $t0,0x8000 - li $t2,0x2000 - addu $t1,$t0,$t2 - addiu $t1,$t1,-0x10 -.L: cache 0x1,0($t0) - sltu $at,$t0,$t1 - bnez $at,.L - addiu $t0,$t0,0x10 - jr $ra - nop - nop - nop diff --git a/lib/asm/bcopy.s b/lib/asm/bcopy.s deleted file mode 100644 index 953a3d3c..00000000 --- a/lib/asm/bcopy.s +++ /dev/null @@ -1,232 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel bcopy - beqz $a2, .L80323A4C - move $a3, $a1 - beq $a0, $a1, .L80323A4C - slt $at, $a1, $a0 - bnezl $at, .L80323A14 - slti $at, $a2, 0x10 - add $v0, $a0, $a2 - slt $at, $a1, $v0 - beql $at, $zero, .L80323A14 - slti $at, $a2, 0x10 - b .L80323B78 - slti $at, $a2, 0x10 - slti $at, $a2, 0x10 -.L80323A14: - bnez $at, .L80323A2C - nop - andi $v0, $a0, 3 - andi $v1, $a1, 3 - beq $v0, $v1, .L80323A54 - nop -.L80323A2C: - beqz $a2, .L80323A4C - nop - addu $v1, $a0, $a2 -.L80323A38: - lb $v0, ($a0) - addiu $a0, $a0, 1 - addiu $a1, $a1, 1 - bne $a0, $v1, .L80323A38 - sb $v0, -1($a1) -.L80323A4C: - jr $ra - move $v0, $a3 - -.L80323A54: - beqz $v0, .L80323AB8 - li $at, 1 - beq $v0, $at, .L80323A9C - li $at, 2 - beql $v0, $at, .L80323A88 - lh $v0, ($a0) - lb $v0, ($a0) - addiu $a0, $a0, 1 - addiu $a1, $a1, 1 - addiu $a2, $a2, -1 - b .L80323AB8 - sb $v0, -1($a1) - lh $v0, ($a0) -.L80323A88: - addiu $a0, $a0, 2 - addiu $a1, $a1, 2 - addiu $a2, $a2, -2 - b .L80323AB8 - sh $v0, -2($a1) -.L80323A9C: - lb $v0, ($a0) - lh $v1, 1($a0) - addiu $a0, $a0, 3 - addiu $a1, $a1, 3 - addiu $a2, $a2, -3 - sb $v0, -3($a1) - sh $v1, -2($a1) -.L80323AB8: - slti $at, $a2, 0x20 - bnezl $at, .L80323B18 - slti $at, $a2, 0x10 - lw $v0, ($a0) - lw $v1, 4($a0) - lw $t0, 8($a0) - lw $t1, 0xc($a0) - lw $t2, 0x10($a0) - lw $t3, 0x14($a0) - lw $t4, 0x18($a0) - lw $t5, 0x1c($a0) - addiu $a0, $a0, 0x20 - addiu $a1, $a1, 0x20 - addiu $a2, $a2, -0x20 - sw $v0, -0x20($a1) - sw $v1, -0x1c($a1) - sw $t0, -0x18($a1) - sw $t1, -0x14($a1) - sw $t2, -0x10($a1) - sw $t3, -0xc($a1) - sw $t4, -8($a1) - b .L80323AB8 - sw $t5, -4($a1) -.L80323B14: - slti $at, $a2, 0x10 -.L80323B18: - bnezl $at, .L80323B54 - slti $at, $a2, 4 - lw $v0, ($a0) - lw $v1, 4($a0) - lw $t0, 8($a0) - lw $t1, 0xc($a0) - addiu $a0, $a0, 0x10 - addiu $a1, $a1, 0x10 - addiu $a2, $a2, -0x10 - sw $v0, -0x10($a1) - sw $v1, -0xc($a1) - sw $t0, -8($a1) - b .L80323B14 - sw $t1, -4($a1) -.L80323B50: - slti $at, $a2, 4 -.L80323B54: - bnez $at, .L80323A2C - nop - lw $v0, ($a0) - addiu $a0, $a0, 4 - addiu $a1, $a1, 4 - addiu $a2, $a2, -4 - b .L80323B50 - sw $v0, -4($a1) - slti $at, $a2, 0x10 -.L80323B78: - add $a0, $a0, $a2 - bnez $at, .L80323B94 - add $a1, $a1, $a2 - andi $v0, $a0, 3 - andi $v1, $a1, 3 - beq $v0, $v1, .L80323BC4 - nop -.L80323B94: - beqz $a2, .L80323A4C - nop - addiu $a0, $a0, -1 - addiu $a1, $a1, -1 - subu $v1, $a0, $a2 -.L80323BA8: - lb $v0, ($a0) - addiu $a0, $a0, -1 - addiu $a1, $a1, -1 - bne $a0, $v1, .L80323BA8 - sb $v0, 1($a1) - jr $ra - move $v0, $a3 - -.L80323BC4: - beqz $v0, .L80323C28 - li $at, 3 - beq $v0, $at, .L80323C0C - li $at, 2 - beql $v0, $at, .L80323BF8 - lh $v0, -2($a0) - lb $v0, -1($a0) - addiu $a0, $a0, -1 - addiu $a1, $a1, -1 - addiu $a2, $a2, -1 - b .L80323C28 - sb $v0, ($a1) - lh $v0, -2($a0) -.L80323BF8: - addiu $a0, $a0, -2 - addiu $a1, $a1, -2 - addiu $a2, $a2, -2 - b .L80323C28 - sh $v0, ($a1) -.L80323C0C: - lb $v0, -1($a0) - lh $v1, -3($a0) - addiu $a0, $a0, -3 - addiu $a1, $a1, -3 - addiu $a2, $a2, -3 - sb $v0, 2($a1) - sh $v1, ($a1) -.L80323C28: - slti $at, $a2, 0x20 - bnezl $at, .L80323C88 - slti $at, $a2, 0x10 - lw $v0, -4($a0) - lw $v1, -8($a0) - lw $t0, -0xc($a0) - lw $t1, -0x10($a0) - lw $t2, -0x14($a0) - lw $t3, -0x18($a0) - lw $t4, -0x1c($a0) - lw $t5, -0x20($a0) - addiu $a0, $a0, -0x20 - addiu $a1, $a1, -0x20 - addiu $a2, $a2, -0x20 - sw $v0, 0x1c($a1) - sw $v1, 0x18($a1) - sw $t0, 0x14($a1) - sw $t1, 0x10($a1) - sw $t2, 0xc($a1) - sw $t3, 8($a1) - sw $t4, 4($a1) - b .L80323C28 - sw $t5, ($a1) -.L80323C84: - slti $at, $a2, 0x10 -.L80323C88: - bnezl $at, .L80323CC4 - slti $at, $a2, 4 - lw $v0, -4($a0) - lw $v1, -8($a0) - lw $t0, -0xc($a0) - lw $t1, -0x10($a0) - addiu $a0, $a0, -0x10 - addiu $a1, $a1, -0x10 - addiu $a2, $a2, -0x10 - sw $v0, 0xc($a1) - sw $v1, 8($a1) - sw $t0, 4($a1) - b .L80323C84 - sw $t1, ($a1) -.L80323CC0: - slti $at, $a2, 4 -.L80323CC4: - bnez $at, .L80323B94 - nop - lw $v0, -4($a0) - addiu $a0, $a0, -4 - addiu $a1, $a1, -4 - addiu $a2, $a2, -4 - b .L80323CC0 - sw $v0, ($a1) - nop - nop - nop - diff --git a/lib/asm/bzero.s b/lib/asm/bzero.s deleted file mode 100644 index 37053b7e..00000000 --- a/lib/asm/bzero.s +++ /dev/null @@ -1,53 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -#this file is probably handwritten - -.section .text, "ax" - -glabel bzero - blt $a1, 0xc, .L803236BC - negu $v1, $a0 - andi $v1, $v1, 3 - beqz $v1, .L80323660 - subu $a1, $a1, $v1 - swl $zero, ($a0) - addu $a0, $a0, $v1 -.L80323660: - and $a3, $a1, -32 - beqz $a3, .L8032369C - subu $a1, $a1, $a3 - addu $a3, $a3, $a0 -.L80323674: - addiu $a0, $a0, 0x20 - sw $zero, -0x20($a0) - sw $zero, -0x1c($a0) - sw $zero, -0x18($a0) - sw $zero, -0x14($a0) - sw $zero, -0x10($a0) - sw $zero, -0xc($a0) - sw $zero, -8($a0) - bne $a0, $a3, .L80323674 - sw $zero, -4($a0) -.L8032369C: - and $a3, $a1, -4 - beqz $a3, .L803236BC - subu $a1, $a1, $a3 - addu $a3, $a3, $a0 -.L803236B0: - addiu $a0, $a0, 4 - bne $a0, $a3, .L803236B0 - sw $zero, -4($a0) -.L803236BC: - blez $a1, .L803236D4 - nop - addu $a1, $a1, $a0 -.L803236C8: - addiu $a0, $a0, 1 - bne $a0, $a1, .L803236C8 - sb $zero, -1($a0) -.L803236D4: - jr $ra - diff --git a/lib/asm/llmuldiv_gcc.s b/lib/asm/llmuldiv_gcc.s deleted file mode 100644 index cf604929..00000000 --- a/lib/asm/llmuldiv_gcc.s +++ /dev/null @@ -1,100 +0,0 @@ -# assembler directives -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -/* -------------------------------------------------------------------------------------- */ -/* need to asm these functions because lib32gcc-7-dev-mips-cross does not exist so we */ -/* cannot naturally link a libgcc variant for this target given this architecture and */ -/* compiler. Until we have a good workaround with a gcc target that doesn't involve */ -/* assuming a 32-bit to 64-bit change, we have to encode these functions as raw assembly */ -/* for it to compile. */ -/* -------------------------------------------------------------------------------------- */ - -/* TODO: Is there a non-insane way to fix this hack that doesn't involve the user compiling */ -/* a library themselves? */ -glabel __umoddi3 - sw $a0, ($sp) - sw $a1, 4($sp) - sw $a2, 8($sp) - sw $a3, 0xc($sp) - ld $t7, 8($sp) - ld $t6, ($sp) - ddivu $zero, $t6, $t7 - bnez $t7, .L80324144 - nop - break 7 -.L80324144: - mfhi $v0 - dsll32 $v1, $v0, 0 - dsra32 $v1, $v1, 0 - jr $ra - dsra32 $v0, $v0, 0 - -glabel __udivdi3 - sw $a0, ($sp) - sw $a1, 4($sp) - sw $a2, 8($sp) - sw $a3, 0xc($sp) - ld $t7, 8($sp) - ld $t6, ($sp) - ddivu $zero, $t6, $t7 - bnez $t7, .L80324180 - nop - break 7 -.L80324180: - mflo $v0 - dsll32 $v1, $v0, 0 - dsra32 $v1, $v1, 0 - jr $ra - dsra32 $v0, $v0, 0 - -glabel __moddi3 - sw $a0, ($sp) - sw $a1, 4($sp) - sw $a2, 8($sp) - sw $a3, 0xc($sp) - ld $t7, 8($sp) - ld $t6, ($sp) - ddivu $zero, $t6, $t7 - bnez $t7, .L803241E8 - nop - break 7 -.L803241E8: - mfhi $v0 - dsll32 $v1, $v0, 0 - dsra32 $v1, $v1, 0 - jr $ra - dsra32 $v0, $v0, 0 - -glabel __divdi3 - sw $a0, ($sp) - sw $a1, 4($sp) - sw $a2, 8($sp) - sw $a3, 0xc($sp) - ld $t7, 8($sp) - ld $t6, ($sp) - ddiv $zero, $t6, $t7 - nop - bnez $t7, .L80324228 - nop - break 7 -.L80324228: - daddiu $at, $zero, -1 - bne $t7, $at, .L80324244 - daddiu $at, $zero, 1 - dsll32 $at, $at, 0x1f - bne $t6, $at, .L80324244 - nop - break 6 -.L80324244: - mflo $v0 - dsll32 $v1, $v0, 0 - dsra32 $v1, $v1, 0 - jr $ra - dsra32 $v0, $v0, 0 diff --git a/lib/asm/osGetCount.s b/lib/asm/osGetCount.s deleted file mode 100644 index 58bd3629..00000000 --- a/lib/asm/osGetCount.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel osGetCount - mfc0 $v0, $9 - jr $ra - nop - - nop - diff --git a/lib/asm/osInvalDCache.s b/lib/asm/osInvalDCache.s deleted file mode 100644 index 452c4dd3..00000000 --- a/lib/asm/osInvalDCache.s +++ /dev/null @@ -1,59 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel osInvalDCache - blez $a1, .L80323500 - nop - li $t3, 8192 - sltu $at, $a1, $t3 - beqz $at, .L80323508 - nop - move $t0, $a0 - addu $t1, $a0, $a1 - sltu $at, $t0, $t1 - beqz $at, .L80323500 - nop - andi $t2, $t0, 0xf - beqz $t2, .L803234D0 - addiu $t1, $t1, -0x10 - subu $t0, $t0, $t2 - cache 0x15, ($t0) - sltu $at, $t0, $t1 - beqz $at, .L80323500 - nop - addiu $t0, $t0, 0x10 -.L803234D0: - andi $t2, $t1, 0xf - beqz $t2, .L803234F0 - nop - subu $t1, $t1, $t2 - cache 0x15, 0x10($t1) - sltu $at, $t1, $t0 - bnez $at, .L80323500 - nop -.L803234F0: - cache 0x11, ($t0) - sltu $at, $t0, $t1 - bnez $at, .L803234F0 - addiu $t0, $t0, 0x10 -.L80323500: - jr $ra - nop - -.L80323508: - li $t0, K0BASE - addu $t1, $t0, $t3 - addiu $t1, $t1, -0x10 -.L80323514: - cache 1, ($t0) - sltu $at, $t0, $t1 - bnez $at, .L80323514 - addiu $t0, $t0, 0x10 - jr $ra - nop diff --git a/lib/asm/osInvalICache.s b/lib/asm/osInvalICache.s deleted file mode 100644 index 8b8a03f0..00000000 --- a/lib/asm/osInvalICache.s +++ /dev/null @@ -1,44 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel osInvalICache - blez $a1, .L80323728 - nop - li $t3, 16384 - sltu $at, $a1, $t3 - beqz $at, .L80323730 - nop - move $t0, $a0 - addu $t1, $a0, $a1 - sltu $at, $t0, $t1 - beqz $at, .L80323728 - nop - andi $t2, $t0, 0x1f - addiu $t1, $t1, -0x20 - subu $t0, $t0, $t2 -.L80323718: - cache 0x10, ($t0) - sltu $at, $t0, $t1 - bnez $at, .L80323718 - addiu $t0, $t0, 0x20 -.L80323728: - jr $ra - nop - -.L80323730: - li $t0, K0BASE - addu $t1, $t0, $t3 - addiu $t1, $t1, -0x20 -.L8032373C: - cache 0, ($t0) - sltu $at, $t0, $t1 - bnez $at, .L8032373C - addiu $t0, $t0, 0x20 - jr $ra - nop diff --git a/lib/asm/osMapTLB.s b/lib/asm/osMapTLB.s deleted file mode 100644 index b9ee4364..00000000 --- a/lib/asm/osMapTLB.s +++ /dev/null @@ -1,63 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -# This file is handwritten - -#void osMapTLB(s32 index, OSPageMask pm, void *vaddr, u32 evenpaddr, u32 oddpaddr, s32 asid); -glabel osMapTLB - mfc0 $t0, $10 - mtc0 $a0, $0 - mtc0 $a1, $5 - lw $t1, 0x14($sp) #asid - beq $t1, -1, .L803214D8 - li $t4, 1 - li $t2, 30 - b .L803214DC - or $a2, $a2, $t1 #vaddr -.L803214D8: - li $t2, 31 -.L803214DC: - mtc0 $a2, $10 #vaddr - beq $a3, -1, .L80321500 #even paddr - nop - srl $t3, $a3, 6 #evenpaddr - or $t3, $t3, $t2 - mtc0 $t3, $2 - b .L80321504 - nop -.L80321500: - mtc0 $t4, $2 -.L80321504: - lw $t3, 0x10($sp) #oddpaddr - beq $t3, -1, .L80321528 - nop - srl $t3, $t3, 6 - or $t3, $t3, $t2 - mtc0 $t3, $3 - b .L80321540 - nop -.L80321528: - mtc0 $t4, $3 - bne $a3, -1, .L80321540 #evenpaddr - nop - lui $t3, 0x8000 - mtc0 $t3, $10 -.L80321540: - nop - tlbwi - nop - nop - nop - nop - mtc0 $t0, $10 - jr $ra - nop #file gets padded but - nop - nop - nop - diff --git a/lib/asm/osMapTLBRdb.s b/lib/asm/osMapTLBRdb.s deleted file mode 100644 index 6753280d..00000000 --- a/lib/asm/osMapTLBRdb.s +++ /dev/null @@ -1,36 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel osMapTLBRdb - mfc0 $t0, $10 - li $t1, 31 - mtc0 $t1, $0 - mtc0 $zero, $5 - li $t2, 23 - lui $t1, 0xc000 - mtc0 $t1, $10 - lui $t1, 0x8000 - srl $t3, $t1, 6 - or $t3, $t3, $t2 - mtc0 $t3, $2 - li $t1, 1 - mtc0 $t1, $3 - nop - tlbwi - nop - nop - nop - nop - mtc0 $t0, $10 - jr $ra - nop - - nop - nop - diff --git a/lib/asm/osSetIntMask.s b/lib/asm/osSetIntMask.s deleted file mode 100644 index ccce609c..00000000 --- a/lib/asm/osSetIntMask.s +++ /dev/null @@ -1,138 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - -.eqv MI_INTR_MASK_REG, 0xA430000C - -.section .text, "ax" - -glabel osSetIntMask -.ifndef VERSION_EU - mfc0 $t1, $12 - andi $v0, $t1, 0xff01 -.else - mfc0 $t4, $12 - andi $v0, $t4, 0xff01 - lui $t0, %hi(D_8030208C) # $t0, 0x8030 - addiu $t0, %lo(D_8030208C) # addiu $t0, $t0, 0x208c - lw $t3, ($t0) - li $at, -1 - xor $t0, $t3, $at - andi $t0, $t0, 0xff00 - or $v0, $v0, $t0 -.endif - lui $t2, %hi(MI_INTR_MASK_REG) # $t2, 0xa430 - lw $t2, %lo(MI_INTR_MASK_REG)($t2) -.ifdef VERSION_EU - beqz $t2, .L80200074 - srl $t1, $t3, 0x10 - li $at, -1 - xor $t1, $t1, $at - andi $t1, $t1, 0x3f - or $t2, $t2, $t1 -.L80200074: -.endif - sll $t2, $t2, 0x10 - or $v0, $v0, $t2 - lui $at, 0x3f - and $t0, $a0, $at -.ifdef VERSION_EU - and $t0, $t0, $t3 -.endif - srl $t0, $t0, 0xf - lui $t2, %hi(D_803386D0) - addu $t2, $t2, $t0 - lhu $t2, %lo(D_803386D0)($t2) - lui $at, %hi(MI_INTR_MASK_REG) # $at, 0xa430 - sw $t2, %lo(MI_INTR_MASK_REG)($at) - andi $t0, $a0, 0xff01 -.ifdef VERSION_EU - andi $t1, $t3, 0xff00 - and $t0, $t0, $t1 -.endif - lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff - ori $at, (0xFFFF00FF & 0xFFFF) # ori $at, $at, 0xff -.ifndef VERSION_EU - and $t1, $t1, $at - or $t1, $t1, $t0 - mtc0 $t1, $12 -.else - and $t4, $t4, $at - or $t4, $t4, $t0 - mtc0 $t4, $12 -.endif - nop - nop - jr $ra - nop - - -.section .rodata - -glabel D_803386D0 -.half 0x0555 -.half 0x0556 -.half 0x0559 -.half 0x055A -.half 0x0565 -.half 0x0566 -.half 0x0569 -.half 0x056A -.half 0x0595 -.half 0x0596 -.half 0x0599 -.half 0x059A -.half 0x05A5 -.half 0x05A6 -.half 0x05A9 -.half 0x05AA -.half 0x0655 -.half 0x0656 -.half 0x0659 -.half 0x065A -.half 0x0665 -.half 0x0666 -.half 0x0669 -.half 0x066A -.half 0x0695 -.half 0x0696 -.half 0x0699 -.half 0x069A -.half 0x06A5 -.half 0x06A6 -.half 0x06A9 -.half 0x06AA -.half 0x0955 -.half 0x0956 -.half 0x0959 -.half 0x095A -.half 0x0965 -.half 0x0966 -.half 0x0969 -.half 0x096A -.half 0x0995 -.half 0x0996 -.half 0x0999 -.half 0x099A -.half 0x09A5 -.half 0x09A6 -.half 0x09A9 -.half 0x09AA -.half 0x0A55 -.half 0x0A56 -.half 0x0A59 -.half 0x0A5A -.half 0x0A65 -.half 0x0A66 -.half 0x0A69 -.half 0x0A6A -.half 0x0A95 -.half 0x0A96 -.half 0x0A99 -.half 0x0A9A -.half 0x0AA5 -.half 0x0AA6 -.half 0x0AA9 -.half 0x0AAA diff --git a/lib/asm/osUnmapTLBAll.s b/lib/asm/osUnmapTLBAll.s deleted file mode 100644 index 0bd9ad27..00000000 --- a/lib/asm/osUnmapTLBAll.s +++ /dev/null @@ -1,32 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel osUnmapTLBAll - mfc0 $t0, $10 - li $t1, 31 - lui $t2, 0x8000 - mtc0 $t2, $10 - mtc0 $zero, $2 - mtc0 $zero, $3 -.L80321588: - mtc0 $t1, $0 - nop - tlbwi - nop - nop - addi $t1, $t1, -1 - bnezl $t1, .L80321588 #bnezl, bnez but with likely hint - nop - mtc0 $t0, $10 - jr $ra - nop - - nop - nop - nop - diff --git a/lib/asm/osWritebackDCache.s b/lib/asm/osWritebackDCache.s deleted file mode 100644 index 8e870168..00000000 --- a/lib/asm/osWritebackDCache.s +++ /dev/null @@ -1,39 +0,0 @@ -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel osWritebackDCache - blez $a1, .osWritebackDCacheReturn - nop - li $t3, 8192 - bgeu $a1, $t3, .L80324E40 - nop - move $t0, $a0 - addu $t1, $a0, $a1 - bgeu $t0, $t1, .osWritebackDCacheReturn - nop - andi $t2, $t0, 0xf - addiu $t1, $t1, -0x10 - subu $t0, $t0, $t2 -.L80324E28: - cache 0x19, ($t0) - bltu $t0, $t1, .L80324E28 - addiu $t0, $t0, 0x10 -.osWritebackDCacheReturn: - jr $ra - nop - -.L80324E40: - lui $t0, 0x8000 - addu $t1, $t0, $t3 - addiu $t1, $t1, -0x10 -.L80324E4C: - cache 1, ($t0) - bltu $t0, $t1, .L80324E4C - addiu $t0, 0x10 # addiu $t0, $t0, 0x10 - jr $ra - nop diff --git a/lib/asm/osWritebackDCacheAll.s b/lib/asm/osWritebackDCacheAll.s deleted file mode 100644 index 88707604..00000000 --- a/lib/asm/osWritebackDCacheAll.s +++ /dev/null @@ -1,24 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches -.set gp=64 - -.include "macros.inc" - - -.section .text, "ax" - -glabel osWritebackDCacheAll - li $t0, K0BASE - li $t2, 8192 - addu $t1, $t0, $t2 - addiu $t1, $t1, -0x10 -.L80322020: - cache 1, ($t0) - sltu $at, $t0, $t1 - bnez $at, .L80322020 - addiu $t0, $t0, 0x10 - jr $ra - nop - - nop - nop diff --git a/lib/asm/parameters.s b/lib/asm/parameters.s deleted file mode 100644 index d5106bfe..00000000 --- a/lib/asm/parameters.s +++ /dev/null @@ -1,18 +0,0 @@ -.macro gsymbol sym addr -.global \sym -.set \sym, \addr -.ifndef VERSION_JP -nop -nop -.endif -.endm - -.text -gsymbol osTvType 0x80000300 -gsymbol osRomType 0x80000304 -gsymbol osRomBase 0x80000308 -gsymbol osResetType 0x8000030C -gsymbol osCiCId 0x80000310 -gsymbol osVersion 0x80000314 -gsymbol osMemSize 0x80000318 -gsymbol osAppNmiBuffer 0x8000031C diff --git a/lib/rsp.s b/lib/rsp.s deleted file mode 100644 index a1284e1e..00000000 --- a/lib/rsp.s +++ /dev/null @@ -1,252 +0,0 @@ -.include "macros.inc" -.set UCODE_SIZE, 0x800 - -.section .text - -.balign 16 -glabel rspF3DBootStart - .ifndef VERSION_EU - .incbin "lib/PR/boot/F3D_boot.bin" - .else - .incbin "lib/PR/boot/F3D_boot_eu.bin" - .half 0 - .endif -glabel rspF3DBootEnd - -.balign 16 -.ifndef F3DEX_GBI_SHARED -glabel rspF3DStart /* Use regular Fast3D bins (default) */ - .ifndef F3D_OLD - .incbin "lib/PR/f3d/new/F3D.bin" /* OS 2.0H (J2 and IQ) */ - .else - .incbin "lib/PR/f3d/old/F3D.bin" /* OS 2.0D (US and JP) */ - .endif -glabel rspF3DEnd - -.else /* Use one of the Fast3DEX series grucodes. */ -glabel rspF3DStart - .if F3DEX_GBI_2 == 1 - .incbin "lib/PR/f3dex2/F3DEX2.bin" - .elseif F3DEX_GBI == 1 - .incbin "lib/PR/f3dex/F3DEX.bin" - .else /* Fast3DZEX */ - .incbin "lib/PR/f3dex2/F3DZEX.bin" - .endif -glabel rspF3DEnd -.endif - -/* Audio Bins */ - -.balign 16 -glabel rspAspMainStart - .incbin "lib/PR/audio/aspMain.bin" -glabel rspAspMainEnd - -/* - * LESS COMMON MICROCODES - * These are setup to be loaded by G_LOAD_UCODE - */ - -/* Fast3DEX NoN Text */ -.ifdef F3DEX_NON_GBI -glabel rspF3DEXNoNStart - .balign 16 - .incbin "lib/PR/f3dex/F3DEX_NoN.bin" -glabel rspF3DEXNoNEnd -.endif - -/* Fast3DLX Text */ -.ifdef F3DLX_GBI -glabel rspF3DLXStart - .incbin "lib/PR/f3dex/F3DLX.bin" -glabel rspF3DLXEnd -.endif - -/* Fast3DLX NoN Text */ -.ifdef F3DLX_NON_GBI -glabel rspF3DLXNoNStart - .balign 16 - .incbin "lib/PR/f3dex/F3DLX_NoN.bin" -glabel rspF3DLXNoNEnd -.endif - -/* Fast3DLX Rej Text */ -.ifdef F3DLX_REJ_GBI -glabel rspF3DLXRejStart - .balign 16 - .incbin "lib/PR/f3dex/F3DLX_Rej.bin" -glabel rspF3DLXRejEnd -.endif - -/* Line3DEX Text */ -.ifdef L3DEX_GBI -glabel rspL3DEXStart - .balign 16 - .incbin "lib/PR/f3dex/L3DEX.bin" -glabel rspL3DEXEnd -.endif - -/* S2DEX Text */ -.ifdef S2DEX_GBI -glabel rspS2DEXStart - .balign 16 - .incbin "lib/PR/s2dex/S2DEX.bin" -glabel rspS2DEXEnd -.endif - -/* Fast3DEX2 series */ - -/* Fast3DEX2 NoN Text */ -.ifdef F3DEX2_NON_GBI -.balign 16 -glabel rspF3DEX2NoNStart - .incbin "lib/PR/f3dex2/F3DEX2_NoN.bin" -glabel rspF3DEX2NoNEnd -.endif - -/* Fast3DEX2 Rej Text */ -.ifdef F3DEX2_REJ_GBI -.balign 16 -glabel rspF3DEX2RejStart - .incbin "lib/PR/f3dex2/F3DEX2_Rej.bin" -glabel rspF3DEX2RejEnd -.endif - -/* Line3DEX2 Text */ -.ifdef L3DEX2_GBI -.balign 16 -glabel rspL3DEX2Start - .incbin "lib/PR/f3dex2/L3DEX2.bin" -glabel rspL3DEX2End -.endif - -/* S2DEX2 Text */ -.ifdef S2DEX_GBI_2 -.balign 16 -glabel rspS2DEXStart - .incbin "lib/PR/s2dex/S2DEX2.bin" -glabel rspS2DEXEnd -.endif - -/* DATA SECTION START */ - -.section .rodata - -.balign 16 -.ifndef F3DEX_GBI_SHARED /* Use regular Fast3D data (default) */ -glabel rspF3DDataStart - .ifndef F3D_OLD /* OS 2.0H (J2 and IQ) */ - .ifdef VERSION_EU - .incbin "lib/PR/f3d/new/F3D_data_EU.bin" - .else - .incbin "lib/PR/f3d/new/F3D_data.bin" - .endif - .else /* OS 2.0D (US and JP) */ - .incbin "lib/PR/f3d/old/F3D_data.bin" - .endif -glabel rspF3DDataEnd - -.else /* Using one of the Fast3DEX series grucodes */ -glabel rspF3DDataStart - .if F3DEX_GBI_2 == 1 - .incbin "lib/PR/f3dex2/F3DEX2_data.bin" - .elseif F3DEX_GBI == 1 - .incbin "lib/PR/f3dex/F3DEX_data.bin" - .else /* Fast3DZEX */ - .incbin "lib/PR/f3dex2/F3DZEX_data.bin" - .endif -glabel rspF3DDataEnd -.endif - -/* Audio Data */ - -.balign 16 -glabel rspAspMainDataStart - .incbin "lib/PR/audio/aspMain_data.bin" -glabel rspAspMainDataEnd - -/* LESS COMMON MICROCODES */ - -/* Fast3DEX Series */ - -/* Fast3DEX NoN Data */ -.ifdef F3DEX_NON_GBI -.balign 16 -glabel rspF3DEXNoNDataStart - .incbin "lib/PR/f3dex/F3DEX_NoN_data.bin" -glabel rspF3DEXNoNDataEnd -.endif - -/* Fast3DLX Data */ -.ifdef F3DLX_GBI -.balign 16 -glabel rspF3DLXDataStart - .incbin "lib/PR/f3dex/F3DLX_data.bin" -glabel rspF3DLXDataEnd -.endif - -/* Fast3DLX NoN Data */ -.ifdef F3DLX_NON_GBI -.balign 16 -glabel rspF3DLXNoNDataStart - .incbin "lib/PR/f3dex/F3DLX_NoN_data.bin" -glabel rspF3DLXNoNDataEnd -.endif - -/* Fast3DLX Rej Data */ -.ifdef F3DLX_REJ_GBI -.balign 16 -glabel rspF3DLXRejDataStart - .incbin "lib/PR/f3dex/F3DLX_Rej_data.bin" -glabel rspF3DLXRejDataEnd -.endif - -/* Line3DEX Data */ -.ifdef L3DEX_GBI -.balign 16 -glabel rspL3DEXDataStart - .incbin "lib/PR/f3dex/L3DEX_data.bin" -glabel rspL3DEXDataEnd -.endif - -/* S2DEX Data */ -.ifdef S2DEX_GBI -.balign 16 -glabel rspS2DEXDataStart - .incbin "lib/PR/s2dex/S2DEX_data.bin" -glabel rspS2DEXDataEnd -.endif - -/* Fast3DEX2 Series */ - -/* Fast3DEX2 NoN Data */ -.ifdef F3DEX2_NON_GBI -.balign 16 -glabel rspF3DEX2NoNStart - .incbin "lib/PR/f3dex2/F3DEX2_NoN_data.bin" -glabel rspF3DEX2NoNEnd -.endif - -/* Fast3DEX2 Rej Data */ -.ifdef F3DEX2_REJ_GBI -.balign 16 -glabel rspF3DEX2RejStart - .incbin "lib/PR/f3dex2/F3DEX2_Rej_data.bin" -glabel rspF3DEX2RejEnd -.endif - -/* Line3DEX2 Data */ -.ifdef L3DEX2_GBI -.balign 16 -glabel rspL3DEX2Start - .incbin "lib/PR/f3dex2/L3DEX2_data.bin" -glabel rspL3DEX2End -.endif - -/* S2DEX2 Data */ -.ifdef S2DEX_GBI_2 -.balign 16 -glabel rspS2DEXStart - .incbin "lib/PR/s2dex/S2DEX2_data.bin" -glabel rspS2DEXEnd -.endif