mirror of https://github.com/zeldaret/tp.git
102 lines
5.0 KiB
ArmAsm
102 lines
5.0 KiB
ArmAsm
.include "macros.inc"
|
|
|
|
.section .text, "ax" # 80346f28
|
|
|
|
|
|
.global C_MTXPerspective
|
|
C_MTXPerspective:
|
|
/* 80346F28 00343E68 7C 08 02 A6 */ mflr r0
|
|
/* 80346F2C 00343E6C 90 01 00 04 */ stw r0, 4(r1)
|
|
/* 80346F30 00343E70 94 21 FF C0 */ stwu r1, -0x40(r1)
|
|
/* 80346F34 00343E74 DB E1 00 38 */ stfd f31, 0x38(r1)
|
|
/* 80346F38 00343E78 FF E0 20 90 */ fmr f31, f4
|
|
/* 80346F3C 00343E7C DB C1 00 30 */ stfd f30, 0x30(r1)
|
|
/* 80346F40 00343E80 FF C0 18 90 */ fmr f30, f3
|
|
/* 80346F44 00343E84 DB A1 00 28 */ stfd f29, 0x28(r1)
|
|
/* 80346F48 00343E88 FF A0 10 90 */ fmr f29, f2
|
|
/* 80346F4C 00343E8C 93 E1 00 24 */ stw r31, 0x24(r1)
|
|
/* 80346F50 00343E90 7C 7F 1B 78 */ mr r31, r3
|
|
/* 80346F54 00343E94 C0 A2 CB 38 */ lfs f5, lbl_80456538-_SDA2_BASE_(r2)
|
|
/* 80346F58 00343E98 C0 02 CB 3C */ lfs f0, lbl_8045653C-_SDA2_BASE_(r2)
|
|
/* 80346F5C 00343E9C EC 25 00 72 */ fmuls f1, f5, f1
|
|
/* 80346F60 00343EA0 EC 20 00 72 */ fmuls f1, f0, f1
|
|
/* 80346F64 00343EA4 48 02 5A 61 */ bl func_8036C9C4
|
|
/* 80346F68 00343EA8 C0 62 CB 28 */ lfs f3, lbl_80456528-_SDA2_BASE_(r2)
|
|
/* 80346F6C 00343EAC EC 5F F0 28 */ fsubs f2, f31, f30
|
|
/* 80346F70 00343EB0 EC 1F 07 B2 */ fmuls f0, f31, f30
|
|
/* 80346F74 00343EB4 EC 83 08 24 */ fdivs f4, f3, f1
|
|
/* 80346F78 00343EB8 EC 24 E8 24 */ fdivs f1, f4, f29
|
|
/* 80346F7C 00343EBC D0 3F 00 00 */ stfs f1, 0(r31)
|
|
/* 80346F80 00343EC0 EC 63 10 24 */ fdivs f3, f3, f2
|
|
/* 80346F84 00343EC4 C0 42 CB 30 */ lfs f2, lbl_80456530-_SDA2_BASE_(r2)
|
|
/* 80346F88 00343EC8 D0 5F 00 04 */ stfs f2, 4(r31)
|
|
/* 80346F8C 00343ECC D0 5F 00 08 */ stfs f2, 8(r31)
|
|
/* 80346F90 00343ED0 D0 5F 00 0C */ stfs f2, 0xc(r31)
|
|
/* 80346F94 00343ED4 D0 5F 00 10 */ stfs f2, 0x10(r31)
|
|
/* 80346F98 00343ED8 FC 20 F0 50 */ fneg f1, f30
|
|
/* 80346F9C 00343EDC FC 00 00 50 */ fneg f0, f0
|
|
/* 80346FA0 00343EE0 D0 9F 00 14 */ stfs f4, 0x14(r31)
|
|
/* 80346FA4 00343EE4 EC 21 00 F2 */ fmuls f1, f1, f3
|
|
/* 80346FA8 00343EE8 D0 5F 00 18 */ stfs f2, 0x18(r31)
|
|
/* 80346FAC 00343EEC EC 03 00 32 */ fmuls f0, f3, f0
|
|
/* 80346FB0 00343EF0 D0 5F 00 1C */ stfs f2, 0x1c(r31)
|
|
/* 80346FB4 00343EF4 D0 5F 00 20 */ stfs f2, 0x20(r31)
|
|
/* 80346FB8 00343EF8 D0 5F 00 24 */ stfs f2, 0x24(r31)
|
|
/* 80346FBC 00343EFC D0 3F 00 28 */ stfs f1, 0x28(r31)
|
|
/* 80346FC0 00343F00 D0 1F 00 2C */ stfs f0, 0x2c(r31)
|
|
/* 80346FC4 00343F04 D0 5F 00 30 */ stfs f2, 0x30(r31)
|
|
/* 80346FC8 00343F08 D0 5F 00 34 */ stfs f2, 0x34(r31)
|
|
/* 80346FCC 00343F0C C0 02 CB 34 */ lfs f0, lbl_80456534-_SDA2_BASE_(r2)
|
|
/* 80346FD0 00343F10 D0 1F 00 38 */ stfs f0, 0x38(r31)
|
|
/* 80346FD4 00343F14 D0 5F 00 3C */ stfs f2, 0x3c(r31)
|
|
/* 80346FD8 00343F18 80 01 00 44 */ lwz r0, 0x44(r1)
|
|
/* 80346FDC 00343F1C CB E1 00 38 */ lfd f31, 0x38(r1)
|
|
/* 80346FE0 00343F20 CB C1 00 30 */ lfd f30, 0x30(r1)
|
|
/* 80346FE4 00343F24 CB A1 00 28 */ lfd f29, 0x28(r1)
|
|
/* 80346FE8 00343F28 83 E1 00 24 */ lwz r31, 0x24(r1)
|
|
/* 80346FEC 00343F2C 38 21 00 40 */ addi r1, r1, 0x40
|
|
/* 80346FF0 00343F30 7C 08 03 A6 */ mtlr r0
|
|
/* 80346FF4 00343F34 4E 80 00 20 */ blr
|
|
|
|
.global C_MTXOrtho
|
|
C_MTXOrtho:
|
|
/* 80346FF8 00343F38 ED 04 18 28 */ fsubs f8, f4, f3
|
|
/* 80346FFC 00343F3C C1 22 CB 28 */ lfs f9, lbl_80456528-_SDA2_BASE_(r2)
|
|
/* 80347000 00343F40 EC 01 10 28 */ fsubs f0, f1, f2
|
|
/* 80347004 00343F44 C0 E2 CB 2C */ lfs f7, lbl_8045652C-_SDA2_BASE_(r2)
|
|
/* 80347008 00343F48 EC 64 18 2A */ fadds f3, f4, f3
|
|
/* 8034700C 00343F4C ED 49 40 24 */ fdivs f10, f9, f8
|
|
/* 80347010 00343F50 ED 09 00 24 */ fdivs f8, f9, f0
|
|
/* 80347014 00343F54 EC 87 02 B2 */ fmuls f4, f7, f10
|
|
/* 80347018 00343F58 FC 60 18 50 */ fneg f3, f3
|
|
/* 8034701C 00343F5C EC 06 28 28 */ fsubs f0, f6, f5
|
|
/* 80347020 00343F60 D0 83 00 00 */ stfs f4, 0(r3)
|
|
/* 80347024 00343F64 EC 21 10 2A */ fadds f1, f1, f2
|
|
/* 80347028 00343F68 EC 4A 00 F2 */ fmuls f2, f10, f3
|
|
/* 8034702C 00343F6C C0 62 CB 30 */ lfs f3, lbl_80456530-_SDA2_BASE_(r2)
|
|
/* 80347030 00343F70 FC 20 08 50 */ fneg f1, f1
|
|
/* 80347034 00343F74 D0 63 00 04 */ stfs f3, 4(r3)
|
|
/* 80347038 00343F78 EC 89 00 24 */ fdivs f4, f9, f0
|
|
/* 8034703C 00343F7C D0 63 00 08 */ stfs f3, 8(r3)
|
|
/* 80347040 00343F80 D0 43 00 0C */ stfs f2, 0xc(r3)
|
|
/* 80347044 00343F84 D0 63 00 10 */ stfs f3, 0x10(r3)
|
|
/* 80347048 00343F88 EC 47 02 32 */ fmuls f2, f7, f8
|
|
/* 8034704C 00343F8C FC 00 30 50 */ fneg f0, f6
|
|
/* 80347050 00343F90 EC 28 00 72 */ fmuls f1, f8, f1
|
|
/* 80347054 00343F94 D0 43 00 14 */ stfs f2, 0x14(r3)
|
|
/* 80347058 00343F98 EC 00 01 32 */ fmuls f0, f0, f4
|
|
/* 8034705C 00343F9C D0 63 00 18 */ stfs f3, 0x18(r3)
|
|
/* 80347060 00343FA0 D0 23 00 1C */ stfs f1, 0x1c(r3)
|
|
/* 80347064 00343FA4 D0 63 00 20 */ stfs f3, 0x20(r3)
|
|
/* 80347068 00343FA8 D0 63 00 24 */ stfs f3, 0x24(r3)
|
|
/* 8034706C 00343FAC C0 22 CB 34 */ lfs f1, lbl_80456534-_SDA2_BASE_(r2)
|
|
/* 80347070 00343FB0 EC 21 01 32 */ fmuls f1, f1, f4
|
|
/* 80347074 00343FB4 D0 23 00 28 */ stfs f1, 0x28(r3)
|
|
/* 80347078 00343FB8 D0 03 00 2C */ stfs f0, 0x2c(r3)
|
|
/* 8034707C 00343FBC D0 63 00 30 */ stfs f3, 0x30(r3)
|
|
/* 80347080 00343FC0 D0 63 00 34 */ stfs f3, 0x34(r3)
|
|
/* 80347084 00343FC4 D0 63 00 38 */ stfs f3, 0x38(r3)
|
|
/* 80347088 00343FC8 D1 23 00 3C */ stfs f9, 0x3c(r3)
|
|
/* 8034708C 00343FCC 4E 80 00 20 */ blr
|
|
|