game fix
This commit is contained in:
parent
f8dee74f7c
commit
e04605d2fd
@ -66,7 +66,7 @@ SUPV_TCB:
|
|||||||
// Count
|
// Count
|
||||||
.word 0
|
.word 0
|
||||||
// Compare
|
// Compare
|
||||||
.word 0
|
.word -1
|
||||||
// STATUS
|
// STATUS
|
||||||
.word STATUSF_IP5 | STATUSF_IP4 | ST0_IE
|
.word STATUSF_IP5 | STATUSF_IP4 | ST0_IE
|
||||||
// EPC
|
// EPC
|
||||||
|
@ -25,62 +25,56 @@
|
|||||||
nop
|
nop
|
||||||
mfc0 k1, CP0_STATUS
|
mfc0 k1, CP0_STATUS
|
||||||
and k0, k0, k1
|
and k0, k0, k1
|
||||||
7:
|
|
||||||
andi k1, k0, C_IRQ5
|
andi k1, k0, C_IRQ5
|
||||||
|
7:
|
||||||
beqz k1, 6f
|
beqz k1, 6f
|
||||||
nop
|
andi k1, k0, C_IRQ4
|
||||||
lui k0, %hi(current_thread)
|
lui k0, %hi(current_thread)
|
||||||
lw k0, %lo(current_thread)(k0)
|
lw k0, %lo(current_thread)(k0)
|
||||||
lw k1, TF_INTHDL7(k0)
|
lw k1, TF_INTHDL7(k0)
|
||||||
jr k1
|
jr k1
|
||||||
nop
|
nop
|
||||||
6:
|
6:
|
||||||
andi k1, k0, C_IRQ4
|
|
||||||
beqz k1, 5f
|
beqz k1, 5f
|
||||||
nop
|
andi k1, k0, C_IRQ3
|
||||||
lui k0, %hi(current_thread)
|
lui k0, %hi(current_thread)
|
||||||
lw k0, %lo(current_thread)(k0)
|
lw k0, %lo(current_thread)(k0)
|
||||||
lw k1, TF_INTHDL6(k0)
|
lw k1, TF_INTHDL6(k0)
|
||||||
jr k1
|
jr k1
|
||||||
nop
|
nop
|
||||||
5:
|
5:
|
||||||
andi k1, k0, C_IRQ3
|
|
||||||
beqz k1, 4f
|
beqz k1, 4f
|
||||||
nop
|
andi k1, k0, C_IRQ2
|
||||||
lui k0, %hi(current_thread)
|
lui k0, %hi(current_thread)
|
||||||
lw k0, %lo(current_thread)(k0)
|
lw k0, %lo(current_thread)(k0)
|
||||||
lw k1, TF_INTHDL5(k0)
|
lw k1, TF_INTHDL5(k0)
|
||||||
jr k1
|
jr k1
|
||||||
nop
|
nop
|
||||||
4:
|
4:
|
||||||
andi k1, k0, C_IRQ2
|
|
||||||
beqz k1, 3f
|
beqz k1, 3f
|
||||||
nop
|
andi k1, k0, C_IRQ1
|
||||||
lui k0, %hi(current_thread)
|
lui k0, %hi(current_thread)
|
||||||
lw k0, %lo(current_thread)(k0)
|
lw k0, %lo(current_thread)(k0)
|
||||||
lw k1, TF_INTHDL4(k0)
|
lw k1, TF_INTHDL4(k0)
|
||||||
jr k1
|
jr k1
|
||||||
nop
|
nop
|
||||||
3:
|
3:
|
||||||
andi k1, k0, C_IRQ1
|
|
||||||
beqz k1, 2f
|
beqz k1, 2f
|
||||||
nop
|
andi k1, k0, C_IRQ0
|
||||||
lui k0, %hi(current_thread)
|
lui k0, %hi(current_thread)
|
||||||
lw k0, %lo(current_thread)(k0)
|
lw k0, %lo(current_thread)(k0)
|
||||||
lw k1, TF_INTHDL3(k0)
|
lw k1, TF_INTHDL3(k0)
|
||||||
jr k1
|
jr k1
|
||||||
nop
|
nop
|
||||||
2:
|
2:
|
||||||
andi k1, k0, C_IRQ0
|
|
||||||
beqz k1, 1f
|
beqz k1, 1f
|
||||||
nop
|
andi k1, k0, C_SW1
|
||||||
lui k0, %hi(current_thread)
|
lui k0, %hi(current_thread)
|
||||||
lw k0, %lo(current_thread)(k0)
|
lw k0, %lo(current_thread)(k0)
|
||||||
lw k1, TF_INTHDL2(k0)
|
lw k1, TF_INTHDL2(k0)
|
||||||
jr k1
|
jr k1
|
||||||
nop
|
nop
|
||||||
1:
|
1:
|
||||||
andi k1, k0, C_SW1
|
|
||||||
beqz k1, 0f
|
beqz k1, 0f
|
||||||
nop
|
nop
|
||||||
lui k0, %hi(current_thread)
|
lui k0, %hi(current_thread)
|
||||||
@ -168,21 +162,21 @@ RESTART_LOAD:
|
|||||||
lw s1, TF_s1(k0)
|
lw s1, TF_s1(k0)
|
||||||
lw s2, TF_s2(k0)
|
lw s2, TF_s2(k0)
|
||||||
lw s3, TF_s3(k0)
|
lw s3, TF_s3(k0)
|
||||||
|
lw k1, TF_COUNT(k0)
|
||||||
lw s4, TF_s4(k0)
|
lw s4, TF_s4(k0)
|
||||||
lw s5, TF_s5(k0)
|
lw s5, TF_s5(k0)
|
||||||
|
mtc0 k1, CP0_COUNT
|
||||||
lw s6, TF_s6(k0)
|
lw s6, TF_s6(k0)
|
||||||
lw s7, TF_s7(k0)
|
lw s7, TF_s7(k0)
|
||||||
|
lw k1, TF_COMPARE(k0)
|
||||||
lw t8, TF_t8(k0)
|
lw t8, TF_t8(k0)
|
||||||
lw t9, TF_t9(k0)
|
lw t9, TF_t9(k0)
|
||||||
|
mtc0 k1, CP0_COMPARE
|
||||||
lw gp, TF_gp(k0)
|
lw gp, TF_gp(k0)
|
||||||
lw sp, TF_sp(k0)
|
lw sp, TF_sp(k0)
|
||||||
|
lw k1, TF_EPC(k0)
|
||||||
lw fp, TF_fp(k0)
|
lw fp, TF_fp(k0)
|
||||||
lw ra, TF_ra(k0)
|
lw ra, TF_ra(k0)
|
||||||
lw k1, TF_COUNT(k0)
|
|
||||||
mtc0 k1, CP0_COUNT
|
|
||||||
lw k1, TF_COMPARE(k0)
|
|
||||||
mtc0 k1, CP0_COMPARE
|
|
||||||
lw k1, TF_EPC(k0)
|
|
||||||
mtc0 k1, CP0_EPC
|
mtc0 k1, CP0_EPC
|
||||||
|
|
||||||
.global RESTART
|
.global RESTART
|
||||||
|
Loading…
Reference in New Issue
Block a user