Files
perfect-dark/src/lib/lib_06440.c
T

90 lines
3.4 KiB
C

#include <ultra64.h>
#include "constants.h"
#include "game/data/data_000000.h"
#include "game/data/data_0083d0.h"
#include "game/data/data_00e460.h"
#include "game/data/data_0160b0.h"
#include "game/data/data_01a3a0.h"
#include "game/data/data_020df0.h"
#include "game/data/data_02da90.h"
#include "gvars/gvars.h"
#include "lib/lib_48650.h"
#include "lib/lib_48b20.h"
#include "lib/lib_4ba90.h"
#include "types.h"
GLOBAL_ASM(
glabel osEepromLongWrite
/* 6440: 27bdffb8 */ addiu $sp,$sp,-72
/* 6444: afb70040 */ sw $s7,0x40($sp)
/* 6448: afb6003c */ sw $s6,0x3c($sp)
/* 644c: afb2002c */ sw $s2,0x2c($sp)
/* 6450: afb10028 */ sw $s1,0x28($sp)
/* 6454: afb00024 */ sw $s0,0x24($sp)
/* 6458: 00e08025 */ or $s0,$a3,$zero
/* 645c: 30b100ff */ andi $s1,$a1,0xff
/* 6460: 00c09025 */ or $s2,$a2,$zero
/* 6464: 0080b825 */ or $s7,$a0,$zero
/* 6468: afbf0044 */ sw $ra,0x44($sp)
/* 646c: afb50038 */ sw $s5,0x38($sp)
/* 6470: afb40034 */ sw $s4,0x34($sp)
/* 6474: afb30030 */ sw $s3,0x30($sp)
/* 6478: afa5004c */ sw $a1,0x4c($sp)
/* 647c: 18e00025 */ blez $a3,.L00006514
/* 6480: 0000b025 */ or $s6,$zero,$zero
/* 6484: 3c15800a */ lui $s5,%hi(var8009c860)
/* 6488: 3c14800a */ lui $s4,%hi(var8009c828)
/* 648c: 3c13800a */ lui $s3,%hi(var8009c848)
/* 6490: 2673c848 */ addiu $s3,$s3,%lo(var8009c848)
/* 6494: 2694c828 */ addiu $s4,$s4,%lo(var8009c828)
/* 6498: 26b5c860 */ addiu $s5,$s5,%lo(var8009c860)
/* 649c: 02e02025 */ or $a0,$s7,$zero
.L000064a0:
/* 64a0: 322500ff */ andi $a1,$s1,0xff
/* 64a4: 0c012f30 */ jal osEepromWrite
/* 64a8: 02403025 */ or $a2,$s2,$zero
/* 64ac: 10400003 */ beqz $v0,.L000064bc
/* 64b0: 0040b025 */ or $s6,$v0,$zero
/* 64b4: 10000019 */ b .L0000651c
/* 64b8: 8fbf0044 */ lw $ra,0x44($sp)
.L000064bc:
/* 64bc: 26310001 */ addiu $s1,$s1,0x1
/* 64c0: 322e00ff */ andi $t6,$s1,0xff
/* 64c4: 3c070008 */ lui $a3,0x8
/* 64c8: 24180000 */ addiu $t8,$zero,0x0
/* 64cc: 24190000 */ addiu $t9,$zero,0x0
/* 64d0: 2610fff8 */ addiu $s0,$s0,-8
/* 64d4: 01c08825 */ or $s1,$t6,$zero
/* 64d8: 26520008 */ addiu $s2,$s2,0x8
/* 64dc: afb90014 */ sw $t9,0x14($sp)
/* 64e0: afb80010 */ sw $t8,0x10($sp)
/* 64e4: 34e79544 */ ori $a3,$a3,0x9544
/* 64e8: 02802025 */ or $a0,$s4,$zero
/* 64ec: 24060000 */ addiu $a2,$zero,0x0
/* 64f0: afb30018 */ sw $s3,0x18($sp)
/* 64f4: 0c0122c8 */ jal osSetTimer
/* 64f8: afb5001c */ sw $s5,0x1c($sp)
/* 64fc: 02602025 */ or $a0,$s3,$zero
/* 6500: 00002825 */ or $a1,$zero,$zero
/* 6504: 0c0121bc */ jal osRecvMesg
/* 6508: 24060001 */ addiu $a2,$zero,0x1
/* 650c: 5e00ffe4 */ bgtzl $s0,.L000064a0
/* 6510: 02e02025 */ or $a0,$s7,$zero
.L00006514:
/* 6514: 02c01025 */ or $v0,$s6,$zero
/* 6518: 8fbf0044 */ lw $ra,0x44($sp)
.L0000651c:
/* 651c: 8fb00024 */ lw $s0,0x24($sp)
/* 6520: 8fb10028 */ lw $s1,0x28($sp)
/* 6524: 8fb2002c */ lw $s2,0x2c($sp)
/* 6528: 8fb30030 */ lw $s3,0x30($sp)
/* 652c: 8fb40034 */ lw $s4,0x34($sp)
/* 6530: 8fb50038 */ lw $s5,0x38($sp)
/* 6534: 8fb6003c */ lw $s6,0x3c($sp)
/* 6538: 8fb70040 */ lw $s7,0x40($sp)
/* 653c: 03e00008 */ jr $ra
/* 6540: 27bd0048 */ addiu $sp,$sp,0x48
/* 6544: 00000000 */ nop
/* 6548: 00000000 */ nop
/* 654c: 00000000 */ nop
);