mirror of
https://github.com/pmret/papermario.git
synced 2024-11-10 13:02:41 +01:00
109 lines
5.1 KiB
ArmAsm
109 lines
5.1 KiB
ArmAsm
.set noat # allow manual use of $at
|
|
.set noreorder # don't insert nops after branches
|
|
|
|
glabel osEPiRawWriteIo
|
|
/* 46AE0 8006B6E0 3C02A460 */ lui $v0, 0xa460
|
|
/* 46AE4 8006B6E4 34420010 */ ori $v0, $v0, 0x10
|
|
/* 46AE8 8006B6E8 8C420000 */ lw $v0, ($v0)
|
|
/* 46AEC 8006B6EC 30420003 */ andi $v0, $v0, 3
|
|
/* 46AF0 8006B6F0 10400006 */ beqz $v0, .L8006B70C
|
|
/* 46AF4 8006B6F4 3C03A460 */ lui $v1, 0xa460
|
|
/* 46AF8 8006B6F8 34630010 */ ori $v1, $v1, 0x10
|
|
.L8006B6FC:
|
|
/* 46AFC 8006B6FC 8C620000 */ lw $v0, ($v1)
|
|
/* 46B00 8006B700 30420003 */ andi $v0, $v0, 3
|
|
/* 46B04 8006B704 1440FFFD */ bnez $v0, .L8006B6FC
|
|
/* 46B08 8006B708 00000000 */ nop
|
|
.L8006B70C:
|
|
/* 46B0C 8006B70C 90880009 */ lbu $t0, 9($a0)
|
|
/* 46B10 8006B710 00081080 */ sll $v0, $t0, 2
|
|
/* 46B14 8006B714 3C078009 */ lui $a3, 0x8009
|
|
/* 46B18 8006B718 00E23821 */ addu $a3, $a3, $v0
|
|
/* 46B1C 8006B71C 8CE73D70 */ lw $a3, 0x3d70($a3)
|
|
/* 46B20 8006B720 90820004 */ lbu $v0, 4($a0)
|
|
/* 46B24 8006B724 90E30004 */ lbu $v1, 4($a3)
|
|
/* 46B28 8006B728 1062003F */ beq $v1, $v0, .L8006B828
|
|
/* 46B2C 8006B72C 00000000 */ nop
|
|
/* 46B30 8006B730 1500001A */ bnez $t0, .L8006B79C
|
|
/* 46B34 8006B734 00E01821 */ addu $v1, $a3, $zero
|
|
/* 46B38 8006B738 90620005 */ lbu $v0, 5($v1)
|
|
/* 46B3C 8006B73C 90870005 */ lbu $a3, 5($a0)
|
|
/* 46B40 8006B740 10470003 */ beq $v0, $a3, .L8006B750
|
|
/* 46B44 8006B744 3C02A460 */ lui $v0, 0xa460
|
|
/* 46B48 8006B748 34420014 */ ori $v0, $v0, 0x14
|
|
/* 46B4C 8006B74C AC470000 */ sw $a3, ($v0)
|
|
.L8006B750:
|
|
/* 46B50 8006B750 90620006 */ lbu $v0, 6($v1)
|
|
/* 46B54 8006B754 90870006 */ lbu $a3, 6($a0)
|
|
/* 46B58 8006B758 10470003 */ beq $v0, $a3, .L8006B768
|
|
/* 46B5C 8006B75C 3C02A460 */ lui $v0, 0xa460
|
|
/* 46B60 8006B760 3442001C */ ori $v0, $v0, 0x1c
|
|
/* 46B64 8006B764 AC470000 */ sw $a3, ($v0)
|
|
.L8006B768:
|
|
/* 46B68 8006B768 90620007 */ lbu $v0, 7($v1)
|
|
/* 46B6C 8006B76C 90870007 */ lbu $a3, 7($a0)
|
|
/* 46B70 8006B770 10470003 */ beq $v0, $a3, .L8006B780
|
|
/* 46B74 8006B774 3C02A460 */ lui $v0, 0xa460
|
|
/* 46B78 8006B778 34420020 */ ori $v0, $v0, 0x20
|
|
/* 46B7C 8006B77C AC470000 */ sw $a3, ($v0)
|
|
.L8006B780:
|
|
/* 46B80 8006B780 90620008 */ lbu $v0, 8($v1)
|
|
/* 46B84 8006B784 90870008 */ lbu $a3, 8($a0)
|
|
/* 46B88 8006B788 1047001D */ beq $v0, $a3, .L8006B800
|
|
/* 46B8C 8006B78C 00000000 */ nop
|
|
/* 46B90 8006B790 3C02A460 */ lui $v0, 0xa460
|
|
/* 46B94 8006B794 0801ADFF */ j .L8006B7FC
|
|
/* 46B98 8006B798 34420018 */ ori $v0, $v0, 0x18
|
|
.L8006B79C:
|
|
/* 46B9C 8006B79C 90620005 */ lbu $v0, 5($v1)
|
|
/* 46BA0 8006B7A0 90870005 */ lbu $a3, 5($a0)
|
|
/* 46BA4 8006B7A4 10470003 */ beq $v0, $a3, .L8006B7B4
|
|
/* 46BA8 8006B7A8 3C02A460 */ lui $v0, 0xa460
|
|
/* 46BAC 8006B7AC 34420024 */ ori $v0, $v0, 0x24
|
|
/* 46BB0 8006B7B0 AC470000 */ sw $a3, ($v0)
|
|
.L8006B7B4:
|
|
/* 46BB4 8006B7B4 90620006 */ lbu $v0, 6($v1)
|
|
/* 46BB8 8006B7B8 90870006 */ lbu $a3, 6($a0)
|
|
/* 46BBC 8006B7BC 10470003 */ beq $v0, $a3, .L8006B7CC
|
|
/* 46BC0 8006B7C0 3C02A460 */ lui $v0, 0xa460
|
|
/* 46BC4 8006B7C4 3442002C */ ori $v0, $v0, 0x2c
|
|
/* 46BC8 8006B7C8 AC470000 */ sw $a3, ($v0)
|
|
.L8006B7CC:
|
|
/* 46BCC 8006B7CC 90620007 */ lbu $v0, 7($v1)
|
|
/* 46BD0 8006B7D0 90870007 */ lbu $a3, 7($a0)
|
|
/* 46BD4 8006B7D4 10470003 */ beq $v0, $a3, .L8006B7E4
|
|
/* 46BD8 8006B7D8 3C02A460 */ lui $v0, 0xa460
|
|
/* 46BDC 8006B7DC 34420030 */ ori $v0, $v0, 0x30
|
|
/* 46BE0 8006B7E0 AC470000 */ sw $a3, ($v0)
|
|
.L8006B7E4:
|
|
/* 46BE4 8006B7E4 90620008 */ lbu $v0, 8($v1)
|
|
/* 46BE8 8006B7E8 90870008 */ lbu $a3, 8($a0)
|
|
/* 46BEC 8006B7EC 10470004 */ beq $v0, $a3, .L8006B800
|
|
/* 46BF0 8006B7F0 00000000 */ nop
|
|
/* 46BF4 8006B7F4 3C02A460 */ lui $v0, 0xa460
|
|
/* 46BF8 8006B7F8 34420028 */ ori $v0, $v0, 0x28
|
|
.L8006B7FC:
|
|
/* 46BFC 8006B7FC AC470000 */ sw $a3, ($v0)
|
|
.L8006B800:
|
|
/* 46C00 8006B800 90820004 */ lbu $v0, 4($a0)
|
|
/* 46C04 8006B804 A0620004 */ sb $v0, 4($v1)
|
|
/* 46C08 8006B808 90820005 */ lbu $v0, 5($a0)
|
|
/* 46C0C 8006B80C A0620005 */ sb $v0, 5($v1)
|
|
/* 46C10 8006B810 90820006 */ lbu $v0, 6($a0)
|
|
/* 46C14 8006B814 A0620006 */ sb $v0, 6($v1)
|
|
/* 46C18 8006B818 90820007 */ lbu $v0, 7($a0)
|
|
/* 46C1C 8006B81C A0620007 */ sb $v0, 7($v1)
|
|
/* 46C20 8006B820 90820008 */ lbu $v0, 8($a0)
|
|
/* 46C24 8006B824 A0620008 */ sb $v0, 8($v1)
|
|
.L8006B828:
|
|
/* 46C28 8006B828 8C82000C */ lw $v0, 0xc($a0)
|
|
/* 46C2C 8006B82C 3C03A000 */ lui $v1, 0xa000
|
|
/* 46C30 8006B830 00451025 */ or $v0, $v0, $a1
|
|
/* 46C34 8006B834 00431025 */ or $v0, $v0, $v1
|
|
/* 46C38 8006B838 AC460000 */ sw $a2, ($v0)
|
|
/* 46C3C 8006B83C 03E00008 */ jr $ra
|
|
/* 46C40 8006B840 00001021 */ addu $v0, $zero, $zero
|
|
/* 46C44 8006B844 00000000 */ nop
|
|
/* 46C48 8006B848 00000000 */ nop
|
|
/* 46C4C 8006B84C 00000000 */ nop
|