mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-23 15:52:42 +02:00
Former-commit-id: bed7f1bddb7af09c0f288c1150c6b1c5c106e3be [formerly 02402a0b62d22bfba17d6dfef2f443c1500b450a] [formerly 93bff37d83bad8297647c88c0b42afe81ed277e7 [formerly 08274c78a878dba3fa13551e009ca7aba6528beb]] Former-commit-id: f66285070e26f0193e87c728c4a0d3913e9a6868 [formerly 85e3eb7005d566d372945751835e29205ff816b4] Former-commit-id: deff595044d44ac83b2a5c920a64abb2d97054f5
66 lines
1017 B
ArmAsm
66 lines
1017 B
ArmAsm
|
|
.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
|
|
|